From a5bb84031b74cc1bbb76dcf958ab22b79cac99c5 Mon Sep 17 00:00:00 2001 From: stakach Date: Fri, 22 Sep 2023 03:08:31 +0000 Subject: [PATCH] deploy: a28ecb5e4208ad1329de789ab89a05581f0836fa --- AWS.html | 2 +- AWS/SnsSms.html | 12 +- AmberTech.html | 2 +- AmberTech/DevInfo.html | 22 +- AmberTech/Devices.html | 8 +- AmberTech/Grandview.html | 18 +- AmberTech/Status.html | 12 +- AmberTech/StatusResp.html | 6 +- Amx.html | 2 +- Amx/Svsi.html | 2 +- Amx/Svsi/NSeriesDecoder.html | 44 ++-- .../NSeriesDecoder/VideowallScalingMode.html | 8 +- Amx/Svsi/NSeriesEncoder.html | 204 +++++++++--------- Amx/Svsi/NSeriesEncoder/InOut.html | 2 +- Amx/Svsi/NSeriesEncoder/Input.html | 10 +- Amx/Svsi/NSeriesEncoder/Response.html | 10 +- Amx/Svsi/VirtualSwitcher.html | 6 +- Ashrae.html | 2 +- Ashrae/BACnet.html | 48 ++--- Ashrae/BACnet/DeviceInfo.html | 2 +- Ashrae/BACnet/ObjectType.html | 2 +- Ashrae/BACnetDataPoints.html | 6 +- Ashrae/DeviceAddress.html | 18 +- Ashrae/DispatchProtocol.html | 76 +++---- Ashrae/DispatchProtocol/MessageType.html | 12 +- Aver.html | 2 +- Aver/Auth.html | 6 +- Aver/AxisSelect.html | 10 +- Aver/Cam520Pro.html | 52 ++--- Aver/Cam520Pro/Presets.html | 2 +- Aver/Event.html | 6 +- Aver/EventOption.html | 6 +- Aver/HttpResponse.html | 10 +- Aver/Option.html | 8 +- Aver/OptionType.html | 8 +- Biamp.html | 4 +- Biamp/NTP.html | 2 +- Biamp/NTP/Command.html | 12 +- Biamp/NTP/Command/Type.html | 22 +- Biamp/NTP/Response.html | 4 +- Biamp/NTP/Response/Error.html | 8 +- Biamp/NTP/Response/FullPath.html | 8 +- Biamp/NTP/Response/Invalid.html | 8 +- Biamp/NTP/Response/OK.html | 8 +- Biamp/Nexia.html | 26 +-- Biamp/Tesira.html | 38 ++-- Biamp/Tesira/Ids.html | 2 +- Biamp/Tesira/Num.html | 2 +- Bose.html | 2 +- Bose/ControlSpaceSerial.html | 16 +- Cisco.html | 56 ++--- Cisco/CollaborationEndpoint.html | 46 ++-- Cisco/CollaborationEndpoint/Cameras.html | 28 +-- .../Cameras/CameraAxis.html | 10 +- .../Cameras/FocusDirection.html | 8 +- .../Cameras/Interface.html | 2 +- Cisco/CollaborationEndpoint/Config.html | 2 +- Cisco/CollaborationEndpoint/Feedback.html | 16 +- Cisco/CollaborationEndpoint/JSONBasic.html | 2 +- Cisco/CollaborationEndpoint/Powerable.html | 14 +- .../Powerable/Interface.html | 2 +- .../Powerable/PowerOff.html | 6 +- Cisco/CollaborationEndpoint/Presentation.html | 10 +- .../Presentation/PresentationInputs.html | 12 +- .../Presentation/SendingMode.html | 6 +- Cisco/CollaborationEndpoint/Presets.html | 2 +- Cisco/CollaborationEndpoint/Toogle.html | 6 +- Cisco/CollaborationEndpoint/UIExtensions.html | 22 +- .../UIExtensions/TextInputType.html | 10 +- .../UIExtensions/TextKeyboardState.html | 6 +- Cisco/CollaborationEndpoint/XAPI.html | 22 +- .../XAPI/ActionType.html | 12 +- .../XAPI/FeedbackAction.html | 10 +- Cisco/DNASpaces.html | 50 ++--- Cisco/DNASpaces/ActivactionPublicKey.html | 8 +- Cisco/DNASpaces/AppActivaction.html | 16 +- Cisco/DNASpaces/AppActivactionWrapper.html | 8 +- Cisco/DNASpaces/BlePayload.html | 12 +- Cisco/DNASpaces/BleRssiUpdate.html | 8 +- Cisco/DNASpaces/BleRssiUpdateWrapper.html | 8 +- Cisco/DNASpaces/Device.html | 36 ++-- Cisco/DNASpaces/DeviceCount.html | 16 +- Cisco/DNASpaces/DeviceCountWrapper.html | 8 +- Cisco/DNASpaces/DeviceEntry.html | 20 +- Cisco/DNASpaces/DeviceEntryWrapper.html | 8 +- Cisco/DNASpaces/DeviceExit.html | 26 +-- Cisco/DNASpaces/DeviceExitWrapper.html | 8 +- Cisco/DNASpaces/DeviceLocationUpdate.html | 40 ++-- .../DeviceLocationUpdateWrapper.html | 8 +- Cisco/DNASpaces/DevicePresence.html | 40 ++-- Cisco/DNASpaces/DevicePresenceWrapper.html | 8 +- Cisco/DNASpaces/Dimension.html | 14 +- Cisco/DNASpaces/Events.html | 14 +- Cisco/DNASpaces/IotDeviceInfo.html | 34 +-- Cisco/DNASpaces/IotPosition.html | 26 +-- Cisco/DNASpaces/IotTelemetry.html | 92 ++++---- Cisco/DNASpaces/IotTelemetryWrapper.html | 8 +- Cisco/DNASpaces/KeepAlive.html | 8 +- Cisco/DNASpaces/Location.html | 16 +- Cisco/DNASpaces/LocationChange.html | 8 +- .../LocationChange/LocationDetails.html | 20 +- Cisco/DNASpaces/LocationChange/Metadata.html | 8 +- Cisco/DNASpaces/LocationChangeWrapper.html | 8 +- Cisco/DNASpaces/LocationDetails.html | 18 +- Cisco/DNASpaces/LocationInfo.html | 8 +- Cisco/DNASpaces/MapInfo.html | 12 +- Cisco/DNASpaces/PeopleCountUpdate.html | 24 +-- Cisco/DNASpaces/PeopleCountUpdateWrapper.html | 8 +- Cisco/DNASpaces/ProfileUpdateWrapper.html | 8 +- Cisco/DNASpaces/RssiMeasurement.html | 28 +-- Cisco/DNASpaces/RssiNotification.html | 16 +- Cisco/DNASpaces/TpData.html | 46 ++-- Cisco/DNASpaces/UserPresence.html | 32 +-- Cisco/DNASpaces/UserPresence/User.html | 22 +- Cisco/DNASpaces/UserPresence/UserCount.html | 10 +- Cisco/DNASpaces/UserPresenceWrapper.html | 8 +- Cisco/Ise.html | 2 +- Cisco/Ise/Guests.html | 16 +- Cisco/Ise/Models.html | 2 +- Cisco/Ise/Models/InternalUser.html | 52 ++--- Cisco/Ise/NetworkAccess.html | 26 +-- Cisco/Meraki.html | 8 +- Cisco/Meraki/AlertType.html | 6 +- Cisco/Meraki/CameraAnalytics.html | 12 +- Cisco/Meraki/CameraAnalytics/PeopleCount.html | 8 +- Cisco/Meraki/CameraZone.html | 22 +- Cisco/Meraki/CameraZone/Region.html | 12 +- Cisco/Meraki/CaptivePortal.html | 16 +- .../CaptivePortal/ChallengePayload.html | 40 ++-- Cisco/Meraki/Client.html | 80 +++---- Cisco/Meraki/ConnectionType.html | 6 +- Cisco/Meraki/CountType.html | 8 +- Cisco/Meraki/Crossing.html | 12 +- Cisco/Meraki/CrossingEvent.html | 10 +- Cisco/Meraki/CrossingObject.html | 8 +- Cisco/Meraki/Dashboard.html | 26 +-- Cisco/Meraki/Data.html | 12 +- Cisco/Meraki/DeskMappings.html | 10 +- Cisco/Meraki/DetectedDesks.html | 12 +- Cisco/Meraki/DeviceLocation.html | 72 +++---- Cisco/Meraki/DevicesSeen.html | 20 +- Cisco/Meraki/Entrances.html | 12 +- Cisco/Meraki/FloorMapping.html | 10 +- Cisco/Meraki/FloorPlan.html | 34 +-- Cisco/Meraki/FloorPlanLocation.html | 20 +- Cisco/Meraki/Geo.html | 8 +- Cisco/Meraki/Geo/Distance.html | 14 +- Cisco/Meraki/Geo/Point.html | 14 +- Cisco/Meraki/LatestRecord.html | 16 +- Cisco/Meraki/Locations.html | 76 +++---- Cisco/Meraki/Locations/CamAnalytics.html | 2 +- Cisco/Meraki/Locations/Lookup.html | 14 +- Cisco/Meraki/Locations/WiredDesks.html | 2 +- Cisco/Meraki/LuxLevel.html | 8 +- Cisco/Meraki/MQTT.html | 30 +-- Cisco/Meraki/MessageType.html | 8 +- Cisco/Meraki/Network.html | 40 ++-- Cisco/Meraki/NetworkDevice.html | 40 ++-- Cisco/Meraki/Observation.html | 36 ++-- Cisco/Meraki/Organization.html | 20 +- Cisco/Meraki/PortState.html | 6 +- Cisco/Meraki/PortStatusResponse.html | 24 +-- Cisco/Meraki/RSSI.html | 12 +- Cisco/Meraki/WebhookAlert.html | 16 +- Cisco/Meraki/WebhookAlert/PortData.html | 6 +- Cisco/Meraki/ZoneDetails.html | 16 +- Cisco/RoomKit.html | 70 +++--- Cisco/RoomKit/CallType.html | 6 +- Cisco/RoomKit/DialProtocol.html | 10 +- Cisco/RoomKit/LayoutFamily.html | 12 +- Cisco/RoomKit/LayoutTarget.html | 6 +- Cisco/RoomKit/MonitorRole.html | 10 +- Cisco/RoomKit/PhonebookType.html | 6 +- Cisco/RoomKit/PiPPosition.html | 16 +- Cisco/RoomKit/PresentationMode.html | 8 +- Cisco/RoomKit/Sound.html | 46 ++-- Cisco/RoomKit/Toogle.html | 6 +- Cisco/RoomKit/VideoLayout.html | 6 +- Cisco/RoomOS.html | 4 +- Cisco/Switch.html | 2 +- Cisco/Switch/SnoopingCatalyst.html | 22 +- Cisco/UIExtender.html | 36 ++-- Cisco/UIExtender/Binding.html | 2 +- Cisco/UIExtender/Bindings.html | 2 +- Cisco/Webex.html | 52 ++--- Cisco/Webex/Api.html | 6 +- Cisco/Webex/Api/Messages.html | 12 +- Cisco/Webex/Api/People.html | 6 +- Cisco/Webex/Api/Rooms.html | 12 +- Cisco/Webex/Client.html | 26 +-- Cisco/Webex/Command.html | 8 +- Cisco/Webex/Commands.html | 4 +- Cisco/Webex/Commands/Echo.html | 8 +- Cisco/Webex/Commands/Greeting.html | 8 +- Cisco/Webex/Constants.html | 2 +- Cisco/Webex/Exceptions.html | 8 +- Cisco/Webex/Exceptions/Argument.html | 2 +- Cisco/Webex/Exceptions/Method.html | 2 +- Cisco/Webex/Exceptions/RateLimit.html | 2 +- Cisco/Webex/Exceptions/StatusCode.html | 2 +- Cisco/Webex/InstantConnect.html | 10 +- .../InstantConnect/JoseEncryptResponse.html | 10 +- .../Webex/InstantConnect/MeetingDetails.html | 8 +- Cisco/Webex/Models.html | 22 +- Cisco/Webex/Models/Device.html | 12 +- Cisco/Webex/Models/Event.html | 28 +-- Cisco/Webex/Models/Events.html | 10 +- Cisco/Webex/Models/Events/Activity.html | 36 ++-- Cisco/Webex/Models/Events/Actor.html | 32 +-- Cisco/Webex/Models/Events/Data.html | 12 +- Cisco/Webex/Models/Events/Target.html | 20 +- Cisco/Webex/Models/Events/Type.html | 8 +- Cisco/Webex/Models/Message.html | 72 +++---- Cisco/Webex/Models/Peek.html | 12 +- Cisco/Webex/Models/Person.html | 8 +- Cisco/Webex/Models/Room.html | 40 ++-- Cisco/Webex/Session.html | 30 +-- Cisco/Webex/StatusCode.html | 8 +- Cisco/Webex/Utils.html | 6 +- Crestron.html | 2 +- Crestron/AspectRatio.html | 6 +- Crestron/CresNext.html | 12 +- Crestron/CresNextAuth.html | 6 +- Crestron/Fusion.html | 30 +-- Crestron/NvxAddressManager.html | 8 +- Crestron/NvxRx.html | 12 +- Crestron/NvxRx/Input.html | 2 +- Crestron/NvxRx/Output.html | 2 +- Crestron/NvxRx/SourceType.html | 6 +- Crestron/NvxScalerControl.html | 6 +- Crestron/NvxTx.html | 14 +- Crestron/NvxTx/Input.html | 8 +- Crestron/OccupancySensor.html | 20 +- Crestron/Receiver.html | 2 +- Crestron/SourceType.html | 6 +- Crestron/Transmitter.html | 2 +- Crestron/VirtualSwitcher.html | 20 +- Crestron/VirtualSwitcher/AudioSink.html | 12 +- Delta.html | 20 +- Delta/API.html | 18 +- Delta/Models.html | 20 +- Delta/Models/Device.html | 26 +-- Delta/Models/GenericValue.html | 12 +- .../Models/ListDevicesBySiteNameResponse.html | 8 +- Delta/Models/ListObjectsByDeviceNumber.html | 12 +- Delta/Models/ListSitesResponse.html | 12 +- Delta/Models/LocalValue.html | 12 +- Delta/Models/Object.html | 22 +- Delta/Models/PropertyIdentifier.html | 16 +- Delta/Models/Reference.html | 24 +-- Delta/Models/ValueProperty.html | 62 +++--- Denon.html | 2 +- Denon/Amplifier.html | 2 +- Denon/Amplifier/AvReceiver.html | 34 +-- DigitalIO.html | 4 +- Digraph.html | 2 +- Echo360.html | 2 +- Echo360/DeviceCapture.html | 40 ++-- Enumerable.html | 4 +- Enumerable/JSONBasic.html | 2 +- Enumerable/JSONComplex.html | 2 +- Epson.html | 2 +- Epson/Projector.html | 2 +- Epson/Projector/EscVp21.html | 36 ++-- Epson/Projector/EscVp21/Input.html | 6 +- Exterity.html | 2 +- Exterity/AvediaPlayer.html | 2 +- Exterity/AvediaPlayer/R92xx.html | 26 +-- Exterity/AvediaPlayer/R93xx.html | 36 ++-- .../AvediaPlayer/R93xx/ChannelDetail.html | 10 +- Extron.html | 2 +- Extron/Matrix.html | 32 +-- Extron/Matrix/Outputs.html | 2 +- Extron/Matrix/SignalMap.html | 2 +- Extron/SIS.html | 4 +- Extron/SIS/Command.html | 10 +- Extron/SIS/Error.html | 30 +-- Extron/SIS/Input.html | 2 +- Extron/SIS/MatrixLayer.html | 14 +- Extron/SIS/MatrixSize.html | 8 +- Extron/SIS/Ok.html | 6 +- Extron/SIS/Output.html | 2 +- Extron/SIS/Response.html | 6 +- Extron/SIS/Switch.html | 8 +- Extron/SIS/SwitcherInformation.html | 8 +- Extron/SIS/Tie.html | 8 +- Floorsense.html | 2 +- Floorsense/AuthInfo.html | 12 +- Floorsense/BookingStatus.html | 86 ++++---- Floorsense/BookingsSync.html | 22 +- Floorsense/BookingsSync/Booking.html | 66 +++--- Floorsense/ControllerInfo.html | 48 ++--- Floorsense/CustomBookingsSync.html | 22 +- Floorsense/CustomBookingsSync/Booking.html | 68 +++--- Floorsense/CustomBookingsSync/DeskMeta.html | 22 +- Floorsense/DeskInfo.html | 26 +-- Floorsense/DeskStatus.html | 100 ++++----- Floorsense/Desks.html | 102 ++++----- Floorsense/Desks/DeskHeight.html | 6 +- Floorsense/Desks/DeskPower.html | 8 +- Floorsense/Desks/LedColour.html | 8 +- Floorsense/Desks/LedState.html | 12 +- Floorsense/Desks/QiMode.html | 8 +- Floorsense/DesksWebsocket.html | 114 +++++----- Floorsense/DesksWebsocket/DeskHeight.html | 6 +- Floorsense/DesksWebsocket/DeskPower.html | 8 +- Floorsense/DesksWebsocket/LedColour.html | 8 +- Floorsense/DesksWebsocket/LedState.html | 12 +- Floorsense/DesksWebsocket/QiMode.html | 8 +- Floorsense/Event.html | 12 +- Floorsense/Floor.html | 36 ++-- Floorsense/LocationService.html | 16 +- Floorsense/LockerBooking.html | 62 +++--- Floorsense/LockerInfo.html | 82 +++---- Floorsense/LogEntry.html | 24 +-- Floorsense/MobileCheckinLogic.html | 10 +- Floorsense/Payload.html | 4 +- Floorsense/RFID.html | 16 +- Floorsense/Resp.html | 24 +-- Floorsense/Response.html | 12 +- Floorsense/User.html | 56 ++--- Floorsense/UserGroup.html | 16 +- Floorsense/UserLocation.html | 64 +++--- Floorsense/Voucher.html | 100 ++++----- Freespace.html | 2 +- Freespace/Category.html | 36 ++-- Freespace/Device.html | 12 +- Freespace/Location.html | 16 +- Freespace/SRF.html | 16 +- Freespace/SensorAPI.html | 36 ++-- Freespace/Space.html | 68 +++--- Freespace/SpaceActivity.html | 28 +-- Gallagher.html | 2 +- Gallagher/AccessGroup.html | 36 ++-- Gallagher/AccessGroupMembership.html | 20 +- Gallagher/Card.html | 62 +++--- Gallagher/CardType.html | 36 ++-- Gallagher/Cardholder.html | 54 ++--- Gallagher/CardholderAccessGroup.html | 20 +- Gallagher/DoorDetails.html | 18 +- Gallagher/Event.html | 22 +- Gallagher/Events.html | 10 +- Gallagher/IdName.html | 8 +- Gallagher/Invitation.html | 24 +-- Gallagher/PDF.html | 38 ++-- Gallagher/RestAPI.html | 64 +++--- Gallagher/RestAPI/BadRequest.html | 2 +- Gallagher/RestAPI/Conflict.html | 2 +- Gallagher/RestAPI/EventMap.html | 10 +- Gallagher/RestAPI/NotFound.html | 2 +- Gallagher/Results.html | 12 +- Gantner.html | 2 +- Gantner/Relaxx.html | 2 +- Gantner/Relaxx/Locker.html | 56 ++--- Gantner/Relaxx/LockerEvent.html | 12 +- Gantner/Relaxx/LockerMode.html | 14 +- Gantner/Relaxx/LockerNotification.html | 36 ++-- Gantner/Relaxx/LockerState.html | 18 +- Gantner/Relaxx/ProtocolJSON.html | 24 +-- Gantner/Relaxx/Result.html | 20 +- GlobalCache.html | 2 +- GlobalCache/Gc100.html | 22 +- GlobalCache/Gc100/IrMode.html | 10 +- GlobalCache/IRTV.html | 8 +- GlobalCache/IRTV/Channel.html | 12 +- GlobalCache/ProjectorScreen.html | 10 +- GoBright.html | 2 +- GoBright/API.html | 16 +- GoBright/AccessToken.html | 10 +- GoBright/Amenity.html | 18 +- GoBright/ApprovalState.html | 10 +- GoBright/Attendee.html | 12 +- GoBright/BookingType.html | 12 +- GoBright/DeskPeriod.html | 14 +- GoBright/Location.html | 30 +-- GoBright/LocationService.html | 24 +-- GoBright/LocationService/LevelCapacity.html | 6 +- GoBright/LocationService/Mapping.html | 6 +- GoBright/Metadata.html | 10 +- GoBright/Occupancy.html | 8 +- GoBright/Occurrence.html | 80 +++---- GoBright/Paging.html | 8 +- GoBright/ParkingPeriod.html | 14 +- GoBright/Response.html | 12 +- GoBright/Space.html | 26 +-- GoBright/SpaceType.html | 10 +- Halite.html | 42 ++-- Halite/Chainable.html | 10 +- Helvar.html | 2 +- Helvar/Net.html | 150 ++++++------- Helvar/Net/Area.html | 2 +- Hitachi.html | 2 +- Hitachi/Projector.html | 2 +- Hitachi/Projector/CpTwSeriesBasic.html | 44 ++-- Hitachi/Projector/CpTwSeriesBasic/Error.html | 18 +- Hitachi/Projector/CpTwSeriesBasic/Input.html | 8 +- .../Projector/CpTwSeriesBasic/Response.html | 12 +- Infosilem.html | 4 +- Infosilem/Campus.html | 8 +- Infosilem/Campus/Client.html | 2 +- Infosilem/DateTimeConvertor.html | 6 +- Infosilem/Event.html | 34 +-- Infosilem/IntegerConverter.html | 6 +- Infosilem/MockCampus.html | 8 +- Infosilem/RoomSchedule.html | 10 +- JohnsonControls.html | 2 +- JohnsonControls/Attribute.html | 12 +- JohnsonControls/AuthResponse.html | 12 +- JohnsonControls/Command.html | 28 +-- JohnsonControls/Equipment.html | 44 ++-- JohnsonControls/EquipmentPoints.html | 8 +- ...quipmentHostedByNetworkDeviceResponse.html | 24 +-- .../GetNetworkDeviceChildrenResponse.html | 24 +-- ...etObjectAttributesWithSamplesResponse.html | 16 +- ...etSamplesForAnObjectAttributeResponse.html | 32 +-- JohnsonControls/Item.html | 8 +- JohnsonControls/Metasys.html | 38 ++-- JohnsonControls/NetworkDevice.html | 52 ++--- JohnsonControls/Point.html | 16 +- JohnsonControls/Sample.html | 16 +- JohnsonControls/SamplesResponse.html | 8 +- JohnsonControls/Value.html | 8 +- Juniper.html | 2 +- Juniper/Client.html | 98 ++++----- Juniper/Guest.html | 28 +-- Juniper/LatLng.html | 12 +- Juniper/LocationAsset.html | 46 ++-- Juniper/LocationEvent.html | 24 +-- Juniper/LocationEvents.html | 8 +- Juniper/LocationSDK.html | 14 +- Juniper/LocationWifi.html | 10 +- Juniper/Map.html | 12 +- Juniper/MapGoogle.html | 26 +-- Juniper/MapImage.html | 58 ++--- Juniper/Mist.html | 20 +- Juniper/MistLocationService.html | 18 +- Juniper/MistWebsocket.html | 42 ++-- Juniper/MistWebsocket/WebsocketEvent.html | 10 +- Juniper/OtherEvents.html | 8 +- Juniper/Site.html | 32 +-- Juniper/WebhookEvent.html | 4 +- Kaiterra.html | 2 +- Kaiterra/API.html | 10 +- Kaiterra/API/BatchResponse.html | 12 +- Kaiterra/API/Data.html | 24 +-- Kaiterra/API/Param.html | 16 +- Kaiterra/API/Request.html | 20 +- Kaiterra/API/Response.html | 12 +- Kaiterra/API/Unit.html | 24 +-- KontaktIO.html | 2 +- KontaktIO/Building.html | 18 +- KontaktIO/Campus.html | 20 +- KontaktIO/Contact.html | 12 +- KontaktIO/ContactTracing.html | 6 +- KontaktIO/Floor.html | 20 +- KontaktIO/KioCloud.html | 26 +-- KontaktIO/MacAddressMappings.html | 8 +- .../MacAddressMappings/DeviceDetails.html | 8 +- KontaktIO/MacAddressMappings/SearchMeta.html | 6 +- KontaktIO/Page.html | 12 +- KontaktIO/Position.html | 20 +- KontaktIO/Presence.html | 28 +-- KontaktIO/Response.html | 8 +- KontaktIO/Room.html | 14 +- KontaktIO/RoomOccupancy.html | 24 +-- KontaktIO/RoomSensor.html | 14 +- KontaktIO/SensorService.html | 18 +- KontaktIO/Tracking.html | 18 +- Kramer.html | 2 +- Kramer/RC308Panel.html | 18 +- Kramer/RC308Panel/ButtonAction.html | 10 +- Kramer/RC308Panel/DefaultLight.html | 10 +- Lenel.html | 2 +- Lenel/OpenAccess.html | 56 ++--- Lenel/OpenAccess/Client.html | 36 ++-- Lenel/OpenAccess/Error.html | 8 +- Lenel/OpenAccess/Error/Info.html | 2 +- Lenel/OpenAccess/Models.html | 2 +- Lenel/OpenAccess/Models/Badge.html | 20 +- Lenel/OpenAccess/Models/BadgeType.html | 12 +- .../Models/BadgeType/BadgeTypeClass.html | 12 +- Lenel/OpenAccess/Models/Cardholder.html | 6 +- Lenel/OpenAccess/Models/Element.html | 10 +- Lenel/OpenAccess/Models/Event.html | 54 ++--- Lenel/OpenAccess/Models/Person.html | 10 +- Lenel/OpenAccess/Models/Reader.html | 62 +++--- Lenel/OpenAccess/Models/Untyped.html | 6 +- Lenel/TimeConverter.html | 4 +- Leviton.html | 2 +- Leviton/Acquisuite.html | 10 +- Lg.html | 2 +- Lg/Displays.html | 2 +- Lg/Displays/Ls5.html | 72 +++---- Lg/Displays/Ls5/Command.html | 30 +-- Lg/Displays/Ls5/Input.html | 16 +- Lg/Displays/Ls5/Ratio.html | 12 +- Lumens.html | 2 +- Lumens/DC193.html | 38 ++-- Lumens/DC193/Status.html | 20 +- Lutron.html | 6 +- Lutron/AreaStatus.html | 14 +- Lutron/Availability.html | 8 +- Lutron/ClientSetting.html | 6 +- Lutron/ClientVersion.html | 10 +- Lutron/CommuniqueType.html | 28 +-- Lutron/ContactClosureState.html | 6 +- Lutron/ExceptionDetail.html | 8 +- Lutron/Lighting.html | 40 ++-- Lutron/MultipleAreaStatus.html | 6 +- Lutron/MultipleZoneStatus.html | 6 +- Lutron/OccupancyStatus.html | 8 +- Lutron/OneZoneStatus.html | 6 +- Lutron/Quantum.html | 20 +- Lutron/Quantum/Client.html | 2 +- Lutron/Request.html | 30 +-- Lutron/SwitchedLevel.html | 6 +- Lutron/ViveBacnet.html | 16 +- Lutron/ViveLeap.html | 28 +-- Lutron/ZoneStatus.html | 22 +- Mailer.html | 8 +- MessageMedia.html | 2 +- MessageMedia/SMS.html | 8 +- Microsoft.html | 2 +- Microsoft/Coordinates.html | 12 +- Microsoft/FindMe.html | 12 +- Microsoft/FindMeLocationService.html | 14 +- Microsoft/GPS.html | 8 +- Microsoft/GraphAPI.html | 2 +- Microsoft/Level.html | 10 +- Microsoft/Location.html | 24 +-- Microsoft/Location/RFC3339Converter.html | 6 +- Microsoft/UserData.html | 10 +- MuleSoft.html | 2 +- MuleSoft/Booking.html | 30 +-- MuleSoft/BookingResults.html | 20 +- MuleSoft/BookingsAPI.html | 12 +- MuleSoft/CalendarExporter.html | 12 +- MuleSoft/DateTimeConvertor.html | 6 +- Nec.html | 2 +- Nec/Display.html | 52 ++--- Nec/Display/Audio.html | 24 +-- Nec/Display/Command.html | 26 +-- Nec/Display/Input.html | 36 ++-- Nec/Display/MsgType.html | 16 +- Nec/Projector.html | 64 +++--- Nec/Projector/Audio.html | 6 +- Nec/Projector/Input.html | 24 +-- Nec/Projector/Response.html | 34 +-- OfficeRnd.html | 4 +- OfficeRnd/Booking.html | 36 ++-- OfficeRnd/BookingFee.html | 12 +- OfficeRnd/BookingTime.html | 8 +- OfficeRnd/Credit.html | 8 +- OfficeRnd/Data.html | 4 +- OfficeRnd/Fee.html | 26 +-- OfficeRnd/Floor.html | 18 +- OfficeRnd/Office.html | 22 +- OfficeRnd/OfficeRndAPI.html | 38 ++-- OfficeRnd/OfficeRndAPI/BookingArgument.html | 2 +- OfficeRnd/Rate.html | 16 +- OfficeRnd/Rate/CancellationPolicy.html | 8 +- OfficeRnd/Rate/Extra.html | 10 +- OfficeRnd/Resource.html | 14 +- OfficeRnd/Resource/Type.html | 20 +- OfficeRnd/TokenResponse.html | 20 +- OpenAI.html | 8 +- OpenAI/ChatCompletion.html | 14 +- OpenAI/CreateChatCompletion.html | 50 ++--- OpenAI/CreateEditCompletion.html | 28 +-- OpenAI/CreateTextCompletion.html | 68 +++--- OpenAI/GPT.html | 18 +- OpenAI/List.html | 8 +- OpenAI/Message.html | 10 +- OpenAI/MessageChoice.html | 10 +- OpenAI/Model.html | 10 +- OpenAI/Role.html | 8 +- OpenAI/TextChoice.html | 10 +- OpenAI/TextCompletion.html | 16 +- OpenAI/Usage.html | 12 +- OpenAI/VoiceControlInterface.html | 16 +- OpenAI/VoiceControlInterface/Metadata.html | 2 +- Panasonic.html | 2 +- Panasonic/Camera.html | 2 +- Panasonic/Camera/HESeries.html | 38 ++-- Panasonic/Camera/HESeries/Installation.html | 6 +- Panasonic/Display.html | 2 +- Panasonic/Display/Protocol2.html | 28 +-- Panasonic/Display/Protocol2/Inputs.html | 10 +- Panasonic/Projector.html | 2 +- Panasonic/Projector/NTControl.html | 20 +- Panasonic/Projector/NTControl/Inputs.html | 20 +- Pattr.html | 2 +- Pattr/ChatBot.html | 10 +- Pattr/Location.html | 8 +- Pattr/PlaceLocationResult.html | 12 +- Pattr/Request.html | 6 +- Philips.html | 2 +- Philips/DyNetText.html | 36 ++-- Philips/DyNetText/Area.html | 2 +- Philips/Dynalite.html | 42 ++-- Philips/Dynalite/Area.html | 2 +- Place.html | 6 +- Place/AreaConfig.html | 38 ++-- Place/AreaManagement.html | 30 +-- Place/AreaManagement/AreaSetting.html | 2 +- Place/AreaManagement/ChildMetadata.html | 2 +- Place/AreaManagement/LevelCapacity.html | 2 +- Place/AreaManagement/Metadata.html | 2 +- Place/AreaManagement/RawLevelDetails.html | 2 +- Place/AreaManagement/SensorDetail.html | 2 +- Place/AreaManagement/SensorMeta.html | 26 +-- Place/AreaManagement/SensorType.html | 2 +- Place/AreaManagement/Zone.html | 2 +- Place/AutoDeskCheckin.html | 8 +- Place/Booking.html | 106 ++++----- Place/BookingApprovalWorkflows.html | 18 +- Place/BookingApprovalWorkflows/Reminders.html | 2 +- .../BookingApprovalWorkflows/SiteDetails.html | 2 +- Place/BookingApprover.html | 12 +- Place/BookingCheckInHelper.html | 16 +- Place/BookingNotifier.html | 20 +- Place/BookingNotifier/SiteDetails.html | 30 +-- Place/Bookings.html | 30 +-- Place/Bookings/NotifyEvent.html | 16 +- Place/Bookings/NotifyType.html | 14 +- Place/Bookings/ServiceName.html | 6 +- Place/Calendar.html | 2 +- Place/CalendarCommon.html | 60 +++--- Place/CalendarCommon/GoogleParams.html | 2 +- Place/CalendarCommon/OfficeParams.html | 2 +- Place/CalendarDelegated.html | 28 +-- Place/CalendarDelegated/User.html | 10 +- Place/Chat.html | 4 +- Place/Chat/ConferenceDetails.html | 16 +- Place/Chat/HealthRooms.html | 42 ++-- Place/Chat/HealthRooms/SessionId.html | 2 +- Place/Chat/HealthRooms/SystemId.html | 2 +- Place/Chat/Meeting.html | 52 ++--- Place/Chat/MeetingSummary.html | 16 +- Place/Chat/NotificationSettings.html | 18 +- Place/Chat/NotifyEventSettings.html | 16 +- Place/Chat/OpeningHours.html | 12 +- Place/Chat/Participant.html | 56 ++--- Place/Chat/RoomMember.html | 30 +-- Place/Chat/RoomSettings.html | 24 +-- Place/Demo.html | 2 +- Place/Demo/Display.html | 16 +- Place/Demo/Display/Input.html | 18 +- Place/Demo/LocationServices.html | 8 +- Place/Demo/RoomSensor.html | 16 +- Place/Demo/Switcher.html | 12 +- Place/DeskBookingWebhook.html | 8 +- Place/DeskBookingsLocations.html | 16 +- Place/DeskBookingsLocations/ZoneDetails.html | 8 +- Place/EventAttendanceRecorder.html | 20 +- .../StaffEventChange.html | 8 +- Place/EventMailer.html | 16 +- Place/Geometry.html | 14 +- Place/HTTPPinger.html | 20 +- Place/HTTPPinger/HeaderJSON.html | 2 +- Place/Help.html | 2 +- Place/HelpPage.html | 10 +- Place/LocationServices.html | 34 +-- Place/LogicExample.html | 12 +- Place/MQTT.html | 18 +- Place/Meet.html | 54 ++--- Place/Meet/Accessory.html | 10 +- Place/Meet/Accessory/Control.html | 12 +- Place/Meet/AudioFader.html | 46 ++-- Place/Meet/CamDetails.html | 10 +- Place/Meet/JoinAction.html | 14 +- Place/Meet/JoinDetail.html | 16 +- Place/Meet/JoinSetting.html | 12 +- Place/Meet/JoinType.html | 6 +- Place/Meet/LightingArea.html | 2 +- Place/Meet/LightingScene.html | 2 +- Place/Meet/Microphone.html | 2 +- Place/Meet/RemoteSystem.html | 8 +- Place/Pinger.html | 8 +- Place/QSCPhoneDialing.html | 10 +- Place/QSCPhoneDialing/QscPhone.html | 18 +- Place/RoomBookingApproval.html | 20 +- Place/Router.html | 2 +- Place/Router/Core.html | 8 +- Place/Router/Core/NodeRef.html | 2 +- Place/Router/Core/Settings.html | 2 +- Place/Router/Core/Settings/Connections.html | 4 +- .../Core/Settings/Connections/Alias.html | 12 +- .../Settings/Connections/Deserializable.html | 8 +- .../Core/Settings/Connections/Device.html | 12 +- .../Settings/Connections/DeviceOutput.html | 12 +- .../Core/Settings/Connections/Input.html | 2 +- .../Router/Core/Settings/Connections/Map.html | 2 +- .../Core/Settings/Connections/Sink.html | 2 +- .../Core/Settings/Connections/Source.html | 2 +- Place/Router/Core/Settings/IOMeta.html | 2 +- Place/Router/Core/SignalNode.html | 12 +- Place/Router/Digraph.html | 44 ++-- Place/Router/Digraph/Error.html | 2 +- Place/Router/Digraph/Node.html | 8 +- Place/Router/SignalGraph.html | 28 +-- Place/Router/SignalGraph/Device.html | 2 +- Place/Router/SignalGraph/Edge.html | 2 +- Place/Router/SignalGraph/Edge/Active.html | 8 +- Place/Router/SignalGraph/Edge/Func.html | 2 +- Place/Router/SignalGraph/Edge/Func/Mute.html | 8 +- .../Router/SignalGraph/Edge/Func/Select.html | 8 +- .../Router/SignalGraph/Edge/Func/Switch.html | 8 +- Place/Router/SignalGraph/Edge/Func/Type.html | 2 +- Place/Router/SignalGraph/Edge/Label.html | 2 +- Place/Router/SignalGraph/Edge/Static.html | 4 +- Place/Router/SignalGraph/Input.html | 2 +- Place/Router/SignalGraph/Mod.html | 58 ++--- Place/Router/SignalGraph/Node.html | 2 +- Place/Router/SignalGraph/Node/Device.html | 12 +- .../Router/SignalGraph/Node/DeviceInput.html | 14 +- .../Router/SignalGraph/Node/DeviceOutput.html | 16 +- Place/Router/SignalGraph/Node/Label.html | 24 +-- Place/Router/SignalGraph/Node/Mute.html | 12 +- Place/Router/SignalGraph/Node/Ref.html | 20 +- Place/Router/SignalGraph/Output.html | 2 +- Place/Router/SignalGraph/Watchable.html | 6 +- Place/SensorShutdown.html | 16 +- Place/Smtp.html | 12 +- Place/SpecHelper.html | 4 +- Place/StaffAPI.html | 90 ++++---- Place/StaffAPI/Booking.html | 100 ++++----- Place/SurveyMailer.html | 10 +- Place/SurveyMailer/SurveyInvite.html | 24 +-- Place/Tab.html | 26 +-- Place/TransportAdaptor.html | 12 +- Place/UserGroupMappings.html | 10 +- Place/UserGroupMappings/Mapping.html | 2 +- Place/UserGroupMappings/Prefix.html | 2 +- Place/UserGroupMappings/UserLogin.html | 12 +- Place/VisitorMailer.html | 20 +- Place/VisitorMailer/BookingGuest.html | 14 +- Place/VisitorMailer/EventGuest.html | 18 +- Place/VisitorMailer/GuestNotification.html | 40 ++-- Place/VisitorMailer/SystemDetails.html | 20 +- Place/VisitorMailer/ZoneDetails.html | 24 +-- Place/WorkspaceAPI.html | 2 +- Point.html | 14 +- PointGrab.html | 2 +- PointGrab/CogniPoint.html | 46 ++-- PointGrab/CogniPoint/Area.html | 52 ++--- PointGrab/CogniPoint/Area/Application.html | 12 +- PointGrab/CogniPoint/Building.html | 20 +- PointGrab/CogniPoint/CountUpdate.html | 24 +-- PointGrab/CogniPoint/Customer.html | 12 +- PointGrab/CogniPoint/Floor.html | 28 +-- PointGrab/CogniPoint/FloorAreas.html | 12 +- PointGrab/CogniPoint/GeoPosition.html | 12 +- PointGrab/CogniPoint/Handler.html | 20 +- PointGrab/CogniPoint/MetricPositions.html | 12 +- PointGrab/CogniPoint/NotificationType.html | 6 +- PointGrab/CogniPoint/Site.html | 20 +- PointGrab/CogniPoint/Site/Location.html | 36 ++-- PointGrab/CogniPoint/Subscription.html | 32 +-- PointGrab/CogniPoint/TokenResponse.html | 12 +- Polygon.html | 16 +- Qbic.html | 2 +- Qbic/TouchPanel.html | 44 ++-- Qbic/TouchPanel/AdvertiseMode.html | 8 +- Qbic/TouchPanel/AuthResponse.html | 16 +- Qbic/TouchPanel/FailureResponse.html | 8 +- Qsc.html | 2 +- Qsc/QSysControl.html | 58 ++--- Qsc/QSysControl/Group.html | 2 +- Qsc/QSysControl/Ids.html | 2 +- Qsc/QSysControl/Val.html | 2 +- Qsc/QSysRemote.html | 70 +++--- Qsc/QSysRemote/Ids.html | 2 +- Qsc/QSysRemote/Num.html | 2 +- Qsc/QSysRemote/PosTup.html | 2 +- Qsc/QSysRemote/ValTup.html | 2 +- Qsc/QSysRemote/Values.html | 2 +- RHBAccess.html | 2 +- RHBAccess/AxiomRoomLogic.html | 12 +- RHBAccess/Axiomxa.html | 12 +- RHBAccess/Axiomxa/Client.html | 2 +- Rhombus.html | 2 +- Rhombus/SecurityInterop.html | 10 +- Rhombus/SecurityMock.html | 12 +- Rhombus/SecurityMock/CardUser.html | 10 +- Rhombus/Subscription.html | 10 +- Rhombus/Webhook.html | 22 +- Samsung.html | 2 +- Samsung/Displays.html | 2 +- Samsung/Displays/MDCProtocol.html | 60 +++--- Samsung/Displays/MDCProtocol/Command.html | 64 +++--- Samsung/Displays/MDCProtocol/Input.html | 36 ++-- Samsung/Displays/MDCProtocol/Num.html | 2 +- .../Displays/MDCProtocol/ResponseStatus.html | 6 +- Samsung/Displays/MDCProtocol/SpeakerMode.html | 6 +- Samsung/Displays/ReducedMDCProtocol.html | 32 +-- .../Displays/ReducedMDCProtocol/Command.html | 64 +++--- .../Displays/ReducedMDCProtocol/Input.html | 36 ++-- .../ReducedMDCProtocol/ResponseStatus.html | 6 +- Screen.html | 2 +- ScreenTechnics.html | 2 +- ScreenTechnics/Connect.html | 26 +-- SecureOS.html | 2 +- SecureOS/AuthResponse.html | 8 +- SecureOS/AuthToken.html | 6 +- SecureOS/Camera.html | 14 +- SecureOS/CameraResponse.html | 8 +- SecureOS/Error.html | 10 +- SecureOS/ErrorWrapper.html | 8 +- SecureOS/Event.html | 16 +- SecureOS/EventWrapper.html | 8 +- SecureOS/Response.html | 4 +- SecureOS/State.html | 14 +- SecureOS/StateType.html | 8 +- SecureOS/StateWrapper.html | 8 +- SecureOS/SubscribeRule.html | 16 +- SecureOS/Watchlist.html | 8 +- SecureOS/WatchlistResponse.html | 8 +- SecureOS/WsApi.html | 20 +- Settings.html | 2 +- Sharp.html | 2 +- Sharp/PnSeries.html | 46 ++-- Sharp/PnSeries/Input.html | 20 +- Shure.html | 2 +- Shure/Microphone.html | 2 +- Shure/Microphone/MXA.html | 52 ++--- Shure/Microphone/MXA/Colour.html | 18 +- Siemens.html | 2 +- Siemens/Desigo.html | 14 +- Siemens/Desigo/Client.html | 2 +- SigGraph.html | 2 +- SignalGraph.html | 2 +- Sony.html | 2 +- Sony/Camera.html | 2 +- Sony/Camera/CGI.html | 32 +-- Sony/Camera/CGI/Movement.html | 8 +- Sony/Camera/VISCA.html | 52 ++--- Sony/Camera/VISCA/Packet.html | 146 ++++++------- Sony/Camera/VISCA/Packet/Type.html | 14 +- Sony/Camera/VISCA/Presets.html | 2 +- Sony/Displays.html | 2 +- Sony/Displays/Bravia.html | 36 ++-- Sony/Displays/Bravia/Command.html | 34 +-- Sony/Displays/Bravia/Input.html | 38 ++-- Sony/Displays/Bravia/MessageType.html | 14 +- Sony/Projector.html | 2 +- Sony/Projector/Fh.html | 42 ++-- Sony/Projector/Fh/Inputs.html | 28 +-- Sony/Projector/PjTalk.html | 48 ++--- Sony/Projector/PjTalk/Command.html | 30 +-- Sony/Projector/PjTalk/CommandType.html | 6 +- Sony/Projector/PjTalk/Input.html | 20 +- Sony/Projector/PjTalk/ResponseStatus.html | 6 +- Sony/Projector/SerialControl.html | 44 ++-- Sony/Projector/SerialControl/Command.html | 30 +-- Sony/Projector/SerialControl/Input.html | 20 +- Sony/Projector/SerialControl/Type.html | 6 +- StaffAPI.html | 6 +- Steinel.html | 2 +- Steinel/HPD2.html | 16 +- Steinel/HPD2/SensorStatus.html | 120 +++++------ Steinel/HPD2/SensorType.html | 2 +- Stripe.html | 2 +- Stripe/API.html | 18 +- Stripe/API/Client.html | 2 +- TwentyFiveLivePro.html | 64 +++--- TwentyFiveLivePro/API.html | 26 +-- TwentyFiveLivePro/Date.html | 14 +- TwentyFiveLivePro/Date/Converter.html | 6 +- TwentyFiveLivePro/Models.html | 64 +++--- TwentyFiveLivePro/Models/Attribute.html | 8 +- TwentyFiveLivePro/Models/Availability.html | 8 +- .../Models/Availability/Content.html | 20 +- .../Models/Availability/Content/Data.html | 8 +- .../Availability/Content/Data/Space.html | 20 +- .../Availability/Content/ExpandedInfo.html | 8 +- TwentyFiveLivePro/Models/Category.html | 12 +- TwentyFiveLivePro/Models/Event.html | 40 ++-- TwentyFiveLivePro/Models/EventDetail.html | 8 +- .../Models/EventDetail/Content.html | 20 +- .../Models/EventDetail/Content/Data.html | 8 +- .../EventDetail/Content/Data/Event.html | 36 ++-- .../EventDetail/Content/ExpandedInfo.html | 40 ++-- TwentyFiveLivePro/Models/Expanded.html | 28 +-- .../Models/Expanded/Attribute.html | 16 +- .../Models/Expanded/Category.html | 12 +- .../Models/Expanded/Conflict.html | 16 +- .../Models/Expanded/Contact.html | 24 +-- .../Models/Expanded/EventType.html | 12 +- .../Models/Expanded/Feature.html | 12 +- TwentyFiveLivePro/Models/Expanded/Layout.html | 12 +- .../Models/Expanded/Organization.html | 16 +- .../Models/Expanded/OrganizationType.html | 12 +- .../Models/Expanded/ParentNode.html | 36 ++-- .../Models/Expanded/Resource.html | 16 +- TwentyFiveLivePro/Models/Expanded/Role.html | 16 +- TwentyFiveLivePro/Models/Expanded/Space.html | 24 +-- TwentyFiveLivePro/Models/Expanded/State.html | 12 +- TwentyFiveLivePro/Models/Feature.html | 12 +- TwentyFiveLivePro/Models/Layout.html | 24 +-- TwentyFiveLivePro/Models/Organization.html | 28 +-- .../Models/OrganizationDetail.html | 8 +- .../Models/OrganizationDetail/Content.html | 20 +- .../OrganizationDetail/Content/Data.html | 8 +- .../Content/Data/Organization.html | 32 +-- .../Content/ExpandedInfo.html | 12 +- .../Models/PaginatedResponse.html | 8 +- .../Models/PaginatedResponse/Content.html | 8 +- .../PaginatedResponse/Content/Data.html | 32 +-- TwentyFiveLivePro/Models/Reservations.html | 12 +- .../Models/Reservations/Data.html | 120 +++++------ .../Models/Reservations/Data/Space.html | 48 ++--- TwentyFiveLivePro/Models/Resource.html | 24 +-- TwentyFiveLivePro/Models/ResourceDetail.html | 8 +- .../Models/ResourceDetail/Content.html | 20 +- .../Models/ResourceDetail/Content/Data.html | 8 +- .../ResourceDetail/Content/Data/Resource.html | 24 +-- .../ResourceDetail/Content/ExpandedInfo.html | 12 +- TwentyFiveLivePro/Models/Role.html | 12 +- TwentyFiveLivePro/Models/Space.html | 32 +-- TwentyFiveLivePro/Models/SpaceDetail.html | 8 +- .../Models/SpaceDetail/Content.html | 20 +- .../Models/SpaceDetail/Content/Data.html | 8 +- .../SpaceDetail/Content/Data/Space.html | 52 ++--- .../SpaceDetail/Content/ExpandedInfo.html | 28 +-- TwentyFiveLivePro/RoomSchedule.html | 10 +- Union.html | 6 +- Vecos.html | 22 +- Vecos/Allocation.html | 22 +- Vecos/Booking.html | 18 +- Vecos/Location.html | 10 +- Vecos/Locker.html | 46 ++-- Vecos/LockerBank.html | 20 +- Vecos/LockerBankAndLockerGroup.html | 8 +- Vecos/LockerGroup.html | 14 +- Vecos/LockerGroupStatus.html | 30 +-- Vecos/LockerUsers.html | 14 +- Vecos/Paging.html | 24 +-- Vecos/Releezme.html | 72 +++---- Vecos/ReleezmeLocations.html | 34 +-- Vecos/ReleezmeLocations/Mapping.html | 6 +- Vecos/ReleezmeLocations/PlaceLocker.html | 12 +- Vecos/Section.html | 10 +- Vergesense.html | 2 +- Vergesense/Building.html | 16 +- Vergesense/BuildingWithFloors.html | 12 +- Vergesense/Environment.html | 24 +-- Vergesense/Floor.html | 24 +-- Vergesense/Geometry.html | 12 +- Vergesense/LocationService.html | 18 +- Vergesense/MqttExport.html | 8 +- Vergesense/People.html | 8 +- Vergesense/Report.html | 16 +- Vergesense/RoomSensor.html | 18 +- Vergesense/Sensor.html | 12 +- Vergesense/Space.html | 62 +++--- Vergesense/VergesenseAPI.html | 12 +- Whispir.html | 2 +- Whispir/Messages.html | 8 +- WilliamsAV.html | 2 +- WilliamsAV/WaveCastFM.html | 36 ++-- WilliamsAV/WaveCastFM/Command.html | 50 ++--- WilliamsAV/WaveCastFM/InputSource.html | 14 +- WilliamsAV/WaveCastFM/Preset.html | 10 +- WilliamsAV/WaveCastFM/Type.html | 14 +- Winmate.html | 2 +- Winmate/LedLightBar.html | 20 +- Winmate/LedLightBar/Colours.html | 2 +- Winmate/LedLightBar/Led.html | 8 +- XYSense.html | 2 +- XYSense/LocationService.html | 22 +- XYSense/LocationService/FloorDetails.html | 24 +-- XYSense/LocationService/Occupancy.html | 22 +- XYSense/LocationService/SpaceDetails.html | 20 +- Xovis.html | 2 +- Xovis/SensorAPI.html | 24 +-- Xovis/SensorAPI/SensorDetail.html | 16 +- Zencontrol.html | 2 +- Zencontrol/AdvancedTPI.html | 20 +- Zencontrol/AdvancedTPI/Area.html | 2 +- Zencontrol/AdvancedTPI/BasicRequest.html | 148 ++++++------- Zencontrol/AdvancedTPI/ResponseFrame.html | 150 ++++++------- Zencontrol/AdvancedTPI/ResponseType.html | 10 +- Zencontrol/ClassicTPI.html | 20 +- Zencontrol/ClassicTPI/Area.html | 2 +- index.json | 2 +- search-index.js | 2 +- toplevel.html | 4 +- 988 files changed, 8862 insertions(+), 8862 deletions(-) diff --git a/AWS.html b/AWS.html index a9c1658c4e..f915853665 100644 --- a/AWS.html +++ b/AWS.html @@ -6277,7 +6277,7 @@

- + aws/sns_sms.cr diff --git a/AWS/SnsSms.html b/AWS/SnsSms.html index a5cf72e09f..b03ae0192e 100644 --- a/AWS/SnsSms.html +++ b/AWS/SnsSms.html @@ -6293,7 +6293,7 @@

- + aws/sns_sms.cr @@ -6418,7 +6418,7 @@


- [View source] + [View source]
@@ -6434,7 +6434,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
diff --git a/AmberTech.html b/AmberTech.html index c75a7e5a42..16ce3afaea 100644 --- a/AmberTech.html +++ b/AmberTech.html @@ -6277,7 +6277,7 @@

- + amber_tech/grandview_models.cr diff --git a/AmberTech/DevInfo.html b/AmberTech/DevInfo.html index 878501902c..72c1b26b04 100644 --- a/AmberTech/DevInfo.html +++ b/AmberTech/DevInfo.html @@ -6307,7 +6307,7 @@

- + amber_tech/grandview_models.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
diff --git a/AmberTech/Devices.html b/AmberTech/Devices.html index c57f41fe36..6bb8540339 100644 --- a/AmberTech/Devices.html +++ b/AmberTech/Devices.html @@ -6307,7 +6307,7 @@

- + amber_tech/grandview_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/AmberTech/Grandview.html b/AmberTech/Grandview.html index 60bd295589..2867dff641 100644 --- a/AmberTech/Grandview.html +++ b/AmberTech/Grandview.html @@ -6295,7 +6295,7 @@

- + amber_tech/grandview.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
diff --git a/AmberTech/Status.html b/AmberTech/Status.html index 84a66ed328..f74633285b 100644 --- a/AmberTech/Status.html +++ b/AmberTech/Status.html @@ -6277,7 +6277,7 @@

- + amber_tech/grandview_models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/AmberTech/StatusResp.html b/AmberTech/StatusResp.html index 564c32825a..60fa551968 100644 --- a/AmberTech/StatusResp.html +++ b/AmberTech/StatusResp.html @@ -6307,7 +6307,7 @@

- + amber_tech/grandview_models.cr @@ -6415,7 +6415,7 @@


- [View source] + [View source]
@@ -6445,7 +6445,7 @@


- [View source] + [View source]
diff --git a/Amx.html b/Amx.html index 3af18fc99b..e3184f535d 100644 --- a/Amx.html +++ b/Amx.html @@ -6277,7 +6277,7 @@

- + amx/svsi/n_series_decoder.cr diff --git a/Amx/Svsi.html b/Amx/Svsi.html index 340c94298d..9feddb77dd 100644 --- a/Amx/Svsi.html +++ b/Amx/Svsi.html @@ -6277,7 +6277,7 @@

- + amx/svsi/n_series_decoder.cr diff --git a/Amx/Svsi/NSeriesDecoder.html b/Amx/Svsi/NSeriesDecoder.html index 359df23a1b..ff6bb4ddf0 100644 --- a/Amx/Svsi/NSeriesDecoder.html +++ b/Amx/Svsi/NSeriesDecoder.html @@ -6295,7 +6295,7 @@

- + amx/svsi/n_series_decoder.cr @@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6780,7 +6780,7 @@


- [View source] + [View source]
@@ -6796,7 +6796,7 @@


- [View source] + [View source]
@@ -6812,7 +6812,7 @@


- [View source] + [View source]
@@ -6828,7 +6828,7 @@


- [View source] + [View source]
@@ -6844,7 +6844,7 @@


- [View source] + [View source]
@@ -6860,7 +6860,7 @@


- [View source] + [View source]
@@ -6876,7 +6876,7 @@


- [View source] + [View source]
@@ -6892,7 +6892,7 @@


- [View source] + [View source]
diff --git a/Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html b/Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html index d6f0984abf..47d7cfd078 100644 --- a/Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html +++ b/Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html @@ -6277,7 +6277,7 @@

- + amx/svsi/n_series_decoder.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Amx/Svsi/NSeriesEncoder.html b/Amx/Svsi/NSeriesEncoder.html index f967d80ae0..0e159af1e2 100644 --- a/Amx/Svsi/NSeriesEncoder.html +++ b/Amx/Svsi/NSeriesEncoder.html @@ -6295,14 +6295,14 @@

- + amx/svsi/n_series_encoder.cr
- + amx/svsi/n_series_switcher.cr @@ -6958,7 +6958,7 @@


- [View source] + [View source]
@@ -6974,7 +6974,7 @@


- [View source] + [View source]
@@ -6990,7 +6990,7 @@


- [View source] + [View source]
@@ -7006,7 +7006,7 @@


- [View source] + [View source]
@@ -7022,7 +7022,7 @@


- [View source] + [View source]
@@ -7038,7 +7038,7 @@


- [View source] + [View source]
@@ -7054,7 +7054,7 @@


- [View source] + [View source]
@@ -7070,7 +7070,7 @@


- [View source] + [View source]
@@ -7086,7 +7086,7 @@


- [View source] + [View source]
@@ -7102,7 +7102,7 @@


- [View source] + [View source]
@@ -7118,7 +7118,7 @@


- [View source] + [View source]
@@ -7134,7 +7134,7 @@


- [View source] + [View source]
@@ -7150,7 +7150,7 @@


- [View source] + [View source]
@@ -7166,7 +7166,7 @@


- [View source] + [View source]
@@ -7182,7 +7182,7 @@


- [View source] + [View source]
@@ -7198,7 +7198,7 @@


- [View source] + [View source]
@@ -7214,7 +7214,7 @@


- [View source] + [View source]
@@ -7230,7 +7230,7 @@


- [View source] + [View source]
@@ -7246,7 +7246,7 @@


- [View source] + [View source]
@@ -7262,7 +7262,7 @@


- [View source] + [View source]
@@ -7278,7 +7278,7 @@


- [View source] + [View source]
@@ -7294,7 +7294,7 @@


- [View source] + [View source]
@@ -7310,7 +7310,7 @@


- [View source] + [View source]
@@ -7326,7 +7326,7 @@


- [View source] + [View source]
@@ -7342,7 +7342,7 @@


- [View source] + [View source]
@@ -7358,7 +7358,7 @@


- [View source] + [View source]
@@ -7374,7 +7374,7 @@


- [View source] + [View source]
@@ -7390,7 +7390,7 @@


- [View source] + [View source]
@@ -7406,7 +7406,7 @@


- [View source] + [View source]
@@ -7422,7 +7422,7 @@


- [View source] + [View source]
@@ -7438,7 +7438,7 @@


- [View source] + [View source]
@@ -7454,7 +7454,7 @@


- [View source] + [View source]
@@ -7470,7 +7470,7 @@


- [View source] + [View source]
@@ -7486,7 +7486,7 @@


- [View source] + [View source]
@@ -7502,7 +7502,7 @@


- [View source] + [View source]
@@ -7518,7 +7518,7 @@


- [View source] + [View source]
@@ -7534,7 +7534,7 @@


- [View source] + [View source]
@@ -7550,7 +7550,7 @@


- [View source] + [View source]
@@ -7566,7 +7566,7 @@


- [View source] + [View source]
@@ -7582,7 +7582,7 @@


- [View source] + [View source]
@@ -7598,7 +7598,7 @@


- [View source] + [View source]
@@ -7614,7 +7614,7 @@


- [View source] + [View source]
@@ -7630,7 +7630,7 @@


- [View source] + [View source]
@@ -7646,7 +7646,7 @@


- [View source] + [View source]
@@ -7662,7 +7662,7 @@


- [View source] + [View source]
@@ -7678,7 +7678,7 @@


- [View source] + [View source]
@@ -7694,7 +7694,7 @@


- [View source] + [View source]
@@ -7710,7 +7710,7 @@


- [View source] + [View source]
@@ -7726,7 +7726,7 @@


- [View source] + [View source]
@@ -7742,7 +7742,7 @@


- [View source] + [View source]
@@ -7758,7 +7758,7 @@


- [View source] + [View source]
@@ -7783,7 +7783,7 @@


- [View source] + [View source]
@@ -7799,7 +7799,7 @@


- [View source] + [View source]
@@ -7815,7 +7815,7 @@


- [View source] + [View source]
@@ -7831,7 +7831,7 @@


- [View source] + [View source]
@@ -7847,7 +7847,7 @@


- [View source] + [View source]
@@ -7863,7 +7863,7 @@


- [View source] + [View source]
@@ -7879,7 +7879,7 @@


- [View source] + [View source]
@@ -7895,7 +7895,7 @@


- [View source] + [View source]
@@ -7911,7 +7911,7 @@


- [View source] + [View source]
@@ -7927,7 +7927,7 @@


- [View source] + [View source]
@@ -7943,7 +7943,7 @@


- [View source] + [View source]
@@ -7959,7 +7959,7 @@


- [View source] + [View source]
@@ -7975,7 +7975,7 @@


- [View source] + [View source]
@@ -7991,7 +7991,7 @@


- [View source] + [View source]
@@ -8007,7 +8007,7 @@


- [View source] + [View source]
@@ -8023,7 +8023,7 @@


- [View source] + [View source]
@@ -8039,7 +8039,7 @@


- [View source] + [View source]
@@ -8055,7 +8055,7 @@


- [View source] + [View source]
@@ -8071,7 +8071,7 @@


- [View source] + [View source]
@@ -8087,7 +8087,7 @@


- [View source] + [View source]
@@ -8103,7 +8103,7 @@


- [View source] + [View source]
@@ -8119,7 +8119,7 @@


- [View source] + [View source]
@@ -8135,7 +8135,7 @@


- [View source] + [View source]
@@ -8151,7 +8151,7 @@


- [View source] + [View source]
@@ -8167,7 +8167,7 @@


- [View source] + [View source]
@@ -8183,7 +8183,7 @@


- [View source] + [View source]
@@ -8199,7 +8199,7 @@


- [View source] + [View source]
@@ -8215,7 +8215,7 @@


- [View source] + [View source]
@@ -8231,7 +8231,7 @@


- [View source] + [View source]
@@ -8247,7 +8247,7 @@


- [View source] + [View source]
@@ -8263,7 +8263,7 @@


- [View source] + [View source]
@@ -8279,7 +8279,7 @@


- [View source] + [View source]
@@ -8295,7 +8295,7 @@


- [View source] + [View source]
@@ -8311,7 +8311,7 @@


- [View source] + [View source]
@@ -8327,7 +8327,7 @@


- [View source] + [View source]
@@ -8343,7 +8343,7 @@


- [View source] + [View source]
@@ -8359,7 +8359,7 @@


- [View source] + [View source]
@@ -8375,7 +8375,7 @@


- [View source] + [View source]
@@ -8391,7 +8391,7 @@


- [View source] + [View source]
@@ -8407,7 +8407,7 @@


- [View source] + [View source]
@@ -8423,7 +8423,7 @@


- [View source] + [View source]
@@ -8439,7 +8439,7 @@


- [View source] + [View source]
@@ -8455,7 +8455,7 @@


- [View source] + [View source]
@@ -8471,7 +8471,7 @@


- [View source] + [View source]
@@ -8487,7 +8487,7 @@


- [View source] + [View source]
@@ -8503,7 +8503,7 @@


- [View source] + [View source]
@@ -8519,7 +8519,7 @@


- [View source] + [View source]
@@ -8535,7 +8535,7 @@


- [View source] + [View source]
@@ -8551,7 +8551,7 @@


- [View source] + [View source]
diff --git a/Amx/Svsi/NSeriesEncoder/InOut.html b/Amx/Svsi/NSeriesEncoder/InOut.html index 81e8b048ff..0c94874364 100644 --- a/Amx/Svsi/NSeriesEncoder/InOut.html +++ b/Amx/Svsi/NSeriesEncoder/InOut.html @@ -6287,7 +6287,7 @@

- + amx/svsi/n_series_switcher.cr diff --git a/Amx/Svsi/NSeriesEncoder/Input.html b/Amx/Svsi/NSeriesEncoder/Input.html index 675b795013..ae2e22605c 100644 --- a/Amx/Svsi/NSeriesEncoder/Input.html +++ b/Amx/Svsi/NSeriesEncoder/Input.html @@ -6277,7 +6277,7 @@

- + amx/svsi/n_series_encoder.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Amx/Svsi/NSeriesEncoder/Response.html b/Amx/Svsi/NSeriesEncoder/Response.html index 51f01cf932..7938f028c9 100644 --- a/Amx/Svsi/NSeriesEncoder/Response.html +++ b/Amx/Svsi/NSeriesEncoder/Response.html @@ -6277,7 +6277,7 @@

- + amx/svsi/n_series_encoder.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Amx/Svsi/VirtualSwitcher.html b/Amx/Svsi/VirtualSwitcher.html index 81cbdf501c..a6d44f8cdc 100644 --- a/Amx/Svsi/VirtualSwitcher.html +++ b/Amx/Svsi/VirtualSwitcher.html @@ -6293,7 +6293,7 @@

- + amx/svsi/virtual_switcher.cr @@ -6415,7 +6415,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
diff --git a/Ashrae.html b/Ashrae.html index f342312722..da16e02544 100644 --- a/Ashrae.html +++ b/Ashrae.html @@ -6277,7 +6277,7 @@

- + ashrae/bacnet_models.cr diff --git a/Ashrae/BACnet.html b/Ashrae/BACnet.html index abeb00c9e2..c6deca43d4 100644 --- a/Ashrae/BACnet.html +++ b/Ashrae/BACnet.html @@ -6293,7 +6293,7 @@

- + ashrae/bacnet.cr @@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6846,7 +6846,7 @@


- [View source] + [View source]
@@ -6862,7 +6862,7 @@


- [View source] + [View source]
@@ -6878,7 +6878,7 @@


- [View source] + [View source]
@@ -6894,7 +6894,7 @@


- [View source] + [View source]
@@ -6910,7 +6910,7 @@


- [View source] + [View source]
diff --git a/Ashrae/BACnet/DeviceInfo.html b/Ashrae/BACnet/DeviceInfo.html index fd725db93b..76b405634a 100644 --- a/Ashrae/BACnet/DeviceInfo.html +++ b/Ashrae/BACnet/DeviceInfo.html @@ -6287,7 +6287,7 @@

- + ashrae/bacnet.cr diff --git a/Ashrae/BACnet/ObjectType.html b/Ashrae/BACnet/ObjectType.html index 2b727df95e..37dfcbf857 100644 --- a/Ashrae/BACnet/ObjectType.html +++ b/Ashrae/BACnet/ObjectType.html @@ -6287,7 +6287,7 @@

- + ashrae/bacnet.cr diff --git a/Ashrae/BACnetDataPoints.html b/Ashrae/BACnetDataPoints.html index 8e7c103da7..330d75f4d2 100644 --- a/Ashrae/BACnetDataPoints.html +++ b/Ashrae/BACnetDataPoints.html @@ -6279,7 +6279,7 @@

- + ashrae/bacnet_datapoints.cr @@ -6379,7 +6379,7 @@


- [View source] + [View source]
@@ -6395,7 +6395,7 @@


- [View source] + [View source]
diff --git a/Ashrae/DeviceAddress.html b/Ashrae/DeviceAddress.html index 1915ed9c54..8e5ba1df92 100644 --- a/Ashrae/DeviceAddress.html +++ b/Ashrae/DeviceAddress.html @@ -6307,7 +6307,7 @@

- + ashrae/bacnet_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
diff --git a/Ashrae/DispatchProtocol.html b/Ashrae/DispatchProtocol.html index 0ee2d4e73a..e426cbdd71 100644 --- a/Ashrae/DispatchProtocol.html +++ b/Ashrae/DispatchProtocol.html @@ -6279,7 +6279,7 @@

- + ashrae/bacnet_models.cr @@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6860,7 +6860,7 @@


- [View source] + [View source]
@@ -6876,7 +6876,7 @@


- [View source] + [View source]
@@ -6892,7 +6892,7 @@


- [View source] + [View source]
@@ -6908,7 +6908,7 @@


- [View source] + [View source]
@@ -6924,7 +6924,7 @@


- [View source] + [View source]
@@ -6940,7 +6940,7 @@


- [View source] + [View source]
@@ -6956,7 +6956,7 @@


- [View source] + [View source]
@@ -6972,7 +6972,7 @@


- [View source] + [View source]
@@ -6988,7 +6988,7 @@


- [View source] + [View source]
@@ -7004,7 +7004,7 @@


- [View source] + [View source]
@@ -7020,7 +7020,7 @@


- [View source] + [View source]
@@ -7036,7 +7036,7 @@


- [View source] + [View source]
@@ -7052,7 +7052,7 @@


- [View source] + [View source]
@@ -7068,7 +7068,7 @@


- [View source] + [View source]
@@ -7084,7 +7084,7 @@


- [View source] + [View source]
@@ -7100,7 +7100,7 @@


- [View source] + [View source]
@@ -7116,7 +7116,7 @@


- [View source] + [View source]
@@ -7132,7 +7132,7 @@


- [View source] + [View source]
@@ -7148,7 +7148,7 @@


- [View source] + [View source]
@@ -7164,7 +7164,7 @@


- [View source] + [View source]
@@ -7180,7 +7180,7 @@


- [View source] + [View source]
@@ -7196,7 +7196,7 @@


- [View source] + [View source]
@@ -7212,7 +7212,7 @@


- [View source] + [View source]
@@ -7228,7 +7228,7 @@


- [View source] + [View source]
@@ -7244,7 +7244,7 @@


- [View source] + [View source]
@@ -7260,7 +7260,7 @@


- [View source] + [View source]
@@ -7276,7 +7276,7 @@


- [View source] + [View source]
@@ -7292,7 +7292,7 @@


- [View source] + [View source]
@@ -7308,7 +7308,7 @@


- [View source] + [View source]
@@ -7324,7 +7324,7 @@


- [View source] + [View source]
@@ -7340,7 +7340,7 @@


- [View source] + [View source]
@@ -7356,7 +7356,7 @@


- [View source] + [View source]
@@ -7372,7 +7372,7 @@


- [View source] + [View source]
@@ -7388,7 +7388,7 @@


- [View source] + [View source]
@@ -7404,7 +7404,7 @@


- [View source] + [View source]
diff --git a/Ashrae/DispatchProtocol/MessageType.html b/Ashrae/DispatchProtocol/MessageType.html index 2a5e283671..58b335320b 100644 --- a/Ashrae/DispatchProtocol/MessageType.html +++ b/Ashrae/DispatchProtocol/MessageType.html @@ -6277,7 +6277,7 @@

- + ashrae/bacnet_models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Aver.html b/Aver.html index 05f5cfa524..e66e15aa34 100644 --- a/Aver.html +++ b/Aver.html @@ -6277,7 +6277,7 @@

- + aver/cam520_pro_models.cr diff --git a/Aver/Auth.html b/Aver/Auth.html index 94bb59e0e4..b8e9db92f3 100644 --- a/Aver/Auth.html +++ b/Aver/Auth.html @@ -6307,7 +6307,7 @@

- + aver/cam520_pro_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Aver/AxisSelect.html b/Aver/AxisSelect.html index eaeb4c6817..9ff480556e 100644 --- a/Aver/AxisSelect.html +++ b/Aver/AxisSelect.html @@ -6277,7 +6277,7 @@

- + aver/cam520_pro_models.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Aver/Cam520Pro.html b/Aver/Cam520Pro.html index 629d526325..aa9d9e95d3 100644 --- a/Aver/Cam520Pro.html +++ b/Aver/Cam520Pro.html @@ -6295,7 +6295,7 @@

- + aver/cam520_pro.cr @@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
@@ -6836,7 +6836,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6926,7 +6926,7 @@


- [View source] + [View source]
@@ -6942,7 +6942,7 @@


- [View source] + [View source]
@@ -6958,7 +6958,7 @@


- [View source] + [View source]
@@ -6974,7 +6974,7 @@


- [View source] + [View source]
@@ -6995,7 +6995,7 @@


- [View source] + [View source]
@@ -7023,7 +7023,7 @@


- [View source] + [View source]
diff --git a/Aver/Cam520Pro/Presets.html b/Aver/Cam520Pro/Presets.html index f12879f40f..813adbeba4 100644 --- a/Aver/Cam520Pro/Presets.html +++ b/Aver/Cam520Pro/Presets.html @@ -6287,7 +6287,7 @@

- + aver/cam520_pro.cr diff --git a/Aver/Event.html b/Aver/Event.html index 1dde8f251a..1bbdaf181b 100644 --- a/Aver/Event.html +++ b/Aver/Event.html @@ -6321,7 +6321,7 @@

- + aver/cam520_pro_models.cr @@ -6439,7 +6439,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
diff --git a/Aver/EventOption.html b/Aver/EventOption.html index 0b84473529..9c23b54e4b 100644 --- a/Aver/EventOption.html +++ b/Aver/EventOption.html @@ -6307,7 +6307,7 @@

- + aver/cam520_pro_models.cr @@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
diff --git a/Aver/HttpResponse.html b/Aver/HttpResponse.html index 857d64d557..7886b44f00 100644 --- a/Aver/HttpResponse.html +++ b/Aver/HttpResponse.html @@ -6307,7 +6307,7 @@

- + aver/cam520_pro_models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Aver/Option.html b/Aver/Option.html index 6880ae3a3b..06546fb617 100644 --- a/Aver/Option.html +++ b/Aver/Option.html @@ -6307,7 +6307,7 @@

- + aver/cam520_pro_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Aver/OptionType.html b/Aver/OptionType.html index 793c99d1f9..a3a72a7fb4 100644 --- a/Aver/OptionType.html +++ b/Aver/OptionType.html @@ -6277,7 +6277,7 @@

- + aver/cam520_pro_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Biamp.html b/Biamp.html index d9a2e5f422..0d463343dd 100644 --- a/Biamp.html +++ b/Biamp.html @@ -6277,14 +6277,14 @@

- + biamp/ntp.cr
- + biamp/tesira.cr diff --git a/Biamp/NTP.html b/Biamp/NTP.html index eaf07f0699..7ddb53e12d 100644 --- a/Biamp/NTP.html +++ b/Biamp/NTP.html @@ -6303,7 +6303,7 @@

- + biamp/ntp.cr diff --git a/Biamp/NTP/Command.html b/Biamp/NTP/Command.html index 0c155d73c4..df80c7d77a 100644 --- a/Biamp/NTP/Command.html +++ b/Biamp/NTP/Command.html @@ -6279,7 +6279,7 @@

- + biamp/ntp.cr @@ -6449,7 +6449,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6637,7 +6637,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Command/Type.html b/Biamp/NTP/Command/Type.html index 71ebbaecb1..22293e252c 100644 --- a/Biamp/NTP/Command/Type.html +++ b/Biamp/NTP/Command/Type.html @@ -6277,7 +6277,7 @@

- + biamp/ntp.cr @@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Response.html b/Biamp/NTP/Response.html index 611f93c563..1552de61ec 100644 --- a/Biamp/NTP/Response.html +++ b/Biamp/NTP/Response.html @@ -6277,7 +6277,7 @@

- + biamp/ntp.cr @@ -6340,7 +6340,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Response/Error.html b/Biamp/NTP/Response/Error.html index cfc8c500c6..2be59e456a 100644 --- a/Biamp/NTP/Response/Error.html +++ b/Biamp/NTP/Response/Error.html @@ -6279,7 +6279,7 @@

- + biamp/ntp.cr @@ -6397,7 +6397,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Response/FullPath.html b/Biamp/NTP/Response/FullPath.html index 590f28b9d4..402d38b6f9 100644 --- a/Biamp/NTP/Response/FullPath.html +++ b/Biamp/NTP/Response/FullPath.html @@ -6279,7 +6279,7 @@

- + biamp/ntp.cr @@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Response/Invalid.html b/Biamp/NTP/Response/Invalid.html index 76cf641a88..bbb0511e07 100644 --- a/Biamp/NTP/Response/Invalid.html +++ b/Biamp/NTP/Response/Invalid.html @@ -6279,7 +6279,7 @@

- + biamp/ntp.cr @@ -6397,7 +6397,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
diff --git a/Biamp/NTP/Response/OK.html b/Biamp/NTP/Response/OK.html index 2dfd0c8795..c6c797f50b 100644 --- a/Biamp/NTP/Response/OK.html +++ b/Biamp/NTP/Response/OK.html @@ -6279,7 +6279,7 @@

- + biamp/ntp.cr @@ -6392,7 +6392,7 @@


- [View source] + [View source]
@@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6438,7 +6438,7 @@


- [View source] + [View source]
diff --git a/Biamp/Nexia.html b/Biamp/Nexia.html index cda90271f4..20fe86dee4 100644 --- a/Biamp/Nexia.html +++ b/Biamp/Nexia.html @@ -6293,7 +6293,7 @@

- + biamp/nexia.cr @@ -6453,7 +6453,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
diff --git a/Biamp/Tesira.html b/Biamp/Tesira.html index 4e6d1ceef9..e5bd2acb66 100644 --- a/Biamp/Tesira.html +++ b/Biamp/Tesira.html @@ -6279,7 +6279,7 @@

- + biamp/tesira.cr @@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
diff --git a/Biamp/Tesira/Ids.html b/Biamp/Tesira/Ids.html index adf5608616..498ede4d24 100644 --- a/Biamp/Tesira/Ids.html +++ b/Biamp/Tesira/Ids.html @@ -6287,7 +6287,7 @@

- + biamp/tesira.cr diff --git a/Biamp/Tesira/Num.html b/Biamp/Tesira/Num.html index 05702a94b2..9a078b21d2 100644 --- a/Biamp/Tesira/Num.html +++ b/Biamp/Tesira/Num.html @@ -6287,7 +6287,7 @@

- + biamp/tesira.cr diff --git a/Bose.html b/Bose.html index 8a0f3ccf6a..073aa825d1 100644 --- a/Bose.html +++ b/Bose.html @@ -6277,7 +6277,7 @@

- + bose/control_space_serial.cr diff --git a/Bose/ControlSpaceSerial.html b/Bose/ControlSpaceSerial.html index 759abe5882..b35dfa34bd 100644 --- a/Bose/ControlSpaceSerial.html +++ b/Bose/ControlSpaceSerial.html @@ -6279,7 +6279,7 @@

- + bose/control_space_serial.cr @@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
diff --git a/Cisco.html b/Cisco.html index 16d1f474b1..b113de2d77 100644 --- a/Cisco.html +++ b/Cisco.html @@ -6277,196 +6277,196 @@

- + cisco/collaboration_endpoint.cr
- + cisco/meraki/geo.cr
- + cisco/webex/api/messages.cr
- + cisco/webex/api/people.cr
- + cisco/webex/api/rooms.cr
- + cisco/webex/client.cr
- + cisco/webex/command.cr
- + cisco/webex/commands/echo.cr
- + cisco/webex/commands/greeting.cr
- + cisco/webex/constants.cr
- + cisco/webex/exceptions/argument.cr
- + cisco/webex/exceptions/method.cr
- + cisco/webex/exceptions/rate_limit.cr
- + cisco/webex/exceptions/status_code.cr
- + cisco/webex/models/device.cr
- + cisco/webex/models/event.cr
- + cisco/webex/models/events/activity.cr
- + cisco/webex/models/events/actor.cr
- + cisco/webex/models/events/data.cr
- + cisco/webex/models/events/target.cr
- + cisco/webex/models/events/type.cr
- + cisco/webex/models/message.cr
- + cisco/webex/models/peek.cr
- + cisco/webex/models/person.cr
- + cisco/webex/models/room.cr
- + cisco/webex/session.cr
- + cisco/webex/status_code.cr
- + cisco/webex/utils.cr diff --git a/Cisco/CollaborationEndpoint.html b/Cisco/CollaborationEndpoint.html index c8f886373c..cdcb6001ac 100644 --- a/Cisco/CollaborationEndpoint.html +++ b/Cisco/CollaborationEndpoint.html @@ -6293,7 +6293,7 @@

- + cisco/collaboration_endpoint.cr @@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Cameras.html b/Cisco/CollaborationEndpoint/Cameras.html index 3015091155..37c96811e2 100644 --- a/Cisco/CollaborationEndpoint/Cameras.html +++ b/Cisco/CollaborationEndpoint/Cameras.html @@ -6307,7 +6307,7 @@

- + cisco/collaboration_endpoint/cameras.cr @@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Cameras/CameraAxis.html b/Cisco/CollaborationEndpoint/Cameras/CameraAxis.html index 650e39db6d..7ab8d29a53 100644 --- a/Cisco/CollaborationEndpoint/Cameras/CameraAxis.html +++ b/Cisco/CollaborationEndpoint/Cameras/CameraAxis.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/cameras.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Cameras/FocusDirection.html b/Cisco/CollaborationEndpoint/Cameras/FocusDirection.html index a5ed7b3d24..fcd4b8db02 100644 --- a/Cisco/CollaborationEndpoint/Cameras/FocusDirection.html +++ b/Cisco/CollaborationEndpoint/Cameras/FocusDirection.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/cameras.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Cameras/Interface.html b/Cisco/CollaborationEndpoint/Cameras/Interface.html index bb3599275f..5dfa641389 100644 --- a/Cisco/CollaborationEndpoint/Cameras/Interface.html +++ b/Cisco/CollaborationEndpoint/Cameras/Interface.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint/cameras.cr diff --git a/Cisco/CollaborationEndpoint/Config.html b/Cisco/CollaborationEndpoint/Config.html index ae38a51970..83ad76b87c 100644 --- a/Cisco/CollaborationEndpoint/Config.html +++ b/Cisco/CollaborationEndpoint/Config.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint.cr diff --git a/Cisco/CollaborationEndpoint/Feedback.html b/Cisco/CollaborationEndpoint/Feedback.html index 9857ec4125..664dd9efc8 100644 --- a/Cisco/CollaborationEndpoint/Feedback.html +++ b/Cisco/CollaborationEndpoint/Feedback.html @@ -6279,7 +6279,7 @@

- + cisco/collaboration_endpoint/feedback.cr @@ -6406,7 +6406,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6474,7 +6474,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/JSONBasic.html b/Cisco/CollaborationEndpoint/JSONBasic.html index 4d32c30b7e..a7f10b3fd5 100644 --- a/Cisco/CollaborationEndpoint/JSONBasic.html +++ b/Cisco/CollaborationEndpoint/JSONBasic.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint.cr diff --git a/Cisco/CollaborationEndpoint/Powerable.html b/Cisco/CollaborationEndpoint/Powerable.html index 4f36b11c04..982e08e637 100644 --- a/Cisco/CollaborationEndpoint/Powerable.html +++ b/Cisco/CollaborationEndpoint/Powerable.html @@ -6307,7 +6307,7 @@

- + cisco/collaboration_endpoint/powerable.cr @@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Powerable/Interface.html b/Cisco/CollaborationEndpoint/Powerable/Interface.html index 1311659e33..6cb6a1e46b 100644 --- a/Cisco/CollaborationEndpoint/Powerable/Interface.html +++ b/Cisco/CollaborationEndpoint/Powerable/Interface.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint/powerable.cr diff --git a/Cisco/CollaborationEndpoint/Powerable/PowerOff.html b/Cisco/CollaborationEndpoint/Powerable/PowerOff.html index 677f21888b..521531917c 100644 --- a/Cisco/CollaborationEndpoint/Powerable/PowerOff.html +++ b/Cisco/CollaborationEndpoint/Powerable/PowerOff.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/powerable.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Presentation.html b/Cisco/CollaborationEndpoint/Presentation.html index 010871d373..66dd738119 100644 --- a/Cisco/CollaborationEndpoint/Presentation.html +++ b/Cisco/CollaborationEndpoint/Presentation.html @@ -6307,7 +6307,7 @@

- + cisco/collaboration_endpoint/presentation.cr @@ -6453,7 +6453,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html b/Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html index b1ab429a12..33b02132c4 100644 --- a/Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html +++ b/Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/presentation.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Presentation/SendingMode.html b/Cisco/CollaborationEndpoint/Presentation/SendingMode.html index bff8b6d9db..1a07c00053 100644 --- a/Cisco/CollaborationEndpoint/Presentation/SendingMode.html +++ b/Cisco/CollaborationEndpoint/Presentation/SendingMode.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/presentation.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/Presets.html b/Cisco/CollaborationEndpoint/Presets.html index 9fee623671..3a7bac5e5b 100644 --- a/Cisco/CollaborationEndpoint/Presets.html +++ b/Cisco/CollaborationEndpoint/Presets.html @@ -6298,7 +6298,7 @@

- + cisco/collaboration_endpoint.cr diff --git a/Cisco/CollaborationEndpoint/Toogle.html b/Cisco/CollaborationEndpoint/Toogle.html index 1eece1cb3f..076031a2d7 100644 --- a/Cisco/CollaborationEndpoint/Toogle.html +++ b/Cisco/CollaborationEndpoint/Toogle.html @@ -6288,7 +6288,7 @@

- + cisco/collaboration_endpoint.cr @@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6438,7 +6438,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/UIExtensions.html b/Cisco/CollaborationEndpoint/UIExtensions.html index 08c651138b..f7dd357b4c 100644 --- a/Cisco/CollaborationEndpoint/UIExtensions.html +++ b/Cisco/CollaborationEndpoint/UIExtensions.html @@ -6307,7 +6307,7 @@

- + cisco/collaboration_endpoint/ui_extensions.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html b/Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html index 66c510f317..f3a471bdb3 100644 --- a/Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html +++ b/Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/ui_extensions.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html b/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html index 56a62817f8..81022668d4 100644 --- a/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html +++ b/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/ui_extensions.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/XAPI.html b/Cisco/CollaborationEndpoint/XAPI.html index 6a634d164d..5e7f80b3bb 100644 --- a/Cisco/CollaborationEndpoint/XAPI.html +++ b/Cisco/CollaborationEndpoint/XAPI.html @@ -6297,14 +6297,14 @@

- + cisco/collaboration_endpoint/response.cr
- + cisco/collaboration_endpoint/xapi.cr @@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/XAPI/ActionType.html b/Cisco/CollaborationEndpoint/XAPI/ActionType.html index e2e74526a6..8eca2b0fb1 100644 --- a/Cisco/CollaborationEndpoint/XAPI/ActionType.html +++ b/Cisco/CollaborationEndpoint/XAPI/ActionType.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/xapi.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html b/Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html index 8f1f45cce7..9c804b5651 100644 --- a/Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html +++ b/Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html @@ -6277,7 +6277,7 @@

- + cisco/collaboration_endpoint/xapi.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces.html b/Cisco/DNASpaces.html index 2a869594a2..b2c4b27f5f 100644 --- a/Cisco/DNASpaces.html +++ b/Cisco/DNASpaces.html @@ -6295,14 +6295,14 @@

- + cisco/dna_spaces.cr
- + cisco/dna_spaces/sensor_interface.cr @@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@

- [View source] + [View source]
@@ -6776,7 +6776,7 @@

- [View source] + [View source]
@@ -6798,7 +6798,7 @@

- [View source] + [View source]
@@ -6814,7 +6814,7 @@

- [View source] + [View source]
@@ -6830,7 +6830,7 @@

- [View source] + [View source]
@@ -6846,7 +6846,7 @@

- [View source] + [View source]
@@ -6862,7 +6862,7 @@

- [View source] + [View source]
@@ -6887,7 +6887,7 @@

- [View source] + [View source]
@@ -6914,7 +6914,7 @@

- [View source] + [View source]
@@ -6935,7 +6935,7 @@

- [View source] + [View source]
@@ -6951,7 +6951,7 @@

- [View source] + [View source]
@@ -6967,7 +6967,7 @@

- [View source] + [View source]
diff --git a/Cisco/DNASpaces/ActivactionPublicKey.html b/Cisco/DNASpaces/ActivactionPublicKey.html index 2bfd4be7c1..ddc1ea909e 100644 --- a/Cisco/DNASpaces/ActivactionPublicKey.html +++ b/Cisco/DNASpaces/ActivactionPublicKey.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/activation_publickey.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/AppActivaction.html b/Cisco/DNASpaces/AppActivaction.html index cb2420e915..251bff17bc 100644 --- a/Cisco/DNASpaces/AppActivaction.html +++ b/Cisco/DNASpaces/AppActivaction.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/app_activaction.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/AppActivactionWrapper.html b/Cisco/DNASpaces/AppActivactionWrapper.html index 81abb6c286..954888759c 100644 --- a/Cisco/DNASpaces/AppActivactionWrapper.html +++ b/Cisco/DNASpaces/AppActivactionWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/BlePayload.html b/Cisco/DNASpaces/BlePayload.html index 41041d5b8e..55649945e3 100644 --- a/Cisco/DNASpaces/BlePayload.html +++ b/Cisco/DNASpaces/BlePayload.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/ble_rssi_update.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/BleRssiUpdate.html b/Cisco/DNASpaces/BleRssiUpdate.html index 8507ff2a9f..acff1c53c2 100644 --- a/Cisco/DNASpaces/BleRssiUpdate.html +++ b/Cisco/DNASpaces/BleRssiUpdate.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/ble_rssi_update.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/BleRssiUpdateWrapper.html b/Cisco/DNASpaces/BleRssiUpdateWrapper.html index bac9e88801..899ecc5157 100644 --- a/Cisco/DNASpaces/BleRssiUpdateWrapper.html +++ b/Cisco/DNASpaces/BleRssiUpdateWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/Device.html b/Cisco/DNASpaces/Device.html index 20647ff694..34a1f77a9b 100644 --- a/Cisco/DNASpaces/Device.html +++ b/Cisco/DNASpaces/Device.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceCount.html b/Cisco/DNASpaces/DeviceCount.html index df519b9114..908c978df3 100644 --- a/Cisco/DNASpaces/DeviceCount.html +++ b/Cisco/DNASpaces/DeviceCount.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device_count.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceCountWrapper.html b/Cisco/DNASpaces/DeviceCountWrapper.html index 82a2ad9543..1dc6b1d85d 100644 --- a/Cisco/DNASpaces/DeviceCountWrapper.html +++ b/Cisco/DNASpaces/DeviceCountWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceEntry.html b/Cisco/DNASpaces/DeviceEntry.html index 94884e5159..e1ff1425c1 100644 --- a/Cisco/DNASpaces/DeviceEntry.html +++ b/Cisco/DNASpaces/DeviceEntry.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device_entry.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceEntryWrapper.html b/Cisco/DNASpaces/DeviceEntryWrapper.html index ee1ea888bb..1bdea974fe 100644 --- a/Cisco/DNASpaces/DeviceEntryWrapper.html +++ b/Cisco/DNASpaces/DeviceEntryWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceExit.html b/Cisco/DNASpaces/DeviceExit.html index 6ff440dd5f..c570306a80 100644 --- a/Cisco/DNASpaces/DeviceExit.html +++ b/Cisco/DNASpaces/DeviceExit.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device_exit.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceExitWrapper.html b/Cisco/DNASpaces/DeviceExitWrapper.html index f2305b5c13..fada970f45 100644 --- a/Cisco/DNASpaces/DeviceExitWrapper.html +++ b/Cisco/DNASpaces/DeviceExitWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceLocationUpdate.html b/Cisco/DNASpaces/DeviceLocationUpdate.html index 6db5acff76..bf59855ebc 100644 --- a/Cisco/DNASpaces/DeviceLocationUpdate.html +++ b/Cisco/DNASpaces/DeviceLocationUpdate.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device_location_update.cr @@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DeviceLocationUpdateWrapper.html b/Cisco/DNASpaces/DeviceLocationUpdateWrapper.html index 9f5818e7df..50a8971813 100644 --- a/Cisco/DNASpaces/DeviceLocationUpdateWrapper.html +++ b/Cisco/DNASpaces/DeviceLocationUpdateWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DevicePresence.html b/Cisco/DNASpaces/DevicePresence.html index 3e1b1d4ff0..2eef0283f2 100644 --- a/Cisco/DNASpaces/DevicePresence.html +++ b/Cisco/DNASpaces/DevicePresence.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/device_presence.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
@@ -6786,7 +6786,7 @@


- [View source] + [View source]
@@ -6802,7 +6802,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/DevicePresenceWrapper.html b/Cisco/DNASpaces/DevicePresenceWrapper.html index 579e8b397a..503923f68b 100644 --- a/Cisco/DNASpaces/DevicePresenceWrapper.html +++ b/Cisco/DNASpaces/DevicePresenceWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/Dimension.html b/Cisco/DNASpaces/Dimension.html index 059d0f15db..93202ef437 100644 --- a/Cisco/DNASpaces/Dimension.html +++ b/Cisco/DNASpaces/Dimension.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/map_info.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/Events.html b/Cisco/DNASpaces/Events.html index 2b00bdf514..868a58c838 100644 --- a/Cisco/DNASpaces/Events.html +++ b/Cisco/DNASpaces/Events.html @@ -6356,7 +6356,7 @@

- + cisco/dna_spaces/events.cr @@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/IotDeviceInfo.html b/Cisco/DNASpaces/IotDeviceInfo.html index c7c32b6f18..4b3779404b 100644 --- a/Cisco/DNASpaces/IotDeviceInfo.html +++ b/Cisco/DNASpaces/IotDeviceInfo.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/iot_telemetry.cr @@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/IotPosition.html b/Cisco/DNASpaces/IotPosition.html index 37fe8fc6c6..6496d1dfb7 100644 --- a/Cisco/DNASpaces/IotPosition.html +++ b/Cisco/DNASpaces/IotPosition.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/iot_telemetry.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/IotTelemetry.html b/Cisco/DNASpaces/IotTelemetry.html index 93126d383a..9239f5ee31 100644 --- a/Cisco/DNASpaces/IotTelemetry.html +++ b/Cisco/DNASpaces/IotTelemetry.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/iot_telemetry.cr @@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6778,7 +6778,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6810,7 +6810,7 @@


- [View source] + [View source]
@@ -6826,7 +6826,7 @@


- [View source] + [View source]
@@ -6842,7 +6842,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
@@ -6969,7 +6969,7 @@


- [View source] + [View source]
@@ -6985,7 +6985,7 @@


- [View source] + [View source]
@@ -7001,7 +7001,7 @@


- [View source] + [View source]
@@ -7017,7 +7017,7 @@


- [View source] + [View source]
@@ -7033,7 +7033,7 @@


- [View source] + [View source]
@@ -7049,7 +7049,7 @@


- [View source] + [View source]
@@ -7065,7 +7065,7 @@


- [View source] + [View source]
@@ -7081,7 +7081,7 @@


- [View source] + [View source]
@@ -7097,7 +7097,7 @@


- [View source] + [View source]
@@ -7113,7 +7113,7 @@


- [View source] + [View source]
@@ -7129,7 +7129,7 @@


- [View source] + [View source]
@@ -7145,7 +7145,7 @@


- [View source] + [View source]
@@ -7161,7 +7161,7 @@


- [View source] + [View source]
@@ -7177,7 +7177,7 @@


- [View source] + [View source]
@@ -7193,7 +7193,7 @@


- [View source] + [View source]
@@ -7209,7 +7209,7 @@


- [View source] + [View source]
@@ -7225,7 +7225,7 @@


- [View source] + [View source]
@@ -7241,7 +7241,7 @@


- [View source] + [View source]
@@ -7257,7 +7257,7 @@


- [View source] + [View source]
@@ -7273,7 +7273,7 @@


- [View source] + [View source]
@@ -7289,7 +7289,7 @@


- [View source] + [View source]
@@ -7305,7 +7305,7 @@


- [View source] + [View source]
@@ -7321,7 +7321,7 @@


- [View source] + [View source]
@@ -7337,7 +7337,7 @@


- [View source] + [View source]
@@ -7353,7 +7353,7 @@


- [View source] + [View source]
@@ -7369,7 +7369,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/IotTelemetryWrapper.html b/Cisco/DNASpaces/IotTelemetryWrapper.html index d43435fdc8..3bfc3cc092 100644 --- a/Cisco/DNASpaces/IotTelemetryWrapper.html +++ b/Cisco/DNASpaces/IotTelemetryWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/KeepAlive.html b/Cisco/DNASpaces/KeepAlive.html index d43ed348d3..ff9f9c4d17 100644 --- a/Cisco/DNASpaces/KeepAlive.html +++ b/Cisco/DNASpaces/KeepAlive.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/Location.html b/Cisco/DNASpaces/Location.html index 324f5dd5d9..7d8cbd435e 100644 --- a/Cisco/DNASpaces/Location.html +++ b/Cisco/DNASpaces/Location.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/location.cr @@ -6444,7 +6444,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationChange.html b/Cisco/DNASpaces/LocationChange.html index 2b7d264b16..871d7eb238 100644 --- a/Cisco/DNASpaces/LocationChange.html +++ b/Cisco/DNASpaces/LocationChange.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/location_change.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationChange/LocationDetails.html b/Cisco/DNASpaces/LocationChange/LocationDetails.html index cf383389ce..7dde91e0a8 100644 --- a/Cisco/DNASpaces/LocationChange/LocationDetails.html +++ b/Cisco/DNASpaces/LocationChange/LocationDetails.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/location_change.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationChange/Metadata.html b/Cisco/DNASpaces/LocationChange/Metadata.html index 18a1183424..e56e1a09a0 100644 --- a/Cisco/DNASpaces/LocationChange/Metadata.html +++ b/Cisco/DNASpaces/LocationChange/Metadata.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/location_change.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationChangeWrapper.html b/Cisco/DNASpaces/LocationChangeWrapper.html index 23675d6232..91e20f0178 100644 --- a/Cisco/DNASpaces/LocationChangeWrapper.html +++ b/Cisco/DNASpaces/LocationChangeWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationDetails.html b/Cisco/DNASpaces/LocationDetails.html index 1df2200529..c5562b6d7a 100644 --- a/Cisco/DNASpaces/LocationDetails.html +++ b/Cisco/DNASpaces/LocationDetails.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/location_details.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/LocationInfo.html b/Cisco/DNASpaces/LocationInfo.html index 6c2d982eb0..9bcf171c11 100644 --- a/Cisco/DNASpaces/LocationInfo.html +++ b/Cisco/DNASpaces/LocationInfo.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/MapInfo.html b/Cisco/DNASpaces/MapInfo.html index 58e0f81756..01d0089bb4 100644 --- a/Cisco/DNASpaces/MapInfo.html +++ b/Cisco/DNASpaces/MapInfo.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/map_info.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/PeopleCountUpdate.html b/Cisco/DNASpaces/PeopleCountUpdate.html index 6be4a31f2b..e9bf32541a 100644 --- a/Cisco/DNASpaces/PeopleCountUpdate.html +++ b/Cisco/DNASpaces/PeopleCountUpdate.html @@ -6318,7 +6318,7 @@

- + cisco/dna_spaces/people_count_update.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/PeopleCountUpdateWrapper.html b/Cisco/DNASpaces/PeopleCountUpdateWrapper.html index eae5bbcbb1..bc3c4335f5 100644 --- a/Cisco/DNASpaces/PeopleCountUpdateWrapper.html +++ b/Cisco/DNASpaces/PeopleCountUpdateWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/ProfileUpdateWrapper.html b/Cisco/DNASpaces/ProfileUpdateWrapper.html index 677e66e046..bce109042c 100644 --- a/Cisco/DNASpaces/ProfileUpdateWrapper.html +++ b/Cisco/DNASpaces/ProfileUpdateWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/RssiMeasurement.html b/Cisco/DNASpaces/RssiMeasurement.html index ca4f7f8daa..29c02084fb 100644 --- a/Cisco/DNASpaces/RssiMeasurement.html +++ b/Cisco/DNASpaces/RssiMeasurement.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/ble_rssi_update.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/RssiNotification.html b/Cisco/DNASpaces/RssiNotification.html index 1d89eb4943..a2e7b9a63d 100644 --- a/Cisco/DNASpaces/RssiNotification.html +++ b/Cisco/DNASpaces/RssiNotification.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/ble_rssi_update.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/TpData.html b/Cisco/DNASpaces/TpData.html index 9f9602c0bd..643b82b315 100644 --- a/Cisco/DNASpaces/TpData.html +++ b/Cisco/DNASpaces/TpData.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/iot_telemetry.cr @@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6545,7 +6545,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
@@ -6833,7 +6833,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6865,7 +6865,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/UserPresence.html b/Cisco/DNASpaces/UserPresence.html index 9e17b8442b..b1f129f358 100644 --- a/Cisco/DNASpaces/UserPresence.html +++ b/Cisco/DNASpaces/UserPresence.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/user_presence.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/UserPresence/User.html b/Cisco/DNASpaces/UserPresence/User.html index 6d8896a6a9..66ac9f68d7 100644 --- a/Cisco/DNASpaces/UserPresence/User.html +++ b/Cisco/DNASpaces/UserPresence/User.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/user_presence.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/UserPresence/UserCount.html b/Cisco/DNASpaces/UserPresence/UserCount.html index 2c4497eafc..427815f154 100644 --- a/Cisco/DNASpaces/UserPresence/UserCount.html +++ b/Cisco/DNASpaces/UserPresence/UserCount.html @@ -6307,7 +6307,7 @@

- + cisco/dna_spaces/user_presence.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Cisco/DNASpaces/UserPresenceWrapper.html b/Cisco/DNASpaces/UserPresenceWrapper.html index df22311e69..3bd7c38a80 100644 --- a/Cisco/DNASpaces/UserPresenceWrapper.html +++ b/Cisco/DNASpaces/UserPresenceWrapper.html @@ -6279,7 +6279,7 @@

- + cisco/dna_spaces/events.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Cisco/Ise.html b/Cisco/Ise.html index aa37ee1766..0007456141 100644 --- a/Cisco/Ise.html +++ b/Cisco/Ise.html @@ -6277,7 +6277,7 @@

- + cisco/ise/guest_users.cr diff --git a/Cisco/Ise/Guests.html b/Cisco/Ise/Guests.html index 76c4b3e28b..90b0001a90 100644 --- a/Cisco/Ise/Guests.html +++ b/Cisco/Ise/Guests.html @@ -6279,7 +6279,7 @@

- + cisco/ise/guest_users.cr @@ -6428,7 +6428,7 @@


- [View source] + [View source]
@@ -6444,7 +6444,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
diff --git a/Cisco/Ise/Models.html b/Cisco/Ise/Models.html index fd6ec3e459..bfc047a3dc 100644 --- a/Cisco/Ise/Models.html +++ b/Cisco/Ise/Models.html @@ -6277,7 +6277,7 @@

- + cisco/ise/models/internal_user.cr diff --git a/Cisco/Ise/Models/InternalUser.html b/Cisco/Ise/Models/InternalUser.html index 07c9e18953..16ef17d2fa 100644 --- a/Cisco/Ise/Models/InternalUser.html +++ b/Cisco/Ise/Models/InternalUser.html @@ -6307,7 +6307,7 @@

- + cisco/ise/models/internal_user.cr @@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
@@ -6912,7 +6912,7 @@


- [View source] + [View source]
@@ -6928,7 +6928,7 @@


- [View source] + [View source]
diff --git a/Cisco/Ise/NetworkAccess.html b/Cisco/Ise/NetworkAccess.html index 54591d33b3..88a79f2a68 100644 --- a/Cisco/Ise/NetworkAccess.html +++ b/Cisco/Ise/NetworkAccess.html @@ -6279,7 +6279,7 @@

- + cisco/ise/network_access.cr @@ -6453,7 +6453,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki.html b/Cisco/Meraki.html index a909c3aeb3..5bd7e03163 100644 --- a/Cisco/Meraki.html +++ b/Cisco/Meraki.html @@ -6288,28 +6288,28 @@

- + cisco/meraki/captive_portal.cr
- + cisco/meraki/geo.cr
- + cisco/meraki/mqtt_models.cr
- + cisco/meraki/scanning_api.cr diff --git a/Cisco/Meraki/AlertType.html b/Cisco/Meraki/AlertType.html index ae1ed67386..abee32791b 100644 --- a/Cisco/Meraki/AlertType.html +++ b/Cisco/Meraki/AlertType.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/scanning_api.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CameraAnalytics.html b/Cisco/Meraki/CameraAnalytics.html index 8cd4ace506..40709a32cb 100644 --- a/Cisco/Meraki/CameraAnalytics.html +++ b/Cisco/Meraki/CameraAnalytics.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6449,7 +6449,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CameraAnalytics/PeopleCount.html b/Cisco/Meraki/CameraAnalytics/PeopleCount.html index 7e0bbe9acc..38d72a6dfd 100644 --- a/Cisco/Meraki/CameraAnalytics/PeopleCount.html +++ b/Cisco/Meraki/CameraAnalytics/PeopleCount.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CameraZone.html b/Cisco/Meraki/CameraZone.html index 77050ce15b..1c13786360 100644 --- a/Cisco/Meraki/CameraZone.html +++ b/Cisco/Meraki/CameraZone.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CameraZone/Region.html b/Cisco/Meraki/CameraZone/Region.html index 633a95b78c..b40a9e5444 100644 --- a/Cisco/Meraki/CameraZone/Region.html +++ b/Cisco/Meraki/CameraZone/Region.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CaptivePortal.html b/Cisco/Meraki/CaptivePortal.html index 786617a7c5..fb05c2b916 100644 --- a/Cisco/Meraki/CaptivePortal.html +++ b/Cisco/Meraki/CaptivePortal.html @@ -6279,7 +6279,7 @@

- + cisco/meraki/captive_portal.cr @@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
@@ -6474,7 +6474,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CaptivePortal/ChallengePayload.html b/Cisco/Meraki/CaptivePortal/ChallengePayload.html index 1010503d27..c43aba73a9 100644 --- a/Cisco/Meraki/CaptivePortal/ChallengePayload.html +++ b/Cisco/Meraki/CaptivePortal/ChallengePayload.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/captive_portal.cr @@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Client.html b/Cisco/Meraki/Client.html index 5f04ee2651..f9ad263fb6 100644 --- a/Cisco/Meraki/Client.html +++ b/Cisco/Meraki/Client.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
@@ -6912,7 +6912,7 @@


- [View source] + [View source]
@@ -6928,7 +6928,7 @@


- [View source] + [View source]
@@ -6944,7 +6944,7 @@


- [View source] + [View source]
@@ -6960,7 +6960,7 @@


- [View source] + [View source]
@@ -6976,7 +6976,7 @@


- [View source] + [View source]
@@ -6992,7 +6992,7 @@


- [View source] + [View source]
@@ -7008,7 +7008,7 @@


- [View source] + [View source]
@@ -7024,7 +7024,7 @@


- [View source] + [View source]
@@ -7040,7 +7040,7 @@


- [View source] + [View source]
@@ -7056,7 +7056,7 @@


- [View source] + [View source]
@@ -7072,7 +7072,7 @@


- [View source] + [View source]
@@ -7088,7 +7088,7 @@


- [View source] + [View source]
@@ -7104,7 +7104,7 @@


- [View source] + [View source]
@@ -7120,7 +7120,7 @@


- [View source] + [View source]
@@ -7136,7 +7136,7 @@


- [View source] + [View source]
@@ -7152,7 +7152,7 @@


- [View source] + [View source]
@@ -7182,7 +7182,7 @@


- [View source] + [View source]
@@ -7212,7 +7212,7 @@


- [View source] + [View source]
@@ -7228,7 +7228,7 @@


- [View source] + [View source]
@@ -7244,7 +7244,7 @@


- [View source] + [View source]
@@ -7260,7 +7260,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/ConnectionType.html b/Cisco/Meraki/ConnectionType.html index 7a52294188..7283062902 100644 --- a/Cisco/Meraki/ConnectionType.html +++ b/Cisco/Meraki/ConnectionType.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/scanning_api.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CountType.html b/Cisco/Meraki/CountType.html index 7b05c1b102..80c1b1d848 100644 --- a/Cisco/Meraki/CountType.html +++ b/Cisco/Meraki/CountType.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Crossing.html b/Cisco/Meraki/Crossing.html index a94f1a4298..4b65a501c2 100644 --- a/Cisco/Meraki/Crossing.html +++ b/Cisco/Meraki/Crossing.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CrossingEvent.html b/Cisco/Meraki/CrossingEvent.html index 3c766c5ac3..7f2080c05a 100644 --- a/Cisco/Meraki/CrossingEvent.html +++ b/Cisco/Meraki/CrossingEvent.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/CrossingObject.html b/Cisco/Meraki/CrossingObject.html index 5cf3f0b744..6fa7ce15a1 100644 --- a/Cisco/Meraki/CrossingObject.html +++ b/Cisco/Meraki/CrossingObject.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Dashboard.html b/Cisco/Meraki/Dashboard.html index 85f49d2fd9..33ab5ba2f0 100644 --- a/Cisco/Meraki/Dashboard.html +++ b/Cisco/Meraki/Dashboard.html @@ -6279,7 +6279,7 @@

- + cisco/meraki/dashboard.cr @@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Data.html b/Cisco/Meraki/Data.html index 3e88cd06d5..4ded47649c 100644 --- a/Cisco/Meraki/Data.html +++ b/Cisco/Meraki/Data.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/DeskMappings.html b/Cisco/Meraki/DeskMappings.html index bd5530cfcd..e00d833f54 100644 --- a/Cisco/Meraki/DeskMappings.html +++ b/Cisco/Meraki/DeskMappings.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/DetectedDesks.html b/Cisco/Meraki/DetectedDesks.html index 6345b73606..6a217572cf 100644 --- a/Cisco/Meraki/DetectedDesks.html +++ b/Cisco/Meraki/DetectedDesks.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/DeviceLocation.html b/Cisco/Meraki/DeviceLocation.html index 40c391304b..f1cc29587e 100644 --- a/Cisco/Meraki/DeviceLocation.html +++ b/Cisco/Meraki/DeviceLocation.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6758,7 +6758,7 @@


- [View source] + [View source]
@@ -6774,7 +6774,7 @@


- [View source] + [View source]
@@ -6790,7 +6790,7 @@


- [View source] + [View source]
@@ -6806,7 +6806,7 @@


- [View source] + [View source]
@@ -6822,7 +6822,7 @@


- [View source] + [View source]
@@ -6838,7 +6838,7 @@


- [View source] + [View source]
@@ -6854,7 +6854,7 @@


- [View source] + [View source]
@@ -6870,7 +6870,7 @@


- [View source] + [View source]
@@ -6886,7 +6886,7 @@


- [View source] + [View source]
@@ -6902,7 +6902,7 @@


- [View source] + [View source]
@@ -6918,7 +6918,7 @@


- [View source] + [View source]
@@ -6934,7 +6934,7 @@


- [View source] + [View source]
@@ -6950,7 +6950,7 @@


- [View source] + [View source]
@@ -6966,7 +6966,7 @@


- [View source] + [View source]
@@ -6982,7 +6982,7 @@


- [View source] + [View source]
@@ -6998,7 +6998,7 @@


- [View source] + [View source]
@@ -7014,7 +7014,7 @@


- [View source] + [View source]
@@ -7030,7 +7030,7 @@


- [View source] + [View source]
@@ -7046,7 +7046,7 @@


- [View source] + [View source]
@@ -7067,7 +7067,7 @@


- [View source] + [View source]
@@ -7083,7 +7083,7 @@


- [View source] + [View source]
@@ -7104,7 +7104,7 @@


- [View source] + [View source]
@@ -7120,7 +7120,7 @@


- [View source] + [View source]
@@ -7136,7 +7136,7 @@


- [View source] + [View source]
@@ -7152,7 +7152,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/DevicesSeen.html b/Cisco/Meraki/DevicesSeen.html index bd8223e78e..9574ec4b0e 100644 --- a/Cisco/Meraki/DevicesSeen.html +++ b/Cisco/Meraki/DevicesSeen.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Entrances.html b/Cisco/Meraki/Entrances.html index 6c6d8c8677..60ed477811 100644 --- a/Cisco/Meraki/Entrances.html +++ b/Cisco/Meraki/Entrances.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/FloorMapping.html b/Cisco/Meraki/FloorMapping.html index a1fa6dec73..6e26916720 100644 --- a/Cisco/Meraki/FloorMapping.html +++ b/Cisco/Meraki/FloorMapping.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/FloorPlan.html b/Cisco/Meraki/FloorPlan.html index 7a8d41951e..0461eb29b0 100644 --- a/Cisco/Meraki/FloorPlan.html +++ b/Cisco/Meraki/FloorPlan.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/FloorPlanLocation.html b/Cisco/Meraki/FloorPlanLocation.html index 178b8b2c76..7a7d9fb215 100644 --- a/Cisco/Meraki/FloorPlanLocation.html +++ b/Cisco/Meraki/FloorPlanLocation.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Geo.html b/Cisco/Meraki/Geo.html index 7b9092dd90..2b7f959add 100644 --- a/Cisco/Meraki/Geo.html +++ b/Cisco/Meraki/Geo.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/geo.cr @@ -6382,7 +6382,7 @@


- [View source] + [View source]
@@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6425,7 +6425,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Geo/Distance.html b/Cisco/Meraki/Geo/Distance.html index 0a5074008b..592770a641 100644 --- a/Cisco/Meraki/Geo/Distance.html +++ b/Cisco/Meraki/Geo/Distance.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/geo.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Geo/Point.html b/Cisco/Meraki/Geo/Point.html index 18a087c9d9..9a1fbeed6c 100644 --- a/Cisco/Meraki/Geo/Point.html +++ b/Cisco/Meraki/Geo/Point.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/geo.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/LatestRecord.html b/Cisco/Meraki/LatestRecord.html index b9f2f55d4f..debd8173c9 100644 --- a/Cisco/Meraki/LatestRecord.html +++ b/Cisco/Meraki/LatestRecord.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Locations.html b/Cisco/Meraki/Locations.html index e74b84298d..b7aadf8530 100644 --- a/Cisco/Meraki/Locations.html +++ b/Cisco/Meraki/Locations.html @@ -6295,7 +6295,7 @@

- + cisco/meraki/meraki_locations.cr @@ -6637,7 +6637,7 @@


- [View source] + [View source]
@@ -6653,7 +6653,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@

- [View source] + [View source]
@@ -6819,7 +6819,7 @@

- [View source] + [View source]
@@ -6835,7 +6835,7 @@

- [View source] + [View source]
@@ -6851,7 +6851,7 @@

- [View source] + [View source]
@@ -6867,7 +6867,7 @@

- [View source] + [View source]
@@ -6883,7 +6883,7 @@

- [View source] + [View source]
@@ -6899,7 +6899,7 @@

- [View source] + [View source]
@@ -6915,7 +6915,7 @@

- [View source] + [View source]
@@ -6931,7 +6931,7 @@

- [View source] + [View source]
@@ -6947,7 +6947,7 @@

- [View source] + [View source]
@@ -6969,7 +6969,7 @@

- [View source] + [View source]
@@ -6990,7 +6990,7 @@

- [View source] + [View source]
@@ -7006,7 +7006,7 @@

- [View source] + [View source]
@@ -7027,7 +7027,7 @@

- [View source] + [View source]
@@ -7043,7 +7043,7 @@

- [View source] + [View source]
@@ -7064,7 +7064,7 @@

- [View source] + [View source]
@@ -7090,7 +7090,7 @@

- [View source] + [View source]
@@ -7106,7 +7106,7 @@

- [View source] + [View source]
@@ -7122,7 +7122,7 @@

- [View source] + [View source]
@@ -7138,7 +7138,7 @@

- [View source] + [View source]
@@ -7159,7 +7159,7 @@

- [View source] + [View source]
@@ -7175,7 +7175,7 @@

- [View source] + [View source]
@@ -7200,7 +7200,7 @@

- [View source] + [View source]
@@ -7227,7 +7227,7 @@

- [View source] + [View source]
@@ -7243,7 +7243,7 @@

- [View source] + [View source]
@@ -7259,7 +7259,7 @@

- [View source] + [View source]
@@ -7275,7 +7275,7 @@

- [View source] + [View source]
@@ -7296,7 +7296,7 @@

- [View source] + [View source]
@@ -7312,7 +7312,7 @@

- [View source] + [View source]
diff --git a/Cisco/Meraki/Locations/CamAnalytics.html b/Cisco/Meraki/Locations/CamAnalytics.html index c3804a0739..6b1217855b 100644 --- a/Cisco/Meraki/Locations/CamAnalytics.html +++ b/Cisco/Meraki/Locations/CamAnalytics.html @@ -6287,7 +6287,7 @@

- + cisco/meraki/meraki_locations.cr diff --git a/Cisco/Meraki/Locations/Lookup.html b/Cisco/Meraki/Locations/Lookup.html index 4408d7a550..f1455e55d9 100644 --- a/Cisco/Meraki/Locations/Lookup.html +++ b/Cisco/Meraki/Locations/Lookup.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/meraki_locations.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Locations/WiredDesks.html b/Cisco/Meraki/Locations/WiredDesks.html index 304d477336..5412a2a930 100644 --- a/Cisco/Meraki/Locations/WiredDesks.html +++ b/Cisco/Meraki/Locations/WiredDesks.html @@ -6287,7 +6287,7 @@

- + cisco/meraki/meraki_locations.cr diff --git a/Cisco/Meraki/LuxLevel.html b/Cisco/Meraki/LuxLevel.html index f46f8c1fef..8e8f81ff97 100644 --- a/Cisco/Meraki/LuxLevel.html +++ b/Cisco/Meraki/LuxLevel.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/mqtt_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/MQTT.html b/Cisco/Meraki/MQTT.html index c24a5acbdf..b730e66274 100644 --- a/Cisco/Meraki/MQTT.html +++ b/Cisco/Meraki/MQTT.html @@ -6293,7 +6293,7 @@

- + cisco/meraki/mqtt.cr @@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6684,7 +6684,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/MessageType.html b/Cisco/Meraki/MessageType.html index 9623a3e5e5..3498d08bed 100644 --- a/Cisco/Meraki/MessageType.html +++ b/Cisco/Meraki/MessageType.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/scanning_api.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Network.html b/Cisco/Meraki/Network.html index 6109867ea9..6e958b765e 100644 --- a/Cisco/Meraki/Network.html +++ b/Cisco/Meraki/Network.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
@@ -6786,7 +6786,7 @@


- [View source] + [View source]
@@ -6802,7 +6802,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/NetworkDevice.html b/Cisco/Meraki/NetworkDevice.html index 8394dc636e..4c6b105d95 100644 --- a/Cisco/Meraki/NetworkDevice.html +++ b/Cisco/Meraki/NetworkDevice.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Observation.html b/Cisco/Meraki/Observation.html index bccb2ea95e..f38086daeb 100644 --- a/Cisco/Meraki/Observation.html +++ b/Cisco/Meraki/Observation.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/Organization.html b/Cisco/Meraki/Organization.html index 56aa65a875..5b082d29c3 100644 --- a/Cisco/Meraki/Organization.html +++ b/Cisco/Meraki/Organization.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/PortState.html b/Cisco/Meraki/PortState.html index 720593d886..64a490c523 100644 --- a/Cisco/Meraki/PortState.html +++ b/Cisco/Meraki/PortState.html @@ -6277,7 +6277,7 @@

- + cisco/meraki/scanning_api.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/PortStatusResponse.html b/Cisco/Meraki/PortStatusResponse.html index 088a61daa5..8324e25098 100644 --- a/Cisco/Meraki/PortStatusResponse.html +++ b/Cisco/Meraki/PortStatusResponse.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/RSSI.html b/Cisco/Meraki/RSSI.html index 1137e86624..2a281a6908 100644 --- a/Cisco/Meraki/RSSI.html +++ b/Cisco/Meraki/RSSI.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/WebhookAlert.html b/Cisco/Meraki/WebhookAlert.html index 56afb77f4e..0790d9a55e 100644 --- a/Cisco/Meraki/WebhookAlert.html +++ b/Cisco/Meraki/WebhookAlert.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/WebhookAlert/PortData.html b/Cisco/Meraki/WebhookAlert/PortData.html index fecfc647bd..bb4ae92539 100644 --- a/Cisco/Meraki/WebhookAlert/PortData.html +++ b/Cisco/Meraki/WebhookAlert/PortData.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Cisco/Meraki/ZoneDetails.html b/Cisco/Meraki/ZoneDetails.html index 2f1968c8b0..5cdf86a23b 100644 --- a/Cisco/Meraki/ZoneDetails.html +++ b/Cisco/Meraki/ZoneDetails.html @@ -6307,7 +6307,7 @@

- + cisco/meraki/scanning_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit.html b/Cisco/RoomKit.html index e7b5ae770d..cfdfc5c882 100644 --- a/Cisco/RoomKit.html +++ b/Cisco/RoomKit.html @@ -6303,7 +6303,7 @@

- + cisco/room_kit.cr @@ -7232,7 +7232,7 @@


- [View source] + [View source]
@@ -7260,7 +7260,7 @@


- [View source] + [View source]
@@ -7276,7 +7276,7 @@


- [View source] + [View source]
@@ -7292,7 +7292,7 @@


- [View source] + [View source]
@@ -7308,7 +7308,7 @@


- [View source] + [View source]
@@ -7324,7 +7324,7 @@


- [View source] + [View source]
@@ -7340,7 +7340,7 @@


- [View source] + [View source]
@@ -7356,7 +7356,7 @@


- [View source] + [View source]
@@ -7372,7 +7372,7 @@


- [View source] + [View source]
@@ -7388,7 +7388,7 @@


- [View source] + [View source]
@@ -7404,7 +7404,7 @@


- [View source] + [View source]
@@ -7420,7 +7420,7 @@


- [View source] + [View source]
@@ -7436,7 +7436,7 @@


- [View source] + [View source]
@@ -7452,7 +7452,7 @@


- [View source] + [View source]
@@ -7468,7 +7468,7 @@


- [View source] + [View source]
@@ -7484,7 +7484,7 @@


- [View source] + [View source]
@@ -7500,7 +7500,7 @@


- [View source] + [View source]
@@ -7516,7 +7516,7 @@


- [View source] + [View source]
@@ -7532,7 +7532,7 @@


- [View source] + [View source]
@@ -7548,7 +7548,7 @@


- [View source] + [View source]
@@ -7564,7 +7564,7 @@


- [View source] + [View source]
@@ -7580,7 +7580,7 @@


- [View source] + [View source]
@@ -7605,7 +7605,7 @@


- [View source] + [View source]
@@ -7632,7 +7632,7 @@


- [View source] + [View source]
@@ -7648,7 +7648,7 @@


- [View source] + [View source]
@@ -7664,7 +7664,7 @@


- [View source] + [View source]
@@ -7680,7 +7680,7 @@


- [View source] + [View source]
@@ -7696,7 +7696,7 @@


- [View source] + [View source]
@@ -7712,7 +7712,7 @@


- [View source] + [View source]
@@ -7728,7 +7728,7 @@


- [View source] + [View source]
@@ -7744,7 +7744,7 @@


- [View source] + [View source]
@@ -7760,7 +7760,7 @@


- [View source] + [View source]
@@ -7776,7 +7776,7 @@


- [View source] + [View source]
@@ -7792,7 +7792,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/CallType.html b/Cisco/RoomKit/CallType.html index 062a184ae9..c666738496 100644 --- a/Cisco/RoomKit/CallType.html +++ b/Cisco/RoomKit/CallType.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/DialProtocol.html b/Cisco/RoomKit/DialProtocol.html index b4d2b1045e..59f0ef354a 100644 --- a/Cisco/RoomKit/DialProtocol.html +++ b/Cisco/RoomKit/DialProtocol.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/LayoutFamily.html b/Cisco/RoomKit/LayoutFamily.html index 74bb16ad99..4611877487 100644 --- a/Cisco/RoomKit/LayoutFamily.html +++ b/Cisco/RoomKit/LayoutFamily.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/LayoutTarget.html b/Cisco/RoomKit/LayoutTarget.html index 4bffec32ef..b584cf218c 100644 --- a/Cisco/RoomKit/LayoutTarget.html +++ b/Cisco/RoomKit/LayoutTarget.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/MonitorRole.html b/Cisco/RoomKit/MonitorRole.html index 7a526ada3b..e72698d777 100644 --- a/Cisco/RoomKit/MonitorRole.html +++ b/Cisco/RoomKit/MonitorRole.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/PhonebookType.html b/Cisco/RoomKit/PhonebookType.html index 06e04c2986..a98eefe9dc 100644 --- a/Cisco/RoomKit/PhonebookType.html +++ b/Cisco/RoomKit/PhonebookType.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/PiPPosition.html b/Cisco/RoomKit/PiPPosition.html index a282dbc39d..26051334b3 100644 --- a/Cisco/RoomKit/PiPPosition.html +++ b/Cisco/RoomKit/PiPPosition.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/PresentationMode.html b/Cisco/RoomKit/PresentationMode.html index 419e97901d..f4b18e3207 100644 --- a/Cisco/RoomKit/PresentationMode.html +++ b/Cisco/RoomKit/PresentationMode.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/Sound.html b/Cisco/RoomKit/Sound.html index caf4967f01..6ffe5806d4 100644 --- a/Cisco/RoomKit/Sound.html +++ b/Cisco/RoomKit/Sound.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6899,7 +6899,7 @@


- [View source] + [View source]
@@ -6915,7 +6915,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/Toogle.html b/Cisco/RoomKit/Toogle.html index 576426c556..36cb36f090 100644 --- a/Cisco/RoomKit/Toogle.html +++ b/Cisco/RoomKit/Toogle.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomKit/VideoLayout.html b/Cisco/RoomKit/VideoLayout.html index 0bb3d40a65..0f6d59a323 100644 --- a/Cisco/RoomKit/VideoLayout.html +++ b/Cisco/RoomKit/VideoLayout.html @@ -6277,7 +6277,7 @@

- + cisco/room_kit.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Cisco/RoomOS.html b/Cisco/RoomOS.html index 3d26e116db..25bd330fc2 100644 --- a/Cisco/RoomOS.html +++ b/Cisco/RoomOS.html @@ -6295,7 +6295,7 @@

- + cisco/room_os.cr @@ -6630,7 +6630,7 @@


- [View source] + [View source]
diff --git a/Cisco/Switch.html b/Cisco/Switch.html index 387788c551..80e8ade8f7 100644 --- a/Cisco/Switch.html +++ b/Cisco/Switch.html @@ -6277,7 +6277,7 @@

- + cisco/switch/snooping_catalyst.cr diff --git a/Cisco/Switch/SnoopingCatalyst.html b/Cisco/Switch/SnoopingCatalyst.html index 8e4627a3d0..b13bbbd3cf 100644 --- a/Cisco/Switch/SnoopingCatalyst.html +++ b/Cisco/Switch/SnoopingCatalyst.html @@ -6279,7 +6279,7 @@

- + cisco/switch/snooping_catalyst.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
diff --git a/Cisco/UIExtender.html b/Cisco/UIExtender.html index c9501edabf..d0a02742ed 100644 --- a/Cisco/UIExtender.html +++ b/Cisco/UIExtender.html @@ -6279,7 +6279,7 @@

- + cisco/ui_extender.cr @@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6741,7 +6741,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
diff --git a/Cisco/UIExtender/Binding.html b/Cisco/UIExtender/Binding.html index 93c7df2590..a0d30b8c16 100644 --- a/Cisco/UIExtender/Binding.html +++ b/Cisco/UIExtender/Binding.html @@ -6287,7 +6287,7 @@

- + cisco/ui_extender.cr diff --git a/Cisco/UIExtender/Bindings.html b/Cisco/UIExtender/Bindings.html index 1313a05eed..acba3d70cb 100644 --- a/Cisco/UIExtender/Bindings.html +++ b/Cisco/UIExtender/Bindings.html @@ -6298,7 +6298,7 @@

- + cisco/ui_extender.cr diff --git a/Cisco/Webex.html b/Cisco/Webex.html index deaad0ec74..88e24653d6 100644 --- a/Cisco/Webex.html +++ b/Cisco/Webex.html @@ -6277,182 +6277,182 @@

- + cisco/webex/api/messages.cr
- + cisco/webex/api/people.cr
- + cisco/webex/api/rooms.cr
- + cisco/webex/client.cr
- + cisco/webex/command.cr
- + cisco/webex/commands/echo.cr
- + cisco/webex/commands/greeting.cr
- + cisco/webex/constants.cr
- + cisco/webex/exceptions/argument.cr
- + cisco/webex/exceptions/method.cr
- + cisco/webex/exceptions/rate_limit.cr
- + cisco/webex/exceptions/status_code.cr
- + cisco/webex/models/device.cr
- + cisco/webex/models/event.cr
- + cisco/webex/models/events/activity.cr
- + cisco/webex/models/events/actor.cr
- + cisco/webex/models/events/data.cr
- + cisco/webex/models/events/target.cr
- + cisco/webex/models/events/type.cr
- + cisco/webex/models/message.cr
- + cisco/webex/models/peek.cr
- + cisco/webex/models/person.cr
- + cisco/webex/models/room.cr
- + cisco/webex/session.cr
- + cisco/webex/status_code.cr
- + cisco/webex/utils.cr diff --git a/Cisco/Webex/Api.html b/Cisco/Webex/Api.html index 48beee31ae..38284ca195 100644 --- a/Cisco/Webex/Api.html +++ b/Cisco/Webex/Api.html @@ -6277,21 +6277,21 @@

- + cisco/webex/api/messages.cr
- + cisco/webex/api/people.cr
- + cisco/webex/api/rooms.cr diff --git a/Cisco/Webex/Api/Messages.html b/Cisco/Webex/Api/Messages.html index 6d8db1cc04..66ca293453 100644 --- a/Cisco/Webex/Api/Messages.html +++ b/Cisco/Webex/Api/Messages.html @@ -6279,7 +6279,7 @@

- + cisco/webex/api/messages.cr @@ -6392,7 +6392,7 @@


- [View source] + [View source]
@@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6438,7 +6438,7 @@


- [View source] + [View source]
@@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Api/People.html b/Cisco/Webex/Api/People.html index a401245e77..52d19580d5 100644 --- a/Cisco/Webex/Api/People.html +++ b/Cisco/Webex/Api/People.html @@ -6279,7 +6279,7 @@

- + cisco/webex/api/people.cr @@ -6377,7 +6377,7 @@


- [View source] + [View source]
@@ -6407,7 +6407,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Api/Rooms.html b/Cisco/Webex/Api/Rooms.html index f061ec23fa..27b73977e1 100644 --- a/Cisco/Webex/Api/Rooms.html +++ b/Cisco/Webex/Api/Rooms.html @@ -6279,7 +6279,7 @@

- + cisco/webex/api/rooms.cr @@ -6392,7 +6392,7 @@


- [View source] + [View source]
@@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6438,7 +6438,7 @@


- [View source] + [View source]
@@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Client.html b/Cisco/Webex/Client.html index 613c6223e1..128a353e8c 100644 --- a/Cisco/Webex/Client.html +++ b/Cisco/Webex/Client.html @@ -6279,7 +6279,7 @@

- + cisco/webex/client.cr @@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Command.html b/Cisco/Webex/Command.html index e4705f25b9..2b7cda711c 100644 --- a/Cisco/Webex/Command.html +++ b/Cisco/Webex/Command.html @@ -6295,7 +6295,7 @@

- + cisco/webex/command.cr @@ -6390,7 +6390,7 @@


- [View source] + [View source]
@@ -6406,7 +6406,7 @@


- [View source] + [View source]
@@ -6422,7 +6422,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Commands.html b/Cisco/Webex/Commands.html index ef4c60ac84..8b3fb604f6 100644 --- a/Cisco/Webex/Commands.html +++ b/Cisco/Webex/Commands.html @@ -6277,14 +6277,14 @@

- + cisco/webex/commands/echo.cr
- + cisco/webex/commands/greeting.cr diff --git a/Cisco/Webex/Commands/Echo.html b/Cisco/Webex/Commands/Echo.html index acb4c21fc5..6457e2306c 100644 --- a/Cisco/Webex/Commands/Echo.html +++ b/Cisco/Webex/Commands/Echo.html @@ -6279,7 +6279,7 @@

- + cisco/webex/commands/echo.cr @@ -6403,7 +6403,7 @@


- [View source] + [View source]
@@ -6419,7 +6419,7 @@


- [View source] + [View source]
@@ -6435,7 +6435,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Commands/Greeting.html b/Cisco/Webex/Commands/Greeting.html index 149ffafad3..f42381071f 100644 --- a/Cisco/Webex/Commands/Greeting.html +++ b/Cisco/Webex/Commands/Greeting.html @@ -6279,7 +6279,7 @@

- + cisco/webex/commands/greeting.cr @@ -6403,7 +6403,7 @@


- [View source] + [View source]
@@ -6419,7 +6419,7 @@


- [View source] + [View source]
@@ -6435,7 +6435,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Constants.html b/Cisco/Webex/Constants.html index 27e6adfc79..6e738661f9 100644 --- a/Cisco/Webex/Constants.html +++ b/Cisco/Webex/Constants.html @@ -6277,7 +6277,7 @@

- + cisco/webex/constants.cr diff --git a/Cisco/Webex/Exceptions.html b/Cisco/Webex/Exceptions.html index 4cbbdadd6d..478f0da217 100644 --- a/Cisco/Webex/Exceptions.html +++ b/Cisco/Webex/Exceptions.html @@ -6277,28 +6277,28 @@

- + cisco/webex/exceptions/argument.cr
- + cisco/webex/exceptions/method.cr
- + cisco/webex/exceptions/rate_limit.cr
- + cisco/webex/exceptions/status_code.cr diff --git a/Cisco/Webex/Exceptions/Argument.html b/Cisco/Webex/Exceptions/Argument.html index 02ed011bbb..30e8c51a5a 100644 --- a/Cisco/Webex/Exceptions/Argument.html +++ b/Cisco/Webex/Exceptions/Argument.html @@ -6279,7 +6279,7 @@

- + cisco/webex/exceptions/argument.cr diff --git a/Cisco/Webex/Exceptions/Method.html b/Cisco/Webex/Exceptions/Method.html index 6632145b64..e8648cb0ac 100644 --- a/Cisco/Webex/Exceptions/Method.html +++ b/Cisco/Webex/Exceptions/Method.html @@ -6279,7 +6279,7 @@

- + cisco/webex/exceptions/method.cr diff --git a/Cisco/Webex/Exceptions/RateLimit.html b/Cisco/Webex/Exceptions/RateLimit.html index 00c4c815eb..6fb91f099d 100644 --- a/Cisco/Webex/Exceptions/RateLimit.html +++ b/Cisco/Webex/Exceptions/RateLimit.html @@ -6279,7 +6279,7 @@

- + cisco/webex/exceptions/rate_limit.cr diff --git a/Cisco/Webex/Exceptions/StatusCode.html b/Cisco/Webex/Exceptions/StatusCode.html index 0a8fb02092..b8f896c285 100644 --- a/Cisco/Webex/Exceptions/StatusCode.html +++ b/Cisco/Webex/Exceptions/StatusCode.html @@ -6279,7 +6279,7 @@

- + cisco/webex/exceptions/status_code.cr diff --git a/Cisco/Webex/InstantConnect.html b/Cisco/Webex/InstantConnect.html index a9ed69b2a6..83698818a7 100644 --- a/Cisco/Webex/InstantConnect.html +++ b/Cisco/Webex/InstantConnect.html @@ -6279,7 +6279,7 @@

- + cisco/webex/instant_connect.cr @@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/InstantConnect/JoseEncryptResponse.html b/Cisco/Webex/InstantConnect/JoseEncryptResponse.html index 63c51b84c6..6450765a86 100644 --- a/Cisco/Webex/InstantConnect/JoseEncryptResponse.html +++ b/Cisco/Webex/InstantConnect/JoseEncryptResponse.html @@ -6307,7 +6307,7 @@

- + cisco/webex/instant_connect.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/InstantConnect/MeetingDetails.html b/Cisco/Webex/InstantConnect/MeetingDetails.html index 1016e8fd7d..7fe4a54407 100644 --- a/Cisco/Webex/InstantConnect/MeetingDetails.html +++ b/Cisco/Webex/InstantConnect/MeetingDetails.html @@ -6307,7 +6307,7 @@

- + cisco/webex/instant_connect.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models.html b/Cisco/Webex/Models.html index 24f87b2326..46ab24373d 100644 --- a/Cisco/Webex/Models.html +++ b/Cisco/Webex/Models.html @@ -6277,77 +6277,77 @@

- + cisco/webex/models/device.cr
- + cisco/webex/models/event.cr
- + cisco/webex/models/events/activity.cr
- + cisco/webex/models/events/actor.cr
- + cisco/webex/models/events/data.cr
- + cisco/webex/models/events/target.cr
- + cisco/webex/models/events/type.cr
- + cisco/webex/models/message.cr
- + cisco/webex/models/peek.cr
- + cisco/webex/models/person.cr
- + cisco/webex/models/room.cr diff --git a/Cisco/Webex/Models/Device.html b/Cisco/Webex/Models/Device.html index ab027d2f55..0303232b3c 100644 --- a/Cisco/Webex/Models/Device.html +++ b/Cisco/Webex/Models/Device.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/device.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Event.html b/Cisco/Webex/Models/Event.html index eb414aab9b..30738c6e2c 100644 --- a/Cisco/Webex/Models/Event.html +++ b/Cisco/Webex/Models/Event.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/event.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Events.html b/Cisco/Webex/Models/Events.html index 3d402aa59d..0f6a5bfab5 100644 --- a/Cisco/Webex/Models/Events.html +++ b/Cisco/Webex/Models/Events.html @@ -6277,35 +6277,35 @@

- + cisco/webex/models/events/activity.cr
- + cisco/webex/models/events/actor.cr
- + cisco/webex/models/events/data.cr
- + cisco/webex/models/events/target.cr
- + cisco/webex/models/events/type.cr diff --git a/Cisco/Webex/Models/Events/Activity.html b/Cisco/Webex/Models/Events/Activity.html index 0b1dbfaaac..37ed051c40 100644 --- a/Cisco/Webex/Models/Events/Activity.html +++ b/Cisco/Webex/Models/Events/Activity.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/events/activity.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Events/Actor.html b/Cisco/Webex/Models/Events/Actor.html index b1bc0edd63..cd4e581fea 100644 --- a/Cisco/Webex/Models/Events/Actor.html +++ b/Cisco/Webex/Models/Events/Actor.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/events/actor.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Events/Data.html b/Cisco/Webex/Models/Events/Data.html index 61bbc57e41..97e831f43a 100644 --- a/Cisco/Webex/Models/Events/Data.html +++ b/Cisco/Webex/Models/Events/Data.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/events/data.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Events/Target.html b/Cisco/Webex/Models/Events/Target.html index 421cf21fe5..d957ae13b8 100644 --- a/Cisco/Webex/Models/Events/Target.html +++ b/Cisco/Webex/Models/Events/Target.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/events/target.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Events/Type.html b/Cisco/Webex/Models/Events/Type.html index f456ce60b3..94daef07d8 100644 --- a/Cisco/Webex/Models/Events/Type.html +++ b/Cisco/Webex/Models/Events/Type.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/events/type.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Message.html b/Cisco/Webex/Models/Message.html index da3e6caf90..9a4c899562 100644 --- a/Cisco/Webex/Models/Message.html +++ b/Cisco/Webex/Models/Message.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/message.cr @@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
@@ -6786,7 +6786,7 @@


- [View source] + [View source]
@@ -6802,7 +6802,7 @@


- [View source] + [View source]
@@ -6818,7 +6818,7 @@


- [View source] + [View source]
@@ -6834,7 +6834,7 @@


- [View source] + [View source]
@@ -6850,7 +6850,7 @@


- [View source] + [View source]
@@ -6866,7 +6866,7 @@


- [View source] + [View source]
@@ -6882,7 +6882,7 @@


- [View source] + [View source]
@@ -6898,7 +6898,7 @@


- [View source] + [View source]
@@ -6914,7 +6914,7 @@


- [View source] + [View source]
@@ -6930,7 +6930,7 @@


- [View source] + [View source]
@@ -6946,7 +6946,7 @@


- [View source] + [View source]
@@ -6962,7 +6962,7 @@


- [View source] + [View source]
@@ -6978,7 +6978,7 @@


- [View source] + [View source]
@@ -6994,7 +6994,7 @@


- [View source] + [View source]
@@ -7010,7 +7010,7 @@


- [View source] + [View source]
@@ -7026,7 +7026,7 @@


- [View source] + [View source]
@@ -7042,7 +7042,7 @@


- [View source] + [View source]
@@ -7058,7 +7058,7 @@


- [View source] + [View source]
@@ -7074,7 +7074,7 @@


- [View source] + [View source]
@@ -7090,7 +7090,7 @@


- [View source] + [View source]
@@ -7106,7 +7106,7 @@


- [View source] + [View source]
@@ -7122,7 +7122,7 @@


- [View source] + [View source]
@@ -7138,7 +7138,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Peek.html b/Cisco/Webex/Models/Peek.html index 27423241cb..d0d7939d23 100644 --- a/Cisco/Webex/Models/Peek.html +++ b/Cisco/Webex/Models/Peek.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/peek.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Person.html b/Cisco/Webex/Models/Person.html index 09ca8d130a..115d9b7f48 100644 --- a/Cisco/Webex/Models/Person.html +++ b/Cisco/Webex/Models/Person.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/person.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Models/Room.html b/Cisco/Webex/Models/Room.html index d19e741e76..e1d4134947 100644 --- a/Cisco/Webex/Models/Room.html +++ b/Cisco/Webex/Models/Room.html @@ -6307,7 +6307,7 @@

- + cisco/webex/models/room.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
@@ -6786,7 +6786,7 @@


- [View source] + [View source]
@@ -6802,7 +6802,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Session.html b/Cisco/Webex/Session.html index 78f4344f5b..2c5a40d774 100644 --- a/Cisco/Webex/Session.html +++ b/Cisco/Webex/Session.html @@ -6279,7 +6279,7 @@

- + cisco/webex/session.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/StatusCode.html b/Cisco/Webex/StatusCode.html index 388efb2ac6..c20283d344 100644 --- a/Cisco/Webex/StatusCode.html +++ b/Cisco/Webex/StatusCode.html @@ -6279,7 +6279,7 @@

- + cisco/webex/status_code.cr @@ -6382,7 +6382,7 @@


- [View source] + [View source]
@@ -6412,7 +6412,7 @@


- [View source] + [View source]
@@ -6428,7 +6428,7 @@


- [View source] + [View source]
diff --git a/Cisco/Webex/Utils.html b/Cisco/Webex/Utils.html index 97f926ed7d..80f04c8124 100644 --- a/Cisco/Webex/Utils.html +++ b/Cisco/Webex/Utils.html @@ -6277,7 +6277,7 @@

- + cisco/webex/utils.cr @@ -6345,7 +6345,7 @@


- [View source] + [View source]
@@ -6361,7 +6361,7 @@


- [View source] + [View source]
diff --git a/Crestron.html b/Crestron.html index 242fad7e67..b0e7c32d2c 100644 --- a/Crestron.html +++ b/Crestron.html @@ -6277,7 +6277,7 @@

- + crestron/nvx_models.cr diff --git a/Crestron/AspectRatio.html b/Crestron/AspectRatio.html index f510a9685d..aac001743e 100644 --- a/Crestron/AspectRatio.html +++ b/Crestron/AspectRatio.html @@ -6277,7 +6277,7 @@

- + crestron/nvx_models.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Crestron/CresNext.html b/Crestron/CresNext.html index 394276423f..1b5f841560 100644 --- a/Crestron/CresNext.html +++ b/Crestron/CresNext.html @@ -6320,7 +6320,7 @@

- + crestron/cres_next.cr @@ -6470,7 +6470,7 @@

View source] + [View source] @@ -6486,7 +6486,7 @@

View source] + [View source] @@ -6502,7 +6502,7 @@

View source] + [View source] @@ -6518,7 +6518,7 @@

View source] + [View source] @@ -6534,7 +6534,7 @@

View source] + [View source] diff --git a/Crestron/CresNextAuth.html b/Crestron/CresNextAuth.html index 6376dc2332..1f98c8b362 100644 --- a/Crestron/CresNextAuth.html +++ b/Crestron/CresNextAuth.html @@ -6293,7 +6293,7 @@

- + crestron/cres_next_auth.cr @@ -6363,7 +6363,7 @@


- [View source] + [View source]
@@ -6379,7 +6379,7 @@


- [View source] + [View source]
diff --git a/Crestron/Fusion.html b/Crestron/Fusion.html index 90311dead2..18b28146c1 100644 --- a/Crestron/Fusion.html +++ b/Crestron/Fusion.html @@ -6292,7 +6292,7 @@

- + crestron/fusion.cr @@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxAddressManager.html b/Crestron/NvxAddressManager.html index 26231a3294..96d66a34ba 100644 --- a/Crestron/NvxAddressManager.html +++ b/Crestron/NvxAddressManager.html @@ -6279,7 +6279,7 @@

- + crestron/nvx_address_manager.cr @@ -6407,7 +6407,7 @@


- [View source] + [View source]
@@ -6423,7 +6423,7 @@


- [View source] + [View source]
@@ -6439,7 +6439,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxRx.html b/Crestron/NvxRx.html index 268c1d7dd7..f032ddbd56 100644 --- a/Crestron/NvxRx.html +++ b/Crestron/NvxRx.html @@ -6297,7 +6297,7 @@

- + crestron/nvx_rx.cr @@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxRx/Input.html b/Crestron/NvxRx/Input.html index c609f54ffa..e51eceae98 100644 --- a/Crestron/NvxRx/Input.html +++ b/Crestron/NvxRx/Input.html @@ -6287,7 +6287,7 @@

- + crestron/nvx_rx.cr diff --git a/Crestron/NvxRx/Output.html b/Crestron/NvxRx/Output.html index a2e8cded7e..a833369455 100644 --- a/Crestron/NvxRx/Output.html +++ b/Crestron/NvxRx/Output.html @@ -6287,7 +6287,7 @@

- + crestron/nvx_rx.cr diff --git a/Crestron/NvxRx/SourceType.html b/Crestron/NvxRx/SourceType.html index 80d1568cdd..5ee7a0e688 100644 --- a/Crestron/NvxRx/SourceType.html +++ b/Crestron/NvxRx/SourceType.html @@ -6277,7 +6277,7 @@

- + crestron/nvx_rx.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxScalerControl.html b/Crestron/NvxScalerControl.html index 4d2894e8c4..d1653ec3f6 100644 --- a/Crestron/NvxScalerControl.html +++ b/Crestron/NvxScalerControl.html @@ -6279,7 +6279,7 @@

- + crestron/nvx_scaler_control.cr @@ -6403,7 +6403,7 @@


- [View source] + [View source]
@@ -6419,7 +6419,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxTx.html b/Crestron/NvxTx.html index 0aab37dc24..efee4e4b2e 100644 --- a/Crestron/NvxTx.html +++ b/Crestron/NvxTx.html @@ -6295,7 +6295,7 @@

- + crestron/nvx_tx.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
diff --git a/Crestron/NvxTx/Input.html b/Crestron/NvxTx/Input.html index 722aa09b18..91dc61294e 100644 --- a/Crestron/NvxTx/Input.html +++ b/Crestron/NvxTx/Input.html @@ -6277,7 +6277,7 @@

- + crestron/nvx_tx.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Crestron/OccupancySensor.html b/Crestron/OccupancySensor.html index 9d20c1e19f..aa6c4d4b0d 100644 --- a/Crestron/OccupancySensor.html +++ b/Crestron/OccupancySensor.html @@ -6295,7 +6295,7 @@

- + crestron/occupancy_sensor.cr @@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
diff --git a/Crestron/Receiver.html b/Crestron/Receiver.html index 9ca2e69220..52f69cded9 100644 --- a/Crestron/Receiver.html +++ b/Crestron/Receiver.html @@ -6291,7 +6291,7 @@

- + crestron/nvx_models.cr diff --git a/Crestron/SourceType.html b/Crestron/SourceType.html index 67b81c0ae9..42b0c0dfd2 100644 --- a/Crestron/SourceType.html +++ b/Crestron/SourceType.html @@ -6277,7 +6277,7 @@

- + crestron/nvx_models.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Crestron/Transmitter.html b/Crestron/Transmitter.html index da12c9c2ee..a51e4c7d22 100644 --- a/Crestron/Transmitter.html +++ b/Crestron/Transmitter.html @@ -6302,7 +6302,7 @@

- + crestron/nvx_models.cr diff --git a/Crestron/VirtualSwitcher.html b/Crestron/VirtualSwitcher.html index 4be5a819da..2b9b8fe1e0 100644 --- a/Crestron/VirtualSwitcher.html +++ b/Crestron/VirtualSwitcher.html @@ -6295,7 +6295,7 @@

- + crestron/virtual_switcher.cr @@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
diff --git a/Crestron/VirtualSwitcher/AudioSink.html b/Crestron/VirtualSwitcher/AudioSink.html index 7277f58919..ea2c73aa36 100644 --- a/Crestron/VirtualSwitcher/AudioSink.html +++ b/Crestron/VirtualSwitcher/AudioSink.html @@ -6307,7 +6307,7 @@

- + crestron/virtual_switcher.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Delta.html b/Delta.html index 5b57c85239..b0a8052318 100644 --- a/Delta.html +++ b/Delta.html @@ -6277,70 +6277,70 @@

- + delta/models/device.cr
- + delta/models/generic_value.cr
- + delta/models/list_devices_by_site_name_response.cr
- + delta/models/list_objects_by_device_number_response.cr
- + delta/models/list_sites_response.cr
- + delta/models/local_value.cr
- + delta/models/object.cr
- + delta/models/property_identifier.cr
- + delta/models/reference.cr
- + delta/models/value_property.cr diff --git a/Delta/API.html b/Delta/API.html index 1b703bb70c..285aa0348d 100644 --- a/Delta/API.html +++ b/Delta/API.html @@ -6279,7 +6279,7 @@

- + delta/api.cr @@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
diff --git a/Delta/Models.html b/Delta/Models.html index 83635f3d9d..963ef110b3 100644 --- a/Delta/Models.html +++ b/Delta/Models.html @@ -6277,70 +6277,70 @@

- + delta/models/device.cr
- + delta/models/generic_value.cr
- + delta/models/list_devices_by_site_name_response.cr
- + delta/models/list_objects_by_device_number_response.cr
- + delta/models/list_sites_response.cr
- + delta/models/local_value.cr
- + delta/models/object.cr
- + delta/models/property_identifier.cr
- + delta/models/reference.cr
- + delta/models/value_property.cr diff --git a/Delta/Models/Device.html b/Delta/Models/Device.html index 830a502337..f149448892 100644 --- a/Delta/Models/Device.html +++ b/Delta/Models/Device.html @@ -6307,7 +6307,7 @@

- + delta/models/device.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/GenericValue.html b/Delta/Models/GenericValue.html index 3eddc95a27..96f927f34a 100644 --- a/Delta/Models/GenericValue.html +++ b/Delta/Models/GenericValue.html @@ -6307,7 +6307,7 @@

- + delta/models/generic_value.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/ListDevicesBySiteNameResponse.html b/Delta/Models/ListDevicesBySiteNameResponse.html index ed36faad8a..41323f90b2 100644 --- a/Delta/Models/ListDevicesBySiteNameResponse.html +++ b/Delta/Models/ListDevicesBySiteNameResponse.html @@ -6309,7 +6309,7 @@

- + delta/models/list_devices_by_site_name_response.cr @@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/ListObjectsByDeviceNumber.html b/Delta/Models/ListObjectsByDeviceNumber.html index ad4727507f..982b7818e2 100644 --- a/Delta/Models/ListObjectsByDeviceNumber.html +++ b/Delta/Models/ListObjectsByDeviceNumber.html @@ -6309,7 +6309,7 @@

- + delta/models/list_objects_by_device_number_response.cr @@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/ListSitesResponse.html b/Delta/Models/ListSitesResponse.html index fd076da7a0..ce18f4fbab 100644 --- a/Delta/Models/ListSitesResponse.html +++ b/Delta/Models/ListSitesResponse.html @@ -6309,7 +6309,7 @@

- + delta/models/list_sites_response.cr @@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/LocalValue.html b/Delta/Models/LocalValue.html index 1f0f71ac8c..00b0efe970 100644 --- a/Delta/Models/LocalValue.html +++ b/Delta/Models/LocalValue.html @@ -6307,7 +6307,7 @@

- + delta/models/local_value.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/Object.html b/Delta/Models/Object.html index 1537079ffb..9e8373211d 100644 --- a/Delta/Models/Object.html +++ b/Delta/Models/Object.html @@ -6307,7 +6307,7 @@

- + delta/models/object.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/PropertyIdentifier.html b/Delta/Models/PropertyIdentifier.html index 3142935c5e..674a3f7c71 100644 --- a/Delta/Models/PropertyIdentifier.html +++ b/Delta/Models/PropertyIdentifier.html @@ -6307,7 +6307,7 @@

- + delta/models/property_identifier.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/Reference.html b/Delta/Models/Reference.html index 56babb5b52..0e7192e2c6 100644 --- a/Delta/Models/Reference.html +++ b/Delta/Models/Reference.html @@ -6307,7 +6307,7 @@

- + delta/models/reference.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/Delta/Models/ValueProperty.html b/Delta/Models/ValueProperty.html index c54fac8f43..b0c5925791 100644 --- a/Delta/Models/ValueProperty.html +++ b/Delta/Models/ValueProperty.html @@ -6307,7 +6307,7 @@

- + delta/models/value_property.cr @@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6899,7 +6899,7 @@


- [View source] + [View source]
@@ -6915,7 +6915,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
@@ -6963,7 +6963,7 @@


- [View source] + [View source]
@@ -6979,7 +6979,7 @@


- [View source] + [View source]
@@ -6995,7 +6995,7 @@


- [View source] + [View source]
@@ -7011,7 +7011,7 @@


- [View source] + [View source]
@@ -7027,7 +7027,7 @@


- [View source] + [View source]
@@ -7043,7 +7043,7 @@


- [View source] + [View source]
diff --git a/Denon.html b/Denon.html index 7f80a4e292..73ff581afc 100644 --- a/Denon.html +++ b/Denon.html @@ -6288,7 +6288,7 @@

- + denon/amplifier/av_receiver.cr diff --git a/Denon/Amplifier.html b/Denon/Amplifier.html index 2b215d55b7..07e3702f90 100644 --- a/Denon/Amplifier.html +++ b/Denon/Amplifier.html @@ -6277,7 +6277,7 @@

- + denon/amplifier/av_receiver.cr diff --git a/Denon/Amplifier/AvReceiver.html b/Denon/Amplifier/AvReceiver.html index cb7f8c2d6f..6ea4359f09 100644 --- a/Denon/Amplifier/AvReceiver.html +++ b/Denon/Amplifier/AvReceiver.html @@ -6295,7 +6295,7 @@

- + denon/amplifier/av_receiver.cr @@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
diff --git a/DigitalIO.html b/DigitalIO.html index 6513171067..45e1ac4b40 100644 --- a/DigitalIO.html +++ b/DigitalIO.html @@ -6279,7 +6279,7 @@

- + global_cache/ir_tv_spec.cr @@ -6434,7 +6434,7 @@


- [View source] + [View source]
diff --git a/Digraph.html b/Digraph.html index b726329752..9821540979 100644 --- a/Digraph.html +++ b/Digraph.html @@ -6287,7 +6287,7 @@

- + place/router/digraph_spec.cr diff --git a/Echo360.html b/Echo360.html index aa1ea30e92..f6585315d0 100644 --- a/Echo360.html +++ b/Echo360.html @@ -6277,7 +6277,7 @@

- + echo360/device_capture.cr diff --git a/Echo360/DeviceCapture.html b/Echo360/DeviceCapture.html index 7e046693bb..8dd60c38e9 100644 --- a/Echo360/DeviceCapture.html +++ b/Echo360/DeviceCapture.html @@ -6279,7 +6279,7 @@

- + echo360/device_capture.cr @@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
diff --git a/Enumerable.html b/Enumerable.html index 950c85ef8a..6b59e4eaa8 100644 --- a/Enumerable.html +++ b/Enumerable.html @@ -6309,7 +6309,7 @@

- + cisco/collaboration_endpoint/response.cr @@ -6374,7 +6374,7 @@


- [View source] + [View source]
diff --git a/Enumerable/JSONBasic.html b/Enumerable/JSONBasic.html index c7f5815c7d..82238d2c4f 100644 --- a/Enumerable/JSONBasic.html +++ b/Enumerable/JSONBasic.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint/response.cr diff --git a/Enumerable/JSONComplex.html b/Enumerable/JSONComplex.html index 4eb21079e8..636066fd55 100644 --- a/Enumerable/JSONComplex.html +++ b/Enumerable/JSONComplex.html @@ -6287,7 +6287,7 @@

- + cisco/collaboration_endpoint/response.cr diff --git a/Epson.html b/Epson.html index 457e6a49e9..646fa2f1a7 100644 --- a/Epson.html +++ b/Epson.html @@ -6277,7 +6277,7 @@

- + epson/projector/esc_vp21.cr diff --git a/Epson/Projector.html b/Epson/Projector.html index a711f13e69..2977abe8ff 100644 --- a/Epson/Projector.html +++ b/Epson/Projector.html @@ -6277,7 +6277,7 @@

- + epson/projector/esc_vp21.cr diff --git a/Epson/Projector/EscVp21.html b/Epson/Projector/EscVp21.html index bd628de88d..76f2b60693 100644 --- a/Epson/Projector/EscVp21.html +++ b/Epson/Projector/EscVp21.html @@ -6297,7 +6297,7 @@

- + epson/projector/esc_vp21.cr @@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6758,7 +6758,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6821,7 +6821,7 @@


- [View source] + [View source]
@@ -6837,7 +6837,7 @@


- [View source] + [View source]
diff --git a/Epson/Projector/EscVp21/Input.html b/Epson/Projector/EscVp21/Input.html index 26a38620cf..cccde6178e 100644 --- a/Epson/Projector/EscVp21/Input.html +++ b/Epson/Projector/EscVp21/Input.html @@ -6277,7 +6277,7 @@

- + epson/projector/esc_vp21.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Exterity.html b/Exterity.html index ee9815448d..7c43271ba8 100644 --- a/Exterity.html +++ b/Exterity.html @@ -6277,7 +6277,7 @@

- + exterity/avedia_player/m93xx.cr diff --git a/Exterity/AvediaPlayer.html b/Exterity/AvediaPlayer.html index 21fa064039..d6f193eaf0 100644 --- a/Exterity/AvediaPlayer.html +++ b/Exterity/AvediaPlayer.html @@ -6277,7 +6277,7 @@

- + exterity/avedia_player/m93xx.cr diff --git a/Exterity/AvediaPlayer/R92xx.html b/Exterity/AvediaPlayer/R92xx.html index d223451d81..30f847533c 100644 --- a/Exterity/AvediaPlayer/R92xx.html +++ b/Exterity/AvediaPlayer/R92xx.html @@ -6279,7 +6279,7 @@

- + exterity/avedia_player/r92xx.cr @@ -6429,7 +6429,7 @@


- [View source] + [View source]
@@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
diff --git a/Exterity/AvediaPlayer/R93xx.html b/Exterity/AvediaPlayer/R93xx.html index 51c2c87fe3..3a6f57e17e 100644 --- a/Exterity/AvediaPlayer/R93xx.html +++ b/Exterity/AvediaPlayer/R93xx.html @@ -6279,14 +6279,14 @@

- + exterity/avedia_player/m93xx.cr
- + exterity/avedia_player/r93xx.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
diff --git a/Exterity/AvediaPlayer/R93xx/ChannelDetail.html b/Exterity/AvediaPlayer/R93xx/ChannelDetail.html index 6c96c4c939..f2db70d6f6 100644 --- a/Exterity/AvediaPlayer/R93xx/ChannelDetail.html +++ b/Exterity/AvediaPlayer/R93xx/ChannelDetail.html @@ -6307,7 +6307,7 @@

- + exterity/avedia_player/m93xx.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Extron.html b/Extron.html index 4f5cd96e5e..ec66f88f6a 100644 --- a/Extron.html +++ b/Extron.html @@ -6277,7 +6277,7 @@

- + extron/sis/command.cr diff --git a/Extron/Matrix.html b/Extron/Matrix.html index 53827dcbd1..a4adf3918f 100644 --- a/Extron/Matrix.html +++ b/Extron/Matrix.html @@ -6299,7 +6299,7 @@

- + extron/matrix.cr @@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6741,7 +6741,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6834,7 +6834,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
diff --git a/Extron/Matrix/Outputs.html b/Extron/Matrix/Outputs.html index 38bcf5a322..ea3eb222af 100644 --- a/Extron/Matrix/Outputs.html +++ b/Extron/Matrix/Outputs.html @@ -6287,7 +6287,7 @@

- + extron/matrix.cr diff --git a/Extron/Matrix/SignalMap.html b/Extron/Matrix/SignalMap.html index 3e115e0ba7..00b2b73295 100644 --- a/Extron/Matrix/SignalMap.html +++ b/Extron/Matrix/SignalMap.html @@ -6287,7 +6287,7 @@

- + extron/matrix.cr diff --git a/Extron/SIS.html b/Extron/SIS.html index e8c671d674..eaaaeef7a6 100644 --- a/Extron/SIS.html +++ b/Extron/SIS.html @@ -6306,14 +6306,14 @@

- + extron/sis.cr
- + extron/sis/command.cr diff --git a/Extron/SIS/Command.html b/Extron/SIS/Command.html index 9cc9135f32..9b0fd4c6c1 100644 --- a/Extron/SIS/Command.html +++ b/Extron/SIS/Command.html @@ -6292,7 +6292,7 @@

- + extron/sis/command.cr @@ -6428,7 +6428,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Error.html b/Extron/SIS/Error.html index f5e3045a09..039d5cc3b5 100644 --- a/Extron/SIS/Error.html +++ b/Extron/SIS/Error.html @@ -6288,7 +6288,7 @@

- + extron/sis.cr @@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Input.html b/Extron/SIS/Input.html index d17fca31f0..aa5611b118 100644 --- a/Extron/SIS/Input.html +++ b/Extron/SIS/Input.html @@ -6287,7 +6287,7 @@

- + extron/sis.cr diff --git a/Extron/SIS/MatrixLayer.html b/Extron/SIS/MatrixLayer.html index 169e51a59a..cbeba8b232 100644 --- a/Extron/SIS/MatrixLayer.html +++ b/Extron/SIS/MatrixLayer.html @@ -6288,7 +6288,7 @@

- + extron/sis.cr @@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/MatrixSize.html b/Extron/SIS/MatrixSize.html index 6bae92fedd..1f244d2b5c 100644 --- a/Extron/SIS/MatrixSize.html +++ b/Extron/SIS/MatrixSize.html @@ -6290,7 +6290,7 @@

- + extron/sis.cr @@ -6413,7 +6413,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
@@ -6459,7 +6459,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Ok.html b/Extron/SIS/Ok.html index d9793d13f6..f962d1fc79 100644 --- a/Extron/SIS/Ok.html +++ b/Extron/SIS/Ok.html @@ -6290,7 +6290,7 @@

- + extron/sis.cr @@ -6398,7 +6398,7 @@


- [View source] + [View source]
@@ -6428,7 +6428,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Output.html b/Extron/SIS/Output.html index c541b899ed..3609c33962 100644 --- a/Extron/SIS/Output.html +++ b/Extron/SIS/Output.html @@ -6287,7 +6287,7 @@

- + extron/sis.cr diff --git a/Extron/SIS/Response.html b/Extron/SIS/Response.html index 197a2e5a66..6d76a6b94c 100644 --- a/Extron/SIS/Response.html +++ b/Extron/SIS/Response.html @@ -6303,7 +6303,7 @@

- + extron/sis/response.cr @@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Switch.html b/Extron/SIS/Switch.html index c4c9f534e7..8a51a4e791 100644 --- a/Extron/SIS/Switch.html +++ b/Extron/SIS/Switch.html @@ -6290,7 +6290,7 @@

- + extron/sis.cr @@ -6413,7 +6413,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
@@ -6459,7 +6459,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/SwitcherInformation.html b/Extron/SIS/SwitcherInformation.html index f6489f788d..1a503cafa4 100644 --- a/Extron/SIS/SwitcherInformation.html +++ b/Extron/SIS/SwitcherInformation.html @@ -6290,7 +6290,7 @@

- + extron/sis.cr @@ -6413,7 +6413,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
diff --git a/Extron/SIS/Tie.html b/Extron/SIS/Tie.html index 147f0812a3..d2a01761a8 100644 --- a/Extron/SIS/Tie.html +++ b/Extron/SIS/Tie.html @@ -6290,7 +6290,7 @@

- + extron/sis.cr @@ -6418,7 +6418,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
diff --git a/Floorsense.html b/Floorsense.html index ba2a184a2b..15aaad3bb5 100644 --- a/Floorsense.html +++ b/Floorsense.html @@ -6288,7 +6288,7 @@

- + floorsense/models.cr diff --git a/Floorsense/AuthInfo.html b/Floorsense/AuthInfo.html index dce2ff262d..e6975a4dfb 100644 --- a/Floorsense/AuthInfo.html +++ b/Floorsense/AuthInfo.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Floorsense/BookingStatus.html b/Floorsense/BookingStatus.html index 253302cb2e..aac1c4160b 100644 --- a/Floorsense/BookingStatus.html +++ b/Floorsense/BookingStatus.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6679,7 +6679,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6711,7 +6711,7 @@


- [View source] + [View source]
@@ -6727,7 +6727,7 @@


- [View source] + [View source]
@@ -6743,7 +6743,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
@@ -6775,7 +6775,7 @@


- [View source] + [View source]
@@ -6791,7 +6791,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6823,7 +6823,7 @@


- [View source] + [View source]
@@ -6839,7 +6839,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6887,7 +6887,7 @@


- [View source] + [View source]
@@ -6903,7 +6903,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
@@ -6935,7 +6935,7 @@


- [View source] + [View source]
@@ -6951,7 +6951,7 @@


- [View source] + [View source]
@@ -6967,7 +6967,7 @@


- [View source] + [View source]
@@ -6983,7 +6983,7 @@


- [View source] + [View source]
@@ -6999,7 +6999,7 @@


- [View source] + [View source]
@@ -7015,7 +7015,7 @@


- [View source] + [View source]
@@ -7031,7 +7031,7 @@


- [View source] + [View source]
@@ -7047,7 +7047,7 @@


- [View source] + [View source]
@@ -7063,7 +7063,7 @@


- [View source] + [View source]
@@ -7093,7 +7093,7 @@


- [View source] + [View source]
@@ -7123,7 +7123,7 @@


- [View source] + [View source]
@@ -7139,7 +7139,7 @@


- [View source] + [View source]
@@ -7155,7 +7155,7 @@


- [View source] + [View source]
@@ -7171,7 +7171,7 @@


- [View source] + [View source]
@@ -7187,7 +7187,7 @@


- [View source] + [View source]
@@ -7203,7 +7203,7 @@


- [View source] + [View source]
@@ -7224,7 +7224,7 @@


- [View source] + [View source]
@@ -7245,7 +7245,7 @@


- [View source] + [View source]
@@ -7261,7 +7261,7 @@


- [View source] + [View source]
@@ -7277,7 +7277,7 @@


- [View source] + [View source]
@@ -7293,7 +7293,7 @@


- [View source] + [View source]
@@ -7309,7 +7309,7 @@


- [View source] + [View source]
@@ -7330,7 +7330,7 @@


- [View source] + [View source]
@@ -7351,7 +7351,7 @@


- [View source] + [View source]
diff --git a/Floorsense/BookingsSync.html b/Floorsense/BookingsSync.html index 2b808c2f70..2e4029a589 100644 --- a/Floorsense/BookingsSync.html +++ b/Floorsense/BookingsSync.html @@ -6279,7 +6279,7 @@

- + floorsense/bookings_sync.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@

- [View source] + [View source]
@@ -6475,7 +6475,7 @@

View source] + [View source] @@ -6491,7 +6491,7 @@

View source] + [View source] @@ -6507,7 +6507,7 @@

View source] + [View source] @@ -6523,7 +6523,7 @@

View source] + [View source] @@ -6539,7 +6539,7 @@

View source] + [View source] @@ -6555,7 +6555,7 @@

View source] + [View source] @@ -6571,7 +6571,7 @@

View source] + [View source] @@ -6596,7 +6596,7 @@

<
- [View source] + [View source]
diff --git a/Floorsense/BookingsSync/Booking.html b/Floorsense/BookingsSync/Booking.html index 260f8f4a17..68b499d5e6 100644 --- a/Floorsense/BookingsSync/Booking.html +++ b/Floorsense/BookingsSync/Booking.html @@ -6307,7 +6307,7 @@

- + floorsense/bookings_sync.cr @@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6799,7 +6799,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6863,7 +6863,7 @@


- [View source] + [View source]
@@ -6879,7 +6879,7 @@


- [View source] + [View source]
@@ -6895,7 +6895,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6927,7 +6927,7 @@


- [View source] + [View source]
@@ -6943,7 +6943,7 @@


- [View source] + [View source]
@@ -6959,7 +6959,7 @@


- [View source] + [View source]
@@ -6975,7 +6975,7 @@


- [View source] + [View source]
@@ -6991,7 +6991,7 @@


- [View source] + [View source]
@@ -7007,7 +7007,7 @@


- [View source] + [View source]
@@ -7023,7 +7023,7 @@


- [View source] + [View source]
@@ -7039,7 +7039,7 @@


- [View source] + [View source]
@@ -7055,7 +7055,7 @@


- [View source] + [View source]
@@ -7071,7 +7071,7 @@


- [View source] + [View source]
@@ -7087,7 +7087,7 @@


- [View source] + [View source]
@@ -7103,7 +7103,7 @@


- [View source] + [View source]
diff --git a/Floorsense/ControllerInfo.html b/Floorsense/ControllerInfo.html index 4a65986a8c..c930de72f7 100644 --- a/Floorsense/ControllerInfo.html +++ b/Floorsense/ControllerInfo.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6758,7 +6758,7 @@


- [View source] + [View source]
@@ -6774,7 +6774,7 @@


- [View source] + [View source]
@@ -6790,7 +6790,7 @@


- [View source] + [View source]
@@ -6806,7 +6806,7 @@


- [View source] + [View source]
@@ -6822,7 +6822,7 @@


- [View source] + [View source]
@@ -6838,7 +6838,7 @@


- [View source] + [View source]
@@ -6854,7 +6854,7 @@


- [View source] + [View source]
@@ -6870,7 +6870,7 @@


- [View source] + [View source]
@@ -6886,7 +6886,7 @@


- [View source] + [View source]
diff --git a/Floorsense/CustomBookingsSync.html b/Floorsense/CustomBookingsSync.html index 027a214e2a..db1e2e729b 100644 --- a/Floorsense/CustomBookingsSync.html +++ b/Floorsense/CustomBookingsSync.html @@ -6279,7 +6279,7 @@

- + floorsense/custom_bookings_sync.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@

- [View source] + [View source]
@@ -6478,7 +6478,7 @@

- [View source] + [View source]
@@ -6494,7 +6494,7 @@

- [View source] + [View source]
@@ -6510,7 +6510,7 @@

- [View source] + [View source]
@@ -6526,7 +6526,7 @@

- [View source] + [View source]
@@ -6542,7 +6542,7 @@

- [View source] + [View source]
@@ -6558,7 +6558,7 @@

- [View source] + [View source]
@@ -6574,7 +6574,7 @@

- [View source] + [View source]
diff --git a/Floorsense/CustomBookingsSync/Booking.html b/Floorsense/CustomBookingsSync/Booking.html index 9dcdfb3e5d..df832ab329 100644 --- a/Floorsense/CustomBookingsSync/Booking.html +++ b/Floorsense/CustomBookingsSync/Booking.html @@ -6307,7 +6307,7 @@

- + floorsense/custom_bookings_sync.cr @@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6846,7 +6846,7 @@


- [View source] + [View source]
@@ -6876,7 +6876,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
@@ -6954,7 +6954,7 @@


- [View source] + [View source]
@@ -6970,7 +6970,7 @@


- [View source] + [View source]
@@ -6986,7 +6986,7 @@


- [View source] + [View source]
@@ -7002,7 +7002,7 @@


- [View source] + [View source]
@@ -7018,7 +7018,7 @@


- [View source] + [View source]
@@ -7034,7 +7034,7 @@


- [View source] + [View source]
@@ -7050,7 +7050,7 @@


- [View source] + [View source]
@@ -7066,7 +7066,7 @@


- [View source] + [View source]
@@ -7082,7 +7082,7 @@


- [View source] + [View source]
@@ -7098,7 +7098,7 @@


- [View source] + [View source]
@@ -7114,7 +7114,7 @@


- [View source] + [View source]
@@ -7130,7 +7130,7 @@


- [View source] + [View source]
@@ -7146,7 +7146,7 @@


- [View source] + [View source]
@@ -7162,7 +7162,7 @@


- [View source] + [View source]
diff --git a/Floorsense/CustomBookingsSync/DeskMeta.html b/Floorsense/CustomBookingsSync/DeskMeta.html index 4554acec55..e70f378ef9 100644 --- a/Floorsense/CustomBookingsSync/DeskMeta.html +++ b/Floorsense/CustomBookingsSync/DeskMeta.html @@ -6307,7 +6307,7 @@

- + floorsense/custom_bookings_sync.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DeskInfo.html b/Floorsense/DeskInfo.html index 741c39f3f6..bc322a081d 100644 --- a/Floorsense/DeskInfo.html +++ b/Floorsense/DeskInfo.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
@@ -6693,7 +6693,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DeskStatus.html b/Floorsense/DeskStatus.html index ea4fe6d870..18a285e631 100644 --- a/Floorsense/DeskStatus.html +++ b/Floorsense/DeskStatus.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7032,7 +7032,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
@@ -7064,7 +7064,7 @@


- [View source] + [View source]
@@ -7080,7 +7080,7 @@


- [View source] + [View source]
@@ -7096,7 +7096,7 @@


- [View source] + [View source]
@@ -7112,7 +7112,7 @@


- [View source] + [View source]
@@ -7128,7 +7128,7 @@


- [View source] + [View source]
@@ -7144,7 +7144,7 @@


- [View source] + [View source]
@@ -7160,7 +7160,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
@@ -7192,7 +7192,7 @@


- [View source] + [View source]
@@ -7208,7 +7208,7 @@


- [View source] + [View source]
@@ -7224,7 +7224,7 @@


- [View source] + [View source]
@@ -7240,7 +7240,7 @@


- [View source] + [View source]
@@ -7256,7 +7256,7 @@


- [View source] + [View source]
@@ -7272,7 +7272,7 @@


- [View source] + [View source]
@@ -7288,7 +7288,7 @@


- [View source] + [View source]
@@ -7304,7 +7304,7 @@


- [View source] + [View source]
@@ -7320,7 +7320,7 @@


- [View source] + [View source]
@@ -7336,7 +7336,7 @@


- [View source] + [View source]
@@ -7352,7 +7352,7 @@


- [View source] + [View source]
@@ -7368,7 +7368,7 @@


- [View source] + [View source]
@@ -7384,7 +7384,7 @@


- [View source] + [View source]
@@ -7400,7 +7400,7 @@


- [View source] + [View source]
@@ -7416,7 +7416,7 @@


- [View source] + [View source]
@@ -7432,7 +7432,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks.html b/Floorsense/Desks.html index 27f16db650..3bef35cc3c 100644 --- a/Floorsense/Desks.html +++ b/Floorsense/Desks.html @@ -6279,7 +6279,7 @@

- + floorsense/desks.cr @@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6799,7 +6799,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
@@ -6964,7 +6964,7 @@


- [View source] + [View source]
@@ -6980,7 +6980,7 @@


- [View source] + [View source]
@@ -6996,7 +6996,7 @@


- [View source] + [View source]
@@ -7012,7 +7012,7 @@


- [View source] + [View source]
@@ -7028,7 +7028,7 @@


- [View source] + [View source]
@@ -7044,7 +7044,7 @@


- [View source] + [View source]
@@ -7060,7 +7060,7 @@


- [View source] + [View source]
@@ -7076,7 +7076,7 @@


- [View source] + [View source]
@@ -7092,7 +7092,7 @@


- [View source] + [View source]
@@ -7108,7 +7108,7 @@


- [View source] + [View source]
@@ -7129,7 +7129,7 @@


- [View source] + [View source]
@@ -7150,7 +7150,7 @@


- [View source] + [View source]
@@ -7166,7 +7166,7 @@


- [View source] + [View source]
@@ -7187,7 +7187,7 @@


- [View source] + [View source]
@@ -7203,7 +7203,7 @@


- [View source] + [View source]
@@ -7219,7 +7219,7 @@


- [View source] + [View source]
@@ -7235,7 +7235,7 @@


- [View source] + [View source]
@@ -7251,7 +7251,7 @@


- [View source] + [View source]
@@ -7267,7 +7267,7 @@


- [View source] + [View source]
@@ -7283,7 +7283,7 @@


- [View source] + [View source]
@@ -7299,7 +7299,7 @@


- [View source] + [View source]
@@ -7315,7 +7315,7 @@


- [View source] + [View source]
@@ -7331,7 +7331,7 @@


- [View source] + [View source]
@@ -7347,7 +7347,7 @@


- [View source] + [View source]
@@ -7363,7 +7363,7 @@


- [View source] + [View source]
@@ -7379,7 +7379,7 @@


- [View source] + [View source]
@@ -7395,7 +7395,7 @@


- [View source] + [View source]
@@ -7411,7 +7411,7 @@


- [View source] + [View source]
@@ -7427,7 +7427,7 @@


- [View source] + [View source]
@@ -7455,7 +7455,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks/DeskHeight.html b/Floorsense/Desks/DeskHeight.html index 979d20f48d..51d9d7da10 100644 --- a/Floorsense/Desks/DeskHeight.html +++ b/Floorsense/Desks/DeskHeight.html @@ -6277,7 +6277,7 @@

- + floorsense/desks.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks/DeskPower.html b/Floorsense/Desks/DeskPower.html index 2b18b3b486..5d74eaa082 100644 --- a/Floorsense/Desks/DeskPower.html +++ b/Floorsense/Desks/DeskPower.html @@ -6277,7 +6277,7 @@

- + floorsense/desks.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks/LedColour.html b/Floorsense/Desks/LedColour.html index a886d34a17..8d4bb894d4 100644 --- a/Floorsense/Desks/LedColour.html +++ b/Floorsense/Desks/LedColour.html @@ -6277,7 +6277,7 @@

- + floorsense/desks.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks/LedState.html b/Floorsense/Desks/LedState.html index 7b76290b4a..1daaa1cfa1 100644 --- a/Floorsense/Desks/LedState.html +++ b/Floorsense/Desks/LedState.html @@ -6277,7 +6277,7 @@

- + floorsense/desks.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Desks/QiMode.html b/Floorsense/Desks/QiMode.html index bcf0ed5b4a..068353d8a7 100644 --- a/Floorsense/Desks/QiMode.html +++ b/Floorsense/Desks/QiMode.html @@ -6277,7 +6277,7 @@

- + floorsense/desks.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket.html b/Floorsense/DesksWebsocket.html index 0afc98f4fa..effe1380bf 100644 --- a/Floorsense/DesksWebsocket.html +++ b/Floorsense/DesksWebsocket.html @@ -6279,7 +6279,7 @@

- + floorsense/desks_websocket.cr @@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
@@ -6836,7 +6836,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6937,7 +6937,7 @@


- [View source] + [View source]
@@ -6953,7 +6953,7 @@


- [View source] + [View source]
@@ -6969,7 +6969,7 @@


- [View source] + [View source]
@@ -6985,7 +6985,7 @@


- [View source] + [View source]
@@ -7001,7 +7001,7 @@


- [View source] + [View source]
@@ -7017,7 +7017,7 @@


- [View source] + [View source]
@@ -7033,7 +7033,7 @@


- [View source] + [View source]
@@ -7049,7 +7049,7 @@


- [View source] + [View source]
@@ -7065,7 +7065,7 @@


- [View source] + [View source]
@@ -7081,7 +7081,7 @@


- [View source] + [View source]
@@ -7097,7 +7097,7 @@


- [View source] + [View source]
@@ -7113,7 +7113,7 @@


- [View source] + [View source]
@@ -7129,7 +7129,7 @@


- [View source] + [View source]
@@ -7145,7 +7145,7 @@


- [View source] + [View source]
@@ -7161,7 +7161,7 @@


- [View source] + [View source]
@@ -7177,7 +7177,7 @@


- [View source] + [View source]
@@ -7193,7 +7193,7 @@


- [View source] + [View source]
@@ -7214,7 +7214,7 @@


- [View source] + [View source]
@@ -7235,7 +7235,7 @@


- [View source] + [View source]
@@ -7251,7 +7251,7 @@


- [View source] + [View source]
@@ -7272,7 +7272,7 @@


- [View source] + [View source]
@@ -7288,7 +7288,7 @@


- [View source] + [View source]
@@ -7304,7 +7304,7 @@


- [View source] + [View source]
@@ -7320,7 +7320,7 @@


- [View source] + [View source]
@@ -7336,7 +7336,7 @@


- [View source] + [View source]
@@ -7352,7 +7352,7 @@


- [View source] + [View source]
@@ -7368,7 +7368,7 @@


- [View source] + [View source]
@@ -7384,7 +7384,7 @@


- [View source] + [View source]
@@ -7400,7 +7400,7 @@


- [View source] + [View source]
@@ -7416,7 +7416,7 @@


- [View source] + [View source]
@@ -7432,7 +7432,7 @@


- [View source] + [View source]
@@ -7448,7 +7448,7 @@


- [View source] + [View source]
@@ -7464,7 +7464,7 @@


- [View source] + [View source]
@@ -7480,7 +7480,7 @@


- [View source] + [View source]
@@ -7496,7 +7496,7 @@


- [View source] + [View source]
@@ -7512,7 +7512,7 @@


- [View source] + [View source]
@@ -7528,7 +7528,7 @@


- [View source] + [View source]
@@ -7544,7 +7544,7 @@


- [View source] + [View source]
@@ -7560,7 +7560,7 @@


- [View source] + [View source]
@@ -7588,7 +7588,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket/DeskHeight.html b/Floorsense/DesksWebsocket/DeskHeight.html index a1dfed957c..76198b6d73 100644 --- a/Floorsense/DesksWebsocket/DeskHeight.html +++ b/Floorsense/DesksWebsocket/DeskHeight.html @@ -6277,7 +6277,7 @@

- + floorsense/desks_websocket.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket/DeskPower.html b/Floorsense/DesksWebsocket/DeskPower.html index 70798c0ab4..4267493d9f 100644 --- a/Floorsense/DesksWebsocket/DeskPower.html +++ b/Floorsense/DesksWebsocket/DeskPower.html @@ -6277,7 +6277,7 @@

- + floorsense/desks_websocket.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket/LedColour.html b/Floorsense/DesksWebsocket/LedColour.html index dfc8b8c3a0..f24584c383 100644 --- a/Floorsense/DesksWebsocket/LedColour.html +++ b/Floorsense/DesksWebsocket/LedColour.html @@ -6277,7 +6277,7 @@

- + floorsense/desks_websocket.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket/LedState.html b/Floorsense/DesksWebsocket/LedState.html index 73a8e93dba..3944ee7819 100644 --- a/Floorsense/DesksWebsocket/LedState.html +++ b/Floorsense/DesksWebsocket/LedState.html @@ -6277,7 +6277,7 @@

- + floorsense/desks_websocket.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Floorsense/DesksWebsocket/QiMode.html b/Floorsense/DesksWebsocket/QiMode.html index 2e43c752f0..cdae866575 100644 --- a/Floorsense/DesksWebsocket/QiMode.html +++ b/Floorsense/DesksWebsocket/QiMode.html @@ -6277,7 +6277,7 @@

- + floorsense/desks_websocket.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Event.html b/Floorsense/Event.html index 766d614a91..3a7537d5b0 100644 --- a/Floorsense/Event.html +++ b/Floorsense/Event.html @@ -6279,7 +6279,7 @@

- + floorsense/models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Floor.html b/Floorsense/Floor.html index 534995af50..c649597a34 100644 --- a/Floorsense/Floor.html +++ b/Floorsense/Floor.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Floorsense/LocationService.html b/Floorsense/LocationService.html index 8cccd462fc..562b5db689 100644 --- a/Floorsense/LocationService.html +++ b/Floorsense/LocationService.html @@ -6293,7 +6293,7 @@

- + floorsense/location_service.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@

View source] + [View source] @@ -6537,7 +6537,7 @@

View source] + [View source] @@ -6553,7 +6553,7 @@

View source] + [View source] @@ -6569,7 +6569,7 @@

View source] + [View source] diff --git a/Floorsense/LockerBooking.html b/Floorsense/LockerBooking.html index e1131652bc..e2a6ae246c 100644 --- a/Floorsense/LockerBooking.html +++ b/Floorsense/LockerBooking.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6637,7 +6637,7 @@


- [View source] + [View source]
@@ -6653,7 +6653,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6685,7 +6685,7 @@


- [View source] + [View source]
@@ -6701,7 +6701,7 @@


- [View source] + [View source]
@@ -6717,7 +6717,7 @@


- [View source] + [View source]
@@ -6733,7 +6733,7 @@


- [View source] + [View source]
@@ -6749,7 +6749,7 @@


- [View source] + [View source]
@@ -6765,7 +6765,7 @@


- [View source] + [View source]
@@ -6781,7 +6781,7 @@


- [View source] + [View source]
@@ -6797,7 +6797,7 @@


- [View source] + [View source]
@@ -6813,7 +6813,7 @@


- [View source] + [View source]
@@ -6829,7 +6829,7 @@


- [View source] + [View source]
@@ -6845,7 +6845,7 @@


- [View source] + [View source]
@@ -6861,7 +6861,7 @@


- [View source] + [View source]
@@ -6877,7 +6877,7 @@


- [View source] + [View source]
@@ -6893,7 +6893,7 @@


- [View source] + [View source]
@@ -6909,7 +6909,7 @@


- [View source] + [View source]
@@ -6925,7 +6925,7 @@


- [View source] + [View source]
@@ -6941,7 +6941,7 @@


- [View source] + [View source]
@@ -6957,7 +6957,7 @@


- [View source] + [View source]
@@ -6973,7 +6973,7 @@


- [View source] + [View source]
@@ -6994,7 +6994,7 @@


- [View source] + [View source]
@@ -7015,7 +7015,7 @@


- [View source] + [View source]
@@ -7031,7 +7031,7 @@


- [View source] + [View source]
@@ -7047,7 +7047,7 @@


- [View source] + [View source]
diff --git a/Floorsense/LockerInfo.html b/Floorsense/LockerInfo.html index 25c161bca5..f057a8299b 100644 --- a/Floorsense/LockerInfo.html +++ b/Floorsense/LockerInfo.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6838,7 +6838,7 @@


- [View source] + [View source]
@@ -6854,7 +6854,7 @@


- [View source] + [View source]
@@ -6870,7 +6870,7 @@


- [View source] + [View source]
@@ -6886,7 +6886,7 @@


- [View source] + [View source]
@@ -6902,7 +6902,7 @@


- [View source] + [View source]
@@ -6918,7 +6918,7 @@


- [View source] + [View source]
@@ -6934,7 +6934,7 @@


- [View source] + [View source]
@@ -6950,7 +6950,7 @@


- [View source] + [View source]
@@ -6966,7 +6966,7 @@


- [View source] + [View source]
@@ -6982,7 +6982,7 @@


- [View source] + [View source]
@@ -6998,7 +6998,7 @@


- [View source] + [View source]
@@ -7014,7 +7014,7 @@


- [View source] + [View source]
@@ -7030,7 +7030,7 @@


- [View source] + [View source]
@@ -7046,7 +7046,7 @@


- [View source] + [View source]
@@ -7062,7 +7062,7 @@


- [View source] + [View source]
@@ -7078,7 +7078,7 @@


- [View source] + [View source]
@@ -7094,7 +7094,7 @@


- [View source] + [View source]
@@ -7110,7 +7110,7 @@


- [View source] + [View source]
@@ -7126,7 +7126,7 @@


- [View source] + [View source]
@@ -7142,7 +7142,7 @@


- [View source] + [View source]
@@ -7158,7 +7158,7 @@


- [View source] + [View source]
@@ -7174,7 +7174,7 @@


- [View source] + [View source]
@@ -7190,7 +7190,7 @@


- [View source] + [View source]
@@ -7206,7 +7206,7 @@


- [View source] + [View source]
@@ -7222,7 +7222,7 @@


- [View source] + [View source]
@@ -7238,7 +7238,7 @@


- [View source] + [View source]
@@ -7254,7 +7254,7 @@


- [View source] + [View source]
@@ -7270,7 +7270,7 @@


- [View source] + [View source]
@@ -7286,7 +7286,7 @@


- [View source] + [View source]
@@ -7302,7 +7302,7 @@


- [View source] + [View source]
diff --git a/Floorsense/LogEntry.html b/Floorsense/LogEntry.html index e3f8c2de14..72d0c90af5 100644 --- a/Floorsense/LogEntry.html +++ b/Floorsense/LogEntry.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/Floorsense/MobileCheckinLogic.html b/Floorsense/MobileCheckinLogic.html index d972c25af7..818817e43f 100644 --- a/Floorsense/MobileCheckinLogic.html +++ b/Floorsense/MobileCheckinLogic.html @@ -6279,7 +6279,7 @@

- + floorsense/mobile_checkin_logic.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Payload.html b/Floorsense/Payload.html index 81ef1a50c3..637daed3de 100644 --- a/Floorsense/Payload.html +++ b/Floorsense/Payload.html @@ -6334,7 +6334,7 @@

- + floorsense/models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
diff --git a/Floorsense/RFID.html b/Floorsense/RFID.html index 43c6c64333..c92ea4010e 100644 --- a/Floorsense/RFID.html +++ b/Floorsense/RFID.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Resp.html b/Floorsense/Resp.html index 8af9f1e99f..e9e96d7e95 100644 --- a/Floorsense/Resp.html +++ b/Floorsense/Resp.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Response.html b/Floorsense/Response.html index 85dbfcc690..e4ab038468 100644 --- a/Floorsense/Response.html +++ b/Floorsense/Response.html @@ -6279,7 +6279,7 @@

- + floorsense/models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
diff --git a/Floorsense/User.html b/Floorsense/User.html index 4ed73eb86a..ccde618278 100644 --- a/Floorsense/User.html +++ b/Floorsense/User.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6778,7 +6778,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6810,7 +6810,7 @@


- [View source] + [View source]
@@ -6826,7 +6826,7 @@


- [View source] + [View source]
@@ -6842,7 +6842,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
@@ -6954,7 +6954,7 @@


- [View source] + [View source]
@@ -6970,7 +6970,7 @@


- [View source] + [View source]
diff --git a/Floorsense/UserGroup.html b/Floorsense/UserGroup.html index 26e323840a..22b7da31b8 100644 --- a/Floorsense/UserGroup.html +++ b/Floorsense/UserGroup.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Floorsense/UserLocation.html b/Floorsense/UserLocation.html index 8d2db160da..e90983c230 100644 --- a/Floorsense/UserLocation.html +++ b/Floorsense/UserLocation.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6846,7 +6846,7 @@


- [View source] + [View source]
@@ -6862,7 +6862,7 @@


- [View source] + [View source]
@@ -6878,7 +6878,7 @@


- [View source] + [View source]
@@ -6894,7 +6894,7 @@


- [View source] + [View source]
@@ -6910,7 +6910,7 @@


- [View source] + [View source]
@@ -6926,7 +6926,7 @@


- [View source] + [View source]
@@ -6942,7 +6942,7 @@


- [View source] + [View source]
@@ -6958,7 +6958,7 @@


- [View source] + [View source]
@@ -6974,7 +6974,7 @@


- [View source] + [View source]
@@ -6990,7 +6990,7 @@


- [View source] + [View source]
@@ -7006,7 +7006,7 @@


- [View source] + [View source]
@@ -7022,7 +7022,7 @@


- [View source] + [View source]
@@ -7038,7 +7038,7 @@


- [View source] + [View source]
@@ -7054,7 +7054,7 @@


- [View source] + [View source]
diff --git a/Floorsense/Voucher.html b/Floorsense/Voucher.html index 5d54655e17..54c143cbdd 100644 --- a/Floorsense/Voucher.html +++ b/Floorsense/Voucher.html @@ -6307,7 +6307,7 @@

- + floorsense/models.cr @@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7032,7 +7032,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
@@ -7064,7 +7064,7 @@


- [View source] + [View source]
@@ -7080,7 +7080,7 @@


- [View source] + [View source]
@@ -7096,7 +7096,7 @@


- [View source] + [View source]
@@ -7112,7 +7112,7 @@


- [View source] + [View source]
@@ -7128,7 +7128,7 @@


- [View source] + [View source]
@@ -7144,7 +7144,7 @@


- [View source] + [View source]
@@ -7160,7 +7160,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
@@ -7192,7 +7192,7 @@


- [View source] + [View source]
@@ -7208,7 +7208,7 @@


- [View source] + [View source]
@@ -7224,7 +7224,7 @@


- [View source] + [View source]
@@ -7240,7 +7240,7 @@


- [View source] + [View source]
@@ -7256,7 +7256,7 @@


- [View source] + [View source]
@@ -7272,7 +7272,7 @@


- [View source] + [View source]
@@ -7288,7 +7288,7 @@


- [View source] + [View source]
@@ -7304,7 +7304,7 @@


- [View source] + [View source]
@@ -7320,7 +7320,7 @@


- [View source] + [View source]
@@ -7336,7 +7336,7 @@


- [View source] + [View source]
@@ -7352,7 +7352,7 @@


- [View source] + [View source]
@@ -7368,7 +7368,7 @@


- [View source] + [View source]
@@ -7384,7 +7384,7 @@


- [View source] + [View source]
@@ -7400,7 +7400,7 @@


- [View source] + [View source]
@@ -7416,7 +7416,7 @@


- [View source] + [View source]
@@ -7432,7 +7432,7 @@


- [View source] + [View source]
diff --git a/Freespace.html b/Freespace.html index 3ff7766f58..784b0f4379 100644 --- a/Freespace.html +++ b/Freespace.html @@ -6277,7 +6277,7 @@

- + freespace/models.cr diff --git a/Freespace/Category.html b/Freespace/Category.html index dfc2062883..0d0f5bd4e3 100644 --- a/Freespace/Category.html +++ b/Freespace/Category.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Freespace/Device.html b/Freespace/Device.html index 37436d112e..327cbd523c 100644 --- a/Freespace/Device.html +++ b/Freespace/Device.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Freespace/Location.html b/Freespace/Location.html index e0a03eb45c..c2218a1d07 100644 --- a/Freespace/Location.html +++ b/Freespace/Location.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Freespace/SRF.html b/Freespace/SRF.html index 39a3ccdb0b..c82eec0220 100644 --- a/Freespace/SRF.html +++ b/Freespace/SRF.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/Freespace/SensorAPI.html b/Freespace/SensorAPI.html index c46a6f07e1..9290d75e11 100644 --- a/Freespace/SensorAPI.html +++ b/Freespace/SensorAPI.html @@ -6293,7 +6293,7 @@

- + freespace/sensor_api.cr @@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@

View source] + [View source] @@ -6692,7 +6692,7 @@

View source] + [View source] @@ -6708,7 +6708,7 @@

View source] + [View source] @@ -6724,7 +6724,7 @@

View source] + [View source] @@ -6740,7 +6740,7 @@

View source] + [View source] @@ -6756,7 +6756,7 @@

View source] + [View source] @@ -6772,7 +6772,7 @@

View source] + [View source] @@ -6793,7 +6793,7 @@

View source] + [View source] diff --git a/Freespace/Space.html b/Freespace/Space.html index 3baf885e8a..b8827325fa 100644 --- a/Freespace/Space.html +++ b/Freespace/Space.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
@@ -6684,7 +6684,7 @@


- [View source] + [View source]
@@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6716,7 +6716,7 @@


- [View source] + [View source]
@@ -6732,7 +6732,7 @@


- [View source] + [View source]
@@ -6748,7 +6748,7 @@


- [View source] + [View source]
@@ -6764,7 +6764,7 @@


- [View source] + [View source]
@@ -6780,7 +6780,7 @@


- [View source] + [View source]
@@ -6796,7 +6796,7 @@


- [View source] + [View source]
@@ -6812,7 +6812,7 @@


- [View source] + [View source]
@@ -6828,7 +6828,7 @@


- [View source] + [View source]
@@ -6844,7 +6844,7 @@


- [View source] + [View source]
@@ -6860,7 +6860,7 @@


- [View source] + [View source]
@@ -6876,7 +6876,7 @@


- [View source] + [View source]
@@ -6897,7 +6897,7 @@


- [View source] + [View source]
@@ -6918,7 +6918,7 @@


- [View source] + [View source]
@@ -6934,7 +6934,7 @@


- [View source] + [View source]
@@ -6950,7 +6950,7 @@


- [View source] + [View source]
@@ -6966,7 +6966,7 @@


- [View source] + [View source]
@@ -6982,7 +6982,7 @@


- [View source] + [View source]
@@ -6998,7 +6998,7 @@


- [View source] + [View source]
@@ -7014,7 +7014,7 @@


- [View source] + [View source]
@@ -7030,7 +7030,7 @@


- [View source] + [View source]
@@ -7046,7 +7046,7 @@


- [View source] + [View source]
@@ -7062,7 +7062,7 @@


- [View source] + [View source]
@@ -7078,7 +7078,7 @@


- [View source] + [View source]
@@ -7094,7 +7094,7 @@


- [View source] + [View source]
@@ -7110,7 +7110,7 @@


- [View source] + [View source]
diff --git a/Freespace/SpaceActivity.html b/Freespace/SpaceActivity.html index 9e8a1554ac..f20251cc79 100644 --- a/Freespace/SpaceActivity.html +++ b/Freespace/SpaceActivity.html @@ -6307,7 +6307,7 @@

- + freespace/models.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6758,7 +6758,7 @@


- [View source] + [View source]
@@ -6774,7 +6774,7 @@


- [View source] + [View source]
@@ -6790,7 +6790,7 @@


- [View source] + [View source]
diff --git a/Gallagher.html b/Gallagher.html index aada7717cc..2a43250501 100644 --- a/Gallagher.html +++ b/Gallagher.html @@ -6277,7 +6277,7 @@

- + gallagher/rest_api_models.cr diff --git a/Gallagher/AccessGroup.html b/Gallagher/AccessGroup.html index b84185bd95..ae929a09f6 100644 --- a/Gallagher/AccessGroup.html +++ b/Gallagher/AccessGroup.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Gallagher/AccessGroupMembership.html b/Gallagher/AccessGroupMembership.html index b6cf5714c7..a94349e30f 100644 --- a/Gallagher/AccessGroupMembership.html +++ b/Gallagher/AccessGroupMembership.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Gallagher/Card.html b/Gallagher/Card.html index 4a871c83dc..a644d30fd6 100644 --- a/Gallagher/Card.html +++ b/Gallagher/Card.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6799,7 +6799,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6863,7 +6863,7 @@


- [View source] + [View source]
@@ -6879,7 +6879,7 @@


- [View source] + [View source]
@@ -6895,7 +6895,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6927,7 +6927,7 @@


- [View source] + [View source]
@@ -6943,7 +6943,7 @@


- [View source] + [View source]
@@ -6959,7 +6959,7 @@


- [View source] + [View source]
@@ -6975,7 +6975,7 @@


- [View source] + [View source]
@@ -6991,7 +6991,7 @@


- [View source] + [View source]
@@ -7007,7 +7007,7 @@


- [View source] + [View source]
@@ -7023,7 +7023,7 @@


- [View source] + [View source]
@@ -7039,7 +7039,7 @@


- [View source] + [View source]
@@ -7055,7 +7055,7 @@


- [View source] + [View source]
diff --git a/Gallagher/CardType.html b/Gallagher/CardType.html index 9a656c8063..dbe92006d0 100644 --- a/Gallagher/CardType.html +++ b/Gallagher/CardType.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
diff --git a/Gallagher/Cardholder.html b/Gallagher/Cardholder.html index de45ba625c..716518f938 100644 --- a/Gallagher/Cardholder.html +++ b/Gallagher/Cardholder.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
@@ -6833,7 +6833,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6865,7 +6865,7 @@


- [View source] + [View source]
@@ -6881,7 +6881,7 @@


- [View source] + [View source]
@@ -6897,7 +6897,7 @@


- [View source] + [View source]
@@ -6913,7 +6913,7 @@


- [View source] + [View source]
@@ -6929,7 +6929,7 @@


- [View source] + [View source]
@@ -6945,7 +6945,7 @@


- [View source] + [View source]
@@ -6961,7 +6961,7 @@


- [View source] + [View source]
diff --git a/Gallagher/CardholderAccessGroup.html b/Gallagher/CardholderAccessGroup.html index 8c36d4dcfb..a817be561e 100644 --- a/Gallagher/CardholderAccessGroup.html +++ b/Gallagher/CardholderAccessGroup.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
diff --git a/Gallagher/DoorDetails.html b/Gallagher/DoorDetails.html index 67ef2177d8..1b6a56aa0c 100644 --- a/Gallagher/DoorDetails.html +++ b/Gallagher/DoorDetails.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
diff --git a/Gallagher/Event.html b/Gallagher/Event.html index bd5e273ad4..4d7b4fddd0 100644 --- a/Gallagher/Event.html +++ b/Gallagher/Event.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Gallagher/Events.html b/Gallagher/Events.html index d037b15a33..f26b782917 100644 --- a/Gallagher/Events.html +++ b/Gallagher/Events.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Gallagher/IdName.html b/Gallagher/IdName.html index b118a03b45..7589d8f8b3 100644 --- a/Gallagher/IdName.html +++ b/Gallagher/IdName.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Gallagher/Invitation.html b/Gallagher/Invitation.html index 702b8513e7..120f443ef6 100644 --- a/Gallagher/Invitation.html +++ b/Gallagher/Invitation.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
diff --git a/Gallagher/PDF.html b/Gallagher/PDF.html index 3d17e97b86..6e8e728aef 100644 --- a/Gallagher/PDF.html +++ b/Gallagher/PDF.html @@ -6320,7 +6320,7 @@

- + gallagher/rest_api_models.cr @@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
diff --git a/Gallagher/RestAPI.html b/Gallagher/RestAPI.html index 67883484a3..21c49174b7 100644 --- a/Gallagher/RestAPI.html +++ b/Gallagher/RestAPI.html @@ -6293,7 +6293,7 @@

- + gallagher/rest_api.cr @@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@

View source] + [View source] @@ -6637,7 +6637,7 @@

View source] + [View source] @@ -6653,7 +6653,7 @@

View source] + [View source] @@ -6669,7 +6669,7 @@

View source] + [View source] @@ -6685,7 +6685,7 @@

View source] + [View source] @@ -6701,7 +6701,7 @@

View source] + [View source] @@ -6717,7 +6717,7 @@

View source] + [View source] @@ -6733,7 +6733,7 @@

View source] + [View source] @@ -6749,7 +6749,7 @@

View source] + [View source] @@ -6765,7 +6765,7 @@

View source] + [View source] @@ -6781,7 +6781,7 @@

View source] + [View source] @@ -6797,7 +6797,7 @@

View source] + [View source] @@ -6813,7 +6813,7 @@

View source] + [View source] @@ -6829,7 +6829,7 @@

View source] + [View source] @@ -6845,7 +6845,7 @@

View source] + [View source] @@ -6861,7 +6861,7 @@

View source] + [View source] @@ -6877,7 +6877,7 @@

View source] + [View source] @@ -6893,7 +6893,7 @@

View source] + [View source] @@ -6941,7 +6941,7 @@

View source] + [View source] @@ -6957,7 +6957,7 @@

View source] + [View source] @@ -6973,7 +6973,7 @@

View source] + [View source] @@ -6989,7 +6989,7 @@

View source] + [View source] @@ -7005,7 +7005,7 @@

View source] + [View source] @@ -7021,7 +7021,7 @@

View source] + [View source] @@ -7037,7 +7037,7 @@

View source] + [View source] @@ -7053,7 +7053,7 @@

View source] + [View source] @@ -7078,7 +7078,7 @@

View source] + [View source] @@ -7094,7 +7094,7 @@

View source] + [View source] @@ -7122,7 +7122,7 @@


- [View source] + [View source]
diff --git a/Gallagher/RestAPI/BadRequest.html b/Gallagher/RestAPI/BadRequest.html index 44d7979c4a..a2f4242ead 100644 --- a/Gallagher/RestAPI/BadRequest.html +++ b/Gallagher/RestAPI/BadRequest.html @@ -6279,7 +6279,7 @@

- + gallagher/rest_api.cr diff --git a/Gallagher/RestAPI/Conflict.html b/Gallagher/RestAPI/Conflict.html index c0c3b40ca5..ae0c49e8bd 100644 --- a/Gallagher/RestAPI/Conflict.html +++ b/Gallagher/RestAPI/Conflict.html @@ -6279,7 +6279,7 @@

- + gallagher/rest_api.cr diff --git a/Gallagher/RestAPI/EventMap.html b/Gallagher/RestAPI/EventMap.html index 25e1110002..1db222abb2 100644 --- a/Gallagher/RestAPI/EventMap.html +++ b/Gallagher/RestAPI/EventMap.html @@ -6307,7 +6307,7 @@

- + gallagher/rest_api.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
diff --git a/Gallagher/RestAPI/NotFound.html b/Gallagher/RestAPI/NotFound.html index d385151727..9b8a523cc2 100644 --- a/Gallagher/RestAPI/NotFound.html +++ b/Gallagher/RestAPI/NotFound.html @@ -6279,7 +6279,7 @@

- + gallagher/rest_api.cr diff --git a/Gallagher/Results.html b/Gallagher/Results.html index 67e76124f4..687e795829 100644 --- a/Gallagher/Results.html +++ b/Gallagher/Results.html @@ -6309,7 +6309,7 @@

- + gallagher/rest_api_models.cr @@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
diff --git a/Gantner.html b/Gantner.html index 919da25aa8..dd14889e76 100644 --- a/Gantner.html +++ b/Gantner.html @@ -6277,7 +6277,7 @@

- + gantner/relaxx/json_models.cr diff --git a/Gantner/Relaxx.html b/Gantner/Relaxx.html index 11db1f06fe..aeaa7fd07e 100644 --- a/Gantner/Relaxx.html +++ b/Gantner/Relaxx.html @@ -6277,7 +6277,7 @@

- + gantner/relaxx/json_models.cr diff --git a/Gantner/Relaxx/Locker.html b/Gantner/Relaxx/Locker.html index 0397a48200..800e680283 100644 --- a/Gantner/Relaxx/Locker.html +++ b/Gantner/Relaxx/Locker.html @@ -6307,7 +6307,7 @@

- + gantner/relaxx/json_models.cr @@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6778,7 +6778,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6810,7 +6810,7 @@


- [View source] + [View source]
@@ -6826,7 +6826,7 @@


- [View source] + [View source]
@@ -6842,7 +6842,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
@@ -6954,7 +6954,7 @@


- [View source] + [View source]
@@ -6970,7 +6970,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/LockerEvent.html b/Gantner/Relaxx/LockerEvent.html index ac2344e8b1..8747be81fa 100644 --- a/Gantner/Relaxx/LockerEvent.html +++ b/Gantner/Relaxx/LockerEvent.html @@ -6277,7 +6277,7 @@

- + gantner/relaxx/json_models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/LockerMode.html b/Gantner/Relaxx/LockerMode.html index 3425f70e18..424fd4f885 100644 --- a/Gantner/Relaxx/LockerMode.html +++ b/Gantner/Relaxx/LockerMode.html @@ -6277,7 +6277,7 @@

- + gantner/relaxx/json_models.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/LockerNotification.html b/Gantner/Relaxx/LockerNotification.html index c9ce825a22..4b51bbc2f9 100644 --- a/Gantner/Relaxx/LockerNotification.html +++ b/Gantner/Relaxx/LockerNotification.html @@ -6307,7 +6307,7 @@

- + gantner/relaxx/json_models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/LockerState.html b/Gantner/Relaxx/LockerState.html index 4445556c03..4b6e047811 100644 --- a/Gantner/Relaxx/LockerState.html +++ b/Gantner/Relaxx/LockerState.html @@ -6277,7 +6277,7 @@

- + gantner/relaxx/json_models.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/ProtocolJSON.html b/Gantner/Relaxx/ProtocolJSON.html index 0ed0daedcf..846cb1b82f 100644 --- a/Gantner/Relaxx/ProtocolJSON.html +++ b/Gantner/Relaxx/ProtocolJSON.html @@ -6279,7 +6279,7 @@

- + gantner/relaxx/protocol_json.cr @@ -6424,7 +6424,7 @@


- [View source] + [View source]
@@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
diff --git a/Gantner/Relaxx/Result.html b/Gantner/Relaxx/Result.html index 991128f33c..04942f33e5 100644 --- a/Gantner/Relaxx/Result.html +++ b/Gantner/Relaxx/Result.html @@ -6307,7 +6307,7 @@

- + gantner/relaxx/json_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/GlobalCache.html b/GlobalCache.html index 3bff9c9861..09cee9bd75 100644 --- a/GlobalCache.html +++ b/GlobalCache.html @@ -6277,7 +6277,7 @@

- + global_cache/gc_100.cr diff --git a/GlobalCache/Gc100.html b/GlobalCache/Gc100.html index 4588231795..ce21d06724 100644 --- a/GlobalCache/Gc100.html +++ b/GlobalCache/Gc100.html @@ -6293,7 +6293,7 @@

- + global_cache/gc_100.cr @@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
diff --git a/GlobalCache/Gc100/IrMode.html b/GlobalCache/Gc100/IrMode.html index ee05e95f43..ccb18c7a78 100644 --- a/GlobalCache/Gc100/IrMode.html +++ b/GlobalCache/Gc100/IrMode.html @@ -6277,7 +6277,7 @@

- + global_cache/gc_100.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/GlobalCache/IRTV.html b/GlobalCache/IRTV.html index f2441123bc..7d33299e82 100644 --- a/GlobalCache/IRTV.html +++ b/GlobalCache/IRTV.html @@ -6279,7 +6279,7 @@

- + global_cache/ir_tv.cr @@ -6391,7 +6391,7 @@


- [View source] + [View source]
@@ -6407,7 +6407,7 @@


- [View source] + [View source]
@@ -6423,7 +6423,7 @@


- [View source] + [View source]
diff --git a/GlobalCache/IRTV/Channel.html b/GlobalCache/IRTV/Channel.html index 3533ac376d..7cac21d6de 100644 --- a/GlobalCache/IRTV/Channel.html +++ b/GlobalCache/IRTV/Channel.html @@ -6307,7 +6307,7 @@

- + global_cache/ir_tv.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/GlobalCache/ProjectorScreen.html b/GlobalCache/ProjectorScreen.html index 639376194f..52127b2075 100644 --- a/GlobalCache/ProjectorScreen.html +++ b/GlobalCache/ProjectorScreen.html @@ -6279,7 +6279,7 @@

- + global_cache/projector_screen.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/GoBright.html b/GoBright.html index ade318ae73..4385507bd8 100644 --- a/GoBright.html +++ b/GoBright.html @@ -6277,7 +6277,7 @@

- + gobright/models.cr diff --git a/GoBright/API.html b/GoBright/API.html index 8cdf968fdb..f74c5fcadb 100644 --- a/GoBright/API.html +++ b/GoBright/API.html @@ -6279,7 +6279,7 @@

- + gobright/api.cr @@ -6417,7 +6417,7 @@


- [View source] + [View source]
@@ -6433,7 +6433,7 @@


- [View source] + [View source]
@@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
diff --git a/GoBright/AccessToken.html b/GoBright/AccessToken.html index a6c8a71c00..ededeafb84 100644 --- a/GoBright/AccessToken.html +++ b/GoBright/AccessToken.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/GoBright/Amenity.html b/GoBright/Amenity.html index bab7b520d5..2c0453694a 100644 --- a/GoBright/Amenity.html +++ b/GoBright/Amenity.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
diff --git a/GoBright/ApprovalState.html b/GoBright/ApprovalState.html index 18832655d1..9b9a588c7c 100644 --- a/GoBright/ApprovalState.html +++ b/GoBright/ApprovalState.html @@ -6277,7 +6277,7 @@

- + gobright/models.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/GoBright/Attendee.html b/GoBright/Attendee.html index a223e1d24f..1496b680c3 100644 --- a/GoBright/Attendee.html +++ b/GoBright/Attendee.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/GoBright/BookingType.html b/GoBright/BookingType.html index 38ba0b1df1..707ee908ff 100644 --- a/GoBright/BookingType.html +++ b/GoBright/BookingType.html @@ -6277,7 +6277,7 @@

- + gobright/models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/GoBright/DeskPeriod.html b/GoBright/DeskPeriod.html index c75c8d4899..eddad32a60 100644 --- a/GoBright/DeskPeriod.html +++ b/GoBright/DeskPeriod.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/GoBright/Location.html b/GoBright/Location.html index d2a697d22b..4d9ac43984 100644 --- a/GoBright/Location.html +++ b/GoBright/Location.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
diff --git a/GoBright/LocationService.html b/GoBright/LocationService.html index 32c3817a02..a71f50af84 100644 --- a/GoBright/LocationService.html +++ b/GoBright/LocationService.html @@ -6293,7 +6293,7 @@

- + gobright/location_service.cr @@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
diff --git a/GoBright/LocationService/LevelCapacity.html b/GoBright/LocationService/LevelCapacity.html index b414bab667..5ffe54423b 100644 --- a/GoBright/LocationService/LevelCapacity.html +++ b/GoBright/LocationService/LevelCapacity.html @@ -6307,7 +6307,7 @@

- + gobright/location_service.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/GoBright/LocationService/Mapping.html b/GoBright/LocationService/Mapping.html index dc7a4c0ded..317fb91589 100644 --- a/GoBright/LocationService/Mapping.html +++ b/GoBright/LocationService/Mapping.html @@ -6307,7 +6307,7 @@

- + gobright/location_service.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/GoBright/Metadata.html b/GoBright/Metadata.html index c17e962814..10f66cc511 100644 --- a/GoBright/Metadata.html +++ b/GoBright/Metadata.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/GoBright/Occupancy.html b/GoBright/Occupancy.html index 46184cff34..d96afc6a93 100644 --- a/GoBright/Occupancy.html +++ b/GoBright/Occupancy.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/GoBright/Occurrence.html b/GoBright/Occurrence.html index 2660945580..f2692597a8 100644 --- a/GoBright/Occurrence.html +++ b/GoBright/Occurrence.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
@@ -6836,7 +6836,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
@@ -6964,7 +6964,7 @@


- [View source] + [View source]
@@ -6980,7 +6980,7 @@


- [View source] + [View source]
@@ -6996,7 +6996,7 @@


- [View source] + [View source]
@@ -7012,7 +7012,7 @@


- [View source] + [View source]
@@ -7028,7 +7028,7 @@


- [View source] + [View source]
@@ -7044,7 +7044,7 @@


- [View source] + [View source]
@@ -7060,7 +7060,7 @@


- [View source] + [View source]
@@ -7090,7 +7090,7 @@


- [View source] + [View source]
@@ -7120,7 +7120,7 @@


- [View source] + [View source]
@@ -7136,7 +7136,7 @@


- [View source] + [View source]
@@ -7152,7 +7152,7 @@


- [View source] + [View source]
@@ -7168,7 +7168,7 @@


- [View source] + [View source]
@@ -7184,7 +7184,7 @@


- [View source] + [View source]
@@ -7200,7 +7200,7 @@


- [View source] + [View source]
@@ -7216,7 +7216,7 @@


- [View source] + [View source]
@@ -7232,7 +7232,7 @@


- [View source] + [View source]
@@ -7248,7 +7248,7 @@


- [View source] + [View source]
@@ -7264,7 +7264,7 @@


- [View source] + [View source]
@@ -7294,7 +7294,7 @@


- [View source] + [View source]
diff --git a/GoBright/Paging.html b/GoBright/Paging.html index a0bbcbdf7f..a1e4be9c2c 100644 --- a/GoBright/Paging.html +++ b/GoBright/Paging.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/GoBright/ParkingPeriod.html b/GoBright/ParkingPeriod.html index 4316e93942..4581767010 100644 --- a/GoBright/ParkingPeriod.html +++ b/GoBright/ParkingPeriod.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/GoBright/Response.html b/GoBright/Response.html index d630d27a77..1633b3e410 100644 --- a/GoBright/Response.html +++ b/GoBright/Response.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/GoBright/Space.html b/GoBright/Space.html index 11dad5583d..79be239261 100644 --- a/GoBright/Space.html +++ b/GoBright/Space.html @@ -6307,7 +6307,7 @@

- + gobright/models.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
diff --git a/GoBright/SpaceType.html b/GoBright/SpaceType.html index de28d476de..39cc5f932b 100644 --- a/GoBright/SpaceType.html +++ b/GoBright/SpaceType.html @@ -6277,7 +6277,7 @@

- + gobright/models.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Halite.html b/Halite.html index ebc77a17a6..cde7b5fb51 100644 --- a/Halite.html +++ b/Halite.html @@ -6293,147 +6293,147 @@

- + lib/halite/src/halite.cr
- + lib/halite/src/halite/chainable.cr
- + lib/halite/src/halite/client.cr
- + lib/halite/src/halite/error.cr
- + lib/halite/src/halite/feature.cr
- + lib/halite/src/halite/features/cache.cr
- + lib/halite/src/halite/features/logging.cr
- + lib/halite/src/halite/form_data.cr
- + lib/halite/src/halite/header_link.cr
- + lib/halite/src/halite/mime_type.cr
- + lib/halite/src/halite/options.cr
- + lib/halite/src/halite/options/follow.cr
- + lib/halite/src/halite/options/timeout.cr
- + lib/halite/src/halite/rate_limit.cr
- + lib/halite/src/halite/redirector.cr
- + lib/halite/src/halite/request.cr
- + lib/halite/src/halite/response.cr
- + lib/quantum/src/quantum/extensions/client.cr
- + lib/sabo/src/sabo/ext/client.cr
- + lib/stripetease/src/stripetease/extensions/chainable.cr
- + cisco/webex/extensions/chainable.cr diff --git a/Halite/Chainable.html b/Halite/Chainable.html index f924b8cd42..f511c3b2c0 100644 --- a/Halite/Chainable.html +++ b/Halite/Chainable.html @@ -6277,21 +6277,21 @@

- + lib/halite/src/halite/chainable.cr
- + lib/stripetease/src/stripetease/extensions/chainable.cr
- + cisco/webex/extensions/chainable.cr @@ -6375,7 +6375,7 @@


- [View source] + [View source]
@@ -6401,7 +6401,7 @@


- [View source] + [View source]
diff --git a/Helvar.html b/Helvar.html index 40367fffbc..932d9f4149 100644 --- a/Helvar.html +++ b/Helvar.html @@ -6277,7 +6277,7 @@

- + helvar/net.cr diff --git a/Helvar/Net.html b/Helvar/Net.html index de25884eca..e82096a3f5 100644 --- a/Helvar/Net.html +++ b/Helvar/Net.html @@ -6295,7 +6295,7 @@

- + helvar/net.cr @@ -6827,7 +6827,7 @@


- [View source] + [View source]
@@ -6843,7 +6843,7 @@


- [View source] + [View source]
@@ -6859,7 +6859,7 @@


- [View source] + [View source]
@@ -6875,7 +6875,7 @@


- [View source] + [View source]
@@ -6891,7 +6891,7 @@


- [View source] + [View source]
@@ -6907,7 +6907,7 @@


- [View source] + [View source]
@@ -6923,7 +6923,7 @@


- [View source] + [View source]
@@ -6939,7 +6939,7 @@


- [View source] + [View source]
@@ -6955,7 +6955,7 @@


- [View source] + [View source]
@@ -6971,7 +6971,7 @@


- [View source] + [View source]
@@ -6987,7 +6987,7 @@


- [View source] + [View source]
@@ -7003,7 +7003,7 @@


- [View source] + [View source]
@@ -7019,7 +7019,7 @@


- [View source] + [View source]
@@ -7035,7 +7035,7 @@


- [View source] + [View source]
@@ -7051,7 +7051,7 @@


- [View source] + [View source]
@@ -7067,7 +7067,7 @@


- [View source] + [View source]
@@ -7083,7 +7083,7 @@


- [View source] + [View source]
@@ -7099,7 +7099,7 @@


- [View source] + [View source]
@@ -7115,7 +7115,7 @@


- [View source] + [View source]
@@ -7140,7 +7140,7 @@


- [View source] + [View source]
@@ -7156,7 +7156,7 @@


- [View source] + [View source]
@@ -7172,7 +7172,7 @@


- [View source] + [View source]
@@ -7188,7 +7188,7 @@


- [View source] + [View source]
@@ -7204,7 +7204,7 @@


- [View source] + [View source]
@@ -7220,7 +7220,7 @@


- [View source] + [View source]
@@ -7236,7 +7236,7 @@


- [View source] + [View source]
@@ -7252,7 +7252,7 @@


- [View source] + [View source]
@@ -7268,7 +7268,7 @@


- [View source] + [View source]
@@ -7284,7 +7284,7 @@


- [View source] + [View source]
@@ -7300,7 +7300,7 @@


- [View source] + [View source]
@@ -7316,7 +7316,7 @@


- [View source] + [View source]
@@ -7332,7 +7332,7 @@


- [View source] + [View source]
@@ -7348,7 +7348,7 @@


- [View source] + [View source]
@@ -7364,7 +7364,7 @@


- [View source] + [View source]
@@ -7380,7 +7380,7 @@


- [View source] + [View source]
@@ -7396,7 +7396,7 @@


- [View source] + [View source]
@@ -7412,7 +7412,7 @@


- [View source] + [View source]
@@ -7428,7 +7428,7 @@


- [View source] + [View source]
@@ -7444,7 +7444,7 @@


- [View source] + [View source]
@@ -7460,7 +7460,7 @@


- [View source] + [View source]
@@ -7476,7 +7476,7 @@


- [View source] + [View source]
@@ -7492,7 +7492,7 @@


- [View source] + [View source]
@@ -7508,7 +7508,7 @@


- [View source] + [View source]
@@ -7524,7 +7524,7 @@


- [View source] + [View source]
@@ -7540,7 +7540,7 @@


- [View source] + [View source]
@@ -7556,7 +7556,7 @@


- [View source] + [View source]
@@ -7572,7 +7572,7 @@


- [View source] + [View source]
@@ -7588,7 +7588,7 @@


- [View source] + [View source]
@@ -7604,7 +7604,7 @@


- [View source] + [View source]
@@ -7620,7 +7620,7 @@


- [View source] + [View source]
@@ -7636,7 +7636,7 @@


- [View source] + [View source]
@@ -7652,7 +7652,7 @@


- [View source] + [View source]
@@ -7668,7 +7668,7 @@


- [View source] + [View source]
@@ -7684,7 +7684,7 @@


- [View source] + [View source]
@@ -7700,7 +7700,7 @@


- [View source] + [View source]
@@ -7716,7 +7716,7 @@


- [View source] + [View source]
@@ -7732,7 +7732,7 @@


- [View source] + [View source]
@@ -7748,7 +7748,7 @@


- [View source] + [View source]
@@ -7764,7 +7764,7 @@


- [View source] + [View source]
@@ -7780,7 +7780,7 @@


- [View source] + [View source]
@@ -7796,7 +7796,7 @@


- [View source] + [View source]
@@ -7812,7 +7812,7 @@


- [View source] + [View source]
@@ -7828,7 +7828,7 @@


- [View source] + [View source]
@@ -7844,7 +7844,7 @@


- [View source] + [View source]
@@ -7860,7 +7860,7 @@


- [View source] + [View source]
@@ -7876,7 +7876,7 @@


- [View source] + [View source]
@@ -7892,7 +7892,7 @@


- [View source] + [View source]
@@ -7908,7 +7908,7 @@


- [View source] + [View source]
@@ -7924,7 +7924,7 @@


- [View source] + [View source]
@@ -7940,7 +7940,7 @@


- [View source] + [View source]
@@ -7965,7 +7965,7 @@


- [View source] + [View source]
@@ -7981,7 +7981,7 @@


- [View source] + [View source]
@@ -7997,7 +7997,7 @@


- [View source] + [View source]
@@ -8030,7 +8030,7 @@


- [View source] + [View source]
diff --git a/Helvar/Net/Area.html b/Helvar/Net/Area.html index 5e39a5c986..43c99c3ae6 100644 --- a/Helvar/Net/Area.html +++ b/Helvar/Net/Area.html @@ -6287,7 +6287,7 @@

- + helvar/net.cr diff --git a/Hitachi.html b/Hitachi.html index a7e736d127..17b4acde90 100644 --- a/Hitachi.html +++ b/Hitachi.html @@ -6277,7 +6277,7 @@

- + hitachi/projector/cp_tw_series_basic.cr diff --git a/Hitachi/Projector.html b/Hitachi/Projector.html index be2a0cc449..cd707a45d7 100644 --- a/Hitachi/Projector.html +++ b/Hitachi/Projector.html @@ -6277,7 +6277,7 @@

- + hitachi/projector/cp_tw_series_basic.cr diff --git a/Hitachi/Projector/CpTwSeriesBasic.html b/Hitachi/Projector/CpTwSeriesBasic.html index 648d88b5b3..cb3a4be8a7 100644 --- a/Hitachi/Projector/CpTwSeriesBasic.html +++ b/Hitachi/Projector/CpTwSeriesBasic.html @@ -6295,7 +6295,7 @@

- + hitachi/projector/cp_tw_series_basic.cr @@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6825,7 +6825,7 @@


- [View source] + [View source]
@@ -6841,7 +6841,7 @@


- [View source] + [View source]
@@ -6857,7 +6857,7 @@


- [View source] + [View source]
@@ -6873,7 +6873,7 @@


- [View source] + [View source]
@@ -6889,7 +6889,7 @@


- [View source] + [View source]
diff --git a/Hitachi/Projector/CpTwSeriesBasic/Error.html b/Hitachi/Projector/CpTwSeriesBasic/Error.html index 3514f96938..d35794ef6f 100644 --- a/Hitachi/Projector/CpTwSeriesBasic/Error.html +++ b/Hitachi/Projector/CpTwSeriesBasic/Error.html @@ -6277,7 +6277,7 @@

- + hitachi/projector/cp_tw_series_basic.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
diff --git a/Hitachi/Projector/CpTwSeriesBasic/Input.html b/Hitachi/Projector/CpTwSeriesBasic/Input.html index 48f47dcfb1..9f73c31468 100644 --- a/Hitachi/Projector/CpTwSeriesBasic/Input.html +++ b/Hitachi/Projector/CpTwSeriesBasic/Input.html @@ -6277,7 +6277,7 @@

- + hitachi/projector/cp_tw_series_basic.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Hitachi/Projector/CpTwSeriesBasic/Response.html b/Hitachi/Projector/CpTwSeriesBasic/Response.html index fa5ff89dc6..3ccd00a8c1 100644 --- a/Hitachi/Projector/CpTwSeriesBasic/Response.html +++ b/Hitachi/Projector/CpTwSeriesBasic/Response.html @@ -6277,7 +6277,7 @@

- + hitachi/projector/cp_tw_series_basic.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Infosilem.html b/Infosilem.html index 7ef2ca8247..7351723b7e 100644 --- a/Infosilem.html +++ b/Infosilem.html @@ -6277,14 +6277,14 @@

- + infosilem/campus.cr
- + infosilem/models.cr diff --git a/Infosilem/Campus.html b/Infosilem/Campus.html index ef6a13f829..57e3e4a72d 100644 --- a/Infosilem/Campus.html +++ b/Infosilem/Campus.html @@ -6279,7 +6279,7 @@

- + infosilem/campus.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Infosilem/Campus/Client.html b/Infosilem/Campus/Client.html index 8797e5f050..9efd75fc53 100644 --- a/Infosilem/Campus/Client.html +++ b/Infosilem/Campus/Client.html @@ -6287,7 +6287,7 @@

- + infosilem/campus.cr diff --git a/Infosilem/DateTimeConvertor.html b/Infosilem/DateTimeConvertor.html index bfa5c599ce..97d1fea4cd 100644 --- a/Infosilem/DateTimeConvertor.html +++ b/Infosilem/DateTimeConvertor.html @@ -6291,7 +6291,7 @@

- + infosilem/models.cr @@ -6361,7 +6361,7 @@


- [View source] + [View source]
@@ -6377,7 +6377,7 @@


- [View source] + [View source]
diff --git a/Infosilem/Event.html b/Infosilem/Event.html index 43197b2c32..853a77cdb5 100644 --- a/Infosilem/Event.html +++ b/Infosilem/Event.html @@ -6307,7 +6307,7 @@

- + infosilem/models.cr @@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
diff --git a/Infosilem/IntegerConverter.html b/Infosilem/IntegerConverter.html index 57a802e4f8..09d6daa109 100644 --- a/Infosilem/IntegerConverter.html +++ b/Infosilem/IntegerConverter.html @@ -6291,7 +6291,7 @@

- + infosilem/models.cr @@ -6361,7 +6361,7 @@


- [View source] + [View source]
@@ -6377,7 +6377,7 @@


- [View source] + [View source]
diff --git a/Infosilem/MockCampus.html b/Infosilem/MockCampus.html index abd204f46a..954a5d21a8 100644 --- a/Infosilem/MockCampus.html +++ b/Infosilem/MockCampus.html @@ -6279,7 +6279,7 @@

- + infosilem/mock_campus.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Infosilem/RoomSchedule.html b/Infosilem/RoomSchedule.html index 18a30e61e0..1fe67e5cde 100644 --- a/Infosilem/RoomSchedule.html +++ b/Infosilem/RoomSchedule.html @@ -6279,7 +6279,7 @@

- + infosilem/room_schedule.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls.html b/JohnsonControls.html index 8431c52799..cf4d4823ff 100644 --- a/JohnsonControls.html +++ b/JohnsonControls.html @@ -6277,7 +6277,7 @@

- + johnson_controls/metasys_models.cr diff --git a/JohnsonControls/Attribute.html b/JohnsonControls/Attribute.html index ba8cbfcce3..d2b70d8d41 100644 --- a/JohnsonControls/Attribute.html +++ b/JohnsonControls/Attribute.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/AuthResponse.html b/JohnsonControls/AuthResponse.html index d38a9a8655..23c87433da 100644 --- a/JohnsonControls/AuthResponse.html +++ b/JohnsonControls/AuthResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Command.html b/JohnsonControls/Command.html index 76c61bde39..691f9edfcc 100644 --- a/JohnsonControls/Command.html +++ b/JohnsonControls/Command.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Equipment.html b/JohnsonControls/Equipment.html index 8d789ac26f..4d410eb88a 100644 --- a/JohnsonControls/Equipment.html +++ b/JohnsonControls/Equipment.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
@@ -6684,7 +6684,7 @@


- [View source] + [View source]
@@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6716,7 +6716,7 @@


- [View source] + [View source]
@@ -6732,7 +6732,7 @@


- [View source] + [View source]
@@ -6748,7 +6748,7 @@


- [View source] + [View source]
@@ -6764,7 +6764,7 @@


- [View source] + [View source]
@@ -6780,7 +6780,7 @@


- [View source] + [View source]
@@ -6796,7 +6796,7 @@


- [View source] + [View source]
@@ -6812,7 +6812,7 @@


- [View source] + [View source]
@@ -6828,7 +6828,7 @@


- [View source] + [View source]
@@ -6844,7 +6844,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/EquipmentPoints.html b/JohnsonControls/EquipmentPoints.html index 6632e14e22..188a11fcb7 100644 --- a/JohnsonControls/EquipmentPoints.html +++ b/JohnsonControls/EquipmentPoints.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html b/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html index dc54ff0f3e..2acb5a5cac 100644 --- a/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html +++ b/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/GetNetworkDeviceChildrenResponse.html b/JohnsonControls/GetNetworkDeviceChildrenResponse.html index befbad4c4b..4148baa788 100644 --- a/JohnsonControls/GetNetworkDeviceChildrenResponse.html +++ b/JohnsonControls/GetNetworkDeviceChildrenResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/GetObjectAttributesWithSamplesResponse.html b/JohnsonControls/GetObjectAttributesWithSamplesResponse.html index a65d48a023..a0a18f75b5 100644 --- a/JohnsonControls/GetObjectAttributesWithSamplesResponse.html +++ b/JohnsonControls/GetObjectAttributesWithSamplesResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/GetSamplesForAnObjectAttributeResponse.html b/JohnsonControls/GetSamplesForAnObjectAttributeResponse.html index 87b7d551c7..2780042963 100644 --- a/JohnsonControls/GetSamplesForAnObjectAttributeResponse.html +++ b/JohnsonControls/GetSamplesForAnObjectAttributeResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Item.html b/JohnsonControls/Item.html index dd3c9ecdd5..4aee7d0f7c 100644 --- a/JohnsonControls/Item.html +++ b/JohnsonControls/Item.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Metasys.html b/JohnsonControls/Metasys.html index 357b82912e..906ae67a38 100644 --- a/JohnsonControls/Metasys.html +++ b/JohnsonControls/Metasys.html @@ -6279,7 +6279,7 @@

- + johnson_controls/metasys.cr @@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/NetworkDevice.html b/JohnsonControls/NetworkDevice.html index cd009ca1cb..ebb3e19481 100644 --- a/JohnsonControls/NetworkDevice.html +++ b/JohnsonControls/NetworkDevice.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
@@ -6912,7 +6912,7 @@


- [View source] + [View source]
@@ -6928,7 +6928,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Point.html b/JohnsonControls/Point.html index 1a51d9fe03..f22458c2eb 100644 --- a/JohnsonControls/Point.html +++ b/JohnsonControls/Point.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Sample.html b/JohnsonControls/Sample.html index c8ba447f1f..34f2a8467d 100644 --- a/JohnsonControls/Sample.html +++ b/JohnsonControls/Sample.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/SamplesResponse.html b/JohnsonControls/SamplesResponse.html index aff0ab442d..ce30242615 100644 --- a/JohnsonControls/SamplesResponse.html +++ b/JohnsonControls/SamplesResponse.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/JohnsonControls/Value.html b/JohnsonControls/Value.html index b2bcede07c..ec10683dab 100644 --- a/JohnsonControls/Value.html +++ b/JohnsonControls/Value.html @@ -6307,7 +6307,7 @@

- + johnson_controls/metasys_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Juniper.html b/Juniper.html index 5d9b362257..5927087564 100644 --- a/Juniper.html +++ b/Juniper.html @@ -6277,7 +6277,7 @@

- + juniper/mist_models.cr diff --git a/Juniper/Client.html b/Juniper/Client.html index 5c38f83d28..2bf9cec5a5 100644 --- a/Juniper/Client.html +++ b/Juniper/Client.html @@ -6309,7 +6309,7 @@

- + juniper/mist_models.cr @@ -6661,7 +6661,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6899,7 +6899,7 @@


- [View source] + [View source]
@@ -6915,7 +6915,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
@@ -6963,7 +6963,7 @@


- [View source] + [View source]
@@ -6979,7 +6979,7 @@


- [View source] + [View source]
@@ -6995,7 +6995,7 @@


- [View source] + [View source]
@@ -7011,7 +7011,7 @@


- [View source] + [View source]
@@ -7027,7 +7027,7 @@


- [View source] + [View source]
@@ -7043,7 +7043,7 @@


- [View source] + [View source]
@@ -7059,7 +7059,7 @@


- [View source] + [View source]
@@ -7075,7 +7075,7 @@


- [View source] + [View source]
@@ -7091,7 +7091,7 @@


- [View source] + [View source]
@@ -7107,7 +7107,7 @@


- [View source] + [View source]
@@ -7123,7 +7123,7 @@


- [View source] + [View source]
@@ -7139,7 +7139,7 @@


- [View source] + [View source]
@@ -7155,7 +7155,7 @@


- [View source] + [View source]
@@ -7171,7 +7171,7 @@


- [View source] + [View source]
@@ -7187,7 +7187,7 @@


- [View source] + [View source]
@@ -7203,7 +7203,7 @@


- [View source] + [View source]
@@ -7219,7 +7219,7 @@


- [View source] + [View source]
@@ -7235,7 +7235,7 @@


- [View source] + [View source]
@@ -7251,7 +7251,7 @@


- [View source] + [View source]
@@ -7267,7 +7267,7 @@


- [View source] + [View source]
@@ -7283,7 +7283,7 @@


- [View source] + [View source]
@@ -7299,7 +7299,7 @@


- [View source] + [View source]
@@ -7320,7 +7320,7 @@


- [View source] + [View source]
@@ -7341,7 +7341,7 @@


- [View source] + [View source]
@@ -7357,7 +7357,7 @@


- [View source] + [View source]
@@ -7373,7 +7373,7 @@


- [View source] + [View source]
@@ -7389,7 +7389,7 @@


- [View source] + [View source]
@@ -7405,7 +7405,7 @@


- [View source] + [View source]
@@ -7421,7 +7421,7 @@


- [View source] + [View source]
@@ -7437,7 +7437,7 @@


- [View source] + [View source]
diff --git a/Juniper/Guest.html b/Juniper/Guest.html index adbf982e4e..6fbcdf88da 100644 --- a/Juniper/Guest.html +++ b/Juniper/Guest.html @@ -6309,7 +6309,7 @@

- + juniper/mist_models.cr @@ -6482,7 +6482,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
diff --git a/Juniper/LatLng.html b/Juniper/LatLng.html index 81902d629d..d854d42bc2 100644 --- a/Juniper/LatLng.html +++ b/Juniper/LatLng.html @@ -6307,7 +6307,7 @@

- + juniper/mist_models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Juniper/LocationAsset.html b/Juniper/LocationAsset.html index 512c2a45cf..8df6cde0a0 100644 --- a/Juniper/LocationAsset.html +++ b/Juniper/LocationAsset.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6869,7 +6869,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
diff --git a/Juniper/LocationEvent.html b/Juniper/LocationEvent.html index 509c1bd873..ef8ae424ab 100644 --- a/Juniper/LocationEvent.html +++ b/Juniper/LocationEvent.html @@ -6327,7 +6327,7 @@

- + juniper/mist_models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
diff --git a/Juniper/LocationEvents.html b/Juniper/LocationEvents.html index 6a98358c40..57ae13ef2f 100644 --- a/Juniper/LocationEvents.html +++ b/Juniper/LocationEvents.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
diff --git a/Juniper/LocationSDK.html b/Juniper/LocationSDK.html index a69367f8f0..6bf5e1ef66 100644 --- a/Juniper/LocationSDK.html +++ b/Juniper/LocationSDK.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
diff --git a/Juniper/LocationWifi.html b/Juniper/LocationWifi.html index fda3e6be6c..efb6f89929 100644 --- a/Juniper/LocationWifi.html +++ b/Juniper/LocationWifi.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Juniper/Map.html b/Juniper/Map.html index 15a510a34e..489114a03f 100644 --- a/Juniper/Map.html +++ b/Juniper/Map.html @@ -6325,7 +6325,7 @@

- + juniper/mist_models.cr @@ -6458,7 +6458,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
diff --git a/Juniper/MapGoogle.html b/Juniper/MapGoogle.html index 38029f2909..3c3bb1873f 100644 --- a/Juniper/MapGoogle.html +++ b/Juniper/MapGoogle.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
diff --git a/Juniper/MapImage.html b/Juniper/MapImage.html index a7cdba585f..9040e6b0bd 100644 --- a/Juniper/MapImage.html +++ b/Juniper/MapImage.html @@ -6279,7 +6279,7 @@

- + juniper/mist_models.cr @@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6773,7 +6773,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6836,7 +6836,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
@@ -6964,7 +6964,7 @@


- [View source] + [View source]
@@ -6980,7 +6980,7 @@


- [View source] + [View source]
@@ -6996,7 +6996,7 @@


- [View source] + [View source]
@@ -7012,7 +7012,7 @@


- [View source] + [View source]
@@ -7028,7 +7028,7 @@


- [View source] + [View source]
@@ -7044,7 +7044,7 @@


- [View source] + [View source]
diff --git a/Juniper/Mist.html b/Juniper/Mist.html index d862b032cd..ca56b4f541 100644 --- a/Juniper/Mist.html +++ b/Juniper/Mist.html @@ -6279,7 +6279,7 @@

- + juniper/mist.cr @@ -6438,7 +6438,7 @@


- [View source] + [View source]
@@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
diff --git a/Juniper/MistLocationService.html b/Juniper/MistLocationService.html index f4f13cf69e..38b33c7832 100644 --- a/Juniper/MistLocationService.html +++ b/Juniper/MistLocationService.html @@ -6293,7 +6293,7 @@

- + juniper/mist_location_service.cr @@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
diff --git a/Juniper/MistWebsocket.html b/Juniper/MistWebsocket.html index 695e7cd473..09f1781b26 100644 --- a/Juniper/MistWebsocket.html +++ b/Juniper/MistWebsocket.html @@ -6279,7 +6279,7 @@

- + juniper/mist_websocket.cr @@ -6469,7 +6469,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
@@ -6693,7 +6693,7 @@


- [View source] + [View source]
@@ -6709,7 +6709,7 @@


- [View source] + [View source]
@@ -6725,7 +6725,7 @@


- [View source] + [View source]
@@ -6741,7 +6741,7 @@


- [View source] + [View source]
@@ -6757,7 +6757,7 @@


- [View source] + [View source]
@@ -6773,7 +6773,7 @@


- [View source] + [View source]
diff --git a/Juniper/MistWebsocket/WebsocketEvent.html b/Juniper/MistWebsocket/WebsocketEvent.html index a2601e9ce1..ceb4c81e04 100644 --- a/Juniper/MistWebsocket/WebsocketEvent.html +++ b/Juniper/MistWebsocket/WebsocketEvent.html @@ -6307,7 +6307,7 @@

- + juniper/mist_websocket.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Juniper/OtherEvents.html b/Juniper/OtherEvents.html index 41e3afe9ed..d3aedd8d27 100644 --- a/Juniper/OtherEvents.html +++ b/Juniper/OtherEvents.html @@ -6290,7 +6290,7 @@

- + juniper/mist_models.cr @@ -6429,7 +6429,7 @@


- [View source] + [View source]
@@ -6459,7 +6459,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
diff --git a/Juniper/Site.html b/Juniper/Site.html index c5f4c0e765..b71525bdaf 100644 --- a/Juniper/Site.html +++ b/Juniper/Site.html @@ -6309,7 +6309,7 @@

- + juniper/mist_models.cr @@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
diff --git a/Juniper/WebhookEvent.html b/Juniper/WebhookEvent.html index 943c6a45eb..3272868dc0 100644 --- a/Juniper/WebhookEvent.html +++ b/Juniper/WebhookEvent.html @@ -6323,7 +6323,7 @@

- + juniper/mist_models.cr @@ -6414,7 +6414,7 @@


- [View source] + [View source]
diff --git a/Kaiterra.html b/Kaiterra.html index 61637b2c8f..7dd0df39d5 100644 --- a/Kaiterra.html +++ b/Kaiterra.html @@ -6277,7 +6277,7 @@

- + kaiterra/api.cr diff --git a/Kaiterra/API.html b/Kaiterra/API.html index 86b6b072f7..ff937a6e62 100644 --- a/Kaiterra/API.html +++ b/Kaiterra/API.html @@ -6279,7 +6279,7 @@

- + kaiterra/api.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/BatchResponse.html b/Kaiterra/API/BatchResponse.html index ca125dd148..482a3566f3 100644 --- a/Kaiterra/API/BatchResponse.html +++ b/Kaiterra/API/BatchResponse.html @@ -6307,7 +6307,7 @@

- + kaiterra/api.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/Data.html b/Kaiterra/API/Data.html index ad7755d6b6..5134d1ca01 100644 --- a/Kaiterra/API/Data.html +++ b/Kaiterra/API/Data.html @@ -6307,7 +6307,7 @@

- + kaiterra/api.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/Param.html b/Kaiterra/API/Param.html index 768ddc78df..94f075a5e3 100644 --- a/Kaiterra/API/Param.html +++ b/Kaiterra/API/Param.html @@ -6277,7 +6277,7 @@

- + kaiterra/api.cr @@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/Request.html b/Kaiterra/API/Request.html index 24546d17fc..2a83f879ec 100644 --- a/Kaiterra/API/Request.html +++ b/Kaiterra/API/Request.html @@ -6307,7 +6307,7 @@

- + kaiterra/api.cr @@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/Response.html b/Kaiterra/API/Response.html index f30d3553de..14ffb7af90 100644 --- a/Kaiterra/API/Response.html +++ b/Kaiterra/API/Response.html @@ -6307,7 +6307,7 @@

- + kaiterra/api.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Kaiterra/API/Unit.html b/Kaiterra/API/Unit.html index a30d1a2118..d5043535f0 100644 --- a/Kaiterra/API/Unit.html +++ b/Kaiterra/API/Unit.html @@ -6277,7 +6277,7 @@

- + kaiterra/api.cr @@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6711,7 +6711,7 @@


- [View source] + [View source]
diff --git a/KontaktIO.html b/KontaktIO.html index a2b149fe27..6044c3dcd6 100644 --- a/KontaktIO.html +++ b/KontaktIO.html @@ -6277,7 +6277,7 @@

- + kontakt_io/kio_cloud_models.cr diff --git a/KontaktIO/Building.html b/KontaktIO/Building.html index 8a388ebc3c..9227357d1d 100644 --- a/KontaktIO/Building.html +++ b/KontaktIO/Building.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Campus.html b/KontaktIO/Campus.html index abc995f117..8ce7d4286a 100644 --- a/KontaktIO/Campus.html +++ b/KontaktIO/Campus.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Contact.html b/KontaktIO/Contact.html index ff39150fcf..76702b518c 100644 --- a/KontaktIO/Contact.html +++ b/KontaktIO/Contact.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/ContactTracing.html b/KontaktIO/ContactTracing.html index f4da5146d5..562c4ee737 100644 --- a/KontaktIO/ContactTracing.html +++ b/KontaktIO/ContactTracing.html @@ -6279,7 +6279,7 @@

- + kontakt_io/contact_tracing.cr @@ -6379,7 +6379,7 @@


- [View source] + [View source]
@@ -6395,7 +6395,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Floor.html b/KontaktIO/Floor.html index 6bcc692f6e..e79149ae8f 100644 --- a/KontaktIO/Floor.html +++ b/KontaktIO/Floor.html @@ -6309,7 +6309,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/KioCloud.html b/KontaktIO/KioCloud.html index 0d23b1573d..3a3ac21177 100644 --- a/KontaktIO/KioCloud.html +++ b/KontaktIO/KioCloud.html @@ -6279,7 +6279,7 @@

- + kontakt_io/kio_cloud.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@

- [View source] + [View source]
@@ -6568,7 +6568,7 @@

- [View source] + [View source]
@@ -6584,7 +6584,7 @@

- [View source] + [View source]
@@ -6600,7 +6600,7 @@

- [View source] + [View source]
@@ -6616,7 +6616,7 @@

- [View source] + [View source]
diff --git a/KontaktIO/MacAddressMappings.html b/KontaktIO/MacAddressMappings.html index 42489b7cea..3fbcef4cd7 100644 --- a/KontaktIO/MacAddressMappings.html +++ b/KontaktIO/MacAddressMappings.html @@ -6279,7 +6279,7 @@

- + kontakt_io/mac_address_mappings.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/MacAddressMappings/DeviceDetails.html b/KontaktIO/MacAddressMappings/DeviceDetails.html index 2fa82af41f..1d05a106a2 100644 --- a/KontaktIO/MacAddressMappings/DeviceDetails.html +++ b/KontaktIO/MacAddressMappings/DeviceDetails.html @@ -6307,7 +6307,7 @@

- + kontakt_io/mac_address_mappings.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/MacAddressMappings/SearchMeta.html b/KontaktIO/MacAddressMappings/SearchMeta.html index 955d08be27..4e1428f5db 100644 --- a/KontaktIO/MacAddressMappings/SearchMeta.html +++ b/KontaktIO/MacAddressMappings/SearchMeta.html @@ -6307,7 +6307,7 @@

- + kontakt_io/mac_address_mappings.cr @@ -6415,7 +6415,7 @@


- [View source] + [View source]
@@ -6445,7 +6445,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Page.html b/KontaktIO/Page.html index bf9f66a447..a445dcad82 100644 --- a/KontaktIO/Page.html +++ b/KontaktIO/Page.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Position.html b/KontaktIO/Position.html index b6cb3b7791..f02cf547a1 100644 --- a/KontaktIO/Position.html +++ b/KontaktIO/Position.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Presence.html b/KontaktIO/Presence.html index 9dc6fba7b9..2bd5a393fa 100644 --- a/KontaktIO/Presence.html +++ b/KontaktIO/Presence.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Response.html b/KontaktIO/Response.html index d2a43f1d91..52d278d98c 100644 --- a/KontaktIO/Response.html +++ b/KontaktIO/Response.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/Room.html b/KontaktIO/Room.html index e7b2826254..c744077c1d 100644 --- a/KontaktIO/Room.html +++ b/KontaktIO/Room.html @@ -6309,7 +6309,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/RoomOccupancy.html b/KontaktIO/RoomOccupancy.html index 82925d0929..8f4a05f1c8 100644 --- a/KontaktIO/RoomOccupancy.html +++ b/KontaktIO/RoomOccupancy.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/RoomSensor.html b/KontaktIO/RoomSensor.html index b69ba07f4c..4f6f25358c 100644 --- a/KontaktIO/RoomSensor.html +++ b/KontaktIO/RoomSensor.html @@ -6293,7 +6293,7 @@

- + kontakt_io/room_sensor.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
diff --git a/KontaktIO/SensorService.html b/KontaktIO/SensorService.html index bc7f760b17..dbb25905f8 100644 --- a/KontaktIO/SensorService.html +++ b/KontaktIO/SensorService.html @@ -6295,7 +6295,7 @@

- + kontakt_io/sensor_service.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@

View source] + [View source] @@ -6566,7 +6566,7 @@

View source] + [View source] @@ -6582,7 +6582,7 @@

View source] + [View source] @@ -6598,7 +6598,7 @@

View source] + [View source] @@ -6623,7 +6623,7 @@

View source] + [View source] @@ -6650,7 +6650,7 @@

View source] + [View source] diff --git a/KontaktIO/Tracking.html b/KontaktIO/Tracking.html index 298859b926..f753e384ab 100644 --- a/KontaktIO/Tracking.html +++ b/KontaktIO/Tracking.html @@ -6307,7 +6307,7 @@

- + kontakt_io/kio_cloud_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
diff --git a/Kramer.html b/Kramer.html index e81938d512..e37a819c31 100644 --- a/Kramer.html +++ b/Kramer.html @@ -6277,7 +6277,7 @@

- + kramer/rc_308_panel.cr diff --git a/Kramer/RC308Panel.html b/Kramer/RC308Panel.html index 578c6ed319..3155dc26b4 100644 --- a/Kramer/RC308Panel.html +++ b/Kramer/RC308Panel.html @@ -6279,7 +6279,7 @@

- + kramer/rc_308_panel.cr @@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
diff --git a/Kramer/RC308Panel/ButtonAction.html b/Kramer/RC308Panel/ButtonAction.html index a643113118..33e73e4617 100644 --- a/Kramer/RC308Panel/ButtonAction.html +++ b/Kramer/RC308Panel/ButtonAction.html @@ -6277,7 +6277,7 @@

- + kramer/rc_308_panel.cr @@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
diff --git a/Kramer/RC308Panel/DefaultLight.html b/Kramer/RC308Panel/DefaultLight.html index 0126429ec3..576c2ee7ce 100644 --- a/Kramer/RC308Panel/DefaultLight.html +++ b/Kramer/RC308Panel/DefaultLight.html @@ -6307,7 +6307,7 @@

- + kramer/rc_308_panel.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
diff --git a/Lenel.html b/Lenel.html index a73baaaa94..fcb4359eaa 100644 --- a/Lenel.html +++ b/Lenel.html @@ -6277,7 +6277,7 @@

- + lenel/open_access.cr diff --git a/Lenel/OpenAccess.html b/Lenel/OpenAccess.html index c36ac60b28..ac0b97f245 100644 --- a/Lenel/OpenAccess.html +++ b/Lenel/OpenAccess.html @@ -6293,14 +6293,14 @@

- + lenel/open_access.cr:4
- + lenel/open_access.cr:8 @@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6765,7 +6765,7 @@


- [View source] + [View source]
@@ -6786,7 +6786,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6828,7 +6828,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6892,7 +6892,7 @@


- [View source] + [View source]
@@ -6913,7 +6913,7 @@


- [View source] + [View source]
@@ -6929,7 +6929,7 @@


- [View source] + [View source]
@@ -6945,7 +6945,7 @@


- [View source] + [View source]
@@ -6961,7 +6961,7 @@


- [View source] + [View source]
@@ -6977,7 +6977,7 @@


- [View source] + [View source]
@@ -6998,7 +6998,7 @@


- [View source] + [View source]
@@ -7014,7 +7014,7 @@


- [View source] + [View source]
@@ -7030,7 +7030,7 @@


- [View source] + [View source]
@@ -7051,7 +7051,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Client.html b/Lenel/OpenAccess/Client.html index f1e886336c..61855f673e 100644 --- a/Lenel/OpenAccess/Client.html +++ b/Lenel/OpenAccess/Client.html @@ -6293,7 +6293,7 @@

- + lenel/open_access/client.cr @@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6709,7 +6709,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6828,7 +6828,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Error.html b/Lenel/OpenAccess/Error.html index f9e17e7284..8a0c3e40c6 100644 --- a/Lenel/OpenAccess/Error.html +++ b/Lenel/OpenAccess/Error.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/error.cr @@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Error/Info.html b/Lenel/OpenAccess/Error/Info.html index 295e189c2c..857c9b1a0a 100644 --- a/Lenel/OpenAccess/Error/Info.html +++ b/Lenel/OpenAccess/Error/Info.html @@ -6287,7 +6287,7 @@

- + lenel/open_access/error.cr diff --git a/Lenel/OpenAccess/Models.html b/Lenel/OpenAccess/Models.html index 45492212ba..76d45a6bdf 100644 --- a/Lenel/OpenAccess/Models.html +++ b/Lenel/OpenAccess/Models.html @@ -6305,7 +6305,7 @@

- + lenel/open_access/models.cr diff --git a/Lenel/OpenAccess/Models/Badge.html b/Lenel/OpenAccess/Models/Badge.html index be90dc485b..06c69d466f 100644 --- a/Lenel/OpenAccess/Models/Badge.html +++ b/Lenel/OpenAccess/Models/Badge.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/models.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/BadgeType.html b/Lenel/OpenAccess/Models/BadgeType.html index 8f389dfaa8..9ef6b57bad 100644 --- a/Lenel/OpenAccess/Models/BadgeType.html +++ b/Lenel/OpenAccess/Models/BadgeType.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html b/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html index 7ecd5e6a3d..191addeba2 100644 --- a/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html +++ b/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html @@ -6277,7 +6277,7 @@

- + lenel/open_access/models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Cardholder.html b/Lenel/OpenAccess/Models/Cardholder.html index dacfc9d66e..ab6f2538b8 100644 --- a/Lenel/OpenAccess/Models/Cardholder.html +++ b/Lenel/OpenAccess/Models/Cardholder.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/models.cr @@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Element.html b/Lenel/OpenAccess/Models/Element.html index 268d13c2eb..561a2be36d 100644 --- a/Lenel/OpenAccess/Models/Element.html +++ b/Lenel/OpenAccess/Models/Element.html @@ -6342,7 +6342,7 @@

- + lenel/open_access/models.cr @@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Event.html b/Lenel/OpenAccess/Models/Event.html index 3bc205caae..c61a130f1f 100644 --- a/Lenel/OpenAccess/Models/Event.html +++ b/Lenel/OpenAccess/Models/Event.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/models.cr @@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
@@ -6833,7 +6833,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6865,7 +6865,7 @@


- [View source] + [View source]
@@ -6881,7 +6881,7 @@


- [View source] + [View source]
@@ -6897,7 +6897,7 @@


- [View source] + [View source]
@@ -6913,7 +6913,7 @@


- [View source] + [View source]
@@ -6929,7 +6929,7 @@


- [View source] + [View source]
@@ -6945,7 +6945,7 @@


- [View source] + [View source]
@@ -6961,7 +6961,7 @@


- [View source] + [View source]
@@ -6977,7 +6977,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Person.html b/Lenel/OpenAccess/Models/Person.html index e9ec4de6a1..1819473399 100644 --- a/Lenel/OpenAccess/Models/Person.html +++ b/Lenel/OpenAccess/Models/Person.html @@ -6293,7 +6293,7 @@

- + lenel/open_access/models.cr @@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Reader.html b/Lenel/OpenAccess/Models/Reader.html index c20037104f..f357425f6c 100644 --- a/Lenel/OpenAccess/Models/Reader.html +++ b/Lenel/OpenAccess/Models/Reader.html @@ -6279,7 +6279,7 @@

- + lenel/open_access/models.cr @@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7032,7 +7032,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
diff --git a/Lenel/OpenAccess/Models/Untyped.html b/Lenel/OpenAccess/Models/Untyped.html index 2c08eeb518..cfcd660b0d 100644 --- a/Lenel/OpenAccess/Models/Untyped.html +++ b/Lenel/OpenAccess/Models/Untyped.html @@ -6293,7 +6293,7 @@

- + lenel/open_access/models.cr @@ -6454,7 +6454,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
diff --git a/Lenel/TimeConverter.html b/Lenel/TimeConverter.html index dc16208844..9919af2733 100644 --- a/Lenel/TimeConverter.html +++ b/Lenel/TimeConverter.html @@ -6288,7 +6288,7 @@

- + lenel/open_access/models.cr @@ -6351,7 +6351,7 @@


- [View source] + [View source]
diff --git a/Leviton.html b/Leviton.html index 76b48bdf1d..f4bac0bcf0 100644 --- a/Leviton.html +++ b/Leviton.html @@ -6277,7 +6277,7 @@

- + leviton/acquisuite.cr diff --git a/Leviton/Acquisuite.html b/Leviton/Acquisuite.html index 46cbf7545b..3e14c52574 100644 --- a/Leviton/Acquisuite.html +++ b/Leviton/Acquisuite.html @@ -6279,7 +6279,7 @@

- + leviton/acquisuite.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Lg.html b/Lg.html index 1796fd28a7..062cfae96e 100644 --- a/Lg.html +++ b/Lg.html @@ -6277,7 +6277,7 @@

- + lg/displays/ls5.cr diff --git a/Lg/Displays.html b/Lg/Displays.html index 02d7cfbe75..2e94df388b 100644 --- a/Lg/Displays.html +++ b/Lg/Displays.html @@ -6277,7 +6277,7 @@

- + lg/displays/ls5.cr diff --git a/Lg/Displays/Ls5.html b/Lg/Displays/Ls5.html index b908a49257..17aba2d7f7 100644 --- a/Lg/Displays/Ls5.html +++ b/Lg/Displays/Ls5.html @@ -6297,7 +6297,7 @@

- + lg/displays/ls5.cr @@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6779,7 +6779,7 @@


- [View source] + [View source]
@@ -6795,7 +6795,7 @@


- [View source] + [View source]
@@ -6811,7 +6811,7 @@


- [View source] + [View source]
@@ -6827,7 +6827,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6889,7 +6889,7 @@


- [View source] + [View source]
@@ -6905,7 +6905,7 @@


- [View source] + [View source]
@@ -6921,7 +6921,7 @@


- [View source] + [View source]
@@ -6937,7 +6937,7 @@


- [View source] + [View source]
@@ -6953,7 +6953,7 @@


- [View source] + [View source]
@@ -6969,7 +6969,7 @@


- [View source] + [View source]
@@ -6985,7 +6985,7 @@


- [View source] + [View source]
@@ -7001,7 +7001,7 @@


- [View source] + [View source]
@@ -7017,7 +7017,7 @@


- [View source] + [View source]
@@ -7033,7 +7033,7 @@


- [View source] + [View source]
@@ -7049,7 +7049,7 @@


- [View source] + [View source]
@@ -7065,7 +7065,7 @@


- [View source] + [View source]
@@ -7081,7 +7081,7 @@


- [View source] + [View source]
@@ -7097,7 +7097,7 @@


- [View source] + [View source]
@@ -7113,7 +7113,7 @@


- [View source] + [View source]
@@ -7129,7 +7129,7 @@


- [View source] + [View source]
@@ -7145,7 +7145,7 @@


- [View source] + [View source]
@@ -7161,7 +7161,7 @@


- [View source] + [View source]
@@ -7177,7 +7177,7 @@


- [View source] + [View source]
@@ -7193,7 +7193,7 @@


- [View source] + [View source]
diff --git a/Lg/Displays/Ls5/Command.html b/Lg/Displays/Ls5/Command.html index 54a36daa89..fd6ffc45b0 100644 --- a/Lg/Displays/Ls5/Command.html +++ b/Lg/Displays/Ls5/Command.html @@ -6277,7 +6277,7 @@

- + lg/displays/ls5.cr @@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
diff --git a/Lg/Displays/Ls5/Input.html b/Lg/Displays/Ls5/Input.html index 6f464d957b..f3cc18cae6 100644 --- a/Lg/Displays/Ls5/Input.html +++ b/Lg/Displays/Ls5/Input.html @@ -6277,7 +6277,7 @@

- + lg/displays/ls5.cr @@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
diff --git a/Lg/Displays/Ls5/Ratio.html b/Lg/Displays/Ls5/Ratio.html index c1bb2c90c6..8cd594c420 100644 --- a/Lg/Displays/Ls5/Ratio.html +++ b/Lg/Displays/Ls5/Ratio.html @@ -6277,7 +6277,7 @@

- + lg/displays/ls5.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Lumens.html b/Lumens.html index e01eecb249..34f20889d4 100644 --- a/Lumens.html +++ b/Lumens.html @@ -6277,7 +6277,7 @@

- + lumens/dc193.cr diff --git a/Lumens/DC193.html b/Lumens/DC193.html index 055377b8d3..3fbc94d3d1 100644 --- a/Lumens/DC193.html +++ b/Lumens/DC193.html @@ -6295,7 +6295,7 @@

- + lumens/dc193.cr @@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6773,7 +6773,7 @@


- [View source] + [View source]
@@ -6789,7 +6789,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
diff --git a/Lumens/DC193/Status.html b/Lumens/DC193/Status.html index 9ec4cd1962..e70391f871 100644 --- a/Lumens/DC193/Status.html +++ b/Lumens/DC193/Status.html @@ -6277,7 +6277,7 @@

- + lumens/dc193.cr @@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
diff --git a/Lutron.html b/Lutron.html index 6ce59bb87e..0a0a61c510 100644 --- a/Lutron.html +++ b/Lutron.html @@ -6277,14 +6277,14 @@

- + lutron/lighting.cr
- + lutron/vive_leap_models.cr @@ -6351,7 +6351,7 @@


- [View source] + [View source]
diff --git a/Lutron/AreaStatus.html b/Lutron/AreaStatus.html index 7a9edb68d8..70237c5806 100644 --- a/Lutron/AreaStatus.html +++ b/Lutron/AreaStatus.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
diff --git a/Lutron/Availability.html b/Lutron/Availability.html index 020ab3cec6..5d179b35bd 100644 --- a/Lutron/Availability.html +++ b/Lutron/Availability.html @@ -6277,7 +6277,7 @@

- + lutron/vive_leap_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Lutron/ClientSetting.html b/Lutron/ClientSetting.html index f2a19a61a6..c995e793a1 100644 --- a/Lutron/ClientSetting.html +++ b/Lutron/ClientSetting.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Lutron/ClientVersion.html b/Lutron/ClientVersion.html index ef73058d55..8b99727f23 100644 --- a/Lutron/ClientVersion.html +++ b/Lutron/ClientVersion.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Lutron/CommuniqueType.html b/Lutron/CommuniqueType.html index d6a9bedfa3..f80a1c5986 100644 --- a/Lutron/CommuniqueType.html +++ b/Lutron/CommuniqueType.html @@ -6277,7 +6277,7 @@

- + lutron/vive_leap_models.cr @@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
diff --git a/Lutron/ContactClosureState.html b/Lutron/ContactClosureState.html index a1c21ee1bf..24531a67a4 100644 --- a/Lutron/ContactClosureState.html +++ b/Lutron/ContactClosureState.html @@ -6277,7 +6277,7 @@

- + lutron/vive_leap_models.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Lutron/ExceptionDetail.html b/Lutron/ExceptionDetail.html index e526a3ac80..6a054d05a8 100644 --- a/Lutron/ExceptionDetail.html +++ b/Lutron/ExceptionDetail.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Lutron/Lighting.html b/Lutron/Lighting.html index 6b229cfb48..aa95fbc53b 100644 --- a/Lutron/Lighting.html +++ b/Lutron/Lighting.html @@ -6279,7 +6279,7 @@

- + lutron/lighting.cr @@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@

- [View source] + [View source]
@@ -6539,7 +6539,7 @@

- [View source] + [View source]
@@ -6555,7 +6555,7 @@

- [View source] + [View source]
@@ -6571,7 +6571,7 @@

- [View source] + [View source]
@@ -6587,7 +6587,7 @@

- [View source] + [View source]
@@ -6603,7 +6603,7 @@

- [View source] + [View source]
@@ -6619,7 +6619,7 @@

- [View source] + [View source]
@@ -6640,7 +6640,7 @@

- [View source] + [View source]
@@ -6656,7 +6656,7 @@

- [View source] + [View source]
@@ -6677,7 +6677,7 @@

- [View source] + [View source]
@@ -6693,7 +6693,7 @@

- [View source] + [View source]
@@ -6709,7 +6709,7 @@

- [View source] + [View source]
@@ -6725,7 +6725,7 @@

- [View source] + [View source]
@@ -6741,7 +6741,7 @@

- [View source] + [View source]
@@ -6757,7 +6757,7 @@

- [View source] + [View source]
@@ -6782,7 +6782,7 @@

View source] + [View source] @@ -6798,7 +6798,7 @@

View source] + [View source] @@ -6823,7 +6823,7 @@

View source] + [View source] diff --git a/Lutron/MultipleAreaStatus.html b/Lutron/MultipleAreaStatus.html index 823ab53d25..30502287dd 100644 --- a/Lutron/MultipleAreaStatus.html +++ b/Lutron/MultipleAreaStatus.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Lutron/MultipleZoneStatus.html b/Lutron/MultipleZoneStatus.html index 6b3d903aad..a73d6e3197 100644 --- a/Lutron/MultipleZoneStatus.html +++ b/Lutron/MultipleZoneStatus.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Lutron/OccupancyStatus.html b/Lutron/OccupancyStatus.html index 9892784baf..d7c62076ef 100644 --- a/Lutron/OccupancyStatus.html +++ b/Lutron/OccupancyStatus.html @@ -6277,7 +6277,7 @@

- + lutron/vive_leap_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Lutron/OneZoneStatus.html b/Lutron/OneZoneStatus.html index df4efff9b4..ec42c41810 100644 --- a/Lutron/OneZoneStatus.html +++ b/Lutron/OneZoneStatus.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Lutron/Quantum.html b/Lutron/Quantum.html index cc91b82b72..346d9996fb 100644 --- a/Lutron/Quantum.html +++ b/Lutron/Quantum.html @@ -6279,7 +6279,7 @@

- + lutron/quantum.cr @@ -6414,7 +6414,7 @@


- [View source] + [View source]
@@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Lutron/Quantum/Client.html b/Lutron/Quantum/Client.html index d42ab7637d..0e26f9cd9b 100644 --- a/Lutron/Quantum/Client.html +++ b/Lutron/Quantum/Client.html @@ -6287,7 +6287,7 @@

- + lutron/quantum.cr diff --git a/Lutron/Request.html b/Lutron/Request.html index 5c161b8bfc..850e5e1ffd 100644 --- a/Lutron/Request.html +++ b/Lutron/Request.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
diff --git a/Lutron/SwitchedLevel.html b/Lutron/SwitchedLevel.html index c8c6f229f9..ac6ffa5804 100644 --- a/Lutron/SwitchedLevel.html +++ b/Lutron/SwitchedLevel.html @@ -6277,7 +6277,7 @@

- + lutron/vive_leap_models.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Lutron/ViveBacnet.html b/Lutron/ViveBacnet.html index 5dd97da2cc..2753944255 100644 --- a/Lutron/ViveBacnet.html +++ b/Lutron/ViveBacnet.html @@ -6293,7 +6293,7 @@

- + lutron/vive_bacnet.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
diff --git a/Lutron/ViveLeap.html b/Lutron/ViveLeap.html index 41aede7085..36bf36b808 100644 --- a/Lutron/ViveLeap.html +++ b/Lutron/ViveLeap.html @@ -6293,7 +6293,7 @@

- + lutron/vive_leap.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
diff --git a/Lutron/ZoneStatus.html b/Lutron/ZoneStatus.html index 1c5a31aedf..40530ae444 100644 --- a/Lutron/ZoneStatus.html +++ b/Lutron/ZoneStatus.html @@ -6307,7 +6307,7 @@

- + lutron/vive_leap_models.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Mailer.html b/Mailer.html index d45a30ad56..8bfe9d8d0d 100644 --- a/Mailer.html +++ b/Mailer.html @@ -6293,7 +6293,7 @@

- + place/survey_mailer_spec.cr @@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
diff --git a/MessageMedia.html b/MessageMedia.html index a047f4bd21..c15574a3b4 100644 --- a/MessageMedia.html +++ b/MessageMedia.html @@ -6277,7 +6277,7 @@

- + message_media/sms.cr diff --git a/MessageMedia/SMS.html b/MessageMedia/SMS.html index 3d17717e0a..75847ab7ef 100644 --- a/MessageMedia/SMS.html +++ b/MessageMedia/SMS.html @@ -6293,7 +6293,7 @@

- + message_media/sms.cr @@ -6408,7 +6408,7 @@


- [View source] + [View source]
@@ -6424,7 +6424,7 @@


- [View source] + [View source]
@@ -6440,7 +6440,7 @@


- [View source] + [View source]
diff --git a/Microsoft.html b/Microsoft.html index 8f1b268a2a..5af1d046ff 100644 --- a/Microsoft.html +++ b/Microsoft.html @@ -6277,7 +6277,7 @@

- + microsoft/find_me_models.cr diff --git a/Microsoft/Coordinates.html b/Microsoft/Coordinates.html index 7376b48685..d3ed2444fd 100644 --- a/Microsoft/Coordinates.html +++ b/Microsoft/Coordinates.html @@ -6307,7 +6307,7 @@

- + microsoft/find_me_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Microsoft/FindMe.html b/Microsoft/FindMe.html index ed22774684..09e60579d7 100644 --- a/Microsoft/FindMe.html +++ b/Microsoft/FindMe.html @@ -6279,7 +6279,7 @@

- + microsoft/find_me.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/Microsoft/FindMeLocationService.html b/Microsoft/FindMeLocationService.html index 13b92c99e2..e2598a9902 100644 --- a/Microsoft/FindMeLocationService.html +++ b/Microsoft/FindMeLocationService.html @@ -6293,7 +6293,7 @@

- + microsoft/find_me_location_service.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@

View source] + [View source] @@ -6516,7 +6516,7 @@

View source] + [View source] @@ -6532,7 +6532,7 @@

View source] + [View source] @@ -6548,7 +6548,7 @@

View source] + [View source] diff --git a/Microsoft/GPS.html b/Microsoft/GPS.html index 4dacb26dc0..64679b50fc 100644 --- a/Microsoft/GPS.html +++ b/Microsoft/GPS.html @@ -6307,7 +6307,7 @@

- + microsoft/find_me_models.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Microsoft/GraphAPI.html b/Microsoft/GraphAPI.html index fa85c3ffc5..0197425d5b 100644 --- a/Microsoft/GraphAPI.html +++ b/Microsoft/GraphAPI.html @@ -6293,7 +6293,7 @@

- + microsoft/graph_api.cr diff --git a/Microsoft/Level.html b/Microsoft/Level.html index 3877c1b66a..72ec550b1a 100644 --- a/Microsoft/Level.html +++ b/Microsoft/Level.html @@ -6307,7 +6307,7 @@

- + microsoft/find_me_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Microsoft/Location.html b/Microsoft/Location.html index 2fb7aa82e3..48a180bc93 100644 --- a/Microsoft/Location.html +++ b/Microsoft/Location.html @@ -6323,7 +6323,7 @@

- + microsoft/find_me_models.cr @@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
diff --git a/Microsoft/Location/RFC3339Converter.html b/Microsoft/Location/RFC3339Converter.html index bb1d6ffa79..5f0526b185 100644 --- a/Microsoft/Location/RFC3339Converter.html +++ b/Microsoft/Location/RFC3339Converter.html @@ -6277,7 +6277,7 @@

- + microsoft/find_me_models.cr @@ -6345,7 +6345,7 @@


- [View source] + [View source]
@@ -6361,7 +6361,7 @@


- [View source] + [View source]
diff --git a/Microsoft/UserData.html b/Microsoft/UserData.html index c9147909d6..986af0868c 100644 --- a/Microsoft/UserData.html +++ b/Microsoft/UserData.html @@ -6307,7 +6307,7 @@

- + microsoft/find_me_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/MuleSoft.html b/MuleSoft.html index 4b2522ab10..4050f4144f 100644 --- a/MuleSoft.html +++ b/MuleSoft.html @@ -6277,7 +6277,7 @@

- + mulesoft/models.cr diff --git a/MuleSoft/Booking.html b/MuleSoft/Booking.html index 0cbc4fc17e..0ddce319f2 100644 --- a/MuleSoft/Booking.html +++ b/MuleSoft/Booking.html @@ -6307,7 +6307,7 @@

- + mulesoft/models.cr @@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
diff --git a/MuleSoft/BookingResults.html b/MuleSoft/BookingResults.html index 1aaaae1d24..ce17ed03a8 100644 --- a/MuleSoft/BookingResults.html +++ b/MuleSoft/BookingResults.html @@ -6307,7 +6307,7 @@

- + mulesoft/models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/MuleSoft/BookingsAPI.html b/MuleSoft/BookingsAPI.html index cab6cba70b..9b1bbb1ebb 100644 --- a/MuleSoft/BookingsAPI.html +++ b/MuleSoft/BookingsAPI.html @@ -6279,7 +6279,7 @@

- + mulesoft/booking_api.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/MuleSoft/CalendarExporter.html b/MuleSoft/CalendarExporter.html index e5b7e2bf36..c3944f61e3 100644 --- a/MuleSoft/CalendarExporter.html +++ b/MuleSoft/CalendarExporter.html @@ -6279,7 +6279,7 @@

- + mulesoft/calendar_exporter.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/MuleSoft/DateTimeConvertor.html b/MuleSoft/DateTimeConvertor.html index 452cd3f8ff..794b6f5071 100644 --- a/MuleSoft/DateTimeConvertor.html +++ b/MuleSoft/DateTimeConvertor.html @@ -6291,7 +6291,7 @@

- + mulesoft/models.cr @@ -6361,7 +6361,7 @@


- [View source] + [View source]
@@ -6377,7 +6377,7 @@


- [View source] + [View source]
diff --git a/Nec.html b/Nec.html index 5e45dc4f99..c56d0767f1 100644 --- a/Nec.html +++ b/Nec.html @@ -6277,7 +6277,7 @@

- + nec/display.cr diff --git a/Nec/Display.html b/Nec/Display.html index b74aa976fb..17d7c40b36 100644 --- a/Nec/Display.html +++ b/Nec/Display.html @@ -6297,7 +6297,7 @@

- + nec/display.cr @@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6909,7 +6909,7 @@


- [View source] + [View source]
@@ -6925,7 +6925,7 @@


- [View source] + [View source]
@@ -6941,7 +6941,7 @@


- [View source] + [View source]
@@ -6957,7 +6957,7 @@


- [View source] + [View source]
diff --git a/Nec/Display/Audio.html b/Nec/Display/Audio.html index 4c71c4d812..daf77eb733 100644 --- a/Nec/Display/Audio.html +++ b/Nec/Display/Audio.html @@ -6277,7 +6277,7 @@

- + nec/display.cr @@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
diff --git a/Nec/Display/Command.html b/Nec/Display/Command.html index c7afb352e2..4c2bc83053 100644 --- a/Nec/Display/Command.html +++ b/Nec/Display/Command.html @@ -6277,7 +6277,7 @@

- + nec/display.cr @@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
diff --git a/Nec/Display/Input.html b/Nec/Display/Input.html index aaec473104..5761a06829 100644 --- a/Nec/Display/Input.html +++ b/Nec/Display/Input.html @@ -6277,7 +6277,7 @@

- + nec/display.cr @@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
diff --git a/Nec/Display/MsgType.html b/Nec/Display/MsgType.html index 64f1d302d5..42b37209c6 100644 --- a/Nec/Display/MsgType.html +++ b/Nec/Display/MsgType.html @@ -6288,7 +6288,7 @@

- + nec/display.cr @@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
diff --git a/Nec/Projector.html b/Nec/Projector.html index 8ca6479cdb..2ac21e21b0 100644 --- a/Nec/Projector.html +++ b/Nec/Projector.html @@ -6297,7 +6297,7 @@

- + nec/np_series.cr @@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6899,7 +6899,7 @@


- [View source] + [View source]
@@ -6915,7 +6915,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
@@ -6963,7 +6963,7 @@


- [View source] + [View source]
@@ -6979,7 +6979,7 @@


- [View source] + [View source]
@@ -6995,7 +6995,7 @@


- [View source] + [View source]
@@ -7011,7 +7011,7 @@


- [View source] + [View source]
@@ -7027,7 +7027,7 @@


- [View source] + [View source]
@@ -7053,7 +7053,7 @@


- [View source] + [View source]
@@ -7069,7 +7069,7 @@


- [View source] + [View source]
@@ -7085,7 +7085,7 @@


- [View source] + [View source]
@@ -7101,7 +7101,7 @@


- [View source] + [View source]
@@ -7117,7 +7117,7 @@


- [View source] + [View source]
@@ -7133,7 +7133,7 @@


- [View source] + [View source]
diff --git a/Nec/Projector/Audio.html b/Nec/Projector/Audio.html index 001fa81ef2..6b006d23b0 100644 --- a/Nec/Projector/Audio.html +++ b/Nec/Projector/Audio.html @@ -6277,7 +6277,7 @@

- + nec/np_series.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Nec/Projector/Input.html b/Nec/Projector/Input.html index 0f2cc3f6bd..590de70f20 100644 --- a/Nec/Projector/Input.html +++ b/Nec/Projector/Input.html @@ -6277,7 +6277,7 @@

- + nec/np_series.cr @@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6629,7 +6629,7 @@


- [View source] + [View source]
@@ -6645,7 +6645,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
diff --git a/Nec/Projector/Response.html b/Nec/Projector/Response.html index 75b19adb50..a1395c593e 100644 --- a/Nec/Projector/Response.html +++ b/Nec/Projector/Response.html @@ -6288,7 +6288,7 @@

- + nec/np_series.cr @@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd.html b/OfficeRnd.html index 87550af6d0..57001453c9 100644 --- a/OfficeRnd.html +++ b/OfficeRnd.html @@ -6288,14 +6288,14 @@

- + office_rnd/models.cr
- + office_rnd/office_rnd_api.cr diff --git a/OfficeRnd/Booking.html b/OfficeRnd/Booking.html index c616070947..8bec070ccf 100644 --- a/OfficeRnd/Booking.html +++ b/OfficeRnd/Booking.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/BookingFee.html b/OfficeRnd/BookingFee.html index ba4bef2643..3c262eee13 100644 --- a/OfficeRnd/BookingFee.html +++ b/OfficeRnd/BookingFee.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/BookingTime.html b/OfficeRnd/BookingTime.html index 504901d0f9..415c1547bb 100644 --- a/OfficeRnd/BookingTime.html +++ b/OfficeRnd/BookingTime.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Credit.html b/OfficeRnd/Credit.html index 0aa215855b..6348244c82 100644 --- a/OfficeRnd/Credit.html +++ b/OfficeRnd/Credit.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Data.html b/OfficeRnd/Data.html index deed700de0..773c7d7e83 100644 --- a/OfficeRnd/Data.html +++ b/OfficeRnd/Data.html @@ -6343,7 +6343,7 @@

- + office_rnd/models.cr @@ -6444,7 +6444,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Fee.html b/OfficeRnd/Fee.html index 6e3a0a7c8c..22ecbae490 100644 --- a/OfficeRnd/Fee.html +++ b/OfficeRnd/Fee.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Floor.html b/OfficeRnd/Floor.html index 0c57c08a8a..3c8d36fb16 100644 --- a/OfficeRnd/Floor.html +++ b/OfficeRnd/Floor.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Office.html b/OfficeRnd/Office.html index 93f5e12937..9c655f5013 100644 --- a/OfficeRnd/Office.html +++ b/OfficeRnd/Office.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/OfficeRndAPI.html b/OfficeRnd/OfficeRndAPI.html index 2a9dc221c3..4789ff1c31 100644 --- a/OfficeRnd/OfficeRndAPI.html +++ b/OfficeRnd/OfficeRndAPI.html @@ -6279,7 +6279,7 @@

- + office_rnd/office_rnd_api.cr @@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/OfficeRndAPI/BookingArgument.html b/OfficeRnd/OfficeRndAPI/BookingArgument.html index ecf2e26e40..49c89887bd 100644 --- a/OfficeRnd/OfficeRndAPI/BookingArgument.html +++ b/OfficeRnd/OfficeRndAPI/BookingArgument.html @@ -6287,7 +6287,7 @@

- + office_rnd/office_rnd_api.cr diff --git a/OfficeRnd/Rate.html b/OfficeRnd/Rate.html index 3b45c2a147..204821d36b 100644 --- a/OfficeRnd/Rate.html +++ b/OfficeRnd/Rate.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Rate/CancellationPolicy.html b/OfficeRnd/Rate/CancellationPolicy.html index 9619d105d5..c04d264427 100644 --- a/OfficeRnd/Rate/CancellationPolicy.html +++ b/OfficeRnd/Rate/CancellationPolicy.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Rate/Extra.html b/OfficeRnd/Rate/Extra.html index cdc82cd255..a5a786937c 100644 --- a/OfficeRnd/Rate/Extra.html +++ b/OfficeRnd/Rate/Extra.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Resource.html b/OfficeRnd/Resource.html index 2005c20834..9e5c395ebb 100644 --- a/OfficeRnd/Resource.html +++ b/OfficeRnd/Resource.html @@ -6279,7 +6279,7 @@

- + office_rnd/models.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/Resource/Type.html b/OfficeRnd/Resource/Type.html index 76375bfeb8..91662cbc68 100644 --- a/OfficeRnd/Resource/Type.html +++ b/OfficeRnd/Resource/Type.html @@ -6277,7 +6277,7 @@

- + office_rnd/models.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
diff --git a/OfficeRnd/TokenResponse.html b/OfficeRnd/TokenResponse.html index 1310b53d47..21f7bda901 100644 --- a/OfficeRnd/TokenResponse.html +++ b/OfficeRnd/TokenResponse.html @@ -6307,7 +6307,7 @@

- + office_rnd/models.cr @@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
diff --git a/OpenAI.html b/OpenAI.html index 749e307881..68a28bf895 100644 --- a/OpenAI.html +++ b/OpenAI.html @@ -6277,28 +6277,28 @@

- + open_ai/models/chat_completion.cr
- + open_ai/models/edit_completion.cr
- + open_ai/models/model.cr
- + open_ai/models/text_completion.cr diff --git a/OpenAI/ChatCompletion.html b/OpenAI/ChatCompletion.html index b28e65a346..4dcbf4c11d 100644 --- a/OpenAI/ChatCompletion.html +++ b/OpenAI/ChatCompletion.html @@ -6307,7 +6307,7 @@

- + open_ai/models/chat_completion.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/OpenAI/CreateChatCompletion.html b/OpenAI/CreateChatCompletion.html index 22c05ce980..650367d385 100644 --- a/OpenAI/CreateChatCompletion.html +++ b/OpenAI/CreateChatCompletion.html @@ -6318,7 +6318,7 @@

- + open_ai/models/chat_completion.cr @@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6821,7 +6821,7 @@


- [View source] + [View source]
@@ -6844,7 +6844,7 @@


- [View source] + [View source]
@@ -6866,7 +6866,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6909,7 +6909,7 @@


- [View source] + [View source]
@@ -6930,7 +6930,7 @@


- [View source] + [View source]
@@ -6953,7 +6953,7 @@


- [View source] + [View source]
@@ -6976,7 +6976,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7024,7 +7024,7 @@


- [View source] + [View source]
@@ -7045,7 +7045,7 @@


- [View source] + [View source]
@@ -7066,7 +7066,7 @@


- [View source] + [View source]
diff --git a/OpenAI/CreateEditCompletion.html b/OpenAI/CreateEditCompletion.html index cd91648bc6..a50e72e718 100644 --- a/OpenAI/CreateEditCompletion.html +++ b/OpenAI/CreateEditCompletion.html @@ -6318,7 +6318,7 @@

- + open_ai/models/edit_completion.cr @@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
diff --git a/OpenAI/CreateTextCompletion.html b/OpenAI/CreateTextCompletion.html index 22572ce057..6ccfd1c4fd 100644 --- a/OpenAI/CreateTextCompletion.html +++ b/OpenAI/CreateTextCompletion.html @@ -6318,7 +6318,7 @@

- + open_ai/models/text_completion.cr @@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6741,7 +6741,7 @@


- [View source] + [View source]
@@ -6764,7 +6764,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6873,7 +6873,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
@@ -6940,7 +6940,7 @@


- [View source] + [View source]
@@ -6961,7 +6961,7 @@


- [View source] + [View source]
@@ -6977,7 +6977,7 @@


- [View source] + [View source]
@@ -6993,7 +6993,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7039,7 +7039,7 @@


- [View source] + [View source]
@@ -7060,7 +7060,7 @@


- [View source] + [View source]
@@ -7081,7 +7081,7 @@


- [View source] + [View source]
@@ -7103,7 +7103,7 @@


- [View source] + [View source]
@@ -7125,7 +7125,7 @@


- [View source] + [View source]
@@ -7146,7 +7146,7 @@


- [View source] + [View source]
@@ -7167,7 +7167,7 @@


- [View source] + [View source]
@@ -7188,7 +7188,7 @@


- [View source] + [View source]
@@ -7209,7 +7209,7 @@


- [View source] + [View source]
@@ -7232,7 +7232,7 @@


- [View source] + [View source]
@@ -7255,7 +7255,7 @@


- [View source] + [View source]
@@ -7279,7 +7279,7 @@


- [View source] + [View source]
@@ -7303,7 +7303,7 @@


- [View source] + [View source]
@@ -7324,7 +7324,7 @@


- [View source] + [View source]
@@ -7345,7 +7345,7 @@


- [View source] + [View source]
diff --git a/OpenAI/GPT.html b/OpenAI/GPT.html index 365269fa0d..1b80a66167 100644 --- a/OpenAI/GPT.html +++ b/OpenAI/GPT.html @@ -6279,7 +6279,7 @@

- + open_ai/gpt.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/OpenAI/List.html b/OpenAI/List.html index fed54feaed..b0ff3951df 100644 --- a/OpenAI/List.html +++ b/OpenAI/List.html @@ -6307,7 +6307,7 @@

- + open_ai/models/model.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/OpenAI/Message.html b/OpenAI/Message.html index 28c8c23d75..5886faccae 100644 --- a/OpenAI/Message.html +++ b/OpenAI/Message.html @@ -6319,7 +6319,7 @@

- + open_ai/models/chat_completion.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
diff --git a/OpenAI/MessageChoice.html b/OpenAI/MessageChoice.html index f33d0cd7e7..8be87d28fe 100644 --- a/OpenAI/MessageChoice.html +++ b/OpenAI/MessageChoice.html @@ -6307,7 +6307,7 @@

- + open_ai/models/chat_completion.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/OpenAI/Model.html b/OpenAI/Model.html index b845d7d140..b41196072e 100644 --- a/OpenAI/Model.html +++ b/OpenAI/Model.html @@ -6320,7 +6320,7 @@

- + open_ai/models/model.cr @@ -6458,7 +6458,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
diff --git a/OpenAI/Role.html b/OpenAI/Role.html index 5a48e9cbab..aa0839f5af 100644 --- a/OpenAI/Role.html +++ b/OpenAI/Role.html @@ -6277,7 +6277,7 @@

- + open_ai/models/chat_completion.cr @@ -6434,7 +6434,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/OpenAI/TextChoice.html b/OpenAI/TextChoice.html index 5463c5b9d9..0c8663762f 100644 --- a/OpenAI/TextChoice.html +++ b/OpenAI/TextChoice.html @@ -6309,7 +6309,7 @@

- + open_ai/models/text_completion.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
diff --git a/OpenAI/TextCompletion.html b/OpenAI/TextCompletion.html index 2dbb9db21b..73f78662b3 100644 --- a/OpenAI/TextCompletion.html +++ b/OpenAI/TextCompletion.html @@ -6307,7 +6307,7 @@

- + open_ai/models/text_completion.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/OpenAI/Usage.html b/OpenAI/Usage.html index ad8d3d6fa0..bd7f5234a6 100644 --- a/OpenAI/Usage.html +++ b/OpenAI/Usage.html @@ -6307,7 +6307,7 @@

- + open_ai/models/model.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/OpenAI/VoiceControlInterface.html b/OpenAI/VoiceControlInterface.html index 08bde1d0b0..20d87853f2 100644 --- a/OpenAI/VoiceControlInterface.html +++ b/OpenAI/VoiceControlInterface.html @@ -6293,7 +6293,7 @@

- + open_ai/voice_control.cr @@ -6439,7 +6439,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
diff --git a/OpenAI/VoiceControlInterface/Metadata.html b/OpenAI/VoiceControlInterface/Metadata.html index 2aa5112f36..c015accfbe 100644 --- a/OpenAI/VoiceControlInterface/Metadata.html +++ b/OpenAI/VoiceControlInterface/Metadata.html @@ -6287,7 +6287,7 @@

- + open_ai/voice_control.cr diff --git a/Panasonic.html b/Panasonic.html index e44a34b1dc..98f6e88758 100644 --- a/Panasonic.html +++ b/Panasonic.html @@ -6277,7 +6277,7 @@

- + panasonic/camera/he_series.cr diff --git a/Panasonic/Camera.html b/Panasonic/Camera.html index e3f9023eb6..b703bfb8ba 100644 --- a/Panasonic/Camera.html +++ b/Panasonic/Camera.html @@ -6277,7 +6277,7 @@

- + panasonic/camera/he_series.cr diff --git a/Panasonic/Camera/HESeries.html b/Panasonic/Camera/HESeries.html index 7236a104a4..38627d6547 100644 --- a/Panasonic/Camera/HESeries.html +++ b/Panasonic/Camera/HESeries.html @@ -6295,7 +6295,7 @@

- + panasonic/camera/he_series.cr @@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6876,7 +6876,7 @@


- [View source] + [View source]
diff --git a/Panasonic/Camera/HESeries/Installation.html b/Panasonic/Camera/HESeries/Installation.html index 5f547827f3..977922496d 100644 --- a/Panasonic/Camera/HESeries/Installation.html +++ b/Panasonic/Camera/HESeries/Installation.html @@ -6277,7 +6277,7 @@

- + panasonic/camera/he_series.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Panasonic/Display.html b/Panasonic/Display.html index d2d936f3be..0710c054dc 100644 --- a/Panasonic/Display.html +++ b/Panasonic/Display.html @@ -6277,7 +6277,7 @@

- + panasonic/display/protocol2.cr diff --git a/Panasonic/Display/Protocol2.html b/Panasonic/Display/Protocol2.html index 6150de9357..e9944eeeda 100644 --- a/Panasonic/Display/Protocol2.html +++ b/Panasonic/Display/Protocol2.html @@ -6297,7 +6297,7 @@

- + panasonic/display/protocol2.cr @@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6637,7 +6637,7 @@


- [View source] + [View source]
@@ -6653,7 +6653,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6685,7 +6685,7 @@


- [View source] + [View source]
@@ -6701,7 +6701,7 @@


- [View source] + [View source]
@@ -6727,7 +6727,7 @@


- [View source] + [View source]
@@ -6743,7 +6743,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
diff --git a/Panasonic/Display/Protocol2/Inputs.html b/Panasonic/Display/Protocol2/Inputs.html index d03d958870..4f9bc052e3 100644 --- a/Panasonic/Display/Protocol2/Inputs.html +++ b/Panasonic/Display/Protocol2/Inputs.html @@ -6277,7 +6277,7 @@

- + panasonic/display/protocol2.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Panasonic/Projector.html b/Panasonic/Projector.html index 143b63db56..c721fadf51 100644 --- a/Panasonic/Projector.html +++ b/Panasonic/Projector.html @@ -6277,7 +6277,7 @@

- + panasonic/projector/nt_control.cr diff --git a/Panasonic/Projector/NTControl.html b/Panasonic/Projector/NTControl.html index 43e7379a8e..a7b1985f22 100644 --- a/Panasonic/Projector/NTControl.html +++ b/Panasonic/Projector/NTControl.html @@ -6297,7 +6297,7 @@

- + panasonic/projector/nt_control.cr @@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
diff --git a/Panasonic/Projector/NTControl/Inputs.html b/Panasonic/Projector/NTControl/Inputs.html index ea9704d899..dd76829ebf 100644 --- a/Panasonic/Projector/NTControl/Inputs.html +++ b/Panasonic/Projector/NTControl/Inputs.html @@ -6277,7 +6277,7 @@

- + panasonic/projector/nt_control.cr @@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
@@ -6545,7 +6545,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
diff --git a/Pattr.html b/Pattr.html index ba8dfeb047..a795e5489d 100644 --- a/Pattr.html +++ b/Pattr.html @@ -6277,7 +6277,7 @@

- + pattr/chat_bot_models.cr diff --git a/Pattr/ChatBot.html b/Pattr/ChatBot.html index 268d774b53..a4813d0d86 100644 --- a/Pattr/ChatBot.html +++ b/Pattr/ChatBot.html @@ -6279,7 +6279,7 @@

- + pattr/chat_bot.cr @@ -6391,7 +6391,7 @@


- [View source] + [View source]
@@ -6412,7 +6412,7 @@


- [View source] + [View source]
@@ -6428,7 +6428,7 @@


- [View source] + [View source]
@@ -6444,7 +6444,7 @@


- [View source] + [View source]
diff --git a/Pattr/Location.html b/Pattr/Location.html index 54350f94b2..32cd963b31 100644 --- a/Pattr/Location.html +++ b/Pattr/Location.html @@ -6279,7 +6279,7 @@

- + pattr/chat_bot_models.cr @@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
diff --git a/Pattr/PlaceLocationResult.html b/Pattr/PlaceLocationResult.html index 210714d7c3..3630ee61e7 100644 --- a/Pattr/PlaceLocationResult.html +++ b/Pattr/PlaceLocationResult.html @@ -6307,7 +6307,7 @@

- + pattr/chat_bot_models.cr @@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
diff --git a/Pattr/Request.html b/Pattr/Request.html index 9a81611eb2..73268d775b 100644 --- a/Pattr/Request.html +++ b/Pattr/Request.html @@ -6321,7 +6321,7 @@

- + pattr/chat_bot_models.cr @@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Philips.html b/Philips.html index 10140c930b..174469cb0e 100644 --- a/Philips.html +++ b/Philips.html @@ -6277,7 +6277,7 @@

- + philips/dynalite.cr diff --git a/Philips/DyNetText.html b/Philips/DyNetText.html index 9c4620cbf3..1612fa4623 100644 --- a/Philips/DyNetText.html +++ b/Philips/DyNetText.html @@ -6295,7 +6295,7 @@

- + philips/dynet_text.cr @@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6679,7 +6679,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
diff --git a/Philips/DyNetText/Area.html b/Philips/DyNetText/Area.html index d8f4f9427b..d2893e78bf 100644 --- a/Philips/DyNetText/Area.html +++ b/Philips/DyNetText/Area.html @@ -6287,7 +6287,7 @@

- + philips/dynet_text.cr diff --git a/Philips/Dynalite.html b/Philips/Dynalite.html index 196ba1b1b6..fbcb819168 100644 --- a/Philips/Dynalite.html +++ b/Philips/Dynalite.html @@ -6295,7 +6295,7 @@

- + philips/dynalite.cr @@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
@@ -6841,7 +6841,7 @@


- [View source] + [View source]
@@ -6857,7 +6857,7 @@


- [View source] + [View source]
diff --git a/Philips/Dynalite/Area.html b/Philips/Dynalite/Area.html index a90451a9f0..b4ea6c31fc 100644 --- a/Philips/Dynalite/Area.html +++ b/Philips/Dynalite/Area.html @@ -6287,7 +6287,7 @@

- + philips/dynalite.cr diff --git a/Place.html b/Place.html index f6326ab1f6..7a22c61e66 100644 --- a/Place.html +++ b/Place.html @@ -6277,21 +6277,21 @@

- + place/area_config.cr
- + place/meet/help.cr
- + place/mqtt_transport_adaptor.cr diff --git a/Place/AreaConfig.html b/Place/AreaConfig.html index cac76992ff..0752d20fb0 100644 --- a/Place/AreaConfig.html +++ b/Place/AreaConfig.html @@ -6307,7 +6307,7 @@

- + place/area_config.cr @@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6637,7 +6637,7 @@


- [View source] + [View source]
@@ -6653,7 +6653,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6685,7 +6685,7 @@


- [View source] + [View source]
@@ -6701,7 +6701,7 @@


- [View source] + [View source]
@@ -6717,7 +6717,7 @@


- [View source] + [View source]
@@ -6733,7 +6733,7 @@


- [View source] + [View source]
@@ -6749,7 +6749,7 @@


- [View source] + [View source]
@@ -6765,7 +6765,7 @@


- [View source] + [View source]
@@ -6781,7 +6781,7 @@


- [View source] + [View source]
diff --git a/Place/AreaManagement.html b/Place/AreaManagement.html index c978060f76..3500f38424 100644 --- a/Place/AreaManagement.html +++ b/Place/AreaManagement.html @@ -6279,7 +6279,7 @@

- + place/area_management.cr @@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
diff --git a/Place/AreaManagement/AreaSetting.html b/Place/AreaManagement/AreaSetting.html index 75980dc5f7..886dd62715 100644 --- a/Place/AreaManagement/AreaSetting.html +++ b/Place/AreaManagement/AreaSetting.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/ChildMetadata.html b/Place/AreaManagement/ChildMetadata.html index bbedecc24f..b72567c663 100644 --- a/Place/AreaManagement/ChildMetadata.html +++ b/Place/AreaManagement/ChildMetadata.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/LevelCapacity.html b/Place/AreaManagement/LevelCapacity.html index 92c7f1df77..66c8395a3d 100644 --- a/Place/AreaManagement/LevelCapacity.html +++ b/Place/AreaManagement/LevelCapacity.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/Metadata.html b/Place/AreaManagement/Metadata.html index 3ecbdc5019..3e17dc12c4 100644 --- a/Place/AreaManagement/Metadata.html +++ b/Place/AreaManagement/Metadata.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/RawLevelDetails.html b/Place/AreaManagement/RawLevelDetails.html index afb0f31791..85f4cfef92 100644 --- a/Place/AreaManagement/RawLevelDetails.html +++ b/Place/AreaManagement/RawLevelDetails.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/SensorDetail.html b/Place/AreaManagement/SensorDetail.html index 0d607d161d..01eaf3465b 100644 --- a/Place/AreaManagement/SensorDetail.html +++ b/Place/AreaManagement/SensorDetail.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/SensorMeta.html b/Place/AreaManagement/SensorMeta.html index 531cba84bb..582a4959a9 100644 --- a/Place/AreaManagement/SensorMeta.html +++ b/Place/AreaManagement/SensorMeta.html @@ -6307,7 +6307,7 @@

- + place/area_management.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
diff --git a/Place/AreaManagement/SensorType.html b/Place/AreaManagement/SensorType.html index af868c8e64..f70bdd9389 100644 --- a/Place/AreaManagement/SensorType.html +++ b/Place/AreaManagement/SensorType.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AreaManagement/Zone.html b/Place/AreaManagement/Zone.html index 9b8e71d302..90ec24544b 100644 --- a/Place/AreaManagement/Zone.html +++ b/Place/AreaManagement/Zone.html @@ -6287,7 +6287,7 @@

- + place/area_management.cr diff --git a/Place/AutoDeskCheckin.html b/Place/AutoDeskCheckin.html index db029af809..e7f863614e 100644 --- a/Place/AutoDeskCheckin.html +++ b/Place/AutoDeskCheckin.html @@ -6279,7 +6279,7 @@

- + place/bookings/auto_desk_checkin.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Place/Booking.html b/Place/Booking.html index 2c8e898835..f5e3b8e9e8 100644 --- a/Place/Booking.html +++ b/Place/Booking.html @@ -6307,7 +6307,7 @@

- + place/booking_model.cr @@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6825,7 +6825,7 @@


- [View source] + [View source]
@@ -6846,7 +6846,7 @@


- [View source] + [View source]
@@ -6867,7 +6867,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
@@ -6899,7 +6899,7 @@


- [View source] + [View source]
@@ -6915,7 +6915,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
@@ -6963,7 +6963,7 @@


- [View source] + [View source]
@@ -6979,7 +6979,7 @@


- [View source] + [View source]
@@ -6995,7 +6995,7 @@


- [View source] + [View source]
@@ -7011,7 +7011,7 @@


- [View source] + [View source]
@@ -7027,7 +7027,7 @@


- [View source] + [View source]
@@ -7043,7 +7043,7 @@


- [View source] + [View source]
@@ -7059,7 +7059,7 @@


- [View source] + [View source]
@@ -7075,7 +7075,7 @@


- [View source] + [View source]
@@ -7091,7 +7091,7 @@


- [View source] + [View source]
@@ -7107,7 +7107,7 @@


- [View source] + [View source]
@@ -7123,7 +7123,7 @@


- [View source] + [View source]
@@ -7139,7 +7139,7 @@


- [View source] + [View source]
@@ -7155,7 +7155,7 @@


- [View source] + [View source]
@@ -7171,7 +7171,7 @@


- [View source] + [View source]
@@ -7187,7 +7187,7 @@


- [View source] + [View source]
@@ -7203,7 +7203,7 @@


- [View source] + [View source]
@@ -7219,7 +7219,7 @@


- [View source] + [View source]
@@ -7235,7 +7235,7 @@


- [View source] + [View source]
@@ -7251,7 +7251,7 @@


- [View source] + [View source]
@@ -7267,7 +7267,7 @@


- [View source] + [View source]
@@ -7283,7 +7283,7 @@


- [View source] + [View source]
@@ -7299,7 +7299,7 @@


- [View source] + [View source]
@@ -7315,7 +7315,7 @@


- [View source] + [View source]
@@ -7331,7 +7331,7 @@


- [View source] + [View source]
@@ -7347,7 +7347,7 @@


- [View source] + [View source]
@@ -7363,7 +7363,7 @@


- [View source] + [View source]
@@ -7379,7 +7379,7 @@


- [View source] + [View source]
@@ -7395,7 +7395,7 @@


- [View source] + [View source]
@@ -7411,7 +7411,7 @@


- [View source] + [View source]
@@ -7427,7 +7427,7 @@


- [View source] + [View source]
@@ -7443,7 +7443,7 @@


- [View source] + [View source]
@@ -7459,7 +7459,7 @@


- [View source] + [View source]
@@ -7475,7 +7475,7 @@


- [View source] + [View source]
@@ -7491,7 +7491,7 @@


- [View source] + [View source]
@@ -7507,7 +7507,7 @@


- [View source] + [View source]
@@ -7523,7 +7523,7 @@


- [View source] + [View source]
diff --git a/Place/BookingApprovalWorkflows.html b/Place/BookingApprovalWorkflows.html index 8add4f467e..628385c1c6 100644 --- a/Place/BookingApprovalWorkflows.html +++ b/Place/BookingApprovalWorkflows.html @@ -6279,7 +6279,7 @@

- + place/booking_approval_workflows.cr @@ -6409,7 +6409,7 @@


- [View source] + [View source]
@@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
diff --git a/Place/BookingApprovalWorkflows/Reminders.html b/Place/BookingApprovalWorkflows/Reminders.html index d335d1361e..13a2d1247e 100644 --- a/Place/BookingApprovalWorkflows/Reminders.html +++ b/Place/BookingApprovalWorkflows/Reminders.html @@ -6287,7 +6287,7 @@

- + place/booking_approval_workflows.cr diff --git a/Place/BookingApprovalWorkflows/SiteDetails.html b/Place/BookingApprovalWorkflows/SiteDetails.html index 35139cb817..7d67ccf4d2 100644 --- a/Place/BookingApprovalWorkflows/SiteDetails.html +++ b/Place/BookingApprovalWorkflows/SiteDetails.html @@ -6287,7 +6287,7 @@

- + place/booking_approval_workflows.cr diff --git a/Place/BookingApprover.html b/Place/BookingApprover.html index fd46ba863b..1520c21fb7 100644 --- a/Place/BookingApprover.html +++ b/Place/BookingApprover.html @@ -6279,7 +6279,7 @@

- + place/booking_approver.cr @@ -6396,7 +6396,7 @@


- [View source] + [View source]
@@ -6417,7 +6417,7 @@


- [View source] + [View source]
@@ -6433,7 +6433,7 @@


- [View source] + [View source]
@@ -6449,7 +6449,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
diff --git a/Place/BookingCheckInHelper.html b/Place/BookingCheckInHelper.html index 740078191b..6ab5e1fa32 100644 --- a/Place/BookingCheckInHelper.html +++ b/Place/BookingCheckInHelper.html @@ -6279,7 +6279,7 @@

- + place/booking_check_in_helper.cr @@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
diff --git a/Place/BookingNotifier.html b/Place/BookingNotifier.html index 8c9ab2b653..53d27d3dea 100644 --- a/Place/BookingNotifier.html +++ b/Place/BookingNotifier.html @@ -6279,7 +6279,7 @@

- + place/booking_notifier.cr @@ -6414,7 +6414,7 @@


- [View source] + [View source]
@@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Place/BookingNotifier/SiteDetails.html b/Place/BookingNotifier/SiteDetails.html index 573bf491ac..1404c30271 100644 --- a/Place/BookingNotifier/SiteDetails.html +++ b/Place/BookingNotifier/SiteDetails.html @@ -6307,7 +6307,7 @@

- + place/booking_notifier.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
diff --git a/Place/Bookings.html b/Place/Bookings.html index 89c1cb27ff..7eb9fe8187 100644 --- a/Place/Bookings.html +++ b/Place/Bookings.html @@ -6293,7 +6293,7 @@

- + place/bookings.cr @@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
diff --git a/Place/Bookings/NotifyEvent.html b/Place/Bookings/NotifyEvent.html index c6cee6c056..b368ec25a1 100644 --- a/Place/Bookings/NotifyEvent.html +++ b/Place/Bookings/NotifyEvent.html @@ -6307,7 +6307,7 @@

- + place/bookings.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Place/Bookings/NotifyType.html b/Place/Bookings/NotifyType.html index ccc2231d17..d033d2d345 100644 --- a/Place/Bookings/NotifyType.html +++ b/Place/Bookings/NotifyType.html @@ -6277,7 +6277,7 @@

- + place/bookings.cr @@ -6459,7 +6459,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Place/Bookings/ServiceName.html b/Place/Bookings/ServiceName.html index b666cd87d0..30b4341ac6 100644 --- a/Place/Bookings/ServiceName.html +++ b/Place/Bookings/ServiceName.html @@ -6277,7 +6277,7 @@

- + place/bookings.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Place/Calendar.html b/Place/Calendar.html index e13cc57f4e..c4cde12454 100644 --- a/Place/Calendar.html +++ b/Place/Calendar.html @@ -6293,7 +6293,7 @@

- + place/calendar.cr diff --git a/Place/CalendarCommon.html b/Place/CalendarCommon.html index f227747026..2f81533869 100644 --- a/Place/CalendarCommon.html +++ b/Place/CalendarCommon.html @@ -6309,7 +6309,7 @@

- + place/calendar_common.cr @@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6789,7 +6789,7 @@


- [View source] + [View source]
@@ -6805,7 +6805,7 @@


- [View source] + [View source]
@@ -6821,7 +6821,7 @@


- [View source] + [View source]
@@ -6837,7 +6837,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
@@ -6959,7 +6959,7 @@


- [View source] + [View source]
@@ -6975,7 +6975,7 @@


- [View source] + [View source]
@@ -6991,7 +6991,7 @@


- [View source] + [View source]
@@ -7007,7 +7007,7 @@


- [View source] + [View source]
diff --git a/Place/CalendarCommon/GoogleParams.html b/Place/CalendarCommon/GoogleParams.html index 6dcc277f13..5d53cbc367 100644 --- a/Place/CalendarCommon/GoogleParams.html +++ b/Place/CalendarCommon/GoogleParams.html @@ -6287,7 +6287,7 @@

- + place/calendar_common.cr diff --git a/Place/CalendarCommon/OfficeParams.html b/Place/CalendarCommon/OfficeParams.html index 866da5a133..1f84459007 100644 --- a/Place/CalendarCommon/OfficeParams.html +++ b/Place/CalendarCommon/OfficeParams.html @@ -6287,7 +6287,7 @@

- + place/calendar_common.cr diff --git a/Place/CalendarDelegated.html b/Place/CalendarDelegated.html index 29f77bea5f..7764b4298d 100644 --- a/Place/CalendarDelegated.html +++ b/Place/CalendarDelegated.html @@ -6279,7 +6279,7 @@

- + place/calendar_delegated.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
diff --git a/Place/CalendarDelegated/User.html b/Place/CalendarDelegated/User.html index 15eb77bcb8..d708372290 100644 --- a/Place/CalendarDelegated/User.html +++ b/Place/CalendarDelegated/User.html @@ -6307,7 +6307,7 @@

- + place/calendar_delegated.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Place/Chat.html b/Place/Chat.html index a58a2a7955..b43f8f892b 100644 --- a/Place/Chat.html +++ b/Place/Chat.html @@ -6277,14 +6277,14 @@

- + place/chat/health_notification_models.cr
- + place/chat/health_rooms_models.cr diff --git a/Place/Chat/ConferenceDetails.html b/Place/Chat/ConferenceDetails.html index 71aa0c1ef6..bee20a26a7 100644 --- a/Place/Chat/ConferenceDetails.html +++ b/Place/Chat/ConferenceDetails.html @@ -6307,7 +6307,7 @@

- + place/chat/health_rooms_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/HealthRooms.html b/Place/Chat/HealthRooms.html index 17c9dad640..a0e5f347cf 100644 --- a/Place/Chat/HealthRooms.html +++ b/Place/Chat/HealthRooms.html @@ -6279,7 +6279,7 @@

- + place/chat/health_rooms.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6819,7 +6819,7 @@


- [View source] + [View source]
@@ -6835,7 +6835,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/HealthRooms/SessionId.html b/Place/Chat/HealthRooms/SessionId.html index 1b67fd9493..5846ab39c5 100644 --- a/Place/Chat/HealthRooms/SessionId.html +++ b/Place/Chat/HealthRooms/SessionId.html @@ -6298,7 +6298,7 @@

- + place/chat/health_rooms.cr diff --git a/Place/Chat/HealthRooms/SystemId.html b/Place/Chat/HealthRooms/SystemId.html index c865d3bf17..4a85fcdbaa 100644 --- a/Place/Chat/HealthRooms/SystemId.html +++ b/Place/Chat/HealthRooms/SystemId.html @@ -6298,7 +6298,7 @@

- + place/chat/health_rooms.cr diff --git a/Place/Chat/Meeting.html b/Place/Chat/Meeting.html index 5dc469099a..ffe1fc4fa0 100644 --- a/Place/Chat/Meeting.html +++ b/Place/Chat/Meeting.html @@ -6307,7 +6307,7 @@

- + place/chat/health_rooms_models.cr @@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6950,7 +6950,7 @@


- [View source] + [View source]
@@ -6980,7 +6980,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/MeetingSummary.html b/Place/Chat/MeetingSummary.html index 3af05adbdf..4e15f5ba30 100644 --- a/Place/Chat/MeetingSummary.html +++ b/Place/Chat/MeetingSummary.html @@ -6307,7 +6307,7 @@

- + place/chat/health_rooms_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/NotificationSettings.html b/Place/Chat/NotificationSettings.html index f4435c9e22..e8707efc03 100644 --- a/Place/Chat/NotificationSettings.html +++ b/Place/Chat/NotificationSettings.html @@ -6307,7 +6307,7 @@

- + place/chat/health_notification_models.cr @@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6514,7 +6514,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/NotifyEventSettings.html b/Place/Chat/NotifyEventSettings.html index 10523527a5..8dc2032897 100644 --- a/Place/Chat/NotifyEventSettings.html +++ b/Place/Chat/NotifyEventSettings.html @@ -6307,7 +6307,7 @@

- + place/chat/health_notification_models.cr @@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6498,7 +6498,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/OpeningHours.html b/Place/Chat/OpeningHours.html index 0fb295dd60..9239feab83 100644 --- a/Place/Chat/OpeningHours.html +++ b/Place/Chat/OpeningHours.html @@ -6279,7 +6279,7 @@

- + place/chat/health_notification_models.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/Participant.html b/Place/Chat/Participant.html index a5bc78eaad..7802865cc4 100644 --- a/Place/Chat/Participant.html +++ b/Place/Chat/Participant.html @@ -6309,7 +6309,7 @@

- + place/chat/health_rooms_models.cr @@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6798,7 +6798,7 @@


- [View source] + [View source]
@@ -6814,7 +6814,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6990,7 +6990,7 @@


- [View source] + [View source]
@@ -7012,7 +7012,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/RoomMember.html b/Place/Chat/RoomMember.html index 8b9be82caa..b9d2927fa6 100644 --- a/Place/Chat/RoomMember.html +++ b/Place/Chat/RoomMember.html @@ -6307,7 +6307,7 @@

- + place/chat/health_notification_models.cr @@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
diff --git a/Place/Chat/RoomSettings.html b/Place/Chat/RoomSettings.html index 1fac734d0b..abea9e6a2a 100644 --- a/Place/Chat/RoomSettings.html +++ b/Place/Chat/RoomSettings.html @@ -6318,7 +6318,7 @@

- + place/chat/health_notification_models.cr @@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
@@ -6545,7 +6545,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
diff --git a/Place/Demo.html b/Place/Demo.html index e2ef87242c..9f597b55b5 100644 --- a/Place/Demo.html +++ b/Place/Demo.html @@ -6277,7 +6277,7 @@

- + place/demo/display.cr diff --git a/Place/Demo/Display.html b/Place/Demo/Display.html index 676924d76b..586272974c 100644 --- a/Place/Demo/Display.html +++ b/Place/Demo/Display.html @@ -6297,7 +6297,7 @@

- + place/demo/display.cr @@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
diff --git a/Place/Demo/Display/Input.html b/Place/Demo/Display/Input.html index 1118e9645b..c7582b5a41 100644 --- a/Place/Demo/Display/Input.html +++ b/Place/Demo/Display/Input.html @@ -6277,7 +6277,7 @@

- + place/demo/display.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
diff --git a/Place/Demo/LocationServices.html b/Place/Demo/LocationServices.html index 9bb2cf9f83..3c59368c52 100644 --- a/Place/Demo/LocationServices.html +++ b/Place/Demo/LocationServices.html @@ -6279,7 +6279,7 @@

- + place/demo/location_services.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Place/Demo/RoomSensor.html b/Place/Demo/RoomSensor.html index 08fc7ef798..89c4bfe6b7 100644 --- a/Place/Demo/RoomSensor.html +++ b/Place/Demo/RoomSensor.html @@ -6293,7 +6293,7 @@

- + place/demo/room_sensor.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
diff --git a/Place/Demo/Switcher.html b/Place/Demo/Switcher.html index ed3c88ba1f..590070cac0 100644 --- a/Place/Demo/Switcher.html +++ b/Place/Demo/Switcher.html @@ -6293,7 +6293,7 @@

- + place/demo/switcher.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
diff --git a/Place/DeskBookingWebhook.html b/Place/DeskBookingWebhook.html index 4ae90fe759..4a278be483 100644 --- a/Place/DeskBookingWebhook.html +++ b/Place/DeskBookingWebhook.html @@ -6279,7 +6279,7 @@

- + place/desk_booking_webhook.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Place/DeskBookingsLocations.html b/Place/DeskBookingsLocations.html index 5a72c14e67..46a0b5e770 100644 --- a/Place/DeskBookingsLocations.html +++ b/Place/DeskBookingsLocations.html @@ -6293,7 +6293,7 @@

- + place/desk_bookings_locations.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@

View source] + [View source] @@ -6521,7 +6521,7 @@

View source] + [View source] @@ -6537,7 +6537,7 @@

View source] + [View source] @@ -6553,7 +6553,7 @@

View source] + [View source] @@ -6569,7 +6569,7 @@

View source] + [View source] diff --git a/Place/DeskBookingsLocations/ZoneDetails.html b/Place/DeskBookingsLocations/ZoneDetails.html index 004bca1cfd..763833db12 100644 --- a/Place/DeskBookingsLocations/ZoneDetails.html +++ b/Place/DeskBookingsLocations/ZoneDetails.html @@ -6307,7 +6307,7 @@

- + place/desk_bookings_locations.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Place/EventAttendanceRecorder.html b/Place/EventAttendanceRecorder.html index 2e6e7683fa..7e215c78cb 100644 --- a/Place/EventAttendanceRecorder.html +++ b/Place/EventAttendanceRecorder.html @@ -6279,7 +6279,7 @@

- + place/bookings/event_attendance_recorder.cr @@ -6416,7 +6416,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
diff --git a/Place/EventAttendanceRecorder/StaffEventChange.html b/Place/EventAttendanceRecorder/StaffEventChange.html index dd0fba6280..831e235f2b 100644 --- a/Place/EventAttendanceRecorder/StaffEventChange.html +++ b/Place/EventAttendanceRecorder/StaffEventChange.html @@ -6307,7 +6307,7 @@

- + place/bookings/event_attendance_recorder.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Place/EventMailer.html b/Place/EventMailer.html index d90b1cd125..8f4895ddeb 100644 --- a/Place/EventMailer.html +++ b/Place/EventMailer.html @@ -6279,7 +6279,7 @@

- + place/event_mailer.cr @@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
diff --git a/Place/Geometry.html b/Place/Geometry.html index 6e2126c706..25116e799d 100644 --- a/Place/Geometry.html +++ b/Place/Geometry.html @@ -6307,7 +6307,7 @@

- + place/area_config.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
diff --git a/Place/HTTPPinger.html b/Place/HTTPPinger.html index 1b2fd1864b..8ebd6a2228 100644 --- a/Place/HTTPPinger.html +++ b/Place/HTTPPinger.html @@ -6279,7 +6279,7 @@

- + place/http_pinger.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
diff --git a/Place/HTTPPinger/HeaderJSON.html b/Place/HTTPPinger/HeaderJSON.html index e79213b356..2583e5fce0 100644 --- a/Place/HTTPPinger/HeaderJSON.html +++ b/Place/HTTPPinger/HeaderJSON.html @@ -6287,7 +6287,7 @@

- + place/http_pinger.cr diff --git a/Place/Help.html b/Place/Help.html index aced21c3c4..4628f06078 100644 --- a/Place/Help.html +++ b/Place/Help.html @@ -6287,7 +6287,7 @@

- + place/meet/help.cr diff --git a/Place/HelpPage.html b/Place/HelpPage.html index 098f94a7dc..0d74dbd0f3 100644 --- a/Place/HelpPage.html +++ b/Place/HelpPage.html @@ -6309,7 +6309,7 @@

- + place/meet/help.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
diff --git a/Place/LocationServices.html b/Place/LocationServices.html index 36fba09150..9f6a9be08d 100644 --- a/Place/LocationServices.html +++ b/Place/LocationServices.html @@ -6279,7 +6279,7 @@

- + place/location_services.cr @@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
diff --git a/Place/LogicExample.html b/Place/LogicExample.html index 08495e9b7c..d4e32806ba 100644 --- a/Place/LogicExample.html +++ b/Place/LogicExample.html @@ -6279,7 +6279,7 @@

- + place/logic_example.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/Place/MQTT.html b/Place/MQTT.html index 7435c3c069..615573d3d5 100644 --- a/Place/MQTT.html +++ b/Place/MQTT.html @@ -6279,7 +6279,7 @@

- + place/mqtt.cr @@ -6409,7 +6409,7 @@


- [View source] + [View source]
@@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
diff --git a/Place/Meet.html b/Place/Meet.html index ba5fbb1c5d..0456f2c649 100644 --- a/Place/Meet.html +++ b/Place/Meet.html @@ -6299,7 +6299,7 @@

- + place/meet.cr @@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6825,7 +6825,7 @@


- [View source] + [View source]
@@ -6841,7 +6841,7 @@


- [View source] + [View source]
@@ -6857,7 +6857,7 @@


- [View source] + [View source]
@@ -6878,7 +6878,7 @@


- [View source] + [View source]
@@ -6894,7 +6894,7 @@


- [View source] + [View source]
@@ -6910,7 +6910,7 @@


- [View source] + [View source]
@@ -6931,7 +6931,7 @@


- [View source] + [View source]
@@ -6947,7 +6947,7 @@


- [View source] + [View source]
@@ -6963,7 +6963,7 @@


- [View source] + [View source]
@@ -6979,7 +6979,7 @@


- [View source] + [View source]
@@ -7001,7 +7001,7 @@


- [View source] + [View source]
@@ -7023,7 +7023,7 @@


- [View source] + [View source]
@@ -7039,7 +7039,7 @@


- [View source] + [View source]
@@ -7055,7 +7055,7 @@


- [View source] + [View source]
@@ -7077,7 +7077,7 @@


- [View source] + [View source]
@@ -7098,7 +7098,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/Accessory.html b/Place/Meet/Accessory.html index f41de6baf8..3efe9422aa 100644 --- a/Place/Meet/Accessory.html +++ b/Place/Meet/Accessory.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/Accessory/Control.html b/Place/Meet/Accessory/Control.html index 5c56e94cd4..8b973f232f 100644 --- a/Place/Meet/Accessory/Control.html +++ b/Place/Meet/Accessory/Control.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/AudioFader.html b/Place/Meet/AudioFader.html index 7e04ef174a..2cc6689340 100644 --- a/Place/Meet/AudioFader.html +++ b/Place/Meet/AudioFader.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
@@ -6833,7 +6833,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6865,7 +6865,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/CamDetails.html b/Place/Meet/CamDetails.html index 1583db21ac..2dd3acfa2a 100644 --- a/Place/Meet/CamDetails.html +++ b/Place/Meet/CamDetails.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/JoinAction.html b/Place/Meet/JoinAction.html index d139889d57..81b6d4ec3c 100644 --- a/Place/Meet/JoinAction.html +++ b/Place/Meet/JoinAction.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/JoinDetail.html b/Place/Meet/JoinDetail.html index 728cd9063c..df9c08b9bf 100644 --- a/Place/Meet/JoinDetail.html +++ b/Place/Meet/JoinDetail.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6504,7 +6504,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/JoinSetting.html b/Place/Meet/JoinSetting.html index d09966c482..734bfc5760 100644 --- a/Place/Meet/JoinSetting.html +++ b/Place/Meet/JoinSetting.html @@ -6307,7 +6307,7 @@

- + place/meet.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/JoinType.html b/Place/Meet/JoinType.html index c0076b5ff6..4f4085c7c0 100644 --- a/Place/Meet/JoinType.html +++ b/Place/Meet/JoinType.html @@ -6292,7 +6292,7 @@

- + place/meet.cr @@ -6434,7 +6434,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
diff --git a/Place/Meet/LightingArea.html b/Place/Meet/LightingArea.html index bb34f03679..5020883d58 100644 --- a/Place/Meet/LightingArea.html +++ b/Place/Meet/LightingArea.html @@ -6287,7 +6287,7 @@

- + place/meet.cr diff --git a/Place/Meet/LightingScene.html b/Place/Meet/LightingScene.html index 114053708d..fbadd3df1b 100644 --- a/Place/Meet/LightingScene.html +++ b/Place/Meet/LightingScene.html @@ -6287,7 +6287,7 @@

- + place/meet.cr diff --git a/Place/Meet/Microphone.html b/Place/Meet/Microphone.html index b7bd6b93f3..955b530693 100644 --- a/Place/Meet/Microphone.html +++ b/Place/Meet/Microphone.html @@ -6287,7 +6287,7 @@

- + place/meet.cr diff --git a/Place/Meet/RemoteSystem.html b/Place/Meet/RemoteSystem.html index 7bccbbe605..2c4f78c6fc 100644 --- a/Place/Meet/RemoteSystem.html +++ b/Place/Meet/RemoteSystem.html @@ -6279,7 +6279,7 @@

- + place/meet.cr @@ -6392,7 +6392,7 @@


- [View source] + [View source]
@@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6438,7 +6438,7 @@


- [View source] + [View source]
diff --git a/Place/Pinger.html b/Place/Pinger.html index 43f058b19a..a839dab155 100644 --- a/Place/Pinger.html +++ b/Place/Pinger.html @@ -6279,7 +6279,7 @@

- + place/pinger.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Place/QSCPhoneDialing.html b/Place/QSCPhoneDialing.html index 9b4b4f5098..05fa15758d 100644 --- a/Place/QSCPhoneDialing.html +++ b/Place/QSCPhoneDialing.html @@ -6302,7 +6302,7 @@

- + place/meet/qsc_phone_dialing.cr @@ -6382,7 +6382,7 @@


- [View source] + [View source]
@@ -6398,7 +6398,7 @@


- [View source] + [View source]
@@ -6414,7 +6414,7 @@


- [View source] + [View source]
@@ -6430,7 +6430,7 @@


- [View source] + [View source]
diff --git a/Place/QSCPhoneDialing/QscPhone.html b/Place/QSCPhoneDialing/QscPhone.html index 8dd143fe8d..cc40d4250d 100644 --- a/Place/QSCPhoneDialing/QscPhone.html +++ b/Place/QSCPhoneDialing/QscPhone.html @@ -6318,7 +6318,7 @@

- + place/meet/qsc_phone_dialing.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
diff --git a/Place/RoomBookingApproval.html b/Place/RoomBookingApproval.html index 3b6bfe6ea2..e813aab3dc 100644 --- a/Place/RoomBookingApproval.html +++ b/Place/RoomBookingApproval.html @@ -6279,7 +6279,7 @@

- + place/room_booking_approval.cr @@ -6418,7 +6418,7 @@


- [View source] + [View source]
@@ -6434,7 +6434,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
diff --git a/Place/Router.html b/Place/Router.html index 50a449dea0..1102f87a80 100644 --- a/Place/Router.html +++ b/Place/Router.html @@ -6277,7 +6277,7 @@

- + place/router/digraph.cr diff --git a/Place/Router/Core.html b/Place/Router/Core.html index 158faafe4d..5e03af68af 100644 --- a/Place/Router/Core.html +++ b/Place/Router/Core.html @@ -6304,14 +6304,14 @@

- + place/router/core.cr
- + place/router/settings.cr @@ -6383,7 +6383,7 @@


- [View source] + [View source]
@@ -6406,7 +6406,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/NodeRef.html b/Place/Router/Core/NodeRef.html index fde17b333b..ba0ec2be2c 100644 --- a/Place/Router/Core/NodeRef.html +++ b/Place/Router/Core/NodeRef.html @@ -6287,7 +6287,7 @@

- + place/router/core.cr diff --git a/Place/Router/Core/Settings.html b/Place/Router/Core/Settings.html index b39b161462..817d9898d9 100644 --- a/Place/Router/Core/Settings.html +++ b/Place/Router/Core/Settings.html @@ -6277,7 +6277,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/Settings/Connections.html b/Place/Router/Core/Settings/Connections.html index 135687ae56..b8ca206007 100644 --- a/Place/Router/Core/Settings/Connections.html +++ b/Place/Router/Core/Settings/Connections.html @@ -6288,7 +6288,7 @@

- + place/router/settings.cr @@ -6359,7 +6359,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/Settings/Connections/Alias.html b/Place/Router/Core/Settings/Connections/Alias.html index a882dc5899..55035d4755 100644 --- a/Place/Router/Core/Settings/Connections/Alias.html +++ b/Place/Router/Core/Settings/Connections/Alias.html @@ -6307,7 +6307,7 @@

- + place/router/settings.cr @@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/Settings/Connections/Deserializable.html b/Place/Router/Core/Settings/Connections/Deserializable.html index 62e7e65a5c..1c34bfcb02 100644 --- a/Place/Router/Core/Settings/Connections/Deserializable.html +++ b/Place/Router/Core/Settings/Connections/Deserializable.html @@ -6277,7 +6277,7 @@

- + place/router/settings.cr @@ -6352,7 +6352,7 @@


- [View source] + [View source]
@@ -6368,7 +6368,7 @@


- [View source] + [View source]
@@ -6384,7 +6384,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/Settings/Connections/Device.html b/Place/Router/Core/Settings/Connections/Device.html index 0b987c3c4b..36dd4917e5 100644 --- a/Place/Router/Core/Settings/Connections/Device.html +++ b/Place/Router/Core/Settings/Connections/Device.html @@ -6304,7 +6304,7 @@

- + place/router/settings.cr @@ -6449,7 +6449,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/Settings/Connections/DeviceOutput.html b/Place/Router/Core/Settings/Connections/DeviceOutput.html index fee440c50c..32f32b1ccc 100644 --- a/Place/Router/Core/Settings/Connections/DeviceOutput.html +++ b/Place/Router/Core/Settings/Connections/DeviceOutput.html @@ -6306,7 +6306,7 @@

- + place/router/settings.cr @@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Core/Settings/Connections/Input.html b/Place/Router/Core/Settings/Connections/Input.html index c4e90c1b3a..165d53897c 100644 --- a/Place/Router/Core/Settings/Connections/Input.html +++ b/Place/Router/Core/Settings/Connections/Input.html @@ -6298,7 +6298,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/Settings/Connections/Map.html b/Place/Router/Core/Settings/Connections/Map.html index 4e912d1224..c4e9f012fd 100644 --- a/Place/Router/Core/Settings/Connections/Map.html +++ b/Place/Router/Core/Settings/Connections/Map.html @@ -6305,7 +6305,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/Settings/Connections/Sink.html b/Place/Router/Core/Settings/Connections/Sink.html index b0863d7d46..7421d9606d 100644 --- a/Place/Router/Core/Settings/Connections/Sink.html +++ b/Place/Router/Core/Settings/Connections/Sink.html @@ -6298,7 +6298,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/Settings/Connections/Source.html b/Place/Router/Core/Settings/Connections/Source.html index 830867585b..b6d719e290 100644 --- a/Place/Router/Core/Settings/Connections/Source.html +++ b/Place/Router/Core/Settings/Connections/Source.html @@ -6298,7 +6298,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/Settings/IOMeta.html b/Place/Router/Core/Settings/IOMeta.html index 0712cde10f..495f1f32d8 100644 --- a/Place/Router/Core/Settings/IOMeta.html +++ b/Place/Router/Core/Settings/IOMeta.html @@ -6300,7 +6300,7 @@

- + place/router/settings.cr diff --git a/Place/Router/Core/SignalNode.html b/Place/Router/Core/SignalNode.html index c4f5579296..2ad43c91c8 100644 --- a/Place/Router/Core/SignalNode.html +++ b/Place/Router/Core/SignalNode.html @@ -6291,7 +6291,7 @@

- + place/router/core.cr @@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Digraph.html b/Place/Router/Digraph.html index dc659ff8ae..4deba1d3cf 100644 --- a/Place/Router/Digraph.html +++ b/Place/Router/Digraph.html @@ -6294,7 +6294,7 @@

- + place/router/digraph.cr @@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6679,7 +6679,7 @@


- [View source] + [View source]
@@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6806,7 +6806,7 @@


- [View source] + [View source]
@@ -6827,7 +6827,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6870,7 +6870,7 @@


- [View source] + [View source]
@@ -6891,7 +6891,7 @@


- [View source] + [View source]
@@ -6912,7 +6912,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6957,7 +6957,7 @@


- [View source] + [View source]
diff --git a/Place/Router/Digraph/Error.html b/Place/Router/Digraph/Error.html index 0843bc8a7d..a5c1d4b302 100644 --- a/Place/Router/Digraph/Error.html +++ b/Place/Router/Digraph/Error.html @@ -6279,7 +6279,7 @@

- + place/router/digraph.cr diff --git a/Place/Router/Digraph/Node.html b/Place/Router/Digraph/Node.html index 0277f9834c..599599fbdc 100644 --- a/Place/Router/Digraph/Node.html +++ b/Place/Router/Digraph/Node.html @@ -6279,7 +6279,7 @@

- + place/router/digraph.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph.html b/Place/Router/SignalGraph.html index 514bd69b55..1dc9ab067f 100644 --- a/Place/Router/SignalGraph.html +++ b/Place/Router/SignalGraph.html @@ -6294,35 +6294,35 @@

- + place/router/signal_graph.cr
- + place/router/signal_graph/edge.cr
- + place/router/signal_graph/mod.cr
- + place/router/signal_graph/node.cr
- + place/router/signal_graph/watchable.cr @@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Device.html b/Place/Router/SignalGraph/Device.html index 10e1811360..aa6d7ad33a 100644 --- a/Place/Router/SignalGraph/Device.html +++ b/Place/Router/SignalGraph/Device.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph.cr diff --git a/Place/Router/SignalGraph/Edge.html b/Place/Router/SignalGraph/Edge.html index 53d1da4f98..fc93586496 100644 --- a/Place/Router/SignalGraph/Edge.html +++ b/Place/Router/SignalGraph/Edge.html @@ -6277,7 +6277,7 @@

- + place/router/signal_graph/edge.cr diff --git a/Place/Router/SignalGraph/Edge/Active.html b/Place/Router/SignalGraph/Edge/Active.html index ac26138ad1..808e8c5547 100644 --- a/Place/Router/SignalGraph/Edge/Active.html +++ b/Place/Router/SignalGraph/Edge/Active.html @@ -6279,7 +6279,7 @@

- + place/router/signal_graph/edge.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Edge/Func.html b/Place/Router/SignalGraph/Edge/Func.html index d4c7bd814f..925f5ec9b2 100644 --- a/Place/Router/SignalGraph/Edge/Func.html +++ b/Place/Router/SignalGraph/Edge/Func.html @@ -6277,7 +6277,7 @@

- + place/router/signal_graph/edge.cr diff --git a/Place/Router/SignalGraph/Edge/Func/Mute.html b/Place/Router/SignalGraph/Edge/Func/Mute.html index d013fd7ac4..d30f326cf5 100644 --- a/Place/Router/SignalGraph/Edge/Func/Mute.html +++ b/Place/Router/SignalGraph/Edge/Func/Mute.html @@ -6279,7 +6279,7 @@

- + place/router/signal_graph/edge.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Edge/Func/Select.html b/Place/Router/SignalGraph/Edge/Func/Select.html index f51ad6fe05..3efa0bcebd 100644 --- a/Place/Router/SignalGraph/Edge/Func/Select.html +++ b/Place/Router/SignalGraph/Edge/Func/Select.html @@ -6279,7 +6279,7 @@

- + place/router/signal_graph/edge.cr @@ -6397,7 +6397,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Edge/Func/Switch.html b/Place/Router/SignalGraph/Edge/Func/Switch.html index ccb8e7966d..b6523505b2 100644 --- a/Place/Router/SignalGraph/Edge/Func/Switch.html +++ b/Place/Router/SignalGraph/Edge/Func/Switch.html @@ -6279,7 +6279,7 @@

- + place/router/signal_graph/edge.cr @@ -6407,7 +6407,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Edge/Func/Type.html b/Place/Router/SignalGraph/Edge/Func/Type.html index 992699a45f..6f33895cdf 100644 --- a/Place/Router/SignalGraph/Edge/Func/Type.html +++ b/Place/Router/SignalGraph/Edge/Func/Type.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph/edge.cr diff --git a/Place/Router/SignalGraph/Edge/Label.html b/Place/Router/SignalGraph/Edge/Label.html index e38285c934..3dc2b71365 100644 --- a/Place/Router/SignalGraph/Edge/Label.html +++ b/Place/Router/SignalGraph/Edge/Label.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph/edge.cr diff --git a/Place/Router/SignalGraph/Edge/Static.html b/Place/Router/SignalGraph/Edge/Static.html index dcfbbd5098..2768582ab0 100644 --- a/Place/Router/SignalGraph/Edge/Static.html +++ b/Place/Router/SignalGraph/Edge/Static.html @@ -6279,7 +6279,7 @@

- + place/router/signal_graph/edge.cr @@ -6360,7 +6360,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Input.html b/Place/Router/SignalGraph/Input.html index d3e05d14e8..8b632c1be2 100644 --- a/Place/Router/SignalGraph/Input.html +++ b/Place/Router/SignalGraph/Input.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph.cr diff --git a/Place/Router/SignalGraph/Mod.html b/Place/Router/SignalGraph/Mod.html index 47a9e95d92..dc2afae240 100644 --- a/Place/Router/SignalGraph/Mod.html +++ b/Place/Router/SignalGraph/Mod.html @@ -6290,7 +6290,7 @@

- + place/router/signal_graph/mod.cr @@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6925,7 +6925,7 @@


- [View source] + [View source]
@@ -6941,7 +6941,7 @@


- [View source] + [View source]
@@ -6957,7 +6957,7 @@


- [View source] + [View source]
@@ -6973,7 +6973,7 @@


- [View source] + [View source]
@@ -6989,7 +6989,7 @@


- [View source] + [View source]
@@ -7005,7 +7005,7 @@


- [View source] + [View source]
@@ -7021,7 +7021,7 @@


- [View source] + [View source]
@@ -7037,7 +7037,7 @@


- [View source] + [View source]
@@ -7053,7 +7053,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node.html b/Place/Router/SignalGraph/Node.html index 42abe0ba80..54c8b51a9e 100644 --- a/Place/Router/SignalGraph/Node.html +++ b/Place/Router/SignalGraph/Node.html @@ -6277,7 +6277,7 @@

- + place/router/signal_graph/node.cr diff --git a/Place/Router/SignalGraph/Node/Device.html b/Place/Router/SignalGraph/Node/Device.html index 66ca8f650d..38b6056f98 100644 --- a/Place/Router/SignalGraph/Node/Device.html +++ b/Place/Router/SignalGraph/Node/Device.html @@ -6310,7 +6310,7 @@

- + place/router/signal_graph/node.cr @@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node/DeviceInput.html b/Place/Router/SignalGraph/Node/DeviceInput.html index 95c2dc3a80..b87590e461 100644 --- a/Place/Router/SignalGraph/Node/DeviceInput.html +++ b/Place/Router/SignalGraph/Node/DeviceInput.html @@ -6311,7 +6311,7 @@

- + place/router/signal_graph/node.cr @@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node/DeviceOutput.html b/Place/Router/SignalGraph/Node/DeviceOutput.html index aba28e4cb9..d3e1d4bd88 100644 --- a/Place/Router/SignalGraph/Node/DeviceOutput.html +++ b/Place/Router/SignalGraph/Node/DeviceOutput.html @@ -6311,7 +6311,7 @@

- + place/router/signal_graph/node.cr @@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node/Label.html b/Place/Router/SignalGraph/Node/Label.html index b6a750caff..5b67256127 100644 --- a/Place/Router/SignalGraph/Node/Label.html +++ b/Place/Router/SignalGraph/Node/Label.html @@ -6320,7 +6320,7 @@

- + place/router/signal_graph/node.cr @@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
@@ -6795,7 +6795,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6851,7 +6851,7 @@


- [View source] + [View source]
@@ -6886,7 +6886,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node/Mute.html b/Place/Router/SignalGraph/Node/Mute.html index f9ef62809d..06d7a2783d 100644 --- a/Place/Router/SignalGraph/Node/Mute.html +++ b/Place/Router/SignalGraph/Node/Mute.html @@ -6305,7 +6305,7 @@

- + place/router/signal_graph/node.cr @@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Node/Ref.html b/Place/Router/SignalGraph/Node/Ref.html index 44d5487fa9..513ec540a3 100644 --- a/Place/Router/SignalGraph/Node/Ref.html +++ b/Place/Router/SignalGraph/Node/Ref.html @@ -6310,7 +6310,7 @@

- + place/router/signal_graph/node.cr @@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6529,7 +6529,7 @@

- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
diff --git a/Place/Router/SignalGraph/Output.html b/Place/Router/SignalGraph/Output.html index e976b75241..8c47d3fa78 100644 --- a/Place/Router/SignalGraph/Output.html +++ b/Place/Router/SignalGraph/Output.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph.cr diff --git a/Place/Router/SignalGraph/Watchable.html b/Place/Router/SignalGraph/Watchable.html index e936dd7ef4..4f32649ca8 100644 --- a/Place/Router/SignalGraph/Watchable.html +++ b/Place/Router/SignalGraph/Watchable.html @@ -6291,7 +6291,7 @@

- + place/router/signal_graph/watchable.cr @@ -6370,7 +6370,7 @@


- [View source] + [View source]
@@ -6391,7 +6391,7 @@


- [View source] + [View source]
diff --git a/Place/SensorShutdown.html b/Place/SensorShutdown.html index 42a72fd826..d8bb68086e 100644 --- a/Place/SensorShutdown.html +++ b/Place/SensorShutdown.html @@ -6279,7 +6279,7 @@

- + place/meet/sensor_shutdown.cr @@ -6404,7 +6404,7 @@


- [View source] + [View source]
@@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6484,7 +6484,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
diff --git a/Place/Smtp.html b/Place/Smtp.html index ca4e03f6a8..ad3a11581f 100644 --- a/Place/Smtp.html +++ b/Place/Smtp.html @@ -6293,7 +6293,7 @@

- + place/smtp.cr @@ -6418,7 +6418,7 @@


- [View source] + [View source]
@@ -6434,7 +6434,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6482,7 +6482,7 @@


- [View source] + [View source]
diff --git a/Place/SpecHelper.html b/Place/SpecHelper.html index f367db6f82..dca85dfa89 100644 --- a/Place/SpecHelper.html +++ b/Place/SpecHelper.html @@ -6279,7 +6279,7 @@

- + place/spec_helper.cr @@ -6381,7 +6381,7 @@


- [View source] + [View source]
diff --git a/Place/StaffAPI.html b/Place/StaffAPI.html index 9cba53fa3d..a9b378cb20 100644 --- a/Place/StaffAPI.html +++ b/Place/StaffAPI.html @@ -6279,7 +6279,7 @@

- + place/staff_api.cr @@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@

- [View source] + [View source]
@@ -6714,7 +6714,7 @@

- [View source] + [View source]
@@ -6730,7 +6730,7 @@

- [View source] + [View source]
@@ -6746,7 +6746,7 @@

- [View source] + [View source]
@@ -6762,7 +6762,7 @@

- [View source] + [View source]
@@ -6788,7 +6788,7 @@

- [View source] + [View source]
@@ -6804,7 +6804,7 @@

- [View source] + [View source]
@@ -6820,7 +6820,7 @@

- [View source] + [View source]
@@ -6845,7 +6845,7 @@

View source] + [View source] @@ -6861,7 +6861,7 @@

View source] + [View source] @@ -6877,7 +6877,7 @@

View source] + [View source] @@ -6902,7 +6902,7 @@

View source] + [View source] @@ -6918,7 +6918,7 @@

View source] + [View source] @@ -6934,7 +6934,7 @@

View source] + [View source] @@ -6950,7 +6950,7 @@

View source] + [View source] @@ -6966,7 +6966,7 @@

View source] + [View source] @@ -6982,7 +6982,7 @@

View source] + [View source] @@ -7007,7 +7007,7 @@

View source] + [View source] @@ -7023,7 +7023,7 @@

View source] + [View source] @@ -7046,7 +7046,7 @@

View source] + [View source] @@ -7062,7 +7062,7 @@

View source] + [View source] @@ -7078,7 +7078,7 @@

View source] + [View source] @@ -7094,7 +7094,7 @@

View source] + [View source] @@ -7110,7 +7110,7 @@

View source] + [View source] @@ -7126,7 +7126,7 @@

View source] + [View source] @@ -7142,7 +7142,7 @@

View source] + [View source] @@ -7163,7 +7163,7 @@

View source] + [View source] @@ -7179,7 +7179,7 @@

View source] + [View source] @@ -7195,7 +7195,7 @@

View source] + [View source] @@ -7211,7 +7211,7 @@

View source] + [View source] @@ -7227,7 +7227,7 @@

View source] + [View source] @@ -7250,7 +7250,7 @@

View source] + [View source] @@ -7266,7 +7266,7 @@

View source] + [View source] @@ -7282,7 +7282,7 @@

View source] + [View source] @@ -7298,7 +7298,7 @@

View source] + [View source] @@ -7323,7 +7323,7 @@

View source] + [View source] @@ -7339,7 +7339,7 @@

View source] + [View source] @@ -7364,7 +7364,7 @@

- [View source] + [View source]
@@ -7380,7 +7380,7 @@

- [View source] + [View source]
diff --git a/Place/StaffAPI/Booking.html b/Place/StaffAPI/Booking.html index ba135e70ff..2c6db7684f 100644 --- a/Place/StaffAPI/Booking.html +++ b/Place/StaffAPI/Booking.html @@ -6322,7 +6322,7 @@

- + place/staff_api.cr @@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6711,7 +6711,7 @@


- [View source] + [View source]
@@ -6727,7 +6727,7 @@


- [View source] + [View source]
@@ -6743,7 +6743,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
@@ -6775,7 +6775,7 @@


- [View source] + [View source]
@@ -6791,7 +6791,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6823,7 +6823,7 @@


- [View source] + [View source]
@@ -6839,7 +6839,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6887,7 +6887,7 @@


- [View source] + [View source]
@@ -6903,7 +6903,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
@@ -6935,7 +6935,7 @@


- [View source] + [View source]
@@ -6951,7 +6951,7 @@


- [View source] + [View source]
@@ -6967,7 +6967,7 @@


- [View source] + [View source]
@@ -6983,7 +6983,7 @@


- [View source] + [View source]
@@ -6999,7 +6999,7 @@


- [View source] + [View source]
@@ -7015,7 +7015,7 @@


- [View source] + [View source]
@@ -7031,7 +7031,7 @@


- [View source] + [View source]
@@ -7047,7 +7047,7 @@


- [View source] + [View source]
@@ -7063,7 +7063,7 @@


- [View source] + [View source]
@@ -7079,7 +7079,7 @@


- [View source] + [View source]
@@ -7095,7 +7095,7 @@


- [View source] + [View source]
@@ -7111,7 +7111,7 @@


- [View source] + [View source]
@@ -7127,7 +7127,7 @@


- [View source] + [View source]
@@ -7143,7 +7143,7 @@


- [View source] + [View source]
@@ -7159,7 +7159,7 @@


- [View source] + [View source]
@@ -7175,7 +7175,7 @@


- [View source] + [View source]
@@ -7191,7 +7191,7 @@


- [View source] + [View source]
@@ -7207,7 +7207,7 @@


- [View source] + [View source]
@@ -7223,7 +7223,7 @@


- [View source] + [View source]
@@ -7239,7 +7239,7 @@


- [View source] + [View source]
@@ -7255,7 +7255,7 @@


- [View source] + [View source]
@@ -7271,7 +7271,7 @@


- [View source] + [View source]
@@ -7287,7 +7287,7 @@


- [View source] + [View source]
@@ -7303,7 +7303,7 @@


- [View source] + [View source]
@@ -7319,7 +7319,7 @@


- [View source] + [View source]
@@ -7335,7 +7335,7 @@


- [View source] + [View source]
@@ -7351,7 +7351,7 @@


- [View source] + [View source]
@@ -7367,7 +7367,7 @@


- [View source] + [View source]
@@ -7383,7 +7383,7 @@


- [View source] + [View source]
@@ -7399,7 +7399,7 @@


- [View source] + [View source]
@@ -7415,7 +7415,7 @@


- [View source] + [View source]
@@ -7431,7 +7431,7 @@


- [View source] + [View source]
@@ -7447,7 +7447,7 @@


- [View source] + [View source]
diff --git a/Place/SurveyMailer.html b/Place/SurveyMailer.html index 57bc791a16..1efa4261af 100644 --- a/Place/SurveyMailer.html +++ b/Place/SurveyMailer.html @@ -6279,7 +6279,7 @@

- + place/survey_mailer.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Place/SurveyMailer/SurveyInvite.html b/Place/SurveyMailer/SurveyInvite.html index 943a81a413..419b90a2d2 100644 --- a/Place/SurveyMailer/SurveyInvite.html +++ b/Place/SurveyMailer/SurveyInvite.html @@ -6307,7 +6307,7 @@

- + place/survey_mailer.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/Place/Tab.html b/Place/Tab.html index 757a16dcc8..7a5fc7a374 100644 --- a/Place/Tab.html +++ b/Place/Tab.html @@ -6309,7 +6309,7 @@

- + place/meet/tab.cr @@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
diff --git a/Place/TransportAdaptor.html b/Place/TransportAdaptor.html index fb4f02615f..7ba5524587 100644 --- a/Place/TransportAdaptor.html +++ b/Place/TransportAdaptor.html @@ -6279,7 +6279,7 @@

- + place/mqtt_transport_adaptor.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
diff --git a/Place/UserGroupMappings.html b/Place/UserGroupMappings.html index 9f213e7904..f84d594231 100644 --- a/Place/UserGroupMappings.html +++ b/Place/UserGroupMappings.html @@ -6279,7 +6279,7 @@

- + place/user_group_mappings.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Place/UserGroupMappings/Mapping.html b/Place/UserGroupMappings/Mapping.html index 8407903f50..893bea1968 100644 --- a/Place/UserGroupMappings/Mapping.html +++ b/Place/UserGroupMappings/Mapping.html @@ -6287,7 +6287,7 @@

- + place/user_group_mappings.cr diff --git a/Place/UserGroupMappings/Prefix.html b/Place/UserGroupMappings/Prefix.html index d27a2d580f..5c614bcb9a 100644 --- a/Place/UserGroupMappings/Prefix.html +++ b/Place/UserGroupMappings/Prefix.html @@ -6287,7 +6287,7 @@

- + place/user_group_mappings.cr diff --git a/Place/UserGroupMappings/UserLogin.html b/Place/UserGroupMappings/UserLogin.html index 4845e456d5..051128f496 100644 --- a/Place/UserGroupMappings/UserLogin.html +++ b/Place/UserGroupMappings/UserLogin.html @@ -6307,7 +6307,7 @@

- + place/user_group_mappings.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer.html b/Place/VisitorMailer.html index 88dada3a61..826aff6206 100644 --- a/Place/VisitorMailer.html +++ b/Place/VisitorMailer.html @@ -6279,7 +6279,7 @@

- + place/visitor_mailer.cr @@ -6414,7 +6414,7 @@


- [View source] + [View source]
@@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer/BookingGuest.html b/Place/VisitorMailer/BookingGuest.html index 99c6269f04..b7aa7456fa 100644 --- a/Place/VisitorMailer/BookingGuest.html +++ b/Place/VisitorMailer/BookingGuest.html @@ -6307,7 +6307,7 @@

- + place/visitor_mailer.cr @@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer/EventGuest.html b/Place/VisitorMailer/EventGuest.html index aad89bca91..f081b09f90 100644 --- a/Place/VisitorMailer/EventGuest.html +++ b/Place/VisitorMailer/EventGuest.html @@ -6307,7 +6307,7 @@

- + place/visitor_mailer.cr @@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer/GuestNotification.html b/Place/VisitorMailer/GuestNotification.html index 3c5d332747..28c9dff5d0 100644 --- a/Place/VisitorMailer/GuestNotification.html +++ b/Place/VisitorMailer/GuestNotification.html @@ -6323,7 +6323,7 @@

- + place/visitor_mailer.cr @@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6662,7 +6662,7 @@


- [View source] + [View source]
@@ -6678,7 +6678,7 @@


- [View source] + [View source]
@@ -6694,7 +6694,7 @@


- [View source] + [View source]
@@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6726,7 +6726,7 @@


- [View source] + [View source]
@@ -6742,7 +6742,7 @@


- [View source] + [View source]
@@ -6758,7 +6758,7 @@


- [View source] + [View source]
@@ -6774,7 +6774,7 @@


- [View source] + [View source]
@@ -6790,7 +6790,7 @@


- [View source] + [View source]
@@ -6811,7 +6811,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer/SystemDetails.html b/Place/VisitorMailer/SystemDetails.html index a94eecb49c..80a0477a0f 100644 --- a/Place/VisitorMailer/SystemDetails.html +++ b/Place/VisitorMailer/SystemDetails.html @@ -6307,7 +6307,7 @@

- + place/visitor_mailer.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Place/VisitorMailer/ZoneDetails.html b/Place/VisitorMailer/ZoneDetails.html index 9ad0baaa7d..af19592597 100644 --- a/Place/VisitorMailer/ZoneDetails.html +++ b/Place/VisitorMailer/ZoneDetails.html @@ -6307,7 +6307,7 @@

- + place/visitor_mailer.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
diff --git a/Place/WorkspaceAPI.html b/Place/WorkspaceAPI.html index c8a5342d05..4e1bf44712 100644 --- a/Place/WorkspaceAPI.html +++ b/Place/WorkspaceAPI.html @@ -6293,7 +6293,7 @@

- + google/workspace_api.cr diff --git a/Point.html b/Point.html index 8d48ac4142..cf1b5de270 100644 --- a/Point.html +++ b/Point.html @@ -6279,7 +6279,7 @@

- + place/area_polygon.cr @@ -6409,7 +6409,7 @@


- [View source] + [View source]
@@ -6444,7 +6444,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab.html b/PointGrab.html index 3cabcb897e..c4e2fc4323 100644 --- a/PointGrab.html +++ b/PointGrab.html @@ -6277,7 +6277,7 @@

- + point_grab/cogni_point.cr diff --git a/PointGrab/CogniPoint.html b/PointGrab/CogniPoint.html index 9d892f0f76..5117f291a5 100644 --- a/PointGrab/CogniPoint.html +++ b/PointGrab/CogniPoint.html @@ -6279,7 +6279,7 @@

- + point_grab/cogni_point.cr @@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
@@ -6637,7 +6637,7 @@


- [View source] + [View source]
@@ -6653,7 +6653,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6685,7 +6685,7 @@


- [View source] + [View source]
@@ -6701,7 +6701,7 @@


- [View source] + [View source]
@@ -6717,7 +6717,7 @@


- [View source] + [View source]
@@ -6733,7 +6733,7 @@


- [View source] + [View source]
@@ -6749,7 +6749,7 @@


- [View source] + [View source]
@@ -6774,7 +6774,7 @@


- [View source] + [View source]
@@ -6790,7 +6790,7 @@


- [View source] + [View source]
@@ -6806,7 +6806,7 @@


- [View source] + [View source]
@@ -6822,7 +6822,7 @@


- [View source] + [View source]
@@ -6850,7 +6850,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Area.html b/PointGrab/CogniPoint/Area.html index a8a2ee9e44..cb494bca6d 100644 --- a/PointGrab/CogniPoint/Area.html +++ b/PointGrab/CogniPoint/Area.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
@@ -6912,7 +6912,7 @@


- [View source] + [View source]
@@ -6928,7 +6928,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Area/Application.html b/PointGrab/CogniPoint/Area/Application.html index 4a5f29bd1a..7cc120ca43 100644 --- a/PointGrab/CogniPoint/Area/Application.html +++ b/PointGrab/CogniPoint/Area/Application.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Building.html b/PointGrab/CogniPoint/Building.html index 6fcef64618..0d687b7971 100644 --- a/PointGrab/CogniPoint/Building.html +++ b/PointGrab/CogniPoint/Building.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/CountUpdate.html b/PointGrab/CogniPoint/CountUpdate.html index ee32d1c3f3..471dd54d5a 100644 --- a/PointGrab/CogniPoint/CountUpdate.html +++ b/PointGrab/CogniPoint/CountUpdate.html @@ -6319,7 +6319,7 @@

- + point_grab/cogni_point.cr @@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
@@ -6582,7 +6582,7 @@


- [View source] + [View source]
@@ -6598,7 +6598,7 @@


- [View source] + [View source]
@@ -6614,7 +6614,7 @@


- [View source] + [View source]
@@ -6630,7 +6630,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Customer.html b/PointGrab/CogniPoint/Customer.html index 2a36e7e43e..f6911777ef 100644 --- a/PointGrab/CogniPoint/Customer.html +++ b/PointGrab/CogniPoint/Customer.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Floor.html b/PointGrab/CogniPoint/Floor.html index 35c47ce56e..bcdfb81a66 100644 --- a/PointGrab/CogniPoint/Floor.html +++ b/PointGrab/CogniPoint/Floor.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/FloorAreas.html b/PointGrab/CogniPoint/FloorAreas.html index 05c6889e34..a208a6053b 100644 --- a/PointGrab/CogniPoint/FloorAreas.html +++ b/PointGrab/CogniPoint/FloorAreas.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/GeoPosition.html b/PointGrab/CogniPoint/GeoPosition.html index cb20b9642f..c89297f81f 100644 --- a/PointGrab/CogniPoint/GeoPosition.html +++ b/PointGrab/CogniPoint/GeoPosition.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Handler.html b/PointGrab/CogniPoint/Handler.html index ccd58dd02d..48ca01d3a9 100644 --- a/PointGrab/CogniPoint/Handler.html +++ b/PointGrab/CogniPoint/Handler.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/MetricPositions.html b/PointGrab/CogniPoint/MetricPositions.html index ffca8a7c71..7896c3ab78 100644 --- a/PointGrab/CogniPoint/MetricPositions.html +++ b/PointGrab/CogniPoint/MetricPositions.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/NotificationType.html b/PointGrab/CogniPoint/NotificationType.html index 3db2ab0a39..e6d9459f4a 100644 --- a/PointGrab/CogniPoint/NotificationType.html +++ b/PointGrab/CogniPoint/NotificationType.html @@ -6277,7 +6277,7 @@

- + point_grab/cogni_point.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Site.html b/PointGrab/CogniPoint/Site.html index a2ea54af9a..c2aba6c3ae 100644 --- a/PointGrab/CogniPoint/Site.html +++ b/PointGrab/CogniPoint/Site.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Site/Location.html b/PointGrab/CogniPoint/Site/Location.html index 2bfb1b0e63..5803a942ec 100644 --- a/PointGrab/CogniPoint/Site/Location.html +++ b/PointGrab/CogniPoint/Site/Location.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/Subscription.html b/PointGrab/CogniPoint/Subscription.html index 32791bdc8a..4fe5033501 100644 --- a/PointGrab/CogniPoint/Subscription.html +++ b/PointGrab/CogniPoint/Subscription.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
diff --git a/PointGrab/CogniPoint/TokenResponse.html b/PointGrab/CogniPoint/TokenResponse.html index 3599a42de0..0de52b7208 100644 --- a/PointGrab/CogniPoint/TokenResponse.html +++ b/PointGrab/CogniPoint/TokenResponse.html @@ -6307,7 +6307,7 @@

- + point_grab/cogni_point.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
diff --git a/Polygon.html b/Polygon.html index 8ac0f319b6..39a41ec35c 100644 --- a/Polygon.html +++ b/Polygon.html @@ -6279,7 +6279,7 @@

- + place/area_polygon.cr @@ -6402,7 +6402,7 @@


- [View source] + [View source]
@@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
diff --git a/Qbic.html b/Qbic.html index 68d82fa279..218c6c95de 100644 --- a/Qbic.html +++ b/Qbic.html @@ -6277,7 +6277,7 @@

- + qbic/touch_panel.cr diff --git a/Qbic/TouchPanel.html b/Qbic/TouchPanel.html index a5cfe4ac31..d3de946532 100644 --- a/Qbic/TouchPanel.html +++ b/Qbic/TouchPanel.html @@ -6279,7 +6279,7 @@

- + qbic/touch_panel.cr @@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
diff --git a/Qbic/TouchPanel/AdvertiseMode.html b/Qbic/TouchPanel/AdvertiseMode.html index d231a7ad51..c712ab4cd8 100644 --- a/Qbic/TouchPanel/AdvertiseMode.html +++ b/Qbic/TouchPanel/AdvertiseMode.html @@ -6277,7 +6277,7 @@

- + qbic/touch_panel.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Qbic/TouchPanel/AuthResponse.html b/Qbic/TouchPanel/AuthResponse.html index 313d5c24b5..59a17aac58 100644 --- a/Qbic/TouchPanel/AuthResponse.html +++ b/Qbic/TouchPanel/AuthResponse.html @@ -6307,7 +6307,7 @@

- + qbic/touch_panel.cr @@ -6444,7 +6444,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
diff --git a/Qbic/TouchPanel/FailureResponse.html b/Qbic/TouchPanel/FailureResponse.html index 374e1b4db6..f740716449 100644 --- a/Qbic/TouchPanel/FailureResponse.html +++ b/Qbic/TouchPanel/FailureResponse.html @@ -6307,7 +6307,7 @@

- + qbic/touch_panel.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
diff --git a/Qsc.html b/Qsc.html index c9e12345f4..4b8ee7cd53 100644 --- a/Qsc.html +++ b/Qsc.html @@ -6277,7 +6277,7 @@

- + qsc/q_sys_control.cr diff --git a/Qsc/QSysControl.html b/Qsc/QSysControl.html index 6d55e8fdf9..4a29d66c60 100644 --- a/Qsc/QSysControl.html +++ b/Qsc/QSysControl.html @@ -6279,7 +6279,7 @@

- + qsc/q_sys_control.cr @@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6799,7 +6799,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6863,7 +6863,7 @@


- [View source] + [View source]
@@ -6879,7 +6879,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6953,7 +6953,7 @@


- [View source] + [View source]
@@ -6969,7 +6969,7 @@


- [View source] + [View source]
diff --git a/Qsc/QSysControl/Group.html b/Qsc/QSysControl/Group.html index 72da1da41f..df4f09e6aa 100644 --- a/Qsc/QSysControl/Group.html +++ b/Qsc/QSysControl/Group.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_control.cr diff --git a/Qsc/QSysControl/Ids.html b/Qsc/QSysControl/Ids.html index da65590e76..4a2590de2e 100644 --- a/Qsc/QSysControl/Ids.html +++ b/Qsc/QSysControl/Ids.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_control.cr diff --git a/Qsc/QSysControl/Val.html b/Qsc/QSysControl/Val.html index 9361a2362c..675a8c8478 100644 --- a/Qsc/QSysControl/Val.html +++ b/Qsc/QSysControl/Val.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_control.cr diff --git a/Qsc/QSysRemote.html b/Qsc/QSysRemote.html index fac5c7a7d2..a62e100ac6 100644 --- a/Qsc/QSysRemote.html +++ b/Qsc/QSysRemote.html @@ -6279,7 +6279,7 @@

- + qsc/q_sys_remote.cr @@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6863,7 +6863,7 @@


- [View source] + [View source]
@@ -6879,7 +6879,7 @@


- [View source] + [View source]
@@ -6895,7 +6895,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6927,7 +6927,7 @@


- [View source] + [View source]
@@ -6949,7 +6949,7 @@


- [View source] + [View source]
@@ -6965,7 +6965,7 @@


- [View source] + [View source]
@@ -6981,7 +6981,7 @@


- [View source] + [View source]
@@ -6997,7 +6997,7 @@


- [View source] + [View source]
@@ -7018,7 +7018,7 @@


- [View source] + [View source]
@@ -7034,7 +7034,7 @@


- [View source] + [View source]
@@ -7050,7 +7050,7 @@


- [View source] + [View source]
@@ -7071,7 +7071,7 @@


- [View source] + [View source]
@@ -7087,7 +7087,7 @@


- [View source] + [View source]
@@ -7103,7 +7103,7 @@


- [View source] + [View source]
@@ -7119,7 +7119,7 @@


- [View source] + [View source]
@@ -7135,7 +7135,7 @@


- [View source] + [View source]
@@ -7151,7 +7151,7 @@


- [View source] + [View source]
@@ -7167,7 +7167,7 @@


- [View source] + [View source]
diff --git a/Qsc/QSysRemote/Ids.html b/Qsc/QSysRemote/Ids.html index 3258efba57..46ea01272f 100644 --- a/Qsc/QSysRemote/Ids.html +++ b/Qsc/QSysRemote/Ids.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_remote.cr diff --git a/Qsc/QSysRemote/Num.html b/Qsc/QSysRemote/Num.html index c39fcbd6b4..fa3abe7e6d 100644 --- a/Qsc/QSysRemote/Num.html +++ b/Qsc/QSysRemote/Num.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_remote.cr diff --git a/Qsc/QSysRemote/PosTup.html b/Qsc/QSysRemote/PosTup.html index 8f7b369564..a255535c9e 100644 --- a/Qsc/QSysRemote/PosTup.html +++ b/Qsc/QSysRemote/PosTup.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_remote.cr diff --git a/Qsc/QSysRemote/ValTup.html b/Qsc/QSysRemote/ValTup.html index d110025d0b..1b8aa6318a 100644 --- a/Qsc/QSysRemote/ValTup.html +++ b/Qsc/QSysRemote/ValTup.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_remote.cr diff --git a/Qsc/QSysRemote/Values.html b/Qsc/QSysRemote/Values.html index 3cef1b3853..aaef49c28c 100644 --- a/Qsc/QSysRemote/Values.html +++ b/Qsc/QSysRemote/Values.html @@ -6287,7 +6287,7 @@

- + qsc/q_sys_remote.cr diff --git a/RHBAccess.html b/RHBAccess.html index 447eee12cd..0d245b538e 100644 --- a/RHBAccess.html +++ b/RHBAccess.html @@ -6277,7 +6277,7 @@

- + rhb_access/axiom_room_logic.cr diff --git a/RHBAccess/AxiomRoomLogic.html b/RHBAccess/AxiomRoomLogic.html index 388facd5b4..725e24921f 100644 --- a/RHBAccess/AxiomRoomLogic.html +++ b/RHBAccess/AxiomRoomLogic.html @@ -6279,7 +6279,7 @@

- + rhb_access/axiom_room_logic.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/RHBAccess/Axiomxa.html b/RHBAccess/Axiomxa.html index 6dfb5b61e7..7ff7e2dd1c 100644 --- a/RHBAccess/Axiomxa.html +++ b/RHBAccess/Axiomxa.html @@ -6279,7 +6279,7 @@

- + rhb_access/axiomxa.cr @@ -6394,7 +6394,7 @@


- [View source] + [View source]
@@ -6410,7 +6410,7 @@


- [View source] + [View source]
@@ -6426,7 +6426,7 @@


- [View source] + [View source]
@@ -6442,7 +6442,7 @@


- [View source] + [View source]
@@ -6458,7 +6458,7 @@


- [View source] + [View source]
diff --git a/RHBAccess/Axiomxa/Client.html b/RHBAccess/Axiomxa/Client.html index fba16c2059..e354b2965f 100644 --- a/RHBAccess/Axiomxa/Client.html +++ b/RHBAccess/Axiomxa/Client.html @@ -6287,7 +6287,7 @@

- + rhb_access/axiomxa.cr diff --git a/Rhombus.html b/Rhombus.html index d6ead771e9..de7b78a08f 100644 --- a/Rhombus.html +++ b/Rhombus.html @@ -6277,7 +6277,7 @@

- + rhombus/security_interop_models.cr diff --git a/Rhombus/SecurityInterop.html b/Rhombus/SecurityInterop.html index 2d5e254d7c..e676867854 100644 --- a/Rhombus/SecurityInterop.html +++ b/Rhombus/SecurityInterop.html @@ -6279,7 +6279,7 @@

- + rhombus/security_interop.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Rhombus/SecurityMock.html b/Rhombus/SecurityMock.html index eaf397875b..761ba39c21 100644 --- a/Rhombus/SecurityMock.html +++ b/Rhombus/SecurityMock.html @@ -6293,7 +6293,7 @@

- + rhombus/security_mock.cr @@ -6420,7 +6420,7 @@


- [View source] + [View source]
@@ -6436,7 +6436,7 @@


- [View source] + [View source]
@@ -6452,7 +6452,7 @@


- [View source] + [View source]
@@ -6468,7 +6468,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
diff --git a/Rhombus/SecurityMock/CardUser.html b/Rhombus/SecurityMock/CardUser.html index e0a676be03..e2bf9828d3 100644 --- a/Rhombus/SecurityMock/CardUser.html +++ b/Rhombus/SecurityMock/CardUser.html @@ -6307,7 +6307,7 @@

- + rhombus/security_mock.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
diff --git a/Rhombus/Subscription.html b/Rhombus/Subscription.html index dbb2614631..aa80b0256d 100644 --- a/Rhombus/Subscription.html +++ b/Rhombus/Subscription.html @@ -6307,7 +6307,7 @@

- + rhombus/security_interop_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
diff --git a/Rhombus/Webhook.html b/Rhombus/Webhook.html index 56cb18fc50..7b73ce570f 100644 --- a/Rhombus/Webhook.html +++ b/Rhombus/Webhook.html @@ -6307,7 +6307,7 @@

- + rhombus/security_interop_models.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
diff --git a/Samsung.html b/Samsung.html index 5e4ccd1134..fc1cbf8476 100644 --- a/Samsung.html +++ b/Samsung.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr diff --git a/Samsung/Displays.html b/Samsung/Displays.html index c67dcc57ad..14db6aeef0 100644 --- a/Samsung/Displays.html +++ b/Samsung/Displays.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr diff --git a/Samsung/Displays/MDCProtocol.html b/Samsung/Displays/MDCProtocol.html index a987d2f3cd..d8a2f7f184 100644 --- a/Samsung/Displays/MDCProtocol.html +++ b/Samsung/Displays/MDCProtocol.html @@ -6297,7 +6297,7 @@

- + samsung/displays/mdc_protocol.cr @@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6813,7 +6813,7 @@


- [View source] + [View source]
@@ -6834,7 +6834,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6887,7 +6887,7 @@


- [View source] + [View source]
@@ -6903,7 +6903,7 @@


- [View source] + [View source]
@@ -6924,7 +6924,7 @@


- [View source] + [View source]
@@ -6940,7 +6940,7 @@


- [View source] + [View source]
@@ -6956,7 +6956,7 @@


- [View source] + [View source]
@@ -6972,7 +6972,7 @@


- [View source] + [View source]
@@ -6988,7 +6988,7 @@


- [View source] + [View source]
@@ -7004,7 +7004,7 @@


- [View source] + [View source]
@@ -7025,7 +7025,7 @@


- [View source] + [View source]
@@ -7041,7 +7041,7 @@


- [View source] + [View source]
@@ -7057,7 +7057,7 @@


- [View source] + [View source]
@@ -7073,7 +7073,7 @@


- [View source] + [View source]
@@ -7089,7 +7089,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/MDCProtocol/Command.html b/Samsung/Displays/MDCProtocol/Command.html index d638dc4a06..708ee2ca7d 100644 --- a/Samsung/Displays/MDCProtocol/Command.html +++ b/Samsung/Displays/MDCProtocol/Command.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr @@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7032,7 +7032,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
@@ -7064,7 +7064,7 @@


- [View source] + [View source]
@@ -7080,7 +7080,7 @@


- [View source] + [View source]
@@ -7096,7 +7096,7 @@


- [View source] + [View source]
@@ -7112,7 +7112,7 @@


- [View source] + [View source]
@@ -7128,7 +7128,7 @@


- [View source] + [View source]
@@ -7144,7 +7144,7 @@


- [View source] + [View source]
@@ -7160,7 +7160,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/MDCProtocol/Input.html b/Samsung/Displays/MDCProtocol/Input.html index 5f50d5f107..e19f9af0ce 100644 --- a/Samsung/Displays/MDCProtocol/Input.html +++ b/Samsung/Displays/MDCProtocol/Input.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr @@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/MDCProtocol/Num.html b/Samsung/Displays/MDCProtocol/Num.html index 8ed3b85f74..be24e87c2f 100644 --- a/Samsung/Displays/MDCProtocol/Num.html +++ b/Samsung/Displays/MDCProtocol/Num.html @@ -6287,7 +6287,7 @@

- + samsung/displays/mdc_protocol.cr diff --git a/Samsung/Displays/MDCProtocol/ResponseStatus.html b/Samsung/Displays/MDCProtocol/ResponseStatus.html index 040f0de8a7..7ea1808a6e 100644 --- a/Samsung/Displays/MDCProtocol/ResponseStatus.html +++ b/Samsung/Displays/MDCProtocol/ResponseStatus.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/MDCProtocol/SpeakerMode.html b/Samsung/Displays/MDCProtocol/SpeakerMode.html index 8bda06cc43..ac7cc2b136 100644 --- a/Samsung/Displays/MDCProtocol/SpeakerMode.html +++ b/Samsung/Displays/MDCProtocol/SpeakerMode.html @@ -6277,7 +6277,7 @@

- + samsung/displays/mdc_protocol.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/ReducedMDCProtocol.html b/Samsung/Displays/ReducedMDCProtocol.html index 56e99fd67e..d5c093387e 100644 --- a/Samsung/Displays/ReducedMDCProtocol.html +++ b/Samsung/Displays/ReducedMDCProtocol.html @@ -6297,7 +6297,7 @@

- + samsung/displays/reduced_mdc_protocol.cr @@ -6545,7 +6545,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6646,7 +6646,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/ReducedMDCProtocol/Command.html b/Samsung/Displays/ReducedMDCProtocol/Command.html index b161aad7c9..f7578d4c8f 100644 --- a/Samsung/Displays/ReducedMDCProtocol/Command.html +++ b/Samsung/Displays/ReducedMDCProtocol/Command.html @@ -6277,7 +6277,7 @@

- + samsung/displays/reduced_mdc_protocol.cr @@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
@@ -6744,7 +6744,7 @@


- [View source] + [View source]
@@ -6760,7 +6760,7 @@


- [View source] + [View source]
@@ -6776,7 +6776,7 @@


- [View source] + [View source]
@@ -6792,7 +6792,7 @@


- [View source] + [View source]
@@ -6808,7 +6808,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6872,7 +6872,7 @@


- [View source] + [View source]
@@ -6888,7 +6888,7 @@


- [View source] + [View source]
@@ -6904,7 +6904,7 @@


- [View source] + [View source]
@@ -6920,7 +6920,7 @@


- [View source] + [View source]
@@ -6936,7 +6936,7 @@


- [View source] + [View source]
@@ -6952,7 +6952,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7016,7 +7016,7 @@


- [View source] + [View source]
@@ -7032,7 +7032,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
@@ -7064,7 +7064,7 @@


- [View source] + [View source]
@@ -7080,7 +7080,7 @@


- [View source] + [View source]
@@ -7096,7 +7096,7 @@


- [View source] + [View source]
@@ -7112,7 +7112,7 @@


- [View source] + [View source]
@@ -7128,7 +7128,7 @@


- [View source] + [View source]
@@ -7144,7 +7144,7 @@


- [View source] + [View source]
@@ -7160,7 +7160,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/ReducedMDCProtocol/Input.html b/Samsung/Displays/ReducedMDCProtocol/Input.html index 262583b712..522c0aa948 100644 --- a/Samsung/Displays/ReducedMDCProtocol/Input.html +++ b/Samsung/Displays/ReducedMDCProtocol/Input.html @@ -6277,7 +6277,7 @@

- + samsung/displays/reduced_mdc_protocol.cr @@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
diff --git a/Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html b/Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html index 536652795f..a30cab1b2b 100644 --- a/Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html +++ b/Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html @@ -6277,7 +6277,7 @@

- + samsung/displays/reduced_mdc_protocol.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Screen.html b/Screen.html index 1a256929c9..ba6e0cd9fc 100644 --- a/Screen.html +++ b/Screen.html @@ -6279,7 +6279,7 @@

- + global_cache/projector_screen_spec.cr diff --git a/ScreenTechnics.html b/ScreenTechnics.html index d9ef4dfba1..59d4dd1f37 100644 --- a/ScreenTechnics.html +++ b/ScreenTechnics.html @@ -6277,7 +6277,7 @@

- + screen_technics/connect.cr diff --git a/ScreenTechnics/Connect.html b/ScreenTechnics/Connect.html index ff12eb8724..4d7ab3bd26 100644 --- a/ScreenTechnics/Connect.html +++ b/ScreenTechnics/Connect.html @@ -6295,7 +6295,7 @@

- + screen_technics/connect.cr @@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
diff --git a/SecureOS.html b/SecureOS.html index efe23fde83..bd2865724d 100644 --- a/SecureOS.html +++ b/SecureOS.html @@ -6277,7 +6277,7 @@

- + secure_os/ws_api_models.cr diff --git a/SecureOS/AuthResponse.html b/SecureOS/AuthResponse.html index 442aaee204..07dc440e8f 100644 --- a/SecureOS/AuthResponse.html +++ b/SecureOS/AuthResponse.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/SecureOS/AuthToken.html b/SecureOS/AuthToken.html index b8222c5a20..628806dc62 100644 --- a/SecureOS/AuthToken.html +++ b/SecureOS/AuthToken.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/SecureOS/Camera.html b/SecureOS/Camera.html index 9041f70b96..0008524a8a 100644 --- a/SecureOS/Camera.html +++ b/SecureOS/Camera.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/SecureOS/CameraResponse.html b/SecureOS/CameraResponse.html index 93330e4811..1383c9d1a6 100644 --- a/SecureOS/CameraResponse.html +++ b/SecureOS/CameraResponse.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/SecureOS/Error.html b/SecureOS/Error.html index 9b0aa3fff2..3075ebd8e0 100644 --- a/SecureOS/Error.html +++ b/SecureOS/Error.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/SecureOS/ErrorWrapper.html b/SecureOS/ErrorWrapper.html index a256217a69..27b14c8c1b 100644 --- a/SecureOS/ErrorWrapper.html +++ b/SecureOS/ErrorWrapper.html @@ -6279,7 +6279,7 @@

- + secure_os/ws_api_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/SecureOS/Event.html b/SecureOS/Event.html index 9c7dbd0fcd..00ddd4fef9 100644 --- a/SecureOS/Event.html +++ b/SecureOS/Event.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/SecureOS/EventWrapper.html b/SecureOS/EventWrapper.html index e35fb22d8a..21e95592ef 100644 --- a/SecureOS/EventWrapper.html +++ b/SecureOS/EventWrapper.html @@ -6279,7 +6279,7 @@

- + secure_os/ws_api_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/SecureOS/Response.html b/SecureOS/Response.html index cb70c09348..a395b9e9f3 100644 --- a/SecureOS/Response.html +++ b/SecureOS/Response.html @@ -6327,7 +6327,7 @@

- + secure_os/ws_api_models.cr @@ -6428,7 +6428,7 @@


- [View source] + [View source]
diff --git a/SecureOS/State.html b/SecureOS/State.html index d829815b2a..303582e89e 100644 --- a/SecureOS/State.html +++ b/SecureOS/State.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/SecureOS/StateType.html b/SecureOS/StateType.html index 59c80278a7..4d81c0a956 100644 --- a/SecureOS/StateType.html +++ b/SecureOS/StateType.html @@ -6277,7 +6277,7 @@

- + secure_os/ws_api_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/SecureOS/StateWrapper.html b/SecureOS/StateWrapper.html index f6647eb2b5..f99f20efa2 100644 --- a/SecureOS/StateWrapper.html +++ b/SecureOS/StateWrapper.html @@ -6279,7 +6279,7 @@

- + secure_os/ws_api_models.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
diff --git a/SecureOS/SubscribeRule.html b/SecureOS/SubscribeRule.html index 22ac438adf..6834d8024a 100644 --- a/SecureOS/SubscribeRule.html +++ b/SecureOS/SubscribeRule.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6466,7 +6466,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/SecureOS/Watchlist.html b/SecureOS/Watchlist.html index c45a42687d..9981555b0c 100644 --- a/SecureOS/Watchlist.html +++ b/SecureOS/Watchlist.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/SecureOS/WatchlistResponse.html b/SecureOS/WatchlistResponse.html index ef6b0c815d..af60ea1b98 100644 --- a/SecureOS/WatchlistResponse.html +++ b/SecureOS/WatchlistResponse.html @@ -6307,7 +6307,7 @@

- + secure_os/ws_api_models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/SecureOS/WsApi.html b/SecureOS/WsApi.html index 1ca7252936..34c87251f7 100644 --- a/SecureOS/WsApi.html +++ b/SecureOS/WsApi.html @@ -6279,7 +6279,7 @@

- + secure_os/ws_api.cr @@ -6414,7 +6414,7 @@


- [View source] + [View source]
@@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Settings.html b/Settings.html index 4920b841ef..9a2a3a3616 100644 --- a/Settings.html +++ b/Settings.html @@ -6287,7 +6287,7 @@

- + place/router/settings_spec.cr diff --git a/Sharp.html b/Sharp.html index 73d1c6445c..466f3667fe 100644 --- a/Sharp.html +++ b/Sharp.html @@ -6277,7 +6277,7 @@

- + sharp/pn_series.cr diff --git a/Sharp/PnSeries.html b/Sharp/PnSeries.html index dbd22cb1b5..ba379b1254 100644 --- a/Sharp/PnSeries.html +++ b/Sharp/PnSeries.html @@ -6297,7 +6297,7 @@

- + sharp/pn_series.cr @@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6853,7 +6853,7 @@


- [View source] + [View source]
@@ -6869,7 +6869,7 @@


- [View source] + [View source]
@@ -6895,7 +6895,7 @@


- [View source] + [View source]
@@ -6911,7 +6911,7 @@


- [View source] + [View source]
@@ -6927,7 +6927,7 @@


- [View source] + [View source]
@@ -6943,7 +6943,7 @@


- [View source] + [View source]
diff --git a/Sharp/PnSeries/Input.html b/Sharp/PnSeries/Input.html index 9fec5c8fec..9f56987864 100644 --- a/Sharp/PnSeries/Input.html +++ b/Sharp/PnSeries/Input.html @@ -6277,7 +6277,7 @@

- + sharp/pn_series.cr @@ -6476,7 +6476,7 @@


- [View source] + [View source]
@@ -6492,7 +6492,7 @@


- [View source] + [View source]
@@ -6508,7 +6508,7 @@


- [View source] + [View source]
@@ -6524,7 +6524,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
diff --git a/Shure.html b/Shure.html index 8cb4c104fa..da515f0acc 100644 --- a/Shure.html +++ b/Shure.html @@ -6277,7 +6277,7 @@

- + shure/microphone/mxa.cr diff --git a/Shure/Microphone.html b/Shure/Microphone.html index 98e92f0b38..70859e27be 100644 --- a/Shure/Microphone.html +++ b/Shure/Microphone.html @@ -6277,7 +6277,7 @@

- + shure/microphone/mxa.cr diff --git a/Shure/Microphone/MXA.html b/Shure/Microphone/MXA.html index 59feb606b9..d5220d2b4f 100644 --- a/Shure/Microphone/MXA.html +++ b/Shure/Microphone/MXA.html @@ -6293,7 +6293,7 @@

- + shure/microphone/mxa.cr @@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
@@ -6824,7 +6824,7 @@


- [View source] + [View source]
@@ -6840,7 +6840,7 @@


- [View source] + [View source]
@@ -6856,7 +6856,7 @@


- [View source] + [View source]
@@ -6877,7 +6877,7 @@


- [View source] + [View source]
@@ -6898,7 +6898,7 @@


- [View source] + [View source]
@@ -6914,7 +6914,7 @@


- [View source] + [View source]
@@ -6935,7 +6935,7 @@


- [View source] + [View source]
@@ -6951,7 +6951,7 @@


- [View source] + [View source]
diff --git a/Shure/Microphone/MXA/Colour.html b/Shure/Microphone/MXA/Colour.html index b6a04eaa07..c70edb2b96 100644 --- a/Shure/Microphone/MXA/Colour.html +++ b/Shure/Microphone/MXA/Colour.html @@ -6277,7 +6277,7 @@

- + shure/microphone/mxa.cr @@ -6471,7 +6471,7 @@


- [View source] + [View source]
@@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6503,7 +6503,7 @@


- [View source] + [View source]
@@ -6519,7 +6519,7 @@


- [View source] + [View source]
@@ -6535,7 +6535,7 @@


- [View source] + [View source]
@@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6567,7 +6567,7 @@


- [View source] + [View source]
@@ -6583,7 +6583,7 @@


- [View source] + [View source]
diff --git a/Siemens.html b/Siemens.html index 284c8a3f52..9659136eef 100644 --- a/Siemens.html +++ b/Siemens.html @@ -6277,7 +6277,7 @@

- + siemens/desigo.cr diff --git a/Siemens/Desigo.html b/Siemens/Desigo.html index 245b4601ed..0348eb3377 100644 --- a/Siemens/Desigo.html +++ b/Siemens/Desigo.html @@ -6279,7 +6279,7 @@

- + siemens/desigo.cr @@ -6401,7 +6401,7 @@


- [View source] + [View source]
@@ -6424,7 +6424,7 @@


- [View source] + [View source]
@@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
diff --git a/Siemens/Desigo/Client.html b/Siemens/Desigo/Client.html index 95bc88b4c7..8c2da36a68 100644 --- a/Siemens/Desigo/Client.html +++ b/Siemens/Desigo/Client.html @@ -6287,7 +6287,7 @@

- + siemens/desigo.cr diff --git a/SigGraph.html b/SigGraph.html index 0379b9f4b7..5ce8f5d4dc 100644 --- a/SigGraph.html +++ b/SigGraph.html @@ -6287,7 +6287,7 @@

- + place/router/signal_graph_spec.cr diff --git a/SignalGraph.html b/SignalGraph.html index 279edfea46..958a22a3a3 100644 --- a/SignalGraph.html +++ b/SignalGraph.html @@ -6287,7 +6287,7 @@

- + place/router/settings_spec.cr diff --git a/Sony.html b/Sony.html index 8593b08980..496b6d350b 100644 --- a/Sony.html +++ b/Sony.html @@ -6277,7 +6277,7 @@

- + sony/camera/cgi_protocol.cr diff --git a/Sony/Camera.html b/Sony/Camera.html index 868c6f7afc..bce29dcc77 100644 --- a/Sony/Camera.html +++ b/Sony/Camera.html @@ -6277,7 +6277,7 @@

- + sony/camera/cgi_protocol.cr diff --git a/Sony/Camera/CGI.html b/Sony/Camera/CGI.html index 97d77aed15..519fef9ed9 100644 --- a/Sony/Camera/CGI.html +++ b/Sony/Camera/CGI.html @@ -6293,7 +6293,7 @@

- + sony/camera/cgi_protocol.cr @@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6669,7 +6669,7 @@


- [View source] + [View source]
@@ -6685,7 +6685,7 @@


- [View source] + [View source]
@@ -6701,7 +6701,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6748,7 +6748,7 @@


- [View source] + [View source]
@@ -6773,7 +6773,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
diff --git a/Sony/Camera/CGI/Movement.html b/Sony/Camera/CGI/Movement.html index 9839a5ea23..81bfed0359 100644 --- a/Sony/Camera/CGI/Movement.html +++ b/Sony/Camera/CGI/Movement.html @@ -6277,7 +6277,7 @@

- + sony/camera/cgi_protocol.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/Sony/Camera/VISCA.html b/Sony/Camera/VISCA.html index 8854c52b9f..a49d72ff42 100644 --- a/Sony/Camera/VISCA.html +++ b/Sony/Camera/VISCA.html @@ -6295,7 +6295,7 @@

- + sony/camera/visca.cr @@ -6583,7 +6583,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6661,7 +6661,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6830,7 +6830,7 @@


- [View source] + [View source]
@@ -6846,7 +6846,7 @@


- [View source] + [View source]
@@ -6862,7 +6862,7 @@


- [View source] + [View source]
@@ -6878,7 +6878,7 @@


- [View source] + [View source]
@@ -6894,7 +6894,7 @@


- [View source] + [View source]
@@ -6910,7 +6910,7 @@


- [View source] + [View source]
@@ -6926,7 +6926,7 @@


- [View source] + [View source]
@@ -6942,7 +6942,7 @@


- [View source] + [View source]
@@ -6968,7 +6968,7 @@


- [View source] + [View source]
@@ -6984,7 +6984,7 @@


- [View source] + [View source]
@@ -7000,7 +7000,7 @@


- [View source] + [View source]
@@ -7021,7 +7021,7 @@


- [View source] + [View source]
diff --git a/Sony/Camera/VISCA/Packet.html b/Sony/Camera/VISCA/Packet.html index 850ab5ad26..f89c34def3 100644 --- a/Sony/Camera/VISCA/Packet.html +++ b/Sony/Camera/VISCA/Packet.html @@ -6290,7 +6290,7 @@

- + sony/camera/visca.cr @@ -7003,7 +7003,7 @@


- [View source] + [View source]
@@ -7031,7 +7031,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
@@ -7197,7 +7197,7 @@


- [View source] + [View source]
@@ -7218,7 +7218,7 @@


- [View source] + [View source]
@@ -7239,7 +7239,7 @@


- [View source] + [View source]
@@ -7260,7 +7260,7 @@


- [View source] + [View source]
@@ -7281,7 +7281,7 @@


- [View source] + [View source]
@@ -7302,7 +7302,7 @@


- [View source] + [View source]
@@ -7323,7 +7323,7 @@


- [View source] + [View source]
@@ -7344,7 +7344,7 @@


- [View source] + [View source]
@@ -7365,7 +7365,7 @@


- [View source] + [View source]
@@ -7386,7 +7386,7 @@


- [View source] + [View source]
@@ -7407,7 +7407,7 @@


- [View source] + [View source]
@@ -7428,7 +7428,7 @@


- [View source] + [View source]
@@ -7449,7 +7449,7 @@


- [View source] + [View source]
@@ -7470,7 +7470,7 @@


- [View source] + [View source]
@@ -7491,7 +7491,7 @@


- [View source] + [View source]
@@ -7512,7 +7512,7 @@


- [View source] + [View source]
@@ -7533,7 +7533,7 @@


- [View source] + [View source]
@@ -7554,7 +7554,7 @@


- [View source] + [View source]
@@ -7575,7 +7575,7 @@


- [View source] + [View source]
@@ -7596,7 +7596,7 @@


- [View source] + [View source]
@@ -7617,7 +7617,7 @@


- [View source] + [View source]
@@ -7638,7 +7638,7 @@


- [View source] + [View source]
@@ -7659,7 +7659,7 @@


- [View source] + [View source]
@@ -7680,7 +7680,7 @@


- [View source] + [View source]
@@ -7701,7 +7701,7 @@


- [View source] + [View source]
@@ -7722,7 +7722,7 @@


- [View source] + [View source]
@@ -7743,7 +7743,7 @@


- [View source] + [View source]
@@ -7764,7 +7764,7 @@


- [View source] + [View source]
@@ -7785,7 +7785,7 @@


- [View source] + [View source]
@@ -7806,7 +7806,7 @@


- [View source] + [View source]
@@ -7827,7 +7827,7 @@


- [View source] + [View source]
@@ -7848,7 +7848,7 @@


- [View source] + [View source]
@@ -7869,7 +7869,7 @@


- [View source] + [View source]
@@ -7890,7 +7890,7 @@


- [View source] + [View source]
@@ -7911,7 +7911,7 @@


- [View source] + [View source]
@@ -7932,7 +7932,7 @@


- [View source] + [View source]
@@ -7953,7 +7953,7 @@


- [View source] + [View source]
@@ -7974,7 +7974,7 @@


- [View source] + [View source]
@@ -7995,7 +7995,7 @@


- [View source] + [View source]
@@ -8016,7 +8016,7 @@


- [View source] + [View source]
@@ -8037,7 +8037,7 @@


- [View source] + [View source]
@@ -8058,7 +8058,7 @@


- [View source] + [View source]
@@ -8079,7 +8079,7 @@


- [View source] + [View source]
@@ -8100,7 +8100,7 @@


- [View source] + [View source]
@@ -8121,7 +8121,7 @@


- [View source] + [View source]
@@ -8142,7 +8142,7 @@


- [View source] + [View source]
@@ -8163,7 +8163,7 @@


- [View source] + [View source]
@@ -8184,7 +8184,7 @@


- [View source] + [View source]
@@ -8205,7 +8205,7 @@


- [View source] + [View source]
@@ -8226,7 +8226,7 @@


- [View source] + [View source]
@@ -8247,7 +8247,7 @@


- [View source] + [View source]
@@ -8268,7 +8268,7 @@


- [View source] + [View source]
@@ -8289,7 +8289,7 @@


- [View source] + [View source]
@@ -8310,7 +8310,7 @@


- [View source] + [View source]
@@ -8331,7 +8331,7 @@


- [View source] + [View source]
@@ -8352,7 +8352,7 @@


- [View source] + [View source]
@@ -8373,7 +8373,7 @@


- [View source] + [View source]
@@ -8394,7 +8394,7 @@


- [View source] + [View source]
@@ -8415,7 +8415,7 @@


- [View source] + [View source]
@@ -8436,7 +8436,7 @@


- [View source] + [View source]
@@ -8457,7 +8457,7 @@


- [View source] + [View source]
@@ -8478,7 +8478,7 @@


- [View source] + [View source]
@@ -8499,7 +8499,7 @@


- [View source] + [View source]
@@ -8520,7 +8520,7 @@


- [View source] + [View source]
@@ -8541,7 +8541,7 @@


- [View source] + [View source]
@@ -8562,7 +8562,7 @@


- [View source] + [View source]
@@ -8583,7 +8583,7 @@


- [View source] + [View source]
@@ -8604,7 +8604,7 @@


- [View source] + [View source]
@@ -8625,7 +8625,7 @@


- [View source] + [View source]
diff --git a/Sony/Camera/VISCA/Packet/Type.html b/Sony/Camera/VISCA/Packet/Type.html index 7122f4bfb5..a53654bd4a 100644 --- a/Sony/Camera/VISCA/Packet/Type.html +++ b/Sony/Camera/VISCA/Packet/Type.html @@ -6277,7 +6277,7 @@

- + sony/camera/visca.cr @@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
diff --git a/Sony/Camera/VISCA/Presets.html b/Sony/Camera/VISCA/Presets.html index c23ffc28b2..ebd4497bba 100644 --- a/Sony/Camera/VISCA/Presets.html +++ b/Sony/Camera/VISCA/Presets.html @@ -6287,7 +6287,7 @@

- + sony/camera/visca.cr diff --git a/Sony/Displays.html b/Sony/Displays.html index 9b1f864088..4241924339 100644 --- a/Sony/Displays.html +++ b/Sony/Displays.html @@ -6277,7 +6277,7 @@

- + sony/displays/bravia.cr diff --git a/Sony/Displays/Bravia.html b/Sony/Displays/Bravia.html index 46d73b4c63..827d1ae672 100644 --- a/Sony/Displays/Bravia.html +++ b/Sony/Displays/Bravia.html @@ -6297,7 +6297,7 @@

- + sony/displays/bravia.cr @@ -6545,7 +6545,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
diff --git a/Sony/Displays/Bravia/Command.html b/Sony/Displays/Bravia/Command.html index d2ce3adb8a..8813f02c7a 100644 --- a/Sony/Displays/Bravia/Command.html +++ b/Sony/Displays/Bravia/Command.html @@ -6277,7 +6277,7 @@

- + sony/displays/bravia.cr @@ -6551,7 +6551,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
@@ -6723,7 +6723,7 @@


- [View source] + [View source]
@@ -6739,7 +6739,7 @@


- [View source] + [View source]
@@ -6755,7 +6755,7 @@


- [View source] + [View source]
@@ -6771,7 +6771,7 @@


- [View source] + [View source]
@@ -6787,7 +6787,7 @@


- [View source] + [View source]
@@ -6803,7 +6803,7 @@


- [View source] + [View source]
diff --git a/Sony/Displays/Bravia/Input.html b/Sony/Displays/Bravia/Input.html index c9e24fb466..d1fa73ac04 100644 --- a/Sony/Displays/Bravia/Input.html +++ b/Sony/Displays/Bravia/Input.html @@ -6277,7 +6277,7 @@

- + sony/displays/bravia.cr @@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6599,7 +6599,7 @@


- [View source] + [View source]
@@ -6615,7 +6615,7 @@


- [View source] + [View source]
@@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6679,7 +6679,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6711,7 +6711,7 @@


- [View source] + [View source]
@@ -6727,7 +6727,7 @@


- [View source] + [View source]
@@ -6743,7 +6743,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
@@ -6775,7 +6775,7 @@


- [View source] + [View source]
@@ -6791,7 +6791,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6823,7 +6823,7 @@


- [View source] + [View source]
@@ -6839,7 +6839,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
diff --git a/Sony/Displays/Bravia/MessageType.html b/Sony/Displays/Bravia/MessageType.html index b0001bb621..0e486337d3 100644 --- a/Sony/Displays/Bravia/MessageType.html +++ b/Sony/Displays/Bravia/MessageType.html @@ -6277,7 +6277,7 @@

- + sony/displays/bravia.cr @@ -6446,7 +6446,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector.html b/Sony/Projector.html index 7233e25822..dbdbbe8286 100644 --- a/Sony/Projector.html +++ b/Sony/Projector.html @@ -6277,7 +6277,7 @@

- + sony/projector/fh.cr diff --git a/Sony/Projector/Fh.html b/Sony/Projector/Fh.html index 0ce575026e..50c7cdd56d 100644 --- a/Sony/Projector/Fh.html +++ b/Sony/Projector/Fh.html @@ -6297,7 +6297,7 @@

- + sony/projector/fh.cr @@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6745,7 +6745,7 @@


- [View source] + [View source]
@@ -6761,7 +6761,7 @@


- [View source] + [View source]
@@ -6777,7 +6777,7 @@


- [View source] + [View source]
@@ -6793,7 +6793,7 @@


- [View source] + [View source]
@@ -6809,7 +6809,7 @@


- [View source] + [View source]
@@ -6825,7 +6825,7 @@


- [View source] + [View source]
@@ -6841,7 +6841,7 @@


- [View source] + [View source]
@@ -6857,7 +6857,7 @@


- [View source] + [View source]
@@ -6883,7 +6883,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/Fh/Inputs.html b/Sony/Projector/Fh/Inputs.html index 1abb32e680..944dac0326 100644 --- a/Sony/Projector/Fh/Inputs.html +++ b/Sony/Projector/Fh/Inputs.html @@ -6277,7 +6277,7 @@

- + sony/projector/fh.cr @@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/PjTalk.html b/Sony/Projector/PjTalk.html index bbc165b70c..da288b0416 100644 --- a/Sony/Projector/PjTalk.html +++ b/Sony/Projector/PjTalk.html @@ -6297,7 +6297,7 @@

- + sony/projector/pj_talk.cr @@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
@@ -6702,7 +6702,7 @@


- [View source] + [View source]
@@ -6718,7 +6718,7 @@


- [View source] + [View source]
@@ -6734,7 +6734,7 @@


- [View source] + [View source]
@@ -6750,7 +6750,7 @@


- [View source] + [View source]
@@ -6766,7 +6766,7 @@


- [View source] + [View source]
@@ -6782,7 +6782,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6823,7 +6823,7 @@


- [View source] + [View source]
@@ -6839,7 +6839,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6887,7 +6887,7 @@


- [View source] + [View source]
@@ -6903,7 +6903,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
@@ -6935,7 +6935,7 @@


- [View source] + [View source]
@@ -6961,7 +6961,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/PjTalk/Command.html b/Sony/Projector/PjTalk/Command.html index ff113239b1..2094054ea7 100644 --- a/Sony/Projector/PjTalk/Command.html +++ b/Sony/Projector/PjTalk/Command.html @@ -6277,7 +6277,7 @@

- + sony/projector/pj_talk.cr @@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/PjTalk/CommandType.html b/Sony/Projector/PjTalk/CommandType.html index f917a328d7..a3c6b78c11 100644 --- a/Sony/Projector/PjTalk/CommandType.html +++ b/Sony/Projector/PjTalk/CommandType.html @@ -6277,7 +6277,7 @@

- + sony/projector/pj_talk.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/PjTalk/Input.html b/Sony/Projector/PjTalk/Input.html index 0ad49e06b6..7872884ebf 100644 --- a/Sony/Projector/PjTalk/Input.html +++ b/Sony/Projector/PjTalk/Input.html @@ -6277,7 +6277,7 @@

- + sony/projector/pj_talk.cr @@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/PjTalk/ResponseStatus.html b/Sony/Projector/PjTalk/ResponseStatus.html index 38324debb7..ccd1ec0ce7 100644 --- a/Sony/Projector/PjTalk/ResponseStatus.html +++ b/Sony/Projector/PjTalk/ResponseStatus.html @@ -6277,7 +6277,7 @@

- + sony/projector/pj_talk.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/SerialControl.html b/Sony/Projector/SerialControl.html index e603e21a44..3de96974c9 100644 --- a/Sony/Projector/SerialControl.html +++ b/Sony/Projector/SerialControl.html @@ -6297,7 +6297,7 @@

- + sony/projector/serial_control.cr @@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6781,7 +6781,7 @@


- [View source] + [View source]
@@ -6797,7 +6797,7 @@


- [View source] + [View source]
@@ -6813,7 +6813,7 @@


- [View source] + [View source]
@@ -6829,7 +6829,7 @@


- [View source] + [View source]
@@ -6845,7 +6845,7 @@


- [View source] + [View source]
@@ -6861,7 +6861,7 @@


- [View source] + [View source]
@@ -6877,7 +6877,7 @@


- [View source] + [View source]
@@ -6893,7 +6893,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/SerialControl/Command.html b/Sony/Projector/SerialControl/Command.html index a4cd8b816e..c6b9df393c 100644 --- a/Sony/Projector/SerialControl/Command.html +++ b/Sony/Projector/SerialControl/Command.html @@ -6277,7 +6277,7 @@

- + sony/projector/serial_control.cr @@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6671,7 +6671,7 @@


- [View source] + [View source]
@@ -6687,7 +6687,7 @@


- [View source] + [View source]
@@ -6703,7 +6703,7 @@


- [View source] + [View source]
@@ -6719,7 +6719,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/SerialControl/Input.html b/Sony/Projector/SerialControl/Input.html index 0dd8576fc5..fef5246789 100644 --- a/Sony/Projector/SerialControl/Input.html +++ b/Sony/Projector/SerialControl/Input.html @@ -6277,7 +6277,7 @@

- + sony/projector/serial_control.cr @@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
@@ -6621,7 +6621,7 @@


- [View source] + [View source]
diff --git a/Sony/Projector/SerialControl/Type.html b/Sony/Projector/SerialControl/Type.html index 912455e185..f24fac16be 100644 --- a/Sony/Projector/SerialControl/Type.html +++ b/Sony/Projector/SerialControl/Type.html @@ -6277,7 +6277,7 @@

- + sony/projector/serial_control.cr @@ -6411,7 +6411,7 @@


- [View source] + [View source]
@@ -6427,7 +6427,7 @@


- [View source] + [View source]
diff --git a/StaffAPI.html b/StaffAPI.html index 5f7ad43850..f97364a99f 100644 --- a/StaffAPI.html +++ b/StaffAPI.html @@ -6279,7 +6279,7 @@

- + place/survey_mailer_spec.cr @@ -6439,7 +6439,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Steinel.html b/Steinel.html index 6ef4825277..ef76e093d7 100644 --- a/Steinel.html +++ b/Steinel.html @@ -6277,7 +6277,7 @@

- + steinel/hpd2.cr diff --git a/Steinel/HPD2.html b/Steinel/HPD2.html index 6ff4e91a8e..055f2a5031 100644 --- a/Steinel/HPD2.html +++ b/Steinel/HPD2.html @@ -6293,7 +6293,7 @@

- + steinel/hpd2.cr @@ -6456,7 +6456,7 @@


- [View source] + [View source]
@@ -6472,7 +6472,7 @@


- [View source] + [View source]
@@ -6488,7 +6488,7 @@


- [View source] + [View source]
@@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
diff --git a/Steinel/HPD2/SensorStatus.html b/Steinel/HPD2/SensorStatus.html index 2bf5e29f73..093cf58e54 100644 --- a/Steinel/HPD2/SensorStatus.html +++ b/Steinel/HPD2/SensorStatus.html @@ -6307,7 +6307,7 @@

- + steinel/hpd2.cr @@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6778,7 +6778,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6810,7 +6810,7 @@


- [View source] + [View source]
@@ -6826,7 +6826,7 @@


- [View source] + [View source]
@@ -6842,7 +6842,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
@@ -6954,7 +6954,7 @@


- [View source] + [View source]
@@ -6970,7 +6970,7 @@


- [View source] + [View source]
@@ -6986,7 +6986,7 @@


- [View source] + [View source]
@@ -7002,7 +7002,7 @@


- [View source] + [View source]
@@ -7018,7 +7018,7 @@


- [View source] + [View source]
@@ -7034,7 +7034,7 @@


- [View source] + [View source]
@@ -7050,7 +7050,7 @@


- [View source] + [View source]
@@ -7066,7 +7066,7 @@


- [View source] + [View source]
@@ -7082,7 +7082,7 @@


- [View source] + [View source]
@@ -7098,7 +7098,7 @@


- [View source] + [View source]
@@ -7114,7 +7114,7 @@


- [View source] + [View source]
@@ -7130,7 +7130,7 @@


- [View source] + [View source]
@@ -7146,7 +7146,7 @@


- [View source] + [View source]
@@ -7162,7 +7162,7 @@


- [View source] + [View source]
@@ -7178,7 +7178,7 @@


- [View source] + [View source]
@@ -7194,7 +7194,7 @@


- [View source] + [View source]
@@ -7210,7 +7210,7 @@


- [View source] + [View source]
@@ -7226,7 +7226,7 @@


- [View source] + [View source]
@@ -7242,7 +7242,7 @@


- [View source] + [View source]
@@ -7258,7 +7258,7 @@


- [View source] + [View source]
@@ -7274,7 +7274,7 @@


- [View source] + [View source]
@@ -7290,7 +7290,7 @@


- [View source] + [View source]
@@ -7306,7 +7306,7 @@


- [View source] + [View source]
@@ -7322,7 +7322,7 @@


- [View source] + [View source]
@@ -7338,7 +7338,7 @@


- [View source] + [View source]
@@ -7354,7 +7354,7 @@


- [View source] + [View source]
@@ -7370,7 +7370,7 @@


- [View source] + [View source]
@@ -7386,7 +7386,7 @@


- [View source] + [View source]
@@ -7402,7 +7402,7 @@


- [View source] + [View source]
@@ -7418,7 +7418,7 @@


- [View source] + [View source]
@@ -7434,7 +7434,7 @@


- [View source] + [View source]
@@ -7450,7 +7450,7 @@


- [View source] + [View source]
@@ -7466,7 +7466,7 @@


- [View source] + [View source]
@@ -7482,7 +7482,7 @@


- [View source] + [View source]
@@ -7498,7 +7498,7 @@


- [View source] + [View source]
@@ -7514,7 +7514,7 @@


- [View source] + [View source]
@@ -7530,7 +7530,7 @@


- [View source] + [View source]
@@ -7546,7 +7546,7 @@


- [View source] + [View source]
@@ -7562,7 +7562,7 @@


- [View source] + [View source]
@@ -7578,7 +7578,7 @@


- [View source] + [View source]
@@ -7594,7 +7594,7 @@


- [View source] + [View source]
@@ -7610,7 +7610,7 @@


- [View source] + [View source]
@@ -7626,7 +7626,7 @@


- [View source] + [View source]
@@ -7642,7 +7642,7 @@


- [View source] + [View source]
diff --git a/Steinel/HPD2/SensorType.html b/Steinel/HPD2/SensorType.html index 0df6794d2a..4297a132a2 100644 --- a/Steinel/HPD2/SensorType.html +++ b/Steinel/HPD2/SensorType.html @@ -6287,7 +6287,7 @@

- + steinel/hpd2.cr diff --git a/Stripe.html b/Stripe.html index d6f1268fa0..b811194386 100644 --- a/Stripe.html +++ b/Stripe.html @@ -6277,7 +6277,7 @@

- + stripe/api.cr diff --git a/Stripe/API.html b/Stripe/API.html index 292620f0bb..5df6149e9a 100644 --- a/Stripe/API.html +++ b/Stripe/API.html @@ -6279,7 +6279,7 @@

- + stripe/api.cr @@ -6409,7 +6409,7 @@


- [View source] + [View source]
@@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6441,7 +6441,7 @@


- [View source] + [View source]
@@ -6457,7 +6457,7 @@


- [View source] + [View source]
@@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
diff --git a/Stripe/API/Client.html b/Stripe/API/Client.html index 9bb342ed5e..10990f5305 100644 --- a/Stripe/API/Client.html +++ b/Stripe/API/Client.html @@ -6287,7 +6287,7 @@

- + stripe/api.cr diff --git a/TwentyFiveLivePro.html b/TwentyFiveLivePro.html index 7fd61bd342..155e1e7e1b 100644 --- a/TwentyFiveLivePro.html +++ b/TwentyFiveLivePro.html @@ -6277,224 +6277,224 @@

- + twenty_five_live_pro/api.cr
- + twenty_five_live_pro/models/attribute.cr
- + twenty_five_live_pro/models/availability.cr
- + twenty_five_live_pro/models/category.cr
- + twenty_five_live_pro/models/date.cr
- + twenty_five_live_pro/models/event.cr
- + twenty_five_live_pro/models/event_detail.cr
- + twenty_five_live_pro/models/expanded/attribute.cr
- + twenty_five_live_pro/models/expanded/category.cr
- + twenty_five_live_pro/models/expanded/conflict.cr
- + twenty_five_live_pro/models/expanded/contact.cr
- + twenty_five_live_pro/models/expanded/event_type.cr
- + twenty_five_live_pro/models/expanded/feature.cr
- + twenty_five_live_pro/models/expanded/layout.cr
- + twenty_five_live_pro/models/expanded/organization.cr
- + twenty_five_live_pro/models/expanded/organization_type.cr
- + twenty_five_live_pro/models/expanded/parent_node.cr
- + twenty_five_live_pro/models/expanded/resource.cr
- + twenty_five_live_pro/models/expanded/role.cr
- + twenty_five_live_pro/models/expanded/space.cr
- + twenty_five_live_pro/models/expanded/state.cr
- + twenty_five_live_pro/models/feature.cr
- + twenty_five_live_pro/models/layout.cr
- + twenty_five_live_pro/models/organization.cr
- + twenty_five_live_pro/models/organization_detail.cr
- + twenty_five_live_pro/models/paginated_response.cr
- + twenty_five_live_pro/models/reservations.cr
- + twenty_five_live_pro/models/resource.cr
- + twenty_five_live_pro/models/resource_detail.cr
- + twenty_five_live_pro/models/role.cr
- + twenty_five_live_pro/models/space.cr
- + twenty_five_live_pro/models/space_detail.cr diff --git a/TwentyFiveLivePro/API.html b/TwentyFiveLivePro/API.html index 84251ad816..dd1ac02c50 100644 --- a/TwentyFiveLivePro/API.html +++ b/TwentyFiveLivePro/API.html @@ -6279,7 +6279,7 @@

- + twenty_five_live_pro/api.cr @@ -6429,7 +6429,7 @@


- [View source] + [View source]
@@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6557,7 +6557,7 @@


- [View source] + [View source]
@@ -6573,7 +6573,7 @@


- [View source] + [View source]
@@ -6589,7 +6589,7 @@


- [View source] + [View source]
@@ -6605,7 +6605,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Date.html b/TwentyFiveLivePro/Date.html index 8b15174020..4b052a73ff 100644 --- a/TwentyFiveLivePro/Date.html +++ b/TwentyFiveLivePro/Date.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/date.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Date/Converter.html b/TwentyFiveLivePro/Date/Converter.html index 9788b4cd15..3a9b36f645 100644 --- a/TwentyFiveLivePro/Date/Converter.html +++ b/TwentyFiveLivePro/Date/Converter.html @@ -6291,7 +6291,7 @@

- + twenty_five_live_pro/models/date.cr @@ -6361,7 +6361,7 @@


- [View source] + [View source]
@@ -6377,7 +6377,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models.html b/TwentyFiveLivePro/Models.html index 03d59e34ae..8006f2b794 100644 --- a/TwentyFiveLivePro/Models.html +++ b/TwentyFiveLivePro/Models.html @@ -6277,210 +6277,210 @@

- + twenty_five_live_pro/models/attribute.cr
- + twenty_five_live_pro/models/availability.cr
- + twenty_five_live_pro/models/category.cr
- + twenty_five_live_pro/models/event.cr
- + twenty_five_live_pro/models/event_detail.cr
- + twenty_five_live_pro/models/expanded/attribute.cr
- + twenty_five_live_pro/models/expanded/category.cr
- + twenty_five_live_pro/models/expanded/conflict.cr
- + twenty_five_live_pro/models/expanded/contact.cr
- + twenty_five_live_pro/models/expanded/event_type.cr
- + twenty_five_live_pro/models/expanded/feature.cr
- + twenty_five_live_pro/models/expanded/layout.cr
- + twenty_five_live_pro/models/expanded/organization.cr
- + twenty_five_live_pro/models/expanded/organization_type.cr
- + twenty_five_live_pro/models/expanded/parent_node.cr
- + twenty_five_live_pro/models/expanded/resource.cr
- + twenty_five_live_pro/models/expanded/role.cr
- + twenty_five_live_pro/models/expanded/space.cr
- + twenty_five_live_pro/models/expanded/state.cr
- + twenty_five_live_pro/models/feature.cr
- + twenty_five_live_pro/models/layout.cr
- + twenty_five_live_pro/models/organization.cr
- + twenty_five_live_pro/models/organization_detail.cr
- + twenty_five_live_pro/models/paginated_response.cr
- + twenty_five_live_pro/models/reservations.cr
- + twenty_five_live_pro/models/resource.cr
- + twenty_five_live_pro/models/resource_detail.cr
- + twenty_five_live_pro/models/role.cr
- + twenty_five_live_pro/models/space.cr
- + twenty_five_live_pro/models/space_detail.cr @@ -6550,7 +6550,7 @@


- [View source] + [View source]
@@ -6566,7 +6566,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Attribute.html b/TwentyFiveLivePro/Models/Attribute.html index 37b19c1c36..2042896124 100644 --- a/TwentyFiveLivePro/Models/Attribute.html +++ b/TwentyFiveLivePro/Models/Attribute.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/attribute.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Availability.html b/TwentyFiveLivePro/Models/Availability.html index b389444266..3c6c20cfd6 100644 --- a/TwentyFiveLivePro/Models/Availability.html +++ b/TwentyFiveLivePro/Models/Availability.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/availability.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Availability/Content.html b/TwentyFiveLivePro/Models/Availability/Content.html index 146824dde3..1f4de799d6 100644 --- a/TwentyFiveLivePro/Models/Availability/Content.html +++ b/TwentyFiveLivePro/Models/Availability/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/availability.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Availability/Content/Data.html b/TwentyFiveLivePro/Models/Availability/Content/Data.html index f53100892f..fc103ee35b 100644 --- a/TwentyFiveLivePro/Models/Availability/Content/Data.html +++ b/TwentyFiveLivePro/Models/Availability/Content/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/availability.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Availability/Content/Data/Space.html b/TwentyFiveLivePro/Models/Availability/Content/Data/Space.html index 507d3f0efb..6557e3cfd7 100644 --- a/TwentyFiveLivePro/Models/Availability/Content/Data/Space.html +++ b/TwentyFiveLivePro/Models/Availability/Content/Data/Space.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/availability.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html b/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html index 05efb7a0c0..21e7ab3e6e 100644 --- a/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html +++ b/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/availability.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Category.html b/TwentyFiveLivePro/Models/Category.html index ae75a8835c..71629047ad 100644 --- a/TwentyFiveLivePro/Models/Category.html +++ b/TwentyFiveLivePro/Models/Category.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/category.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Event.html b/TwentyFiveLivePro/Models/Event.html index 565c96286a..a729fa03a6 100644 --- a/TwentyFiveLivePro/Models/Event.html +++ b/TwentyFiveLivePro/Models/Event.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event.cr @@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
@@ -6684,7 +6684,7 @@


- [View source] + [View source]
@@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6716,7 +6716,7 @@


- [View source] + [View source]
@@ -6732,7 +6732,7 @@


- [View source] + [View source]
@@ -6748,7 +6748,7 @@


- [View source] + [View source]
@@ -6764,7 +6764,7 @@


- [View source] + [View source]
@@ -6780,7 +6780,7 @@


- [View source] + [View source]
@@ -6796,7 +6796,7 @@


- [View source] + [View source]
@@ -6812,7 +6812,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/EventDetail.html b/TwentyFiveLivePro/Models/EventDetail.html index 9ac11b68d5..0750dc9773 100644 --- a/TwentyFiveLivePro/Models/EventDetail.html +++ b/TwentyFiveLivePro/Models/EventDetail.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/EventDetail/Content.html b/TwentyFiveLivePro/Models/EventDetail/Content.html index f13445238b..aec39c10f1 100644 --- a/TwentyFiveLivePro/Models/EventDetail/Content.html +++ b/TwentyFiveLivePro/Models/EventDetail/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event_detail.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/EventDetail/Content/Data.html b/TwentyFiveLivePro/Models/EventDetail/Content/Data.html index 8aed8e0504..0f9c37b6f7 100644 --- a/TwentyFiveLivePro/Models/EventDetail/Content/Data.html +++ b/TwentyFiveLivePro/Models/EventDetail/Content/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html b/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html index 99c8b64590..f59395831b 100644 --- a/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html +++ b/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event_detail.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html b/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html index 9f2db64683..2ed8985efc 100644 --- a/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html +++ b/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/event_detail.cr @@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6556,7 +6556,7 @@


- [View source] + [View source]
@@ -6572,7 +6572,7 @@


- [View source] + [View source]
@@ -6588,7 +6588,7 @@


- [View source] + [View source]
@@ -6604,7 +6604,7 @@


- [View source] + [View source]
@@ -6620,7 +6620,7 @@


- [View source] + [View source]
@@ -6636,7 +6636,7 @@


- [View source] + [View source]
@@ -6652,7 +6652,7 @@


- [View source] + [View source]
@@ -6668,7 +6668,7 @@


- [View source] + [View source]
@@ -6684,7 +6684,7 @@


- [View source] + [View source]
@@ -6700,7 +6700,7 @@


- [View source] + [View source]
@@ -6716,7 +6716,7 @@


- [View source] + [View source]
@@ -6732,7 +6732,7 @@


- [View source] + [View source]
@@ -6748,7 +6748,7 @@


- [View source] + [View source]
@@ -6764,7 +6764,7 @@


- [View source] + [View source]
@@ -6780,7 +6780,7 @@


- [View source] + [View source]
@@ -6796,7 +6796,7 @@


- [View source] + [View source]
@@ -6812,7 +6812,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded.html b/TwentyFiveLivePro/Models/Expanded.html index 5245286d3e..15a077a690 100644 --- a/TwentyFiveLivePro/Models/Expanded.html +++ b/TwentyFiveLivePro/Models/Expanded.html @@ -6277,98 +6277,98 @@

- + twenty_five_live_pro/models/expanded/attribute.cr
- + twenty_five_live_pro/models/expanded/category.cr
- + twenty_five_live_pro/models/expanded/conflict.cr
- + twenty_five_live_pro/models/expanded/contact.cr
- + twenty_five_live_pro/models/expanded/event_type.cr
- + twenty_five_live_pro/models/expanded/feature.cr
- + twenty_five_live_pro/models/expanded/layout.cr
- + twenty_five_live_pro/models/expanded/organization.cr
- + twenty_five_live_pro/models/expanded/organization_type.cr
- + twenty_five_live_pro/models/expanded/parent_node.cr
- + twenty_five_live_pro/models/expanded/resource.cr
- + twenty_five_live_pro/models/expanded/role.cr
- + twenty_five_live_pro/models/expanded/space.cr
- + twenty_five_live_pro/models/expanded/state.cr diff --git a/TwentyFiveLivePro/Models/Expanded/Attribute.html b/TwentyFiveLivePro/Models/Expanded/Attribute.html index 1b4f97c384..f31dfc9bd4 100644 --- a/TwentyFiveLivePro/Models/Expanded/Attribute.html +++ b/TwentyFiveLivePro/Models/Expanded/Attribute.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/attribute.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Category.html b/TwentyFiveLivePro/Models/Expanded/Category.html index ebe4301288..bf60ce684e 100644 --- a/TwentyFiveLivePro/Models/Expanded/Category.html +++ b/TwentyFiveLivePro/Models/Expanded/Category.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/category.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Conflict.html b/TwentyFiveLivePro/Models/Expanded/Conflict.html index 3f6b19d6be..b7ddf5688c 100644 --- a/TwentyFiveLivePro/Models/Expanded/Conflict.html +++ b/TwentyFiveLivePro/Models/Expanded/Conflict.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/conflict.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Contact.html b/TwentyFiveLivePro/Models/Expanded/Contact.html index 5eab393d26..d536b9c243 100644 --- a/TwentyFiveLivePro/Models/Expanded/Contact.html +++ b/TwentyFiveLivePro/Models/Expanded/Contact.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/contact.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/EventType.html b/TwentyFiveLivePro/Models/Expanded/EventType.html index 7d10cb8719..4f316935d2 100644 --- a/TwentyFiveLivePro/Models/Expanded/EventType.html +++ b/TwentyFiveLivePro/Models/Expanded/EventType.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/event_type.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Feature.html b/TwentyFiveLivePro/Models/Expanded/Feature.html index 96bafb8280..8619448c55 100644 --- a/TwentyFiveLivePro/Models/Expanded/Feature.html +++ b/TwentyFiveLivePro/Models/Expanded/Feature.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/feature.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Layout.html b/TwentyFiveLivePro/Models/Expanded/Layout.html index 7f317055ea..28ad0127e6 100644 --- a/TwentyFiveLivePro/Models/Expanded/Layout.html +++ b/TwentyFiveLivePro/Models/Expanded/Layout.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/layout.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Organization.html b/TwentyFiveLivePro/Models/Expanded/Organization.html index 1200cc6ae1..b499441a6a 100644 --- a/TwentyFiveLivePro/Models/Expanded/Organization.html +++ b/TwentyFiveLivePro/Models/Expanded/Organization.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/organization.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/OrganizationType.html b/TwentyFiveLivePro/Models/Expanded/OrganizationType.html index 5a1626bbd2..5102507dfa 100644 --- a/TwentyFiveLivePro/Models/Expanded/OrganizationType.html +++ b/TwentyFiveLivePro/Models/Expanded/OrganizationType.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/organization_type.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/ParentNode.html b/TwentyFiveLivePro/Models/Expanded/ParentNode.html index 0a06ccca75..57e2cfd435 100644 --- a/TwentyFiveLivePro/Models/Expanded/ParentNode.html +++ b/TwentyFiveLivePro/Models/Expanded/ParentNode.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/parent_node.cr @@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6546,7 +6546,7 @@


- [View source] + [View source]
@@ -6562,7 +6562,7 @@


- [View source] + [View source]
@@ -6578,7 +6578,7 @@


- [View source] + [View source]
@@ -6594,7 +6594,7 @@


- [View source] + [View source]
@@ -6610,7 +6610,7 @@


- [View source] + [View source]
@@ -6626,7 +6626,7 @@


- [View source] + [View source]
@@ -6642,7 +6642,7 @@


- [View source] + [View source]
@@ -6658,7 +6658,7 @@


- [View source] + [View source]
@@ -6674,7 +6674,7 @@


- [View source] + [View source]
@@ -6690,7 +6690,7 @@


- [View source] + [View source]
@@ -6706,7 +6706,7 @@


- [View source] + [View source]
@@ -6722,7 +6722,7 @@


- [View source] + [View source]
@@ -6738,7 +6738,7 @@


- [View source] + [View source]
@@ -6754,7 +6754,7 @@


- [View source] + [View source]
@@ -6770,7 +6770,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Resource.html b/TwentyFiveLivePro/Models/Expanded/Resource.html index 63dd875056..f535c70dfa 100644 --- a/TwentyFiveLivePro/Models/Expanded/Resource.html +++ b/TwentyFiveLivePro/Models/Expanded/Resource.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/resource.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Role.html b/TwentyFiveLivePro/Models/Expanded/Role.html index 6e52562cad..e39ecaa7ae 100644 --- a/TwentyFiveLivePro/Models/Expanded/Role.html +++ b/TwentyFiveLivePro/Models/Expanded/Role.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/role.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/Space.html b/TwentyFiveLivePro/Models/Expanded/Space.html index 383adce7df..478a623ee7 100644 --- a/TwentyFiveLivePro/Models/Expanded/Space.html +++ b/TwentyFiveLivePro/Models/Expanded/Space.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/space.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Expanded/State.html b/TwentyFiveLivePro/Models/Expanded/State.html index 9b9ea727e3..7103355d0b 100644 --- a/TwentyFiveLivePro/Models/Expanded/State.html +++ b/TwentyFiveLivePro/Models/Expanded/State.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/expanded/state.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Feature.html b/TwentyFiveLivePro/Models/Feature.html index 61ff601793..4a29713688 100644 --- a/TwentyFiveLivePro/Models/Feature.html +++ b/TwentyFiveLivePro/Models/Feature.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/feature.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Layout.html b/TwentyFiveLivePro/Models/Layout.html index 3da64dc95a..2a172dd246 100644 --- a/TwentyFiveLivePro/Models/Layout.html +++ b/TwentyFiveLivePro/Models/Layout.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/layout.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Organization.html b/TwentyFiveLivePro/Models/Organization.html index cd06dedb8c..3dec5002ca 100644 --- a/TwentyFiveLivePro/Models/Organization.html +++ b/TwentyFiveLivePro/Models/Organization.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/OrganizationDetail.html b/TwentyFiveLivePro/Models/OrganizationDetail.html index 6601ededfb..e72f273bf9 100644 --- a/TwentyFiveLivePro/Models/OrganizationDetail.html +++ b/TwentyFiveLivePro/Models/OrganizationDetail.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/OrganizationDetail/Content.html b/TwentyFiveLivePro/Models/OrganizationDetail/Content.html index 68c3a7c269..8c4f335a62 100644 --- a/TwentyFiveLivePro/Models/OrganizationDetail/Content.html +++ b/TwentyFiveLivePro/Models/OrganizationDetail/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization_detail.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html b/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html index 3191042189..3222807caa 100644 --- a/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html +++ b/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html b/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html index ecf93f6a7e..e93ef221b5 100644 --- a/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html +++ b/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization_detail.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html b/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html index bf200ab7ce..56e75efe6a 100644 --- a/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html +++ b/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/organization_detail.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/PaginatedResponse.html b/TwentyFiveLivePro/Models/PaginatedResponse.html index eeb7a899da..b1efb79950 100644 --- a/TwentyFiveLivePro/Models/PaginatedResponse.html +++ b/TwentyFiveLivePro/Models/PaginatedResponse.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/paginated_response.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/PaginatedResponse/Content.html b/TwentyFiveLivePro/Models/PaginatedResponse/Content.html index 36ff8a26e0..09051874cb 100644 --- a/TwentyFiveLivePro/Models/PaginatedResponse/Content.html +++ b/TwentyFiveLivePro/Models/PaginatedResponse/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/paginated_response.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html b/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html index b79fa1a252..4e3692cef8 100644 --- a/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html +++ b/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html @@ -6309,7 +6309,7 @@

- + twenty_five_live_pro/models/paginated_response.cr @@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
@@ -6660,7 +6660,7 @@


- [View source] + [View source]
@@ -6676,7 +6676,7 @@


- [View source] + [View source]
@@ -6692,7 +6692,7 @@


- [View source] + [View source]
@@ -6708,7 +6708,7 @@


- [View source] + [View source]
@@ -6724,7 +6724,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Reservations.html b/TwentyFiveLivePro/Models/Reservations.html index 81bbe99ff4..5ed75bf21a 100644 --- a/TwentyFiveLivePro/Models/Reservations.html +++ b/TwentyFiveLivePro/Models/Reservations.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/reservations.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Reservations/Data.html b/TwentyFiveLivePro/Models/Reservations/Data.html index f98f1c80a3..ac707e64c7 100644 --- a/TwentyFiveLivePro/Models/Reservations/Data.html +++ b/TwentyFiveLivePro/Models/Reservations/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/reservations.cr @@ -6710,7 +6710,7 @@


- [View source] + [View source]
@@ -6740,7 +6740,7 @@


- [View source] + [View source]
@@ -6756,7 +6756,7 @@


- [View source] + [View source]
@@ -6772,7 +6772,7 @@


- [View source] + [View source]
@@ -6788,7 +6788,7 @@


- [View source] + [View source]
@@ -6804,7 +6804,7 @@


- [View source] + [View source]
@@ -6820,7 +6820,7 @@


- [View source] + [View source]
@@ -6836,7 +6836,7 @@


- [View source] + [View source]
@@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6868,7 +6868,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6900,7 +6900,7 @@


- [View source] + [View source]
@@ -6916,7 +6916,7 @@


- [View source] + [View source]
@@ -6932,7 +6932,7 @@


- [View source] + [View source]
@@ -6948,7 +6948,7 @@


- [View source] + [View source]
@@ -6964,7 +6964,7 @@


- [View source] + [View source]
@@ -6980,7 +6980,7 @@


- [View source] + [View source]
@@ -6996,7 +6996,7 @@


- [View source] + [View source]
@@ -7012,7 +7012,7 @@


- [View source] + [View source]
@@ -7028,7 +7028,7 @@


- [View source] + [View source]
@@ -7044,7 +7044,7 @@


- [View source] + [View source]
@@ -7060,7 +7060,7 @@


- [View source] + [View source]
@@ -7076,7 +7076,7 @@


- [View source] + [View source]
@@ -7092,7 +7092,7 @@


- [View source] + [View source]
@@ -7108,7 +7108,7 @@


- [View source] + [View source]
@@ -7124,7 +7124,7 @@


- [View source] + [View source]
@@ -7140,7 +7140,7 @@


- [View source] + [View source]
@@ -7156,7 +7156,7 @@


- [View source] + [View source]
@@ -7172,7 +7172,7 @@


- [View source] + [View source]
@@ -7188,7 +7188,7 @@


- [View source] + [View source]
@@ -7204,7 +7204,7 @@


- [View source] + [View source]
@@ -7220,7 +7220,7 @@


- [View source] + [View source]
@@ -7236,7 +7236,7 @@


- [View source] + [View source]
@@ -7252,7 +7252,7 @@


- [View source] + [View source]
@@ -7268,7 +7268,7 @@


- [View source] + [View source]
@@ -7284,7 +7284,7 @@


- [View source] + [View source]
@@ -7300,7 +7300,7 @@


- [View source] + [View source]
@@ -7316,7 +7316,7 @@


- [View source] + [View source]
@@ -7332,7 +7332,7 @@


- [View source] + [View source]
@@ -7348,7 +7348,7 @@


- [View source] + [View source]
@@ -7364,7 +7364,7 @@


- [View source] + [View source]
@@ -7380,7 +7380,7 @@


- [View source] + [View source]
@@ -7396,7 +7396,7 @@


- [View source] + [View source]
@@ -7412,7 +7412,7 @@


- [View source] + [View source]
@@ -7428,7 +7428,7 @@


- [View source] + [View source]
@@ -7444,7 +7444,7 @@


- [View source] + [View source]
@@ -7460,7 +7460,7 @@


- [View source] + [View source]
@@ -7476,7 +7476,7 @@


- [View source] + [View source]
@@ -7492,7 +7492,7 @@


- [View source] + [View source]
@@ -7508,7 +7508,7 @@


- [View source] + [View source]
@@ -7524,7 +7524,7 @@


- [View source] + [View source]
@@ -7540,7 +7540,7 @@


- [View source] + [View source]
@@ -7556,7 +7556,7 @@


- [View source] + [View source]
@@ -7572,7 +7572,7 @@


- [View source] + [View source]
@@ -7588,7 +7588,7 @@


- [View source] + [View source]
@@ -7604,7 +7604,7 @@


- [View source] + [View source]
@@ -7620,7 +7620,7 @@


- [View source] + [View source]
@@ -7636,7 +7636,7 @@


- [View source] + [View source]
@@ -7652,7 +7652,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Reservations/Data/Space.html b/TwentyFiveLivePro/Models/Reservations/Data/Space.html index c3dd74108e..b59ae2cdc1 100644 --- a/TwentyFiveLivePro/Models/Reservations/Data/Space.html +++ b/TwentyFiveLivePro/Models/Reservations/Data/Space.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/reservations.cr @@ -6530,7 +6530,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6608,7 +6608,7 @@


- [View source] + [View source]
@@ -6624,7 +6624,7 @@


- [View source] + [View source]
@@ -6640,7 +6640,7 @@


- [View source] + [View source]
@@ -6656,7 +6656,7 @@


- [View source] + [View source]
@@ -6672,7 +6672,7 @@


- [View source] + [View source]
@@ -6688,7 +6688,7 @@


- [View source] + [View source]
@@ -6704,7 +6704,7 @@


- [View source] + [View source]
@@ -6720,7 +6720,7 @@


- [View source] + [View source]
@@ -6736,7 +6736,7 @@


- [View source] + [View source]
@@ -6752,7 +6752,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
@@ -6816,7 +6816,7 @@


- [View source] + [View source]
@@ -6832,7 +6832,7 @@


- [View source] + [View source]
@@ -6848,7 +6848,7 @@


- [View source] + [View source]
@@ -6864,7 +6864,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -6896,7 +6896,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Resource.html b/TwentyFiveLivePro/Models/Resource.html index 93c2775312..e1a973800d 100644 --- a/TwentyFiveLivePro/Models/Resource.html +++ b/TwentyFiveLivePro/Models/Resource.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/ResourceDetail.html b/TwentyFiveLivePro/Models/ResourceDetail.html index 5b1817c249..aaa9e9c0a3 100644 --- a/TwentyFiveLivePro/Models/ResourceDetail.html +++ b/TwentyFiveLivePro/Models/ResourceDetail.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/ResourceDetail/Content.html b/TwentyFiveLivePro/Models/ResourceDetail/Content.html index 52b833f769..a398fb2cf4 100644 --- a/TwentyFiveLivePro/Models/ResourceDetail/Content.html +++ b/TwentyFiveLivePro/Models/ResourceDetail/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource_detail.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html b/TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html index 3d03361841..d8860e1615 100644 --- a/TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html +++ b/TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html b/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html index 455cdca8a8..8f6bfe4b60 100644 --- a/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html +++ b/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource_detail.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html b/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html index 8cb80a1bc7..37606aaa1b 100644 --- a/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html +++ b/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/resource_detail.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Role.html b/TwentyFiveLivePro/Models/Role.html index 0e0d3e2ad8..26b18449e2 100644 --- a/TwentyFiveLivePro/Models/Role.html +++ b/TwentyFiveLivePro/Models/Role.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/role.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/Space.html b/TwentyFiveLivePro/Models/Space.html index 38df669972..4f984e121b 100644 --- a/TwentyFiveLivePro/Models/Space.html +++ b/TwentyFiveLivePro/Models/Space.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6520,7 +6520,7 @@


- [View source] + [View source]
@@ -6536,7 +6536,7 @@


- [View source] + [View source]
@@ -6552,7 +6552,7 @@


- [View source] + [View source]
@@ -6568,7 +6568,7 @@


- [View source] + [View source]
@@ -6584,7 +6584,7 @@


- [View source] + [View source]
@@ -6600,7 +6600,7 @@


- [View source] + [View source]
@@ -6616,7 +6616,7 @@


- [View source] + [View source]
@@ -6632,7 +6632,7 @@


- [View source] + [View source]
@@ -6648,7 +6648,7 @@


- [View source] + [View source]
@@ -6664,7 +6664,7 @@


- [View source] + [View source]
@@ -6680,7 +6680,7 @@


- [View source] + [View source]
@@ -6696,7 +6696,7 @@


- [View source] + [View source]
@@ -6712,7 +6712,7 @@


- [View source] + [View source]
@@ -6728,7 +6728,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/SpaceDetail.html b/TwentyFiveLivePro/Models/SpaceDetail.html index 8f818f5639..58f2ef3189 100644 --- a/TwentyFiveLivePro/Models/SpaceDetail.html +++ b/TwentyFiveLivePro/Models/SpaceDetail.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/SpaceDetail/Content.html b/TwentyFiveLivePro/Models/SpaceDetail/Content.html index ed32a65a47..a964ffa8e1 100644 --- a/TwentyFiveLivePro/Models/SpaceDetail/Content.html +++ b/TwentyFiveLivePro/Models/SpaceDetail/Content.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space_detail.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html b/TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html index 167c7e877a..e968ccd158 100644 --- a/TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html +++ b/TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space_detail.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html b/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html index fc739176a8..dfe54edd8e 100644 --- a/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html +++ b/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space_detail.cr @@ -6540,7 +6540,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6762,7 +6762,7 @@


- [View source] + [View source]
@@ -6778,7 +6778,7 @@


- [View source] + [View source]
@@ -6794,7 +6794,7 @@


- [View source] + [View source]
@@ -6810,7 +6810,7 @@


- [View source] + [View source]
@@ -6826,7 +6826,7 @@


- [View source] + [View source]
@@ -6842,7 +6842,7 @@


- [View source] + [View source]
@@ -6858,7 +6858,7 @@


- [View source] + [View source]
@@ -6874,7 +6874,7 @@


- [View source] + [View source]
@@ -6890,7 +6890,7 @@


- [View source] + [View source]
@@ -6906,7 +6906,7 @@


- [View source] + [View source]
@@ -6922,7 +6922,7 @@


- [View source] + [View source]
@@ -6938,7 +6938,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html b/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html index 450bbcfec7..76bb5cfd5e 100644 --- a/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html +++ b/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html @@ -6307,7 +6307,7 @@

- + twenty_five_live_pro/models/space_detail.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
@@ -6558,7 +6558,7 @@


- [View source] + [View source]
@@ -6574,7 +6574,7 @@


- [View source] + [View source]
@@ -6590,7 +6590,7 @@


- [View source] + [View source]
@@ -6606,7 +6606,7 @@


- [View source] + [View source]
@@ -6622,7 +6622,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
@@ -6654,7 +6654,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
@@ -6686,7 +6686,7 @@


- [View source] + [View source]
diff --git a/TwentyFiveLivePro/RoomSchedule.html b/TwentyFiveLivePro/RoomSchedule.html index cc3c3dbef4..b236e7d740 100644 --- a/TwentyFiveLivePro/RoomSchedule.html +++ b/TwentyFiveLivePro/RoomSchedule.html @@ -6279,7 +6279,7 @@

- + twenty_five_live_pro/room_schedule.cr @@ -6389,7 +6389,7 @@


- [View source] + [View source]
@@ -6405,7 +6405,7 @@


- [View source] + [View source]
@@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
diff --git a/Union.html b/Union.html index 056137b6fa..50e118c8ba 100644 --- a/Union.html +++ b/Union.html @@ -6290,14 +6290,14 @@

- + lib/http-params-serializable/src/http-params-serializable/ext/union.cr
- + place/router/settings.cr @@ -6380,7 +6380,7 @@


- [View source] + [View source]
diff --git a/Vecos.html b/Vecos.html index e6aee4f79b..1f3722ac46 100644 --- a/Vecos.html +++ b/Vecos.html @@ -6277,77 +6277,77 @@

- + vecos/releezme/allocation.cr
- + vecos/releezme/booking.cr
- + vecos/releezme/location.cr
- + vecos/releezme/locker.cr
- + vecos/releezme/locker_bank.cr
- + vecos/releezme/locker_bank_and_locker_group.cr
- + vecos/releezme/locker_group.cr
- + vecos/releezme/locker_group_status.cr
- + vecos/releezme/locker_users.cr
- + vecos/releezme/paging.cr
- + vecos/releezme/section.cr diff --git a/Vecos/Allocation.html b/Vecos/Allocation.html index 3e6ee49bfd..8f5936a092 100644 --- a/Vecos/Allocation.html +++ b/Vecos/Allocation.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/allocation.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6527,7 +6527,7 @@


- [View source] + [View source]
@@ -6543,7 +6543,7 @@


- [View source] + [View source]
@@ -6559,7 +6559,7 @@


- [View source] + [View source]
@@ -6575,7 +6575,7 @@


- [View source] + [View source]
@@ -6591,7 +6591,7 @@


- [View source] + [View source]
@@ -6607,7 +6607,7 @@


- [View source] + [View source]
@@ -6623,7 +6623,7 @@


- [View source] + [View source]
diff --git a/Vecos/Booking.html b/Vecos/Booking.html index c1a2291829..7956390ff2 100644 --- a/Vecos/Booking.html +++ b/Vecos/Booking.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/booking.cr @@ -6455,7 +6455,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6549,7 +6549,7 @@


- [View source] + [View source]
@@ -6565,7 +6565,7 @@


- [View source] + [View source]
@@ -6581,7 +6581,7 @@


- [View source] + [View source]
diff --git a/Vecos/Location.html b/Vecos/Location.html index cb02173ce0..c47d617acb 100644 --- a/Vecos/Location.html +++ b/Vecos/Location.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/location.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Vecos/Locker.html b/Vecos/Locker.html index 3c447ca812..d1648263b9 100644 --- a/Vecos/Locker.html +++ b/Vecos/Locker.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker.cr @@ -6525,7 +6525,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
@@ -6667,7 +6667,7 @@


- [View source] + [View source]
@@ -6683,7 +6683,7 @@


- [View source] + [View source]
@@ -6699,7 +6699,7 @@


- [View source] + [View source]
@@ -6715,7 +6715,7 @@


- [View source] + [View source]
@@ -6731,7 +6731,7 @@


- [View source] + [View source]
@@ -6747,7 +6747,7 @@


- [View source] + [View source]
@@ -6763,7 +6763,7 @@


- [View source] + [View source]
@@ -6779,7 +6779,7 @@


- [View source] + [View source]
@@ -6795,7 +6795,7 @@


- [View source] + [View source]
@@ -6811,7 +6811,7 @@


- [View source] + [View source]
@@ -6827,7 +6827,7 @@


- [View source] + [View source]
@@ -6843,7 +6843,7 @@


- [View source] + [View source]
@@ -6859,7 +6859,7 @@


- [View source] + [View source]
@@ -6875,7 +6875,7 @@


- [View source] + [View source]
diff --git a/Vecos/LockerBank.html b/Vecos/LockerBank.html index a7cf0b1e9a..11a24bf98e 100644 --- a/Vecos/LockerBank.html +++ b/Vecos/LockerBank.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker_bank.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6506,7 +6506,7 @@


- [View source] + [View source]
@@ -6522,7 +6522,7 @@


- [View source] + [View source]
@@ -6538,7 +6538,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
diff --git a/Vecos/LockerBankAndLockerGroup.html b/Vecos/LockerBankAndLockerGroup.html index 4cc0893aa7..ed8d49c7df 100644 --- a/Vecos/LockerBankAndLockerGroup.html +++ b/Vecos/LockerBankAndLockerGroup.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker_bank_and_locker_group.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Vecos/LockerGroup.html b/Vecos/LockerGroup.html index cf8420668a..87c30782db 100644 --- a/Vecos/LockerGroup.html +++ b/Vecos/LockerGroup.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker_group.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Vecos/LockerGroupStatus.html b/Vecos/LockerGroupStatus.html index a4b13df8ff..e1467e380b 100644 --- a/Vecos/LockerGroupStatus.html +++ b/Vecos/LockerGroupStatus.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker_group_status.cr @@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
@@ -6547,7 +6547,7 @@


- [View source] + [View source]
@@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6579,7 +6579,7 @@


- [View source] + [View source]
@@ -6595,7 +6595,7 @@


- [View source] + [View source]
@@ -6611,7 +6611,7 @@


- [View source] + [View source]
@@ -6627,7 +6627,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6659,7 +6659,7 @@


- [View source] + [View source]
@@ -6675,7 +6675,7 @@


- [View source] + [View source]
@@ -6691,7 +6691,7 @@


- [View source] + [View source]
@@ -6707,7 +6707,7 @@


- [View source] + [View source]
diff --git a/Vecos/LockerUsers.html b/Vecos/LockerUsers.html index 9a87615b64..82b0e89788 100644 --- a/Vecos/LockerUsers.html +++ b/Vecos/LockerUsers.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/locker_users.cr @@ -6445,7 +6445,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6491,7 +6491,7 @@


- [View source] + [View source]
@@ -6507,7 +6507,7 @@


- [View source] + [View source]
@@ -6523,7 +6523,7 @@


- [View source] + [View source]
@@ -6539,7 +6539,7 @@


- [View source] + [View source]
diff --git a/Vecos/Paging.html b/Vecos/Paging.html index dc9d09a38f..8fd7551461 100644 --- a/Vecos/Paging.html +++ b/Vecos/Paging.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/paging.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/Vecos/Releezme.html b/Vecos/Releezme.html index 0762da2397..8804de43ec 100644 --- a/Vecos/Releezme.html +++ b/Vecos/Releezme.html @@ -6279,7 +6279,7 @@

- + vecos/releezme.cr @@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
@@ -6613,7 +6613,7 @@


- [View source] + [View source]
@@ -6634,7 +6634,7 @@


- [View source] + [View source]
@@ -6650,7 +6650,7 @@


- [View source] + [View source]
@@ -6666,7 +6666,7 @@


- [View source] + [View source]
@@ -6682,7 +6682,7 @@


- [View source] + [View source]
@@ -6698,7 +6698,7 @@


- [View source] + [View source]
@@ -6714,7 +6714,7 @@


- [View source] + [View source]
@@ -6735,7 +6735,7 @@


- [View source] + [View source]
@@ -6751,7 +6751,7 @@


- [View source] + [View source]
@@ -6767,7 +6767,7 @@


- [View source] + [View source]
@@ -6783,7 +6783,7 @@


- [View source] + [View source]
@@ -6799,7 +6799,7 @@


- [View source] + [View source]
@@ -6815,7 +6815,7 @@


- [View source] + [View source]
@@ -6831,7 +6831,7 @@


- [View source] + [View source]
@@ -6847,7 +6847,7 @@


- [View source] + [View source]
@@ -6863,7 +6863,7 @@


- [View source] + [View source]
@@ -6884,7 +6884,7 @@


- [View source] + [View source]
@@ -6905,7 +6905,7 @@


- [View source] + [View source]
@@ -6921,7 +6921,7 @@


- [View source] + [View source]
@@ -6937,7 +6937,7 @@


- [View source] + [View source]
@@ -6953,7 +6953,7 @@


- [View source] + [View source]
@@ -6969,7 +6969,7 @@


- [View source] + [View source]
@@ -6985,7 +6985,7 @@


- [View source] + [View source]
@@ -7007,7 +7007,7 @@


- [View source] + [View source]
@@ -7023,7 +7023,7 @@


- [View source] + [View source]
@@ -7039,7 +7039,7 @@


- [View source] + [View source]
@@ -7055,7 +7055,7 @@


- [View source] + [View source]
@@ -7076,7 +7076,7 @@


- [View source] + [View source]
@@ -7092,7 +7092,7 @@


- [View source] + [View source]
@@ -7113,7 +7113,7 @@


- [View source] + [View source]
@@ -7129,7 +7129,7 @@


- [View source] + [View source]
@@ -7145,7 +7145,7 @@


- [View source] + [View source]
diff --git a/Vecos/ReleezmeLocations.html b/Vecos/ReleezmeLocations.html index 2694b63cc5..0b064f53a8 100644 --- a/Vecos/ReleezmeLocations.html +++ b/Vecos/ReleezmeLocations.html @@ -6295,7 +6295,7 @@

- + vecos/releezme_locations.cr @@ -6513,7 +6513,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6555,7 +6555,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6597,7 +6597,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6639,7 +6639,7 @@


- [View source] + [View source]
@@ -6655,7 +6655,7 @@


- [View source] + [View source]
@@ -6677,7 +6677,7 @@


- [View source] + [View source]
@@ -6693,7 +6693,7 @@


- [View source] + [View source]
@@ -6709,7 +6709,7 @@


- [View source] + [View source]
@@ -6730,7 +6730,7 @@


- [View source] + [View source]
@@ -6746,7 +6746,7 @@


- [View source] + [View source]
@@ -6768,7 +6768,7 @@


- [View source] + [View source]
@@ -6784,7 +6784,7 @@


- [View source] + [View source]
@@ -6800,7 +6800,7 @@


- [View source] + [View source]
diff --git a/Vecos/ReleezmeLocations/Mapping.html b/Vecos/ReleezmeLocations/Mapping.html index 6d97fd1376..6010a49a37 100644 --- a/Vecos/ReleezmeLocations/Mapping.html +++ b/Vecos/ReleezmeLocations/Mapping.html @@ -6307,7 +6307,7 @@

- + vecos/releezme_locations.cr @@ -6425,7 +6425,7 @@


- [View source] + [View source]
@@ -6455,7 +6455,7 @@


- [View source] + [View source]
diff --git a/Vecos/ReleezmeLocations/PlaceLocker.html b/Vecos/ReleezmeLocations/PlaceLocker.html index 84c6fc78f0..8761cfa03b 100644 --- a/Vecos/ReleezmeLocations/PlaceLocker.html +++ b/Vecos/ReleezmeLocations/PlaceLocker.html @@ -6318,14 +6318,14 @@

- + lib/placeos-driver/src/placeos-driver/interface/lockers.cr
- + vecos/releezme_locations.cr @@ -6443,7 +6443,7 @@


- [View source] + [View source]
@@ -6459,7 +6459,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
diff --git a/Vecos/Section.html b/Vecos/Section.html index cbaa77fa4d..fa734459e4 100644 --- a/Vecos/Section.html +++ b/Vecos/Section.html @@ -6307,7 +6307,7 @@

- + vecos/releezme/section.cr @@ -6435,7 +6435,7 @@


- [View source] + [View source]
@@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6481,7 +6481,7 @@


- [View source] + [View source]
@@ -6497,7 +6497,7 @@


- [View source] + [View source]
diff --git a/Vergesense.html b/Vergesense.html index 6a44c51abe..692512bb4e 100644 --- a/Vergesense.html +++ b/Vergesense.html @@ -6288,7 +6288,7 @@

- + vergesense/models.cr diff --git a/Vergesense/Building.html b/Vergesense/Building.html index dd609ca21c..5f9bf0b361 100644 --- a/Vergesense/Building.html +++ b/Vergesense/Building.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Vergesense/BuildingWithFloors.html b/Vergesense/BuildingWithFloors.html index b220e4eec3..1212b903aa 100644 --- a/Vergesense/BuildingWithFloors.html +++ b/Vergesense/BuildingWithFloors.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Environment.html b/Vergesense/Environment.html index 6a1940c957..29bb3b4dcd 100644 --- a/Vergesense/Environment.html +++ b/Vergesense/Environment.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Floor.html b/Vergesense/Floor.html index d6a49f228c..69852cb46d 100644 --- a/Vergesense/Floor.html +++ b/Vergesense/Floor.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6500,7 +6500,7 @@


- [View source] + [View source]
@@ -6516,7 +6516,7 @@


- [View source] + [View source]
@@ -6532,7 +6532,7 @@


- [View source] + [View source]
@@ -6548,7 +6548,7 @@


- [View source] + [View source]
@@ -6564,7 +6564,7 @@


- [View source] + [View source]
@@ -6580,7 +6580,7 @@


- [View source] + [View source]
@@ -6596,7 +6596,7 @@


- [View source] + [View source]
@@ -6612,7 +6612,7 @@


- [View source] + [View source]
@@ -6628,7 +6628,7 @@


- [View source] + [View source]
@@ -6644,7 +6644,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Geometry.html b/Vergesense/Geometry.html index f54500488d..aa5cf74d10 100644 --- a/Vergesense/Geometry.html +++ b/Vergesense/Geometry.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Vergesense/LocationService.html b/Vergesense/LocationService.html index 1c0ac3f533..fd973eb3bd 100644 --- a/Vergesense/LocationService.html +++ b/Vergesense/LocationService.html @@ -6295,7 +6295,7 @@

- + vergesense/location_service.cr @@ -6490,7 +6490,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6540,7 +6540,7 @@

View source] + [View source] @@ -6566,7 +6566,7 @@

View source] + [View source] @@ -6582,7 +6582,7 @@

View source] + [View source] @@ -6598,7 +6598,7 @@

View source] + [View source] @@ -6623,7 +6623,7 @@

View source] + [View source] @@ -6650,7 +6650,7 @@

View source] + [View source] diff --git a/Vergesense/MqttExport.html b/Vergesense/MqttExport.html index 89dd02ec37..d5d5221eb6 100644 --- a/Vergesense/MqttExport.html +++ b/Vergesense/MqttExport.html @@ -6279,7 +6279,7 @@

- + vergesense/mqtt_export.cr @@ -6384,7 +6384,7 @@


- [View source] + [View source]
@@ -6400,7 +6400,7 @@


- [View source] + [View source]
@@ -6416,7 +6416,7 @@


- [View source] + [View source]
diff --git a/Vergesense/People.html b/Vergesense/People.html index 70c515fda4..dd2d2b6569 100644 --- a/Vergesense/People.html +++ b/Vergesense/People.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6430,7 +6430,7 @@


- [View source] + [View source]
@@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6476,7 +6476,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Report.html b/Vergesense/Report.html index ba6c91d43e..7ccc7fa79c 100644 --- a/Vergesense/Report.html +++ b/Vergesense/Report.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
diff --git a/Vergesense/RoomSensor.html b/Vergesense/RoomSensor.html index c6e10f06fa..1e945ec0ee 100644 --- a/Vergesense/RoomSensor.html +++ b/Vergesense/RoomSensor.html @@ -6293,7 +6293,7 @@

- + vergesense/room_sensor.cr @@ -6461,7 +6461,7 @@


- [View source] + [View source]
@@ -6477,7 +6477,7 @@


- [View source] + [View source]
@@ -6493,7 +6493,7 @@


- [View source] + [View source]
@@ -6509,7 +6509,7 @@


- [View source] + [View source]
@@ -6534,7 +6534,7 @@


- [View source] + [View source]
@@ -6561,7 +6561,7 @@


- [View source] + [View source]
@@ -6577,7 +6577,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Sensor.html b/Vergesense/Sensor.html index 6111d5a790..e8876cf522 100644 --- a/Vergesense/Sensor.html +++ b/Vergesense/Sensor.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6440,7 +6440,7 @@


- [View source] + [View source]
@@ -6470,7 +6470,7 @@


- [View source] + [View source]
@@ -6486,7 +6486,7 @@


- [View source] + [View source]
@@ -6502,7 +6502,7 @@


- [View source] + [View source]
@@ -6518,7 +6518,7 @@


- [View source] + [View source]
diff --git a/Vergesense/Space.html b/Vergesense/Space.html index 6b3b506798..23650488a5 100644 --- a/Vergesense/Space.html +++ b/Vergesense/Space.html @@ -6307,7 +6307,7 @@

- + vergesense/models.cr @@ -6563,7 +6563,7 @@


- [View source] + [View source]
@@ -6593,7 +6593,7 @@


- [View source] + [View source]
@@ -6609,7 +6609,7 @@


- [View source] + [View source]
@@ -6625,7 +6625,7 @@


- [View source] + [View source]
@@ -6641,7 +6641,7 @@


- [View source] + [View source]
@@ -6657,7 +6657,7 @@


- [View source] + [View source]
@@ -6673,7 +6673,7 @@


- [View source] + [View source]
@@ -6689,7 +6689,7 @@


- [View source] + [View source]
@@ -6705,7 +6705,7 @@


- [View source] + [View source]
@@ -6721,7 +6721,7 @@


- [View source] + [View source]
@@ -6737,7 +6737,7 @@


- [View source] + [View source]
@@ -6753,7 +6753,7 @@


- [View source] + [View source]
@@ -6769,7 +6769,7 @@


- [View source] + [View source]
@@ -6785,7 +6785,7 @@


- [View source] + [View source]
@@ -6801,7 +6801,7 @@


- [View source] + [View source]
@@ -6817,7 +6817,7 @@


- [View source] + [View source]
@@ -6833,7 +6833,7 @@


- [View source] + [View source]
@@ -6849,7 +6849,7 @@


- [View source] + [View source]
@@ -6870,7 +6870,7 @@


- [View source] + [View source]
@@ -6891,7 +6891,7 @@


- [View source] + [View source]
@@ -6907,7 +6907,7 @@


- [View source] + [View source]
@@ -6928,7 +6928,7 @@


- [View source] + [View source]
@@ -6949,7 +6949,7 @@


- [View source] + [View source]
@@ -6965,7 +6965,7 @@


- [View source] + [View source]
@@ -6981,7 +6981,7 @@


- [View source] + [View source]
@@ -6997,7 +6997,7 @@


- [View source] + [View source]
@@ -7013,7 +7013,7 @@


- [View source] + [View source]
@@ -7029,7 +7029,7 @@


- [View source] + [View source]
@@ -7045,7 +7045,7 @@


- [View source] + [View source]
@@ -7061,7 +7061,7 @@


- [View source] + [View source]
diff --git a/Vergesense/VergesenseAPI.html b/Vergesense/VergesenseAPI.html index 524e6ccf73..e56639a7ac 100644 --- a/Vergesense/VergesenseAPI.html +++ b/Vergesense/VergesenseAPI.html @@ -6279,7 +6279,7 @@

- + vergesense/vergesense_api.cr @@ -6422,7 +6422,7 @@


- [View source] + [View source]
@@ -6443,7 +6443,7 @@


- [View source] + [View source]
@@ -6459,7 +6459,7 @@


- [View source] + [View source]
@@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
diff --git a/Whispir.html b/Whispir.html index 0a7327f240..807dd9c4a0 100644 --- a/Whispir.html +++ b/Whispir.html @@ -6277,7 +6277,7 @@

- + whispir/messages.cr diff --git a/Whispir/Messages.html b/Whispir/Messages.html index efb4f1f867..523d0f2363 100644 --- a/Whispir/Messages.html +++ b/Whispir/Messages.html @@ -6293,7 +6293,7 @@

- + whispir/messages.cr @@ -6408,7 +6408,7 @@


- [View source] + [View source]
@@ -6424,7 +6424,7 @@


- [View source] + [View source]
@@ -6440,7 +6440,7 @@


- [View source] + [View source]
diff --git a/WilliamsAV.html b/WilliamsAV.html index 807e3c392c..f24f332c9f 100644 --- a/WilliamsAV.html +++ b/WilliamsAV.html @@ -6277,7 +6277,7 @@

- + williams_av/wave_cast_fm.cr diff --git a/WilliamsAV/WaveCastFM.html b/WilliamsAV/WaveCastFM.html index 241649c2be..aedab11c1d 100644 --- a/WilliamsAV/WaveCastFM.html +++ b/WilliamsAV/WaveCastFM.html @@ -6279,7 +6279,7 @@

- + williams_av/wave_cast_fm.cr @@ -6473,7 +6473,7 @@


- [View source] + [View source]
@@ -6489,7 +6489,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
@@ -6665,7 +6665,7 @@


- [View source] + [View source]
@@ -6681,7 +6681,7 @@


- [View source] + [View source]
@@ -6697,7 +6697,7 @@


- [View source] + [View source]
@@ -6713,7 +6713,7 @@


- [View source] + [View source]
@@ -6729,7 +6729,7 @@


- [View source] + [View source]
diff --git a/WilliamsAV/WaveCastFM/Command.html b/WilliamsAV/WaveCastFM/Command.html index cca4db719f..0bbb933755 100644 --- a/WilliamsAV/WaveCastFM/Command.html +++ b/WilliamsAV/WaveCastFM/Command.html @@ -6277,7 +6277,7 @@

- + williams_av/wave_cast_fm.cr @@ -6631,7 +6631,7 @@


- [View source] + [View source]
@@ -6647,7 +6647,7 @@


- [View source] + [View source]
@@ -6663,7 +6663,7 @@


- [View source] + [View source]
@@ -6679,7 +6679,7 @@


- [View source] + [View source]
@@ -6695,7 +6695,7 @@


- [View source] + [View source]
@@ -6711,7 +6711,7 @@


- [View source] + [View source]
@@ -6727,7 +6727,7 @@


- [View source] + [View source]
@@ -6743,7 +6743,7 @@


- [View source] + [View source]
@@ -6759,7 +6759,7 @@


- [View source] + [View source]
@@ -6775,7 +6775,7 @@


- [View source] + [View source]
@@ -6791,7 +6791,7 @@


- [View source] + [View source]
@@ -6807,7 +6807,7 @@


- [View source] + [View source]
@@ -6823,7 +6823,7 @@


- [View source] + [View source]
@@ -6839,7 +6839,7 @@


- [View source] + [View source]
@@ -6855,7 +6855,7 @@


- [View source] + [View source]
@@ -6871,7 +6871,7 @@


- [View source] + [View source]
@@ -6887,7 +6887,7 @@


- [View source] + [View source]
@@ -6903,7 +6903,7 @@


- [View source] + [View source]
@@ -6919,7 +6919,7 @@


- [View source] + [View source]
@@ -6935,7 +6935,7 @@


- [View source] + [View source]
@@ -6951,7 +6951,7 @@


- [View source] + [View source]
@@ -6967,7 +6967,7 @@


- [View source] + [View source]
@@ -6983,7 +6983,7 @@


- [View source] + [View source]
@@ -6999,7 +6999,7 @@


- [View source] + [View source]
diff --git a/WilliamsAV/WaveCastFM/InputSource.html b/WilliamsAV/WaveCastFM/InputSource.html index b6e518d58f..da3fec0734 100644 --- a/WilliamsAV/WaveCastFM/InputSource.html +++ b/WilliamsAV/WaveCastFM/InputSource.html @@ -6277,7 +6277,7 @@

- + williams_av/wave_cast_fm.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
diff --git a/WilliamsAV/WaveCastFM/Preset.html b/WilliamsAV/WaveCastFM/Preset.html index b8546d569b..d4c73a97d5 100644 --- a/WilliamsAV/WaveCastFM/Preset.html +++ b/WilliamsAV/WaveCastFM/Preset.html @@ -6277,7 +6277,7 @@

- + williams_av/wave_cast_fm.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/WilliamsAV/WaveCastFM/Type.html b/WilliamsAV/WaveCastFM/Type.html index 31ce86943c..462a92f51a 100644 --- a/WilliamsAV/WaveCastFM/Type.html +++ b/WilliamsAV/WaveCastFM/Type.html @@ -6277,7 +6277,7 @@

- + williams_av/wave_cast_fm.cr @@ -6451,7 +6451,7 @@


- [View source] + [View source]
@@ -6467,7 +6467,7 @@


- [View source] + [View source]
@@ -6483,7 +6483,7 @@


- [View source] + [View source]
@@ -6499,7 +6499,7 @@


- [View source] + [View source]
@@ -6515,7 +6515,7 @@


- [View source] + [View source]
@@ -6531,7 +6531,7 @@


- [View source] + [View source]
diff --git a/Winmate.html b/Winmate.html index 4e0636f4e3..458366e0ae 100644 --- a/Winmate.html +++ b/Winmate.html @@ -6277,7 +6277,7 @@

- + winmate/led_light_bar.cr diff --git a/Winmate/LedLightBar.html b/Winmate/LedLightBar.html index 4d0544de01..5bfb886a67 100644 --- a/Winmate/LedLightBar.html +++ b/Winmate/LedLightBar.html @@ -6279,7 +6279,7 @@

- + winmate/led_light_bar.cr @@ -6448,7 +6448,7 @@


- [View source] + [View source]
@@ -6464,7 +6464,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
diff --git a/Winmate/LedLightBar/Colours.html b/Winmate/LedLightBar/Colours.html index 029d441ea7..cb6b41f7a5 100644 --- a/Winmate/LedLightBar/Colours.html +++ b/Winmate/LedLightBar/Colours.html @@ -6287,7 +6287,7 @@

- + winmate/led_light_bar.cr diff --git a/Winmate/LedLightBar/Led.html b/Winmate/LedLightBar/Led.html index 357e4c73c7..1a6c412c5c 100644 --- a/Winmate/LedLightBar/Led.html +++ b/Winmate/LedLightBar/Led.html @@ -6277,7 +6277,7 @@

- + winmate/led_light_bar.cr @@ -6421,7 +6421,7 @@


- [View source] + [View source]
@@ -6437,7 +6437,7 @@


- [View source] + [View source]
@@ -6453,7 +6453,7 @@


- [View source] + [View source]
diff --git a/XYSense.html b/XYSense.html index 39573fea3b..fbd1f251c1 100644 --- a/XYSense.html +++ b/XYSense.html @@ -6277,7 +6277,7 @@

- + xy_sense/location_service.cr diff --git a/XYSense/LocationService.html b/XYSense/LocationService.html index 5b16b3844e..04e7004728 100644 --- a/XYSense/LocationService.html +++ b/XYSense/LocationService.html @@ -6293,7 +6293,7 @@

- + xy_sense/location_service.cr @@ -6460,7 +6460,7 @@


- [View source] + [View source]
@@ -6485,7 +6485,7 @@


- [View source] + [View source]
@@ -6501,7 +6501,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@

View source] + [View source] @@ -6568,7 +6568,7 @@

View source] + [View source] @@ -6584,7 +6584,7 @@

View source] + [View source] @@ -6600,7 +6600,7 @@

View source] + [View source] @@ -6616,7 +6616,7 @@

View source] + [View source] @@ -6632,7 +6632,7 @@

View source] + [View source] diff --git a/XYSense/LocationService/FloorDetails.html b/XYSense/LocationService/FloorDetails.html index 191917f18b..de1a5a5137 100644 --- a/XYSense/LocationService/FloorDetails.html +++ b/XYSense/LocationService/FloorDetails.html @@ -6322,7 +6322,7 @@

- + xy_sense/location_service.cr @@ -6475,7 +6475,7 @@


- [View source] + [View source]
@@ -6505,7 +6505,7 @@


- [View source] + [View source]
@@ -6521,7 +6521,7 @@


- [View source] + [View source]
@@ -6537,7 +6537,7 @@


- [View source] + [View source]
@@ -6553,7 +6553,7 @@


- [View source] + [View source]
@@ -6569,7 +6569,7 @@


- [View source] + [View source]
@@ -6585,7 +6585,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6633,7 +6633,7 @@


- [View source] + [View source]
@@ -6649,7 +6649,7 @@


- [View source] + [View source]
diff --git a/XYSense/LocationService/Occupancy.html b/XYSense/LocationService/Occupancy.html index a6c3361a19..9ff769e70c 100644 --- a/XYSense/LocationService/Occupancy.html +++ b/XYSense/LocationService/Occupancy.html @@ -6307,7 +6307,7 @@

- + xy_sense/location_service.cr @@ -6465,7 +6465,7 @@


- [View source] + [View source]
@@ -6495,7 +6495,7 @@


- [View source] + [View source]
@@ -6511,7 +6511,7 @@


- [View source] + [View source]
@@ -6541,7 +6541,7 @@


- [View source] + [View source]
@@ -6571,7 +6571,7 @@


- [View source] + [View source]
@@ -6587,7 +6587,7 @@


- [View source] + [View source]
@@ -6603,7 +6603,7 @@


- [View source] + [View source]
@@ -6619,7 +6619,7 @@


- [View source] + [View source]
@@ -6635,7 +6635,7 @@


- [View source] + [View source]
@@ -6651,7 +6651,7 @@


- [View source] + [View source]
diff --git a/XYSense/LocationService/SpaceDetails.html b/XYSense/LocationService/SpaceDetails.html index fe9a611087..cf2e87238f 100644 --- a/XYSense/LocationService/SpaceDetails.html +++ b/XYSense/LocationService/SpaceDetails.html @@ -6307,7 +6307,7 @@

- + xy_sense/location_service.cr @@ -6450,7 +6450,7 @@


- [View source] + [View source]
@@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6592,7 +6592,7 @@


- [View source] + [View source]
diff --git a/Xovis.html b/Xovis.html index ce2a926608..01298c5c9d 100644 --- a/Xovis.html +++ b/Xovis.html @@ -6277,7 +6277,7 @@

- + xovis/sensor_api.cr diff --git a/Xovis/SensorAPI.html b/Xovis/SensorAPI.html index 70c5d029fb..d1d0e97009 100644 --- a/Xovis/SensorAPI.html +++ b/Xovis/SensorAPI.html @@ -6293,7 +6293,7 @@

- + xovis/sensor_api.cr @@ -6480,7 +6480,7 @@


- [View source] + [View source]
@@ -6496,7 +6496,7 @@


- [View source] + [View source]
@@ -6517,7 +6517,7 @@


- [View source] + [View source]
@@ -6533,7 +6533,7 @@


- [View source] + [View source]
@@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]
@@ -6586,7 +6586,7 @@


- [View source] + [View source]
@@ -6602,7 +6602,7 @@


- [View source] + [View source]
@@ -6618,7 +6618,7 @@


- [View source] + [View source]
@@ -6643,7 +6643,7 @@


- [View source] + [View source]
@@ -6670,7 +6670,7 @@


- [View source] + [View source]
diff --git a/Xovis/SensorAPI/SensorDetail.html b/Xovis/SensorAPI/SensorDetail.html index d315a6966f..8642a64a89 100644 --- a/Xovis/SensorAPI/SensorDetail.html +++ b/Xovis/SensorAPI/SensorDetail.html @@ -6279,7 +6279,7 @@

- + xovis/sensor_api.cr @@ -6432,7 +6432,7 @@


- [View source] + [View source]
@@ -6462,7 +6462,7 @@


- [View source] + [View source]
@@ -6478,7 +6478,7 @@


- [View source] + [View source]
@@ -6494,7 +6494,7 @@


- [View source] + [View source]
@@ -6510,7 +6510,7 @@


- [View source] + [View source]
@@ -6526,7 +6526,7 @@


- [View source] + [View source]
@@ -6542,7 +6542,7 @@


- [View source] + [View source]
diff --git a/Zencontrol.html b/Zencontrol.html index 8d05940b7e..43f8a2a1db 100644 --- a/Zencontrol.html +++ b/Zencontrol.html @@ -6277,7 +6277,7 @@

- + zencontrol/advanced_tpi.cr diff --git a/Zencontrol/AdvancedTPI.html b/Zencontrol/AdvancedTPI.html index c1256cf034..9de7df1b31 100644 --- a/Zencontrol/AdvancedTPI.html +++ b/Zencontrol/AdvancedTPI.html @@ -6295,7 +6295,7 @@

- + zencontrol/advanced_tpi.cr @@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
diff --git a/Zencontrol/AdvancedTPI/Area.html b/Zencontrol/AdvancedTPI/Area.html index 6606085a42..db069bbd9e 100644 --- a/Zencontrol/AdvancedTPI/Area.html +++ b/Zencontrol/AdvancedTPI/Area.html @@ -6287,7 +6287,7 @@

- + zencontrol/advanced_tpi.cr diff --git a/Zencontrol/AdvancedTPI/BasicRequest.html b/Zencontrol/AdvancedTPI/BasicRequest.html index 9e7d0d2a4c..146d765b8d 100644 --- a/Zencontrol/AdvancedTPI/BasicRequest.html +++ b/Zencontrol/AdvancedTPI/BasicRequest.html @@ -6279,7 +6279,7 @@

- + zencontrol/advanced_tpi.cr @@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -7076,7 +7076,7 @@


- [View source] + [View source]
@@ -7092,7 +7092,7 @@


- [View source] + [View source]
@@ -7108,7 +7108,7 @@


- [View source] + [View source]
@@ -7124,7 +7124,7 @@


- [View source] + [View source]
@@ -7140,7 +7140,7 @@


- [View source] + [View source]
@@ -7156,7 +7156,7 @@


- [View source] + [View source]
@@ -7172,7 +7172,7 @@


- [View source] + [View source]
@@ -7188,7 +7188,7 @@


- [View source] + [View source]
@@ -7204,7 +7204,7 @@


- [View source] + [View source]
@@ -7220,7 +7220,7 @@


- [View source] + [View source]
@@ -7236,7 +7236,7 @@


- [View source] + [View source]
@@ -7252,7 +7252,7 @@


- [View source] + [View source]
@@ -7268,7 +7268,7 @@


- [View source] + [View source]
@@ -7284,7 +7284,7 @@


- [View source] + [View source]
@@ -7300,7 +7300,7 @@


- [View source] + [View source]
@@ -7316,7 +7316,7 @@


- [View source] + [View source]
@@ -7332,7 +7332,7 @@


- [View source] + [View source]
@@ -7348,7 +7348,7 @@


- [View source] + [View source]
@@ -7364,7 +7364,7 @@


- [View source] + [View source]
@@ -7380,7 +7380,7 @@


- [View source] + [View source]
@@ -7396,7 +7396,7 @@


- [View source] + [View source]
@@ -7412,7 +7412,7 @@


- [View source] + [View source]
@@ -7428,7 +7428,7 @@


- [View source] + [View source]
@@ -7444,7 +7444,7 @@


- [View source] + [View source]
@@ -7460,7 +7460,7 @@


- [View source] + [View source]
@@ -7476,7 +7476,7 @@


- [View source] + [View source]
@@ -7492,7 +7492,7 @@


- [View source] + [View source]
@@ -7508,7 +7508,7 @@


- [View source] + [View source]
@@ -7524,7 +7524,7 @@


- [View source] + [View source]
@@ -7540,7 +7540,7 @@


- [View source] + [View source]
@@ -7556,7 +7556,7 @@


- [View source] + [View source]
@@ -7572,7 +7572,7 @@


- [View source] + [View source]
@@ -7588,7 +7588,7 @@


- [View source] + [View source]
@@ -7604,7 +7604,7 @@


- [View source] + [View source]
@@ -7620,7 +7620,7 @@


- [View source] + [View source]
@@ -7636,7 +7636,7 @@


- [View source] + [View source]
@@ -7652,7 +7652,7 @@


- [View source] + [View source]
@@ -7668,7 +7668,7 @@


- [View source] + [View source]
@@ -7684,7 +7684,7 @@


- [View source] + [View source]
@@ -7700,7 +7700,7 @@


- [View source] + [View source]
@@ -7716,7 +7716,7 @@


- [View source] + [View source]
@@ -7732,7 +7732,7 @@


- [View source] + [View source]
@@ -7748,7 +7748,7 @@


- [View source] + [View source]
@@ -7764,7 +7764,7 @@


- [View source] + [View source]
@@ -7780,7 +7780,7 @@


- [View source] + [View source]
@@ -7796,7 +7796,7 @@


- [View source] + [View source]
@@ -7812,7 +7812,7 @@


- [View source] + [View source]
@@ -7828,7 +7828,7 @@


- [View source] + [View source]
@@ -7844,7 +7844,7 @@


- [View source] + [View source]
@@ -7860,7 +7860,7 @@


- [View source] + [View source]
@@ -7876,7 +7876,7 @@


- [View source] + [View source]
@@ -7892,7 +7892,7 @@


- [View source] + [View source]
@@ -7908,7 +7908,7 @@


- [View source] + [View source]
@@ -7924,7 +7924,7 @@


- [View source] + [View source]
@@ -7940,7 +7940,7 @@


- [View source] + [View source]
@@ -7956,7 +7956,7 @@


- [View source] + [View source]
@@ -7972,7 +7972,7 @@


- [View source] + [View source]
@@ -7988,7 +7988,7 @@


- [View source] + [View source]
@@ -8004,7 +8004,7 @@


- [View source] + [View source]
@@ -8020,7 +8020,7 @@


- [View source] + [View source]
@@ -8036,7 +8036,7 @@


- [View source] + [View source]
@@ -8052,7 +8052,7 @@


- [View source] + [View source]
@@ -8068,7 +8068,7 @@


- [View source] + [View source]
@@ -8084,7 +8084,7 @@


- [View source] + [View source]
@@ -8100,7 +8100,7 @@


- [View source] + [View source]
@@ -8116,7 +8116,7 @@


- [View source] + [View source]
@@ -8132,7 +8132,7 @@


- [View source] + [View source]
@@ -8148,7 +8148,7 @@


- [View source] + [View source]
@@ -8164,7 +8164,7 @@


- [View source] + [View source]
@@ -8180,7 +8180,7 @@


- [View source] + [View source]
@@ -8196,7 +8196,7 @@


- [View source] + [View source]
diff --git a/Zencontrol/AdvancedTPI/ResponseFrame.html b/Zencontrol/AdvancedTPI/ResponseFrame.html index d4f12fd02b..0455eed383 100644 --- a/Zencontrol/AdvancedTPI/ResponseFrame.html +++ b/Zencontrol/AdvancedTPI/ResponseFrame.html @@ -6279,7 +6279,7 @@

- + zencontrol/advanced_tpi.cr @@ -6852,7 +6852,7 @@


- [View source] + [View source]
@@ -6880,7 +6880,7 @@


- [View source] + [View source]
@@ -7048,7 +7048,7 @@


- [View source] + [View source]
@@ -7064,7 +7064,7 @@


- [View source] + [View source]
@@ -7080,7 +7080,7 @@


- [View source] + [View source]
@@ -7096,7 +7096,7 @@


- [View source] + [View source]
@@ -7112,7 +7112,7 @@


- [View source] + [View source]
@@ -7128,7 +7128,7 @@


- [View source] + [View source]
@@ -7144,7 +7144,7 @@


- [View source] + [View source]
@@ -7160,7 +7160,7 @@


- [View source] + [View source]
@@ -7176,7 +7176,7 @@


- [View source] + [View source]
@@ -7192,7 +7192,7 @@


- [View source] + [View source]
@@ -7208,7 +7208,7 @@


- [View source] + [View source]
@@ -7224,7 +7224,7 @@


- [View source] + [View source]
@@ -7240,7 +7240,7 @@


- [View source] + [View source]
@@ -7256,7 +7256,7 @@


- [View source] + [View source]
@@ -7272,7 +7272,7 @@


- [View source] + [View source]
@@ -7288,7 +7288,7 @@


- [View source] + [View source]
@@ -7304,7 +7304,7 @@


- [View source] + [View source]
@@ -7320,7 +7320,7 @@


- [View source] + [View source]
@@ -7336,7 +7336,7 @@


- [View source] + [View source]
@@ -7352,7 +7352,7 @@


- [View source] + [View source]
@@ -7368,7 +7368,7 @@


- [View source] + [View source]
@@ -7384,7 +7384,7 @@


- [View source] + [View source]
@@ -7400,7 +7400,7 @@


- [View source] + [View source]
@@ -7416,7 +7416,7 @@


- [View source] + [View source]
@@ -7432,7 +7432,7 @@


- [View source] + [View source]
@@ -7448,7 +7448,7 @@


- [View source] + [View source]
@@ -7464,7 +7464,7 @@


- [View source] + [View source]
@@ -7480,7 +7480,7 @@


- [View source] + [View source]
@@ -7496,7 +7496,7 @@


- [View source] + [View source]
@@ -7512,7 +7512,7 @@


- [View source] + [View source]
@@ -7528,7 +7528,7 @@


- [View source] + [View source]
@@ -7544,7 +7544,7 @@


- [View source] + [View source]
@@ -7560,7 +7560,7 @@


- [View source] + [View source]
@@ -7576,7 +7576,7 @@


- [View source] + [View source]
@@ -7592,7 +7592,7 @@


- [View source] + [View source]
@@ -7608,7 +7608,7 @@


- [View source] + [View source]
@@ -7624,7 +7624,7 @@


- [View source] + [View source]
@@ -7640,7 +7640,7 @@


- [View source] + [View source]
@@ -7656,7 +7656,7 @@


- [View source] + [View source]
@@ -7672,7 +7672,7 @@


- [View source] + [View source]
@@ -7688,7 +7688,7 @@


- [View source] + [View source]
@@ -7704,7 +7704,7 @@


- [View source] + [View source]
@@ -7720,7 +7720,7 @@


- [View source] + [View source]
@@ -7736,7 +7736,7 @@


- [View source] + [View source]
@@ -7752,7 +7752,7 @@


- [View source] + [View source]
@@ -7768,7 +7768,7 @@


- [View source] + [View source]
@@ -7784,7 +7784,7 @@


- [View source] + [View source]
@@ -7800,7 +7800,7 @@


- [View source] + [View source]
@@ -7816,7 +7816,7 @@


- [View source] + [View source]
@@ -7832,7 +7832,7 @@


- [View source] + [View source]
@@ -7848,7 +7848,7 @@


- [View source] + [View source]
@@ -7864,7 +7864,7 @@


- [View source] + [View source]
@@ -7880,7 +7880,7 @@


- [View source] + [View source]
@@ -7896,7 +7896,7 @@


- [View source] + [View source]
@@ -7912,7 +7912,7 @@


- [View source] + [View source]
@@ -7928,7 +7928,7 @@


- [View source] + [View source]
@@ -7944,7 +7944,7 @@


- [View source] + [View source]
@@ -7960,7 +7960,7 @@


- [View source] + [View source]
@@ -7976,7 +7976,7 @@


- [View source] + [View source]
@@ -7992,7 +7992,7 @@


- [View source] + [View source]
@@ -8008,7 +8008,7 @@


- [View source] + [View source]
@@ -8024,7 +8024,7 @@


- [View source] + [View source]
@@ -8040,7 +8040,7 @@


- [View source] + [View source]
@@ -8056,7 +8056,7 @@


- [View source] + [View source]
@@ -8072,7 +8072,7 @@


- [View source] + [View source]
@@ -8088,7 +8088,7 @@


- [View source] + [View source]
@@ -8104,7 +8104,7 @@


- [View source] + [View source]
@@ -8120,7 +8120,7 @@


- [View source] + [View source]
@@ -8136,7 +8136,7 @@


- [View source] + [View source]
@@ -8152,7 +8152,7 @@


- [View source] + [View source]
@@ -8168,7 +8168,7 @@


- [View source] + [View source]
@@ -8184,7 +8184,7 @@


- [View source] + [View source]
diff --git a/Zencontrol/AdvancedTPI/ResponseType.html b/Zencontrol/AdvancedTPI/ResponseType.html index ab37761bff..433201525c 100644 --- a/Zencontrol/AdvancedTPI/ResponseType.html +++ b/Zencontrol/AdvancedTPI/ResponseType.html @@ -6277,7 +6277,7 @@

- + zencontrol/advanced_tpi.cr @@ -6431,7 +6431,7 @@


- [View source] + [View source]
@@ -6447,7 +6447,7 @@


- [View source] + [View source]
@@ -6463,7 +6463,7 @@


- [View source] + [View source]
@@ -6479,7 +6479,7 @@


- [View source] + [View source]
diff --git a/Zencontrol/ClassicTPI.html b/Zencontrol/ClassicTPI.html index 2fcc820455..595cb89850 100644 --- a/Zencontrol/ClassicTPI.html +++ b/Zencontrol/ClassicTPI.html @@ -6295,7 +6295,7 @@

- + zencontrol/classic_tpi.cr @@ -6487,7 +6487,7 @@


- [View source] + [View source]
@@ -6512,7 +6512,7 @@


- [View source] + [View source]
@@ -6528,7 +6528,7 @@


- [View source] + [View source]
@@ -6544,7 +6544,7 @@


- [View source] + [View source]
@@ -6560,7 +6560,7 @@


- [View source] + [View source]
@@ -6576,7 +6576,7 @@


- [View source] + [View source]
@@ -6601,7 +6601,7 @@


- [View source] + [View source]
@@ -6617,7 +6617,7 @@


- [View source] + [View source]
@@ -6638,7 +6638,7 @@


- [View source] + [View source]
diff --git a/Zencontrol/ClassicTPI/Area.html b/Zencontrol/ClassicTPI/Area.html index 746f55ca41..8b4a6cd1c4 100644 --- a/Zencontrol/ClassicTPI/Area.html +++ b/Zencontrol/ClassicTPI/Area.html @@ -6287,7 +6287,7 @@

- + zencontrol/classic_tpi.cr diff --git a/index.json b/index.json index 6246838338..3fbd2aaf87 100644 --- a/index.json +++ b/index.json @@ -1 +1 @@ -{"repository_name":"drivers","body":"# PlaceOS Drivers\n\n[![CI](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml/badge.svg)](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml)\n\nManage and test [PlaceOS](https://place.technology) drivers.\n\n## Development\n\n### `harness`\n\n`harness` is a helper for easing development of PlaceOS Drivers.\n\n```\nUsage: ./harness [-h|--help] [command]\n\nHelper script for interfacing with the PlaceOS Driver spec runner\n\nCommand:\n report check all drivers' compilation status\n up starts the harness\n down stops the harness\n build builds drivers and uploads them to S3\n format formats driver code\n help display this message\n```\n\nTo spin up the test harness, clone the repository and run...\n\n```shell-session\n$ ./harness up\n```\n\nPoint a browser to [localhost:8085](http://localhost:8085), and you're good to go.\n\nWhen the environment is not in use, remember to run...\n\n```shell-session\n$ ./harness down\n```\n\nBefore committing, please run...\n\n```shell-session\n$ ./harness format\n```\n\n## Documentation\n\n- [Existing Driver Docs](https://placeos.github.io/drivers/)\n- [Writing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver)\n- [Testing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver/testing-drivers)\n- [Sending Emails](docs/guide-event-emails.md)\n- [Environment Setup](docs/setup.md)\n- [Runtime Debugging](docs/runtime-debugging.md)\n- [Directory Structure](docs/directory_structure.md)\n- [PlaceOS Spec Runner HTTP API](docs/http-api.md)\n\n## Contributing\n\n1. [Fork it](https://github.com/PlaceOS/drivers/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","program":{"html_id":"drivers/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"}],"locations":[],"repository_name":"drivers","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"CAPTURE_STATUS","name":"CAPTURE_STATUS","value":"\" \\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n 2014-02-12T15:30:00.000Z\\n 3000\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n \\n John Doe\\n \\n \\n
\\n \\n Some other capture\\n 2014-02-13T15:30:00.000Z\\n 1500\\n
Some other capture
\\n \\n \\n Steve\\n \\n \\n
\\n
\""},{"id":"DEFAULT_PASSWORD_EXCLUDE","name":"DEFAULT_PASSWORD_EXCLUDE","value":"\"0Oo1Il`'\\\\/\""},{"id":"DEFAULT_PASSWORD_LENGTH","name":"DEFAULT_PASSWORD_LENGTH","value":"6","doc":"Password defaults","summary":"

Password defaults

"},{"id":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","name":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","name":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","name":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","value":"0"},{"id":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","name":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","value":"0"},{"id":"DESK_LOC","name":"DESK_LOC","value":"{\"location\" => \"desk\", \"at_location\" => true, \"map_id\" => \"desk-4-1006\", \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"},{"id":"EXAMPLE_COLOCATION","name":"EXAMPLE_COLOCATION","value":"\"[\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1b\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 7662\\n }\\n ]\\n },\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1e\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 2386\\n }\\n ]\\n }\\n ]\""},{"id":"EXAMPLE_RESPONSE","name":"EXAMPLE_RESPONSE","value":"\"{\\\"content\\\": #{EXAMPLE_COLOCATION}}\""},{"id":"PASSWORD_LOWERCASE_CHARACTERS","name":"PASSWORD_LOWERCASE_CHARACTERS","value":"('a'..'z').to_a"},{"id":"PASSWORD_NUMBER_CHARACTERS","name":"PASSWORD_NUMBER_CHARACTERS","value":"('0'..'9').to_a"},{"id":"PASSWORD_SYMBOL_CHARACTERS","name":"PASSWORD_SYMBOL_CHARACTERS","value":"['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '{', '}', '[', ']', '|', '\\\\', ':', ';', '\"', '\\'', '<', '>', ',', '.', '?', '/', '`', '~']"},{"id":"PASSWORD_UPPERCASE_CHARACTERS","name":"PASSWORD_UPPERCASE_CHARACTERS","value":"('A'..'Z').to_a"},{"id":"RAW_GUEST_RESPONSE","name":"RAW_GUEST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Guest\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": false,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RAW_HASH_RESPONSE","name":"RAW_HASH_RESPONSE","value":"\"{\\n \\\"host\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJCWXpoYmV4W\\\",\\n \\\"short\\\": \\\"abc1234\\\"\\n }],\\n \\\"guest\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJaVVJsejNsb1\\\",\\n \\\"short\\\": \\\"def1234\\\"\\n }],\\n \\\"baseUrl\\\": \\\"https://somedomain.com/chat/\\\"\\n}\""},{"id":"RAW_HOST_RESPONSE","name":"RAW_HOST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Host\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": true,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RETVAL","name":"RETVAL","value":"\"{\\n \\\"space_id\\\":\\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"host_token\\\":\\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"guest_token\\\":\\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"host_url\\\": \\\"https://somedomain.com/chat/abc1234\\\",\\n \\\"guest_url\\\": \\\"https://somedomain.com/chat/def1234\\\"\\n}\""},{"id":"SPACES_RESPONSE","name":"SPACES_RESPONSE","value":"[{\"id\" => 96978, \"location\" => {\"id\" => 775, \"scalingFactor\" => nil, \"raw\" => true, \"policy\" => true}, \"name\" => \"WS7-01\", \"srf\" => {\"x\" => 91, \"y\" => 2169, \"z\" => 0}, \"marker\" => {\"type\" => \"CIRCLE\", \"data\" => \"20\"}, \"category\" => {\"id\" => 297, \"name\" => \"Assigned Desks\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => true, \"iconUrl\" => nil, \"colorScheme\" => \"#ffb3b3\", \"orderingIndex\" => 113}, \"sensingPolicyId\" => 247, \"department\" => {\"id\" => 498, \"name\" => \"Sales\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => nil}, \"subCategory\" => {\"id\" => 194, \"name\" => \"None\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => 194}, \"device\" => {\"id\" => 2016090160, \"displayName\" => \"1609010160\", \"updatedAt\" => nil, \"floorId\" => nil, \"shape\" => nil, \"coord\" => nil, \"blessId\" => 1609010160, \"blessQr\" => nil, \"accessedAt\" => \"2021-03-11T08:06:01.000+0000\", \"installedOn\" => nil, \"licenseeId\" => nil, \"hardware\" => nil, \"network\" => nil, \"itemId\" => nil}, \"markerUniqueId\" => \"K_2493713878097_18542\", \"live\" => false, \"capacity\" => 1, \"counter\" => \"NO_COUNTER\", \"serial\" => 1, \"locationId\" => 775, \"counted\" => true}].to_json"},{"id":"SYSTEM_STATUS","name":"SYSTEM_STATUS","value":"\" \\n 2014-02-12T15:02:19.037Z\\n \\n 3.0\\n \\n \\n Audio Only (Podcast). Balanced between file size & quality\\n Display Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n DualDisplay (Podcast/Vodcast/EchoPlayer). Optimized for file size & bandwidth\\n Dual Video (Podcast/Vodcast/EchoPlayer) -Balance between file size & quality\\n Dual Video (Podcast/Vodcast/EchoPlayer) -High Quality\\n Video Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n media\\n 2014-02-12T23:00:00.000Z\\n 3000\\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n John Doe\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n archive\\n \\n \\n \\n balanced\\n stereo\\n -6\\n 44100\\n 0\\n false\\n \\n \\n 1\\n dvi\\n 50\\n 50\\n 50\\n 10.0\\n 960\\n 720\\n true\\n true\\n \\n \\n 2\\n composite\\n 50\\n 50\\n 50\\n 29.97\\n 704\\n 480\\n true\\n false\\n ntsc\\n \\n \\n audio\\n aac\\n true\\n \\n 128000\\n lc\\n \\n \\n \\n graphics1\\n h264\\n \\n vbr\\n 736000\\n 1104000\\n base\\n 50\\n \\n \\n \\n graphics2\\n h264\\n \\n vbr\\n 1056000\\n 1584000\\n base\\n 150\\n \\n \\n \\n audio-archive\\n \\n file\\n audio.aac\\n \\n \\n \\n graphics1-archive\\n \\n file\\n display.h264\\n \\n \\n \\n graphics2-archive\\n \\n file\\n video.h264\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\""},{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"WIRELESS_LOC","name":"WIRELESS_LOC","value":"{\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => 16.764784482481577, \"y\" => 25.435735950388988, \"lng\" => 55.274935030154325, \"lat\" => 25.201036346211698, \"variance\" => 7.944837533996209, \"last_seen\" => 1601526474, \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"}],"included_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"extended_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"class_methods":[{"html_id":"create_request(mode:String,device_name:String,modbus_device:String,md5:String,file_time:String,file_descriptor:String,file_name:String,file:String|Nil)-class-method","name":"create_request","doc":"Some of these fields may not be present in every request but\nhaving them there doesn't hurt anything so why bother removing them","summary":"

Some of these fields may not be present in every request but having them there doesn't hurt anything so why bother removing them

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"args_string":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","args_html":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","location":{"filename":"src/leviton/acquisuite_spec.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite_spec.cr#L87"},"def":{"name":"create_request","args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"visibility":"Public","body":"if file.nil?\n file = \"fileplaceholder\"\nend\n\"--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODE\\\"\\n\\n#{mode}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICENAME\\\"\\n\\n#{device_name}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICE\\\"\\n\\n#{modbus_device}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MD5CHECKSUM\\\"\\n\\n#{md5}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"FILETIME\\\"\\n\\n#{file_time}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"#{file_descriptor}\\\"; filename=\\\"#{file_name}\\\"\\nContent-Type: application/octet-stream;\\n\\n#{file}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY--\\n\"\n"}},{"html_id":"generate_password(length:Int32|Nil=DEFAULT_PASSWORD_LENGTH,exclude:String|Nil=DEFAULT_PASSWORD_EXCLUDE,minimum_lowercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_LOWERCASE,minimum_uppercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_UPPERCASE,minimum_numbers:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_NUMBERS,minimum_symbols:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_SYMBOLS):String-class-method","name":"generate_password","abstract":false,"args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"args_string":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","args_html":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","location":{"filename":"src/place/password_generator_helper.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/password_generator_helper.cr#L14"},"def":{"name":"generate_password","args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"return_type":"String","visibility":"Public","body":"length || (length = DEFAULT_PASSWORD_LENGTH)\nexclude || (exclude = DEFAULT_PASSWORD_EXCLUDE)\nminimum_lowercase || (minimum_lowercase = DEFAULT_PASSWORD_MINIMUM_LOWERCASE)\nminimum_uppercase || (minimum_uppercase = DEFAULT_PASSWORD_MINIMUM_UPPERCASE)\nminimum_numbers || (minimum_numbers = DEFAULT_PASSWORD_MINIMUM_NUMBERS)\nminimum_symbols || (minimum_symbols = DEFAULT_PASSWORD_MINIMUM_SYMBOLS)\nminimums = ((minimum_lowercase + minimum_uppercase) + minimum_numbers) + minimum_symbols\nif length < minimums\n length = minimums\nend\ncharacters = [] of Char\nif minimum_lowercase > 0\n characters = PASSWORD_LOWERCASE_CHARACTERS\nend\nif minimum_uppercase > 0\n characters = characters + PASSWORD_UPPERCASE_CHARACTERS\nend\nif minimum_numbers > 0\n characters = characters + PASSWORD_NUMBER_CHARACTERS\nend\nif minimum_symbols > 0\n characters = characters + PASSWORD_SYMBOL_CHARACTERS\nend\ncharacters = characters - exclude.chars\nif characters.empty?\n characters = (PASSWORD_LOWERCASE_CHARACTERS + PASSWORD_NUMBER_CHARACTERS) - DEFAULT_PASSWORD_EXCLUDE.chars\nend\npassword = [] of Char\nminimum_lowercase.times do\n password << (PASSWORD_LOWERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_uppercase.times do\n password << (PASSWORD_UPPERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_numbers.times do\n password << (PASSWORD_NUMBER_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_symbols.times do\n password << (PASSWORD_SYMBOL_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\n(length - minimums).times do\n password << characters.sample(random: Random::Secure)\nend\npassword.shuffle(random: Random::Secure).join\n"}}],"types":[{"html_id":"drivers/AmberTech","path":"AmberTech.html","kind":"module","full_name":"AmberTech","name":"AmberTech","abstract":false,"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AmberTech/Devices","path":"AmberTech/Devices.html","kind":"class","full_name":"AmberTech::Devices","name":"Devices","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_ip:String-instance-method","name":"current_ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L37"},"def":{"name":"current_ip","return_type":"String","visibility":"Public","body":"@current_ip"}},{"html_id":"device_info:Array(DevInfo)-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L34"},"def":{"name":"device_info","return_type":"Array(DevInfo)","visibility":"Public","body":"@device_info"}}]},{"html_id":"drivers/AmberTech/DevInfo","path":"AmberTech/DevInfo.html","kind":"class","full_name":"AmberTech::DevInfo","name":"DevInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L16"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L17"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"ip_gateway:String-instance-method","name":"ip_gateway","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L23"},"def":{"name":"ip_gateway","return_type":"String","visibility":"Public","body":"@ip_gateway"}},{"html_id":"ip_subnet:String-instance-method","name":"ip_subnet","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L20"},"def":{"name":"ip_subnet","return_type":"String","visibility":"Public","body":"@ip_subnet"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"pass:String|Nil-instance-method","name":"pass","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L25"},"def":{"name":"pass","return_type":"String | ::Nil","visibility":"Public","body":"@pass"}},{"html_id":"pass2:String|Nil-instance-method","name":"pass2","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L26"},"def":{"name":"pass2","return_type":"String | ::Nil","visibility":"Public","body":"@pass2"}},{"html_id":"status:Status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L27"},"def":{"name":"status","return_type":"Status","visibility":"Public","body":"@status"}},{"html_id":"ver:String-instance-method","name":"ver","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L15"},"def":{"name":"ver","return_type":"String","visibility":"Public","body":"@ver"}}]},{"html_id":"drivers/AmberTech/Grandview","path":"AmberTech/Grandview.html","kind":"class","full_name":"AmberTech::Grandview","name":"Grandview","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L109"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:down)"}},{"html_id":"down?-instance-method","name":"down?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L113"},"def":{"name":"down?","visibility":"Public","body":"{\"closed\", \"closing\"}.includes?(self[\"status\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moveable interface","summary":"

moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L30"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"command = case position\nwhen .up?, .close?, .in?\n \"/Close.js?a=100\"\nwhen .down?, .open?, .out?\n \"/Open.js?a=100\"\nelse\n raise(\"unsupported move option: #{position}\")\nend\nqueue(name: \"move\") do |task|\n response = get(command, headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 2.seconds\nschedule.every(1.minute) do\n status\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L59"},"def":{"name":"status","visibility":"Public","body":"if queue.online\n queue(name: \"status\", priority: 0) do |task|\n response = perform_status_request\n if response.success?\n task.success(parse_status(response))\n else\n task.abort(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n end\nelse\n response = perform_status_request\n if response.success?\n parse_status(response)\n end\nend"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"stoppable interface","summary":"

stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/amber_tech/grandview.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L49"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"queue(name: \"stop\", priority: 999, clear_queue: emergency) do |task|\n response = get(\"/Stop.js?a=100\", headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","doc":"compatibility with Screen Technics","summary":"

compatibility with Screen Technics

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L101"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:up)"}},{"html_id":"up?-instance-method","name":"up?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L105"},"def":{"name":"up?","visibility":"Public","body":"{\"opened\", \"opening\"}.includes?(self[\"status\"]?)"}}]},{"html_id":"drivers/AmberTech/Status","path":"AmberTech/Status.html","kind":"enum","full_name":"AmberTech::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stop","name":"Stop","value":"0"},{"id":"Opening","name":"Opening","value":"1"},{"id":"Opened","name":"Opened","value":"2"},{"id":"Closing","name":"Closing","value":"3"},{"id":"Closed","name":"Closed","value":"4"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L9"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"closing?-instance-method","name":"closing?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L8"},"def":{"name":"closing?","visibility":"Public","body":"self == Closing"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L7"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}},{"html_id":"opening?-instance-method","name":"opening?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L6"},"def":{"name":"opening?","visibility":"Public","body":"self == Opening"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L5"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/AmberTech/StatusResp","path":"AmberTech/StatusResp.html","kind":"class","full_name":"AmberTech::StatusResp","name":"StatusResp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L41"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:Status|String-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L43"},"def":{"name":"status","return_type":"Status | String","visibility":"Public","body":"@status"}}]}]},{"html_id":"drivers/Amx","path":"Amx.html","kind":"module","full_name":"Amx","name":"Amx","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Amx/Svsi","path":"Amx/Svsi.html","kind":"module","full_name":"Amx::Svsi","name":"Svsi","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Amx","kind":"module","full_name":"Amx","name":"Amx"},"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","path":"Amx/Svsi/NSeriesDecoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"OutputModes","name":"OutputModes","value":"[\"auto\", \"1080p59.94\", \"1080p60\", \"720p60\", \"4K30\", \"4K25\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L41"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L49"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L208"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"live(state:Bool=true)-instance-method","name":"live","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L86"},"def":{"name":"live","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? do_send(Command::Live) : local(self[:playlist].as_i)"}},{"html_id":"local(playlist:Int32=0)-instance-method","name":"local","abstract":false,"args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"args_string":"(playlist : Int32 = 0)","args_html":"(playlist : Int32 = 0)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L90"},"def":{"name":"local","args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Local, playlist)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L72"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\n do_send(Command::Mute, name: :mute)\n do_send(Command::SetAudio, 0)\nelse\n do_send(Command::SetAudio, @previous_stream || 0)\n do_send(Command::Unmute, name: :mute)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"output_resolution(mode:String)-instance-method","name":"output_resolution","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L108"},"def":{"name":"output_resolution","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if OutputModes.includes?(mode)\nelse\n logger.error do\n \"\\\"#{mode}\\\" is not a valid resolution\"\n end\n return\nend\ndo_send(Command::ModeSet, mode)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nprop, value = data.split(':')\ncase Response.from_mapped_value?(prop.downcase)\nin Response::Stream\n self[:video] = @stream = value.to_i\nin Response::StreamAudio\n stream_id = value.to_i\n self[:audio_actual] = stream_id\n self[:audio] = stream_id == 0 ? ( @mute ? 0 : @stream) : stream_id\nin Response::Name\n self[:device_name] = value\nin Response::Playmode\n self[:local_playback] = value == \"local\"\nin Response::Playlist\n self[:playlist] = value.to_i\nin Response::Mute\n self[:mute] = @mute = value == \"1\"\nin Response::ScalerBypass\n self[:scaler_active] = value != \"no\"\nin Response::Mode\n self[:output_res] = value\nin Response::InputRes\n self[:input_res] = value\nin Nil\n raise(\"Unexpected response: #{prop}\")\nend\ntask.try(&.success)\n"}},{"html_id":"scaler(state:Bool)-instance-method","name":"scaler","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L94"},"def":{"name":"scaler","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"action = state ? Command::ScalerEnable : Command::ScalerDisable\ndo_send(action, name: :scaler)\n"}},{"html_id":"switch_audio(stream_id:Int32)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L62"},"def":{"name":"switch_audio","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"@previous_stream = stream_id\nunmute\n"}},{"html_id":"switch_kvm(ip_address:String,video_follow:Bool=true)-instance-method","name":"switch_kvm","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"args_string":"(ip_address : String, video_follow : Bool = true)","args_html":"(ip_address : String, video_follow : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L67"},"def":{"name":"switch_kvm","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"visibility":"Public","body":"host = \"#{ip_address},#{video_follow ? 1 : 0}\"\ndo_send(Command::SwitchKVM, host)\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L53"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"switch_video(input)\nswitch_audio(0)\n"}},{"html_id":"switch_video(stream_id:Int32)-instance-method","name":"switch_video","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L58"},"def":{"name":"switch_video","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Set, stream_id)"}},{"html_id":"videowall(width:Int32,height:Int32,x_pos:Int32,y_pos:Int32,scale:VideowallScalingMode=VideowallScalingMode::Auto)-instance-method","name":"videowall","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"args_string":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","args_html":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L116"},"def":{"name":"videowall","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"if width > 1 && height > 1\n videowall_size(width, height)\n videowall_position(x_pos, y_pos)\n videowall_scaling(scale)\n videowall_enable\nelse\n videowall_disable\nend"}},{"html_id":"videowall_disable-instance-method","name":"videowall_disable","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L138"},"def":{"name":"videowall_disable","visibility":"Public","body":"videowall_enable(false)"}},{"html_id":"videowall_enable(state:Bool=true)-instance-method","name":"videowall_enable","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L133"},"def":{"name":"videowall_enable","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? \"on\" : \"off\"\ndo_send(Command::SetSettings, \"wallEnable\", state)\n"}},{"html_id":"videowall_position(x:Int32,y:Int32)-instance-method","name":"videowall_position","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(x : Int32, y : Int32)","args_html":"(x : Int32, y : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L147"},"def":{"name":"videowall_position","args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallMonPosV\", x)\ndo_send(Command::SetSettings, \"wallMonPosH\", y)\n"}},{"html_id":"videowall_scaling(scaling_mode:VideowallScalingMode)-instance-method","name":"videowall_scaling","abstract":false,"args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"args_string":"(scaling_mode : VideowallScalingMode)","args_html":"(scaling_mode : VideowallScalingMode)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L158"},"def":{"name":"videowall_scaling","args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallStretch\", scaling_mode)"}},{"html_id":"videowall_size(width:Int32,height:Int32)-instance-method","name":"videowall_size","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(width : Int32, height : Int32)","args_html":"(width : Int32, height : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L142"},"def":{"name":"videowall_size","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallHorMons\", width)\ndo_send(Command::SetSettings, \"wallVerMons\", height)\n"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Command","path":"Amx/Svsi/NSeriesDecoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"Set","name":"Set","value":"1"},{"id":"SetSettings","name":"SetSettings","value":"2"},{"id":"SwitchKVM","name":"SwitchKVM","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Unmute","name":"Unmute","value":"5"},{"id":"SetAudio","name":"SetAudio","value":"6"},{"id":"Live","name":"Live","value":"7"},{"id":"Local","name":"Local","value":"8"},{"id":"ScalerEnable","name":"ScalerEnable","value":"9"},{"id":"ScalerDisable","name":"ScalerDisable","value":"10"},{"id":"ModeSet","name":"ModeSet","value":"11"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mode_set?-instance-method","name":"mode_set?","abstract":false,"def":{"name":"mode_set?","visibility":"Public","body":"self == ModeSet"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"scaler_disable?-instance-method","name":"scaler_disable?","abstract":false,"def":{"name":"scaler_disable?","visibility":"Public","body":"self == ScalerDisable"}},{"html_id":"scaler_enable?-instance-method","name":"scaler_enable?","abstract":false,"def":{"name":"scaler_enable?","visibility":"Public","body":"self == ScalerEnable"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"def":{"name":"set?","visibility":"Public","body":"self == Set"}},{"html_id":"set_audio?-instance-method","name":"set_audio?","abstract":false,"def":{"name":"set_audio?","visibility":"Public","body":"self == SetAudio"}},{"html_id":"set_settings?-instance-method","name":"set_settings?","abstract":false,"def":{"name":"set_settings?","visibility":"Public","body":"self == SetSettings"}},{"html_id":"switch_kvm?-instance-method","name":"switch_kvm?","abstract":false,"def":{"name":"switch_kvm?","visibility":"Public","body":"self == SwitchKVM"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Response","path":"Amx/Svsi/NSeriesDecoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stream","name":"Stream","value":"0"},{"id":"StreamAudio","name":"StreamAudio","value":"1"},{"id":"Name","name":"Name","value":"2"},{"id":"Playmode","name":"Playmode","value":"3"},{"id":"Playlist","name":"Playlist","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"ScalerBypass","name":"ScalerBypass","value":"6"},{"id":"Mode","name":"Mode","value":"7"},{"id":"InputRes","name":"InputRes","value":"8"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"input_res?-instance-method","name":"input_res?","abstract":false,"def":{"name":"input_res?","visibility":"Public","body":"self == InputRes"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playlist?-instance-method","name":"playlist?","abstract":false,"def":{"name":"playlist?","visibility":"Public","body":"self == Playlist"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"scaler_bypass?-instance-method","name":"scaler_bypass?","abstract":false,"def":{"name":"scaler_bypass?","visibility":"Public","body":"self == ScalerBypass"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}},{"html_id":"stream_audio?-instance-method","name":"stream_audio?","abstract":false,"def":{"name":"stream_audio?","visibility":"Public","body":"self == StreamAudio"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/VideowallScalingMode","path":"Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::VideowallScalingMode","name":"VideowallScalingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L152"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Fit","name":"Fit","value":"1"},{"id":"Stretch","name":"Stretch","value":"2"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L153"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"fit?-instance-method","name":"fit?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L154"},"def":{"name":"fit?","visibility":"Public","body":"self == Fit"}},{"html_id":"stretch?-instance-method","name":"stretch?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L155"},"def":{"name":"stretch?","visibility":"Public","body":"self == Stretch"}}]}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","path":"Amx/Svsi/NSeriesEncoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L8"},{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CommonCommands","name":"CommonCommands","value":"[:monitor, :monitornotify, :live, :local, :serial, :readresponse, :sendir, :sendirraw, :audioon, :audiooff, :enablehdmiaudio, :disablehdmiaudio, :autohdmiaudio, :record, :dsrecord, :dvrswitch1, :dvrswitch2, :mpeg, :mpegall, :deletempegfile, :play, :stop, :pause, :unpause, :fastforward, :rewind, :deletefile, :stepforward, :stepreverse, :stoprecord, :recordhold, :recordrelease, :playhold, :playrelease, :deleteallplaylist, :deleteallmpegs, :remotecopy, :wpswitch, :wpaudioin, :wpactive, :wpinactive, :wpaudioon, :wpaudiooff, :wpmodeon, :wpmodeoff, :wparrange, :wpbackground, :wpcrop, :wppriority, :wpbordon, :wpbordoff, :wppreset, :atrswitch, :atrmute, :atrunmute, :atrtxmute, :atrtxunmute, :atrhpvol, :atrlovol, :atrlovolup, :atrlovoldown, :atrhpvolup, :atrhpvoldown, :openrelay, :closerelay, :videowall, :script, :goto, :tcpclient, :udpclient, :reboot, :gc_serial, :gc_openrelay, :gc_closerelay, :gc_ir]"},{"id":"Modes","name":"Modes","value":"(1..8).map(&.to_s)"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"atrhpvol(ip_address:String,*args,**options)-instance-method","name":"atrhpvol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvol\", ip_address, *args, **options)"}},{"html_id":"atrhpvoldown(ip_address:String,*args,**options)-instance-method","name":"atrhpvoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvoldown\", ip_address, *args, **options)"}},{"html_id":"atrhpvolup(ip_address:String,*args,**options)-instance-method","name":"atrhpvolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvolup\", ip_address, *args, **options)"}},{"html_id":"atrlovol(ip_address:String,*args,**options)-instance-method","name":"atrlovol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovol\", ip_address, *args, **options)"}},{"html_id":"atrlovoldown(ip_address:String,*args,**options)-instance-method","name":"atrlovoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovoldown\", ip_address, *args, **options)"}},{"html_id":"atrlovolup(ip_address:String,*args,**options)-instance-method","name":"atrlovolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovolup\", ip_address, *args, **options)"}},{"html_id":"atrmute(ip_address:String,*args,**options)-instance-method","name":"atrmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrmute\", ip_address, *args, **options)"}},{"html_id":"atrswitch(ip_address:String,*args,**options)-instance-method","name":"atrswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrswitch\", ip_address, *args, **options)"}},{"html_id":"atrtxmute(ip_address:String,*args,**options)-instance-method","name":"atrtxmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxmute\", ip_address, *args, **options)"}},{"html_id":"atrtxunmute(ip_address:String,*args,**options)-instance-method","name":"atrtxunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxunmute\", ip_address, *args, **options)"}},{"html_id":"atrunmute(ip_address:String,*args,**options)-instance-method","name":"atrunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrunmute\", ip_address, *args, **options)"}},{"html_id":"audiofollow(output:InOut,*args,**options)-instance-method","name":"audiofollow","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"audiofollow","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiofollow\", get_output(output), *args, **options)"}},{"html_id":"audiooff(ip_address:String,*args,**options)-instance-method","name":"audiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiooff\", ip_address, *args, **options)"}},{"html_id":"audioon(ip_address:String,*args,**options)-instance-method","name":"audioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audioon\", ip_address, *args, **options)"}},{"html_id":"autocc(input:InOut,*args,**options)-instance-method","name":"autocc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"autocc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autocc\", get_input(input), *args, **options)"}},{"html_id":"autohdmiaudio(ip_address:String,*args,**options)-instance-method","name":"autohdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"autohdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autohdmiaudio\", ip_address, *args, **options)"}},{"html_id":"closerelay(ip_address:String,*args,**options)-instance-method","name":"closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"closerelay\", ip_address, *args, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L40"},"def":{"name":"connected","visibility":"Public","body":"@lookup.each_key do |ip_address|\n monitor(ip_address, priority: 0)\n monitornotify(ip_address, priority: 0)\nend\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Maintaining Connection --\"\n end\n monitornotify(@list.first, priority: 0)\nend\n"}},{"html_id":"cropref(output:InOut,*args,**options)-instance-method","name":"cropref","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"cropref","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"cropref\", get_output(output), *args, **options)"}},{"html_id":"deleteallmpegs(ip_address:String,*args,**options)-instance-method","name":"deleteallmpegs","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallmpegs","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallmpegs\", ip_address, *args, **options)"}},{"html_id":"deleteallplaylist(ip_address:String,*args,**options)-instance-method","name":"deleteallplaylist","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallplaylist","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallplaylist\", ip_address, *args, **options)"}},{"html_id":"deletefile(ip_address:String,*args,**options)-instance-method","name":"deletefile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletefile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletefile\", ip_address, *args, **options)"}},{"html_id":"deletempegfile(ip_address:String,*args,**options)-instance-method","name":"deletempegfile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletempegfile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletempegfile\", ip_address, *args, **options)"}},{"html_id":"disablecc(input:InOut,*args,**options)-instance-method","name":"disablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"disablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablecc\", get_input(input), *args, **options)"}},{"html_id":"disablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"disablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"disablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L48"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L111"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"do_send(*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L201"},"def":{"name":"do_send","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"cmd = args.join(' ')\nlogger.debug do\n \"sending #{cmd}\"\nend\nsend(\"#{cmd}\\r\\n\", **options)\n"}},{"html_id":"dsrecord(ip_address:String,*args,**options)-instance-method","name":"dsrecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dsrecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dsrecord\", ip_address, *args, **options)"}},{"html_id":"dvioff(output:InOut,*args,**options)-instance-method","name":"dvioff","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvioff","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvioff\", get_output(output), *args, **options)"}},{"html_id":"dvion(output:InOut,*args,**options)-instance-method","name":"dvion","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvion","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvion\", get_output(output), *args, **options)"}},{"html_id":"dvrswitch1(ip_address:String,*args,**options)-instance-method","name":"dvrswitch1","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch1","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch1\", ip_address, *args, **options)"}},{"html_id":"dvrswitch2(ip_address:String,*args,**options)-instance-method","name":"dvrswitch2","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch2","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch2\", ip_address, *args, **options)"}},{"html_id":"enablecc(input:InOut,*args,**options)-instance-method","name":"enablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"enablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablecc\", get_input(input), *args, **options)"}},{"html_id":"enablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"enablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"enablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"fastforward(ip_address:String,*args,**options)-instance-method","name":"fastforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"fastforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"fastforward\", ip_address, *args, **options)"}},{"html_id":"gc_closerelay(ip_address:String,*args,**options)-instance-method","name":"gc_closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_closerelay\", ip_address, *args, **options)"}},{"html_id":"gc_ir(ip_address:String,*args,**options)-instance-method","name":"gc_ir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_ir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_ir\", ip_address, *args, **options)"}},{"html_id":"gc_openrelay(ip_address:String,*args,**options)-instance-method","name":"gc_openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_openrelay\", ip_address, *args, **options)"}},{"html_id":"gc_serial(ip_address:String,*args,**options)-instance-method","name":"gc_serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_serial\", ip_address, *args, **options)"}},{"html_id":"getStatus(output:InOut,*args,**options)-instance-method","name":"getStatus","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"getStatus","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"getStatus\", get_output(output), *args, **options)"}},{"html_id":"goto(ip_address:String,*args,**options)-instance-method","name":"goto","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"goto","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"goto\", ip_address, *args, **options)"}},{"html_id":"live(ip_address:String,*args,**options)-instance-method","name":"live","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"live","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"live\", ip_address, *args, **options)"}},{"html_id":"local(ip_address:String,*args,**options)-instance-method","name":"local","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"local","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"local\", ip_address, *args, **options)"}},{"html_id":"media_source(mode:String)-instance-method","name":"media_source","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L58"},"def":{"name":"media_source","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if mode == \"live\"\n do_send(Command::Live)\nelse\n if Modes.includes?(mode)\n do_send(Command::Local, mode)\n else\n raise(\"invalid mode #{mode}\")\n end\nend"}},{"html_id":"modeoff(input:InOut,*args,**options)-instance-method","name":"modeoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"modeoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"modeoff\", get_input(input), *args, **options)"}},{"html_id":"monitor(ip_address:String,*args,**options)-instance-method","name":"monitor","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitor","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitor\", ip_address, *args, **options)"}},{"html_id":"monitornotify(ip_address:String,*args,**options)-instance-method","name":"monitornotify","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitornotify","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitornotify\", ip_address, *args, **options)"}},{"html_id":"mpeg(ip_address:String,*args,**options)-instance-method","name":"mpeg","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpeg","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpeg\", ip_address, *args, **options)"}},{"html_id":"mpegall(ip_address:String,*args,**options)-instance-method","name":"mpegall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpegall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpegall\", ip_address, *args, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L155"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"address = index.is_a?(Int32) && (val = @encoders[index]? || @decoders[index]?) ? val : index.as(String)\nif state\n if layer.audio_video? || layer.video?\n dvioff(address)\n end\n if layer.audio_video? || layer.audio?\n audiooff(address)\n end\nelse\n if layer.audio_video? || layer.video?\n dvion(address)\n end\n if layer.audio_video? || layer.audio?\n audioon(address)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = (setting?(Hash(String, String), :inputs)) || ({} of String => String)\n@outputs = (setting?(Hash(String, String), :outputs)) || ({} of String => String)\n@encoders = @inputs.keys\n@decoders = @outputs.keys\n@lookup = @inputs.merge(@outputs)\n@list = @encoders + @decoders\n"}},{"html_id":"openrelay(ip_address:String,*args,**options)-instance-method","name":"openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"openrelay\", ip_address, *args, **options)"}},{"html_id":"pause(ip_address:String,*args,**options)-instance-method","name":"pause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"pause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"pause\", ip_address, *args, **options)"}},{"html_id":"play(ip_address:String,*args,**options)-instance-method","name":"play","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"play","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"play\", ip_address, *args, **options)"}},{"html_id":"playhold(ip_address:String,*args,**options)-instance-method","name":"playhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playhold\", ip_address, *args, **options)"}},{"html_id":"playrelease(ip_address:String,*args,**options)-instance-method","name":"playrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playrelease\", ip_address, *args, **options)"}},{"html_id":"readresponse(ip_address:String,*args,**options)-instance-method","name":"readresponse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"readresponse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"readresponse\", ip_address, *args, **options)"}},{"html_id":"reboot(ip_address:String,*args,**options)-instance-method","name":"reboot","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"reboot","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"reboot\", ip_address, *args, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L170"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nresp = data.split(':')\ncase resp.size\nwhen 13\n self[resp[0]] = {communications: resp[1] == \"1\", dvioff: resp[2] == \"1\", scaler: resp[3] == \"1\", source_detected: resp[4] == \"1\", mode: resp[5], audio_enabled: resp[6] == \"1\", video_stream: resp[7].to_i, audio_stream: resp[8] == \"follow video\" ? resp[8] : resp[8].to_i, playlist: resp[9], colorspace: resp[10], hdmiaudio: resp[11], resolution: resp[12]}\nwhen 10\n self[resp[0]] = resp\nelse\n logger.warn do\n \"unknown response type: #{resp}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"record(ip_address:String,*args,**options)-instance-method","name":"record","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"record","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"record\", ip_address, *args, **options)"}},{"html_id":"recordhold(ip_address:String,*args,**options)-instance-method","name":"recordhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordhold\", ip_address, *args, **options)"}},{"html_id":"recordrelease(ip_address:String,*args,**options)-instance-method","name":"recordrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordrelease\", ip_address, *args, **options)"}},{"html_id":"remotecopy(ip_address:String,*args,**options)-instance-method","name":"remotecopy","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"remotecopy","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"remotecopy\", ip_address, *args, **options)"}},{"html_id":"rewind(ip_address:String,*args,**options)-instance-method","name":"rewind","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"rewind","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"rewind\", ip_address, *args, **options)"}},{"html_id":"script(ip_address:String,*args,**options)-instance-method","name":"script","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"script","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"script\", ip_address, *args, **options)"}},{"html_id":"sendir(ip_address:String,*args,**options)-instance-method","name":"sendir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendir\", ip_address, *args, **options)"}},{"html_id":"sendirraw(ip_address:String,*args,**options)-instance-method","name":"sendirraw","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendirraw","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendirraw\", ip_address, *args, **options)"}},{"html_id":"serial(ip_address:String,*args,**options)-instance-method","name":"serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"serial\", ip_address, *args, **options)"}},{"html_id":"serialhex(ip_address:String,wait_time:Int32=1,*data,**options)-instance-method","name":"serialhex","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"args_string":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","args_html":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L85"},"def":{"name":"serialhex","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":2,"visibility":"Public","body":"do_send(\"serialhex\", wait_time, ip_address, *data, **options)"}},{"html_id":"stepforward(ip_address:String,*args,**options)-instance-method","name":"stepforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepforward\", ip_address, *args, **options)"}},{"html_id":"stepreverse(ip_address:String,*args,**options)-instance-method","name":"stepreverse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepreverse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepreverse\", ip_address, *args, **options)"}},{"html_id":"stop(ip_address:String,*args,**options)-instance-method","name":"stop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stop\", ip_address, *args, **options)"}},{"html_id":"stoprecord(ip_address:String,*args,**options)-instance-method","name":"stoprecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stoprecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stoprecord\", ip_address, *args, **options)"}},{"html_id":"switch(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L103"},"def":{"name":"switch","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n dvion(output_actual, **options)\n audioon(output_actual, **options)\n audiofollow(output_actual, **options)\n self[\"video#{output_actual}\"] = input_actual\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switch, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n output_actual = get_output(o)\n dvioff(output_actual, **options)\n audiooff(output_actual, **options)\n end\n end\nend"}},{"html_id":"switch_audio(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L131"},"def":{"name":"switch_audio","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n audioon(input_actual, **options)\n audioon(output_actual, **options)\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switchaudio, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n audiooff(get_output(o), **options)\n end\n end\nend"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L52"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::VideoSource, input, **options)"}},{"html_id":"tcpclient(ip_address:String,*args,**options)-instance-method","name":"tcpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"tcpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"tcpclient\", ip_address, *args, **options)"}},{"html_id":"udpclient(ip_address:String,*args,**options)-instance-method","name":"udpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"udpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"udpclient\", ip_address, *args, **options)"}},{"html_id":"uncompressedoff(input:InOut,*args,**options)-instance-method","name":"uncompressedoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"uncompressedoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"uncompressedoff\", get_input(input), *args, **options)"}},{"html_id":"unpause(ip_address:String,*args,**options)-instance-method","name":"unpause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"unpause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"unpause\", ip_address, *args, **options)"}},{"html_id":"videowall(ip_address:String,*args,**options)-instance-method","name":"videowall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"videowall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"videowall\", ip_address, *args, **options)"}},{"html_id":"volume(output:InOut,*args,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"volume","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"volume\", get_output(output), *args, **options)"}},{"html_id":"wpactive(ip_address:String,*args,**options)-instance-method","name":"wpactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpactive\", ip_address, *args, **options)"}},{"html_id":"wparrange(ip_address:String,*args,**options)-instance-method","name":"wparrange","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wparrange","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wparrange\", ip_address, *args, **options)"}},{"html_id":"wpaudioin(ip_address:String,*args,**options)-instance-method","name":"wpaudioin","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioin","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioin\", ip_address, *args, **options)"}},{"html_id":"wpaudiooff(ip_address:String,*args,**options)-instance-method","name":"wpaudiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudiooff\", ip_address, *args, **options)"}},{"html_id":"wpaudioon(ip_address:String,*args,**options)-instance-method","name":"wpaudioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioon\", ip_address, *args, **options)"}},{"html_id":"wpbackground(ip_address:String,*args,**options)-instance-method","name":"wpbackground","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbackground","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbackground\", ip_address, *args, **options)"}},{"html_id":"wpbordoff(ip_address:String,*args,**options)-instance-method","name":"wpbordoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordoff\", ip_address, *args, **options)"}},{"html_id":"wpbordon(ip_address:String,*args,**options)-instance-method","name":"wpbordon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordon\", ip_address, *args, **options)"}},{"html_id":"wpcrop(ip_address:String,*args,**options)-instance-method","name":"wpcrop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpcrop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpcrop\", ip_address, *args, **options)"}},{"html_id":"wpinactive(ip_address:String,*args,**options)-instance-method","name":"wpinactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpinactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpinactive\", ip_address, *args, **options)"}},{"html_id":"wpmodeoff(ip_address:String,*args,**options)-instance-method","name":"wpmodeoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeoff\", ip_address, *args, **options)"}},{"html_id":"wpmodeon(ip_address:String,*args,**options)-instance-method","name":"wpmodeon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeon\", ip_address, *args, **options)"}},{"html_id":"wppreset(ip_address:String,*args,**options)-instance-method","name":"wppreset","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppreset","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppreset\", ip_address, *args, **options)"}},{"html_id":"wppriority(ip_address:String,*args,**options)-instance-method","name":"wppriority","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppriority","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppriority\", ip_address, *args, **options)"}},{"html_id":"wpswitch(ip_address:String,*args,**options)-instance-method","name":"wpswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpswitch\", ip_address, *args, **options)"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Command","path":"Amx/Svsi/NSeriesEncoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"VideoSource","name":"VideoSource","value":"1"},{"id":"Live","name":"Live","value":"2"},{"id":"Local","name":"Local","value":"3"},{"id":"Disable","name":"Disable","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"Unmute","name":"Unmute","value":"6"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"disable?-instance-method","name":"disable?","abstract":false,"def":{"name":"disable?","visibility":"Public","body":"self == Disable"}},{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}},{"html_id":"video_source?-instance-method","name":"video_source?","abstract":false,"def":{"name":"video_source?","visibility":"Public","body":"self == VideoSource"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/InOut","path":"Amx/Svsi/NSeriesEncoder/InOut.html","kind":"alias","full_name":"Amx::Svsi::NSeriesEncoder::InOut","name":"InOut","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Int32 | String)","aliased_html":"Int32 | String","const":false,"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"}},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Input","path":"Amx/Svsi/NSeriesEncoder/Input.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmionly","name":"Hdmionly","value":"0"},{"id":"Vgaonly","name":"Vgaonly","value":"1"},{"id":"Hdmivga","name":"Hdmivga","value":"2"},{"id":"Vgahdmi","name":"Vgahdmi","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"hdmionly?-instance-method","name":"hdmionly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L12"},"def":{"name":"hdmionly?","visibility":"Public","body":"self == Hdmionly"}},{"html_id":"hdmivga?-instance-method","name":"hdmivga?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L14"},"def":{"name":"hdmivga?","visibility":"Public","body":"self == Hdmivga"}},{"html_id":"vgahdmi?-instance-method","name":"vgahdmi?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L15"},"def":{"name":"vgahdmi?","visibility":"Public","body":"self == Vgahdmi"}},{"html_id":"vgaonly?-instance-method","name":"vgaonly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L13"},"def":{"name":"vgaonly?","visibility":"Public","body":"self == Vgaonly"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Response","path":"Amx/Svsi/NSeriesEncoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L82"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Name","name":"Name","value":"0"},{"id":"Stream","name":"Stream","value":"1"},{"id":"Playmode","name":"Playmode","value":"2"},{"id":"Mute","name":"Mute","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L86"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L83"},"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L85"},"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L84"},"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}}]}]},{"html_id":"drivers/Amx/Svsi/VirtualSwitcher","path":"Amx/Svsi/VirtualSwitcher.html","kind":"class","full_name":"Amx::Svsi::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L22"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nconnect(map) do |mod, stream|\n if layer.all? || layer.audio?\n mod.switch_audio(stream)\n end\n if layer.all? || layer.video?\n mod.switch_video(stream)\n end\nend\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L18"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"decoders.each(&.switch_to(input))"}}]}]}]},{"html_id":"drivers/Ashrae","path":"Ashrae.html","kind":"module","full_name":"Ashrae","name":"Ashrae","abstract":false,"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Ashrae/BACnet","path":"Ashrae/BACnet.html","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L157"},"def":{"name":"connected","visibility":"Public","body":"bbmd_ip = setting?(String, :bbmd_ip)\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"device(device_id:UInt32)-instance-method","name":"device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L205"},"def":{"name":"device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device_details((get_device(device_id)).not_nil!)"}},{"html_id":"devices-instance-method","name":"devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L209"},"def":{"name":"devices","visibility":"Public","body":"device_registry.devices.map do |device|\n device_details(device)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L55"},"def":{"name":"on_load","visibility":"Public","body":"server = UDPSocket.new\nserver.bind(\"0.0.0.0\", 47808)\nserver.write_timeout = 200.milliseconds\n@udp_server = server\nqueue.timeout = 2.seconds\nclient = ::BACnet::Client::IPv4.new(0, 2.seconds)\nclient.on_transmit do |message, address|\n if address.address == Socket::IPAddress::BROADCAST\n if @bbmd_forwarding.size == 4\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::ForwardedNPDU\n message.data_link.address.ip1 = @bbmd_forwarding[0]\n message.data_link.address.ip2 = @bbmd_forwarding[1]\n message.data_link.address.ip3 = @bbmd_forwarding[2]\n message.data_link.address.ip4 = @bbmd_forwarding[3]\n message.data_link.address.port = 47808_u16\n end\n logger.debug do\n \"sending broadcase message #{message.inspect}\"\n end\n devices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\n devices.each do |dev|\n begin\n server.send(message, to: dev.address)\n rescue error\n logger.warn(exception: error) do\n \"error sending message to #{dev.address}\"\n end\n end\n end\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::DistributeBroadcastToNetwork\n payload = DispatchProtocol.new\n payload.message = DispatchProtocol::MessageType::WRITE\n payload.ip_address = @bbmd_ip.address\n payload.id_or_port = @bbmd_ip.port.to_u64\n payload.data = message.to_slice\n transport.send(payload.to_slice)\n else\n server.send(message, to: address)\n end\nend\n@bacnet_client = client\nregistry = ::BACnet::Client::DeviceRegistry.new(client, logger)\nregistry.on_new_device do |device|\n new_device_found(device)\nend\n@device_registry = registry\nspawn do\n process_data(server, client)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L128"},"def":{"name":"on_unload","visibility":"Public","body":"udp_server.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L132"},"def":{"name":"on_update","visibility":"Public","body":"bbmd_ip = (setting?(String, :bbmd_ip)) || \"\"\nbbmd_forwarding = (setting?(String, :bbmd_forwarding)) || \"\"\n@bbmd_forwarding = (bbmd_forwarding.strip.split(\".\")).select(&.presence).map(&.to_u8)\nif bbmd_ip.presence\n @bbmd_ip = Socket::IPAddress.new(bbmd_ip, 47808)\nend\n@verbose_debug = (setting?(Bool, :verbose_debug)) || false\nschedule.clear\nschedule.in(5.seconds) do\n query_known_devices\nend\npoll_period = (setting?(UInt32, :poll_period)) || 3\nschedule.every(poll_period.minutes) do\n logger.debug do\n \"--- Polling all known bacnet devices\"\n end\n keys = @mutex.synchronize do\n @devices.keys\n end\n keys.each do |device_id|\n poll_device(device_id)\n end\nend\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"packets_processed:UInt64-instance-method","name":"packets_processed","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L153"},"def":{"name":"packets_processed","visibility":"Public","body":"@packets_processed"}},{"html_id":"perform_discovery:Nil-instance-method","name":"perform_discovery","doc":"Performs a WhoIs discovery against the BACnet network","summary":"

Performs a WhoIs discovery against the BACnet network

","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L258"},"def":{"name":"perform_discovery","return_type":"Nil","visibility":"Public","body":"bacnet_client.who_is"}},{"html_id":"poll_device(device_id:UInt32)-instance-method","name":"poll_device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L232"},"def":{"name":"poll_device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device = get_device(device_id)\nif device\nelse\n return false\nend\nclient = bacnet_client\nobjects = @mutex.synchronize do\n device.objects.dup\nend\nobjects.each do |obj|\n if obj.object_type.in?(::BACnet::Client::DeviceRegistry::OBJECTS_WITH_VALUES)\n else\n next\n end\n name = object_binding(device_id, obj)\n queue(name: name, priority: 0, timeout: 500.milliseconds) do |task|\n spawn_action(task) do\n obj.sync_value(client)\n self[name] = object_value(obj)\n end\n end\n Fiber.yield\nend\ntrue\n"}},{"html_id":"query_known_devices-instance-method","name":"query_known_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L213"},"def":{"name":"query_known_devices","visibility":"Public","body":"sent = [] of UInt32\n@seen_devices.each_value do |info|\n sent << info.id.not_nil!\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\nend\ndevices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\ndevices.each do |info|\n if id = info.id\n if id.in?(sent)\n next\n end\n sent << id\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\n end\nend\n\"inspected #{sent.size} devices\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/ashrae/bacnet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L406"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"protocol = (IO::Memory.new(data)).read_bytes(DispatchProtocol)\nlogger.debug do\n \"received message: #{protocol.message} #{protocol.ip_address}:#{protocol.id_or_port} (size #{protocol.data_size})\"\nend\nif protocol.message.received?\n message = (IO::Memory.new(protocol.data)).read_bytes(::BACnet::Message::IPv4)\n if @verbose_debug\n logger.debug do\n \"dispatch sent:\\n#{message.inspect}\"\n end\n end\n bacnet_client.received(message, @bbmd_ip)\n app = message.application\n is_iam = false\n is_cov = case app\n when ::BACnet::ConfirmedRequest\n app.service.cov_notification?\n when ::BACnet::UnconfirmedRequest\n is_iam = app.service.i_am?\n app.service.cov_notification?\n else\n false\n end\n network = message.network\n if network && is_cov\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n if network.source_specifier\n addr = network.source_address\n net = network.source.network\n end\n device = message.objects.find do |obj|\n obj.tag == 1\n end.not_nil!.to_object_id.instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, net, addr)\n end\n if network && is_iam\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n details = ::BACnet::Client::Message::IAm.parse(message)\n device = details[:object_id].instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, details[:network], details[:address])\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_seen_devices-instance-method","name":"save_seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L631"},"def":{"name":"save_seen_devices","visibility":"Public","body":"define_setting(:known_devices, @seen_devices.values)"}},{"html_id":"seen_devices:Hash(UInt32,Ashrae::DeviceAddress)-instance-method","name":"seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":463,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L463"},"def":{"name":"seen_devices","visibility":"Public","body":"@seen_devices"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/ashrae/bacnet.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L601"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ndevice_id = mac.to_u32?\nif device_id\nelse\n return nil\nend\ndevice = get_device(device_id)\nif device\nelse\n return nil\nend\nobj_type_string, instance_id_string = id.split('[', 2)\ninstance_id = instance_id_string.rchop.to_u32?\nif instance_id\nelse\n return nil\nend\nobject_type = ObjectType.parse?(obj_type_string)\nif object_type\nelse\n return nil\nend\nobject = get_object_details(device_id, instance_id, object_type)\nif object.changed < 1.minutes.ago\n begin\n object.sync_value(bacnet_client)\n rescue error\n logger.warn(exception: error) do\n \"failed to obtain latest value for sensor at #{mac}.#{id}\"\n end\n end\nend\nto_sensor(device_id, device, object)\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/ashrae/bacnet.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L577"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n if mac\n device_id = mac.to_u32?\n if device_id\n else\n return NO_MATCH\n end\n device = get_device(device_id)\n if device\n else\n return NO_MATCH\n end\n return device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n matches = @mutex.synchronize do\n @devices.map do |__arg4|\n device_id = __arg4[0]\n device = __arg4[1]\n device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"update_value(device_id:UInt32,instance_id:UInt32,object_type:ObjectType)-instance-method","name":"update_value","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","args_html":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","location":{"filename":"src/ashrae/bacnet.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L264"},"def":{"name":"update_value","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"obj = get_object_details(device_id, instance_id, object_type)\nname = object_binding(device_id, obj)\nqueue(name: name, priority: 50) do |task|\n spawn_action(task) do\n obj.sync_value(bacnet_client)\n self[name] = object_value(obj)\n end\nend\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L29"},"def":{"name":"websocket_headers","visibility":"Public","body":"dispatcher_key = setting?(String, :dispatcher_key)\nHTTP::Headers {\"Authorization\" => \"Bearer #{dispatcher_key}\", \"X-Module-ID\" => module_id}\n"}},{"html_id":"write_binary(device_id:UInt32,instance_id:UInt32,value:Bool,object_type:ObjectType=ObjectType::BinaryValue)-instance-method","name":"write_binary","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L371"},"def":{"name":"write_binary","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"val = value ? 1 : 0\nobject = get_object_details(device_id, instance_id, object_type)\nval = ::BACnet::Object.new.set_value(val)\nval.short_tag = 9_u8\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, val, network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_double(device_id:UInt32,instance_id:UInt32,value:Float64,object_type:ObjectType=ObjectType::LargeAnalogValue)-instance-method","name":"write_double","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L299"},"def":{"name":"write_double","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_real(device_id:UInt32,instance_id:UInt32,value:Float32,object_type:ObjectType=ObjectType::AnalogValue)-instance-method","name":"write_real","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L281"},"def":{"name":"write_real","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_signed_int(device_id:UInt32,instance_id:UInt32,value:Int64,object_type:ObjectType=ObjectType::IntegerValue)-instance-method","name":"write_signed_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L335"},"def":{"name":"write_signed_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_string(device_id:UInt32,instance_id:UInt32,value:String,object_type:ObjectType=ObjectType::CharacterStringValue)-instance-method","name":"write_string","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L353"},"def":{"name":"write_string","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_unsigned_int(device_id:UInt32,instance_id:UInt32,value:UInt64,object_type:ObjectType=ObjectType::PositiveIntegerValue)-instance-method","name":"write_unsigned_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L317"},"def":{"name":"write_unsigned_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}}],"types":[{"html_id":"drivers/Ashrae/BACnet/DeviceInfo","path":"Ashrae/BACnet/DeviceInfo.html","kind":"alias","full_name":"Ashrae::BACnet::DeviceInfo","name":"DeviceInfo","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::Client::DeviceRegistry::DeviceInfo","aliased_html":"BACnet::Client::DeviceRegistry::DeviceInfo","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}},{"html_id":"drivers/Ashrae/BACnet/ObjectType","path":"Ashrae/BACnet/ObjectType.html","kind":"alias","full_name":"Ashrae::BACnet::ObjectType","name":"ObjectType","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L262"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::ObjectIdentifier::ObjectType","aliased_html":"BACnet::ObjectIdentifier::ObjectType","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}}]},{"html_id":"drivers/Ashrae/BACnetDataPoints","path":"Ashrae/BACnetDataPoints.html","kind":"class","full_name":"Ashrae::BACnetDataPoints","name":"BACnetDataPoints","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\npoints = setting(Hash(String, String), :points)\npoints.each do |__arg0|\n key = __arg0[0]\n status = __arg0[1]\n bacnet.subscribe(status) do |_sub, payload|\n self[key] = JSON.parse(payload)\n end\nend\n"}}]},{"html_id":"drivers/Ashrae/DeviceAddress","path":"Ashrae/DeviceAddress.html","kind":"class","full_name":"Ashrae::DeviceAddress","name":"DeviceAddress","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"constructors":[{"html_id":"new(ip:String,id:UInt32|Nil,net:UInt16|Nil,addr:Nil|String)-class-method","name":"new","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"args_string":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","args_html":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L8"},"def":{"name":"new","args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ip, id, net, addr)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"addr:String|Nil-instance-method","name":"addr","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L14"},"def":{"name":"addr","return_type":"String | ::Nil","visibility":"Public","body":"@addr"}},{"html_id":"address-instance-method","name":"address","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L16"},"def":{"name":"address","visibility":"Public","body":"Socket::IPAddress.new(@ip, 47808)"}},{"html_id":"id:UInt32|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L12"},"def":{"name":"id","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"identifier-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L20"},"def":{"name":"identifier","visibility":"Public","body":"::BACnet::ObjectIdentifier.new(:device, @id.not_nil!)"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L11"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"net:UInt16|Nil-instance-method","name":"net","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L13"},"def":{"name":"net","return_type":"UInt16 | ::Nil","visibility":"Public","body":"@net"}}]},{"html_id":"drivers/Ashrae/DispatchProtocol","path":"Ashrae/DispatchProtocol.html","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Ashrae::DispatchProtocol]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: message, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: MessageType}, {type: \"string\", name: ip_address, cls: String, onlyif: nil, verify: nil, length: nil, value: nil, encoding: nil}, {type: \"basic\", name: id_or_port, cls: UInt64, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: data_size, cls: UInt32, onlyif: nil, verify: nil, value: -> do\n data.size\nend}, {type: \"bytes\", name: data, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n data_size\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L26"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Bytes)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data_size:UInt32-instance-method","name":"data_size","abstract":false,"def":{"name":"data_size","return_type":"UInt32","visibility":"Public","body":"@data_size"}},{"html_id":"data_size=(data_size:UInt32)-instance-method","name":"data_size=","abstract":false,"args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"args_string":"(data_size : UInt32)","args_html":"(data_size : UInt32)","def":{"name":"data_size=","args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"visibility":"Public","body":"@data_size = data_size"}},{"html_id":"id_or_port:UInt64-instance-method","name":"id_or_port","abstract":false,"def":{"name":"id_or_port","return_type":"UInt64","visibility":"Public","body":"@id_or_port"}},{"html_id":"id_or_port=(id_or_port:UInt64)-instance-method","name":"id_or_port=","abstract":false,"args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"args_string":"(id_or_port : UInt64)","args_html":"(id_or_port : UInt64)","def":{"name":"id_or_port=","args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"visibility":"Public","body":"@id_or_port = id_or_port"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"message:MessageType-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"MessageType","visibility":"Public","body":"@message"}},{"html_id":"message=(message:MessageType)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"args_string":"(message : MessageType)","args_html":"(message : MessageType)","def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"visibility":"Public","body":"@message = message"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}}],"types":[{"html_id":"drivers/Ashrae/DispatchProtocol/MessageType","path":"Ashrae/DispatchProtocol/MessageType.html","kind":"enum","full_name":"Ashrae::DispatchProtocol::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L28"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"OPENED","name":"OPENED","value":"0"},{"id":"CLOSED","name":"CLOSED","value":"1"},{"id":"RECEIVED","name":"RECEIVED","value":"2"},{"id":"WRITE","name":"WRITE","value":"3"},{"id":"CLOSE","name":"CLOSE","value":"4"}],"namespace":{"html_id":"drivers/Ashrae/DispatchProtocol","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol"},"instance_methods":[{"html_id":"close?-instance-method","name":"close?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L33"},"def":{"name":"close?","visibility":"Public","body":"self == CLOSE"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L30"},"def":{"name":"closed?","visibility":"Public","body":"self == CLOSED"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L29"},"def":{"name":"opened?","visibility":"Public","body":"self == OPENED"}},{"html_id":"received?-instance-method","name":"received?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L31"},"def":{"name":"received?","visibility":"Public","body":"self == RECEIVED"}},{"html_id":"write?-instance-method","name":"write?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L32"},"def":{"name":"write?","visibility":"Public","body":"self == WRITE"}}]}]}]},{"html_id":"drivers/Aver","path":"Aver.html","kind":"module","full_name":"Aver","name":"Aver","abstract":false,"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Aver/Auth","path":"Aver/Auth.html","kind":"struct","full_name":"Aver::Auth","name":"Auth","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L14"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/Aver/AxisSelect","path":"Aver/AxisSelect.html","kind":"enum","full_name":"Aver::AxisSelect","name":"AxisSelect","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pan","name":"Pan","value":"0"},{"id":"Tilt","name":"Tilt","value":"1"},{"id":"Zoom","name":"Zoom","value":"2"},{"id":"Focus","name":"Focus","value":"3"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L8"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L5"},"def":{"name":"pan?","visibility":"Public","body":"self == Pan"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L6"},"def":{"name":"tilt?","visibility":"Public","body":"self == Tilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L7"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Aver/Cam520Pro","path":"Aver/Cam520Pro.html","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"send(\"token:#{authenticate}\")\nschedule.clear\nschedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.minutes) do\n keep_alive\nend\npan?\ntilt?\nzoom?\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L67"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L129"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\nif pan_speed.abs >= tilt_speed.abs\n axis = AxisSelect::Pan\n stop = AxisSelect::Tilt\n dir = pan_speed >= 0.0 ? 0 : 1\n cmd = pan_speed.zero? ? 2 : 1\nelse\n stop = AxisSelect::Pan\n axis = AxisSelect::Tilt\n dir = tilt_speed >= 0.0 ? 0 : 1\n cmd = tilt_speed.zero? ? 2 : 1\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: stop.to_i, dir: dir, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: axis.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L95"},"def":{"name":"keep_alive","visibility":"Public","body":"send(\"alive\")"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L289"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\ntransport.before_request do |request|\n logger.debug do\n \"performing request: #{request.method} #{request.path}\\n#{String.new((request.body.as(IO::Memory)).to_slice)}\"\n end\n if request.path != \"/login_name\"\n bearer = bearer_token.presence || authenticate\n request.headers[\"Authorization\"] = \"Bearer #{bearer}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\nif @username != \"spec\"\n device_host = URI.parse(config.uri.not_nil!)\n device_host.port = nil\n transport.http_uri_override = device_host\nend\n@zoom_max = setting(Int32, :zoom_max)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L216"},"def":{"name":"pan?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_p_s\"}.to_json)\n@pan_pos = parse(response, Int32)\n"}},{"html_id":"pan_direct(position:Int32)-instance-method","name":"pan_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L196"},"def":{"name":"pan_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_p\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"pan_pos:Int32-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L99"},"def":{"name":"pan_pos","return_type":"Int32","visibility":"Public","body":"@pan_pos"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"dummy interface as no power command, camera is always on","summary":"

dummy interface as no power command, camera is always on

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/aver/cam520_pro.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L347"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L170"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n zoom_native(zoom_pos)\n pan_direct(pan_pos)\n tilt_direct(tilt_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task):Nil-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task) : Nil","args_html":"(data, task) : Nil","location":{"filename":"src/aver/cam520_pro.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L103"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"return_type":"Nil","visibility":"Public","body":"begin\n data = String.new(data)\n logger.debug do\n \"Camera sent: #{data}\"\n end\n payload = (Event.from_json(data)).data\n case payload\n in Option\n value = payload.value.to_i\n case payload.option\n in .ptz_ps?\n @pan_pos = value\n in .ptz_ts?\n @tilt_pos = value\n in .ptz_zs?\n @zoom_pos = value\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n end\n in Event\n raise(\"not possible\")\n end\nensure\n task.try(&.success)\nend"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L186"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L181"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/aver/cam520_pro.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L310"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"spawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Tilt.to_i, dir: 0, cmd: 2}.to_json)\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Pan.to_i, dir: 0, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: 0, cmd: 2}.to_json)\nparse(response, Nil)\n"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L225"},"def":{"name":"tilt?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_t_s\"}.to_json)\n@tilt_pos = parse(response, Int32)\n"}},{"html_id":"tilt_direct(position:Int32)-instance-method","name":"tilt_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L206"},"def":{"name":"tilt_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_t\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"tilt_pos:Int32-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L100"},"def":{"name":"tilt_pos","return_type":"Int32","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L243"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .stop?\n dir = 0\n cmd = 2\nin .out?\n dir = 1\n cmd = 1\nin .in?\n dir = 0\n cmd = 1\nend\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L276"},"def":{"name":"zoom?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_z_s\"}.to_json)\n@zoom_pos = value = parse(response, Int32)\nself[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n"}},{"html_id":"zoom_native(position:Int32)-instance-method","name":"zoom_native","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L266"},"def":{"name":"zoom_native","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_z\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"zoom_pos:Int32-instance-method","name":"zoom_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L101"},"def":{"name":"zoom_pos","return_type":"Int32","visibility":"Public","body":"@zoom_pos"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L237"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_native((percentage * @zoom_max.to_f).to_i)\n"}}],"macros":[{"html_id":"parse(response,klass=::Union(Nil,::Nil))-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"args_string":"(response, klass = ::Union(Nil, ::Nil))","args_html":"(response, klass = ::Union(Nil, ::Nil))","location":{"filename":"src/aver/cam520_pro.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L79"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"visibility":"Public","body":" check_success(\n{{ response }}\n)\n HttpResponse(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!).data\n \n"}}],"types":[{"html_id":"drivers/Aver/Cam520Pro/Presets","path":"Aver/Cam520Pro/Presets.html","kind":"alias","full_name":"Aver::Cam520Pro::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L167"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(Int32, Int32, Int32))","aliased_html":"Hash(String, {Int32, Int32, Int32})","const":false,"namespace":{"html_id":"drivers/Aver/Cam520Pro","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro"}}]},{"html_id":"drivers/Aver/Event","path":"Aver/Event.html","kind":"struct","full_name":"Aver::Event","name":"Event","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Aver/EventOption","kind":"struct","full_name":"Aver::EventOption","name":"EventOption"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"event\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'event' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'event'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"option\"\n EventOption.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'event' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L28"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]},{"html_id":"drivers/Aver/EventOption","path":"Aver/EventOption.html","kind":"struct","full_name":"Aver::EventOption","name":"EventOption","abstract":false,"superclass":{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Option-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L51"},"def":{"name":"data","return_type":"Option","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Aver/HttpResponse","path":"Aver/HttpResponse.html","kind":"struct","full_name":"Aver::HttpResponse(Data)","name":"HttpResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L20"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L22"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"msg:String-instance-method","name":"msg","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L21"},"def":{"name":"msg","return_type":"String","visibility":"Public","body":"@msg"}}]},{"html_id":"drivers/Aver/Option","path":"Aver/Option.html","kind":"struct","full_name":"Aver::Option","name":"Option","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"option:OptionType-instance-method","name":"option","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L44"},"def":{"name":"option","return_type":"OptionType","visibility":"Public","body":"@option"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L45"},"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Aver/OptionType","path":"Aver/OptionType.html","kind":"enum","full_name":"Aver::OptionType","name":"OptionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PtzPS","name":"PtzPS","value":"0"},{"id":"PtzTS","name":"PtzTS","value":"1"},{"id":"PtzZS","name":"PtzZS","value":"2"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"ptz_ps?-instance-method","name":"ptz_ps?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L36"},"def":{"name":"ptz_ps?","visibility":"Public","body":"self == PtzPS"}},{"html_id":"ptz_ts?-instance-method","name":"ptz_ts?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L37"},"def":{"name":"ptz_ts?","visibility":"Public","body":"self == PtzTS"}},{"html_id":"ptz_zs?-instance-method","name":"ptz_zs?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L38"},"def":{"name":"ptz_zs?","visibility":"Public","body":"self == PtzZS"}}]}]},{"html_id":"drivers/AWS","path":"AWS.html","kind":"module","full_name":"AWS","name":"AWS","abstract":false,"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AWS/SnsSms","path":"AWS/SnsSms.html","kind":"class","full_name":"AWS::SnsSms","name":"SnsSms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/AWS","kind":"module","full_name":"AWS","name":"AWS"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"access_key = setting(String, :aws_access_key)\nsecret = setting(String, :aws_secret)\nuri_parts = (URI.parse(config.uri.not_nil!)).host.not_nil!.split('.')\nservice = uri_parts[0]\nregion = uri_parts[1]\n@signer = Awscr::Signer::Signers::V4.new(service, region, access_key, secret)\ntransport.before_request do |request|\n signer.sign(request)\nend\n"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/aws/sns_sms.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L40"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponses = phone_numbers.map do |number|\n params = URI::Params.build do |form|\n form.add(\"Action\", \"Publish\")\n form.add(\"PhoneNumber\", number)\n form.add(\"Message\", message)\n if source\n if source =~ (/^\\+?\\d{5,14}$/)\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.MM.SMS.OriginationNumber\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source)\n else\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.SNS.SMS.SenderID\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source.gsub(' ', '-'))\n end\n end\n end\n post(\"/?#{params}\", headers: HTTP::Headers {\"Accept\" => \"application/json\"})\nend\nresponses.each do |response|\n if response.success?\n else\n raise(\"request failed with #{response.status_code}: #{response.body}\")\n end\nend\nnil\n"}},{"html_id":"signer:Awscr::Signer::Signers::V4-instance-method","name":"signer","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L25"},"def":{"name":"signer","return_type":"Awscr::Signer::Signers::V4","visibility":"Public","body":"if (value = @signer).nil?\n ::raise(NilAssertionError.new(\"AWS::SnsSms#signer cannot be nil\"))\nelse\n value\nend"}},{"html_id":"signer?:Awscr::Signer::Signers::V4|Nil-instance-method","name":"signer?","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L25"},"def":{"name":"signer?","return_type":"Awscr::Signer::Signers::V4 | ::Nil","visibility":"Public","body":"@signer"}}]}]},{"html_id":"drivers/Biamp","path":"Biamp.html","kind":"module","full_name":"Biamp","name":"Biamp","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L3"},{"filename":"src/biamp/tesira.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Biamp/Nexia","path":"Biamp/Nexia.html","kind":"class","full_name":"Biamp::Nexia","name":"Nexia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/nexia.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L19"},"def":{"name":"connected","visibility":"Public","body":"send(Bytes[255, 254, 1], wait: false)\nschedule.every(60.seconds, true) do\n query_device_id\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(id:Int32,level:Float64|Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L78"},"def":{"name":"fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = get_range(type)\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = level_actual + range.begin.to_f\nsend(Command[:SETD, device_id, type.mapped_value, id, index, level_actual], name: \"fader_#{id}\")\n"}},{"html_id":"mixer(id:Int32,inouts:Hash(Int32,Array(Int32))|Array(Int32),mute:Bool=false,type:Mixer=Mixer::Matrix)-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"args_string":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","args_html":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","location":{"filename":"src/biamp/nexia.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L44"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"visibility":"Public","body":"value = mute ? 0 : 1\nif inouts.is_a?(Hash)\n inouts.each do |input, outputs|\n outputs.each do |output|\n send(Command[:SET, device_id, type.mapped_value, id, input, output, value])\n end\n end\nelse\n inouts.each do |input|\n send(Command[:SET, device_id, Mixer::Auto.mapped_value, id, input, value])\n end\nend\n"}},{"html_id":"mute(id:Int32,state:Bool=true,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L106"},"def":{"name":"mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"value = state ? 1 : 0\nsend(Command[:SETD, device_id, type.mapped_value, id, index, value], name: \"mute_#{id}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 30.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\", \"\\xFF\\xFE\\u0001\")\n"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/biamp/nexia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L34"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"send(Command[:RECALL, 0, \"PRESET\", number], name: \"preset_#{number}\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L30"},"def":{"name":"query_device_id","visibility":"Public","body":"send(Command[:GETD, 0, \"DEVID\"])"}},{"html_id":"query_fader(id:Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"query_fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L90"},"def":{"name":"query_fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"query_mute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L115"},"def":{"name":"query_mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/nexia.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L119"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"case response = Response.parse(data)\nin Response::FullPath\n logger.debug do\n \"Device responded #{response.message}\"\n end\n result = process_full_path_response(response)\n task.try(&.success(result))\nin Response::OK\n logger.info do\n \"OK\"\n end\n task.try(&.success)\nin Response::Error\n logger.warn do\n \"Device error: #{data}\"\n end\n task.try(&.abort(response.message))\nin Response::Invalid\n logger.error do\n \"Invalid response structure\"\n end\n task.try(&.abort(response.data))\nend"}},{"html_id":"unmute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"unmute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L111"},"def":{"name":"unmute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"mute(id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Nexia/Faders","path":"Biamp/Nexia/Faders.html","kind":"enum","full_name":"Biamp::Nexia::Faders","name":"Faders","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"MatrixCrosspoint","name":"MatrixCrosspoint","value":"3"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"4"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"5"},{"id":"AutoIn","name":"AutoIn","value":"6"},{"id":"AutoOut","name":"AutoOut","value":"7"},{"id":"IoIn","name":"IoIn","value":"8"},{"id":"IoOut","name":"IoOut","value":"9"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_crosspoint?-instance-method","name":"matrix_crosspoint?","abstract":false,"def":{"name":"matrix_crosspoint?","visibility":"Public","body":"self == MatrixCrosspoint"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mixer","path":"Biamp/Nexia/Mixer.html","kind":"enum","full_name":"Biamp::Nexia::Mixer","name":"Mixer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Matrix","name":"Matrix","value":"0"},{"id":"Standard","name":"Standard","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"matrix?-instance-method","name":"matrix?","abstract":false,"def":{"name":"matrix?","visibility":"Public","body":"self == Matrix"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mutes","path":"Biamp/Nexia/Mutes.html","kind":"enum","full_name":"Biamp::Nexia::Mutes","name":"Mutes","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"AutoIn","name":"AutoIn","value":"3"},{"id":"AutoOut","name":"AutoOut","value":"4"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"5"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"6"},{"id":"IoIn","name":"IoIn","value":"7"},{"id":"IoOut","name":"IoOut","value":"8"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]}]},{"html_id":"drivers/Biamp/NTP","path":"Biamp/NTP.html","kind":"module","full_name":"Biamp::NTP","name":"NTP","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"doc":"Biamp ATP/NTP protocol utilities.\nhttps://support.biamp.com/Audia-Nexia/Control/Audia-Nexia_Text_Protocol","summary":"

Biamp ATP/NTP protocol utilities.

","types":[{"html_id":"drivers/Biamp/NTP/Command","path":"Biamp/NTP/Command.html","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"constructors":[{"html_id":"new(type:Type,device:Int32,attribute:String,instance:Int32|Nil=nil,index_1:Int32|Nil=nil,index_2:Int32|Nil=nil,value:String|Int32|Float64|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"args_string":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","args_html":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, device, attribute, instance, index_1, index_2, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@type.clone, @device.clone, @attribute.clone, @instance.clone, @index_1.clone, @index_2.clone, @value.clone)"}},{"html_id":"copy_with(type_type=@type,device_device=@device,attribute_attribute=@attribute,instance_instance=@instance,index_1_index_1=@index_1,index_2_index_2=@index_2,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","args_html":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"copy_with","args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_type, _device, _attribute, _instance, _index_1, _index_2, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"index_1:Int32|Nil-instance-method","name":"index_1","abstract":false,"def":{"name":"index_1","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_1"}},{"html_id":"index_2:Int32|Nil-instance-method","name":"index_2","abstract":false,"def":{"name":"index_2","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_2"}},{"html_id":"instance:Int32|Nil-instance-method","name":"instance","abstract":false,"def":{"name":"instance","return_type":"Int32 | ::Nil","visibility":"Public","body":"@instance"}},{"html_id":"to_io(io:IO,format=nil)-instance-method","name":"to_io","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"args_string":"(io : IO, format = nil)","args_html":"(io : IO, format = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L33"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"visibility":"Public","body":"io << type\n{device, attribute, instance, index_1, index_2, value}.each do |field|\n if field.nil?\n next\n end\n (io << ' ') << field\nend\nio << '\\n'\n"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"value:String|Int32|Float64|Nil-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String | Int32 | Float64 | Nil","visibility":"Public","body":"@value"}}],"macros":[{"html_id":"[](type,*params)-macro","name":"[]","abstract":false,"args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"args_string":"(type, *params)","args_html":"(type, *params)","location":{"filename":"src/biamp/ntp.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L12"},"def":{"name":"[]","args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"splat_index":1,"visibility":"Public","body":" \n{% if (type == (:GET)) || (type == (:GETD)) %}\n {{ @type.name }}.new({{ type }}, {{ params.splat }})\n {% else %}\n {{ @type.name }}.new({{ type }}, {{ params[0...-1].splat }}, value: {{ params[-1] }})\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Biamp/NTP/Command/Type","path":"Biamp/NTP/Command/Type.html","kind":"enum","full_name":"Biamp::NTP::Command::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L19"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SET","name":"SET","value":"0"},{"id":"SETD","name":"SETD","value":"1"},{"id":"GET","name":"GET","value":"2"},{"id":"GETD","name":"GETD","value":"3"},{"id":"INC","name":"INC","value":"4"},{"id":"INCD","name":"INCD","value":"5"},{"id":"DEC","name":"DEC","value":"6"},{"id":"DECD","name":"DECD","value":"7"},{"id":"RECALL","name":"RECALL","value":"8"},{"id":"DIAL","name":"DIAL","value":"9"}],"namespace":{"html_id":"drivers/Biamp/NTP/Command","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command"},"instance_methods":[{"html_id":"dec?-instance-method","name":"dec?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L27"},"def":{"name":"dec?","visibility":"Public","body":"self == DEC"}},{"html_id":"decd?-instance-method","name":"decd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L28"},"def":{"name":"decd?","visibility":"Public","body":"self == DECD"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L30"},"def":{"name":"dial?","visibility":"Public","body":"self == DIAL"}},{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L23"},"def":{"name":"get?","visibility":"Public","body":"self == GET"}},{"html_id":"getd?-instance-method","name":"getd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L24"},"def":{"name":"getd?","visibility":"Public","body":"self == GETD"}},{"html_id":"inc?-instance-method","name":"inc?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L25"},"def":{"name":"inc?","visibility":"Public","body":"self == INC"}},{"html_id":"incd?-instance-method","name":"incd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L26"},"def":{"name":"incd?","visibility":"Public","body":"self == INCD"}},{"html_id":"recall?-instance-method","name":"recall?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L29"},"def":{"name":"recall?","visibility":"Public","body":"self == RECALL"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L21"},"def":{"name":"set?","visibility":"Public","body":"self == SET"}},{"html_id":"setd?-instance-method","name":"setd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L22"},"def":{"name":"setd?","visibility":"Public","body":"self == SETD"}}]}]},{"html_id":"drivers/Biamp/NTP/Response","path":"Biamp/NTP/Response.html","kind":"module","full_name":"Biamp::NTP::Response","name":"Response","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"class_methods":[{"html_id":"parse(data:Bytes)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L55"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"case data[0]\nwhen '#'\n response = String.new(data)\n if response.includes?(\" -ERR\")\n Error.new(response)\n else\n fields = response[1..].split\n type = Command::Type.parse(fields[0])\n device = fields[1].to_i\n attribute = fields[2]\n params = fields[3..]\n value = type.getd? ? fields[-1] : fields[-2]\n FullPath.new(response, type, device, attribute, params, value)\n end\nwhen '+'\n OK.new\nwhen '-'\n Error.new(String.new(data))\nelse\n Invalid.new(data)\nend"}}],"types":[{"html_id":"drivers/Biamp/NTP/Response/Error","path":"Biamp/NTP/Response/Error.html","kind":"struct","full_name":"Biamp::NTP::Response::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone)"}},{"html_id":"copy_with(message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(message _message = @message)","args_html":"(message _message = @message)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_message)"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Biamp/NTP/Response/FullPath","path":"Biamp/NTP/Response/FullPath.html","kind":"struct","full_name":"Biamp::NTP::Response::FullPath","name":"FullPath","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String,type:Command::Type,device:Int32,attribute:String,params:Array(String),value:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","args_html":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message, type, device, attribute, params, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone, @type.clone, @device.clone, @attribute.clone, @params.clone, @value.clone)"}},{"html_id":"copy_with(message_message=@message,type_type=@type,device_device=@device,attribute_attribute=@attribute,params_params=@params,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","args_html":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_message, _type, _device, _attribute, _params, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)-instance-method","name":"params","abstract":false,"def":{"name":"params","return_type":"Array(String)","visibility":"Public","body":"@params"}},{"html_id":"type:Command::Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Command::Type","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Biamp/NTP/Response/Invalid","path":"Biamp/NTP/Response/Invalid.html","kind":"struct","full_name":"Biamp::NTP::Response::Invalid","name":"Invalid","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(data:Bytes)-class-method","name":"new","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"new","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"_ = allocate\n_.initialize(data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@data.clone)"}},{"html_id":"copy_with(data_data=@data)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"args_string":"(data _data = @data)","args_html":"(data _data = @data)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"copy_with","args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"visibility":"Public","body":"self.class.new(_data)"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Biamp/NTP/Response/OK","path":"Biamp/NTP/Response/OK.html","kind":"struct","full_name":"Biamp::NTP::Response::OK","name":"OK","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"clone","visibility":"Public","body":"self.class.new()"}},{"html_id":"copy_with-instance-method","name":"copy_with","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"copy_with","visibility":"Public","body":"self.class.new()"}}]}]}]},{"html_id":"drivers/Biamp/Tesira","path":"Biamp/Tesira.html","kind":"class","full_name":"Biamp::Tesira","name":"Tesira","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/tesira.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"FADERS","name":"FADERS","value":"{\"fader\" => \"level\", \"matrix_in\" => \"inputLevel\", \"matrix_out\" => \"outputLevel\", \"matrix_crosspoint\" => \"crosspointLevel\", \"level\" => \"fader\", \"inputLevel\" => \"matrix_in\", \"outputLevel\" => \"matrix_out\", \"crosspointLevel\" => \"matrix_crosspoint\"}"},{"id":"MIXERS","name":"MIXERS","value":"{\"matrix\" => \"crosspointLevelState\", \"mixer\" => \"crosspoint\"}"},{"id":"MUTES","name":"MUTES","value":"{\"fader\" => \"mute\", \"matrix_in\" => \"inputMute\", \"matrix_out\" => \"outputMute\", \"mute\" => \"fader\", \"inputMute\" => \"matrix_in\", \"outputMute\" => \"matrix_out\"}"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"@telnet = telnet = Telnet.new do |telnet_response|\n transport.send(telnet_response)\nend\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\nif setting(Bool, :no_password)\n do_send((setting(String, :username)) || \"admin\", wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\nend\ndo_send(\"SESSION set verbose false\", priority: 96)\nschedule.clear\nschedule.every(60.seconds) do\n do_send(\"DEVICE get serialNumber\", priority: 95)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"transport.tokenizer = nil\nschedule.clear\n"}},{"html_id":"fader(fader_id:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L103"},"def":{"name":"fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader_type = FADERS[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, fader_type, i, level), priority: 30, name: \"fade_#{fad}_#{i}\")\n self[\"#{fader_type}_#{fad}_#{i}\"] = level\n end\nend\n"}},{"html_id":"faders(ids:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L118"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader(ids, level, index, type)"}},{"html_id":"get_aliases-instance-method","name":"get_aliases","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L66"},"def":{"name":"get_aliases","visibility":"Public","body":"do_send(\"SESSION get aliases\")"}},{"html_id":"mixer(id:String,inouts:Hash(Int32,Int32|Array(Int32))|Array(Int32),mute:Bool=false,type:String=\"matrix\")-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"args_string":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = \"matrix\")","args_html":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = "matrix")","location":{"filename":"src/biamp/tesira.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L75"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mixer_type = MIXERS[type] || type\nif inouts.is_a?(Hash)\n inouts.each do |input, outs|\n outputs = ensure_array(outs)\n outputs.each do |output|\n do_send(build(id, :set, mixer_type, input, output, mute), priority: 30, name: \"mixmute_#{input}_#{output}\")\n end\n end\nelse\n inouts.each do |input|\n do_send(build(id, :set, mixer_type, input, mute), priority: 30, name: \"mixmute_#{input}\")\n end\nend\n"}},{"html_id":"mute(fader_id:Ids,value:Bool=true,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L131"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, mute_type, i, value), priority: 30, name: \"mute_#{fad}_#{i}\")\n self[\"#{mute_type}_#{fad}_#{i}_mute\"] = value\n end\nend\n"}},{"html_id":"mutes(ids:Ids,muted:Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L145"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(ids, muted, index, type)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 30.milliseconds\n"}},{"html_id":"preset(number_or_name:String|Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"args_string":"(number_or_name : String | Int32)","args_html":"(number_or_name : String | Int32)","location":{"filename":"src/biamp/tesira.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L50"},"def":{"name":"preset","args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"visibility":"Public","body":"if number_or_name.is_a?(Int32)\n do_send(\"DEVICE recallPreset #{number_or_name}\", priority: 30, name: \"preset_#{number_or_name}\")\nelse\n do_send(build(:DEVICE, :recallPresetByName, number_or_name), priority: 30, name: \"preset_#{number_or_name}\")\nend"}},{"html_id":"query_fader(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L153"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fad_type = FADERS[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, fad_type, index))\n"}},{"html_id":"query_faders(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L162"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(ids, index, type)"}},{"html_id":"query_mute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L166"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, mute_type, index))\n"}},{"html_id":"query_mutes(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L175"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_mute(ids, index, type)"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L62"},"def":{"name":"reboot","visibility":"Public","body":"do_send(\"DEVICE reboot\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/tesira.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L179"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Tesira responded -> data: #{data}\"\nend\nresult = data.split(\" \")\nif result[0] == \"-\"\n task.try(&.abort)\nend\nif data =~ (/login:|server/i)\n transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nend\ntask.try(&.success)\n"}},{"html_id":"start_audio-instance-method","name":"start_audio","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L58"},"def":{"name":"start_audio","visibility":"Public","body":"do_send(\"DEVICE startAudio\")"}},{"html_id":"unmute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L149"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(fader_id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Tesira/Ids","path":"Biamp/Tesira/Ids.html","kind":"alias","full_name":"Biamp::Tesira::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}},{"html_id":"drivers/Biamp/Tesira/Num","path":"Biamp/Tesira/Num.html","kind":"alias","full_name":"Biamp::Tesira::Num","name":"Num","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}}]}]},{"html_id":"drivers/Bose","path":"Bose.html","kind":"module","full_name":"Bose","name":"Bose","abstract":false,"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Bose/ControlSpaceSerial","path":"Bose/ControlSpaceSerial.html","kind":"class","full_name":"Bose::ControlSpaceSerial","name":"ControlSpaceSerial","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Bose","kind":"module","full_name":"Bose","name":"Bose"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L20"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n do_send(\"GS\", priority: 99)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L27"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_parameter_group-instance-method","name":"get_parameter_group","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L41"},"def":{"name":"get_parameter_group","visibility":"Public","body":"do_send(\"GS\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[13])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L17"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/bose/control_space_serial.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L45"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).rchop\nlogger.debug do\n \"ControlSpace sent: #{data}\"\nend\nparts = data.split(\" \")\ncase parts[0]\nwhen \"S\"\n self[:parameter_group] = parts[1].to_i(16)\nend\ntask.try(&.success)\n"}},{"html_id":"set_parameter_group(id:UInt8)-instance-method","name":"set_parameter_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"args_string":"(id : UInt8)","args_html":"(id : UInt8)","location":{"filename":"src/bose/control_space_serial.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L36"},"def":{"name":"set_parameter_group","args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"visibility":"Public","body":"(do_send(\"SS #{(id.to_s(16)).upcase}\", wait: false, name: \"set_pgroup\")).get\nself[:parameter_group] = id\n"}}]}]},{"html_id":"drivers/Cisco","path":"Cisco.html","kind":"module","full_name":"Cisco","name":"Cisco","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L4"},{"filename":"src/cisco/webex/api/messages.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L1"},{"filename":"src/cisco/webex/api/people.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L1"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L1"},{"filename":"src/cisco/webex/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L1"},{"filename":"src/cisco/webex/command.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L1"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L1"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L1"},{"filename":"src/cisco/webex/constants.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L1"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L1"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L1"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L1"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L1"},{"filename":"src/cisco/webex/models/device.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L1"},{"filename":"src/cisco/webex/models/event.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L1"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L1"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L1"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L1"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L1"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L1"},{"filename":"src/cisco/webex/models/message.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L1"},{"filename":"src/cisco/webex/models/peek.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L1"},{"filename":"src/cisco/webex/models/person.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L1"},{"filename":"src/cisco/webex/models/room.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L1"},{"filename":"src/cisco/webex/session.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L1"},{"filename":"src/cisco/webex/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L1"},{"filename":"src/cisco/webex/utils.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint","path":"Cisco/CollaborationEndpoint.html","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"bind_feedback(path:String,status_key:String)-instance-method","name":"bind_feedback","doc":"Bind arbitary device feedback to a status variable.","summary":"

Bind arbitary device feedback to a status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L425"},"def":{"name":"bind_feedback","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"register_feedback(path) do |value_path, value|\n if value_path == path\n self[status_key] = value\n else\n key_path = value_path.sub(path, \"\")\n hash = @status_keys[status_key]\n hash[key_path] = value\n self[status_key] = hash\n end\nend"}},{"html_id":"bind_status(path:String,status_key:String)-instance-method","name":"bind_status","doc":"Bind device status to a module status variable.","summary":"

Bind device status to a module status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":439,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L439"},"def":{"name":"bind_status","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"bind_path = \"Status/#{path.tr(\" \", \"/\")}\"\nbind_feedback(\"/#{bind_path}\", status_key)\npayload = xstatus(path)\nif (payload.size == 1) && (payload.has_key?(bind_path))\n self[status_key] = payload[bind_path]\nelse\n self[status_key] = @status_keys[status_key] = payload.transform_keys do |key|\n key.sub(path, \"\")\n end\nend\npayload\n"}},{"html_id":"clear_event(path:String)-instance-method","name":"clear_event","doc":"Clear external event subscribtions for a specific device path.","summary":"

Clear external event subscribtions for a specific device path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L481"},"def":{"name":"clear_event","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Clearing event subscription for #{path}\"\nend\nunregister_feedback(path)\n"}},{"html_id":"clear_feedback_subscriptions(connected:Bool=true)-instance-method","name":"clear_feedback_subscriptions","abstract":false,"args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool = true)","args_html":"(connected : Bool = true)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L409"},"def":{"name":"clear_feedback_subscriptions","args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"Unsubscribing all feedback\"\nend\n@status_keys.clear\nfeedback.clear\n@feedback_paths.clear\nif connected\n do_send(XAPI.xfeedback(:deregister_all))\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L74"},"def":{"name":"connected","visibility":"Public","body":"reset_connection_flags\nschedule.every(2.minutes) do\n ensure_feedback_registered\nend\nschedule.every(30.seconds) do\n if @last_received > 40.seconds.ago.to_unix\n heartbeat(timeout: 35)\n else\n disconnect\n end\nend\nschedule.in(10.seconds) do\n if @ready || @init_called\n else\n init_connection\n end\n schedule.in(15.seconds) do\n if (!@ready) || self[\"configuration\"]?.nil?\n disconnect\n end\n end\nend\nbegin\n transport.send(\"xPreferences OutputMode JSON\\n\")\nrescue\nend\nqueue.clear(abort_current: true)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L95"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nreset_connection_flags\nclear_feedback_subscriptions(false)\nqueue.clear(abort_current: true)\nself[:ready] = false\n"}},{"html_id":"ensure_feedback_registered-instance-method","name":"ensure_feedback_registered","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L107"},"def":{"name":"ensure_feedback_registered","visibility":"Public","body":"send(\"xPreferences OutputMode JSON\\n\", priority: 0, wait: false, name: \"output_json\")\nresults = @feedback_paths.map do |path|\n request = XAPI.xfeedback(:register, path)\n do_send(request, priority: 0, name: path)\nend\nspawn(same_thread: true) do\n success = 0\n results.each do |task|\n begin\n if task.get.state.success?\n success = success + 1\n end\n rescue\n end\n end\n logger.debug do\n \"FEEDBACK REGISTERED #{success}\"\n end\n if success > 0\n else\n disconnect\n end\nend\n@feedback_paths.size\n"}},{"html_id":"feedback_paths:Array(String)-instance-method","name":"feedback_paths","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L34"},"def":{"name":"feedback_paths","return_type":"Array(String)","visibility":"Public","body":"@feedback_paths"}},{"html_id":"generate_request_uuid-instance-method","name":"generate_request_uuid","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L103"},"def":{"name":"generate_request_uuid","visibility":"Public","body":"UUID.random.to_s"}},{"html_id":"on_event(path:String,mod_id:String,channel:String)-instance-method","name":"on_event","doc":"Subscribe another module to async device events.\nCallback methods must be of arity 1 and public.","summary":"

Subscribe another module to async device events.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"args_string":"(path : String, mod_id : String, channel : String)","args_html":"(path : String, mod_id : String, channel : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L471"},"def":{"name":"on_event","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Registering callback for #{path} to #{mod_id}/#{channel}\"\nend\nregister_feedback(path) do |event_path, value|\n event_json = {event_path => value}.to_json\n logger.debug do\n \"Publishing #{path} event to #{mod_id}/#{channel} with payload #{event_json}\"\n end\n publish(\"#{mod_id}/#{channel}\", event_json)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 80.milliseconds\nqueue.timeout = 3.seconds\n@peripheral_id = setting?(String, :peripheral_id)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"if @ignore_update\n @ignore_update = false\n return\nend\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\ndisconnect\n"}},{"html_id":"peripheral_id:String-instance-method","name":"peripheral_id","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L20"},"def":{"name":"peripheral_id","return_type":"String","visibility":"Public","body":"if (value = @peripheral_id).nil?\n @peripheral_id = (begin\n uuid = generate_request_uuid\n @ignore_update = true\n define_setting(:peripheral_id, uuid)\n uuid\n end)\nelse\n value\nend"}},{"html_id":"push_config-instance-method","name":"push_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L455"},"def":{"name":"push_config","visibility":"Public","body":"if config = setting?(Config, :configuration)\n xconfigurations(config)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L332"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n @last_received = Time.utc.to_unix\n payload = String.new(data)\n logger.debug do\n \"<- #{payload}\"\n end\n if transport.tokenizer.nil? && (payload =~ XAPI::LOGIN_COMPLETE)\n queue.clear(abort_current: true)\n sleep(500.milliseconds)\n transport.send(\"xPreferences OutputMode JSON\\n\")\n logger.info do\n \"initializing connection\"\n end\n spawn(same_thread: true) do\n init_connection\n end\n return\n end\n response = XAPI.parse(payload)\n if task.nil?\n return feedback.notify(response)\n end\n if task.xapi_request_id == response[\"ResultId\"]?\n command_result = task.xapi_callback.try(&.call(response))\n if command_result.nil?\n feedback.notify(response)\n end\n command_result == (:abort) ? task.abort : task.success(command_result)\n else\n feedback.notify(response)\n end\nrescue error : JSON::ParseException\n payload = (String.new(data)).strip\n case payload\n when \"OK\"\n task.try(&.success(payload))\n when \"Command not recognized.\"\n logger.error do\n \"Command not recognized: `#{task.try(&.request_payload)}`\"\n end\n task.try(&.abort(payload))\n else\n logger.debug do\n \"Malformed device response: #{error}\\n#{payload}\"\n end\n task.try(&.abort(\"Malformed device response: #{error}\"))\n end\nend"}},{"html_id":"register_feedback(path:String,&update_handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"register_feedback","doc":"Subscribe to feedback from the device.","summary":"

Subscribe to feedback from the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L376"},"def":{"name":"register_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"update_handler","external_name":"update_handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"if !@ready\n if feedback.contains?(path)\n else\n @feedback_paths << path\n @feedback_paths.uniq!\n feedback.insert(path, &update_handler)\n end\n return true\nend\nlogger.debug do\n \"Subscribing to device feedback for #{path}\"\nend\nif feedback.contains?(path)\nelse\n @feedback_paths << path\n @feedback_paths.uniq!\n request = XAPI.xfeedback(:register, path)\n result = do_send(request, name: path)\nend\nfeedback.insert(path, &update_handler)\nresult.try(&.get) || true\n"}},{"html_id":"sync_config-instance-method","name":"sync_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L461"},"def":{"name":"sync_config","visibility":"Public","body":"bind_feedback(\"/Configuration\", \"configuration\")\nsend(\"xConfiguration *\\n\", wait: false)\n"}},{"html_id":"unregister_feedback(path:String)-instance-method","name":"unregister_feedback","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L401"},"def":{"name":"unregister_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"if path == \"/\"\n return clear_feedback_subscriptions\nend\nlogger.debug do\n \"Unsubscribing feedback for #{path}\"\nend\nfeedback.remove(path)\n@feedback_paths.delete(path)\ndo_send(XAPI.xfeedback(:deregister, path))\n"}},{"html_id":"xcommand(command:String,multiline_body:String|Nil=nil,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-instance-method","name":"xcommand","doc":"Execute an xCommand on the device.","summary":"

Execute an xCommand on the device.

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L140"},"def":{"name":"xcommand","args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"request = XAPI.xcommand(command, **kwargs.merge({hash_args: hash_args}))\nname = if kwargs.empty?\n command\nelse\n if kwargs.size == 1\n \"#{command} #{kwargs.keys.to_a.first}\"\n end\nend\npriority = kwargs[:priority]? || queue.priority\ndo_send(request, multiline_body, name: name, priority: priority) do |response|\n result_key = (((command.split(' ')).last(2)).join(\"\")) + \"Result\"\n command_result = response[\"CommandResponse/#{result_key}/status\"]?\n failure_result = response[\"CommandResponse/Result/Reason\"]?\n result = command_result || failure_result\n if result\n if result == \"OK\"\n result\n else\n failure_result || (failure_result = response[\"CommandResponse/#{result_key}/Reason\"]?)\n logger.error do\n failure_result.inspect\n end\n :abort\n end\n else\n logger.warn do\n \"Unexpected response format\"\n end\n :abort\n end\nend\n"}},{"html_id":"xconfiguration(path:String,hash_args:Hash(String,JSONBasic)={}ofString=>JSONBasic,**kwargs)-instance-method","name":"xconfiguration","doc":"Apply a single configuration on the device.","summary":"

Apply a single configuration on the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"args_string":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L186"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"promises = hash_args.map do |setting, value|\n apply_configuration(path, setting, value)\nend\nkwargs.each do |setting, value|\n promise = apply_configuration(path, setting, value)\n promises << promise\nend\n(Promise.all(promises)).get.first\n"}},{"html_id":"xconfigurations(config:Config)-instance-method","name":"xconfigurations","doc":"Push a configuration settings to the device.","summary":"

Push a configuration settings to the device.

","abstract":false,"args":[{"name":"config","external_name":"config","restriction":"Config"}],"args_string":"(config : Config)","args_html":"(config : Config)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L135"},"def":{"name":"xconfigurations","args":[{"name":"config","external_name":"config","restriction":"Config"}],"visibility":"Public","body":"config.each do |path, settings|\n xconfiguration(path, settings)\nend"}},{"html_id":"xstatus(path:String)-instance-method","name":"xstatus","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L229"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"request = XAPI.xstatus(path)\npromise = Promise.new(Hash(String, Enumerable::JSONComplex))\ntask = do_send(request) do |response|\n prefix = \"Status/#{(XAPI.tokenize(path)).join('/')}\"\n results = {} of String => Enumerable::JSONComplex\n response.each do |key, value|\n if key.starts_with?(prefix)\n results[key] = value\n end\n end\n if !results.empty?\n promise.resolve(results)\n results\n else\n if error = response[\"Status/status\"]? || response[\"CommandResponse/Status/status\"]?\n reason = response[\"Status/Reason\"]? || response[\"CommandResponse/Status/Reason\"]?\n xpath = response[\"Status/XPath\"]? || response[\"CommandResponse/Status/XPath\"]?\n error_msg = \"#{reason} (#{xpath})\"\n promise.reject(RuntimeError.new(error_msg))\n logger.error do\n error_msg\n end\n :abort\n else\n results[prefix] = nil\n promise.resolve(results)\n results\n end\n end\nend\nspawn(same_thread: true) do\n task.get\n if task.state == (:abort)\n promise.reject(RuntimeError.new(\"failed to obtain status: #{path}\"))\n end\nend\npromise.get\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","path":"Cisco/CollaborationEndpoint/Cameras.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"camera_move(camera_id:Int32,pan:Interface::Camera::PanDirection|Nil=nil,pan_speed:Int32|Nil=nil,tilt:Interface::Camera::TiltDirection|Nil=nil,tilt_speed:Int32|Nil=nil,zoom:Interface::Zoomable::ZoomDirection|Nil=nil,zoom_speed:Int32|Nil=nil,focus:FocusDirection|Nil=nil)-instance-method","name":"camera_move","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"args_string":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","args_html":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L43"},"def":{"name":"camera_move","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif pan_speed\n if (1..15).includes?(pan_speed)\n else\n raise(ArgumentError.new(\"\\\"pan_speed\\\" must be within #{1..15}, was #{pan_speed}\"))\n end\nend\nif tilt_speed\n if (1..15).includes?(tilt_speed)\n else\n raise(ArgumentError.new(\"\\\"tilt_speed\\\" must be within #{1..15}, was #{tilt_speed}\"))\n end\nend\nif zoom_speed\n if (1..15).includes?(zoom_speed)\n else\n raise(ArgumentError.new(\"\\\"zoom_speed\\\" must be within #{1..15}, was #{zoom_speed}\"))\n end\nend\nxcommand(\"Camera Ramp\", camera_id: camera_id, pan: pan, pan_speed: pan_speed, tilt: tilt, tilt_speed: tilt_speed, zoom: zoom, zoom_speed: zoom_speed, focus: focus)\n"}},{"html_id":"camera_position_reset(camera_id:Int32,axis:CameraAxis|Nil=nil)-instance-method","name":"camera_position_reset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"args_string":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","args_html":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L40"},"def":{"name":"camera_position_reset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nxcommand(\"Camera PositionReset\", camera_id: camera_id, axis: axis)\n"}},{"html_id":"camera_preset(preset_id:Int32)-instance-method","name":"camera_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L16"},"def":{"name":"camera_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Activate\", preset_id: preset_id)\n"}},{"html_id":"camera_remove_preset(preset_id:Int32)-instance-method","name":"camera_remove_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L24"},"def":{"name":"camera_remove_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Remove\", preset_id: preset_id)\n"}},{"html_id":"camera_store_preset(camera_id:Int32,preset_id:Int32,name:String|Nil=nil,take_snapshot:Bool|Nil=nil,default_position:Bool|Nil=nil)-instance-method","name":"camera_store_preset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"args_string":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","args_html":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L18"},"def":{"name":"camera_store_preset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Store\", camera_id: camera_id, preset_id: preset_id, name: name, take_snapshot: take_snapshot, default_position: default_position)\n"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L107"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"pan_speed = pan_speed.clamp(-100.0, 100.0)\ntilt_speed = tilt_speed.clamp(-100.0, 100.0)\npan = if pan_speed.zero?\n pan_speed = nil\n PanDirection::Stop\nelse\n pan_speed.negative? ? PanDirection::Left : PanDirection::Right\nend\ntilt = if tilt_speed.zero?\n tilt_speed = nil\n TiltDirection::Stop\nelse\n tilt_speed.negative? ? TiltDirection::Down : TiltDirection::Up\nend\ncam = index.to_i\nif cam.zero?\n cam = 1\nend\nif pan_speed\n percentage = pan_speed.abs / 100.0\n pan_speed_actual = (percentage * 15.0).round.to_i\nend\nif tilt_speed\n percentage = tilt_speed.abs / 100.0\n tilt_speed_actual = (percentage * 15.0).round.to_i\nend\ncamera_move(camera_id: cam, pan: pan, pan_speed: pan_speed_actual, tilt: tilt, tilt_speed: tilt_speed_actual, zoom: ZoomDirection::Stop)\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L68"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncase position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0.0, tilt_speed: position.down? ? -50.0 : 50.0, index: cam)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -50.0 : 50.0, tilt_speed: 0.0, index: cam)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out, cam)\nend\n"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L148"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npreset = presets[position]?\nif preset\nelse\n raise(\"preset '#{position}' not found on camera #{index}\")\nend\ncamera_preset(preset_id: preset)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L179"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npresets.delete(name)\nif presets.empty?\n @presets.delete(cam)\nelse\n @presets[cam] = presets\nend\nsave_presets\ntrue\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L159"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\nin_use = @presets.values.flat_map(&.values)\nnext_available = ((1..35).to_a - in_use).first\npresets[name] = next_available\ncamera_store_preset(camera_id: cam, preset_id: next_available, name: name).get\n@presets[cam] = presets\nsave_presets\ntrue\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L56"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, pan: PanDirection::Stop, tilt: TiltDirection::Stop, zoom: ZoomDirection::Stop)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L96"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, zoom: direction, zoom_speed: 6)\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L92"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"raise(\"direct zoom unsupported on this camera\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/CameraAxis","path":"Cisco/CollaborationEndpoint/Cameras/CameraAxis.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::CameraAxis","name":"CameraAxis","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L27"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"0"},{"id":"Focus","name":"Focus","value":"1"},{"id":"PanTilt","name":"PanTilt","value":"2"},{"id":"Zoom","name":"Zoom","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L28"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L29"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan_tilt?-instance-method","name":"pan_tilt?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L30"},"def":{"name":"pan_tilt?","visibility":"Public","body":"self == PanTilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L31"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/FocusDirection","path":"Cisco/CollaborationEndpoint/Cameras/FocusDirection.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::FocusDirection","name":"FocusDirection","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L34"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Far","name":"Far","value":"0"},{"id":"Near","name":"Near","value":"1"},{"id":"Stop","name":"Stop","value":"2"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"far?-instance-method","name":"far?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L35"},"def":{"name":"far?","visibility":"Public","body":"self == Far"}},{"html_id":"near?-instance-method","name":"near?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L36"},"def":{"name":"near?","visibility":"Public","body":"self == Near"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L37"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/Interface","path":"Cisco/CollaborationEndpoint/Cameras/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Cameras::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Config","path":"Cisco/CollaborationEndpoint/Config.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Config","name":"Config","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L132"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","aliased_html":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Feedback","path":"Cisco/CollaborationEndpoint/Feedback.html","kind":"class","full_name":"Cisco::CollaborationEndpoint::Feedback","name":"Feedback","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L2"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L44"},"def":{"name":"clear","visibility":"Public","body":"@callbacks = Hash(String, Array(Proc(String, Enumerable::JSONComplex, Nil))).new do |h, k|\n h[k] = [] of Proc(String, Enumerable::JSONComplex, Nil)\nend"}},{"html_id":"contains?(path:String)-instance-method","name":"contains?","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L23"},"def":{"name":"contains?","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"found = false\n@callbacks.each_key do |key|\n if path.starts_with?(key)\n found = true\n break\n end\nend\nfound\n"}},{"html_id":"insert(path:String,&handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"insert","doc":"Insert a response handler block to be notified of updates effecting the\nspecified feedback path.","summary":"

Insert a response handler block to be notified of updates effecting the specified feedback path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L18"},"def":{"name":"insert","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"handler","external_name":"handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"@callbacks[path] << handler\nself\n"}},{"html_id":"notify(path:String,value:Enumerable::JSONComplex)-instance-method","name":"notify","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"args_string":"(path : String, value : Enumerable::JSONComplex)","args_html":"(path : String, value : Enumerable::JSONComplex)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L34"},"def":{"name":"notify","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"visibility":"Public","body":"@callbacks.each do |key, callbacks|\n if path.starts_with?(key)\n callbacks.each(&.call(path, value))\n end\nend"}},{"html_id":"notify(payload:Hash(String,Enumerable::JSONComplex))-instance-method","name":"notify","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"args_string":"(payload : Hash(String, Enumerable::JSONComplex))","args_html":"(payload : Hash(String, Enumerable::JSONComplex))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L40"},"def":{"name":"notify","args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"visibility":"Public","body":"payload.each do |key, value|\n notify(\"/#{key}\", value)\nend"}},{"html_id":"remove(path:String)-instance-method","name":"remove","doc":"Nuke a subtree below the path","summary":"

Nuke a subtree below the path

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L9"},"def":{"name":"remove","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"remove = [] of String\n@callbacks.each_key do |key|\n if key.starts_with?(path)\n remove << key\n end\nend\nremove.each do |key|\n @callbacks.delete(key)\nend\nself\n"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/JSONBasic","path":"Cisco/CollaborationEndpoint/JSONBasic.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","path":"Cisco/CollaborationEndpoint/Powerable.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"half_wake-instance-method","name":"half_wake","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L14"},"def":{"name":"half_wake","visibility":"Public","body":"xcommand(\"Standby HalfWake\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L18"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? powerup : half_wake\nself[:power] = state\n"}},{"html_id":"power_state(state:Interface::Powerable::PowerState)-instance-method","name":"power_state","doc":"override this to implement `PowerState::FullOff` if it is available for the device","summary":"

override this to implement PowerState::FullOff if it is available for the device

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"args_string":"(state : Interface::Powerable::PowerState)","args_html":"(state : Interface::Powerable::PowerState)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L23"},"def":{"name":"power_state","args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"visibility":"Public","body":"case state\nin .on?\n power(true)\nin .off?\n power(false)\nin .full_off?\n standby\n self[:power] = false\nend\nself[:power_state] = state\n"}},{"html_id":"powerup-instance-method","name":"powerup","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L13"},"def":{"name":"powerup","visibility":"Public","body":"xcommand(\"Standby Deactivate\")"}},{"html_id":"reset_standby_timer(delay:Int32)-instance-method","name":"reset_standby_timer","abstract":false,"args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"args_string":"(delay : Int32)","args_html":"(delay : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L16"},"def":{"name":"reset_standby_timer","args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"visibility":"Public","body":"if (1..480).includes?(delay)\nelse\n raise(ArgumentError.new(\"delay must be within #{1..480}, was #{delay}\"))\nend\nxcommand(\"Standby ResetTimer\", delay: delay)\n"}},{"html_id":"standby-instance-method","name":"standby","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L15"},"def":{"name":"standby","visibility":"Public","body":"xcommand(\"Standby Activate\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/Interface","path":"Cisco/CollaborationEndpoint/Powerable/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Powerable::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/PowerOff","path":"Cisco/CollaborationEndpoint/Powerable/PowerOff.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Powerable::PowerOff","name":"PowerOff","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L36"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Restart","name":"Restart","value":"0"},{"id":"Shutdown","name":"Shutdown","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},"instance_methods":[{"html_id":"restart?-instance-method","name":"restart?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L37"},"def":{"name":"restart?","visibility":"Public","body":"self == Restart"}},{"html_id":"shutdown?-instance-method","name":"shutdown?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L38"},"def":{"name":"shutdown?","visibility":"Public","body":"self == Shutdown"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","path":"Cisco/CollaborationEndpoint/Presentation.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"presentation_start(presentation_source:Int32|Nil=nil,sending_mode:SendingMode|Nil=nil,connector_id:Int32|Nil=nil,instance:Int32|Nil=nil)-instance-method","name":"presentation_start","abstract":false,"args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"args_string":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","args_html":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L24"},"def":{"name":"presentation_start","args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if presentation_source\n if (1..2).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..2}, was #{presentation_source}\"))\n end\nend\nif connector_id\n if (1..2).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..2}, was #{connector_id}\"))\n end\nend\nif instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nxcommand(\"Presentation Start\", presentation_source: presentation_source, sending_mode: sending_mode, connector_id: connector_id, instance: instance)\n"}},{"html_id":"presentation_stop(instance:Int32|Nil=nil,presentation_source:Int32|Nil=nil)-instance-method","name":"presentation_stop","abstract":false,"args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"args_string":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","args_html":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L29"},"def":{"name":"presentation_stop","args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nif presentation_source\n if (1..4).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..4}, was #{presentation_source}\"))\n end\nend\nxcommand(\"Presentation Stop\", instance: instance, presentation_source: presentation_source)\n"}},{"html_id":"send_presentation_to(remote:Bool)-instance-method","name":"send_presentation_to","abstract":false,"args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"args_string":"(remote : Bool)","args_html":"(remote : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L51"},"def":{"name":"send_presentation_to","args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"visibility":"Public","body":"@sending_mode = remote ? SendingMode::LocalRemote : SendingMode::LocalOnly\nself[:present_to_remote] = remote\nif input = @presenting_input\n presentation_start(presentation_source: input, sending_mode: @sending_mode)\nend\n"}},{"html_id":"switch_to(input:PresentationInputs)-instance-method","name":"switch_to","doc":"Provide compatabilty with the router module for activating presentation.","summary":"

Provide compatabilty with the router module for activating presentation.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"args_string":"(input : PresentationInputs)","args_html":"(input : PresentationInputs)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"visibility":"Public","body":"if input.none?\n @presenting_input = nil\n presentation_stop\nelse\n source = input.to_s[5..-1].to_i\n @presenting_input = source\n presentation_start(presentation_source: source, sending_mode: @sending_mode)\nend\nself[:presenting_input] = @presenting_input\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/PresentationInputs","path":"Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::PresentationInputs","name":"PresentationInputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"},{"id":"Input3","name":"Input3","value":"3"},{"id":"Input4","name":"Input4","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"input3?-instance-method","name":"input3?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L9"},"def":{"name":"input3?","visibility":"Public","body":"self == Input3"}},{"html_id":"input4?-instance-method","name":"input4?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L10"},"def":{"name":"input4?","visibility":"Public","body":"self == Input4"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/SendingMode","path":"Cisco/CollaborationEndpoint/Presentation/SendingMode.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::SendingMode","name":"SendingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LocalRemote","name":"LocalRemote","value":"0"},{"id":"LocalOnly","name":"LocalOnly","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"local_only?-instance-method","name":"local_only?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L18"},"def":{"name":"local_only?","visibility":"Public","body":"self == LocalOnly"}},{"html_id":"local_remote?-instance-method","name":"local_remote?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L17"},"def":{"name":"local_remote?","visibility":"Public","body":"self == LocalRemote"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presets","path":"Cisco/CollaborationEndpoint/Presets.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Int32, Hash(String, Int32))","aliased_html":"Hash(Int32, Hash(String, Int32))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"Camera idx => Preset name => Preset id","summary":"

Camera idx => Preset name => Preset id

"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Toogle","path":"Cisco/CollaborationEndpoint/Toogle.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L15"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"used by many of the commands","summary":"

used by many of the commands

","instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L17"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L16"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","path":"Cisco/CollaborationEndpoint/UIExtensions.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"msg_alert(text:String,title:String|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"msg_alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L7"},"def":{"name":"msg_alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message Alert Display\", text: text, title: title, duration: duration)\n"}},{"html_id":"msg_alert_clear-instance-method","name":"msg_alert_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L6"},"def":{"name":"msg_alert_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"msg_prompt(text:String,options:Array(JSON::Any::Type),title:String|Nil=nil,feedback_id:String|Nil=nil,duration:Int64|Nil=nil)-instance-method","name":"msg_prompt","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"args_string":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","args_html":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L14"},"def":{"name":"msg_prompt","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"option_map = {} of String => JSON::Any::Type\n(\"Option.1\"..\"Option.5\").each_with_index do |key, i|\n if i >= options.size\n break\n end\n option_map[key] = options[i]\nend\nxcommand(\"UserInterface Message Prompt Display\", hash_args: Hash(String, JSON::Any::Type) {\"text\" => text, \"title\" => title, \"feedback_id\" => feedback_id, \"duration\" => duration}.merge(option_map))\n"}},{"html_id":"msg_prompt_clear-instance-method","name":"msg_prompt_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L12"},"def":{"name":"msg_prompt_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Prompt Clear\")"}},{"html_id":"msg_text(text:String,feedback_id:String,title:String|Nil=nil,duration:Int32|Nil=nil,input_type:TextInputType|Nil=nil,keyboard_state:TextKeyboardState|Nil=nil,place_holder:String|Nil=nil,submit_text:String|Nil=nil)-instance-method","name":"msg_text","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"args_string":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","args_html":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L45"},"def":{"name":"msg_text","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message TextInput Display\", text: text, feedback_id: feedback_id, title: title, duration: duration, input_type: input_type, keyboard_state: keyboard_state, place_holder: place_holder, submit_text: submit_text)\n"}},{"html_id":"msg_text_clear-instance-method","name":"msg_text_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L44"},"def":{"name":"msg_text_clear","visibility":"Public","body":"xcommand(\"UserInterface Message TextInput Clear\")"}},{"html_id":"ui_extensions_clear-instance-method","name":"ui_extensions_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L73"},"def":{"name":"ui_extensions_clear","visibility":"Public","body":"xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"ui_extensions_deploy(id:String,xml_def:String)-instance-method","name":"ui_extensions_deploy","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L65"},"def":{"name":"ui_extensions_deploy","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface Extensions Set\", xml_def, config_id: id)"}},{"html_id":"ui_extensions_list-instance-method","name":"ui_extensions_list","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L69"},"def":{"name":"ui_extensions_list","visibility":"Public","body":"xcommand(\"UserInterface Extensions List\")"}},{"html_id":"ui_set_value(widget:String,value:JSON::Any::Type|Nil=nil)-instance-method","name":"ui_set_value","abstract":false,"args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"args_string":"(widget : String, value : JSON::Any::Type | Nil = nil)","args_html":"(widget : String, value : JSON::Any::Type | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L55"},"def":{"name":"ui_set_value","args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"visibility":"Public","body":"if value.nil?\n xcommand(\"UserInterface Extensions Widget UnsetValue\", widget_id: widget)\nelse\n xcommand(\"UserInterface Extensions Widget SetValue\", value: value, widget_id: widget)\nend"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextInputType","path":"Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextInputType","name":"TextInputType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L32"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SingleLine","name":"SingleLine","value":"0"},{"id":"Numeric","name":"Numeric","value":"1"},{"id":"Password","name":"Password","value":"2"},{"id":"PIN","name":"PIN","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"numeric?-instance-method","name":"numeric?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L34"},"def":{"name":"numeric?","visibility":"Public","body":"self == Numeric"}},{"html_id":"password?-instance-method","name":"password?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L35"},"def":{"name":"password?","visibility":"Public","body":"self == Password"}},{"html_id":"pin?-instance-method","name":"pin?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L36"},"def":{"name":"pin?","visibility":"Public","body":"self == PIN"}},{"html_id":"single_line?-instance-method","name":"single_line?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L33"},"def":{"name":"single_line?","visibility":"Public","body":"self == SingleLine"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState","path":"Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextKeyboardState","name":"TextKeyboardState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L39"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L41"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L40"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","path":"Cisco/CollaborationEndpoint/XAPI.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L3"},{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BOOL_OR","name":"BOOL_OR","value":"->(term : String) do\n ->(val : String) do\n val == term ? term : BOOLEAN.call(val)\n end\nend"},{"id":"BOOLEAN","name":"BOOLEAN","value":"->(val : String) do\n TRUTHY.includes?(val.downcase)\nend"},{"id":"COMMAND_RESPONSE","name":"COMMAND_RESPONSE","value":"Regex.union(INVALID_COMMAND, SUCCESS)"},{"id":"FALSEY","name":"FALSEY","value":"{\"false\", \"unavailable\", \"off\", \"inactive\"}"},{"id":"INVALID_COMMAND","name":"INVALID_COMMAND","value":"/(?<=Command not recognized\\.)[\\r\\n]+/","doc":"Regexp's for tokenizing the xAPI command and response structure.","summary":"

Regexp's for tokenizing the xAPI command and response structure.

"},{"id":"LOGIN_COMPLETE","name":"LOGIN_COMPLETE","value":"/Login successful/"},{"id":"PARSERS","name":"PARSERS","value":"{\"TTPAR_OnOff\" => BOOLEAN, \"TTPAR_OnOffAuto\" => BOOL_OR.call(\"Auto\"), \"TTPAR_OnOffCurrent\" => BOOL_OR.call(\"Current\"), \"TTPAR_MuteEnabled\" => BOOLEAN}"},{"id":"SUCCESS","name":"SUCCESS","value":"/(?<=OK)[\\r\\n]+/"},{"id":"TRUTHY","name":"TRUTHY","value":"{\"true\", \"available\", \"standby\", \"on\", \"active\"}"}],"including_types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"class_methods":[{"html_id":"create_action(__action__:ActionType,*args,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,priority:Int32|Nil=nil,**kwargs)-class-method","name":"create_action","doc":"Serialize an xAPI action into transmittable command.","summary":"

Serialize an xAPI action into transmittable command.

","abstract":false,"args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"args_string":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","args_html":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L45"},"def":{"name":"create_action","args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"splat_index":1,"visibility":"Public","body":"[__action__.to_s.camelcase(lower: true), args.compact_map(&.to_s), hash_args.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend, kwargs.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend.to_a.compact!].flatten.join(\" \")"}},{"html_id":"parse(data:String)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L31"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"(JSON.parse(data)).as_h.flatten_xapi_json"}},{"html_id":"tokenize(path:String)-class-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L101"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split(/[\\s\\/\\\\]/)).reject(&.empty?)"}},{"html_id":"value_convert(value:String,valuespace:String|Nil=nil)-class-method","name":"value_convert","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"args_string":"(value : String, valuespace : String | Nil = nil)","args_html":"(value : String, valuespace : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L15"},"def":{"name":"value_convert","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"begin\n parser = PARSERS[valuespace]?\n if parser\n else\n return value.to_i64\n end\n parser.call(value)\nrescue\n check = value.downcase\n if check.in?(TRUTHY)\n true\n else\n if check.in?(FALSEY)\n false\n else\n value\n end\n end\nend"}},{"html_id":"xcommand(path:String,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-class-method","name":"xcommand","doc":"Serialize an xCommand into transmittable command.","summary":"

Serialize an xCommand into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L71"},"def":{"name":"xcommand","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"create_action(ActionType::XCommand, path, **kwargs.merge({hash_args: hash_args}))"}},{"html_id":"xconfiguration(path:String,setting:String,value:JSON::Any::Type)-class-method","name":"xconfiguration","doc":"Serialize an xConfiguration action into a transmittable command.","summary":"

Serialize an xConfiguration action into a transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"args_string":"(path : String, setting : String, value : JSON::Any::Type)","args_html":"(path : String, setting : String, value : JSON::Any::Type)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L80"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"visibility":"Public","body":"create_action(ActionType::XConfiguration, path, hash_args: {setting => value})"}},{"html_id":"xfeedback(action:FeedbackAction,path:String|Nil=nil)-class-method","name":"xfeedback","doc":"Serialize a xFeedback subscription request.","summary":"

Serialize a xFeedback subscription request.

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(action : FeedbackAction, path : String | Nil = nil)","args_html":"(action : FeedbackAction, path : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L92"},"def":{"name":"xfeedback","args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"if path\n xpath = tokenize(path)\n create_action(ActionType::XFeedback, action, \"/#{xpath.join('/')}\")\nelse\n create_action(ActionType::XFeedback, action)\nend"}},{"html_id":"xstatus(path:String)-class-method","name":"xstatus","doc":"Serialize an xStatus request into transmittable command.","summary":"

Serialize an xStatus request into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L87"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"create_action(ActionType::XStatus, path)"}}],"macros":[{"html_id":"command(cmd_name,**params)-macro","name":"command","abstract":false,"args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"args_string":"(cmd_name, **params)","args_html":"(cmd_name, **params)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L106"},"def":{"name":"command","args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":" \n{% for cmd, name in cmd_name %}\n def {{ name.id }}(\n {% for param, klass in params %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {% if klass.is_a?(RangeLiteral) %}\n {{ param.id }} : Int32{% if optional %}? = nil{% end %},\n {% else %}\n {{ param.id }} : {{ klass }}{% if optional %}? = nil{% end %},\n {% end %}\n {% end %}\n )\n {% for param, klass in params %}\n {% if klass.is_a?(RangeLiteral) %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n {% if optional %} if {{ param.id }}{% end %}\n raise ArgumentError.new(\"#{ {{ param.stringify }} } must be within #{ {{ klass }} }, was #{ {{ param.id }} }\") unless ({{ klass }}).includes?({{ param.id }})\n {% if optional %}end{% end %}\n {% end %}\n {% end %}\n\n # send the command\n xcommand(\n {{ cmd }},\n {% for param, klass in params %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {{ param.id }}: {{ param.id }},\n {% end %}\n )\n end\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/ActionType","path":"Cisco/CollaborationEndpoint/XAPI/ActionType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::ActionType","name":"ActionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"XConfiguration","name":"XConfiguration","value":"0"},{"id":"XCommand","name":"XCommand","value":"1"},{"id":"XStatus","name":"XStatus","value":"2"},{"id":"XFeedback","name":"XFeedback","value":"3"},{"id":"XPreferences","name":"XPreferences","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"x_command?-instance-method","name":"x_command?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L31"},"def":{"name":"x_command?","visibility":"Public","body":"self == XCommand"}},{"html_id":"x_configuration?-instance-method","name":"x_configuration?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L30"},"def":{"name":"x_configuration?","visibility":"Public","body":"self == XConfiguration"}},{"html_id":"x_feedback?-instance-method","name":"x_feedback?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L33"},"def":{"name":"x_feedback?","visibility":"Public","body":"self == XFeedback"}},{"html_id":"x_preferences?-instance-method","name":"x_preferences?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L34"},"def":{"name":"x_preferences?","visibility":"Public","body":"self == XPreferences"}},{"html_id":"x_status?-instance-method","name":"x_status?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L32"},"def":{"name":"x_status?","visibility":"Public","body":"self == XStatus"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/FeedbackAction","path":"Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::FeedbackAction","name":"FeedbackAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L37"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Register","name":"Register","value":"0"},{"id":"Deregister","name":"Deregister","value":"1"},{"id":"DeregisterAll","name":"DeregisterAll","value":"2"},{"id":"List","name":"List","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"deregister?-instance-method","name":"deregister?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L39"},"def":{"name":"deregister?","visibility":"Public","body":"self == Deregister"}},{"html_id":"deregister_all?-instance-method","name":"deregister_all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L40"},"def":{"name":"deregister_all?","visibility":"Public","body":"self == DeregisterAll"}},{"html_id":"list?-instance-method","name":"list?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L41"},"def":{"name":"list?","visibility":"Public","body":"self == List"}},{"html_id":"register?-instance-method","name":"register?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L38"},"def":{"name":"register?","visibility":"Public","body":"self == Register"}}]}]}]},{"html_id":"drivers/Cisco/DNASpaces","path":"Cisco/DNASpaces.html","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L9"},{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IOT_SENSORS","name":"IOT_SENSORS","value":"{SensorType::Presence, SensorType::PeopleCount, SensorType::Humidity, SensorType::AirQuality, SensorType::SoundPressure, SensorType::Temperature}"},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"activate-instance-method","name":"activate","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L104"},"def":{"name":"activate","visibility":"Public","body":"if @activation_token.empty?\n return\nend\nresponse = get(\"/client/v1/partner/partnerPublicKey/\")\nif response.success?\nelse\n raise(\"failed to obtain partner public key, code #{response.status_code}\")\nend\nlogger.debug do\n \"public key requested: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: Array(ActivactionPublicKey)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining partner public key: #{payload[:message]}\")\nend\npublic_key = payload[:data][0].public_key\npayload, header = JWT.decode(@activation_token, public_key, JWT::Algorithm::RS256, @verify_activation_key)\napp_id = payload[\"appId\"].as_s\nref_id = payload[\"activationRefId\"].as_s\ntenant_id = payload[\"tenantId\"].as_i64.to_s\nresponse = post(\"/client/v1/partner/activateOnPremiseApp\", headers: {\"Content-Type\" => \"application/json\", \"Authorization\" => \"Bearer #{@activation_token}\"}, body: {appId: app_id, activationRefId: ref_id}.to_json)\nif response.success?\nelse\n raise(\"failed to obtain API key, code #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"application activated: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: NamedTuple(apiKey: String)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining API key: #{payload[:message]}\")\nend\napi_key = payload[:data][:apiKey]\nlogger.debug do\n \"saving API key: #{tenant_id}, #{api_key}\"\nend\ndefine_setting(:tenant_id, tenant_id)\ndefine_setting(:dna_spaces_api_key, api_key)\ndefine_setting(:dna_spaces_activation_key, \"\")\nlogger.debug do\n \"settings saved! Starting stream\"\nend\n@api_key = api_key\n@tenant_id = tenant_id\nif !@streaming\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":513,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L513"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"if location = locate_mac(mac_address)\n {location: \"wireless\", assigned_to: format_username(location.raw_user_id), mac_address: format_mac(mac_address)}\nend"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L244"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago.to_unix\nremove_keys = [] of String\nlocations do |locs|\n locs.each do |mac, location|\n if location.last_seen < old\n remove_keys << mac\n end\n end\n remove_keys.each do |mac|\n locs.delete(mac)\n end\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":524,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L524"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of Nil\nend\nfloors = [] of String\nadjustments = {} of String => Tuple(Float64, Float64, Float64, Float64)\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n offset_x = (data[\"offset_x\"]? || 0.0).as(Float64)\n offset_y = (data[\"offset_y\"]? || 0.0).as(Float64)\n map_width = (data[\"map_width\"]? || -1.0).as(Float64)\n map_height = (data[\"map_height\"]? || -1.0).as(Float64)\n adjustments[floor_id] = {offset_x, offset_y, map_width, map_height}\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of Nil\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago.to_unix\nmatching = locations(&.compact_map do |mac, loc|\n if loc.last_seen < oldest_location\n too_old = too_old + 1\n next\n end\n if (floors & loc.location_mappings.values).empty?\n wrong_floor = wrong_floor + 1\n next\n end\n loc.device.mac_address = mac\n loc\nend)\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.map_id).flat_map do |map_id, locations|\n map_width = -1.0\n map_height = -1.0\n offset_x = 0.0\n offset_y = 0.0\n locations.first.location_mappings.each_value do |location_id|\n if level_data = adjustments[location_id]?\n offset_x, offset_y, map_width, map_height = level_data\n break\n end\n end\n if (map_width == -1.0) || (map_height == -1.0)\n if map_size = get_map_details(map_id)\n map_width = map_width > -1.0 ? map_width : ( map_size.length - offset_x)\n map_height = map_height > -1.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n locations.map do |loc|\n lat = loc.latitude\n lon = loc.longitude\n {location: :wireless, coordinates_from: \"top-left\", x: loc.x_pos - offset_x, y: loc.y_pos - offset_y, lon: lon, lat: lat, s2_cell_id: (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), mac: loc.device.mac_address, variance: loc.unc, last_seen: loc.last_seen, map_width: map_width, map_height: map_height, ssid: loc.ssid, manufacturer: loc.device.manufacturer, os: loc.device.os}\n end\nend\n"}},{"html_id":"devices(&)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L194"},"def":{"name":"devices","yields":1,"block_arity":1,"visibility":"Public","body":"@dev_lock.synchronize do\n yield @devices\nend"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":614,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L614"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L618"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_location_info(location_id:String)-instance-method","name":"get_location_info","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L168"},"def":{"name":"get_location_info","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/partners/v1/locations/#{location_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\nif response.success?\nelse\n raise(\"failed to obtain location id #{location_id}, code #{response.status_code}\")\nend\nLocationInfo.from_json(response.body.not_nil!)\n"}},{"html_id":"get_map_details(map_id:String)-instance-method","name":"get_map_details","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L226"},"def":{"name":"get_map_details","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"map = @map_lock.synchronize do\n @map_details[map_id]?\nend\nif !map\n response = get(\"/api/partners/v1/maps/#{map_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\n if !response.success?\n message = \"failed to obtain map id #{map_id}, code #{response.status_code}\"\n logger.warn do\n message\n end\n return nil\n end\n map = (MapInfo.from_json(response.body.not_nil!)).dimension\n @map_lock.synchronize do\n @map_details[map_id] = map\n end\nend\nmap\n"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L216"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"MAC Locations: #{locations(&.keys)}\"\nend\n{tracking: locations(&.size), events_received: @events_received}\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L210"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"formatted_address = format_mac(address)\nlocations do |locs|\n locs[formatted_address]?\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"=============================\nLocatable interface\n=============================","summary":"

============================= Locatable interface =============================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L427"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"if macs = user_lookup(username.presence || email.presence.not_nil!)\n location_max_age = @max_location_age.ago.to_unix\n macs.compact_map do |mac|\n if location = locate_mac(mac)\n if location.last_seen > location_max_age\n location.device.mac_address = mac\n location\n end\n end\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end.map do |location|\n lat = location.latitude\n lon = location.longitude\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"top-left\", \"x\" => location.x_pos, \"y\" => location.y_pos, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), \"mac\" => location.device.mac_address, \"variance\" => location.unc, \"last_seen\" => location.last_seen, \"dna_floor_id\" => location.map_id, \"ssid\" => location.ssid, \"manufacturer\" => location.device.manufacturer, \"os\" => location.device.os}\n map_width = 0.0\n map_height = 0.0\n offset_x = 0.0\n offset_y = 0.0\n location.location_mappings.each_value do |location_id|\n if level_data = @floorplan_mappings[location_id]?\n level_data.each do |key, value|\n case key\n when \"offset_x\"\n offset_x = value.as(Float64)\n loc[\"x\"] = location.x_pos - offset_x\n when \"offset_y\"\n offset_y = value.as(Float64)\n loc[\"y\"] = location.y_pos - offset_y\n when \"map_width\"\n map_width = value.as(Float64)\n when \"map_height\"\n map_height = value.as(Float64)\n else\n loc[key] = value\n end\n end\n break\n end\n end\n if map_width > 0.0 && map_height > 0.0\n loc[\"map_width\"] = map_width\n loc[\"map_height\"] = map_height\n else\n if map_size = get_map_details(location.map_id)\n loc[\"map_width\"] = map_width > 0.0 ? map_width : ( map_size.length - offset_x)\n loc[\"map_height\"] = map_height > 0.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n loc\n end\nelse\n [] of Nil\nend"}},{"html_id":"locations(&)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L190"},"def":{"name":"locations","yields":1,"block_arity":1,"visibility":"Public","body":"@loc_lock.synchronize do\n yield @locations\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L508"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(user_lookup(username.presence || email.presence.not_nil!)).try(&.to_a) || ([] of String)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nif !@api_key.empty?\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L56"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close\n@stream_active = false\nupdate_monitoring_status(running: false)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L73"},"def":{"name":"on_update","visibility":"Public","body":"@max_location_age = ((setting?(UInt32, :max_location_age)) || 10).minutes\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@debug_stream = (setting?(Bool, :debug_stream)) || false\n@verify_activation_key = (setting?(Bool, :verify_activation_key)) || false\nschedule.clear\nschedule.every(30.minutes) do\n cleanup_caches\nend\nschedule.every(5.minutes) do\n update_monitoring_status\nend\nschedule.in(5.seconds) do\n update_monitoring_status\nend\n@activation_token = (setting?(String, :dna_spaces_activation_key)) || \"\"\nif @activation_token.empty?\n @api_key = setting(String, :dna_spaces_api_key)\n @tenant_id = (setting(String | Int64, :tenant_id)).to_s\nelse\n @api_key = (setting?(String, :dna_spaces_api_key)) || \"\"\n @tenant_id = (setting?(String | Int64, :tenant_id)).try(&.to_s) || \"\"\n if @api_key.empty?\n schedule.in(5.seconds) do\n activate\n end\n end\nend\nif (!@streaming) && (!@api_key.empty?)\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"seen_locations-instance-method","name":"seen_locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L180"},"def":{"name":"seen_locations","visibility":"Public","body":"@description_lock.synchronize do\n @location_descriptions.dup\nend"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L117"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nmac = format_mac(mac)\ndevice = devices do |dev|\n dev[mac]?\nend\nif device\nelse\n return nil\nend\nfilter = SensorType.parse(id)\ncase device\nin IotTelemetry\n (to_sensors(nil, filter, device)).first?\nin DeviceLocationUpdate\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L88"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nfilter = type ? SensorType.parse(type) : nil\nif filter && (!(filter.in?(IOT_SENSORS)))\n return NO_MATCH\nend\nif mac\n mac = format_mac(mac)\n device = devices do |dev|\n dev[mac]?\n end\n if device\n else\n return NO_MATCH\n end\n return case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\ndevice_values = devices(&.values)\ndevice_values.flat_map do |device|\n case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\n"}},{"html_id":"update_monitoring_status(running:Bool=true):Nil-instance-method","name":"update_monitoring_status","doc":"This provides the DNA Spaces dashboard with stream consumption status","summary":"

This provides the DNA Spaces dashboard with stream consumption status

","abstract":false,"args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"args_string":"(running : Bool = true) : Nil","args_html":"(running : Bool = true) : Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L629"},"def":{"name":"update_monitoring_status","args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = put(\"/api/partners/v1/monitoring/status\", headers: {\"Content-Type\" => \"application/json\", \"X-API-KEY\" => @api_key}, body: {data: {overallStatus: {status: running ? \"up\" : \"down\", notices: [] of Nil}, instanceDetails: {ipAddress: \"\", instanceId: module_id}, cloudFirehose: {status: @stream_active ? \"connected\" : \"disconnected\", lastReceived: @last_received}, localFirehose: {status: \"disconnected\", lastReceived: 0}, subsystems: [] of Nil}}.to_json)\nif response.success?\nelse\n raise(\"failed to update status, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"user_lookup(&)-instance-method","name":"user_lookup","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L201"},"def":{"name":"user_lookup","yields":1,"block_arity":1,"visibility":"Public","body":"@user_loc.synchronize do\n yield @user_lookup\nend"}},{"html_id":"user_lookup(user_id:String)-instance-method","name":"user_lookup","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L205"},"def":{"name":"user_lookup","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"formatted_user = format_username(user_id)\nuser_lookup do |lookup|\n lookup[formatted_user]?\nend\n"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/ActivactionPublicKey","path":"Cisco/DNASpaces/ActivactionPublicKey.html","kind":"class","full_name":"Cisco::DNASpaces::ActivactionPublicKey","name":"ActivactionPublicKey","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"public_key-instance-method","name":"public_key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L11"},"def":{"name":"public_key","visibility":"Public","body":"\"-----BEGIN PUBLIC KEY-----\\n#{@public_key}\\n-----END PUBLIC KEY-----\\n\""}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L6"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivaction","path":"Cisco/DNASpaces/AppActivaction.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivaction","name":"AppActivaction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"instance_name:String-instance-method","name":"instance_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L20"},"def":{"name":"instance_name","return_type":"String","visibility":"Public","body":"@instance_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L13"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"reference_id:String-instance-method","name":"reference_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L17"},"def":{"name":"reference_id","return_type":"String","visibility":"Public","body":"@reference_id"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L10"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L7"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","path":"Cisco/DNASpaces/AppActivactionWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L108"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L109"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:AppActivaction-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L112"},"def":{"name":"payload","return_type":"AppActivaction","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/BlePayload","path":"Cisco/DNASpaces/BlePayload.html","kind":"class","full_name":"Cisco::DNASpaces::BlePayload","name":"BlePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data","return_type":"String","visibility":"Public","body":"@data"}},{"html_id":"data=(data:String)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"@data = data"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdate","path":"Cisco/DNASpaces/BleRssiUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdate","name":"BleRssiUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L48"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"notification:RssiNotification-instance-method","name":"notification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L47"},"def":{"name":"notification","return_type":"RssiNotification","visibility":"Public","body":"@notification"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","path":"Cisco/DNASpaces/BleRssiUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L122"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L123"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:BleRssiUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L126"},"def":{"name":"payload","return_type":"BleRssiUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Device","path":"Cisco/DNASpaces/Device.html","kind":"class","full_name":"Cisco::DNASpaces::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_id:String-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L7"},"def":{"name":"device_id","return_type":"String","visibility":"Public","body":"@device_id"}},{"html_id":"email-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L16"},"def":{"name":"email","visibility":"Public","body":"@email.try(&.downcase)"}},{"html_id":"email_raw:String?-instance-method","name":"email_raw","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L20"},"def":{"name":"email_raw","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L27"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L24"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L30"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L42"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L13"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L43"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os_version:String|Nil-instance-method","name":"os_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L46"},"def":{"name":"os_version","return_type":"String | ::Nil","visibility":"Public","body":"@os_version"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L33"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L12"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L47"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCount","path":"Cisco/DNASpaces/DeviceCount.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCount","name":"DeviceCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"associated_count:Int32-instance-method","name":"associated_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L9"},"def":{"name":"associated_count","return_type":"Int32","visibility":"Public","body":"@associated_count"}},{"html_id":"estimated_capacity_percentage:Float64-instance-method","name":"estimated_capacity_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L21"},"def":{"name":"estimated_capacity_percentage","return_type":"Float64","visibility":"Public","body":"@estimated_capacity_percentage"}},{"html_id":"estimated_density:Float64-instance-method","name":"estimated_density","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L18"},"def":{"name":"estimated_density","return_type":"Float64","visibility":"Public","body":"@estimated_density"}},{"html_id":"estimated_probing_count:Int32-instance-method","name":"estimated_probing_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L12"},"def":{"name":"estimated_probing_count","return_type":"Int32","visibility":"Public","body":"@estimated_probing_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L6"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"probing_randomized_percentage:Float64-instance-method","name":"probing_randomized_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L15"},"def":{"name":"probing_randomized_percentage","return_type":"Float64","visibility":"Public","body":"@probing_randomized_percentage"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","path":"Cisco/DNASpaces/DeviceCountWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L116"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceCount-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L119"},"def":{"name":"payload","return_type":"DeviceCount","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntry","path":"Cisco/DNASpaces/DeviceEntry.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntry","name":"DeviceEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"days_sinc_last_visit:Int32-instance-method","name":"days_sinc_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L25"},"def":{"name":"days_sinc_last_visit","return_type":"Int32","visibility":"Public","body":"@days_sinc_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L22"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L16"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L13"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L19"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","path":"Cisco/DNASpaces/DeviceEntryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L53"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceEntry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L56"},"def":{"name":"payload","return_type":"DeviceEntry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExit","path":"Cisco/DNASpaces/DeviceExit.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExit","name":"DeviceExit","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L34"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L22"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L19"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L28"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L25"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L31"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L37"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L16"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","path":"Cisco/DNASpaces/DeviceExitWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L60"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceExit-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L63"},"def":{"name":"payload","return_type":"DeviceExit","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdate","path":"Cisco/DNASpaces/DeviceLocationUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdate","name":"DeviceLocationUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L33"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L21"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L38"},"def":{"name":"has_position?","visibility":"Public","body":"true"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L34"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L46"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L35"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L12"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L9"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L36"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"@unc"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L15"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L27"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L30"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","path":"Cisco/DNASpaces/DeviceLocationUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L81"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceLocationUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L84"},"def":{"name":"payload","return_type":"DeviceLocationUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresence","path":"Cisco/DNASpaces/DevicePresence.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresence","name":"DevicePresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_devices_count:Int32-instance-method","name":"active_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L50"},"def":{"name":"active_devices_count","return_type":"Int32","visibility":"Public","body":"@active_devices_count"}},{"html_id":"days_since_last_visit:Int32-instance-method","name":"days_since_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L23"},"def":{"name":"days_since_last_visit","return_type":"Int32","visibility":"Public","body":"@days_since_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L11"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L44"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L29"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L26"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_date_time:String-instance-method","name":"exit_date_time","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L35"},"def":{"name":"exit_date_time","return_type":"String","visibility":"Public","body":"@exit_date_time"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L32"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_devices_count:Int32-instance-method","name":"inactive_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L53"},"def":{"name":"inactive_devices_count","return_type":"Int32","visibility":"Public","body":"@inactive_devices_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L12"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L7"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L17"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L14"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L41"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L47"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L38"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L20"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L10"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","path":"Cisco/DNASpaces/DevicePresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L94"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L95"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DevicePresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L98"},"def":{"name":"payload","return_type":"DevicePresence","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Dimension","path":"Cisco/DNASpaces/Dimension.html","kind":"class","full_name":"Cisco::DNASpaces::Dimension","name":"Dimension","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L8"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L6"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"offset_x:Float64-instance-method","name":"offset_x","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L11"},"def":{"name":"offset_x","return_type":"Float64","visibility":"Public","body":"@offset_x"}},{"html_id":"offset_y:Float64-instance-method","name":"offset_y","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L14"},"def":{"name":"offset_y","return_type":"Float64","visibility":"Public","body":"@offset_y"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L7"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/Cisco/DNASpaces/Events","path":"Cisco/DNASpaces/Events.html","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper"},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper"},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive"},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper"},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is used to map the various events into a simpler data structure","summary":"

This is used to map the various events into a simpler data structure

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"event type hint","summary":"

event type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"eventType\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'eventType' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'eventType'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"KEEP_ALIVE\"\n KeepAlive.from_json(json)\nwhen \"DEVICE_ENTRY\"\n DeviceEntryWrapper.from_json(json)\nwhen \"DEVICE_EXIT\"\n DeviceExitWrapper.from_json(json)\nwhen \"PROFILE_UPDATE\"\n ProfileUpdateWrapper.from_json(json)\nwhen \"LOCATION_CHANGE\"\n LocationChangeWrapper.from_json(json)\nwhen \"DEVICE_LOCATION_UPDATE\"\n DeviceLocationUpdateWrapper.from_json(json)\nwhen \"TP_PEOPLE_COUNT_UPDATE\"\n PeopleCountUpdateWrapper.from_json(json)\nwhen \"DEVICE_PRESENCE\"\n DevicePresenceWrapper.from_json(json)\nwhen \"USER_PRESENCE\"\n UserPresenceWrapper.from_json(json)\nwhen \"APP_ACTIVATION\"\n AppActivactionWrapper.from_json(json)\nwhen \"DEVICE_COUNT\"\n DeviceCountWrapper.from_json(json)\nwhen \"BLE_RSSI_UPDATE\"\n BleRssiUpdateWrapper.from_json(json)\nwhen \"IOT_TELEMETRY\"\n IotTelemetryWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'eventType' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L41"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"record_timestamp:Int64-instance-method","name":"record_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L32"},"def":{"name":"record_timestamp","return_type":"Int64","visibility":"Public","body":"@record_timestamp"}},{"html_id":"record_uid:String-instance-method","name":"record_uid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L29"},"def":{"name":"record_uid","return_type":"String","visibility":"Public","body":"@record_uid"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L35"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L38"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotDeviceInfo","path":"Cisco/DNASpaces/IotDeviceInfo.html","kind":"class","full_name":"Cisco::DNASpaces::IotDeviceInfo","name":"IotDeviceInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_name:String-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name","return_type":"String","visibility":"Public","body":"@device_name"}},{"html_id":"device_name=(device_name:String)-instance-method","name":"device_name=","abstract":false,"args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"args_string":"(device_name : String)","args_html":"(device_name : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name=","args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"visibility":"Public","body":"@device_name = device_name"}},{"html_id":"firmware_version:String-instance-method","name":"firmware_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version","return_type":"String","visibility":"Public","body":"@firmware_version"}},{"html_id":"firmware_version=(firmware_version:String)-instance-method","name":"firmware_version=","abstract":false,"args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"args_string":"(firmware_version : String)","args_html":"(firmware_version : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version=","args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"visibility":"Public","body":"@firmware_version = firmware_version"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer","return_type":"String","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"args_string":"(manufacturer : String)","args_html":"(manufacturer : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L26"},"def":{"name":"os","visibility":"Public","body":"type"}},{"html_id":"raw_id:String-instance-method","name":"raw_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id","return_type":"String","visibility":"Public","body":"@raw_id"}},{"html_id":"raw_id=(raw_id:String)-instance-method","name":"raw_id=","abstract":false,"args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"args_string":"(raw_id : String)","args_html":"(raw_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id=","args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"visibility":"Public","body":"@raw_id = raw_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotPosition","path":"Cisco/DNASpaces/IotPosition.html","kind":"class","full_name":"Cisco::DNASpaces::IotPosition","name":"IotPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L44"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L45"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L46"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"time_located:Int64-instance-method","name":"time_located","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located","return_type":"Int64","visibility":"Public","body":"@time_located"}},{"html_id":"time_located=(time_located:Int64)-instance-method","name":"time_located=","abstract":false,"args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"args_string":"(time_located : Int64)","args_html":"(time_located : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located=","args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"visibility":"Public","body":"@time_located = time_located"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L38"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L41"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetry","path":"Cisco/DNASpaces/IotTelemetry.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetry","name":"IotTelemetry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"air_pressure-instance-method","name":"air_pressure","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L165"},"def":{"name":"air_pressure","visibility":"Public","body":"if pressure = @air_pressure_actual\n pressure[:pressure]\nend"}},{"html_id":"air_pressure_actual:NamedTuple(pressure:Float64)|Nil-instance-method","name":"air_pressure_actual","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L127"},"def":{"name":"air_pressure_actual","return_type":"NamedTuple(pressure: Float64) | ::Nil","visibility":"Public","body":"@air_pressure_actual"}},{"html_id":"air_quality-instance-method","name":"air_quality","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L147"},"def":{"name":"air_quality","visibility":"Public","body":"if index = @air_quality_index\n index[:airQualityIndex]\nend"}},{"html_id":"air_quality_index:NamedTuple(airQualityIndex:Float64)|Nil-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L118"},"def":{"name":"air_quality_index","return_type":"NamedTuple(airQualityIndex: Float64) | ::Nil","visibility":"Public","body":"@air_quality_index"}},{"html_id":"ambient_noise-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L143"},"def":{"name":"ambient_noise","visibility":"Public","body":"tele_presence_data.try(&.ambient_noise)"}},{"html_id":"confidence_factor(*args,**options)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.confidence_factor(*args, **options)"}},{"html_id":"confidence_factor(*args,**options,&)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.confidence_factor(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"detected_position:IotPosition|Nil-instance-method","name":"detected_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L98"},"def":{"name":"detected_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@detected_position"}},{"html_id":"device:IotDeviceInfo-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L95"},"def":{"name":"device","return_type":"IotDeviceInfo","visibility":"Public","body":"@device"}},{"html_id":"device_rtc:Int64-instance-method","name":"device_rtc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L106"},"def":{"name":"device_rtc","return_type":"Int64","visibility":"Public","body":"@device_rtc"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L191"},"def":{"name":"has_position?","visibility":"Public","body":"!(!(@detected_position || @placed_position))"}},{"html_id":"humidity-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L159"},"def":{"name":"humidity","visibility":"Public","body":"if humidity = @humidity_percent\n humidity[:humidityInPercentage]\nend"}},{"html_id":"humidity_percent:NamedTuple(humidityInPercentage:Float64)|Nil-instance-method","name":"humidity_percent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L124"},"def":{"name":"humidity_percent","return_type":"NamedTuple(humidityInPercentage: Float64) | ::Nil","visibility":"Public","body":"@humidity_percent"}},{"html_id":"last_seen-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L215"},"def":{"name":"last_seen","visibility":"Public","body":"tele_presence_data.try(&.time_stamp) || position.time_located"}},{"html_id":"last_seen=(time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":""}],"args_string":"(time)","args_html":"(time)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L219"},"def":{"name":"last_seen=","args":[{"name":"time","external_name":"time","restriction":""}],"visibility":"Public","body":"if tele_data = tele_presence_data\n tele_data.time_stamp = time\nelse\n position.time_located = time\nend"}},{"html_id":"latitude(*args,**options)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.latitude(*args, **options)"}},{"html_id":"latitude(*args,**options,&)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.latitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L103"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L181"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude(*args,**options)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.longitude(*args, **options)"}},{"html_id":"longitude(*args,**options,&)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.longitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id(*args,**options)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.map_id(*args, **options)"}},{"html_id":"map_id(*args,**options,&)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.map_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id=(id)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L207"},"def":{"name":"map_id=","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"position.map_id = id"}},{"html_id":"people_count-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L135"},"def":{"name":"people_count","visibility":"Public","body":"tele_presence_data.try(&.people_count)"}},{"html_id":"pir_trigger:NamedTuple(timestamp:Int64)|Nil-instance-method","name":"pir_trigger","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L130"},"def":{"name":"pir_trigger","return_type":"NamedTuple(timestamp: Int64) | ::Nil","visibility":"Public","body":"@pir_trigger"}},{"html_id":"pir_triggered-instance-method","name":"pir_triggered","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L171"},"def":{"name":"pir_triggered","visibility":"Public","body":"if pir_trigger = @pir_trigger\n pir_trigger[:timestamp]\nend"}},{"html_id":"placed_position:IotPosition|Nil-instance-method","name":"placed_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L101"},"def":{"name":"placed_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@placed_position"}},{"html_id":"position:IotPosition-instance-method","name":"position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L195"},"def":{"name":"position","return_type":"IotPosition","visibility":"Public","body":"(@detected_position || @placed_position).not_nil!"}},{"html_id":"presence-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L139"},"def":{"name":"presence","visibility":"Public","body":"tele_presence_data.try(&.presence)"}},{"html_id":"raw_header:Int64-instance-method","name":"raw_header","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L109"},"def":{"name":"raw_header","return_type":"Int64","visibility":"Public","body":"@raw_header"}},{"html_id":"raw_payload:String-instance-method","name":"raw_payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L112"},"def":{"name":"raw_payload","return_type":"String","visibility":"Public","body":"@raw_payload"}},{"html_id":"raw_user_id-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L227"},"def":{"name":"raw_user_id","visibility":"Public","body":"\"\""}},{"html_id":"sequence_num:Int64-instance-method","name":"sequence_num","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L115"},"def":{"name":"sequence_num","return_type":"Int64","visibility":"Public","body":"@sequence_num"}},{"html_id":"ssid-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L235"},"def":{"name":"ssid","visibility":"Public","body":"\"IoT\""}},{"html_id":"tele_presence_data:TpData|Nil-instance-method","name":"tele_presence_data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L133"},"def":{"name":"tele_presence_data","return_type":"TpData | ::Nil","visibility":"Public","body":"@tele_presence_data"}},{"html_id":"temperature-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L153"},"def":{"name":"temperature","visibility":"Public","body":"if temp = @temperature_celsius\n temp[:temperatureInCelsius]\nend"}},{"html_id":"temperature_celsius:NamedTuple(temperatureInCelsius:Float64)|Nil-instance-method","name":"temperature_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L121"},"def":{"name":"temperature_celsius","return_type":"NamedTuple(temperatureInCelsius: Float64) | ::Nil","visibility":"Public","body":"@temperature_celsius"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L231"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"3.0"}},{"html_id":"visit_id-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L211"},"def":{"name":"visit_id","visibility":"Public","body":"\"unknown for IoT\""}},{"html_id":"x_pos(*args,**options)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.x_pos(*args, **options)"}},{"html_id":"x_pos(*args,**options,&)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.x_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"y_pos(*args,**options)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.y_pos(*args, **options)"}},{"html_id":"y_pos(*args,**options,&)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.y_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","path":"Cisco/DNASpaces/IotTelemetryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L129"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L130"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:IotTelemetry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L133"},"def":{"name":"payload","return_type":"IotTelemetry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","path":"Cisco/DNASpaces/KeepAlive.html","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L45"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L47"},"def":{"name":"payload","visibility":"Public","body":"nil"}}]},{"html_id":"drivers/Cisco/DNASpaces/Location","path":"Cisco/DNASpaces/Location.html","kind":"class","full_name":"Cisco::DNASpaces::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"descriptions(mappings={}ofString=>String)-instance-method","name":"descriptions","doc":"Maps location_ids to location names","summary":"

Maps location_ids to location names

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L25"},"def":{"name":"descriptions","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.descriptions(mappings))\nmappings[location_id] = name\nmappings\n"}},{"html_id":"details(mappings={}ofString=>String)-instance-method","name":"details","doc":"Maps tag names to location_ids","summary":"

Maps tag names to location_ids

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L18"},"def":{"name":"details","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.details(mappings))\ntags.each do |tag|\n mappings[tag] = location_id\nend\nmappings\n"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L7"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"parent:Location|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L15"},"def":{"name":"parent","return_type":"Location | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L13"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange","path":"Cisco/DNASpaces/LocationChange.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_type:String-instance-method","name":"change_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L7"},"def":{"name":"change_type","return_type":"String","visibility":"Public","body":"@change_type"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L8"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/LocationChange/LocationDetails","path":"Cisco/DNASpaces/LocationChange/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L25"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L22"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L24"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L27"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L28"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"metadata:Array(Metadata)-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L30"},"def":{"name":"metadata","return_type":"Array(Metadata)","visibility":"Public","body":"@metadata"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L23"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L21"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange/Metadata","path":"Cisco/DNASpaces/LocationChange/Metadata.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L13"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"values:Array(String)-instance-method","name":"values","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L14"},"def":{"name":"values","return_type":"Array(String)","visibility":"Public","body":"@values"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","path":"Cisco/DNASpaces/LocationChangeWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L74"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:LocationChange-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L77"},"def":{"name":"payload","return_type":"LocationChange","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationDetails","path":"Cisco/DNASpaces/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L12"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L9"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L11"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L14"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L15"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L10"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L7"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationInfo","path":"Cisco/DNASpaces/LocationInfo.html","kind":"class","full_name":"Cisco::DNASpaces::LocationInfo","name":"LocationInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"details:LocationDetails-instance-method","name":"details","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L165"},"def":{"name":"details","return_type":"LocationDetails","visibility":"Public","body":"@details"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L162"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}]},{"html_id":"drivers/Cisco/DNASpaces/MapInfo","path":"Cisco/DNASpaces/MapInfo.html","kind":"class","full_name":"Cisco::DNASpaces::MapInfo","name":"MapInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dimension:Cisco::DNASpaces::Dimension-instance-method","name":"dimension","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L29"},"def":{"name":"dimension","return_type":"Cisco::DNASpaces::Dimension","visibility":"Public","body":"@dimension"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L21"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_height:Float64-instance-method","name":"image_height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L27"},"def":{"name":"image_height","return_type":"Float64","visibility":"Public","body":"@image_height"}},{"html_id":"image_width:Float64-instance-method","name":"image_width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L24"},"def":{"name":"image_width","return_type":"Float64","visibility":"Public","body":"@image_width"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdate","path":"Cisco/DNASpaces/PeopleCountUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdate","name":"PeopleCountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is triggered from telepresence devices","summary":"

This is triggered from telepresence devices

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L25"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L19"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L22"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L9"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L13"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L10"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L28"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L16"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L31"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"tp_device_id:String-instance-method","name":"tp_device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L8"},"def":{"name":"tp_device_id","return_type":"String","visibility":"Public","body":"@tp_device_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","path":"Cisco/DNASpaces/PeopleCountUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L88"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:PeopleCountUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L91"},"def":{"name":"payload","return_type":"PeopleCountUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","path":"Cisco/DNASpaces/ProfileUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L67"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:Device-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L70"},"def":{"name":"payload","return_type":"Device","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiMeasurement","path":"Cisco/DNASpaces/RssiMeasurement.html","kind":"class","full_name":"Cisco::DNASpaces::RssiMeasurement","name":"RssiMeasurement","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"antenna_id:Int32-instance-method","name":"antenna_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id","return_type":"Int32","visibility":"Public","body":"@antenna_id"}},{"html_id":"antenna_id=(antenna_id:Int32)-instance-method","name":"antenna_id=","abstract":false,"args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"args_string":"(antenna_id : Int32)","args_html":"(antenna_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id=","args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"visibility":"Public","body":"@antenna_id = antenna_id"}},{"html_id":"band_id:Int32-instance-method","name":"band_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id","return_type":"Int32","visibility":"Public","body":"@band_id"}},{"html_id":"band_id=(band_id:Int32)-instance-method","name":"band_id=","abstract":false,"args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"args_string":"(band_id : Int32)","args_html":"(band_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id=","args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"visibility":"Public","body":"@band_id = band_id"}},{"html_id":"if_slot_id:Int32-instance-method","name":"if_slot_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id","return_type":"Int32","visibility":"Public","body":"@if_slot_id"}},{"html_id":"if_slot_id=(if_slot_id:Int32)-instance-method","name":"if_slot_id=","abstract":false,"args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"args_string":"(if_slot_id : Int32)","args_html":"(if_slot_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id=","args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"visibility":"Public","body":"@if_slot_id = if_slot_id"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiNotification","path":"Cisco/DNASpaces/RssiNotification.html","kind":"class","full_name":"Cisco::DNASpaces::RssiNotification","name":"RssiNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"measurements:Array(RssiMeasurement)-instance-method","name":"measurements","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements","return_type":"Array(RssiMeasurement)","visibility":"Public","body":"@measurements"}},{"html_id":"measurements=(measurements:Array(RssiMeasurement))-instance-method","name":"measurements=","abstract":false,"args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"args_string":"(measurements : Array(RssiMeasurement))","args_html":"(measurements : Array(RssiMeasurement))","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements=","args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"visibility":"Public","body":"@measurements = measurements"}},{"html_id":"payload:BlePayload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload","return_type":"BlePayload","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:BlePayload)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"args_string":"(payload : BlePayload)","args_html":"(payload : BlePayload)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"visibility":"Public","body":"@payload = payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/TpData","path":"Cisco/DNASpaces/TpData.html","kind":"class","full_name":"Cisco::DNASpaces::TpData","name":"TpData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"active_calls=(active_calls:Int32)-instance-method","name":"active_calls=","abstract":false,"args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"args_string":"(active_calls : Int32)","args_html":"(active_calls : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls=","args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"visibility":"Public","body":"@active_calls = active_calls"}},{"html_id":"air_quality_index:Float64-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index","return_type":"Float64","visibility":"Public","body":"@air_quality_index"}},{"html_id":"air_quality_index=(air_quality_index:Float64)-instance-method","name":"air_quality_index=","abstract":false,"args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"args_string":"(air_quality_index : Float64)","args_html":"(air_quality_index : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index=","args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"visibility":"Public","body":"@air_quality_index = air_quality_index"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"ambient_noise=(ambient_noise:Int32)-instance-method","name":"ambient_noise=","abstract":false,"args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"args_string":"(ambient_noise : Int32)","args_html":"(ambient_noise : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise=","args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"visibility":"Public","body":"@ambient_noise = ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"dryness_score=(dryness_score:Int32)-instance-method","name":"dryness_score=","abstract":false,"args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"args_string":"(dryness_score : Int32)","args_html":"(dryness_score : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score=","args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"visibility":"Public","body":"@dryness_score = dryness_score"}},{"html_id":"humidity_in_percentage:Float64-instance-method","name":"humidity_in_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage","return_type":"Float64","visibility":"Public","body":"@humidity_in_percentage"}},{"html_id":"humidity_in_percentage=(humidity_in_percentage:Float64)-instance-method","name":"humidity_in_percentage=","abstract":false,"args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"args_string":"(humidity_in_percentage : Float64)","args_html":"(humidity_in_percentage : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage=","args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"visibility":"Public","body":"@humidity_in_percentage = humidity_in_percentage"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"people_count=(people_count:Int32)-instance-method","name":"people_count=","abstract":false,"args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"args_string":"(people_count : Int32)","args_html":"(people_count : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count=","args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"visibility":"Public","body":"@people_count = people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L88"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"presentation_state=(presentation_state:Int32)-instance-method","name":"presentation_state=","abstract":false,"args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"args_string":"(presentation_state : Int32)","args_html":"(presentation_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state=","args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"visibility":"Public","body":"@presentation_state = presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"standby_state=(standby_state:Int32)-instance-method","name":"standby_state=","abstract":false,"args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"args_string":"(standby_state : Int32)","args_html":"(standby_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state=","args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"visibility":"Public","body":"@standby_state = standby_state"}},{"html_id":"temperature_in_celsius:Float64-instance-method","name":"temperature_in_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius","return_type":"Float64","visibility":"Public","body":"@temperature_in_celsius"}},{"html_id":"temperature_in_celsius=(temperature_in_celsius:Float64)-instance-method","name":"temperature_in_celsius=","abstract":false,"args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"args_string":"(temperature_in_celsius : Float64)","args_html":"(temperature_in_celsius : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius=","args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"visibility":"Public","body":"@temperature_in_celsius = temperature_in_celsius"}},{"html_id":"time_stamp:Int64-instance-method","name":"time_stamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp","return_type":"Int64","visibility":"Public","body":"@time_stamp"}},{"html_id":"time_stamp=(time_stamp:Int64)-instance-method","name":"time_stamp=","abstract":false,"args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"args_string":"(time_stamp : Int64)","args_html":"(time_stamp : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp=","args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"visibility":"Public","body":"@time_stamp = time_stamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence","path":"Cisco/DNASpaces/UserPresence.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_users_count:UserCount-instance-method","name":"active_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L79"},"def":{"name":"active_users_count","return_type":"UserCount","visibility":"Public","body":"@active_users_count"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L64"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L61"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L70"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L67"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_users_count:UserCount-instance-method","name":"inactive_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L82"},"def":{"name":"inactive_users_count","return_type":"UserCount","visibility":"Public","body":"@inactive_users_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L52"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L46"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L55"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L76"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"user:User-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L51"},"def":{"name":"user","return_type":"User","visibility":"Public","body":"@user"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L73"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L58"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L49"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/UserPresence/User","path":"Cisco/DNASpaces/UserPresence/User.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L13"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L16"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L20"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L17"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L23"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L15"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L26"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L14"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence/UserCount","path":"Cisco/DNASpaces/UserPresence/UserCount.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::UserCount","name":"UserCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"total_users:Int64-instance-method","name":"total_users","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L42"},"def":{"name":"total_users","return_type":"Int64","visibility":"Public","body":"@total_users"}},{"html_id":"users_with_user_id:Int64-instance-method","name":"users_with_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L36"},"def":{"name":"users_with_user_id","return_type":"Int64","visibility":"Public","body":"@users_with_user_id"}},{"html_id":"users_without_user_id:Int64-instance-method","name":"users_without_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L39"},"def":{"name":"users_without_user_id","return_type":"Int64","visibility":"Public","body":"@users_without_user_id"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","path":"Cisco/DNASpaces/UserPresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L102"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:UserPresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L105"},"def":{"name":"payload","return_type":"UserPresence","visibility":"Public","body":"@payload"}}]}]},{"html_id":"drivers/Cisco/Ise","path":"Cisco/Ise.html","kind":"module","full_name":"Cisco::Ise","name":"Ise","abstract":false,"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Ise/Guests","path":"Cisco/Ise/Guests.html","kind":"class","full_name":"Cisco::Ise::Guests","name":"Guests","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/vnd.com.cisco.ise.identity.guestuser.2.0+xml\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_guest(event_start:Int64,attendee_email:String,attendee_name:String,company_name:String|Nil=nil,phone_number:String=\"0123456789\",sms_service_provider:String|Nil=nil,guest_type:String|Nil=nil,portal_id:String|Nil=nil)-instance-method","name":"create_guest","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"args_string":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = \"0123456789\", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","args_html":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = "0123456789", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L53"},"def":{"name":"create_guest","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"guest_names = attendee_name.split\nfirst_name_index_end = guest_names.size > 1 ? -2 : -1\nfirst_name = guest_names[0..first_name_index_end].join(' ')\nlast_name = guest_names[-1]\nusername = genererate_username(first_name, last_name)\nif setting?(Bool, :test)\n return {\"username\" => username, \"password\" => UUID.random.to_s[0..3]}.merge(@custom_data)\nend\nsms_service_provider || (sms_service_provider = @sms_service_provider)\nguest_type || (guest_type = @guest_type)\nportal_id || (portal_id = @portal_id)\ntime_object = (Time.unix(event_start)).in(@timezone)\nfrom_date = time_object.at_beginning_of_day.to_s(TIME_FORMAT)\nto_date = time_object.at_end_of_day.to_s(TIME_FORMAT)\ncompany_name || (company_name = ((attendee_email.split('@'))[1].split('.'))[0].capitalize)\nxml_string = \"\\n \"\nif @location\n xml_string = xml_string + \"\\n \"\nend\nxml_string = xml_string + \"\\n \\n #{from_date}\"\nif @location\n xml_string = xml_string + \"\\n #{@location}\"\nend\nxml_string = xml_string + \"\\n #{to_date}\\n 1\\n \\n \\n #{company_name}\\n #{attendee_email}\\n #{first_name}\\n #{last_name}\\n English\\n #{phone_number}\"\nif sms_service_provider\n xml_string = xml_string + \"\\n #{sms_service_provider}\"\nend\nxml_string = xml_string + \"\\n #{username}\\n \\n #{guest_type}\\n #{portal_id}\\n \"\nresponse = post(\"/guestuser/\", body: xml_string, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\nguest_id = (response.headers[\"Location\"].split('/')).last\n(guest_crendentials(guest_id)).merge(@custom_data)\n"}},{"html_id":"guest_crendentials(id:String)-instance-method","name":"guest_crendentials","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L140"},"def":{"name":"guest_crendentials","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/guestuser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nparsed_body = XML.parse(response.body)\nguest_user = parsed_body.first_element_child.not_nil!\nguest_info = guest_user.children.find do |c|\n c.name == \"guestInfo\"\nend.not_nil!\n{\"username\" => guest_info.children.find do |c|\n c.name == \"userName\"\nend.not_nil!.content, \"password\" => guest_info.children.find do |c|\n c.name == \"password\"\nend.not_nil!.content}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@basic_auth = \"Basic #{Base64.strict_encode(\"#{setting?(String, :username)}:#{setting?(String, :password)}\")}\"\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@location = setting?(String, :location)\n@sms_service_provider = setting?(String, :sms_service_provider)\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, JSON::Any::Type), :custom_data)) || ({} of String => JSON::Any::Type)\n"}},{"html_id":"test2-instance-method","name":"test2","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L164"},"def":{"name":"test2","visibility":"Public","body":"xml_string = \"\\n\\n\\n08/06/2014 23:22\\n08/07/2014 23:22\\n1\\n\\n\\nNew Company\\njohn@example.com\\nJohn\\nDoe\\nEnglish\\n9999998877\\nGlobal Default\\nautoguestuser1\\n\\nDaily\\nsponsor\\nportal101\\ninterview\\n\"\ntest_xml(xml_string)\n"}},{"html_id":"test_json(json:String)-instance-method","name":"test_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L190"},"def":{"name":"test_json","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: json, headers: {\"Accept\" => \"application/json\", \"Content-Type\" => \"application/json\", \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"test_xml(xml_string:String)-instance-method","name":"test_xml","abstract":false,"args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"args_string":"(xml_string : String)","args_html":"(xml_string : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L155"},"def":{"name":"test_xml","args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: (XML.parse(xml_string)).to_s, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}}]},{"html_id":"drivers/Cisco/Ise/Models","path":"Cisco/Ise/Models.html","kind":"module","full_name":"Cisco::Ise::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"types":[{"html_id":"drivers/Cisco/Ise/Models/InternalUser","path":"Cisco/Ise/Models/InternalUser.html","kind":"class","full_name":"Cisco::Ise::Models::InternalUser","name":"InternalUser","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Ise/Models","kind":"module","full_name":"Cisco::Ise::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_password:Bool-instance-method","name":"change_password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password","return_type":"Bool","visibility":"Public","body":"@change_password"}},{"html_id":"change_password=(change_password:Bool)-instance-method","name":"change_password=","abstract":false,"args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"args_string":"(change_password : Bool)","args_html":"(change_password : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password=","args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"visibility":"Public","body":"@change_password = change_password"}},{"html_id":"custom_attributes:Hash(String,String)-instance-method","name":"custom_attributes","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes","return_type":"Hash(String, String)","visibility":"Public","body":"@custom_attributes"}},{"html_id":"custom_attributes=(custom_attributes:Hash(String,String))-instance-method","name":"custom_attributes=","abstract":false,"args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"args_string":"(custom_attributes : Hash(String, String))","args_html":"(custom_attributes : Hash(String, String))","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes=","args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@custom_attributes = custom_attributes"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"enabled=(enabled:Bool)-instance-method","name":"enabled=","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"args_string":"(enabled : Bool)","args_html":"(enabled : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled=","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"visibility":"Public","body":"@enabled = enabled"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"identity_groups:String|Nil-instance-method","name":"identity_groups","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups","return_type":"String | ::Nil","visibility":"Public","body":"@identity_groups"}},{"html_id":"identity_groups=(identity_groups:String|Nil)-instance-method","name":"identity_groups=","abstract":false,"args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"args_string":"(identity_groups : String | Nil)","args_html":"(identity_groups : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups=","args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"visibility":"Public","body":"@identity_groups = identity_groups"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"password:String|Nil-instance-method","name":"password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password","return_type":"String | ::Nil","visibility":"Public","body":"@password"}},{"html_id":"password=(password:String|Nil)-instance-method","name":"password=","abstract":false,"args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(password : String | Nil)","args_html":"(password : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password=","args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"@password = password"}},{"html_id":"password_store:String-instance-method","name":"password_store","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store","return_type":"String","visibility":"Public","body":"@password_store"}},{"html_id":"password_store=(password_store:String)-instance-method","name":"password_store=","abstract":false,"args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"args_string":"(password_store : String)","args_html":"(password_store : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store=","args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"visibility":"Public","body":"@password_store = password_store"}}]}]},{"html_id":"drivers/Cisco/Ise/NetworkAccess","path":"Cisco/Ise/NetworkAccess.html","kind":"class","full_name":"Cisco::Ise::NetworkAccess","name":"NetworkAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/network_access.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/json\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_internal_user(email:String,name:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,password:String|Nil=nil,identity_groups:Array(String)=[]ofString)-instance-method","name":"create_internal_user","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","args_html":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L79"},"def":{"name":"create_internal_user","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"name || (name = email)\npassword || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = Models::InternalUser.from_json({name: name, email: email, password: password, firstName: first_name, lastName: last_name, description: description, identityGroups: identity_groups.join(\",\")}.to_json)\nif @debug\n logger.debug do\n \"Creating Internal User: #{internal_user.to_json}\"\n end\nend\nresponse = post(\"/internaluser/\", body: {\"InternalUser\" => internal_user}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"Failed to create internal user, code #{response.status_code}\\n#{response.body}\")\nend\nuser = get_internal_user_by_name(name)\nuser.password = password\nuser\n"}},{"html_id":"get_internal_user_by_email(email:String)-instance-method","name":"get_internal_user_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L160"},"def":{"name":"get_internal_user_by_email","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/?filter=email.CONTAINS.#{email}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\nresources = parsed_body[\"SearchResult\"].as_h[\"resources\"].as_a\nif resources.empty?\n raise(\"returned body has no resources\")\nend\nget_internal_user_by_id(resources.first.as_h[\"id\"].to_s)\n"}},{"html_id":"get_internal_user_by_id(id:String)-instance-method","name":"get_internal_user_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L126"},"def":{"name":"get_internal_user_by_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by id, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"get_internal_user_by_name(name:String)-instance-method","name":"get_internal_user_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L143"},"def":{"name":"get_internal_user_by_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/name/#{name}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by name, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L49"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L53"},"def":{"name":"on_update","visibility":"Public","body":"username = setting?(String, :username)\npassword = setting?(String, :password)\n@basic_auth = [\"Basic\", Base64.strict_encode([username, password].join(\":\"))].join(\" \")\n@debug = (setting?(Bool, :debug)) || false\n@test_mode = (setting?(Bool, :test)) || false\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@sms_service_provider = setting?(String, :sms_service_provider)\n@password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, String), :custom_data)) || ({} of String => String)\nif @debug\n logger.debug do\n \"Basic auth details: #{@basic_auth}\"\n end\nend\n"}},{"html_id":"update_internal_user_identity_groups_by_email(email:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, identity_groups : Array(String))","args_html":"(email : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L262"},"def":{"name":"update_internal_user_identity_groups_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_email(email)\nupdate_internal_user_identity_groups_by_id(internal_user.id.to_s, identity_groups)\n"}},{"html_id":"update_internal_user_identity_groups_by_id(id:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(id : String, identity_groups : Array(String))","args_html":"(id : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L236"},"def":{"name":"update_internal_user_identity_groups_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_id(id)\nresponse = put(\"/internaluser/#{internal_user.id}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_identity_groups_by_name(name:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(name : String, identity_groups : Array(String))","args_html":"(name : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L250"},"def":{"name":"update_internal_user_identity_groups_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"response = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_email(email:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(email : String, password : String | Nil = nil)","args_html":"(email : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L222"},"def":{"name":"update_internal_user_password_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = get_internal_user_by_email(email)\nupdate_internal_user_password_by_id(internal_user.id.to_s, password)\n"}},{"html_id":"update_internal_user_password_by_id(id:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(id : String, password : String | Nil = nil)","args_html":"(id : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L180"},"def":{"name":"update_internal_user_password_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/#{id}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_name(name:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(name : String, password : String | Nil = nil)","args_html":"(name : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L201"},"def":{"name":"update_internal_user_password_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}}]}]},{"html_id":"drivers/Cisco/Meraki","path":"Cisco/Meraki.html","kind":"module","full_name":"Cisco::Meraki","name":"Meraki","abstract":false,"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L6"},{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L4"},{"filename":"src/cisco/meraki/scanning_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"\"%FT%T%z\""}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"doc":"Meraki MQTT Data Models","summary":"

Meraki MQTT Data Models

","types":[{"html_id":"drivers/Cisco/Meraki/AlertType","path":"Cisco/Meraki/AlertType.html","kind":"enum","full_name":"Cisco::Meraki::AlertType","name":"AlertType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L365"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PortConnected","name":"PortConnected","value":"0"},{"id":"PortDisconnected","name":"PortDisconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"port_connected?-instance-method","name":"port_connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L366"},"def":{"name":"port_connected?","visibility":"Public","body":"self == PortConnected"}},{"html_id":"port_disconnected?-instance-method","name":"port_disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L367"},"def":{"name":"port_disconnected?","visibility":"Public","body":"self == PortDisconnected"}}]},{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","path":"Cisco/Meraki/CameraAnalytics.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601_MS","name":"ISO8601_MS","value":"\"%FT%T.%3N%z\""}],"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ts:Time-instance-method","name":"ts","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts","return_type":"Time","visibility":"Public","body":"@ts"}},{"html_id":"ts=(ts:Time)-instance-method","name":"ts=","abstract":false,"args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"args_string":"(ts : Time)","args_html":"(ts : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts=","args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"visibility":"Public","body":"@ts = ts"}},{"html_id":"zones:Hash(Int64,PeopleCount)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones","return_type":"Hash(Int64, PeopleCount)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Hash(Int64,PeopleCount))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"args_string":"(zones : Hash(Int64, PeopleCount))","args_html":"(zones : Hash(Int64, PeopleCount))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"visibility":"Public","body":"@zones = zones"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraAnalytics/PeopleCount","path":"Cisco/Meraki/CameraAnalytics/PeopleCount.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics::PeopleCount","name":"PeopleCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person:Int32-instance-method","name":"person","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person","return_type":"Int32","visibility":"Public","body":"@person"}},{"html_id":"person=(person:Int32)-instance-method","name":"person=","abstract":false,"args":[{"name":"person","external_name":"person","restriction":"Int32"}],"args_string":"(person : Int32)","args_html":"(person : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person=","args":[{"name":"person","external_name":"person","restriction":"Int32"}],"visibility":"Public","body":"@person = person"}}]}]},{"html_id":"drivers/Cisco/Meraki/CameraZone","path":"Cisco/Meraki/CameraZone.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L302"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L303"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"distance:Float64-instance-method","name":"distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance","return_type":"Float64","visibility":"Public","body":"@distance"}},{"html_id":"distance=(distance:Float64)-instance-method","name":"distance=","abstract":false,"args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"args_string":"(distance : Float64)","args_html":"(distance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance=","args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"visibility":"Public","body":"@distance = distance"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L315"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"label:String-instance-method","name":"label","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L317"},"def":{"name":"label","return_type":"String","visibility":"Public","body":"@label"}},{"html_id":"mid_point-instance-method","name":"mid_point","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L325"},"def":{"name":"mid_point","visibility":"Public","body":"mid_x = (region.x0.to_f64 + region.x1.to_f64) / 2.0\nmid_y = (region.y0.to_f64 + region.y1.to_f64) / 2.0\n{mid_x, mid_y}\n"}},{"html_id":"region:Region-instance-method","name":"region","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L320"},"def":{"name":"region","return_type":"Region","visibility":"Public","body":"@region"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L316"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L331"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"if (value = @x).nil?\n @x = (begin\n xpos, @y = mid_point\n xpos\n end)\nelse\n value\nend"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L336"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"if (value = @y).nil?\n @y = (begin\n @x, ypos = mid_point\n ypos\n end)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraZone/Region","path":"Cisco/Meraki/CameraZone/Region.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone::Region","name":"Region","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L305"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraZone","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L306"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x0:String-instance-method","name":"x0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L308"},"def":{"name":"x0","return_type":"String","visibility":"Public","body":"@x0"}},{"html_id":"x1:String-instance-method","name":"x1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L310"},"def":{"name":"x1","return_type":"String","visibility":"Public","body":"@x1"}},{"html_id":"y0:String-instance-method","name":"y0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L309"},"def":{"name":"y0","return_type":"String","visibility":"Public","body":"@y0"}},{"html_id":"y1:String-instance-method","name":"y1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L311"},"def":{"name":"y1","return_type":"String","visibility":"Public","body":"@y1"}}]}]},{"html_id":"drivers/Cisco/Meraki/CaptivePortal","path":"Cisco/Meraki/CaptivePortal.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"JSON_HEADERS","name":"JSON_HEADERS","value":"{\"Content-Type\" => \"application/json\"}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"challenge(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"challenge","doc":"Webhook for providing guest access","summary":"

Webhook for providing guest access

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L98"},"def":{"name":"challenge","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"guest access attempt: #{method},\\nheaders #{headers},\\nbody #{body}\"\n end\n challenge = ChallengePayload.from_json(body)\n check_code = challenge.code\n guest_codes = generate_guest_data(challenge.email, Time.utc.to_unix, challenge.timezone)\n matched = (guest_codes.scan(/.{#{@code_length}}/)).count do |code|\n code[0] == check_code\n end > 0\n if matched\n challenge.expires = @access_duration.from_now\n @guests[format_mac(challenge.client_mac)] = challenge\n @granted = @granted + 1_u64\n self[:granted_access] = @granted\n redirect_url = \"#{challenge.base_grant_url}?duration=#{@access_duration.to_i}&continue_url=#{challenge.user_continue || @success_url}\"\n response = {redirect_to: redirect_url}.to_json\n logger.debug do\n \"successful joined network #{challenge.inspect}\"\n end\n {HTTP::Status::OK, JSON_HEADERS, response}\n else\n @denied = @denied + 1_u64\n self[:denied_access] = @denied\n logger.debug do\n \"failed wifi access attempt by #{challenge.inspect}\"\n end\n {HTTP::Status::NOT_ACCEPTABLE, JSON_HEADERS, \"{}\"}\n end\nrescue error\n @errors = @errors + 1_u64\n self[:errors] = @errors\n last_error = error.inspect_with_backtrace\n self[:last_error] = last_error\n logger.error do\n \"failed to parse wifi challenge payload\\n#{error}\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR, EMPTY_HEADERS, nil}\nend"}},{"html_id":"generate_guest_data(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_data","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L62"},"def":{"name":"generate_guest_data","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_zone = time_zone.presence ? Time::Location.load(time_zone.not_nil!) : @default_timezone\ndate = ((Time.unix(time)).in(time_zone)).to_s(@date_format)\nguest_string = \"#{email.downcase}-#{date}-#{@wifi_secret}\"\n((OpenSSL::Digest.new(\"SHA256\")).update(guest_string)).final.hexstring\n"}},{"html_id":"generate_guest_token(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_token","doc":"Splits the SHA256 into code length and then randomly selects one","summary":"

Splits the SHA256 into code length and then randomly selects one

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L71"},"def":{"name":"generate_guest_token","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"(((generate_guest_data(email, time, time_zone)).scan(/.{#{@code_length}}/)).sample(1))[0][0]"}},{"html_id":"guests:Hash(String,Cisco::Meraki::CaptivePortal::ChallengePayload)-instance-method","name":"guests","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L53"},"def":{"name":"guests","visibility":"Public","body":"@guests"}},{"html_id":"lookup(mac:String)-instance-method","name":"lookup","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L58"},"def":{"name":"lookup","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@guests[format_mac(mac)]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@wifi_secret = (setting?(String, :wifi_secret)) || \"anything really\"\n@date_format = (setting?(String, :date_format)) || \"%Y%m%d\"\n@success_url = (setting?(String, :success_url)) || \"https://place.technology/\"\n@access_duration = ((setting?(Int32, :access_duration)) || 12).hours\n@code_length = (setting?(Int32, :code_length)) || 4\ntime_zone = (setting?(String, :default_timezone)).presence\nif time_zone\n @default_timezone = Time::Location.load(time_zone)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CaptivePortal/ChallengePayload","path":"Cisco/Meraki/CaptivePortal/ChallengePayload.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal::ChallengePayload","name":"ChallengePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CaptivePortal","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"base_grant_url:String-instance-method","name":"base_grant_url","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url","return_type":"String","visibility":"Public","body":"@base_grant_url"}},{"html_id":"base_grant_url=(base_grant_url:String)-instance-method","name":"base_grant_url=","abstract":false,"args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"args_string":"(base_grant_url : String)","args_html":"(base_grant_url : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url=","args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"visibility":"Public","body":"@base_grant_url = base_grant_url"}},{"html_id":"client_ip:String-instance-method","name":"client_ip","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip","return_type":"String","visibility":"Public","body":"@client_ip"}},{"html_id":"client_ip=(client_ip:String)-instance-method","name":"client_ip=","abstract":false,"args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"args_string":"(client_ip : String)","args_html":"(client_ip : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip=","args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"visibility":"Public","body":"@client_ip = client_ip"}},{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"code:String-instance-method","name":"code","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code","return_type":"String","visibility":"Public","body":"@code"}},{"html_id":"code=(code:String)-instance-method","name":"code=","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"}],"args_string":"(code : String)","args_html":"(code : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"String"}],"visibility":"Public","body":"@code = code"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expires:Time|Nil-instance-method","name":"expires","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires","return_type":"Time | ::Nil","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time|Nil)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"args_string":"(expires : Time | Nil)","args_html":"(expires : Time | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@expires = expires"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_continue:String|Nil-instance-method","name":"user_continue","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue","return_type":"String | ::Nil","visibility":"Public","body":"@user_continue"}},{"html_id":"user_continue=(user_continue:String|Nil)-instance-method","name":"user_continue=","abstract":false,"args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"args_string":"(user_continue : String | Nil)","args_html":"(user_continue : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue=","args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user_continue = user_continue"}}]}]},{"html_id":"drivers/Cisco/Meraki/Client","path":"Cisco/Meraki/Client.html","kind":"class","full_name":"Cisco::Meraki::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"first_seen:String-instance-method","name":"first_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen","return_type":"String","visibility":"Public","body":"@first_seen"}},{"html_id":"first_seen=(first_seen:String)-instance-method","name":"first_seen=","abstract":false,"args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"args_string":"(first_seen : String)","args_html":"(first_seen : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen=","args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"visibility":"Public","body":"@first_seen = first_seen"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"ip:String|Nil-instance-method","name":"ip","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip","return_type":"String | ::Nil","visibility":"Public","body":"@ip"}},{"html_id":"ip6:String|Nil-instance-method","name":"ip6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6","return_type":"String | ::Nil","visibility":"Public","body":"@ip6"}},{"html_id":"ip6=(ip6:String|Nil)-instance-method","name":"ip6=","abstract":false,"args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"args_string":"(ip6 : String | Nil)","args_html":"(ip6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6=","args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6 = ip6"}},{"html_id":"ip6_local:String|Nil-instance-method","name":"ip6_local","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local","return_type":"String | ::Nil","visibility":"Public","body":"@ip6_local"}},{"html_id":"ip6_local=(ip6_local:String|Nil)-instance-method","name":"ip6_local=","abstract":false,"args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"args_string":"(ip6_local : String | Nil)","args_html":"(ip6_local : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local=","args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6_local = ip6_local"}},{"html_id":"ip=(ip:String|Nil)-instance-method","name":"ip=","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"args_string":"(ip : String | Nil)","args_html":"(ip : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip=","args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip = ip"}},{"html_id":"last_seen:Time-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen","return_type":"Time","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"args_string":"(last_seen : Time)","args_html":"(last_seen : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"recent_device_mac:String|Nil-instance-method","name":"recent_device_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_mac"}},{"html_id":"recent_device_mac=(recent_device_mac:String|Nil)-instance-method","name":"recent_device_mac=","abstract":false,"args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"args_string":"(recent_device_mac : String | Nil)","args_html":"(recent_device_mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac=","args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_mac = recent_device_mac"}},{"html_id":"recent_device_serial:String|Nil-instance-method","name":"recent_device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_serial"}},{"html_id":"recent_device_serial=(recent_device_serial:String|Nil)-instance-method","name":"recent_device_serial=","abstract":false,"args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"args_string":"(recent_device_serial : String | Nil)","args_html":"(recent_device_serial : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial=","args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_serial = recent_device_serial"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}},{"html_id":"switch_port:Int32-instance-method","name":"switch_port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L151"},"def":{"name":"switch_port","return_type":"Int32","visibility":"Public","body":"if (value = @switch_port).nil?\n @switch_port = ((@switchport.as(String)).to_i)\nelse\n value\nend"}},{"html_id":"switchport:String|Nil-instance-method","name":"switchport","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport","return_type":"String | ::Nil","visibility":"Public","body":"@switchport"}},{"html_id":"switchport=(switchport:String|Nil)-instance-method","name":"switchport=","abstract":false,"args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"args_string":"(switchport : String | Nil)","args_html":"(switchport : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport=","args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"visibility":"Public","body":"@switchport = switchport"}},{"html_id":"time_added:Time-instance-method","name":"time_added","abstract":false,"def":{"name":"time_added","return_type":"Time","visibility":"Public","body":"if (value = @time_added).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::Client#time_added cannot be nil\"))\nelse\n value\nend"}},{"html_id":"time_added=(time_added:Time)-instance-method","name":"time_added=","abstract":false,"args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"args_string":"(time_added : Time)","args_html":"(time_added : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L148"},"def":{"name":"time_added=","args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"visibility":"Public","body":"@time_added = time_added"}},{"html_id":"time_added?:Time|Nil-instance-method","name":"time_added?","abstract":false,"def":{"name":"time_added?","return_type":"Time | ::Nil","visibility":"Public","body":"@time_added"}},{"html_id":"user:String|Nil-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"vlan:String|Nil-instance-method","name":"vlan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan","return_type":"String | ::Nil","visibility":"Public","body":"@vlan"}},{"html_id":"vlan=(vlan:String|Nil)-instance-method","name":"vlan=","abstract":false,"args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"args_string":"(vlan : String | Nil)","args_html":"(vlan : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan=","args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"visibility":"Public","body":"@vlan = vlan"}}]},{"html_id":"drivers/Cisco/Meraki/ConnectionType","path":"Cisco/Meraki/ConnectionType.html","kind":"enum","full_name":"Cisco::Meraki::ConnectionType","name":"ConnectionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L360"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Wired","name":"Wired","value":"0"},{"id":"Wireless","name":"Wireless","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"wired?-instance-method","name":"wired?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L361"},"def":{"name":"wired?","visibility":"Public","body":"self == Wired"}},{"html_id":"wireless?-instance-method","name":"wireless?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L362"},"def":{"name":"wireless?","visibility":"Public","body":"self == Wireless"}}]},{"html_id":"drivers/Cisco/Meraki/CountType","path":"Cisco/Meraki/CountType.html","kind":"enum","full_name":"Cisco::Meraki::CountType","name":"CountType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"People","name":"People","value":"0"},{"id":"Vehicles","name":"Vehicles","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"people?-instance-method","name":"people?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L44"},"def":{"name":"people?","visibility":"Public","body":"self == People"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L46"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicles?-instance-method","name":"vehicles?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L45"},"def":{"name":"vehicles?","visibility":"Public","body":"self == Vehicles"}}]},{"html_id":"drivers/Cisco/Meraki/Crossing","path":"Cisco/Meraki/Crossing.html","kind":"struct","full_name":"Cisco::Meraki::Crossing","name":"Crossing","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event:CrossingEvent-instance-method","name":"event","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L95"},"def":{"name":"event","return_type":"CrossingEvent","visibility":"Public","body":"@event"}},{"html_id":"label:String|Nil-instance-method","name":"label","doc":"getter object_id : Int64","summary":"

getter object_id : Int64

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L94"},"def":{"name":"label","return_type":"String | ::Nil","visibility":"Public","body":"@label"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L92"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"type:CrossingObject-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L96"},"def":{"name":"type","return_type":"CrossingObject","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingEvent","path":"Cisco/Meraki/CrossingEvent.html","kind":"enum","full_name":"Cisco::Meraki::CrossingEvent","name":"CrossingEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CrossingIn","name":"CrossingIn","value":"0"},{"id":"CrossingOut","name":"CrossingOut","value":"1"},{"id":"Expired","name":"Expired","value":"2"},{"id":"Appeared","name":"Appeared","value":"3"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"appeared?-instance-method","name":"appeared?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L85"},"def":{"name":"appeared?","visibility":"Public","body":"self == Appeared"}},{"html_id":"crossing_in?-instance-method","name":"crossing_in?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L82"},"def":{"name":"crossing_in?","visibility":"Public","body":"self == CrossingIn"}},{"html_id":"crossing_out?-instance-method","name":"crossing_out?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L83"},"def":{"name":"crossing_out?","visibility":"Public","body":"self == CrossingOut"}},{"html_id":"expired?-instance-method","name":"expired?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L84"},"def":{"name":"expired?","visibility":"Public","body":"self == Expired"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingObject","path":"Cisco/Meraki/CrossingObject.html","kind":"enum","full_name":"Cisco::Meraki::CrossingObject","name":"CrossingObject","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Person","name":"Person","value":"0"},{"id":"Vehicle","name":"Vehicle","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"person?-instance-method","name":"person?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L76"},"def":{"name":"person?","visibility":"Public","body":"self == Person"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L78"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicle?-instance-method","name":"vehicle?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L77"},"def":{"name":"vehicle?","visibility":"Public","body":"self == Vehicle"}}]},{"html_id":"drivers/Cisco/Meraki/Dashboard","path":"Cisco/Meraki/Dashboard.html","kind":"class","full_name":"Cisco::Meraki::Dashboard","name":"Dashboard","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/dashboard.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK.to_i, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"fetch(location:String)-instance-method","name":"fetch","doc":"Perform fetch with the required API request limits in place","summary":"

Perform fetch with the required API request limits in place

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L69"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"req(location, &.body)"}},{"html_id":"fetch_all(location:String)-instance-method","name":"fetch_all","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L74"},"def":{"name":"fetch_all","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"responses = [] of String\nreq_all_pages(location) do |response|\n responses << response.body\nend\nresponses\n"}},{"html_id":"get_zones(camera_serial:String)-instance-method","name":"get_zones","abstract":false,"args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"args_string":"(camera_serial : String)","args_html":"(camera_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L183"},"def":{"name":"get_zones","args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{camera_serial}/camera/analytics/zones\") do |response|\n Array(CameraZone).from_json(response.body)\nend"}},{"html_id":"networks(organization_id:String)-instance-method","name":"networks","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L142"},"def":{"name":"networks","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"nets = [] of Network\nreq_all_pages(\"/api/v1/organizations/#{organization_id}/networks?perPage=1000\") do |response|\n nets.concat(Array(Network).from_json(response.body))\nend\nnets\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L38"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@scanning_validator = (setting?(String, :meraki_validator)) || \"\"\n@scanning_secret = (setting?(String, :meraki_secret)) || \"\"\n@api_key = (setting?(String, :meraki_api_key)) || \"\"\n@scanning_api_filter = (setting?(MessageType, :scanning_api_filter)) || MessageType::WiFi\n@rate_limit = (setting?(Int32, :rate_limit)) || 4\n@wait_time = 1.second / @rate_limit\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n"}},{"html_id":"organizations-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L135"},"def":{"name":"organizations","visibility":"Public","body":"req(\"/api/v1/organizations?perPage=1000\") do |response|\n Array(Organization).from_json(response.body)\nend"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil,statuses:String=\"Online\")-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = \"Online\")","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = "Online")","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L151"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"perPage\", \"1000\")\n form.add(\"timespan\", timespan.to_s)\n form.add(\"statuses[]\", statuses)\n if connection\n form.add(\"recentDeviceConnections[]\", connection.to_s)\n end\nend\nclients = [] of Client\nreq_all_pages(\"/api/v1/networks/#{network_id}/clients?#{params}\") do |response|\n clients.concat(Array(Client).from_json(response.body))\nend\nif device_serial\n clients.select! do |client|\n client.recent_device_serial == device_serial\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nelse\n clients.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nend\n"}},{"html_id":"port_status(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"port_status","doc":"a webhook for obtaining changes in port status","summary":"

a webhook for obtaining changes in port status

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L228"},"def":{"name":"port_status","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Webhook Alert received: #{method},\\nheaders #{headers},\\nbody #{body}\"\nend\nself[:port_update] = WebhookAlert.from_json(body)\nSUCCESS_RESPONSE\n"}},{"html_id":"ports_statuses(device_serial:String)-instance-method","name":"ports_statuses","abstract":false,"args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"args_string":"(device_serial : String)","args_html":"(device_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L177"},"def":{"name":"ports_statuses","args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{device_serial}/switch/ports/statuses\") do |response|\n Array(PortStatusResponse).from_json(response.body)\nend"}},{"html_id":"scanning_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"scanning_api","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L190"},"def":{"name":"scanning_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nif method == \"GET\"\n return {HTTP::Status::OK.to_i, EMPTY_HEADERS, @scanning_validator}\nend\nif !(body.starts_with?(\"{\\\"version\\\":\\\"3.0\\\"\"))\n logger.warn do\n \"unknown scanning API message received:\\n#{body[0..96]}\"\n end\n return SUCCESS_RESPONSE\nend\nbegin\n seen = DevicesSeen.from_json(body)\n logger.debug do\n \"parsed meraki payload\"\n end\n if (!@scanning_api_filter.none?) && (seen.message_type != @scanning_api_filter)\n logger.debug do\n \"ignoring message type: #{seen.message_type}\"\n end\n return SUCCESS_RESPONSE\n end\n if seen.secret == @scanning_secret\n else\n raise(\"secret mismatch, sent: #{seen.secret}\")\n end\n self[seen.data.network_id] = seen.data.observations\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]},{"html_id":"drivers/Cisco/Meraki/Data","path":"Cisco/Meraki/Data.html","kind":"class","full_name":"Cisco::Meraki::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L276"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L277"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"network_id=(network_id:String)-instance-method","name":"network_id=","abstract":false,"args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"args_string":"(network_id : String)","args_html":"(network_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id=","args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"visibility":"Public","body":"@network_id = network_id"}},{"html_id":"observations:Array(Observation)-instance-method","name":"observations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations","return_type":"Array(Observation)","visibility":"Public","body":"@observations"}},{"html_id":"observations=(observations:Array(Observation))-instance-method","name":"observations=","abstract":false,"args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"args_string":"(observations : Array(Observation))","args_html":"(observations : Array(Observation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations=","args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"visibility":"Public","body":"@observations = observations"}}]},{"html_id":"drivers/Cisco/Meraki/DeskMappings","path":"Cisco/Meraki/DeskMappings.html","kind":"struct","full_name":"Cisco::Meraki::DeskMappings","name":"DeskMappings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L342"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L343"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L346"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}},{"html_id":"ports:Hash(Int32,String)-instance-method","name":"ports","doc":"port_id => desk_id","summary":"

port_id => desk_id

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L349"},"def":{"name":"ports","return_type":"Hash(Int32, String)","visibility":"Public","body":"@ports"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L345"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}}]},{"html_id":"drivers/Cisco/Meraki/DetectedDesks","path":"Cisco/Meraki/DetectedDesks.html","kind":"class","full_name":"Cisco::Meraki::DetectedDesks","name":"DetectedDesks","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api_version:Int32-instance-method","name":"api_version","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L17"},"def":{"name":"api_version","return_type":"Int32","visibility":"Public","body":"@api_version"}},{"html_id":"desks:Array(Tuple(Float64,Float64,Float64,Float64,Float64,Float64,Float64))-instance-method","name":"desks","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L26"},"def":{"name":"desks","return_type":"Array(Tuple(Float64, Float64, Float64, Float64, Float64, Float64, Float64))","visibility":"Public","body":"@desks"}},{"html_id":"time_string:String|Nil-instance-method","name":"time_string","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L24"},"def":{"name":"time_string","return_type":"String | ::Nil","visibility":"Public","body":"@time_string"}},{"html_id":"time_unix:Int64|Nil-instance-method","name":"time_unix","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L21"},"def":{"name":"time_unix","return_type":"Int64 | ::Nil","visibility":"Public","body":"@time_unix"}}]},{"html_id":"drivers/Cisco/Meraki/DeviceLocation","path":"Cisco/Meraki/DeviceLocation.html","kind":"class","full_name":"Cisco::Meraki::DeviceLocation","name":"DeviceLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"calculate_location(floor:FloorPlan,device:NetworkDevice,time:Time):DeviceLocation-class-method","name":"calculate_location","abstract":false,"args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","args_html":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L173"},"def":{"name":"calculate_location","args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"return_type":"DeviceLocation","visibility":"Public","body":"distance = Geo.calculate_xy(floor.top_left, floor.bottom_left, floor.bottom_right, device, floor.to_distance)\nDeviceLocation.new(distance.x, distance.y, device.lng, device.lat, 25_f64, floor.id, floor.name, time)\n"}},{"html_id":"new(x:Float64|String|Nil,y:Float64|String|Nil,lng:Float64|Nil,lat:Float64|Nil,variance:Float64,floor_plan_id:Nil|String,floor_plan_name:Nil|String,time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"args_string":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","args_html":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L165"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y, lng, lat, variance, floor_plan_id, floor_plan_name, time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client:Client|Nil-instance-method","name":"client","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client","return_type":"Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"client=(client:Client|Nil)-instance-method","name":"client=","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"args_string":"(client : Client | Nil)","args_html":"(client : Client | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"visibility":"Public","body":"@client = client"}},{"html_id":"floor_plan:FloorPlanLocation|Nil-instance-method","name":"floor_plan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan","return_type":"FloorPlanLocation | ::Nil","visibility":"Public","body":"@floor_plan"}},{"html_id":"floor_plan=(floor_plan:FloorPlanLocation|Nil)-instance-method","name":"floor_plan=","abstract":false,"args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"args_string":"(floor_plan : FloorPlanLocation | Nil)","args_html":"(floor_plan : FloorPlanLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan=","args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"visibility":"Public","body":"@floor_plan = floor_plan"}},{"html_id":"floor_plan_id-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L237"},"def":{"name":"floor_plan_id","visibility":"Public","body":"wifi_floor_plan_id || floor_plan.try(&.id)"}},{"html_id":"floor_plan_name-instance-method","name":"floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L241"},"def":{"name":"floor_plan_name","visibility":"Public","body":"wifi_floor_plan_name || floor_plan.try(&.name)"}},{"html_id":"get_x:Float64|Nil-instance-method","name":"get_x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L221"},"def":{"name":"get_x","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = x || floor_plan.try(&.x)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"get_y:Float64|Nil-instance-method","name":"get_y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L229"},"def":{"name":"get_y","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = y || floor_plan.try(&.y)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64|Nil)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"args_string":"(lat : Float64 | Nil)","args_html":"(lat : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64|Nil)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"args_string":"(lng : Float64 | Nil)","args_html":"(lng : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"nearest_ap_tags:Array(String)-instance-method","name":"nearest_ap_tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags","return_type":"Array(String)","visibility":"Public","body":"if (value = @nearest_ap_tags).nil?\n @nearest_ap_tags = ([] of String)\nelse\n value\nend"}},{"html_id":"nearest_ap_tags=(nearest_ap_tags:Array(String))-instance-method","name":"nearest_ap_tags=","abstract":false,"args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"args_string":"(nearest_ap_tags : Array(String))","args_html":"(nearest_ap_tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags=","args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"visibility":"Public","body":"@nearest_ap_tags = nearest_ap_tags"}},{"html_id":"rssi_records:Array(RSSI)-instance-method","name":"rssi_records","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records","return_type":"Array(RSSI)","visibility":"Public","body":"@rssi_records"}},{"html_id":"rssi_records=(rssi_records:Array(RSSI))-instance-method","name":"rssi_records=","abstract":false,"args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"args_string":"(rssi_records : Array(RSSI))","args_html":"(rssi_records : Array(RSSI))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records=","args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"visibility":"Public","body":"@rssi_records = rssi_records"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}},{"html_id":"variance:Float64-instance-method","name":"variance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance","return_type":"Float64","visibility":"Public","body":"@variance"}},{"html_id":"variance=(variance:Float64)-instance-method","name":"variance=","abstract":false,"args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"args_string":"(variance : Float64)","args_html":"(variance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance=","args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"visibility":"Public","body":"@variance = variance"}},{"html_id":"wifi_floor_plan_id:String|Nil-instance-method","name":"wifi_floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_id=(wifi_floor_plan_id:String|Nil)-instance-method","name":"wifi_floor_plan_id=","abstract":false,"args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_id : String | Nil)","args_html":"(wifi_floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id=","args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_id = wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_name:String|Nil-instance-method","name":"wifi_floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_name"}},{"html_id":"wifi_floor_plan_name=(wifi_floor_plan_name:String|Nil)-instance-method","name":"wifi_floor_plan_name=","abstract":false,"args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_name : String | Nil)","args_html":"(wifi_floor_plan_name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name=","args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_name = wifi_floor_plan_name"}},{"html_id":"x:Float64|String|Nil-instance-method","name":"x","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x","return_type":"Float64 | String | Nil","visibility":"Public","body":"@x"}},{"html_id":"x!-instance-method","name":"x!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L213"},"def":{"name":"x!","visibility":"Public","body":"get_x.not_nil!"}},{"html_id":"x=(x:Float64|String|Nil)-instance-method","name":"x=","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"args_string":"(x : Float64 | String | Nil)","args_html":"(x : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|String|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y","return_type":"Float64 | String | Nil","visibility":"Public","body":"@y"}},{"html_id":"y!-instance-method","name":"y!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L217"},"def":{"name":"y!","visibility":"Public","body":"get_y.not_nil!"}},{"html_id":"y=(y:Float64|String|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"args_string":"(y : Float64 | String | Nil)","args_html":"(y : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/DevicesSeen","path":"Cisco/Meraki/DevicesSeen.html","kind":"class","full_name":"Cisco::Meraki::DevicesSeen","name":"DevicesSeen","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L290"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L291"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"message_type:MessageType-instance-method","name":"message_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type","return_type":"MessageType","visibility":"Public","body":"@message_type"}},{"html_id":"message_type=(message_type:MessageType)-instance-method","name":"message_type=","abstract":false,"args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"args_string":"(message_type : MessageType)","args_html":"(message_type : MessageType)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type=","args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"visibility":"Public","body":"@message_type = message_type"}},{"html_id":"secret:String-instance-method","name":"secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret","return_type":"String","visibility":"Public","body":"@secret"}},{"html_id":"secret=(secret:String)-instance-method","name":"secret=","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String"}],"args_string":"(secret : String)","args_html":"(secret : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret=","args":[{"name":"secret","external_name":"secret","restriction":"String"}],"visibility":"Public","body":"@secret = secret"}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"String"}],"visibility":"Public","body":"@version = version"}}]},{"html_id":"drivers/Cisco/Meraki/Entrances","path":"Cisco/Meraki/Entrances.html","kind":"class","full_name":"Cisco::Meraki::Entrances","name":"Entrances","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L72"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n @count = ((counts[:person] || counts[:vehicle]) || 0)\nelse\n value\nend"}},{"html_id":"count_type:CountType-instance-method","name":"count_type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L61"},"def":{"name":"count_type","return_type":"CountType","visibility":"Public","body":"if (value = @count_type).nil?\n @count_type = (if counts[:person]\n CountType::People\n else\n if counts[:vehicle]\n CountType::Vehicles\n else\n CountType::Unknown\n end\n end)\nelse\n value\nend"}},{"html_id":"counts:NamedTuple(person:Int32|Nil,vehicle:Int32|Nil)-instance-method","name":"counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L55"},"def":{"name":"counts","return_type":"NamedTuple(person: Int32 | ::Nil, vehicle: Int32 | ::Nil)","visibility":"Public","body":"@counts"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L53"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Cisco/Meraki/FloorMapping","path":"Cisco/Meraki/FloorMapping.html","kind":"class","full_name":"Cisco::Meraki::FloorMapping","name":"FloorMapping","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:String|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L10"},"def":{"name":"building_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"camera_serials:Array(String)-instance-method","name":"camera_serials","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L8"},"def":{"name":"camera_serials","return_type":"Array(String)","visibility":"Public","body":"@camera_serials"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L9"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlan","path":"Cisco/Meraki/FloorPlan.html","kind":"class","full_name":"Cisco::Meraki::FloorPlan","name":"FloorPlan","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_left:Geo::Point-instance-method","name":"bottom_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left","return_type":"Geo::Point","visibility":"Public","body":"@bottom_left"}},{"html_id":"bottom_left=(bottom_left:Geo::Point)-instance-method","name":"bottom_left=","abstract":false,"args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"args_string":"(bottom_left : Geo::Point)","args_html":"(bottom_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left=","args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_left = bottom_left"}},{"html_id":"bottom_right:Geo::Point-instance-method","name":"bottom_right","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right","return_type":"Geo::Point","visibility":"Public","body":"@bottom_right"}},{"html_id":"bottom_right=(bottom_right:Geo::Point)-instance-method","name":"bottom_right=","abstract":false,"args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"args_string":"(bottom_right : Geo::Point)","args_html":"(bottom_right : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right=","args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_right = bottom_right"}},{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Float64)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Float64"}],"args_string":"(height : Float64)","args_html":"(height : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Float64"}],"visibility":"Public","body":"@height = height"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"to_distance-instance-method","name":"to_distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L74"},"def":{"name":"to_distance","visibility":"Public","body":"Geo::Distance.new(width, height)"}},{"html_id":"top_left:Geo::Point-instance-method","name":"top_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left","return_type":"Geo::Point","visibility":"Public","body":"@top_left"}},{"html_id":"top_left=(top_left:Geo::Point)-instance-method","name":"top_left=","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"args_string":"(top_left : Geo::Point)","args_html":"(top_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left=","args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@top_left = top_left"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlanLocation","path":"Cisco/Meraki/FloorPlanLocation.html","kind":"class","full_name":"Cisco::Meraki::FloorPlanLocation","name":"FloorPlanLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L79"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo","path":"Cisco/Meraki/Geo.html","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo","abstract":false,"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EarthRadiusApprox","name":"EarthRadiusApprox","value":"6371000.7900","doc":"radius in meters, approx as we're using a perfect sphere the same volume as the earth","summary":"

radius in meters, approx as we're using a perfect sphere the same volume as the earth

"},{"id":"Radians","name":"Radians","value":"Math::PI / 180_f64"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"class_methods":[{"html_id":"calculate_xy(top_left:Point,bottom_left:Point,bottom_right:Point,position,distance:Distance)-class-method","name":"calculate_xy","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"args_string":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","args_html":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L29"},"def":{"name":"calculate_xy","args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"visibility":"Public","body":"y_base = geo_distance(top_left, bottom_left)\na = geo_distance(top_left, position)\nc = geo_distance(bottom_left, position)\nx_raw = triangle_height(a, y_base, c)\nx_base = geo_distance(bottom_left, bottom_right)\na = geo_distance(bottom_left, position)\nc = geo_distance(bottom_right, position)\ny_raw = triangle_height(a, x_base, c)\npercentage_height = y_raw / y_base\npercentage_width = x_raw / x_base\nDistance.new(distance.x * percentage_width, distance.y * percentage_height)\n"}},{"html_id":"geo_distance(start:Point,ending)-class-method","name":"geo_distance","doc":"https://www.movable-type.co.uk/scripts/latlong.html\nreturns the distance in meters","summary":"

https://www.movable-type.co.uk/scripts/latlong.html returns the distance in meters

","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"args_string":"(start : Point, ending)","args_html":"(start : Point, ending)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L54"},"def":{"name":"geo_distance","args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"visibility":"Public","body":"lat_diff = (ending.lat - start.lat) * Radians\nlng_diff = (ending.lng - start.lng) * Radians\nstart_lat_radian = start.lat * Radians\nend_lng_radian = ending.lng * Radians\na = ((Math.sin(lat_diff / 2_f64)) * (Math.sin(lat_diff / 2_f64))) + ((((Math.cos(start_lat_radian)) * (Math.cos(end_lng_radian))) * (Math.sin(lng_diff / 2_f64))) * (Math.sin(lng_diff / 2_f64)))\nc = 2_f64 * (Math.atan2(Math.sqrt(a), Math.sqrt(1_f64 - a)))\nEarthRadiusApprox * c\n"}},{"html_id":"triangle_height(a:Float64,base:Float64,c:Float64)-class-method","name":"triangle_height","doc":"https://www.omnicalculator.com/math/triangle-height","summary":"

https://www.omnicalculator.com/math/triangle-height

","abstract":false,"args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"args_string":"(a : Float64, base : Float64, c : Float64)","args_html":"(a : Float64, base : Float64, c : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L70"},"def":{"name":"triangle_height","args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"visibility":"Public","body":"(0.5 * (Math.sqrt(((((a + base) + c) * ((base + c) - a)) * ((a - base) + c)) * ((a + base) - c)))) / base"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Geo/Distance","path":"Cisco/Meraki/Geo/Distance.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Distance","name":"Distance","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L22"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo/Point","path":"Cisco/Meraki/Geo/Point.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(lat:Float64,lng:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"args_string":"(lat : Float64, lng : Float64)","args_html":"(lat : Float64, lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L12"},"def":{"name":"new","args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(lat, lng)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]}]},{"html_id":"drivers/Cisco/Meraki/LatestRecord","path":"Cisco/Meraki/LatestRecord.html","kind":"class","full_name":"Cisco::Meraki::LatestRecord","name":"LatestRecord","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"nearest_ap_mac:String-instance-method","name":"nearest_ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac","return_type":"String","visibility":"Public","body":"@nearest_ap_mac"}},{"html_id":"nearest_ap_mac=(nearest_ap_mac:String)-instance-method","name":"nearest_ap_mac=","abstract":false,"args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"args_string":"(nearest_ap_mac : String)","args_html":"(nearest_ap_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac=","args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"visibility":"Public","body":"@nearest_ap_mac = nearest_ap_mac"}},{"html_id":"nearest_ap_rssi:Int32-instance-method","name":"nearest_ap_rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi","return_type":"Int32","visibility":"Public","body":"@nearest_ap_rssi"}},{"html_id":"nearest_ap_rssi=(nearest_ap_rssi:Int32)-instance-method","name":"nearest_ap_rssi=","abstract":false,"args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"args_string":"(nearest_ap_rssi : Int32)","args_html":"(nearest_ap_rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi=","args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"visibility":"Public","body":"@nearest_ap_rssi = nearest_ap_rssi"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations","path":"Cisco/Meraki/Locations.html","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"building_zone:String-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L94"},"def":{"name":"building_zone","return_type":"String","visibility":"Public","body":"@building_zone"}},{"html_id":"camera_analytics(serial:String)-instance-method","name":"camera_analytics","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L711"},"def":{"name":"camera_analytics","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{serial}/camera/analytics/live\") do |response|\n CameraAnalytics.from_json(response)\nend"}},{"html_id":"cameras:Array(Cisco::Meraki::NetworkDevice)-instance-method","name":"cameras","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":726,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L726"},"def":{"name":"cameras","visibility":"Public","body":"@cameras"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L418"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = user_mac_mappings(&.[]?(lookup))\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":638,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L638"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing IP and location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago\nremove_keys = [] of String\n@ip_lookup.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_lookup.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => MAC mappings\"\nend\nremove_keys.clear\n@ip_usernames.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_usernames.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => Username mappings\"\nend\nremove_keys.clear\n@client_details.each do |mac, client|\n if client.time_added < old\n remove_keys << mac\n end\nend\nremove_keys.each do |mac|\n @client_details.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} client details\"\nend\nremove_keys.clear\n@locations.each do |mac, location|\n if location.time < old\n if client = @client_details[mac]?\n if client.time_added < old\n remove_keys << mac\n end\n else\n remove_keys << mac\n end\n end\nend\nremove_keys.each do |mac|\n @locations.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\n"}},{"html_id":"desk_details:Hash(String,DetectedDesks)-instance-method","name":"desk_details","doc":"serial => desks detected","summary":"

serial => desks detected

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L221"},"def":{"name":"desk_details","return_type":"Hash(String, DetectedDesks)","visibility":"Public","body":"@desk_details"}},{"html_id":"desk_locations(zone_id:String)-instance-method","name":"desk_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1260"},"def":{"name":"desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"serials = @zone_lookup[zone_id]? || ([] of String)\nreturn_empty_spaces = @return_empty_spaces\nexpiry_time = desk_data_expiry_time\nserials.compact_map do |serial|\n desks = @desk_mappings[serial]?\n if desks\n else\n next\n end\n if desk_details[serial]?\n else\n next\n end\n floor = @floor_lookup[serial]\n illumination = lux[serial]?\n desks.compact_map do |desk|\n desk_id = desk.label\n occupied = is_occupied?(desk_id, expiry_time)\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: desk_id, level: floor.level_id, building: floor.building_id, capacity: 1, area_lux: illumination, merakimv: serial}\n end\nend.flatten\n"}},{"html_id":"desk_mappings:Hash(String,Array(CameraZone))-instance-method","name":"desk_mappings","doc":"Camera serial => [desk location]","summary":"

Camera serial => [desk location]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1258"},"def":{"name":"desk_mappings","return_type":"Hash(String, Array(CameraZone))","visibility":"Public","body":"@desk_mappings"}},{"html_id":"desk_occupancy:Hash(String,Array(Tuple(Int64,Bool)))-instance-method","name":"desk_occupancy","doc":"=================\nCamera Desk data:\n=================\ndesk_id => [{time, occupied}]","summary":"

================= Camera Desk data: ================= desk_id => [{time, occupied}]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1195"},"def":{"name":"desk_occupancy","return_type":"Hash(String, Array(Tuple(Int64, Bool)))","visibility":"Public","body":"@desk_occupancy"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":510,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L510"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\ncase location.presence\nwhen \"wireless\"\n wireless_locations(zone_id)\nwhen \"desk\"\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(cam_locs[0]) | typeof(desk_locs[0])).new(cam_locs.size + desk_locs.size)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nwhen nil\n wireless_locs = wireless_locations(zone_id)\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(wireless_locs[0]) | typeof(cam_locs[0]) | typeof(desk_locs[0])).new((wireless_locs.size + cam_locs.size) + desk_locs.size)\n combind.concat(wireless_locs)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nelse\n [] of String\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":935,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L935"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L400"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"hostname_ownership(hostname:String,username:String|Nil):Nil-instance-method","name":"hostname_ownership","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(hostname : String, username : String | Nil) : Nil","args_html":"(hostname : String, username : String | Nil) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1006,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1006"},"def":{"name":"hostname_ownership","args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"macs = @mac_hostnames.compact_map do |__arg7|\n mac = __arg7[0]\n host = __arg7[1]\n host == hostname ? mac : nil\nend\nif username && username.presence\n user_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(mac, username, storage)\n end\n end\nelse\n macs.each do |mac|\n @mac_hostnames.delete(mac)\n end\nend\n"}},{"html_id":"inspect_foorplans:Hash(String,Cisco::Meraki::FloorPlan)-instance-method","name":"inspect_foorplans","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L269"},"def":{"name":"inspect_foorplans","visibility":"Public","body":"@floorplan_sizes"}},{"html_id":"inspect_network_devices:Hash(String,Cisco::Meraki::NetworkDevice)-instance-method","name":"inspect_network_devices","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L274"},"def":{"name":"inspect_network_devices","visibility":"Public","body":"@network_devices"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L279"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"IP Mappings: #{@ip_lookup.keys}\\n\\nMAC Locations: #{@locations.keys}\\n\\nClient Details: #{@client_details.keys}\"\nend\n{ip_mappings: @ip_lookup.size, tracking: @locations.size, client_details: @client_details.size}\n"}},{"html_id":"ip_username_mappings(ip_map:Array(Tuple(String,String,String,String|Nil))):Nil-instance-method","name":"ip_username_mappings","abstract":false,"args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"args_string":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","args_html":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":943,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L943"},"def":{"name":"ip_username_mappings","args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"return_type":"Nil","visibility":"Public","body":"now = Time.utc\nuser_mac_mappings do |storage|\n ip_map.each do |__arg6|\n ip = __arg6[0]\n username = __arg6[1]\n domain = __arg6[2]\n hostname = __arg6[3]\n username = format_username(username)\n @ip_usernames[ip] = Lookup.new(now, username)\n if lookup = @ip_lookup[ip]?\n map_user_mac(lookup.mac, username, storage)\n end\n end\nend\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L264"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@locations[format_mac(address)]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"returns locations based on most recently seen\nversus most accurate location","summary":"

returns locations based on most recently seen versus most accurate location

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L431"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n location_max_age = @max_location_age.ago\n (Array(String).from_json(macs)).compact_map do |mac|\n if location = locate_mac(mac)\n client = @client_details[mac]?\n if @regex_filter_device_os\n if client && client.os\n if (/#{@regex_filter_device_os}/).match(client.os.not_nil!)\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS does not match regex filter\"\n end\n next\n end\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS is UNKNOWN\"\n end\n next\n end\n end\n location.client = client\n location.mac = mac\n if client && client.time_added > location_max_age\n location\n else\n if location.time > location_max_age\n location\n end\n end\n end\n end.sort! do |a, b|\n b.time <=> a.time\n end.map do |location|\n lat = location.lat\n lon = location.lng\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => location.x, \"y\" => location.y, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, \"mac\" => location.mac, \"variance\" => location.variance, \"last_seen\" => location.time.to_unix, \"meraki_floor_id\" => location.floor_plan_id, \"meraki_floor_name\" => location.floor_plan_name}\n if level_data = @floorplan_mappings[location.floor_plan_id]?\n level_data.each do |k, v|\n loc[k] = v\n end\n end\n if map_size = @floorplan_sizes[location.floor_plan_id]?\n loc[\"map_width\"] = map_size.width\n loc[\"map_height\"] = map_size.height\n end\n if client = location.client\n if client.manufacturer\n loc[\"manufacturer\"] = client.manufacturer\n end\n if client.os\n loc[\"os\"] = client.os\n end\n if client.ssid\n loc[\"ssid\"] = client.ssid\n end\n end\n loc\n end\nelse\n [] of Nil\nend\n"}},{"html_id":"locateable-instance-method","name":"locateable","doc":"Returns the list of users who can be located","summary":"

Returns the list of users who can be located

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L288"},"def":{"name":"locateable","visibility":"Public","body":"too_old = @max_location_age.ago\n@client_details.compact_map do |mac, client|\n location = @locations[mac]?\n if location && ((location.time > too_old) || (client.time_added > too_old))\n client.user\n end\nend\n"}},{"html_id":"lookup_ip(address:String)-instance-method","name":"lookup_ip","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L260"},"def":{"name":"lookup_ip","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@ip_lookup[address.downcase]?"}},{"html_id":"lux:Hash(String,Float64)-instance-method","name":"lux","doc":"serial => lux","summary":"

serial => lux

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L224"},"def":{"name":"lux","return_type":"Hash(String, Float64)","visibility":"Public","body":"@lux"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":958,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L958"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"mac_hostnames:Hash(String,String)-instance-method","name":"mac_hostnames","doc":"User lookup helpers using device hostnames","summary":"

User lookup helpers using device hostnames

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":981,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L981"},"def":{"name":"mac_hostnames","return_type":"Hash(String, String)","visibility":"Public","body":"@mac_hostnames"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L409"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"map_users_to_macs(network_id:String|Nil=nil)-instance-method","name":"map_users_to_macs","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L310"},"def":{"name":"map_users_to_macs","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"mapping users to device MACs\"\nend\nclients = poll_clients(network_id)\nnew_devices = 0\nupdated_dev = 0\nnow = Time.utc\nlogger.debug do\n \"mapping found #{clients.size} devices\"\nend\nuser_mac_mappings do |storage|\n clients.each do |client|\n user_mac = format_mac(client.mac)\n client.time_added = now\n if hostname = client.description\n @mac_hostnames[user_mac] = hostname\n end\n user_id = client.user\n if user_id\n @ignore_usernames.each do |name|\n if user_id.starts_with?(name)\n client.user = user_id = nil\n break\n end\n end\n end\n if user_id.nil?\n if known_id = storage[user_mac]?\n client.user = known_id\n end\n end\n @client_details[user_mac] = client\n if user_id\n else\n next\n end\n was_update, was_new = map_user_mac(user_mac, user_id, storage)\n if was_update\n updated_dev = updated_dev + 1\n end\n if was_new\n new_devices = new_devices + 1\n end\n end\nend\nlogger.debug do\n \"mapping assigned #{new_devices} new devices, #{updated_dev} user updated\"\nend\nnil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L84"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L116"},"def":{"name":"on_update","visibility":"Public","body":"@default_network = (setting?(String, :default_network_id)) || \"\"\n@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@acceptable_confidence = (setting?(Float64, :acceptable_confidence)) || 5.0\n@maximum_uncertainty = (setting?(Float64, :maximum_uncertainty)) || 25.0\n@override_min_variance = (setting?(Float64, :override_min_variance)) || 0.0\n@regex_filter_device_os = setting?(String, :regex_filter_device_os)\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\n@confidence_time = @max_location_age / 3\n@drift_location_age = @max_location_age - @confidence_time\n@time_multiplier = 1.0 / (@drift_location_age.to_i - @confidence_time.to_i).to_f64\n@confidence_multiplier = 1.0 / (@maximum_uncertainty.to_i - @acceptable_confidence.to_i).to_f64\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\ndisable_username_lookup = (setting?(Bool, :disable_username_lookup)) || false\nschedule.clear\ninit_wired_port_mappings\nif @default_network.presence\n schedule.every(59.seconds) do\n update_sensor_cache\n end\n if disable_username_lookup\n else\n schedule.every(2.minutes) do\n map_users_to_macs\n end\n end\n schedule.every(29.minutes) do\n sync_floorplan_sizes\n end\n schedule.in(30.milliseconds) do\n sync_floorplan_sizes\n update_sensor_cache\n end\nend\nschedule.every(30.minutes) do\n cleanup_caches\nend\nsubscriptions.clear\nif @default_network.presence\n dashboard.subscribe(@default_network) do |_subscription, new_value|\n parse_new_locations(new_value)\n end\nend\nzones = config.control_system.not_nil!.zones\nspawn(same_thread: true) do\n find_building(zones)\nend\nif system.exists?(:MerakiMQTT)\n mqtt_module = system[:MerakiMQTT]\n mqtt_module.subscribe(:floor_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @floor_lookup = Hash(String, FloorMapping).from_json(new_value)\n if @zone_lookup.empty?\n else\n update_desk_mappings\n end\n end\n mqtt_module.subscribe(:zone_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @zone_lookup = Hash(String, Array(String)).from_json(new_value)\n if @floor_lookup.empty?\n else\n update_desk_mappings\n end\n end\n schedule.every(10.minutes) do\n update_desk_mappings\n end\n mqtt_module.subscribe(:camera_updated) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n _time, camera_serial = Tuple(Int64, String).from_json(new_value)\n if @desk_mappings.has_key?(camera_serial)\n check_camera_status(mqtt_module, camera_serial)\n end\n end\nend\n"}},{"html_id":"parse_new_locations(payload:String):Nil-instance-method","name":"parse_new_locations","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(payload : String) : Nil","args_html":"(payload : String) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L763"},"def":{"name":"parse_new_locations","args":[{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"if @debug_payload\n logger.debug do\n payload\n end\nend\nlocations_updated = 0\nbegin\n observations = Array(Observation).from_json(payload)\n logger.debug do\n \"parsed meraki payload\"\n end\n ignore_older = @max_location_age.ago.in(Time::Location::UTC)\n drift_older = @drift_location_age.ago.in(Time::Location::UTC)\n current_time = Time.utc\n observations.each do |observation|\n client_mac = format_mac(observation.client_mac)\n existing = @locations[client_mac]?\n if @debug_webhook\n logger.debug do\n \"parsing new observation for #{client_mac}\"\n end\n end\n if @regex_filter_device_os\n client = @client_details[format_mac(observation.client_mac)]?\n if client.nil? || (/#{@regex_filter_device_os}/).match(client.os || \"\").nil?\n if @debug_webhook\n logger.debug do\n \"FILTERED OUT #{client_mac}: OS \\\"#{observation.os}\\\" did not match \\\"#{@regex_filter_device_os}\\\"\"\n end\n end\n next\n end\n end\n location = parse(existing, ignore_older, drift_older, observation)\n if location\n @locations[client_mac] = location\n locations_updated = locations_updated + 1\n end\n update_ipv4(observation.ipv4, client_mac, current_time)\n update_ipv6(observation.ipv6.try(&.downcase), client_mac, current_time)\n end\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{payload}\"\n end\nend\nlogger.debug do\n \"updated #{locations_updated} locations\"\nend\n"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil)-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L297"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nArray(Client).from_json((dashboard.poll_clients(network_id, timespan, connection, device_serial)).get.to_json)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1163"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ncam_state = @camera_analytics[format_mac(mac)]?\nif cam_state\nelse\n return nil\nend\narea_str, _, sensor_type = id.rpartition('-')\nfilter = case sensor_type\nwhen \"people\"\n SensorType::PeopleCount\nwhen \"presence\"\n SensorType::Presence\nelse\n return nil\nend\narea_id = area_str.to_i64?\nif area_id\nelse\n return nil\nend\nzone_count = cam_state[:details].zones[area_id]?.try(&.person)\nif zone_count\nelse\n return nil\nend\n(to_sensors(nil, filter, **cam_state)).find do |sensor|\n sensor.id == id\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1148"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (!(type.in?({\"Presence\", \"PeopleCount\"})))\n return NO_MATCH\nend\nfilter = type ? SensorType.parse(type) : nil\nif mac\n cam_state = @camera_analytics[format_mac(mac)]?\n if cam_state\n else\n return NO_MATCH\n end\n return to_sensors(zone_id, filter, **cam_state)\nend\n@camera_analytics.values.flat_map do |cam_data|\n to_sensors(zone_id, filter, **cam_data)\nend\n"}},{"html_id":"sync_floorplan_sizes(network_id:String|Nil=nil)-instance-method","name":"sync_floorplan_sizes","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L676"},"def":{"name":"sync_floorplan_sizes","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"syncing floor plan sizes for network #{network_id}\"\nend\nfloor_plans = {} of String => FloorPlan\nreq_all(\"/api/v1/networks/#{network_id}/floorPlans?perPage=1000\") do |response|\n (Array(FloorPlan).from_json(response)).each do |plan|\n floor_plans[plan.id] = plan\n end\n nil\nend\n@floorplan_sizes = floor_plans\nnetwork_devices = {} of String => NetworkDevice\ncameras = [] of NetworkDevice\nreq_all(\"/api/v1/networks/#{network_id}/devices?perPage=1000\") do |response|\n (Array(NetworkDevice).from_json(response)).each do |device|\n if device.firmware.starts_with?(\"cam\")\n cameras << device\n end\n if device.floor_plan_id\n else\n next\n end\n network_devices[format_mac(device.mac)] = device\n end\n nil\nend\n@network_devices = network_devices\n@cameras = cameras\n{floor_plans, network_devices}\n"}},{"html_id":"update_desk_mappings-instance-method","name":"update_desk_mappings","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1297"},"def":{"name":"update_desk_mappings","visibility":"Public","body":"desk_mappings = Hash(String, Array(CameraZone)).new\n@floor_lookup.keys.each do |serial|\n begin\n desk_mappings[serial] = (Array(CameraZone).from_json((dashboard.get_zones(serial)).get.to_json)).reject!() do |__arg12|\n __arg12.id == \"0\"\n end\n rescue error\n logger.warn(exception: error) do\n \"fetching zones for camera: #{serial}\"\n end\n end\nend\n@desk_mappings = desk_mappings\nmqtt_module = system[:MerakiMQTT]\ndesk_mappings.keys.each do |camera_serial|\n check_camera_status(mqtt_module, camera_serial)\nend\n"}},{"html_id":"update_sensor_cache-instance-method","name":"update_sensor_cache","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L728"},"def":{"name":"update_sensor_cache","visibility":"Public","body":"analytics = {} of String => CamAnalytics\ncameras.each do |cam|\n begin\n mappings = @floorplan_mappings[cam.floor_plan_id]?\n counts = camera_analytics(cam.serial)\n mac = format_mac(cam.mac)\n if mappings\n analytics[mac] = {camera: cam, details: counts, building: mappings[\"building\"]?.as(String | ::Nil), level: mappings[\"level\"]?.as(String | ::Nil)}\n else\n analytics[mac] = {camera: cam, details: counts, building: nil.as(String | ::Nil), level: nil.as(String | ::Nil)}\n end\n counts.zones.each do |area_id, count|\n self[\"people-#{mac}-#{area_id}\"] = count.person\n self[\"presence-#{mac}-#{area_id}\"] = count.person > 0\n end\n rescue error\n logger.debug(exception: error) do\n \"failed to obtain analytics for #{cam.name} (serial: #{cam.serial})\"\n end\n end\nend\n@camera_analytics = analytics\n"}},{"html_id":"wired_desk_locations(zone_id:String)-instance-method","name":"wired_desk_locations","doc":"grabs the wired desk data for a level","summary":"

grabs the wired desk data for a level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1064,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1064"},"def":{"name":"wired_desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"return_empty_spaces = @return_empty_spaces\nserials = if zone_id == @building_zone\n @level_serials.values.flatten\nelse\n @level_serials[zone_id]? || ([] of String)\nend\nserials.compact_map do |serial|\n ports = @port_status[serial]?\n if ports\n else\n next\n end\n ports.map do |__arg8|\n port_num = __arg8[0]\n port = __arg8[1]\n occupied = port.status.connected? ? 1 : 0\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: port.desk_id, level: port.level_id, building: @building_zone, capacity: 1, mac: port.mac, port: port_num, switch: port.switch_serial}\n end\nend.flatten\n"}},{"html_id":"wireless_locations(zone_id:String)-instance-method","name":"wireless_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L534"},"def":{"name":"wireless_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"floors = [] of String\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of String\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago\nmatching = @locations.compact_map do |mac, loc|\n client = @client_details[mac]?\n loc.client = client\n if loc.time < oldest_location\n if client\n if client.time_added < oldest_location\n too_old = too_old + 1\n next\n end\n else\n too_old = too_old + 1\n next\n end\n end\n if !(floors.includes?(loc.floor_plan_id))\n wrong_floor = wrong_floor + 1\n next\n end\n loc.mac = mac\n loc\nend\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.floor_plan_id).flat_map do |floor_id, locations|\n map_width = -1.0\n map_height = -1.0\n if map_size = @floorplan_sizes[floor_id]?\n map_width = map_size.width\n map_height = map_size.height\n else\n if mappings = @floorplan_mappings[floor_id]?\n map_width = (mappings[\"width\"]? || map_width).as(Float64)\n map_height = (mappings[\"height\"]? || map_width).as(Float64)\n end\n end\n locations.compact_map do |loc|\n lat = loc.lat\n lon = loc.lng\n if client = @client_details[loc.mac]?\n manufacturer = client.manufacturer\n os = client.os\n ssid = client.ssid\n end\n if (x = loc.x) && (y = loc.y)\n if x.is_a?(Float64) && y.is_a?(Float64)\n if (loc.x.as(Float64)).nan? || (loc.y.as(Float64)).nan?\n logger.warn do\n \"ignoring bad location for #{loc.mac}, NaN\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, unexpected value #{loc.x.inspect}\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, no coordinates provided\"\n end\n next\n end\n {location: :wireless, coordinates_from: \"bottom-left\", x: loc.x, y: loc.y, lon: lon, lat: lat, s2_cell_id: lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, mac: loc.mac, variance: loc.variance, last_seen: loc.time.to_unix, map_width: map_width, map_height: map_height, manufacturer: manufacturer, os: os, ssid: ssid}\n end\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Locations/CamAnalytics","path":"Cisco/Meraki/Locations/CamAnalytics.html","kind":"alias","full_name":"Cisco::Meraki::Locations::CamAnalytics","name":"CamAnalytics","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L717"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String | Nil, level: String | Nil)","aliased_html":"{camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String?, level: String?}","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}},{"html_id":"drivers/Cisco/Meraki/Locations/Lookup","path":"Cisco/Meraki/Locations/Lookup.html","kind":"struct","full_name":"Cisco::Meraki::Locations::Lookup","name":"Lookup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"},"constructors":[{"html_id":"new(time:Time,mac:String)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"args_string":"(time : Time, mac : String)","args_html":"(time : Time, mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L252"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time, mac)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations/WiredDesks","path":"Cisco/Meraki/Locations/WiredDesks.html","kind":"alias","full_name":"Cisco::Meraki::Locations::WiredDesks","name":"WiredDesks","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(Int32, String))","aliased_html":"Hash(String, Hash(Int32, String))","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}}]},{"html_id":"drivers/Cisco/Meraki/LuxLevel","path":"Cisco/Meraki/LuxLevel.html","kind":"class","full_name":"Cisco::Meraki::LuxLevel","name":"LuxLevel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lux:Float64-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L40"},"def":{"name":"lux","return_type":"Float64","visibility":"Public","body":"@lux"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L38"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"if (value = @timestamp).nil?\n @timestamp = (Time.utc.to_unix)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/MessageType","path":"Cisco/Meraki/MessageType.html","kind":"enum","full_name":"Cisco::Meraki::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L284"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"WiFi","name":"WiFi","value":"1"},{"id":"Bluetooth","name":"Bluetooth","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"bluetooth?-instance-method","name":"bluetooth?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L287"},"def":{"name":"bluetooth?","visibility":"Public","body":"self == Bluetooth"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L285"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"wi_fi?-instance-method","name":"wi_fi?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L286"},"def":{"name":"wi_fi?","visibility":"Public","body":"self == WiFi"}}]},{"html_id":"drivers/Cisco/Meraki/MQTT","path":"Cisco/Meraki/MQTT.html","kind":"class","full_name":"Cisco::Meraki::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LUX_ID","name":"LUX_ID","value":"\"lux\""},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SUBS","name":"SUBS","value":"{\"/merakimv/+/net.meraki.detector\", \"/merakimv/+/light\", \"/merakimv/+/0\", \"/merakimv/+/crossing/+\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L149"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\nend\n"}},{"html_id":"crossing_people:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_people","doc":"Serial => count","summary":"

Serial => count

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L192"},"def":{"name":"crossing_people","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_people).nil?\n @crossing_people = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"crossing_vehicle:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_vehicle","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L196"},"def":{"name":"crossing_vehicle","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_vehicle).nil?\n @crossing_vehicle = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L163"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"lux:Hash(String,Tuple(Float64,Int64))-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L200"},"def":{"name":"lux","return_type":"Hash(String, Tuple(Float64, Int64))","visibility":"Public","body":"@lux"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L85"},"def":{"name":"on_unload","visibility":"Public","body":""}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L88"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\nzone_lookup = Hash(String, Array(String)).new do |h, k|\n h[k] = [] of String\nend\nfloor_lookup = {} of String => FloorMapping\nfloor_mappings = (setting?(Array(FloorMapping), :floor_mappings)) || ([] of FloorMapping)\nfloor_mappings.each do |mapping|\n mapping.camera_serials.each do |serial|\n zone_lookup[mapping.level_id] << serial\n if mapping.building_id\n zone_lookup[mapping.building_id.not_nil!] << serial\n end\n floor_lookup[serial] = mapping\n end\nend\nself[:floor_lookup] = @floor_lookup = floor_lookup\nself[:zone_lookup] = zone_lookup\nexisting = @subs\n@subs = SUBS.to_a\n@line_crossing = line_crossing_combined = (setting?(Hash(String, Array(String)), :line_crossing_combined)) || ({} of String => Array(String))\nline_crossing_mapping = {} of String => String\nline_crossing_combined.each do |name, serials|\n serials.each do |serial|\n line_crossing_mapping[serial] = name\n end\nend\n@crossing_lookup = line_crossing_mapping\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif !(setting?(Bool, :disable_line_crossing_reset))\n time_zone = (setting?(String, :timezone)).presence || \"America/New_York\"\n tz = Time::Location.load(time_zone)\n schedule.cron(\"30 3 * * *\", tz) do\n crossing_people.each_key do |key|\n self[\"camera_mvx-#{key}_person\"] = 0\n end\n crossing_people.clear\n crossing_vehicle.each_key do |key|\n self[\"camera_mvx-#{key}_vehicle\"] = 0\n end\n crossing_vehicle.clear\n end\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n client.unsubscribe(sub)\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"people_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L179"},"def":{"name":"people_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @people_counts).nil?\n @people_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L168"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\n@mqtt.not_nil!.ping\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L173"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L254"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif id == \"lux\"\n (add_lux_values([] of Detail, mac)).first?\nelse\n if id.starts_with?(\"zone\")\n zone, count_type = id.split('_', 2)\n zone = zone[4..-1]\n sensor_type = SensorType::PeopleCount\n lookup = case count_type\n when \"people\"\n people_counts\n when \"vehicles\"\n sensor_type = SensorType::Counter\n vehicle_counts\n end\n if lookup\n if counts = lookup[mac]?\n if count = counts[zone]?\n to_sensor(sensor_type, mac, \"zone#{zone}_#{count_type}\", count[0], count[1])\n end\n end\n end\n else\n nil\n end\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L291"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n serial_filter = nil\n if zone_id && (!@floor_lookup.empty?)\n serial_filter = [] of String\n @floor_lookup.each do |serial, floor|\n if {floor.level_id, floor.building_id}.includes?(zone_id)\n serial_filter << serial\n end\n end\n end\n sensors = [] of Detail\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n case filter\n when nil\n add_lux_values(sensors, mac, serial_filter)\n add_people_counts(sensors, mac, serial_filter)\n add_vehicle_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .people_count?\n add_people_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n when .counter?\n add_vehicle_counts(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .illuminance?\n add_lux_values(sensors, mac, serial_filter)\n else\n sensors\n end\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"vehicle_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"vehicle_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L185"},"def":{"name":"vehicle_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @vehicle_counts).nil?\n @vehicle_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/Network","path":"Cisco/Meraki/Network.html","kind":"class","full_name":"Cisco::Meraki::Network","name":"Network","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"enrollment_string:String|Nil-instance-method","name":"enrollment_string","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string","return_type":"String | ::Nil","visibility":"Public","body":"@enrollment_string"}},{"html_id":"enrollment_string=(enrollment_string:String|Nil)-instance-method","name":"enrollment_string=","abstract":false,"args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"args_string":"(enrollment_string : String | Nil)","args_html":"(enrollment_string : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string=","args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@enrollment_string = enrollment_string"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"organization_id:String-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id","return_type":"String","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:String)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"product_types:Array(String)-instance-method","name":"product_types","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types","return_type":"Array(String)","visibility":"Public","body":"@product_types"}},{"html_id":"product_types=(product_types:Array(String))-instance-method","name":"product_types=","abstract":false,"args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"args_string":"(product_types : Array(String))","args_html":"(product_types : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types=","args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"visibility":"Public","body":"@product_types = product_types"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"time_zone=(time_zone:String)-instance-method","name":"time_zone=","abstract":false,"args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"args_string":"(time_zone : String)","args_html":"(time_zone : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone=","args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"visibility":"Public","body":"@time_zone = time_zone"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/NetworkDevice","path":"Cisco/Meraki/NetworkDevice.html","kind":"class","full_name":"Cisco::Meraki::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"floor_plan_id:String|Nil-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_plan_id"}},{"html_id":"floor_plan_id=(floor_plan_id:String|Nil)-instance-method","name":"floor_plan_id=","abstract":false,"args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(floor_plan_id : String | Nil)","args_html":"(floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id=","args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_plan_id = floor_plan_id"}},{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"location:DeviceLocation|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location","return_type":"DeviceLocation | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:DeviceLocation|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"args_string":"(location : DeviceLocation | Nil)","args_html":"(location : DeviceLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"model:String-instance-method","name":"model","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:String)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"@serial = serial"}}]},{"html_id":"drivers/Cisco/Meraki/Observation","path":"Cisco/Meraki/Observation.html","kind":"class","full_name":"Cisco::Meraki::Observation","name":"Observation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"ipv4:String|Nil-instance-method","name":"ipv4","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4","return_type":"String | ::Nil","visibility":"Public","body":"@ipv4"}},{"html_id":"ipv4=(ipv4:String|Nil)-instance-method","name":"ipv4=","abstract":false,"args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"args_string":"(ipv4 : String | Nil)","args_html":"(ipv4 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4=","args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv4 = ipv4"}},{"html_id":"ipv6:String|Nil-instance-method","name":"ipv6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6","return_type":"String | ::Nil","visibility":"Public","body":"@ipv6"}},{"html_id":"ipv6=(ipv6:String|Nil)-instance-method","name":"ipv6=","abstract":false,"args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"args_string":"(ipv6 : String | Nil)","args_html":"(ipv6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6=","args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv6 = ipv6"}},{"html_id":"latest_record:LatestRecord-instance-method","name":"latest_record","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record","return_type":"LatestRecord","visibility":"Public","body":"@latest_record"}},{"html_id":"latest_record=(latest_record:LatestRecord)-instance-method","name":"latest_record=","abstract":false,"args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"args_string":"(latest_record : LatestRecord)","args_html":"(latest_record : LatestRecord)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record=","args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"visibility":"Public","body":"@latest_record = latest_record"}},{"html_id":"locations:Array(DeviceLocation)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations","return_type":"Array(DeviceLocation)","visibility":"Public","body":"@locations"}},{"html_id":"locations=(locations:Array(DeviceLocation))-instance-method","name":"locations=","abstract":false,"args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"args_string":"(locations : Array(DeviceLocation))","args_html":"(locations : Array(DeviceLocation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations=","args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"visibility":"Public","body":"@locations = locations"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}}]},{"html_id":"drivers/Cisco/Meraki/Organization","path":"Cisco/Meraki/Organization.html","kind":"class","full_name":"Cisco::Meraki::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api:NamedTuple(enabled:Bool)-instance-method","name":"api","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api","return_type":"NamedTuple(enabled: Bool)","visibility":"Public","body":"@api"}},{"html_id":"api=(api:NamedTuple(enabled:Bool))-instance-method","name":"api=","abstract":false,"args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"args_string":"(api : NamedTuple(enabled: Bool))","args_html":"(api : NamedTuple(enabled: Bool))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api=","args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"visibility":"Public","body":"@api = api"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/PortState","path":"Cisco/Meraki/PortState.html","kind":"enum","full_name":"Cisco::Meraki::PortState","name":"PortState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L400"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Connected","name":"Connected","value":"0"},{"id":"Disconnected","name":"Disconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected?-instance-method","name":"connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L401"},"def":{"name":"connected?","visibility":"Public","body":"self == Connected"}},{"html_id":"disconnected?-instance-method","name":"disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L402"},"def":{"name":"disconnected?","visibility":"Public","body":"self == Disconnected"}}]},{"html_id":"drivers/Cisco/Meraki/PortStatusResponse","path":"Cisco/Meraki/PortStatusResponse.html","kind":"class","full_name":"Cisco::Meraki::PortStatusResponse","name":"PortStatusResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":405,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L405"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L406"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_id:String-instance-method","name":"desk_id","abstract":false,"def":{"name":"desk_id","return_type":"String","visibility":"Public","body":"if (value = @desk_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#desk_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"desk_id=(desk_id:String)-instance-method","name":"desk_id=","abstract":false,"args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"args_string":"(desk_id : String)","args_html":"(desk_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L427"},"def":{"name":"desk_id=","args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"visibility":"Public","body":"@desk_id = desk_id"}},{"html_id":"desk_id?:String|Nil-instance-method","name":"desk_id?","abstract":false,"def":{"name":"desk_id?","return_type":"String | ::Nil","visibility":"Public","body":"@desk_id"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":414,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L414"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_uplink?:Bool-instance-method","name":"is_uplink?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L418"},"def":{"name":"is_uplink?","return_type":"Bool","visibility":"Public","body":"@is_uplink"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"if (value = @level_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#level_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"level_id=(level_id:String)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"args_string":"(level_id : String)","args_html":"(level_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":430,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L430"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_id?:String|Nil-instance-method","name":"level_id?","abstract":false,"def":{"name":"level_id?","return_type":"String | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"port:Int32-instance-method","name":"port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L412"},"def":{"name":"port","return_type":"Int32","visibility":"Public","body":"if (value = @port).nil?\n @port = (port_id.to_i)\nelse\n value\nend"}},{"html_id":"port_id:String-instance-method","name":"port_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L409"},"def":{"name":"port_id","return_type":"String","visibility":"Public","body":"@port_id"}},{"html_id":"status:PortState-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L415"},"def":{"name":"status","return_type":"PortState","visibility":"Public","body":"@status"}},{"html_id":"switch_serial:String-instance-method","name":"switch_serial","abstract":false,"def":{"name":"switch_serial","return_type":"String","visibility":"Public","body":"if (value = @switch_serial).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#switch_serial cannot be nil\"))\nelse\n value\nend"}},{"html_id":"switch_serial=(switch_serial:String)-instance-method","name":"switch_serial=","abstract":false,"args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"args_string":"(switch_serial : String)","args_html":"(switch_serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L421"},"def":{"name":"switch_serial=","args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"visibility":"Public","body":"@switch_serial = switch_serial"}},{"html_id":"switch_serial?:String|Nil-instance-method","name":"switch_serial?","abstract":false,"def":{"name":"switch_serial?","return_type":"String | ::Nil","visibility":"Public","body":"@switch_serial"}}]},{"html_id":"drivers/Cisco/Meraki/RSSI","path":"Cisco/Meraki/RSSI.html","kind":"class","full_name":"Cisco::Meraki::RSSI","name":"RSSI","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}}]},{"html_id":"drivers/Cisco/Meraki/WebhookAlert","path":"Cisco/Meraki/WebhookAlert.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alert_data:PortData-instance-method","name":"alert_data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":387,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L387"},"def":{"name":"alert_data","return_type":"PortData","visibility":"Public","body":"@alert_data"}},{"html_id":"alert_type:AlertType-instance-method","name":"alert_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":384,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L384"},"def":{"name":"alert_type","return_type":"AlertType","visibility":"Public","body":"@alert_type"}},{"html_id":"device_serial:String-instance-method","name":"device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L390"},"def":{"name":"device_serial","return_type":"String","visibility":"Public","body":"@device_serial"}},{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":381,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L381"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L395"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"alert_data.port_num"}},{"html_id":"shared_secret:String-instance-method","name":"shared_secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":393,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L393"},"def":{"name":"shared_secret","return_type":"String","visibility":"Public","body":"@shared_secret"}}],"types":[{"html_id":"drivers/Cisco/Meraki/WebhookAlert/PortData","path":"Cisco/Meraki/WebhookAlert/PortData.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert::PortData","name":"PortData","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L373"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/WebhookAlert","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L374"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L377"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"@port_num"}}]}]},{"html_id":"drivers/Cisco/Meraki/ZoneDetails","path":"Cisco/Meraki/ZoneDetails.html","kind":"struct","full_name":"Cisco::Meraki::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Cisco/RoomKit","path":"Cisco/RoomKit.html","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L45"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}],"instance_methods":[{"html_id":"autofocus_diagnostics_start(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_start","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L248"},"def":{"name":"autofocus_diagnostics_start","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Start\", camera_id: camera_id)\n"}},{"html_id":"autofocus_diagnostics_stop(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_stop","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L252"},"def":{"name":"autofocus_diagnostics_stop","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Stop\", camera_id: camera_id)\n"}},{"html_id":"bookings(days:Int32|Nil=nil,day_offset:Int32|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L163"},"def":{"name":"bookings","args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if days\n if (1..365).includes?(days)\n else\n raise(ArgumentError.new(\"\\\"days\\\" must be within #{1..365}, was #{days}\"))\n end\nend\nif day_offset\n if (0..365).includes?(day_offset)\n else\n raise(ArgumentError.new(\"\\\"day_offset\\\" must be within #{0..365}, was #{day_offset}\"))\n end\nend\nxcommand(\"Bookings List\", days: days, day_offset: day_offset, limit: limit, offset: offset)\n"}},{"html_id":"call_accept(call_id:Int32|Nil=nil)-instance-method","name":"call_accept","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L169"},"def":{"name":"call_accept","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Accept\", call_id: call_id)"}},{"html_id":"call_place_on_hold(call_id:Int32|Nil=nil)-instance-method","name":"call_place_on_hold","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L172"},"def":{"name":"call_place_on_hold","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Hold\", call_id: call_id)"}},{"html_id":"call_reject(call_id:Int32|Nil=nil)-instance-method","name":"call_reject","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L170"},"def":{"name":"call_reject","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Reject\", call_id: call_id)"}},{"html_id":"call_resume(call_id:Int32|Nil=nil)-instance-method","name":"call_resume","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L173"},"def":{"name":"call_resume","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Resume\", call_id: call_id)"}},{"html_id":"camera_select(connector_id:Int32|Nil=nil,layout:VideoLayout|Nil=nil,source_id:Int32|Nil=nil)-instance-method","name":"camera_select","abstract":false,"args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"args_string":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","args_html":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L202"},"def":{"name":"camera_select","args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if connector_id\n if (1..3).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..3}, was #{connector_id}\"))\n end\nend\nif source_id\n if (1..3).includes?(source_id)\n else\n raise(ArgumentError.new(\"\\\"source_id\\\" must be within #{1..3}, was #{source_id}\"))\n end\nend\nxcommand(\"Video Input SetMainVideoSource\", connector_id: connector_id, layout: layout, source_id: source_id)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L60"},"def":{"name":"connected","visibility":"Public","body":"super()\nschedule.in(40.seconds) do\n if self[\"calls\"]?.nil?\n disconnect\n end\nend\n"}},{"html_id":"dial(number:String,protocol:DialProtocol|Nil=nil,call_rate:Int32|Nil=nil,call_type:CallType|Nil=nil)-instance-method","name":"dial","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"args_string":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","args_html":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L191"},"def":{"name":"dial","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"visibility":"Public","body":"if call_rate\n if (64..6000).includes?(call_rate)\n else\n raise(ArgumentError.new(\"\\\"call_rate\\\" must be within #{64..6000}, was #{call_rate}\"))\n end\nend\nxcommand(\"Dial\", number: number, protocol: protocol, call_rate: call_rate, call_type: call_type)\n"}},{"html_id":"dtmf_send(d_t_m_f_string:String,call_id:Int32|Nil=nil)-instance-method","name":"dtmf_send","abstract":false,"args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","args_html":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L175"},"def":{"name":"dtmf_send","args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if call_id\n if (0..65534).includes?(call_id)\n else\n raise(ArgumentError.new(\"\\\"call_id\\\" must be within #{0..65534}, was #{call_id}\"))\n end\nend\nxcommand(\"Call DTMFSend\", d_t_m_f_string: d_t_m_f_string, call_id: call_id)\n"}},{"html_id":"hangup(call_id:Int32|Nil=nil)-instance-method","name":"hangup","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L171"},"def":{"name":"hangup","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Disconnect\", call_id: call_id)"}},{"html_id":"mic_mute(state:Bool=true)-instance-method","name":"mic_mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L298"},"def":{"name":"mic_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? mic_mute_on : mic_mute_off"}},{"html_id":"mic_mute_off-instance-method","name":"mic_mute_off","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L121"},"def":{"name":"mic_mute_off","visibility":"Public","body":"xcommand(\"Audio Microphones Unmute\")"}},{"html_id":"mic_mute_on-instance-method","name":"mic_mute_on","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L120"},"def":{"name":"mic_mute_on","visibility":"Public","body":"xcommand(\"Audio Microphones Mute\")"}},{"html_id":"mic_mute_toggle-instance-method","name":"mic_mute_toggle","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L122"},"def":{"name":"mic_mute_toggle","visibility":"Public","body":"xcommand(\"Audio Microphones ToggleMute\")"}},{"html_id":"phonebook_search(search_string:String,phonebook_type:PhonebookType|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"phonebook_search","abstract":false,"args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L276"},"def":{"name":"phonebook_search","args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Phonebook Search\", search_string: search_string, phonebook_type: phonebook_type, limit: limit, offset: offset)"}},{"html_id":"play_sound(sound:Sound,loop:Toogle|Nil=nil)-instance-method","name":"play_sound","abstract":false,"args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"args_string":"(sound : Sound, loop : Toogle | Nil = nil)","args_html":"(sound : Sound, loop : Toogle | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L158"},"def":{"name":"play_sound","args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"visibility":"Public","body":"xcommand(\"Audio Sound Play\", sound: sound, loop: loop)"}},{"html_id":"presentation_mode(value:PresentationMode)-instance-method","name":"presentation_mode","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"args_string":"(value : PresentationMode)","args_html":"(value : PresentationMode)","location":{"filename":"src/cisco/room_kit.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L302"},"def":{"name":"presentation_mode","args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"visibility":"Public","body":"case value\nin .remote?\n presentation_start(sending_mode: :LocalRemote)\nin .local?\n @presentation_mode = PresentationMode::Local\n presentation_start(sending_mode: :LocalOnly)\nin .none?\n @presentation_mode = PresentationMode::None\n presentation_stop\nend"}},{"html_id":"reboot(action:PowerOff|Nil=nil)-instance-method","name":"reboot","abstract":false,"args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"args_string":"(action : PowerOff | Nil = nil)","args_html":"(action : PowerOff | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L288"},"def":{"name":"reboot","args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"visibility":"Public","body":"xcommand(\"SystemUnit Boot\", action: action)"}},{"html_id":"selfview(mode:Toogle|Nil=nil,full_screen_mode:Toogle|Nil=nil,p_i_p_position:PiPPosition|Nil=nil,on_monitor_role:MonitorRole|Nil=nil)-instance-method","name":"selfview","abstract":false,"args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"args_string":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","args_html":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L241"},"def":{"name":"selfview","args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Selfview Set\", mode: mode, full_screen_mode: full_screen_mode, p_i_p_position: p_i_p_position, on_monitor_role: on_monitor_role)"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/room_kit.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L340"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == config.ip\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/room_kit.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L322"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"show_camera_pip(visible:Bool)-instance-method","name":"show_camera_pip","abstract":false,"args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(visible : Bool)","args_html":"(visible : Bool)","location":{"filename":"src/cisco/room_kit.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L293"},"def":{"name":"show_camera_pip","args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"mode = visible ? Toogle::On : Toogle::Off\nselfview(mode: mode)\n"}},{"html_id":"speaker_track(state:Bool=true)-instance-method","name":"speaker_track","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L267"},"def":{"name":"speaker_track","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? speaker_track_activate : speaker_track_deactivate"}},{"html_id":"speaker_track_activate-instance-method","name":"speaker_track_activate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L262"},"def":{"name":"speaker_track_activate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Activate\")"}},{"html_id":"speaker_track_deactivate-instance-method","name":"speaker_track_deactivate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L265"},"def":{"name":"speaker_track_deactivate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Deactivate\")"}},{"html_id":"speaker_track_diagnostics_start-instance-method","name":"speaker_track_diagnostics_start","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L256"},"def":{"name":"speaker_track_diagnostics_start","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Start\")"}},{"html_id":"speaker_track_diagnostics_stop-instance-method","name":"speaker_track_diagnostics_stop","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L259"},"def":{"name":"speaker_track_diagnostics_stop","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Stop\")"}},{"html_id":"stop_sound-instance-method","name":"stop_sound","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L161"},"def":{"name":"stop_sound","visibility":"Public","body":"xcommand(\"Audio Sound Stop\")"}},{"html_id":"video_layout(layout_family:LayoutFamily,target:LayoutTarget|Nil=nil)-instance-method","name":"video_layout","abstract":false,"args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"args_string":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","args_html":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L220"},"def":{"name":"video_layout","args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Layout LayoutFamily Set\", layout_family: layout_family, target: target)"}},{"html_id":"webview_clear-instance-method","name":"webview_clear","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L285"},"def":{"name":"webview_clear","visibility":"Public","body":"xcommand(\"UserInterface WebView Clear\")"}},{"html_id":"webview_display(url:String)-instance-method","name":"webview_display","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/room_kit.cr","line_number":282,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L282"},"def":{"name":"webview_display","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface WebView Display\", url: url)"}}],"types":[{"html_id":"drivers/Cisco/RoomKit/CallType","path":"Cisco/RoomKit/CallType.html","kind":"enum","full_name":"Cisco::RoomKit::CallType","name":"CallType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L187"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L188"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Cisco/RoomKit/DialProtocol","path":"Cisco/RoomKit/DialProtocol.html","kind":"enum","full_name":"Cisco::RoomKit::DialProtocol","name":"DialProtocol","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L179"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"H320","name":"H320","value":"0"},{"id":"H323","name":"H323","value":"1"},{"id":"Sip","name":"Sip","value":"2"},{"id":"Spark","name":"Spark","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"h320?-instance-method","name":"h320?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L180"},"def":{"name":"h320?","visibility":"Public","body":"self == H320"}},{"html_id":"h323?-instance-method","name":"h323?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L181"},"def":{"name":"h323?","visibility":"Public","body":"self == H323"}},{"html_id":"sip?-instance-method","name":"sip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L182"},"def":{"name":"sip?","visibility":"Public","body":"self == Sip"}},{"html_id":"spark?-instance-method","name":"spark?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L183"},"def":{"name":"spark?","visibility":"Public","body":"self == Spark"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutFamily","path":"Cisco/RoomKit/LayoutFamily.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutFamily","name":"LayoutFamily","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L207"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Equal","name":"Equal","value":"1"},{"id":"Overlay","name":"Overlay","value":"2"},{"id":"Prominent","name":"Prominent","value":"3"},{"id":"Single","name":"Single","value":"4"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L208"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L209"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"overlay?-instance-method","name":"overlay?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L210"},"def":{"name":"overlay?","visibility":"Public","body":"self == Overlay"}},{"html_id":"prominent?-instance-method","name":"prominent?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L211"},"def":{"name":"prominent?","visibility":"Public","body":"self == Prominent"}},{"html_id":"single?-instance-method","name":"single?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L212"},"def":{"name":"single?","visibility":"Public","body":"self == Single"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutTarget","path":"Cisco/RoomKit/LayoutTarget.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutTarget","name":"LayoutTarget","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L215"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Local","name":"Local","value":"0"},{"id":"Remote","name":"Remote","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L216"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L217"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/MonitorRole","path":"Cisco/RoomKit/MonitorRole.html","kind":"enum","full_name":"Cisco::RoomKit::MonitorRole","name":"MonitorRole","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L234"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"First","name":"First","value":"0"},{"id":"Second","name":"Second","value":"1"},{"id":"Third","name":"Third","value":"2"},{"id":"Fourth","name":"Fourth","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"first?-instance-method","name":"first?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L235"},"def":{"name":"first?","visibility":"Public","body":"self == First"}},{"html_id":"fourth?-instance-method","name":"fourth?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L238"},"def":{"name":"fourth?","visibility":"Public","body":"self == Fourth"}},{"html_id":"second?-instance-method","name":"second?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L236"},"def":{"name":"second?","visibility":"Public","body":"self == Second"}},{"html_id":"third?-instance-method","name":"third?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L237"},"def":{"name":"third?","visibility":"Public","body":"self == Third"}}]},{"html_id":"drivers/Cisco/RoomKit/PhonebookType","path":"Cisco/RoomKit/PhonebookType.html","kind":"enum","full_name":"Cisco::RoomKit::PhonebookType","name":"PhonebookType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L271"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Corporate","name":"Corporate","value":"0"},{"id":"Local","name":"Local","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"corporate?-instance-method","name":"corporate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L272"},"def":{"name":"corporate?","visibility":"Public","body":"self == Corporate"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L273"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}}]},{"html_id":"drivers/Cisco/RoomKit/PiPPosition","path":"Cisco/RoomKit/PiPPosition.html","kind":"enum","full_name":"Cisco::RoomKit::PiPPosition","name":"PiPPosition","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CenterLeft","name":"CenterLeft","value":"0"},{"id":"CenterRight","name":"CenterRight","value":"1"},{"id":"LowerLeft","name":"LowerLeft","value":"2"},{"id":"LowerRight","name":"LowerRight","value":"3"},{"id":"UpperCenter","name":"UpperCenter","value":"4"},{"id":"UpperLeft","name":"UpperLeft","value":"5"},{"id":"UpperRight","name":"UpperRight","value":"6"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"center_left?-instance-method","name":"center_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L225"},"def":{"name":"center_left?","visibility":"Public","body":"self == CenterLeft"}},{"html_id":"center_right?-instance-method","name":"center_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L226"},"def":{"name":"center_right?","visibility":"Public","body":"self == CenterRight"}},{"html_id":"lower_left?-instance-method","name":"lower_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L227"},"def":{"name":"lower_left?","visibility":"Public","body":"self == LowerLeft"}},{"html_id":"lower_right?-instance-method","name":"lower_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L228"},"def":{"name":"lower_right?","visibility":"Public","body":"self == LowerRight"}},{"html_id":"upper_center?-instance-method","name":"upper_center?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L229"},"def":{"name":"upper_center?","visibility":"Public","body":"self == UpperCenter"}},{"html_id":"upper_left?-instance-method","name":"upper_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L230"},"def":{"name":"upper_left?","visibility":"Public","body":"self == UpperLeft"}},{"html_id":"upper_right?-instance-method","name":"upper_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L231"},"def":{"name":"upper_right?","visibility":"Public","body":"self == UpperRight"}}]},{"html_id":"drivers/Cisco/RoomKit/PresentationMode","path":"Cisco/RoomKit/PresentationMode.html","kind":"enum","full_name":"Cisco::RoomKit::PresentationMode","name":"PresentationMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L51"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Local","name":"Local","value":"1"},{"id":"Remote","name":"Remote","value":"2"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L53"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L52"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L54"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/Sound","path":"Cisco/RoomKit/Sound.html","kind":"enum","full_name":"Cisco::RoomKit::Sound","name":"Sound","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L133"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Alert","name":"Alert","value":"0"},{"id":"Bump","name":"Bump","value":"1"},{"id":"Busy","name":"Busy","value":"2"},{"id":"CallDisconnect","name":"CallDisconnect","value":"3"},{"id":"CallInitiate","name":"CallInitiate","value":"4"},{"id":"CallWaiting","name":"CallWaiting","value":"5"},{"id":"Dial","name":"Dial","value":"6"},{"id":"KeyInput","name":"KeyInput","value":"7"},{"id":"KeyInputDelete","name":"KeyInputDelete","value":"8"},{"id":"KeyTone","name":"KeyTone","value":"9"},{"id":"Nav","name":"Nav","value":"10"},{"id":"NavBack","name":"NavBack","value":"11"},{"id":"Notification","name":"Notification","value":"12"},{"id":"OK","name":"OK","value":"13"},{"id":"PresentationConnect","name":"PresentationConnect","value":"14"},{"id":"Ringing","name":"Ringing","value":"15"},{"id":"SignIn","name":"SignIn","value":"16"},{"id":"SpecialInfo","name":"SpecialInfo","value":"17"},{"id":"TelephoneCall","name":"TelephoneCall","value":"18"},{"id":"VideoCall","name":"VideoCall","value":"19"},{"id":"VolumeAdjust","name":"VolumeAdjust","value":"20"},{"id":"WakeUp","name":"WakeUp","value":"21"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"alert?-instance-method","name":"alert?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L134"},"def":{"name":"alert?","visibility":"Public","body":"self == Alert"}},{"html_id":"bump?-instance-method","name":"bump?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L135"},"def":{"name":"bump?","visibility":"Public","body":"self == Bump"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L136"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"call_disconnect?-instance-method","name":"call_disconnect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L137"},"def":{"name":"call_disconnect?","visibility":"Public","body":"self == CallDisconnect"}},{"html_id":"call_initiate?-instance-method","name":"call_initiate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L138"},"def":{"name":"call_initiate?","visibility":"Public","body":"self == CallInitiate"}},{"html_id":"call_waiting?-instance-method","name":"call_waiting?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L139"},"def":{"name":"call_waiting?","visibility":"Public","body":"self == CallWaiting"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L140"},"def":{"name":"dial?","visibility":"Public","body":"self == Dial"}},{"html_id":"key_input?-instance-method","name":"key_input?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L141"},"def":{"name":"key_input?","visibility":"Public","body":"self == KeyInput"}},{"html_id":"key_input_delete?-instance-method","name":"key_input_delete?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L142"},"def":{"name":"key_input_delete?","visibility":"Public","body":"self == KeyInputDelete"}},{"html_id":"key_tone?-instance-method","name":"key_tone?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L143"},"def":{"name":"key_tone?","visibility":"Public","body":"self == KeyTone"}},{"html_id":"nav?-instance-method","name":"nav?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L144"},"def":{"name":"nav?","visibility":"Public","body":"self == Nav"}},{"html_id":"nav_back?-instance-method","name":"nav_back?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L145"},"def":{"name":"nav_back?","visibility":"Public","body":"self == NavBack"}},{"html_id":"notification?-instance-method","name":"notification?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L146"},"def":{"name":"notification?","visibility":"Public","body":"self == Notification"}},{"html_id":"ok?-instance-method","name":"ok?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L147"},"def":{"name":"ok?","visibility":"Public","body":"self == OK"}},{"html_id":"presentation_connect?-instance-method","name":"presentation_connect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L148"},"def":{"name":"presentation_connect?","visibility":"Public","body":"self == PresentationConnect"}},{"html_id":"ringing?-instance-method","name":"ringing?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L149"},"def":{"name":"ringing?","visibility":"Public","body":"self == Ringing"}},{"html_id":"sign_in?-instance-method","name":"sign_in?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L150"},"def":{"name":"sign_in?","visibility":"Public","body":"self == SignIn"}},{"html_id":"special_info?-instance-method","name":"special_info?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L151"},"def":{"name":"special_info?","visibility":"Public","body":"self == SpecialInfo"}},{"html_id":"telephone_call?-instance-method","name":"telephone_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L152"},"def":{"name":"telephone_call?","visibility":"Public","body":"self == TelephoneCall"}},{"html_id":"video_call?-instance-method","name":"video_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L153"},"def":{"name":"video_call?","visibility":"Public","body":"self == VideoCall"}},{"html_id":"volume_adjust?-instance-method","name":"volume_adjust?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L154"},"def":{"name":"volume_adjust?","visibility":"Public","body":"self == VolumeAdjust"}},{"html_id":"wake_up?-instance-method","name":"wake_up?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L155"},"def":{"name":"wake_up?","visibility":"Public","body":"self == WakeUp"}}]},{"html_id":"drivers/Cisco/RoomKit/Toogle","path":"Cisco/RoomKit/Toogle.html","kind":"enum","full_name":"Cisco::RoomKit::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L130"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L129"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/RoomKit/VideoLayout","path":"Cisco/RoomKit/VideoLayout.html","kind":"enum","full_name":"Cisco::RoomKit::VideoLayout","name":"VideoLayout","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L197"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Equal","name":"Equal","value":"0"},{"id":"PIP","name":"PIP","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L198"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L199"},"def":{"name":"pip?","visibility":"Public","body":"self == PIP"}}]}]},{"html_id":"drivers/Cisco/RoomOS","path":"Cisco/RoomOS.html","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_os.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_os.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_os.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_os.cr#L38"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}]},{"html_id":"drivers/Cisco/Switch","path":"Cisco/Switch.html","kind":"module","full_name":"Cisco::Switch","name":"Switch","abstract":false,"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Switch/SnoopingCatalyst","path":"Cisco/Switch/SnoopingCatalyst.html","kind":"class","full_name":"Cisco::Switch::SnoopingCatalyst","name":"SnoopingCatalyst","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Switch","kind":"module","full_name":"Cisco::Switch","name":"Switch"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.in(1.second) do\n query_connected_devices\nend\nschedule.every(1.minute) do\n query_connected_devices\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L60"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nqueue.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\n\", \"--More--\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@ignore_macs = ::Set.new(((setting?(Hash(String, String), :ignore_macs)) || ({} of String => String)).values)\nself[:name] = @switch_name = setting?(String, :switch_name)\nself[:ip_address] = config.ip.not_nil!.downcase\nself[:building] = setting?(String, :building)\nself[:level] = setting?(String, :level)\nself[:last_successful_query]? || (self[:last_successful_query] = 0)\n"}},{"html_id":"query_connected_devices-instance-method","name":"query_connected_devices","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L87"},"def":{"name":"query_connected_devices","visibility":"Public","body":"begin\n if @querying_devices\n return\n end\n @querying_devices = true\n logger.debug do\n \"Querying for connected devices\"\n end\n query_interface_status.get\n sleep(3.seconds)\n query_mac_addresses.get\n sleep(3.seconds)\n query_snooping_bindings.get\n sleep(2.seconds)\n nil\nensure\n @querying_devices = false\nend"}},{"html_id":"query_interface_status-instance-method","name":"query_interface_status","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L71"},"def":{"name":"query_interface_status","visibility":"Public","body":"do_send(\"show interfaces status\")"}},{"html_id":"query_mac_addresses-instance-method","name":"query_mac_addresses","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L75"},"def":{"name":"query_mac_addresses","visibility":"Public","body":"@interface_macs.clear\ndo_send(\"show mac address-table\")\n"}},{"html_id":"query_snooping_bindings-instance-method","name":"query_snooping_bindings","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L80"},"def":{"name":"query_snooping_bindings","visibility":"Public","body":"@snooping.clear\ndo_send(\"show ip dhcp snooping binding\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L107"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Switch sent: #{data}\"\nend\nif @hostname.nil?\n parts = data.split(\">\")\n if parts.size == 2\n self[:hostname] = @hostname = parts[0]\n return task.try(&.success)\n end\nend\ncase data\nwhen /More/\n send(\" \", priority: 99, retries: 0)\n return task.try(&.success)\nwhen /STATIC|DYNAMIC/\n parts = (data.split(/\\s+/)).reject(&.empty?)\n mac = format(parts[1])\n interface = normalise(parts[-1])\n if mac && interface\n @interface_macs[interface] = mac\n end\n return :success\nwhen /%LINK/\n interface = normalise(((data.split(\",\"))[0].split(/\\s/))[-1])\n if data =~ (/Up:/)\n logger.debug do\n \"Notify Up: #{interface}\"\n end\n @check_interface << interface\n else\n if data =~ (/Down:/)\n logger.debug do\n \"Notify Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\n end\n self[:interfaces] = @check_interface\n return task.try(&.success)\nwhen .starts_with?(\"Total number\")\n logger.debug do\n \"Processing #{@snooping.size} bindings\"\n end\n checked = Set(String).new\n devices = {} of String => NamedTuple(mac: String, ip: String)\n state_changed = false\n @snooping.each do |mac, ip, interface|\n if @check_interface.includes?(interface)\n else\n next\n end\n if @interface_macs[interface]? == mac\n else\n next\n end\n if checked.includes?(interface)\n next\n end\n checked << interface\n iface = @devices[interface]? || {mac: \"\", ip: \"\"}\n if (iface[:ip] != ip) || (iface[:mac] != mac)\n logger.debug do\n \"New connection on #{interface} with #{ip}: #{mac}\"\n end\n devices[interface] = {mac: mac, ip: ip}\n state_changed = true\n else\n devices[interface] = iface\n end\n end\n if state_changed\n @devices = devices\n self[:devices] = devices\n end\n if @check_interface != checked\n @check_interface = checked\n self[:interfaces] = checked\n end\n self[:last_successful_query] = Time.utc.to_unix\n return task.try(&.success)\nend\nentries = (data.split(/\\s+/)).reject(&.empty?)\ncase entries\nwhen .includes?(\"connected\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n else\n logger.debug do\n \"Interface Up: #{interface}\"\n end\n @check_interface << interface\n end\nwhen .includes?(\"notconnect\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n logger.debug do\n \"Interface Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\nelse\n if entries.size > 2\n interface = normalise(entries[-1])\n if @check_interface.includes?(interface)\n mac = entries[0]\n if mac =~ (/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)\n mac = format(mac)\n ip = entries[1]\n if @ignore_macs.includes?(mac[0..5])\n else\n @snooping << {mac, ip, interface}\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"run(command:String)-instance-method","name":"run","doc":"Don't want the every day user using this method","summary":"

Don't want the every day user using this method

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(command : String)","args_html":"(command : String)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L67"},"def":{"name":"run","args":[{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"do_send(command)"}}]}]},{"html_id":"drivers/Cisco/UIExtender","path":"Cisco/UIExtender.html","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IGNORE_METHODS","name":"IGNORE_METHODS","value":"[\"on_load\", \"on_unload\", \"on_update\"] of ::String","doc":"Build a list of all callback methods that have been defined.\n\nCallback methods are denoted being single arity and beginning with `on_`.","summary":"

Build a list of all callback methods that have been defined.

"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"alert(text:String,title:String=\"\",duration:Int32=0)-instance-method","name":"alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"args_string":"(text : String, title : String = \"\", duration : Int32 = 0)","args_html":"(text : String, title : String = "", duration : Int32 = 0)","location":{"filename":"src/cisco/ui_extender.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L200"},"def":{"name":"alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Display\", hash_args: {Text: text, Title: title, Duration: duration})"}},{"html_id":"clear_alert-instance-method","name":"clear_alert","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L211"},"def":{"name":"clear_alert","visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"clear_extensions-instance-method","name":"clear_extensions","doc":"Clear any deployed UI extensions.","summary":"

Clear any deployed UI extensions.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L75"},"def":{"name":"clear_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"close_panel-instance-method","name":"close_panel","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L82"},"def":{"name":"close_panel","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Panel Close\")"}},{"html_id":"deploy_extensions(id:String,xml_def:String)-instance-method","name":"deploy_extensions","doc":"Push a UI definition build with the in-room control editor to the device.","summary":"

Push a UI definition build with the in-room control editor to the device.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L65"},"def":{"name":"deploy_extensions","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Set\", xml_def, {\"config_id\" => id})"}},{"html_id":"highlight(id:String,state:Bool=true,momentary:Bool=false,time:Int32=500)-instance-method","name":"highlight","doc":"Set the highlight state for a button widget.","summary":"

Set the highlight state for a button widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"args_string":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","args_html":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","location":{"filename":"src/cisco/ui_extender.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L145"},"def":{"name":"highlight","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"visibility":"Public","body":"value = state ? \"active\" : \"inactive\"\nif momentary\n schedule.in(time.milliseconds) do\n highlight(id, !state)\n nil\n end\nend\nset(id, value)\n"}},{"html_id":"label(id:String,value:String|Bool|Nil)-instance-method","name":"label","doc":"Set the text label used on text or spinner widget.","summary":"

Set the text label used on text or spinner widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L152"},"def":{"name":"label","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"link_widget(id:String,bindings:Binding)-instance-method","name":"link_widget","doc":"Wire up a widget based on a binding target.","summary":"

Wire up a widget based on a binding target.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"args_string":"(id : String, bindings : Binding)","args_html":"(id : String, bindings : Binding)","location":{"filename":"src/cisco/ui_extender.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L328"},"def":{"name":"link_widget","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"visibility":"Public","body":"logger.debug do\n \"setting up bindings for #{id}\"\nend\nbinding = case bindings\nin String\n (([\"clicked\", \"changed\", \"status\"] of ::String).product([bindings])).to_h\nin Hash(String, Hash(String, Hash(String, Array(String)) | String) | String)\n bindings\nend\nbinding.each do |type, target|\n if type == \"status\"\n case target\n in String\n mod, state = target.split(\".\")\n link_feedback(id, mod, state)\n in Hash(String, String | Hash(String, Array(String)))\n mod, state = target.first\n link_feedback(id, mod, state.as(String))\n end\n else\n handler = build_handler(target)\n if handler\n @event_handlers[{id, type}] = handler\n else\n logger.warn do\n \"invalid #{type} binding for #{id}\"\n end\n end\n end\nend\n"}},{"html_id":"list_extensions-instance-method","name":"list_extensions","doc":"Retrieve the extensions currently loaded.","summary":"

Retrieve the extensions currently loaded.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L70"},"def":{"name":"list_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions List\")"}},{"html_id":"on_extensions_widget_action(event:Hash(String,JSON::Any))-instance-method","name":"on_extensions_widget_action","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"args_string":"(event : Hash(String, JSON::Any))","args_html":"(event : Hash(String, JSON::Any))","location":{"filename":"src/cisco/ui_extender.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L159"},"def":{"name":"on_extensions_widget_action","args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"logger.debug do\n \"received widget action update #{event}\"\nend\ncurrent_key = event.keys.first\ncase current_key\nwhen \"/Event/UserInterface/Extensions/Widget/Action/WidgetId\"\n @action_merged[\"WidgetId\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action\", \"/Event/UserInterface/Extensions/Widget/Action/Value\"\n @action_merged[\"Value\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action/Type\"\n @action_merged[\"Type\"] = event[current_key]\nelse\n logger.debug do\n \"ignoring key #{current_key} processing widget_action event\"\n end\nend\nlogger.debug do\n \"current action state: #{@action_merged}\"\nend\nif @action_merged.size == 3\nelse\n return\nend\nid, value, type = @action_merged.values_at(\"WidgetId\", \"Value\", \"Type\")\n@action_merged = {} of String => JSON::Any\nlogger.debug do\n \"#{id} #{type} = #{value}\"\nend\nid = id.as_s\ntype = type.as_s\nif [\"\", \"increment\", \"decrement\"].includes?(value.raw)\nelse\n self[id] = value\nend\nbegin\n handler = @event_handlers.fetch([id, type], nil)\n handler.try(&.call(value))\nrescue e\n logger.error(exception: e) do\n \"error in binding for #{id}.#{type}\"\n end\nend\nself[:__event_stream] = {id: id, type: type, value: value}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update(true)"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L27"},"def":{"name":"on_unload","visibility":"Public","body":"clear_extensions\nunbind\n"}},{"html_id":"on_update(loading=false)-instance-method","name":"on_update","abstract":false,"args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"args_string":"(loading = false)","args_html":"(loading = false)","location":{"filename":"src/cisco/ui_extender.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L37"},"def":{"name":"on_update","args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"visibility":"Public","body":"if loading\nelse\n begin\n clear_events\n rescue\n end\nend\ncodec_mod = (setting?(String, :codec)) || \"VidConf_1\"\nif system.exists?(codec_mod)\nelse\n logger.warn do\n \"could not find codec #{codec_mod}\"\n end\n return\nend\nui_layout = setting?(String, :cisco_ui_layout)\nbindings = (setting?(Bindings, :cisco_ui_bindings)) || ({} of String => Binding)\nbind(codec_mod) do\n if ui_layout\n deploy_extensions(\"PlaceOS\", ui_layout)\n end\n bindings.each do |id, config|\n link_widget(id, config)\n end\nend\n"}},{"html_id":"set(id:String,value:String|Bool|Nil)-instance-method","name":"set","doc":"Set the value of a widget.","summary":"

Set the value of a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L119"},"def":{"name":"set","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"switch(id:String,state:Bool|Nil=nil)-instance-method","name":"switch","doc":"Set the state of a switch widget.","summary":"

Set the state of a switch widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"args_string":"(id : String, state : Bool | Nil = nil)","args_html":"(id : String, state : Bool | Nil = nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L138"},"def":{"name":"switch","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if state.nil?\n state = !(status?(Bool, id))\nend\nvalue = state ? \"on\" : \"off\"\nset(id, value)\n"}},{"html_id":"sync_widget_state-instance-method","name":"sync_widget_state","doc":"Push the current module state to the device.","summary":"

Push the current module state to the device.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L262"},"def":{"name":"sync_widget_state","visibility":"Public","body":"@__status__.each do |key, value|\n if key == \"connected\"\n next\n end\n if key =~ (/^__.*/)\n next\n end\n case value\n when .starts_with?(\"\\\"\")\n set(key, String.from_json(value))\n when \"true\", \"false\"\n set(key, value == \"true\")\n end\nend"}},{"html_id":"unset(id:String)-instance-method","name":"unset","doc":"Clear the value associated with a widget.","summary":"

Clear the value associated with a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L124"},"def":{"name":"unset","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"clearing #{id}\"\nend\nupdate = codec.xcommand(\"UserInterface Extensions Widget UnsetValue\", hash_args: {WidgetId: id})\nPromise.defer(same_thread: true) do\n update.get\n self[id] = nil\n nil.as(String | Nil)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/UIExtender/Binding","path":"Cisco/UIExtender/Binding.html","kind":"alias","full_name":"Cisco::UIExtender::Binding","name":"Binding","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"}},{"html_id":"drivers/Cisco/UIExtender/Bindings","path":"Cisco/UIExtender/Bindings.html","kind":"alias","full_name":"Cisco::UIExtender::Bindings","name":"Bindings","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"},"doc":"id => binding","summary":"

id => binding

"}]},{"html_id":"drivers/Cisco/Webex","path":"Cisco/Webex.html","kind":"module","full_name":"Cisco::Webex","name":"Webex","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L2"},{"filename":"src/cisco/webex/api/people.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L2"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L2"},{"filename":"src/cisco/webex/client.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L2"},{"filename":"src/cisco/webex/command.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L2"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L2"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L2"},{"filename":"src/cisco/webex/constants.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L2"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L2"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L2"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L2"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L2"},{"filename":"src/cisco/webex/models/device.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L2"},{"filename":"src/cisco/webex/models/event.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L2"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L2"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L2"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L2"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L2"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L2"},{"filename":"src/cisco/webex/models/message.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L2"},{"filename":"src/cisco/webex/models/peek.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L2"},{"filename":"src/cisco/webex/models/person.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L2"},{"filename":"src/cisco/webex/models/room.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L2"},{"filename":"src/cisco/webex/session.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L2"},{"filename":"src/cisco/webex/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L2"},{"filename":"src/cisco/webex/utils.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Webex/Api","path":"Cisco/Webex/Api.html","kind":"module","full_name":"Cisco::Webex::Api","name":"Api","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L3"},{"filename":"src/cisco/webex/api/people.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L3"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Api/Messages","path":"Cisco/Webex/Api/Messages.html","kind":"class","full_name":"Cisco::Webex::Api::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/People","path":"Cisco/Webex/Api/People.html","kind":"class","full_name":"Cisco::Webex::Api::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/people.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/people.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"me:Models::Person-instance-method","name":"me","abstract":false,"location":{"filename":"src/cisco/webex/api/people.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L8"},"def":{"name":"me","return_type":"Models::Person","visibility":"Public","body":"response = @session.get([Constants::PEOPLE_ENDPOINT, \"/\", \"me\"].join(\"\"))\nModels::Person.from_json(response.body)\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/Rooms","path":"Cisco/Webex/Api/Rooms.html","kind":"class","full_name":"Cisco::Webex::Api::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/rooms.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]}]},{"html_id":"drivers/Cisco/Webex/Client","path":"Cisco/Webex/Client.html","kind":"class","full_name":"Cisco::Webex::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/client.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(name:String,access_token:String,emails:String,session:Session,commands:Array(Command))-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"args_string":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","args_html":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L10"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, access_token, emails, session, commands)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"keywords:Hash(String,Command)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords","return_type":"Hash(String, Command)","visibility":"Public","body":"@keywords"}},{"html_id":"keywords=(keywords:Hash(String,Command))-instance-method","name":"keywords=","abstract":false,"args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"args_string":"(keywords : Hash(String, Command))","args_html":"(keywords : Hash(String, Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords=","args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"visibility":"Public","body":"@keywords = keywords"}},{"html_id":"messages:Cisco::Webex::Api::Messages-instance-method","name":"messages","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L31"},"def":{"name":"messages","visibility":"Public","body":"@messages"}},{"html_id":"people:Cisco::Webex::Api::People-instance-method","name":"people","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L27"},"def":{"name":"people","visibility":"Public","body":"@people"}},{"html_id":"rooms:Cisco::Webex::Api::Rooms-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L23"},"def":{"name":"rooms","visibility":"Public","body":"@rooms"}},{"html_id":"run:Void-instance-method","name":"run","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L124"},"def":{"name":"run","return_type":"Void","visibility":"Public","body":"device = device()\n@socket = socket = HTTP::WebSocket.new(URI.parse(device.websocket_url))\nsocket.on_message do |message|\n process_incoming_websocket_message(socket, message)\nend\nsocket.on_binary do |binary|\n process_incoming_websocket_message(socket, String.new(binary))\nend\nmessage = {\"id\" => UUID.random.to_s, \"type\" => \"authorization\", \"trackingId\" => [\"webex\", \"-\", UUID.random.to_s].join(\"\"), \"data\" => {\"token\" => [\"Bearer\", @access_token].join(\" \")}}\nsocket.send(message.to_json)\nsocket.run\n"}},{"html_id":"socket:HTTP::WebSocket|Nil-instance-method","name":"socket","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L8"},"def":{"name":"socket","return_type":"HTTP::WebSocket | ::Nil","visibility":"Public","body":"@socket"}},{"html_id":"socket=(socket:HTTP::WebSocket|Nil)-instance-method","name":"socket=","abstract":false,"args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"args_string":"(socket : HTTP::WebSocket | Nil)","args_html":"(socket : HTTP::WebSocket | Nil)","location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L8"},"def":{"name":"socket=","args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"visibility":"Public","body":"@socket = socket"}},{"html_id":"stop:Void-instance-method","name":"stop","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L148"},"def":{"name":"stop","return_type":"Void","visibility":"Public","body":"@socket.close"}}]},{"html_id":"drivers/Cisco/Webex/Command","path":"Cisco/Webex/Command.html","kind":"class","full_name":"Cisco::Webex::Command","name":"Command","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/command.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo"},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L5"},"def":{"name":"description","return_type":"String","visibility":"Public","body":""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":true,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L6"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":""}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L4"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":""}}]},{"html_id":"drivers/Cisco/Webex/Commands","path":"Cisco/Webex/Commands.html","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands","abstract":false,"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L3"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","path":"Cisco/Webex/Commands/Echo.html","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply replies your message!\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => message.text}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"echo\"]"}}]},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","path":"Cisco/Webex/Commands/Greeting.html","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/greeting.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply responds to hello, hi, how are you, etc.\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => \"👋\"}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"hello\", \"hi\"]"}}]}]},{"html_id":"drivers/Cisco/Webex/Constants","path":"Cisco/Webex/Constants.html","kind":"module","full_name":"Cisco::Webex::Constants","name":"Constants","abstract":false,"locations":[{"filename":"src/cisco/webex/constants.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_BASE_URL","name":"DEFAULT_BASE_URL","value":"\"https://webexapis.com/v1/\""},{"id":"DEFAULT_DEVICE_URL","name":"DEFAULT_DEVICE_URL","value":"\"https://wdm-a.wbx2.com/wdm/api/v1/\""},{"id":"DEFAULT_SINGLE_REQUEST_TIMEOUT","name":"DEFAULT_SINGLE_REQUEST_TIMEOUT","value":"60"},{"id":"DEFAULT_WAIT_ON_RATE_LIMIT","name":"DEFAULT_WAIT_ON_RATE_LIMIT","value":"true"},{"id":"DEVICE","name":"DEVICE","value":"{\"deviceType\" => \"DESKTOP\", \"localizedModel\" => \"crystal\", \"model\" => \"crystal\", \"name\" => UUID.random.to_s, \"systemName\" => \"webex-bot-client\", \"systemVersion\" => VERSION}"},{"id":"MESSAGES_ENDPOINT","name":"MESSAGES_ENDPOINT","value":"\"messages\""},{"id":"PEOPLE_ENDPOINT","name":"PEOPLE_ENDPOINT","value":"\"people\""},{"id":"ROOMS_ENDPOINT","name":"ROOMS_ENDPOINT","value":"\"rooms\""},{"id":"STATUS_CODES","name":"STATUS_CODES","value":"{200 => \"Successful request with body content.\", 204 => \"Successful request without body content.\", 400 => \"The request was invalid or cannot be otherwise served.\", 401 => \"Authentication credentials were missing or incorrect.\", 403 => \"The request is understood, but it has been refused or access is not allowed.\", 404 => \"The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.\", 405 => \"The request was made to a resource using an HTTP request method that is not supported.\", 409 => \"The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.\", 410 => \"The requested resource is no longer available.\", 415 => \"The request was made to a resource without specifying a media type or used a media type that is not supported.\", 423 => \"The requested resource is temporarily unavailable. A `Retry-After` header may be present that specifies how many seconds you need to wait before attempting the request again.\", 429 => \"Too many requests have been sent in a given amount of time and the request has been rate limited. A `Retry-After` header should be present that specifies how many seconds you need to wait before a successful request can be made.\", 500 => \"Something went wrong on the server. If the issue persists, feel free to contact the Webex Developer Support team (https://developer.webex.com/support).\", 502 => \"The server received an invalid response from an upstream server while processing the request. Try again later.\", 503 => \"Server is overloaded with requests. Try again later.\"}"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/drivers/drivers/src/cisco/webex\\\"`).chomp.stringify.downcase }}"},{"id":"WEBEX_TEAMS_DATETIME_FORMAT","name":"WEBEX_TEAMS_DATETIME_FORMAT","value":"\"%Y-%m-%dT%H:%M:%S.%fZ\""}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"}},{"html_id":"drivers/Cisco/Webex/Exceptions","path":"Cisco/Webex/Exceptions.html","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions","abstract":false,"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L3"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L3"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L3"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Exceptions/Argument","path":"Cisco/Webex/Exceptions/Argument.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Argument","name":"Argument","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/Method","path":"Cisco/Webex/Exceptions/Method.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Method","name":"Method","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/method.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/RateLimit","path":"Cisco/Webex/Exceptions/RateLimit.html","kind":"class","full_name":"Cisco::Webex::Exceptions::RateLimit","name":"RateLimit","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/StatusCode","path":"Cisco/Webex/Exceptions/StatusCode.html","kind":"class","full_name":"Cisco::Webex::Exceptions::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect","path":"Cisco/Webex/InstantConnect.html","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"create_guest_bearer(user_id:String,display_name:String,expiry:Int64|Nil=nil)-instance-method","name":"create_guest_bearer","doc":"Cisco docs on the subject:\n* Guest JWT: https://developer.webex.com/docs/guest-issuer\n* Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/","summary":"

Cisco docs on the subject: * Guest JWT: https://developer.webex.com/docs/guest-issuer * Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","args_html":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L38"},"def":{"name":"create_guest_bearer","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"expires_at = expiry || 12.hours.from_now.to_unix\nJWT.encode({sub: user_id, name: display_name, iss: @webex_guest_issuer, iat: 3.minutes.ago.to_unix, exp: expires_at}, Base64.decode_string(@webex_guest_secret), :hs256)\n"}},{"html_id":"create_meeting(room_id:String)-instance-method","name":"create_meeting","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L49"},"def":{"name":"create_meeting","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"expiry = 24.hours.from_now.to_unix\nrequest = {aud: @jwt_audience, provideShortUrls: true, jwt: {sub: room_id, exp: expiry}}.to_json\nget_meeting_details(get_hash(request))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@webex_guest_issuer = (setting?(String, :webex_guest_issuer)) || \"\"\n@webex_guest_secret = (setting?(String, :webex_guest_secret)) || \"\"\n@audience_setting = (setting?(String, :jwt_audience)) || \"a4d886b0-979f-4e2c-a958-3e8c14605e51\"\n@bot_access_token = setting(String, :bot_access_token)\n"}}],"types":[{"html_id":"drivers/Cisco/Webex/InstantConnect/JoseEncryptResponse","path":"Cisco/Webex/InstantConnect/JoseEncryptResponse.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::JoseEncryptResponse","name":"JoseEncryptResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L95"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"guest:Array(MeetingDetails)-instance-method","name":"guest","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L92"},"def":{"name":"guest","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@guest"}},{"html_id":"host:Array(MeetingDetails)-instance-method","name":"host","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L91"},"def":{"name":"host","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@host"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect/MeetingDetails","path":"Cisco/Webex/InstantConnect/MeetingDetails.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::MeetingDetails","name":"MeetingDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cipher:String-instance-method","name":"cipher","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L101"},"def":{"name":"cipher","return_type":"String","visibility":"Public","body":"@cipher"}},{"html_id":"short:String-instance-method","name":"short","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L102"},"def":{"name":"short","return_type":"String","visibility":"Public","body":"@short"}}]}]},{"html_id":"drivers/Cisco/Webex/Models","path":"Cisco/Webex/Models.html","kind":"module","full_name":"Cisco::Webex::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L3"},{"filename":"src/cisco/webex/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L3"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L3"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L3"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L3"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L3"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L3"},{"filename":"src/cisco/webex/models/message.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L3"},{"filename":"src/cisco/webex/models/peek.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L3"},{"filename":"src/cisco/webex/models/person.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L3"},{"filename":"src/cisco/webex/models/room.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Device","path":"Cisco/Webex/Models/Device.html","kind":"class","full_name":"Cisco::Webex::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"websocket_url:String-instance-method","name":"websocket_url","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url","return_type":"String","visibility":"Public","body":"@websocket_url"}},{"html_id":"websocket_url=(websocket_url:String)-instance-method","name":"websocket_url=","abstract":false,"args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"args_string":"(websocket_url : String)","args_html":"(websocket_url : String)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url=","args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"visibility":"Public","body":"@websocket_url = websocket_url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Event","path":"Cisco/Webex/Models/Event.html","kind":"class","full_name":"Cisco::Webex::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data","return_type":"Events::Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"args_string":"(data : Events::Data)","args_html":"(data : Events::Data)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"filter_message:Bool-instance-method","name":"filter_message","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message","return_type":"Bool","visibility":"Public","body":"@filter_message"}},{"html_id":"filter_message=(filter_message:Bool)-instance-method","name":"filter_message=","abstract":false,"args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"args_string":"(filter_message : Bool)","args_html":"(filter_message : Bool)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message=","args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"visibility":"Public","body":"@filter_message = filter_message"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sequence_number:Int64-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number","return_type":"Int64","visibility":"Public","body":"@sequence_number"}},{"html_id":"sequence_number=(sequence_number:Int64)-instance-method","name":"sequence_number=","abstract":false,"args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"args_string":"(sequence_number : Int64)","args_html":"(sequence_number : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number=","args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"visibility":"Public","body":"@sequence_number = sequence_number"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"tracking_id:String-instance-method","name":"tracking_id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id","return_type":"String","visibility":"Public","body":"@tracking_id"}},{"html_id":"tracking_id=(tracking_id:String)-instance-method","name":"tracking_id=","abstract":false,"args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"args_string":"(tracking_id : String)","args_html":"(tracking_id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id=","args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"visibility":"Public","body":"@tracking_id = tracking_id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events","path":"Cisco/Webex/Models/Events.html","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events","abstract":false,"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L4"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L4"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L4"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L4"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Events/Activity","path":"Cisco/Webex/Models/Events/Activity.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Activity","name":"Activity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actor:Actor-instance-method","name":"actor","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor","return_type":"Actor","visibility":"Public","body":"@actor"}},{"html_id":"actor=(actor:Actor)-instance-method","name":"actor=","abstract":false,"args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"args_string":"(actor : Actor)","args_html":"(actor : Actor)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor=","args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"visibility":"Public","body":"@actor = actor"}},{"html_id":"client_temp_id:String|Nil-instance-method","name":"client_temp_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id","return_type":"String | ::Nil","visibility":"Public","body":"@client_temp_id"}},{"html_id":"client_temp_id=(client_temp_id:String|Nil)-instance-method","name":"client_temp_id=","abstract":false,"args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"args_string":"(client_temp_id : String | Nil)","args_html":"(client_temp_id : String | Nil)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id=","args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client_temp_id = client_temp_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"target:Target-instance-method","name":"target","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target","return_type":"Target","visibility":"Public","body":"@target"}},{"html_id":"target=(target:Target)-instance-method","name":"target=","abstract":false,"args":[{"name":"target","external_name":"target","restriction":"Target"}],"args_string":"(target : Target)","args_html":"(target : Target)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target=","args":[{"name":"target","external_name":"target","restriction":"Target"}],"visibility":"Public","body":"@target = target"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"verb:String-instance-method","name":"verb","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb","return_type":"String","visibility":"Public","body":"@verb"}},{"html_id":"verb=(verb:String)-instance-method","name":"verb=","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"}],"args_string":"(verb : String)","args_html":"(verb : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb=","args":[{"name":"verb","external_name":"verb","restriction":"String"}],"visibility":"Public","body":"@verb = verb"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Actor","path":"Cisco/Webex/Models/Events/Actor.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Actor","name":"Actor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/actor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"entry_uuid:String-instance-method","name":"entry_uuid","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid","return_type":"String","visibility":"Public","body":"@entry_uuid"}},{"html_id":"entry_uuid=(entry_uuid:String)-instance-method","name":"entry_uuid=","abstract":false,"args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"args_string":"(entry_uuid : String)","args_html":"(entry_uuid : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid=","args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"visibility":"Public","body":"@entry_uuid = entry_uuid"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"organisation_id:String-instance-method","name":"organisation_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id","return_type":"String","visibility":"Public","body":"@organisation_id"}},{"html_id":"organisation_id=(organisation_id:String)-instance-method","name":"organisation_id=","abstract":false,"args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"args_string":"(organisation_id : String)","args_html":"(organisation_id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id=","args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"visibility":"Public","body":"@organisation_id = organisation_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Data","path":"Cisco/Webex/Models/Events/Data.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/data.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activity:Activity-instance-method","name":"activity","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity","return_type":"Activity","visibility":"Public","body":"@activity"}},{"html_id":"activity=(activity:Activity)-instance-method","name":"activity=","abstract":false,"args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"args_string":"(activity : Activity)","args_html":"(activity : Activity)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity=","args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"visibility":"Public","body":"@activity = activity"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Target","path":"Cisco/Webex/Models/Events/Target.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Target","name":"Target","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/target.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Type","path":"Cisco/Webex/Models/Events/Type.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Type","name":"Type","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]}]},{"html_id":"drivers/Cisco/Webex/Models/Message","path":"Cisco/Webex/Models/Message.html","kind":"class","full_name":"Cisco::Webex::Models::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/message.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Array(String)|Nil-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@attachments"}},{"html_id":"attachments=(attachments:Array(String)|Nil)-instance-method","name":"attachments=","abstract":false,"args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"args_string":"(attachments : Array(String) | Nil)","args_html":"(attachments : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments=","args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@attachments = attachments"}},{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"files:Array(String)|Nil-instance-method","name":"files","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@files"}},{"html_id":"files=(files:Array(String)|Nil)-instance-method","name":"files=","abstract":false,"args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"args_string":"(files : Array(String) | Nil)","args_html":"(files : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files=","args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@files = files"}},{"html_id":"html:String|Nil-instance-method","name":"html","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html","return_type":"String | ::Nil","visibility":"Public","body":"@html"}},{"html_id":"html=(html:String|Nil)-instance-method","name":"html=","abstract":false,"args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(html : String | Nil)","args_html":"(html : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html=","args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"visibility":"Public","body":"@html = html"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"markdown:String|Nil-instance-method","name":"markdown","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown","return_type":"String | ::Nil","visibility":"Public","body":"@markdown"}},{"html_id":"markdown=(markdown:String|Nil)-instance-method","name":"markdown=","abstract":false,"args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"args_string":"(markdown : String | Nil)","args_html":"(markdown : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown=","args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"visibility":"Public","body":"@markdown = markdown"}},{"html_id":"mentioned_groups:Array(String)|Nil-instance-method","name":"mentioned_groups","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_groups"}},{"html_id":"mentioned_groups=(mentioned_groups:Array(String)|Nil)-instance-method","name":"mentioned_groups=","abstract":false,"args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_groups : Array(String) | Nil)","args_html":"(mentioned_groups : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups=","args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_groups = mentioned_groups"}},{"html_id":"mentioned_people:Array(String)|Nil-instance-method","name":"mentioned_people","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_people"}},{"html_id":"mentioned_people=(mentioned_people:Array(String)|Nil)-instance-method","name":"mentioned_people=","abstract":false,"args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_people : Array(String) | Nil)","args_html":"(mentioned_people : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people=","args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_people = mentioned_people"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"parent_id=(parent_id:String|Nil)-instance-method","name":"parent_id=","abstract":false,"args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"args_string":"(parent_id : String | Nil)","args_html":"(parent_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id=","args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@parent_id = parent_id"}},{"html_id":"person_email:String-instance-method","name":"person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email","return_type":"String","visibility":"Public","body":"@person_email"}},{"html_id":"person_email=(person_email:String)-instance-method","name":"person_email=","abstract":false,"args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"args_string":"(person_email : String)","args_html":"(person_email : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email=","args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"visibility":"Public","body":"@person_email = person_email"}},{"html_id":"person_id:String-instance-method","name":"person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id","return_type":"String","visibility":"Public","body":"@person_id"}},{"html_id":"person_id=(person_id:String)-instance-method","name":"person_id=","abstract":false,"args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"args_string":"(person_id : String)","args_html":"(person_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id=","args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"visibility":"Public","body":"@person_id = person_id"}},{"html_id":"room_id:String-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id","return_type":"String","visibility":"Public","body":"@room_id"}},{"html_id":"room_id=(room_id:String)-instance-method","name":"room_id=","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id=","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"@room_id = room_id"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}},{"html_id":"room_type=(room_type:String)-instance-method","name":"room_type=","abstract":false,"args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"args_string":"(room_type : String)","args_html":"(room_type : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type=","args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"visibility":"Public","body":"@room_type = room_type"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}},{"html_id":"to_person_email:String|Nil-instance-method","name":"to_person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_email"}},{"html_id":"to_person_email=(to_person_email:String|Nil)-instance-method","name":"to_person_email=","abstract":false,"args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"args_string":"(to_person_email : String | Nil)","args_html":"(to_person_email : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email=","args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_email = to_person_email"}},{"html_id":"to_person_id:String|Nil-instance-method","name":"to_person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_id"}},{"html_id":"to_person_id=(to_person_id:String|Nil)-instance-method","name":"to_person_id=","abstract":false,"args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"args_string":"(to_person_id : String | Nil)","args_html":"(to_person_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id=","args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_id = to_person_id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/Cisco/Webex/Models/Peek","path":"Cisco/Webex/Models/Peek.html","kind":"class","full_name":"Cisco::Webex::Models::Peek","name":"Peek","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/peek.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Type-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data","return_type":"Events::Type","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Type)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"args_string":"(data : Events::Type)","args_html":"(data : Events::Type)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"visibility":"Public","body":"@data = data"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Person","path":"Cisco/Webex/Models/Person.html","kind":"class","full_name":"Cisco::Webex::Models::Person","name":"Person","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/person.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Room","path":"Cisco/Webex/Models/Room.html","kind":"class","full_name":"Cisco::Webex::Models::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/room.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"creator_id:String-instance-method","name":"creator_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id","return_type":"String","visibility":"Public","body":"@creator_id"}},{"html_id":"creator_id=(creator_id:String)-instance-method","name":"creator_id=","abstract":false,"args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"args_string":"(creator_id : String)","args_html":"(creator_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id=","args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"visibility":"Public","body":"@creator_id = creator_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_locked:Bool-instance-method","name":"is_locked","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked","return_type":"Bool","visibility":"Public","body":"@is_locked"}},{"html_id":"is_locked=(is_locked:Bool)-instance-method","name":"is_locked=","abstract":false,"args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"args_string":"(is_locked : Bool)","args_html":"(is_locked : Bool)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked=","args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"visibility":"Public","body":"@is_locked = is_locked"}},{"html_id":"last_activity:String-instance-method","name":"last_activity","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity","return_type":"String","visibility":"Public","body":"@last_activity"}},{"html_id":"last_activity=(last_activity:String)-instance-method","name":"last_activity=","abstract":false,"args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"args_string":"(last_activity : String)","args_html":"(last_activity : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity=","args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"visibility":"Public","body":"@last_activity = last_activity"}},{"html_id":"owner_id:String-instance-method","name":"owner_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id","return_type":"String","visibility":"Public","body":"@owner_id"}},{"html_id":"owner_id=(owner_id:String)-instance-method","name":"owner_id=","abstract":false,"args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(owner_id : String)","args_html":"(owner_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id=","args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"@owner_id = owner_id"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"team_id=(team_id:String|Nil)-instance-method","name":"team_id=","abstract":false,"args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(team_id : String | Nil)","args_html":"(team_id : String | Nil)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id=","args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@team_id = team_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]}]},{"html_id":"drivers/Cisco/Webex/Session","path":"Cisco/Webex/Session.html","kind":"class","full_name":"Cisco::Webex::Session","name":"Session","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/session.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(access_token:String)-class-method","name":"new","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L13"},"def":{"name":"new","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"base_url=(base_url:String)-instance-method","name":"base_url=","abstract":false,"args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"args_string":"(base_url : String)","args_html":"(base_url : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url=","args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"visibility":"Public","body":"@base_url = base_url"}},{"html_id":"delete(url:String,**kwargs):Halite::Response-instance-method","name":"delete","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L76"},"def":{"name":"delete","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"DELETE\", url, **kwargs)"}},{"html_id":"get(url:String,**kwargs):Halite::Response-instance-method","name":"get","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L61"},"def":{"name":"get","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"GET\", url, **kwargs)"}},{"html_id":"post(url:String,**kwargs):Halite::Response-instance-method","name":"post","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L66"},"def":{"name":"post","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"POST\", url, **kwargs)"}},{"html_id":"put(url:String,**kwargs):Halite::Response-instance-method","name":"put","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L71"},"def":{"name":"put","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"PUT\", url, **kwargs)"}},{"html_id":"request(method:String,url:String,**kwargs):Halite::Response-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String, **kwargs) : Halite::Response","args_html":"(method : String, url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L16"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"absolute_url = ((URI.parse(base_url)).resolve(url)).to_s\n@client.headers({\"Authorization\" => [\"Bearer\", @access_token].join(\" \")})\n@client.headers({\"Content-Type\" => \"application/json;charset=utf-8\"})\n@client.timeout(single_request_timeout)\nloop do\n case method\n when \"GET\"\n response = @client.get(absolute_url, **kwargs)\n when \"POST\"\n response = @client.post(absolute_url, **kwargs)\n when \"PUT\"\n response = @client.put(absolute_url, **kwargs)\n when \"DELETE\"\n response = @client.delete(absolute_url, **kwargs)\n else\n raise(Exceptions::Method.new(\"The request-method type is invalid.\"))\n end\n begin\n status_code = StatusCode.new(response.status_code)\n if response.status_code == 429\n raise(Exceptions::RateLimit.new(status_code.message))\n end\n if !status_code.valid?\n raise(Exceptions::StatusCode.new(status_code.message))\n end\n return response\n rescue e : Exceptions::StatusCode\n Log.error(exception: e) do\n end\n rescue e : Exceptions::RateLimit\n Log.error(exception: e) do\n end\n retry_after = (response.headers[\"Retry-After\"]? || \"15\").to_i * 1000\n sleep(retry_after)\n end\nend\n"}},{"html_id":"single_request_timeout:Int32-instance-method","name":"single_request_timeout","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout","return_type":"Int32","visibility":"Public","body":"@single_request_timeout"}},{"html_id":"single_request_timeout=(single_request_timeout:Int32)-instance-method","name":"single_request_timeout=","abstract":false,"args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"args_string":"(single_request_timeout : Int32)","args_html":"(single_request_timeout : Int32)","location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout=","args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"visibility":"Public","body":"@single_request_timeout = single_request_timeout"}},{"html_id":"user_agent:String-instance-method","name":"user_agent","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent","return_type":"String","visibility":"Public","body":"@user_agent"}},{"html_id":"user_agent=(user_agent:String)-instance-method","name":"user_agent=","abstract":false,"args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"args_string":"(user_agent : String)","args_html":"(user_agent : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent=","args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"visibility":"Public","body":"@user_agent = user_agent"}},{"html_id":"wait_on_rate_limit:Bool-instance-method","name":"wait_on_rate_limit","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit","return_type":"Bool","visibility":"Public","body":"@wait_on_rate_limit"}},{"html_id":"wait_on_rate_limit=(wait_on_rate_limit:Bool)-instance-method","name":"wait_on_rate_limit=","abstract":false,"args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"args_string":"(wait_on_rate_limit : Bool)","args_html":"(wait_on_rate_limit : Bool)","location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit=","args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"visibility":"Public","body":"@wait_on_rate_limit = wait_on_rate_limit"}}]},{"html_id":"drivers/Cisco/Webex/StatusCode","path":"Cisco/Webex/StatusCode.html","kind":"class","full_name":"Cisco::Webex::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(code:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/cisco/webex/status_code.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L6"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"Constants::STATUS_CODES[@code]"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L9"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"case @code\nwhen 200, 204\n true\nelse\n false\nend"}}]},{"html_id":"drivers/Cisco/Webex/Utils","path":"Cisco/Webex/Utils.html","kind":"module","full_name":"Cisco::Webex::Utils","name":"Utils","abstract":false,"locations":[{"filename":"src/cisco/webex/utils.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"class_methods":[{"html_id":"hash_from_items_with_values(**kwargs)-class-method","name":"hash_from_items_with_values","abstract":false,"location":{"filename":"src/cisco/webex/utils.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L4"},"def":{"name":"hash_from_items_with_values","double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"kwargs = kwargs.map do |k, v|\n if (v != nil) && (v != \"\")\n {\"#{k}\" => v}\n end\nend\nkwargs.reject!(nil)\nkwargs = kwargs.reduce do |acc, i|\n acc.try(&.merge(i.not_nil!))\nend\nkwargs\n"}},{"html_id":"named_tuple_from_hash(hash)-class-method","name":"named_tuple_from_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":""}],"args_string":"(hash)","args_html":"(hash)","location":{"filename":"src/cisco/webex/utils.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L17"},"def":{"name":"named_tuple_from_hash","args":[{"name":"hash","external_name":"hash","restriction":""}],"visibility":"Public","body":"named_tuple = NamedTuple.new(roomId: String, text: String)\nnamed_tuple.from(hash)\n"}}]}]}]},{"html_id":"drivers/Crestron","path":"Crestron.html","kind":"module","full_name":"Crestron","name":"Crestron","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Crestron/AspectRatio","path":"Crestron/AspectRatio.html","kind":"enum","full_name":"Crestron::AspectRatio","name":"AspectRatio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MaintainAspectRatio","name":"MaintainAspectRatio","value":"0"},{"id":"StretchToFit","name":"StretchToFit","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"maintain_aspect_ratio?-instance-method","name":"maintain_aspect_ratio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L12"},"def":{"name":"maintain_aspect_ratio?","visibility":"Public","body":"self == MaintainAspectRatio"}},{"html_id":"stretch_to_fit?-instance-method","name":"stretch_to_fit?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L13"},"def":{"name":"stretch_to_fit?","visibility":"Public","body":"self == StretchToFit"}}]},{"html_id":"drivers/Crestron/CresNext","path":"Crestron/CresNext.html","kind":"class","full_name":"Crestron::CresNext","name":"CresNext","abstract":true,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/cres_next.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"}],"subclasses":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Parent module for Crestron DM NVX devices.","summary":"

Parent module for Crestron DM NVX devices.

","instance_methods":[{"html_id":"maintain_session-instance-method","name":"maintain_session","doc":"========================================\nHTTP for updates and session maintenance\n========================================","summary":"

======================================== HTTP for updates and session maintenance ========================================

","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L93"},"def":{"name":"maintain_session","visibility":"Public","body":"response = get(\"/Device/DeviceInfo\")\nif response.success?\nelse\n return logout\nend\nreceived(response.body.to_slice, nil)\n"}},{"html_id":"manual_send(payload:JSON::Any)-instance-method","name":"manual_send","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(payload : JSON::Any)","args_html":"(payload : JSON::Any)","location":{"filename":"src/crestron/cres_next.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L79"},"def":{"name":"manual_send","args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"data = payload.to_json\nlogger.debug do\n \"Sending: #{data}\"\nend\nsend(data, wait: false)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/cres_next.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\n"}},{"html_id":"tokenize(path:String)-instance-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/crestron/cres_next.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L30"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split('/')).reject(&.empty?)"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L15"},"def":{"name":"websocket_headers","visibility":"Public","body":"authenticate\nheaders = HTTP::Headers.new\ntransport.cookies.add_request_headers(headers)\nif @xsrf_token.empty?\nelse\n headers[\"CREST-XSRF-TOKEN\"] = @xsrf_token\nend\nheaders[\"User-Agent\"] = \"advanced-rest-client\"\nschedule.clear\nschedule.every(10.minutes) do\n maintain_session\nend\nheaders\n"}}]},{"html_id":"drivers/Crestron/CresNextAuth","path":"Crestron/CresNextAuth.html","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth","abstract":false,"locations":[{"filename":"src/crestron/cres_next_auth.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/OccupancySensor","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"authenticate-instance-method","name":"authenticate","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L6"},"def":{"name":"authenticate","visibility":"Public","body":"logger.debug do\n \"Authenticating\"\nend\nuri = URI.parse(config.uri.not_nil!)\nhost = uri.host\nresponse = post(\"/userlogin.html\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Referer\" => \"https://#{host}/userlogin.html\", \"Origin\" => \"https://#{host}\"}, body: URI::Params.build do |form|\n form.add(\"login\", setting(String, :username))\n form.add(\"passwd\", setting(String, :password))\nend)\ncase response.status_code\nwhen 200, 302\n auth_cookies = [\"AuthByPasswd\", \"iv\", \"tag\", \"userid\", \"userstr\"] of ::String\n if (auth_cookies - response.cookies.to_h.keys).empty?\n @xsrf_token = response.headers[\"CREST-XSRF-TOKEN\"]? || \"\"\n logger.debug do\n \"Authenticated\"\n end\n else\n error = \"Device did not return all auth information\"\n end\nwhen 403\n error = \"Invalid credentials\"\nelse\n error = \"Unexpected response (HTTP #{response.status})\"\nend\nif error\n logger.error do\n error\n end\n raise(error)\nend\n"}},{"html_id":"logout-instance-method","name":"logout","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L43"},"def":{"name":"logout","visibility":"Public","body":"begin\n response = post(\"/logout\")\n case response.status\n when 302\n logger.debug do\n \"Logout successful\"\n end\n true\n else\n logger.warn do\n \"Unexpected response (HTTP #{response.status})\"\n end\n false\n end\nensure\n @xsrf_token = \"\"\n transport.cookies.clear\n schedule.clear\n disconnect\nend"}}]},{"html_id":"drivers/Crestron/Fusion","path":"Crestron/Fusion.html","kind":"class","full_name":"Crestron::Fusion","name":"Fusion","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/fusion.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"TODO: add handling of security level 2\nTODO: parse returend results into models\n\nDocumentation: https://sdkcon78221.crestron.com/sdk/Fusion_APIs/Content/Topics/Default.htm","summary":"

TODO add handling of security level 2 TODO: parse returend results into models

","instance_methods":[{"html_id":"delete_room(room_id:String)-instance-method","name":"delete_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L132"},"def":{"name":"delete_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"DELETE\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_action(action_id:String)-instance-method","name":"get_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"args_string":"(action_id : String)","args_html":"(action_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L65"},"def":{"name":"get_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/actions/#{action_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_actions(name:String|Nil,room_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_actions","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L55"},"def":{"name":"get_actions","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif room_id\n params[\"room\"] = room_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/actions\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_alerts(node_ids:Array(String)|Nil=nil,room_ids:Array(String)|Nil=nil,start_time:String|Nil=nil,end_time:String|Nil=nil,severity:Int32|Nil=nil,active_alerts:Bool=true)-instance-method","name":"get_alerts","doc":"Severity should be in the range 1-4","summary":"

Severity should be in the range 1-4

","abstract":false,"args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"args_string":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","args_html":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","location":{"filename":"src/crestron/fusion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L90"},"def":{"name":"get_alerts","args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"visibility":"Public","body":"params = URI::Params.new\nif node_ids\n params[\"nodes\"] = node_ids.join(',')\nend\nif room_ids\n params[\"rooms\"] = room_ids.join(',')\nend\nif start_time\n params[\"start\"] = start_time\nend\nif end_time\n params[\"end\"] = end_time\nend\nif severity\n params[\"severity\"] = severity.to_s\nend\nif active_alerts\n params[\"activeAlerts\"] = active_alerts.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_room(room_id:String)-instance-method","name":"get_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L122"},"def":{"name":"get_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_rooms(name:String|Nil,node_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_rooms","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L112"},"def":{"name":"get_rooms","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif node_id\n params[\"node\"] = node_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_value(symbol_id:String,attribute_id:String)-instance-method","name":"get_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String)","args_html":"(symbol_id : String, attribute_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L146"},"def":{"name":"get_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}/#{attribute_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_values(symbol_id:String)-instance-method","name":"get_signal_values","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"args_string":"(symbol_id : String)","args_html":"(symbol_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L141"},"def":{"name":"get_signal_values","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L44"},"def":{"name":"on_update","visibility":"Public","body":"@security_level = setting(Int32, :security_level)\n@user_id = setting(String, :user_id)\n@api_pass_code = setting(String, :api_pass_code)\n@content_type = \"application/\" + (setting(String, :content_type))\n"}},{"html_id":"post_room(room_xml_or_json:String)-instance-method","name":"post_room","abstract":false,"args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_xml_or_json : String)","args_html":"(room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L107"},"def":{"name":"post_room","args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"POST\", \"/rooms\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_room(room_id:String,room_xml_or_json:String)-instance-method","name":"put_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_id : String, room_xml_or_json : String)","args_html":"(room_id : String, room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L127"},"def":{"name":"put_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"PUT\", \"/rooms/#{room_id}\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_signal_value(symbol_id:String,attribute_id:String,value:String)-instance-method","name":"put_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String, value : String)","args_html":"(symbol_id : String, attribute_id : String, value : String)","location":{"filename":"src/crestron/fusion.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L151"},"def":{"name":"put_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.new\nparams[\"value\"] = value\nresponse = perform_request(\"PUT\", \"/signalvalues/#{symbol_id}/#{attribute_id}\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"send_action(action_id:String|Nil,room_id:String|Nil=nil,node_id:String|Nil=nil)-instance-method","name":"send_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"args_string":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","args_html":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L70"},"def":{"name":"send_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif room_id\n params[\"room\"] = room_id\nend\nif node_id\n params[\"node\"] = node_id\nend\npath = if (id = action_id) && (!id.empty?)\n \"/actions/#{id}\"\nelse\n \"/actions\"\nend\nresponse = perform_request(\"POST\", path, params)\nJSON.parse(response.body)\n"}}]},{"html_id":"drivers/Crestron/NvxAddressManager","path":"Crestron/NvxAddressManager.html","kind":"class","full_name":"Crestron::NvxAddressManager","name":"NvxAddressManager","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_address_manager.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MULTICAST_ADDRESSES","name":"MULTICAST_ADDRESSES","value":"::IPAddress::IPv4.new(\"224.0.0.0/4\")","doc":"https://github.com/Sija/ipaddress.cr","summary":"

https://github.com/Sija/ipaddress.cr

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"addr = setting(String, :base_address)\nbase_addr = ::IPAddress::IPv4.new(addr)\n@base_address = base_addr.to_u32\nif MULTICAST_ADDRESSES.includes?(base_addr)\nelse\n logger.warn do\n \"#{addr} is not a valid multicast address\"\n end\nend\n@block_size = setting(Int32, :block_size)\n"}},{"html_id":"readdress_streams-instance-method","name":"readdress_streams","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L42"},"def":{"name":"readdress_streams","visibility":"Public","body":"logger.debug do\n \"readdressing devices\"\nend\naddress_pairs = encoders.zip(addresses)\ninteractions = address_pairs.map_with_index(1) do |__arg0, idx|\n mod = __arg0[0]\n ip_u32 = __arg0[1]\n ip = ::IPAddress::IPv4.parse_u32(ip_u32)\n logger.debug do\n \"setting encoder #{idx} to #{ip}\"\n end\n mod.multicast_address(ip.to_s)\nend\nfailed = 0\ninteractions.each do |request|\n begin\n request.get\n rescue error\n failed = failed + 1\n logger.warn(exception: error) do\n \"addressing NVX devices\"\n end\n end\nend\nif failed == 0\nelse\n raise(\"#{failed} failed to set stream address\")\nend\ninteractions.size\n"}}]},{"html_id":"drivers/Crestron/NvxRx","path":"Crestron/NvxRx.html","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"aspect_ratio(mode:AspectRatio)-instance-method","name":"aspect_ratio","doc":"aspect ratio defined in nvx_rx_models","summary":"

aspect ratio defined in nvx_rx_models

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"args_string":"(mode : AspectRatio)","args_html":"(mode : AspectRatio)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L99"},"def":{"name":"aspect_ratio","args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"visibility":"Public","body":"logger.debug do\n \"setting output aspect ratio mode: #{mode}\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{AspectRatioMode: mode}]}], name: :aspect_ratio)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"audio_follows_video = setting?(Bool, :audio_follows_video)\n@audio_follows_video = audio_follows_video.nil? ? true : audio_follows_video\nquery(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Receiver\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Receiver\"\nend\nquery(\"/XioSubscription/Subscriptions\") do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\nend\nschedule.every(1.hour) do\n query(\"/XioSubscription/Subscriptions\", priority: 5) do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\n end\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L84"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L80"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"switch_layer(map.keys.first, layer)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L58"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}}],"types":[{"html_id":"drivers/Crestron/NvxRx/Input","path":"Crestron/NvxRx/Input.html","kind":"alias","full_name":"Crestron::NvxRx::Input","name":"Input","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/Output","path":"Crestron/NvxRx/Output.html","kind":"alias","full_name":"Crestron::NvxRx::Output","name":"Output","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Int32","aliased_html":"Int32","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/SourceType","path":"Crestron/NvxRx/SourceType.html","kind":"enum","full_name":"Crestron::NvxRx::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L227"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L228"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L229"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Crestron/NvxScalerControl","path":"Crestron/NvxScalerControl.html","kind":"class","full_name":"Crestron::NvxScalerControl","name":"NvxScalerControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_scaler_control.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SCALE_TO_FIT_BOUNDS","name":"SCALE_TO_FIT_BOUNDS","value":"((16 / 9) * 0.95)..((16 / 9) * 1.05)","doc":"Window of aspect ratio's to detect as 16:9 - allows for +/-5% for\nslightly off-shape windows","summary":"

Window of aspect ratio's to detect as 16:9 - allows for +/-5% for slightly off-shape windows

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@links = (setting?(Hash(String, String), :link_scalers)) || ({} of String => String)"}}]},{"html_id":"drivers/Crestron/NvxTx","path":"Crestron/NvxTx.html","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L21"},"def":{"name":"connected","visibility":"Public","body":"query(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Transmitter\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Transmitter\"\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"emulate_input_sync(state:Bool=true,idx:Int32=1)-instance-method","name":"emulate_input_sync","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"args_string":"(state : Bool = true, idx : Int32 = 1)","args_html":"(state : Bool = true, idx : Int32 = 1)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L64"},"def":{"name":"emulate_input_sync","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"self[\"input_#{idx}_sync\"] = state"}},{"html_id":"multicast_address(address:String)-instance-method","name":"multicast_address","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L59"},"def":{"name":"multicast_address","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"setting multicast address to #{address}\"\nend\nupdate(\"/StreamTransmit/Streams\", [{MulticastAddress: address}], name: :multicast_address)\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L45"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nupdate(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L105"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\nif raw_json.includes?(\"AudioVideoInputOutput\")\nelse\n return\nend\npayload = JSON.parse(raw_json)\nif av_inputs = (payload.dig?(\"Device\", \"AudioVideoInputOutput\", \"Inputs\")).try(&.as_a?)\n av_inputs.each do |input|\n name = input[\"Name\"]?.try(&.as_s) || \"\"\n idx = case name\n when /input(\\d+)/\n $~[1].to_i.succ\n when /input-(\\d+)/\n $~[1].to_i\n else\n 1\n end\n sync = (input.dig?(\"Ports\", 0, \"IsSyncDetected\")).try(&.as_bool?)\n if sync.nil?\n else\n self[\"input_#{idx}_sync\"] = sync\n end\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L35"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching to #{input}\"\nend\n(update(\"/DeviceSpecific\", {VideoSource: input, AudioSource: \"AudioFollowsVideo\"}, name: :switch)).get\nupdate_source_info\n"}}],"types":[{"html_id":"drivers/Crestron/NvxTx/Input","path":"Crestron/NvxTx/Input.html","kind":"enum","full_name":"Crestron::NvxTx::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"}],"namespace":{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]}]},{"html_id":"drivers/Crestron/OccupancySensor","path":"Crestron/OccupancySensor.html","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/occupancy_sensor.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L36"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nauthenticate\npoll_device_state\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false"}},{"html_id":"get_sensor_details-instance-method","name":"get_sensor_details","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L126"},"def":{"name":"get_sensor_details","visibility":"Public","body":"Detail.new(type: :presence, value: @occupied ? 1.0 : 0.0, last_seen: @connected ? Time.utc.to_unix : @last_update, mac: @mac, id: nil, name: @name, module_id: module_id, binding: \"presence\", status: @connected ? Status::Normal : Status::Fault)"}},{"html_id":"last_update:Int64-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L26"},"def":{"name":"last_update","return_type":"Int64","visibility":"Public","body":"@last_update"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.hour) do\n poll_device_state\nend\n"}},{"html_id":"poll_counter:UInt64-instance-method","name":"poll_counter","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L27"},"def":{"name":"poll_counter","return_type":"UInt64","visibility":"Public","body":"@poll_counter"}},{"html_id":"poll_device_state:Nil-instance-method","name":"poll_device_state","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L47"},"def":{"name":"poll_device_state","return_type":"Nil","visibility":"Public","body":"response = get(\"/Device\")\nif response.success?\nelse\n raise(\"unexpected response code: #{response.status_code}\")\nend\npayload = JSON.parse(response.body)\n@last_update = Time.utc.to_unix\nself[:occupied] = @occupied = (payload.dig(\"Device\", \"OccupancySensor\", \"IsRoomOccupied\")).as_bool\nself[:presence] = @occupied ? 1.0 : 0.0\nself[:mac] = @mac = format_mac((payload.dig(\"Device\", \"DeviceInfo\", \"MacAddress\")).as_s)\nself[:name] = @name = (payload.dig(\"Device\", \"DeviceInfo\", \"Name\")).as_s?\n@poll_counter = @poll_counter + 1\nif @long_polling\nelse\n long_poll\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L120"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif @mac == mac\nelse\n return nil\nend\nget_sensor_details\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L108"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != @mac)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\n[get_sensor_details]\n"}}]},{"html_id":"drivers/Crestron/Receiver","path":"Crestron/Receiver.html","kind":"module","full_name":"Crestron::Receiver","name":"Receiver","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"}},{"html_id":"drivers/Crestron/SourceType","path":"Crestron/SourceType.html","kind":"enum","full_name":"Crestron::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L17"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L18"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Crestron/Transmitter","path":"Crestron/Transmitter.html","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Interface for enumerating devices","summary":"

Interface for enumerating devices

"},{"html_id":"drivers/Crestron/VirtualSwitcher","path":"Crestron/VirtualSwitcher.html","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"available_inputs-instance-method","name":"available_inputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L108"},"def":{"name":"available_inputs","visibility":"Public","body":"encoder_name_map.keys"}},{"html_id":"available_outputs-instance-method","name":"available_outputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L112"},"def":{"name":"available_outputs","visibility":"Public","body":"decoder_name_map.keys"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"only support muting the outputs, no unmuting","summary":"

only support muting the outputs, no unmuting

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n SwitchLayer::Audio\nin MuteLayer::Video\n SwitchLayer::Video\nin MuteLayer::AudioVideo\n SwitchLayer::All\nend\nswitch({\"none\" => [index]}, switch_layer)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@audio = setting?(AudioSink, :audio_sink)"}},{"html_id":"receivers-instance-method","name":"receivers","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L57"},"def":{"name":"receivers","visibility":"Public","body":"system.implementing(Crestron::Receiver)"}},{"html_id":"switch(map:Hash(Input,Array(Output|Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L134"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nif (layer.all? || layer.video?) || layer.audio?\nelse\n return\nend\nconnect(map, layer) do |mod, __arg0|\n video = __arg0[0]\n audio = __arg0[1]\n if layer.all? || layer.audio?\n switch_audio_to(audio)\n end\n if layer.all? || layer.video?\n mod.switch_to(video)\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L99"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"stream = get_streams(input)\nif stream\nelse\n return\nend\nswitch_audio_to(stream[1])\nreceivers.switch_to(stream[0])\n"}},{"html_id":"transmitters-instance-method","name":"transmitters","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L53"},"def":{"name":"transmitters","visibility":"Public","body":"system.implementing(Crestron::Transmitter)"}}],"types":[{"html_id":"drivers/Crestron/VirtualSwitcher/AudioSink","path":"Crestron/VirtualSwitcher/AudioSink.html","kind":"class","full_name":"Crestron::VirtualSwitcher::AudioSink","name":"AudioSink","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Crestron/VirtualSwitcher","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L31"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L30"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L29"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L32"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]}]}]},{"html_id":"drivers/Delta","path":"Delta.html","kind":"module","full_name":"Delta","name":"Delta","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L3"},{"filename":"src/delta/models/generic_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L3"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L3"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L3"},{"filename":"src/delta/models/list_sites_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L3"},{"filename":"src/delta/models/local_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L3"},{"filename":"src/delta/models/object.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L3"},{"filename":"src/delta/models/property_identifier.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L3"},{"filename":"src/delta/models/reference.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L3"},{"filename":"src/delta/models/value_property.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Delta/API","path":"Delta/API.html","kind":"class","full_name":"Delta::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"instance_methods":[{"html_id":"get_value_property_by_object_type_through_instance(site_name:String,device_number:String,object_type:String,instance:String)-instance-method","name":"get_value_property_by_object_type_through_instance","doc":"get value of property from object through instance","summary":"

get value of property from object through instance

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, instance : String)","args_html":"(site_name : String, device_number : String, object_type : String, instance : String)","location":{"filename":"src/delta/api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L85"},"def":{"name":"get_value_property_by_object_type_through_instance","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{instance}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_property_name(site_name:String,device_number:String,object_type:String,property_name:String)-instance-method","name":"get_value_property_by_object_type_through_property_name","doc":"get value of property from object through property name","summary":"

get value of property from object through property name

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, property_name : String)","args_html":"(site_name : String, device_number : String, object_type : String, property_name : String)","location":{"filename":"src/delta/api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L97"},"def":{"name":"get_value_property_by_object_type_through_property_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{property_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_subproperty_path(site_name:String,device_number:String,object_type:String,subproperty_path:String)-instance-method","name":"get_value_property_by_object_type_through_subproperty_path","doc":"get value of property from object through subproperty path","summary":"

get value of property from object through subproperty path

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","args_html":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","location":{"filename":"src/delta/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L108"},"def":{"name":"get_value_property_by_object_type_through_subproperty_path","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{subproperty_path}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"list_devices_by_site_name(site_name:String)-instance-method","name":"list_devices_by_site_name","doc":"list devices for site","summary":"

list devices for site

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"args_string":"(site_name : String)","args_html":"(site_name : String)","location":{"filename":"src/delta/api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L44"},"def":{"name":"list_devices_by_site_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"visibility":"Public","body":"devices = [] of Models::Device\npath = URI.encode_path(\"/api/.bacnet/#{site_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListDevicesBySiteNameResponse.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n devices.push(Models::Device.new(id: key, base: value[\"$base\"].to_s, node_type: value[\"nodeType\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\ndevices\n"}},{"html_id":"list_objects_by_device_number(site_name:String,device_number:String)-instance-method","name":"list_objects_by_device_number","doc":"list objects from device resource","summary":"

list objects from device resource

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"args_string":"(site_name : String, device_number : String)","args_html":"(site_name : String, device_number : String)","location":{"filename":"src/delta/api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L65"},"def":{"name":"list_objects_by_device_number","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"visibility":"Public","body":"objects = [] of Models::Object\npath = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListObjectsByDeviceNumber.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n objects.push(Models::Object.new(id: key, base: value[\"$base\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\nobjects\n"}},{"html_id":"list_sites-instance-method","name":"list_sites","doc":"list all sites","summary":"

list all sites

","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L38"},"def":{"name":"list_sites","visibility":"Public","body":"response = Models::ListSitesResponse.from_json((fetch(\"/api/.bacnet\")).body)\nresponse.json_unmapped.keys\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/Delta/Models","path":"Delta/Models.html","kind":"module","full_name":"Delta::Models","name":"Models","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L4"},{"filename":"src/delta/models/generic_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L4"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L4"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L4"},{"filename":"src/delta/models/list_sites_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L4"},{"filename":"src/delta/models/local_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L4"},{"filename":"src/delta/models/object.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L4"},{"filename":"src/delta/models/property_identifier.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L4"},{"filename":"src/delta/models/reference.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L4"},{"filename":"src/delta/models/value_property.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"types":[{"html_id":"drivers/Delta/Models/Device","path":"Delta/Models/Device.html","kind":"struct","full_name":"Delta::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,node_type:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L23"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, node_type, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/device.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L18"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L18"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L15"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L15"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L21"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L21"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/GenericValue","path":"Delta/Models/GenericValue.html","kind":"struct","full_name":"Delta::Models::GenericValue","name":"GenericValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/generic_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/generic_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/ListDevicesBySiteNameResponse","path":"Delta/Models/ListDevicesBySiteNameResponse.html","kind":"struct","full_name":"Delta::Models::ListDevicesBySiteNameResponse","name":"ListDevicesBySiteNameResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}}]},{"html_id":"drivers/Delta/Models/ListObjectsByDeviceNumber","path":"Delta/Models/ListObjectsByDeviceNumber.html","kind":"struct","full_name":"Delta::Models::ListObjectsByDeviceNumber","name":"ListObjectsByDeviceNumber","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/ListSitesResponse","path":"Delta/Models/ListSitesResponse.html","kind":"struct","full_name":"Delta::Models::ListSitesResponse","name":"ListSitesResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_sites_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/LocalValue","path":"Delta/Models/LocalValue.html","kind":"struct","full_name":"Delta::Models::LocalValue","name":"LocalValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/local_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/local_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"real:GenericValue-instance-method","name":"real","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L12"},"def":{"name":"real","return_type":"GenericValue","visibility":"Public","body":"@real"}},{"html_id":"real=(real:GenericValue)-instance-method","name":"real=","abstract":false,"args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"args_string":"(real : GenericValue)","args_html":"(real : GenericValue)","location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L12"},"def":{"name":"real=","args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"visibility":"Public","body":"@real = real"}}]},{"html_id":"drivers/Delta/Models/Object","path":"Delta/Models/Object.html","kind":"struct","full_name":"Delta::Models::Object","name":"Object","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/object.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L20"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/object.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L18"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L18"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/PropertyIdentifier","path":"Delta/Models/PropertyIdentifier.html","kind":"struct","full_name":"Delta::Models::PropertyIdentifier","name":"PropertyIdentifier","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/property_identifier.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/Reference","path":"Delta/Models/Reference.html","kind":"struct","full_name":"Delta::Models::Reference","name":"Reference","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/reference.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/reference.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"device_identifier:GenericValue-instance-method","name":"device_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier","return_type":"GenericValue","visibility":"Public","body":"@device_identifier"}},{"html_id":"device_identifier=(device_identifier:GenericValue)-instance-method","name":"device_identifier=","abstract":false,"args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"args_string":"(device_identifier : GenericValue)","args_html":"(device_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier=","args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@device_identifier = device_identifier"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"property_identifier:PropertyIdentifier-instance-method","name":"property_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier","return_type":"PropertyIdentifier","visibility":"Public","body":"@property_identifier"}},{"html_id":"property_identifier=(property_identifier:PropertyIdentifier)-instance-method","name":"property_identifier=","abstract":false,"args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"args_string":"(property_identifier : PropertyIdentifier)","args_html":"(property_identifier : PropertyIdentifier)","location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier=","args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"visibility":"Public","body":"@property_identifier = property_identifier"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L12"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L12"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Delta/Models/ValueProperty","path":"Delta/Models/ValueProperty.html","kind":"struct","full_name":"Delta::Models::ValueProperty","name":"ValueProperty","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/value_property.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/value_property.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"cov_increment:GenericValue-instance-method","name":"cov_increment","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment","return_type":"GenericValue","visibility":"Public","body":"@cov_increment"}},{"html_id":"cov_increment=(cov_increment:GenericValue)-instance-method","name":"cov_increment=","abstract":false,"args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"args_string":"(cov_increment : GenericValue)","args_html":"(cov_increment : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment=","args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"visibility":"Public","body":"@cov_increment = cov_increment"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"exchange_flags:GenericValue-instance-method","name":"exchange_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags","return_type":"GenericValue","visibility":"Public","body":"@exchange_flags"}},{"html_id":"exchange_flags=(exchange_flags:GenericValue)-instance-method","name":"exchange_flags=","abstract":false,"args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"args_string":"(exchange_flags : GenericValue)","args_html":"(exchange_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags=","args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_flags = exchange_flags"}},{"html_id":"exchange_type:GenericValue-instance-method","name":"exchange_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type","return_type":"GenericValue","visibility":"Public","body":"@exchange_type"}},{"html_id":"exchange_type=(exchange_type:GenericValue)-instance-method","name":"exchange_type=","abstract":false,"args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"args_string":"(exchange_type : GenericValue)","args_html":"(exchange_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type=","args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_type = exchange_type"}},{"html_id":"last_error:GenericValue-instance-method","name":"last_error","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error","return_type":"GenericValue","visibility":"Public","body":"@last_error"}},{"html_id":"last_error=(last_error:GenericValue)-instance-method","name":"last_error=","abstract":false,"args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"args_string":"(last_error : GenericValue)","args_html":"(last_error : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error=","args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"visibility":"Public","body":"@last_error = last_error"}},{"html_id":"last_sent:GenericValue-instance-method","name":"last_sent","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent","return_type":"GenericValue","visibility":"Public","body":"@last_sent"}},{"html_id":"last_sent=(last_sent:GenericValue)-instance-method","name":"last_sent=","abstract":false,"args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"args_string":"(last_sent : GenericValue)","args_html":"(last_sent : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent=","args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"visibility":"Public","body":"@last_sent = last_sent"}},{"html_id":"local_flags:LocalValue-instance-method","name":"local_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags","return_type":"LocalValue","visibility":"Public","body":"@local_flags"}},{"html_id":"local_flags=(local_flags:GenericValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"args_string":"(local_flags : GenericValue)","args_html":"(local_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L37"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_flags=(local_flags:LocalValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"args_string":"(local_flags : LocalValue)","args_html":"(local_flags : LocalValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_ref:Reference-instance-method","name":"local_ref","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref","return_type":"Reference","visibility":"Public","body":"@local_ref"}},{"html_id":"local_ref=(local_ref:Reference)-instance-method","name":"local_ref=","abstract":false,"args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"args_string":"(local_ref : Reference)","args_html":"(local_ref : Reference)","location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref=","args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"visibility":"Public","body":"@local_ref = local_ref"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"object_name:GenericValue-instance-method","name":"object_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name","return_type":"GenericValue","visibility":"Public","body":"@object_name"}},{"html_id":"object_name=(object_name:GenericValue)-instance-method","name":"object_name=","abstract":false,"args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"args_string":"(object_name : GenericValue)","args_html":"(object_name : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name=","args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"visibility":"Public","body":"@object_name = object_name"}},{"html_id":"object_type:GenericValue-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type","return_type":"GenericValue","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:GenericValue)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"args_string":"(object_type : GenericValue)","args_html":"(object_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"send_frequency:GenericValue-instance-method","name":"send_frequency","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency","return_type":"GenericValue","visibility":"Public","body":"@send_frequency"}},{"html_id":"send_frequency=(send_frequency:GenericValue)-instance-method","name":"send_frequency=","abstract":false,"args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"args_string":"(send_frequency : GenericValue)","args_html":"(send_frequency : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency=","args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"visibility":"Public","body":"@send_frequency = send_frequency"}},{"html_id":"subscribers:Hash(String,JSON::Any)-instance-method","name":"subscribers","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@subscribers"}},{"html_id":"subscribers=(subscribers:Hash(String,JSON::Any))-instance-method","name":"subscribers=","abstract":false,"args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"args_string":"(subscribers : Hash(String, JSON::Any))","args_html":"(subscribers : Hash(String, JSON::Any))","location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers=","args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@subscribers = subscribers"}}]}]}]},{"html_id":"drivers/Denon","path":"Denon.html","kind":"module","full_name":"Denon","name":"Denon","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"","summary":"","types":[{"html_id":"drivers/Denon/Amplifier","path":"Denon/Amplifier.html","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Denon","kind":"module","full_name":"Denon","name":"Denon"},"types":[{"html_id":"drivers/Denon/Amplifier/AvReceiver","path":"Denon/Amplifier/AvReceiver.html","kind":"class","full_name":"Denon::Amplifier::AvReceiver","name":"AvReceiver","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power: :PW, power_query: :\"PW?\", mute: :MU, mute_query: :\"MU?\", volume: :MV, volume_query: :\"MV?\", input: :SI, input_query: :\"SI?\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"}],"namespace":{"html_id":"drivers/Denon/Amplifier","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L65"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.info do\n \"-- Polling Denon AVR\"\n end\n power?\n do_send(:input, priority: 0, name: :input)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L80"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"input(input:String=\"\")-instance-method","name":"input","doc":"Just here for documentation (there are many more)\n\nINPUTS = [:cd, :tuner, :dvd, :bd, :tv, :\"sat/cbl\", :dvr, :game, :game2, :\"v.aux\", :dock]","summary":"

Just here for documentation (there are many more)

","abstract":false,"args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"args_string":"(input : String = \"\")","args_html":"(input : String = "")","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L148"},"def":{"name":"input","args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"visibility":"Public","body":"status = input.upcase\nif status != self[:input]\n input = input.to_s.upcase\n do_send(:input, input, name: :input)\nend\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L156"},"def":{"name":"input?","visibility":"Public","body":"do_send(:input_query, priority: 0, name: :input_query)"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L104"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"req = state ? \"ON\" : \"OFF\"\nif self[:mute] == req\n return\nend\ndo_send(:mute, req, name: :mute)\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L99"},"def":{"name":"mute?","visibility":"Public","body":"self[:mute] = \"OFF\"\ndo_send(:mute_query, priority: 0, name: :mute_query)\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L110"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:volume_min] = 0\nself[:volume_max] = @volume_range.max\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L60"},"def":{"name":"on_update","visibility":"Public","body":"self[:max_waits] = 10\nself[:timeout] = 3000\n"}},{"html_id":"power(state:Bool=false)-instance-method","name":"power","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L84"},"def":{"name":"power","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state && ((self[:power] == \"OFF\") || (self[:power] == \"STANDBY\"))\n do_send(:power, \"ON\", delay: 3.milliseconds, name: :power)\nelse\n if (!state) && (self[:power] == \"ON\")\n do_send(:power, \"STANDBY\", delay: 3.milliseconds, name: :power)\n end\nend"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L93"},"def":{"name":"power?","visibility":"Public","body":"do_send(:power_query, priority: 0, name: :power_query)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.info do\n \"Denon sent #{data.inspect}\"\nend\nif task\nelse\n return\nend\ncmd = data[0..1]\nval = data[2..-2]\ncase cmd\nwhen \"PW\"\n self[:power] = val\nwhen \"SI\"\n self[:input] = val\nwhen \"MV\"\n vol_percent = ((val.to_f * 2) / @volume_range.end.to_f) * 100.0\n self[:volume] = vol_percent\nwhen \"MU\"\n self[:mute] = val\nelse\n return :ignore\nend\ntask.try(&.success)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L114"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L118"},"def":{"name":"unmute_audio","visibility":"Public","body":"unmute"}},{"html_id":"volume(level:Float64|Int32=0)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"args_string":"(level : Float64 | Int32 = 0)","args_html":"(level : Float64 | Int32 = 0)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L122"},"def":{"name":"volume","args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\nif self[:volume] == level\n return\nend\npercentage = level / 100.0\nvalue = (percentage * @volume_range.end.to_f).round_away.to_i\nstep = value % 2\nactual = value / 2\nreq = actual.to_s.rjust(2, '0')\nif step != 0\n req = req + \"5\"\nend\ndo_send(:volume, req, name: :volume)\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L141"},"def":{"name":"volume?","visibility":"Public","body":"do_send(:volume_query, priority: 0, name: :volume_query)"}}]}]}]},{"html_id":"drivers/DigitalIO","path":"DigitalIO.html","kind":"class","full_name":"DigitalIO","name":"DigitalIO","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv_spec.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv_spec.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"ir(index:Int32,command:String)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String)","args_html":"(index : Int32, command : String)","location":{"filename":"src/global_cache/ir_tv_spec.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv_spec.cr#L6"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"@called = @called + 1\nself[:call_count] = @called\nnil\n"}}]},{"html_id":"drivers/Digraph","path":"Digraph.html","kind":"alias","full_name":"Digraph","name":"Digraph","abstract":false,"locations":[{"filename":"src/place/router/digraph_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Digraph(N, E)","aliased_html":"Place::Router::Digraph(N, E)","const":false},{"html_id":"drivers/Echo360","path":"Echo360.html","kind":"module","full_name":"Echo360","name":"Echo360","abstract":false,"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Echo360/DeviceCapture","path":"Echo360/DeviceCapture.html","kind":"class","full_name":"Echo360::DeviceCapture","name":"DeviceCapture","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CHECK","name":"CHECK","value":"{\"next\", \"current\"}"},{"id":"STATUS_CMDS","name":"STATUS_CMDS","value":"{system_status: :system, capture_status: :captures, next: :next_capture, current: :current_capture, state: :monitoring}"}],"namespace":{"html_id":"drivers/Echo360","kind":"module","full_name":"Echo360","name":"Echo360"},"instance_methods":[{"html_id":"capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"capture","doc":"This will auto-start a recording","summary":"

This will auto-start a recording

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L74"},"def":{"name":"capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/new_capture\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"capture_status-instance-method","name":"capture_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"capture_status","visibility":"Public","body":"response = get(\"/status/captures\")\nprocess_status(check(response))\n"}},{"html_id":"captures-instance-method","name":"captures","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L61"},"def":{"name":"captures","visibility":"Public","body":"response = get(\"/diagnostics/recovery/saved-content\")\nself[:captures] = (check(response))[\"captures\"][\"capture\"]\n"}},{"html_id":"current-instance-method","name":"current","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"current","visibility":"Public","body":"response = get(\"/status/current_capture\")\nprocess_status(check(response))\n"}},{"html_id":"extend(duration:Int32)-instance-method","name":"extend","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"args_string":"(duration : Int32)","args_html":"(duration : Int32)","location":{"filename":"src/echo360/device_capture.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L94"},"def":{"name":"extend","args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"duration\", duration.to_s)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"next-instance-method","name":"next","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"next","visibility":"Public","body":"response = get(\"/status/next_capture\")\nprocess_status(check(response))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(15.seconds) do\n logger.debug do\n \"-- Polling Capture\"\n end\n system_status\n capture_status\nend\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L101"},"def":{"name":"pause","visibility":"Public","body":"response = post(\"/capture/pause\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L56"},"def":{"name":"reboot","visibility":"Public","body":"(post(\"/diagnostics/reboot\")).success?"}},{"html_id":"record-instance-method","name":"record","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L115"},"def":{"name":"record","visibility":"Public","body":"start"}},{"html_id":"restart_application-instance-method","name":"restart_application","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L51"},"def":{"name":"restart_application","visibility":"Public","body":"(post(\"/diagnostics/restart_all\")).success?"}},{"html_id":"resume-instance-method","name":"resume","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L111"},"def":{"name":"resume","visibility":"Public","body":"start"}},{"html_id":"start-instance-method","name":"start","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L106"},"def":{"name":"start","visibility":"Public","body":"response = post(\"/capture/record\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"state-instance-method","name":"state","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"state","visibility":"Public","body":"response = get(\"/status/monitoring\")\nprocess_status(check(response))\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L119"},"def":{"name":"stop","visibility":"Public","body":"response = post(\"/capture/stop\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"system_status-instance-method","name":"system_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"system_status","visibility":"Public","body":"response = get(\"/status/system\")\nprocess_status(check(response))\n"}},{"html_id":"test_capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"test_capture","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L84"},"def":{"name":"test_capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"upload(id:String)-instance-method","name":"upload","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/echo360/device_capture.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L67"},"def":{"name":"upload","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/diagnostics/recovery/#{id}/upload\")\nif response.success?\nelse\n raise(\"upload request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}}]}]},{"html_id":"drivers/Enumerable","path":"Enumerable.html","kind":"module","full_name":"Enumerable(T)","name":"Enumerable","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"The `Enumerable` mixin provides collection classes with several traversal, searching,\nfiltering and querying methods.\n\nIncluding types must provide an `each` method, which yields successive members\nof the collection.\n\nFor example:\n\n```\nclass Three\n include Enumerable(Int32)\n\n def each(&)\n yield 1\n yield 2\n yield 3\n end\nend\n\nthree = Three.new\nthree.to_a # => [1, 2, 3]\nthree.select &.odd? # => [1, 3]\nthree.all? { |x| x < 10 } # => true\n```\n\nNote that most search and filter methods traverse an Enumerable eagerly,\nproducing an `Array` as the result. For a lazy alternative refer to\nthe `Iterator` and `Iterable` modules.","summary":"

The Enumerable mixin provides collection classes with several traversal, searching, filtering and querying methods.

","instance_methods":[{"html_id":"flatten_xapi_json(parent_prefix:String|Nil=nil,delimiter:String=\"/\")-instance-method","name":"flatten_xapi_json","abstract":false,"args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"args_string":"(parent_prefix : String | Nil = nil, delimiter : String = \"/\")","args_html":"(parent_prefix : String | Nil = nil, delimiter : String = "/")","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L40"},"def":{"name":"flatten_xapi_json","args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"visibility":"Public","body":"res = {} of String => JSONComplex\nself.each_with_index do |elem, i|\n if elem.is_a?(Tuple)\n k, v = elem\n else\n k, v = i, elem\n if id = v.as_h?.try(&.delete(\"id\"))\n k = id\n end\n end\n key = parent_prefix ? \"#{parent_prefix}#{delimiter}#{k}\" : k.to_s\n raw = v.raw\n case raw\n in Array(JSON::Any)\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n in Hash(String, JSON::Any)\n value = raw[\"Value\"]?\n if value && value.as_h?.nil?\n valuespaceref = raw[\"valueSpaceRef\"]?.try do |__arg1|\n (__arg1.as_s.split('/')).last\n end\n res[key] = Cisco::CollaborationEndpoint::XAPI.value_convert(value.as_s, valuespaceref)\n else\n if id\n res[key] = raw.flatten_xapi_json(delimiter: delimiter)\n else\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n end\n end\n in JSONBasic\n res[key] = raw\n end\nend\nres\n"}}],"types":[{"html_id":"drivers/Enumerable/JSONBasic","path":"Enumerable/JSONBasic.html","kind":"alias","full_name":"Enumerable::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}},{"html_id":"drivers/Enumerable/JSONComplex","path":"Enumerable/JSONComplex.html","kind":"alias","full_name":"Enumerable::JSONComplex","name":"JSONComplex","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}}]},{"html_id":"drivers/Epson","path":"Epson.html","kind":"module","full_name":"Epson","name":"Epson","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Epson/Projector","path":"Epson/Projector.html","kind":"module","full_name":"Epson::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Epson","kind":"module","full_name":"Epson","name":"Epson"},"types":[{"html_id":"drivers/Epson/Projector/EscVp21","path":"Epson/Projector/EscVp21.html","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{power: \"PWR\", input: \"SOURCE\", volume: \"VOL\", av_mute: \"MUTE\", video_mute: \"MSEL\", error: \"ERR\", lamp: \"LAMP\"}"},{"id":"ERRORS","name":"ERRORS","value":"[\"00: no error\", \"01: fan error\", \"03: lamp failure at power on\", \"04: high internal temperature\", \"06: lamp error\", \"07: lamp cover door open\", \"08: cinema filter error\", \"09: capacitor is disconnected\", \"0A: auto iris error\", \"0B: subsystem error\", \"0C: low air flow error\", \"0D: air flow sensor error\", \"0E: ballast power supply error\", \"0F: shutter error\", \"10: peltiert cooling error\", \"11: pump cooling error\", \"12: static iris error\", \"13: power supply unit error\", \"14: exhaust shutter error\", \"15: obstacle detection error\", \"16: IF board discernment error\"]"},{"id":"RESPONSE","name":"RESPONSE","value":"COMMAND.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Epson/Projector","kind":"module","full_name":"Epson::Projector","name":"Projector"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L33"},"def":{"name":"connected","visibility":"Public","body":"send(\"ESC/VP.net\\u0010\\u0003\\u0000\\u0000\\u0000\\u0000\")\nschedule.every(52.seconds, true) do\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L39"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L221"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 20) && @power_stable\n input?\n video_mute?\n volume?\nend\ndo_send(:lamp, priority: 20)\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L73"},"def":{"name":"input?","visibility":"Public","body":"(do_send(:input, priority: 0)).get\nself[:input]\n"}},{"html_id":"inspect_error-instance-method","name":"inspect_error","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L145"},"def":{"name":"inspect_error","visibility":"Public","body":"do_send(:error, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L98"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"case layer\nwhen .audio_video?\n do_send(:av_mute, state ? \"ON\" : \"OFF\", name: :mute)\n do_send(:av_mute, name: :\"mute?\", priority: 0)\nwhen .video?\n do_send(:video_mute, state ? \"ON\" : \"OFF\", name: :video_mute)\n video_mute?\nwhen .audio?\n val = state ? 0.0 : @unmute_volume\n volume(val)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:type] = :projector\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L43"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n @power_target = true\n logger.debug do\n \"-- epson Proj, requested to power on\"\n end\n do_send(:power, \"ON\", delay: 40.seconds, name: \"power\", priority: 99)\nelse\n @power_target = false\n logger.debug do\n \"-- epson Proj, requested to power off\"\n end\n do_send(:power, \"OFF\", delay: 10.seconds, name: \"power\", priority: 99)\nend\n@power_stable = false\nself[:power] = state\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L58"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power, **options)).get\n@power_actual || false\n"}},{"html_id":"power_actual:Bool|Nil-instance-method","name":"power_actual","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L22"},"def":{"name":"power_actual","return_type":"Bool | ::Nil","visibility":"Public","body":"@power_actual"}},{"html_id":"power_stable?:Bool-instance-method","name":"power_stable?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L23"},"def":{"name":"power_stable?","return_type":"Bool","visibility":"Public","body":"@power_stable"}},{"html_id":"power_target?:Bool-instance-method","name":"power_target?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L24"},"def":{"name":"power_target?","return_type":"Bool","visibility":"Public","body":"@power_target"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if data.size <= 2\n return task.try(&.success)\nend\ndata = String.new(data[1..-2])\nlogger.debug do\n \"epson Proj sent: #{data}\"\nend\ndata = data.split('=')\ncase RESPONSE[data[0]]\nwhen :error\n if data[1]?\n code = data[1].to_i(16)\n self[:last_error] = ERRORS[code]? || \"#{data[1]}: unknown error code #{code}\"\n return task.try(&.success(\"Epson PJ error was #{self[:last_error]}\"))\n else\n return task.try(&.abort(\"Epson PJ sent error response for #{task.not_nil!.name || \"unknown\"}\"))\n end\nwhen :power\n state = data[1].to_i\n @power_actual = powered = state < 3\n warming = state == 2\n cooling = state == 3\n if warming || cooling\n schedule.in(5.seconds) do\n power?(priority: 10)\n end\n else\n if !@power_stable\n if @power_actual == @power_target\n @power_stable = true\n else\n power(@power_target)\n end\n end\n end\n if @power_stable\n self[:power] = powered\n end\n self[:warming] = warming\n self[:cooling] = cooling\n if powered == @power_target\n if powered\n else\n self[:video_mute] = false\n end\n end\nwhen :av_mute\n self[:video_mute] = self[:audio_mute] = data[1] == \"ON\"\n self[:volume] = 0.0\nwhen :video_mute\n self[:video_mute] = data[1] == \"ON\"\nwhen :volume\n vol = data[1].to_i\n vol_percent = (vol.to_f / 255.0) * 100.0\n self[:volume] = vol_percent\n mute = vol == 0\n if mute\n self[:audio_mute] = mute\n end\n if mute\n else\n @unmute_volume || (@unmute_volume = vol_percent)\n end\nwhen :lamp\n self[:lamp_usage] = data[1].to_i\nwhen :input\n self[:input] = (Input.from_value(data[1].to_i(16))) || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L63"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- epson Proj, requested to switch to: #{input}\"\nend\ndo_send(:input, input.value.to_s(16), name: :input)\nself[:input] = input\nself[:video_mute] = false\ninput?\n"}},{"html_id":"video_mute?-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L116"},"def":{"name":"video_mute?","visibility":"Public","body":"(do_send(:video_mute, priority: 0)).get\n!(!self[:video_mute]?.try(&.as_bool))\n"}},{"html_id":"volume(vol:Float64|Int32,**options)-instance-method","name":"volume","doc":"Volume commands are sent using the inpt command","summary":"

Volume commands are sent using the inpt command

","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"args_string":"(vol : Float64 | Int32, **options)","args_html":"(vol : Float64 | Int32, **options)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L79"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * 255.0).round_away.to_i\nif (mute = vol == 0.0) && self[:volume]?\n @unmute_volume = self[:volume].as_f\nend\ndo_send(:volume, vol_actual, **options, name: :volume)\nself[:volume] = vol\nself[:audio_mute] = mute\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L93"},"def":{"name":"volume?","visibility":"Public","body":"(do_send(:volume, priority: 0)).get\nself[:volume]?.try(&.as_f)\n"}}],"types":[{"html_id":"drivers/Epson/Projector/EscVp21/Input","path":"Epson/Projector/EscVp21/Input.html","kind":"enum","full_name":"Epson::Projector::EscVp21::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"48"},{"id":"HDBaseT","name":"HDBaseT","value":"128"}],"namespace":{"html_id":"drivers/Epson/Projector/EscVp21","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21"},"instance_methods":[{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L12"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L11"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}}]}]}]}]},{"html_id":"drivers/Exterity","path":"Exterity.html","kind":"module","full_name":"Exterity","name":"Exterity","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Exterity/AvediaPlayer","path":"Exterity/AvediaPlayer.html","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity","kind":"module","full_name":"Exterity","name":"Exterity"},"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R92xx","path":"Exterity/AvediaPlayer/R92xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R92xx","name":"R92xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L40"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L23"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.info do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L52"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L56"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L72"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L60"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L76"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.info do\n \"Exterity sent #{data}\"\nend\nif @ready\n if data =~ (/sh: .* not found/i)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 2.seconds, priority: 95)\n return :failure\n end\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Exterity Control Interface| Exit/i)\n logger.info do\n \"-- got the control interface message, we're READY now\"\n end\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n logger.info do\n \"-- got the login: prompt\"\n end\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\n do_send(\"6\", wait: false, delay: 2.seconds, priority: 96)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 200.milliseconds, priority: 95)\n schedule.in(20.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n else\n if logger.info do\n \"Somehow we got here #{data}\"\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L48"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L64"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L68"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}]},{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","path":"Exterity/AvediaPlayer/R93xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"},{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L39"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"channel_name(name:String)-instance-method","name":"channel_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L79"},"def":{"name":"channel_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"(set(:currentChannel_name, name, name: :name)).get\ncurrent_channel_name\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"current_channel-instance-method","name":"current_channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L98"},"def":{"name":"current_channel","visibility":"Public","body":"get(:currentChannel)"}},{"html_id":"current_channel_name-instance-method","name":"current_channel_name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L102"},"def":{"name":"current_channel_name","visibility":"Public","body":"get(:currentChannel_name)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L32"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L51"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L55"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L71"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"channel_lookup = {} of String => ChannelDetail\nif channel_details = setting?(Array(ChannelDetail), :channel_details)\n self[:channel_details] = channel_details\n channel_details.each do |lookup|\n channel_lookup[lookup.channel] = lookup\n end\nelse\n self[:channel_details] = nil\nend\n@channel_lookup = channel_lookup\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L59"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L75"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Exterity sent #{data}\"\nend\nif @ready\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Terminal Control Interface/i)\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 2.seconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 2.seconds, priority: 97)\n schedule.in(5.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L47"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L63"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L67"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}],"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R93xx/ChannelDetail","path":"Exterity/AvediaPlayer/R93xx/ChannelDetail.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx::ChannelDetail","name":"ChannelDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L29"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L28"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L27"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]}]}]},{"html_id":"drivers/Extron","path":"Extron.html","kind":"module","full_name":"Extron","name":"Extron","abstract":false,"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Extron/Matrix","path":"Extron/Matrix.html","kind":"class","full_name":"Extron::Matrix","name":"Matrix","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/matrix.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MUTE_INPUT","name":"MUTE_INPUT","value":"0_u16"}],"included_modules":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"instance_methods":[{"html_id":"audio_mute(state:Bool=true,group:Int32=2)-instance-method","name":"audio_mute","doc":"Sets the audio mute *state* on the specified *group*.\n\nNOTE: mute groups may differ from volume groups depending on device\nconfiguration. Default group (2) is program audio.","summary":"

Sets the audio mute state on the specified group.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"args_string":"(state : Bool = true, group : Int32 = 2)","args_html":"(state : Bool = true, group : Int32 = 2)","location":{"filename":"src/extron/matrix.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L212"},"def":{"name":"audio_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"device_state = state ? '1' : '0'\nsend(Command[\"\\eD\", group, '*', device_state, \"GRPM\\r\"], Response::GroupMute) do\n state\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n query_device_info\nend"}},{"html_id":"device_size-instance-method","name":"device_size","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L60"},"def":{"name":"device_size","visibility":"Public","body":"if (value = @device_size).nil?\n @device_size = (begin\n empty = MatrixSize.new(0_u16, 0_u16)\n SwitcherInformation.new(empty, empty)\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nif config.role.ssh?\nelse\n @ready = false\n transport.tokenizer = nil\nend\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/extron/matrix.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L82"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"output = index.to_u16\nif output > 0\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n MatrixLayer::Aud\nin MuteLayer::Video\n MatrixLayer::Vid\nin MuteLayer::AudioVideo\n MatrixLayer::All\nend\nif state\n record_mute(output, switch_layer)\n switch_one(MUTE_INPUT, output, switch_layer)\nelse\n video_input = audio_input = MUTE_INPUT\n if switch_layer.all? || switch_layer.vid?\n video_input = (@muted_video.delete(output)) || MUTE_INPUT\n end\n if switch_layer.all? || switch_layer.aud?\n audio_input = (@muted_audio.delete(output)) || MUTE_INPUT\n end\n if audio_input > 0\n switch_one(audio_input, output, MatrixLayer::Aud)\n end\n if video_input > 0\n switch_one(video_input, output, MatrixLayer::Vid)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"if config.role.ssh?\n @ready = true\n transport.tokenizer = Tokenizer.new(DELIMITER)\nend\nqueue.delay = 200.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"inputs = (setting?(UInt16, :input_count)) || 8_u16\noutputs = (setting?(UInt16, :output_count)) || 1_u16\nio = MatrixSize.new(inputs, outputs)\n@device_size = SwitcherInformation.new(video: io, audio: io)\n"}},{"html_id":"query_device_info-instance-method","name":"query_device_info","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L65"},"def":{"name":"query_device_info","visibility":"Public","body":"send(Command['I'], Response::SwitcherInformation) do |info|\n video_io = MatrixSize.new(info.video.inputs, info.video.outputs)\n audio_io = MatrixSize.new(info.audio.inputs, info.audio.outputs)\n @device_size = SwitcherInformation.new(video: video_io, audio: audio_io)\n self[:video_matrix] = \"#{info.video.inputs}x#{info.video.outputs}\"\n self[:audio_matrix] = \"#{info.audio.inputs}x#{info.audio.outputs}\"\n info\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","doc":"Response callback for async responses.","summary":"

Response callback for async responses.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/extron/matrix.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L240"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Ready #{@ready}, Received #{String.new(data)}\"\nend\nif !@ready\n payload = String.new(data)\n if payload =~ (/Copyright/i)\n if password = setting?(String, :password)\n send(\"#{password}\\r\", wait: false, priority: 99)\n end\n transport.tokenizer = Tokenizer.new(DELIMITER)\n @ready = true\n schedule.in(1.second) do\n query_device_info\n end\n end\n return\nend\ncase response = Response.parse(data, as: Response::Unsolicited)\nin Tie\n update_io(response)\nin Error, Response::ParseError\n logger.error do\n response\n end\nin Time\n query_device_info\nin String\n logger.info do\n response\n end\nin Nil\nend\nresponse\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","doc":"Implementing switchable interface","summary":"

Implementing switchable interface

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/extron/matrix.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L118"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"extron_layer = case layer\nin Nil, .all?\n MatrixLayer::All\nin .audio?\n MatrixLayer::Aud\nin .video?\n MatrixLayer::Vid\nin .data?, .data2?\n logger.debug do\n \"layer #{layer} not available on extron matrix\"\n end\n return\nend\nif (map.size == 1) && (map.first_value.size == 1)\n switch_one(map.first_key, map.first_value.first, extron_layer)\nelse\n switch_map(map, extron_layer)\nend\n"}},{"html_id":"switch_layer(input:Input,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_layer","doc":"Connect *input* to all outputs at the specified *layer*.","summary":"

Connect input to all outputs at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L154"},"def":{"name":"switch_layer","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio = {} of UInt16 => UInt16\nend\nif layer.all? || layer.aud?\n @muted_video = {} of UInt16 => UInt16\nend\nsend(Command[input, layer], Response::Switch, name: \"present-#{input}-#{layer}\", &->update_io(Switch))\n"}},{"html_id":"switch_map(map:SignalMap,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_map","doc":"Applies a `SignalMap` as a single operation. All included ties will take\nsimultaneously on the device.","summary":"

Applies a SignalMap as a single operation.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","args_html":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L162"},"def":{"name":"switch_map","args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if map.size == 1\n outp = map.first_value\n if outp.is_a?(Array)\n if outp.size == 1\n return switch_one(map.first_key, outp.first, layer)\n end\n else\n return switch_one(map.first_key, outp, layer)\n end\nend\nties = map.flat_map do |__arg2|\n input = __arg2[0]\n outputs = __arg2[1]\n if outputs.is_a?(Enumerable)\n outputs.each.map do |output|\n if layer.all? || layer.aud?\n @muted_audio.delete(output)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(output)\n end\n Tie.new(input, output, layer)\n end\n else\n if layer.all? || layer.aud?\n @muted_audio.delete(outputs)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(outputs)\n end\n Tie.new(input, outputs, layer)\n end\nend\nconflicts = ties - ties.uniq(&.output)\nif conflicts.empty?\nelse\n raise(ArgumentError.new(\"map contains conflicts for output(s) #{conflicts.join(\", \", &.output)}\"))\nend\nsend(Command[\"\\e+Q\", ties.map do |tie|\n [tie.input, '*', tie.output, tie.layer]\nend, '\\r'], Response::Qik) do\n ties.each(&->update_io(Tie))\nend\n"}},{"html_id":"switch_one(input:Input,output:Output,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_one","doc":"Connect a signal *input* to an *output* at the specified *layer*.\n\n`0` may be used as either an input or output to specify a disconnection at\nthe corresponding signal point. For example, to disconnect input 1 from all\noutputs is is currently feeding `switch(1, 0)`.","summary":"

Connect a signal input to an output at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L147"},"def":{"name":"switch_one","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio.delete(output)\nend\nif layer.all? || layer.vid?\n @muted_video.delete(output)\nend\nsend(Command[input, '*', output, layer], Response::Tie, name: \"switch-#{output}-#{layer}\", &->update_io(Tie))\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/extron/matrix.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L134"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}},{"html_id":"volume(level:Float64|Int32,group:Int32=1)-instance-method","name":"volume","doc":"Sets the audio volume *level* (0..100) on the specified mix *group*.","summary":"

Sets the audio volume level (0..100) on the specified mix group.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"args_string":"(level : Float64 | Int32, group : Int32 = 1)","args_html":"(level : Float64 | Int32, group : Int32 = 1)","location":{"filename":"src/extron/matrix.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L199"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\ndevice_level = (level * 10.0).round_away.to_i - 1000\nsend(Command[\"\\eD\", group, '*', device_level, \"GRPM\\r\"], Response::GroupVolume) do\n level\nend\n"}}],"types":[{"html_id":"drivers/Extron/Matrix/Outputs","path":"Extron/Matrix/Outputs.html","kind":"alias","full_name":"Extron::Matrix::Outputs","name":"Outputs","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(UInt16)","aliased_html":"Array(UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}},{"html_id":"drivers/Extron/Matrix/SignalMap","path":"Extron/Matrix/SignalMap.html","kind":"alias","full_name":"Extron::Matrix::SignalMap","name":"SignalMap","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L140"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(UInt16, Array(UInt16) | UInt16)","aliased_html":"Hash(UInt16, Array(UInt16) | UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}}]},{"html_id":"drivers/Extron/SIS","path":"Extron/SIS.html","kind":"module","full_name":"Extron::SIS","name":"SIS","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L9"},{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"SPECIAL_CHARS","name":"SPECIAL_CHARS","value":"\"+-,@=‘[]{}<>`“;:|?\".chars","doc":"Illegal characters for use in property names.","summary":"

Illegal characters for use in property names.

"},{"id":"SSH_PORT","name":"SSH_PORT","value":"22023"},{"id":"TELNET_PORT","name":"TELNET_PORT","value":"23"}],"including_types":[{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"doc":"Implementation, types and utilities for working with the Extron Simple\nInstruction Set (SIS) device control protocol.\n\nThis protocol is used for control of all Extron signal distribution,\nprocessing and general audio-visual products via SSH, telnet and serial\ncontrol.","summary":"

Implementation, types and utilities for working with the Extron Simple Instruction Set (SIS) device control protocol.

","types":[{"html_id":"drivers/Extron/SIS/Command","path":"Extron/SIS/Command.html","kind":"struct","full_name":"Extron::SIS::Command(*T)","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Structure for representing a SIS device command.\n\nCommands are composed from a set of *fields*. The contents and types of these\nare arbitrary, however they must be capable of serialising to an IO.","summary":"

Structure for representing a SIS device command.

","constructors":[{"html_id":"new(*fields:*T)-class-method","name":"new","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"args_string":"(*fields : *T)","args_html":"(*fields : *T)","location":{"filename":"src/extron/sis/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L6"},"def":{"name":"new","args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"splat_index":0,"visibility":"Public","body":"_ = Command(*T).allocate\n_.initialize(*fields)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_io(io:IO,format=IO::ByteFormat::SystemEndian)-instance-method","name":"to_io","doc":"Writes `self` to the passed *io*.","summary":"

Writes self to the passed io.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"args_string":"(io : IO, format = IO::ByteFormat::SystemEndian)","args_html":"(io : IO, format = IO::ByteFormat::SystemEndian)","location":{"filename":"src/extron/sis/command.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L18"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"visibility":"Public","body":"@fields.each.flatten.each do |field|\n if field.is_a?(Enum)\n io.write_byte(field.value)\n else\n io << field\n end\nend"}},{"html_id":"to_s(io:IO)-instance-method","name":"to_s","doc":"Serialises `self` in a format suitable for log messages.","summary":"

Serialises self in a format suitable for log messages.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"}],"args_string":"(io : IO)","args_html":"(io : IO)","location":{"filename":"src/extron/sis/command.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L11"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":"IO"}],"visibility":"Public","body":"io << '‹'\nto_io(io)\nio << '›'\n"}}],"macros":[{"html_id":"[](*fields)-macro","name":"[]","doc":"Syntactical suger for `Command` definition. Provides the ability to express\ncommand fields in the same way as `Byte` objects and other similar\ncollections from the Crystal std lib.","summary":"

Syntactical suger for Command definition.

","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":""}],"args_string":"(*fields)","args_html":"(*fields)","location":{"filename":"src/extron/sis/command.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L31"},"def":{"name":"[]","args":[{"name":"fields","external_name":"fields","restriction":""}],"splat_index":0,"visibility":"Public","body":" Extron::SIS::Command.new(\n{{ *fields }}\n)\n \n"}}]},{"html_id":"drivers/Extron/SIS/Error","path":"Extron/SIS/Error.html","kind":"enum","full_name":"Extron::SIS::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"InvalidInput","name":"InvalidInput","value":"1"},{"id":"InvalidCommand","name":"InvalidCommand","value":"10"},{"id":"InvalidPresent","name":"InvalidPresent","value":"11"},{"id":"InvalidOutput","name":"InvalidOutput","value":"12"},{"id":"InvalidParameter","name":"InvalidParameter","value":"13"},{"id":"InvalidForConfig","name":"InvalidForConfig","value":"14"},{"id":"Timeout","name":"Timeout","value":"17"},{"id":"Busy","name":"Busy","value":"22"},{"id":"PrivilegesViolation","name":"PrivilegesViolation","value":"24"},{"id":"DeviceNotPresent","name":"DeviceNotPresent","value":"25"},{"id":"MaxConnectionsExceeded","name":"MaxConnectionsExceeded","value":"26"},{"id":"InvalidEventNumber","name":"InvalidEventNumber","value":"27"},{"id":"FileNotFound","name":"FileNotFound","value":"28"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Device error numbers","summary":"

Device error numbers

","instance_methods":[{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L30"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"device_not_present?-instance-method","name":"device_not_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L32"},"def":{"name":"device_not_present?","visibility":"Public","body":"self == DeviceNotPresent"}},{"html_id":"file_not_found?-instance-method","name":"file_not_found?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L35"},"def":{"name":"file_not_found?","visibility":"Public","body":"self == FileNotFound"}},{"html_id":"invalid_command?-instance-method","name":"invalid_command?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L24"},"def":{"name":"invalid_command?","visibility":"Public","body":"self == InvalidCommand"}},{"html_id":"invalid_event_number?-instance-method","name":"invalid_event_number?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L34"},"def":{"name":"invalid_event_number?","visibility":"Public","body":"self == InvalidEventNumber"}},{"html_id":"invalid_for_config?-instance-method","name":"invalid_for_config?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L28"},"def":{"name":"invalid_for_config?","visibility":"Public","body":"self == InvalidForConfig"}},{"html_id":"invalid_input?-instance-method","name":"invalid_input?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L23"},"def":{"name":"invalid_input?","visibility":"Public","body":"self == InvalidInput"}},{"html_id":"invalid_output?-instance-method","name":"invalid_output?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L26"},"def":{"name":"invalid_output?","visibility":"Public","body":"self == InvalidOutput"}},{"html_id":"invalid_parameter?-instance-method","name":"invalid_parameter?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L27"},"def":{"name":"invalid_parameter?","visibility":"Public","body":"self == InvalidParameter"}},{"html_id":"invalid_present?-instance-method","name":"invalid_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L25"},"def":{"name":"invalid_present?","visibility":"Public","body":"self == InvalidPresent"}},{"html_id":"max_connections_exceeded?-instance-method","name":"max_connections_exceeded?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L33"},"def":{"name":"max_connections_exceeded?","visibility":"Public","body":"self == MaxConnectionsExceeded"}},{"html_id":"privileges_violation?-instance-method","name":"privileges_violation?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L31"},"def":{"name":"privileges_violation?","visibility":"Public","body":"self == PrivilegesViolation"}},{"html_id":"retryable?-instance-method","name":"retryable?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L37"},"def":{"name":"retryable?","visibility":"Public","body":"timeout? || busy?"}},{"html_id":"timeout?-instance-method","name":"timeout?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L29"},"def":{"name":"timeout?","visibility":"Public","body":"self == Timeout"}}]},{"html_id":"drivers/Extron/SIS/Input","path":"Extron/SIS/Input.html","kind":"alias","full_name":"Extron::SIS::Input","name":"Input","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/MatrixLayer","path":"Extron/SIS/MatrixLayer.html","kind":"enum","full_name":"Extron::SIS::MatrixLayer","name":"MatrixLayer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L47"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"33_u8"},{"id":"Aud","name":"Aud","value":"36_u8"},{"id":"Vid","name":"Vid","value":"37_u8"},{"id":"RGB","name":"RGB","value":"38_u8"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Layers for targetting signal distribution operations.","summary":"

Layers for targetting signal distribution operations.

","instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L48"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"aud?-instance-method","name":"aud?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L49"},"def":{"name":"aud?","visibility":"Public","body":"self == Aud"}},{"html_id":"includes_audio?-instance-method","name":"includes_audio?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L57"},"def":{"name":"includes_audio?","visibility":"Public","body":"All || Aud"}},{"html_id":"includes_video?-instance-method","name":"includes_video?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L53"},"def":{"name":"includes_video?","visibility":"Public","body":"(All || Vid) || RGB"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L51"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"vid?-instance-method","name":"vid?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L50"},"def":{"name":"vid?","visibility":"Public","body":"self == Vid"}}]},{"html_id":"drivers/Extron/SIS/MatrixSize","path":"Extron/SIS/MatrixSize.html","kind":"struct","full_name":"Extron::SIS::MatrixSize","name":"MatrixSize","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a switching layer.","summary":"

IO capacity for a switching layer.

","constructors":[{"html_id":"new(inputs:Input,outputs:Output)-class-method","name":"new","abstract":false,"args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"args_string":"(inputs : Input, outputs : Output)","args_html":"(inputs : Input, outputs : Output)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"new","args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"visibility":"Public","body":"_ = allocate\n_.initialize(inputs, outputs)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@inputs.clone, @outputs.clone)"}},{"html_id":"copy_with(inputs_inputs=@inputs,outputs_outputs=@outputs)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"args_string":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","args_html":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"copy_with","args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"visibility":"Public","body":"self.class.new(_inputs, _outputs)"}},{"html_id":"inputs:Input-instance-method","name":"inputs","abstract":false,"def":{"name":"inputs","return_type":"Input","visibility":"Public","body":"@inputs"}},{"html_id":"outputs:Output-instance-method","name":"outputs","abstract":false,"def":{"name":"outputs","return_type":"Output","visibility":"Public","body":"@outputs"}}]},{"html_id":"drivers/Extron/SIS/Ok","path":"Extron/SIS/Ok.html","kind":"struct","full_name":"Extron::SIS::Ok","name":"Ok","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Symbolic type for representating a successfull interactions no useful data.","summary":"

Symbolic type for representating a successfull interactions no useful data.

","constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"},"def":{"name":"initialize","visibility":"Public","body":""}}]},{"html_id":"drivers/Extron/SIS/Output","path":"Extron/SIS/Output.html","kind":"alias","full_name":"Extron::SIS::Output","name":"Output","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/Response","path":"Extron/SIS/Response.html","kind":"module","full_name":"Extron::SIS::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"locations":[{"filename":"src/extron/sis/response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Clock","name":"Clock","value":"Raw.map do |date|\n Time.parse_utc(date, \"%a, %d %b %Y %T\")\nend","doc":"Part of the copyright banner, but appears on a new line so will tokenize as\nas standalone message.","summary":"

Part of the copyright banner, but appears on a new line so will tokenize as as standalone message.

"},{"id":"Copyright","name":"Copyright","value":"((Parse.string(\"(c) Copyright\")) + Raw).map(&.join)","doc":"Copyright message shown on connect.","summary":"

Copyright message shown on connect.

"},{"id":"DeviceError","name":"DeviceError","value":"(Parse.char('E')) >> Parse.integer.map do |e|\n SIS::Error.new(e.to_i)\nend","doc":"Error codes returned from the device.","summary":"

Error codes returned from the device.

"},{"id":"Empty","name":"Empty","value":"(Parse.string(\"\\r\\n\")) >> (Parse.const(nil))"},{"id":"GroupMute","name":"GroupMute","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), state <= BoolField, Parse.const({state, group})})","doc":"Group audio mute update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group audio mute update / response.

"},{"id":"GroupVolume","name":"GroupVolume","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), (_) <= (Parse.char('-')), level <= (num(Int32)).map do |val|\n val * -1\nend, Parse.const({level, group})})","doc":"Group volume update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group volume update / response.

"},{"id":"MatrixSize","name":"MatrixSize","value":"Parse.do({inputs <= (num(Input)), (_) <= (Parse.char('X')), outputs <= (num(Output)), Parse.const(SIS::MatrixSize.new(inputs, outputs))})"},{"id":"Qik","name":"Qik","value":"(Parse.string(\"Qik\")) >> (Parse.const(Ok.new))","doc":"Quick response, occurs following quick tie, or switching interaction from\nthe device's front panel.","summary":"

Quick response, occurs following quick tie, or switching interaction from the device's front panel.

"},{"id":"Raw","name":"Raw","value":"(((Parse.char ^ Delimiter) * (0..)) << (Delimiter * (0..1))).map(&.join)","doc":"Parse a full command response as a String. Delimiter is optional as it may\nhave already been dropped by an upstream tokenizer.","summary":"

Parse a full command response as a String.

"},{"id":"Switch","name":"Switch","value":"Parse.do({input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Switch.new(input, layer))})","doc":"Broadcast or single output route update.","summary":"

Broadcast or single output route update.

"},{"id":"SwitcherInformation","name":"SwitcherInformation","value":"Parse.do({(_) <= (Parse.char('V')), video <= MatrixSize, (_) <= (Parse.char(' ')), (_) <= (Parse.char('A')), audio <= MatrixSize, Parse.const(SIS::SwitcherInformation.new(video, audio))})"},{"id":"Tie","name":"Tie","value":"Parse.do({output <= ((Parse.string(\"Out\")) >> (num(Output))), (_) <= (Parse.char(' ')), input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Tie.new(input, output, layer))})","doc":"Matrix signal route update.","summary":"

Matrix signal route update.

"},{"id":"Unsolicited","name":"Unsolicited","value":"(((DeviceError | Tie) | Copyright) | Clock) | Empty","doc":"Async messages that can be expected outside of a command -> response flow.","summary":"

Async messages that can be expected outside of a command -> response flow.

"}],"included_modules":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Parsers for responses and asynchronous messages originating from Extron SIS\ndevices.","summary":"

Parsers for responses and asynchronous messages originating from Extron SIS devices.

","class_methods":[{"html_id":"parse(data:String,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : String, as parser : Parser(T)) forall T","args_html":"(data : String, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L11"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"((parser | DeviceError) | \"unhandled device response\").parse(data)"}},{"html_id":"parse(data:Bytes,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : Bytes, as parser : Parser(T)) forall T","args_html":"(data : Bytes, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L16"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"parse(String.new(data), parser)"}}]},{"html_id":"drivers/Extron/SIS/Switch","path":"Extron/SIS/Switch.html","kind":"struct","full_name":"Extron::SIS::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a broadcast signal path, or single output switch.","summary":"

Struct for representing a broadcast signal path, or single output switch.

","constructors":[{"html_id":"new(input:Input,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer)","args_html":"(input : Input, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, layer _layer = @layer)","args_html":"(input _input = @input, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}}]},{"html_id":"drivers/Extron/SIS/SwitcherInformation","path":"Extron/SIS/SwitcherInformation.html","kind":"struct","full_name":"Extron::SIS::SwitcherInformation","name":"SwitcherInformation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a full device.","summary":"

IO capacity for a full device.

","constructors":[{"html_id":"new(video:MatrixSize,audio:MatrixSize)-class-method","name":"new","abstract":false,"args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"args_string":"(video : MatrixSize, audio : MatrixSize)","args_html":"(video : MatrixSize, audio : MatrixSize)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"new","args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"visibility":"Public","body":"_ = allocate\n_.initialize(video, audio)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"audio:MatrixSize-instance-method","name":"audio","abstract":false,"def":{"name":"audio","return_type":"MatrixSize","visibility":"Public","body":"@audio"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@video.clone, @audio.clone)"}},{"html_id":"copy_with(video_video=@video,audio_audio=@audio)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"args_string":"(video _video = @video, audio _audio = @audio)","args_html":"(video _video = @video, audio _audio = @audio)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"copy_with","args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"visibility":"Public","body":"self.class.new(_video, _audio)"}},{"html_id":"video:MatrixSize-instance-method","name":"video","abstract":false,"def":{"name":"video","return_type":"MatrixSize","visibility":"Public","body":"@video"}}]},{"html_id":"drivers/Extron/SIS/Tie","path":"Extron/SIS/Tie.html","kind":"struct","full_name":"Extron::SIS::Tie","name":"Tie","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a matrix signal path.","summary":"

Struct for representing a matrix signal path.

","constructors":[{"html_id":"new(input:Input,output:Output,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer)","args_html":"(input : Input, output : Output, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}},{"html_id":"output:Output-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Output","visibility":"Public","body":"@output"}}]}]}]},{"html_id":"drivers/Floorsense","path":"Floorsense.html","kind":"module","full_name":"Floorsense","name":"Floorsense","abstract":false,"locations":[{"filename":"src/floorsense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Floorsense Data Models","summary":"

Floorsense Data Models

","types":[{"html_id":"drivers/Floorsense/AuthInfo","path":"Floorsense/AuthInfo.html","kind":"class","full_name":"Floorsense::AuthInfo","name":"AuthInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"sessionid:String-instance-method","name":"sessionid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L52"},"def":{"name":"sessionid","return_type":"String","visibility":"Public","body":"@sessionid"}},{"html_id":"sessionid=(sessionid:String)-instance-method","name":"sessionid=","abstract":false,"args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"args_string":"(sessionid : String)","args_html":"(sessionid : String)","location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L52"},"def":{"name":"sessionid=","args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"visibility":"Public","body":"@sessionid = sessionid"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L51"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L51"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/Floorsense/BookingsSync","path":"Floorsense/BookingsSync.html","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L196"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlogger.debug do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_email.nil?\n logger.warn do\n \"no user email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n next\n end\n user = (staff_api.user(user_email)).get\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n logger.debug do\n \"new floorsense booking found #{booking}\"\n end\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: to_place_asset_id(booking.key), user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, floor_details[:level_id]].compact, checked_in: true, extension_data: {floorsense_id: event.bkid}).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L592"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(placeos_user_id:String):String-instance-method","name":"get_floorsense_user","doc":"===================================\nSync Users\n===================================","summary":"

=================================== Sync Users ===================================

","abstract":false,"args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"args_string":"(placeos_user_id : String) : String","args_html":"(placeos_user_id : String) : String","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":543,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L543"},"def":{"name":"get_floorsense_user","args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"users = floorsense.user_list(description: placeos_user_id).get.as_a\nuser_id = users.first?.try() do |__arg5|\n __arg5[\"uid\"].as_s\nend\ncard_number = nil\nbegin\n place_user = (staff_api.user(placeos_user_id)).get\n name = place_user[\"name\"].as_s\n email = place_user[\"email\"].as_s\n card_number = place_user[\"card_number\"]?.try(&.as_s)\n user_id || (user_id = (floorsense.create_user(name, email, placeos_user_id)).get[\"uid\"].as_s)\nrescue error\n if user_id\n return user_id\n else\n raise(error)\n end\nend\nif (user_id && card_number) && (!card_number.empty?)\n ensure_card_synced(card_number, user_id)\nend\nuser_id.not_nil!\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L51"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L59"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":609,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L609"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L340"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L344"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}},{"html_id":"to_floor_key(asset_id:String)-instance-method","name":"to_floor_key","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L98"},"def":{"name":"to_floor_key","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"if @key_prefix.presence\n asset_id = asset_id.lstrip(@key_prefix)\nend\nif @strip_leading_zero\n asset_id = asset_id.rjust(@zero_padding_size, '0')\nend\nasset_id\n"}},{"html_id":"to_place_asset_id(key:String)-instance-method","name":"to_place_asset_id","doc":"===================================\nDesk ID manipulation\n===================================","summary":"

=================================== Desk ID manipulation ===================================

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L93"},"def":{"name":"to_place_asset_id","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"if @strip_leading_zero\n key = key.lstrip('0')\nend\n\"#{@key_prefix}#{key}\"\n"}}],"types":[{"html_id":"drivers/Floorsense/BookingsSync/Booking","path":"Floorsense/BookingsSync/Booking.html","kind":"class","full_name":"Floorsense::BookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":623,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L623"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/BookingsSync","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":624,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L624"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":639,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L639"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":636,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L636"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L654"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Floorsense/BookingStatus","path":"Floorsense/BookingStatus.html","kind":"class","full_name":"Floorsense::BookingStatus","name":"BookingStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L248"},"def":{"name":"active","return_type":"Bool","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool"}],"args_string":"(active : Bool)","args_html":"(active : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L248"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool"}],"visibility":"Public","body":"@active = active"}},{"html_id":"booking_id:String-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L230"},"def":{"name":"booking_id","return_type":"String","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:String)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L230"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L227"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L227"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L241"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L241"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confexpiry:Int64|Nil-instance-method","name":"confexpiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@confexpiry"}},{"html_id":"confexpiry=(confexpiry:Int64|Nil)-instance-method","name":"confexpiry=","abstract":false,"args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"args_string":"(confexpiry : Int64 | Nil)","args_html":"(confexpiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry=","args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@confexpiry = confexpiry"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L249"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L249"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"confmethod:Int32|Nil-instance-method","name":"confmethod","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L238"},"def":{"name":"confmethod","return_type":"Int32 | ::Nil","visibility":"Public","body":"@confmethod"}},{"html_id":"confmethod=(confmethod:Int32|Nil)-instance-method","name":"confmethod=","abstract":false,"args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"args_string":"(confmethod : Int32 | Nil)","args_html":"(confmethod : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L238"},"def":{"name":"confmethod=","args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@confmethod = confmethod"}},{"html_id":"conftime:Int64|Nil-instance-method","name":"conftime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L237"},"def":{"name":"conftime","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conftime"}},{"html_id":"conftime=(conftime:Int64|Nil)-instance-method","name":"conftime=","abstract":false,"args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"args_string":"(conftime : Int64 | Nil)","args_html":"(conftime : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L237"},"def":{"name":"conftime=","args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conftime = conftime"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L233"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L233"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L232"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L232"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L235"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L235"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L243"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L243"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L223"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L223"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"if (value = @place_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::BookingStatus#place_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L256"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"place_id?:String|Nil-instance-method","name":"place_id?","abstract":false,"def":{"name":"place_id?","return_type":"String | ::Nil","visibility":"Public","body":"@place_id"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L242"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L242"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L250"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L250"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L247"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L247"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L246"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L246"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L234"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L234"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L224"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L224"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L253"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L253"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/Floorsense/ControllerInfo","path":"Floorsense/ControllerInfo.html","kind":"class","full_name":"Floorsense::ControllerInfo","name":"ControllerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L307"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L308"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L311"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L311"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"desks:Bool-instance-method","name":"desks","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L315"},"def":{"name":"desks","return_type":"Bool","visibility":"Public","body":"@desks"}},{"html_id":"desks=(desks:Bool)-instance-method","name":"desks=","abstract":false,"args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"args_string":"(desks : Bool)","args_html":"(desks : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L315"},"def":{"name":"desks=","args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"visibility":"Public","body":"@desks = desks"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L317"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L317"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location1:String-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L319"},"def":{"name":"location1","return_type":"String","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String"}],"args_string":"(location1 : String)","args_html":"(location1 : String)","location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L319"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L320"},"def":{"name":"location2","return_type":"String","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String"}],"args_string":"(location2 : String)","args_html":"(location2 : String)","location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L320"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L321"},"def":{"name":"location3","return_type":"String","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String"}],"args_string":"(location3 : String)","args_html":"(location3 : String)","location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L321"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"location4:String-instance-method","name":"location4","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L322"},"def":{"name":"location4","return_type":"String","visibility":"Public","body":"@location4"}},{"html_id":"location4=(location4:String)-instance-method","name":"location4=","abstract":false,"args":[{"name":"location4","external_name":"location4","restriction":"String"}],"args_string":"(location4 : String)","args_html":"(location4 : String)","location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L322"},"def":{"name":"location4=","args":[{"name":"location4","external_name":"location4","restriction":"String"}],"visibility":"Public","body":"@location4 = location4"}},{"html_id":"lockers:Bool-instance-method","name":"lockers","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L314"},"def":{"name":"lockers","return_type":"Bool","visibility":"Public","body":"@lockers"}},{"html_id":"lockers=(lockers:Bool)-instance-method","name":"lockers=","abstract":false,"args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"args_string":"(lockers : Bool)","args_html":"(lockers : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L314"},"def":{"name":"lockers=","args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"visibility":"Public","body":"@lockers = lockers"}},{"html_id":"mode:String-instance-method","name":"mode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L324"},"def":{"name":"mode","return_type":"String","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:String)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L324"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L318"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L318"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"online:Bool-instance-method","name":"online","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L313"},"def":{"name":"online","return_type":"Bool","visibility":"Public","body":"@online"}},{"html_id":"online=(online:Bool)-instance-method","name":"online=","abstract":false,"args":[{"name":"online","external_name":"online","restriction":"Bool"}],"args_string":"(online : Bool)","args_html":"(online : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L313"},"def":{"name":"online=","args":[{"name":"online","external_name":"online","restriction":"Bool"}],"visibility":"Public","body":"@online = online"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync","path":"Floorsense/CustomBookingsSync.html","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L239"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlog do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_id = booking.user.not_nil!.desc\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_id.presence.nil? && user_email.presence.nil?\n logger.warn do\n \"no user id or email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n return\n end\n user = begin\n (staff_api.user(user_id.presence || user_email)).get\n rescue error\n logger.warn(exception: error) do\n \"floorsense user #{user_id.presence || user_email} (#{booking.user.not_nil!.name}) not found in placeos\"\n end\n return\n end\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n user_email = user[\"email\"]\n log do\n \"new floorsense booking found #{booking}\"\n end\n booking_key = booking.key\n level_id = floor_details[:level_id]\n if metadata = @desk_mapping_cache[level_id][booking_key]?\n title = metadata.title\n ext_data = metadata.ext_data\n asset_id = metadata.place_id\n else\n title = asset_id = booking_key\n ext_data = {} of String => JSON::Any\n end\n ext_data[\"floorsense_booking_id\"] = JSON::Any.new(booking.booking_id)\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: asset_id, user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, level_id].compact, checked_in: true, approved: true, title: title, extension_data: ext_data).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released, checked_in: false).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":674,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L674"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"if foor_id = (locations.eui64_to_desk_id(id.downcase)).get.raw\n floor_desk_id = foor_id.as(String)\n place_id = floor_desk_id\n level_id = nil\n building = nil\n @desk_mapping_cache.each do |level, lookup|\n if meta = lookup[floor_desk_id]?\n level_id = level\n place_id = meta.place_id || floor_desk_id\n building = meta.building\n break\n end\n end\n if level_id\n {level: level_id, desk_id: place_id, building_id: building}\n end\nend"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":697,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L697"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"log do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n current.concat(bookings)\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(place_user_id:String):String-instance-method","name":"get_floorsense_user","abstract":false,"args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"args_string":"(place_user_id : String) : String","args_html":"(place_user_id : String) : String","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L645"},"def":{"name":"get_floorsense_user","args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"place_user = (staff_api.user(place_user_id)).get\nplaceos_staff_id = place_user[@user_lookup].as_s\nfloorsense_users = floorsense.user_list(description: placeos_staff_id).get.as_a\nuser_id = floorsense_users.first?.try() do |__arg8|\n __arg8[\"uid\"].as_s\nend\nif @create_floorsense_users\n user_id || (user_id = (floorsense.create_user(place_user[\"name\"].as_s, place_user[\"email\"].as_s, placeos_staff_id)).get[\"uid\"].as_s)\nend\nif user_id\nelse\n raise(\"Floorsense user not found for #{placeos_staff_id}\")\nend\ncard_number = place_user[\"card_number\"]?.try(&.as_s)\nif (user_id && card_number) && (!card_number.empty?)\n spawn(same_thread: true) do\n ensure_card_synced(card_number, user_id)\n end\nend\nuser_id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L70"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n log do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L78"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@user_lookup = (setting?(String, :user_lookup)).presence || \"staff_id\"\n@debug_logging = (setting?(Bool, :debug_logging)) || false\n@floorsense_lookup_key = (setting?(String, :floorsense_lookup_key)).presence || \"floorsensedeskid\"\n@create_floorsense_users = (setting?(Bool, :create_floorsense_users)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\ntime_zone = (setting?(String, :time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":714,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L714"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,building_id:String|Nil)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, building_id : String | Nil)","args_html":"(zone_id : String, building_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L728"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"desk_lookup = {} of String => DeskMeta\nbegin\n metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\n lookup_key = @floorsense_lookup_key\n metadata.each do |desk|\n desk = desk.as_h\n place_id = desk[\"id\"]?.try() do |__arg10|\n __arg10.as_s.presence\n end\n if place_id\n else\n next\n end\n floor_id = desk[lookup_key]?.try() do |__arg11|\n __arg11.as_s.presence\n end\n if floor_id\n else\n next\n end\n ext_data = {\"floorsense_id\" => JSON::Any.new(floor_id)}\n title = desk[\"name\"]?.try(&.as_s) || place_id\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk[meta_key]?\n ext_data[ext_key] = value\n end\n end\n ids = DeskMeta.new(place_id, floor_id, building_id, title, ext_data)\n desk_lookup[place_id] = ids\n desk_lookup[floor_id] = ids\n end\n desk_lookup\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain desk metadata for #{zone_id}\"\n end\n desk_lookup\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L406"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L410"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}}],"types":[{"html_id":"drivers/Floorsense/CustomBookingsSync/Booking","path":"Floorsense/CustomBookingsSync/Booking.html","kind":"class","full_name":"Floorsense::CustomBookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":781,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L781"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":782,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L782"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":797,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L797"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":794,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L794"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"if (value = @floor_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::CustomBookingsSync::Booking#floor_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":813,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L813"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_id?:String|Nil-instance-method","name":"floor_id?","abstract":false,"def":{"name":"floor_id?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L815"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync/DeskMeta","path":"Floorsense/CustomBookingsSync/DeskMeta.html","kind":"struct","full_name":"Floorsense::CustomBookingsSync::DeskMeta","name":"DeskMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":768,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L768"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(place_id:String,floor_id:String,building:Nil|String,title:String,ext_data:Hash(String,JSON::Any))-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","args_html":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":771,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L771"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, floor_id, building, title, ext_data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":769,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L769"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"@building"}},{"html_id":"building=(building:String|Nil)-instance-method","name":"building=","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"args_string":"(building : String | Nil)","args_html":"(building : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building=","args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building = building"}},{"html_id":"ext_data:Hash(String,JSON::Any)-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":777,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L777"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@ext_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L778"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]}]},{"html_id":"drivers/Floorsense/DeskInfo","path":"Floorsense/DeskInfo.html","kind":"class","full_name":"Floorsense::DeskInfo","name":"DeskInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::DeskInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L166"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"desk_type:String|Nil-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L162"},"def":{"name":"desk_type","return_type":"String | ::Nil","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String|Nil)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"args_string":"(desk_type : String | Nil)","args_html":"(desk_type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L162"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L157"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L157"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L158"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L158"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L159"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L159"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L163"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L163"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}}]},{"html_id":"drivers/Floorsense/Desks","path":"Floorsense/Desks.html","kind":"class","full_name":"Floorsense::Desks","name":"Desks","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":487,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L487"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L152"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":764,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L764"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":454,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L454"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":772,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L772"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":475,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L475"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"controller_list-instance-method","name":"controller_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L127"},"def":{"name":"controller_list","visibility":"Public","body":"response = get(\"/restapi/slave-list\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks.cr","line_number":527,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L527"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg0|\n __arg0.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":686,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L686"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L660"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L98"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":704,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L704"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks.cr","line_number":622,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L622"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":594,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L594"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L508"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L449"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks.cr","line_number":745,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L745"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L49"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L444"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":468,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L468"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L716"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L58"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{@username}&password=#{@password}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":721,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L721"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L776"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L162"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L257"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L176"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L244"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L207"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L233"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L297"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L291"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L271"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L316"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L157"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@username = URI.encode_www_form(setting(String, :username))\n@password = URI.encode_www_form(setting(String, :password))\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\n"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L566"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L137"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L105"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\nend\n@lockers = lockers\n@desks = desks\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L53"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L576"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L654"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks.cr","line_number":731,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L731"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":436,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L436"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L421"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L386"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L337"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L332"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L93"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n check_response Resp(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!) \n{{ modify }}\n\n \n"}}],"types":[{"html_id":"drivers/Floorsense/Desks/DeskHeight","path":"Floorsense/Desks/DeskHeight.html","kind":"enum","full_name":"Floorsense::Desks::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":611,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L611"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":612,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L612"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":613,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L613"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/Desks/DeskPower","path":"Floorsense/Desks/DeskPower.html","kind":"enum","full_name":"Floorsense::Desks::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L605"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L607"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L606"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L608"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/Desks/LedColour","path":"Floorsense/Desks/LedColour.html","kind":"enum","full_name":"Floorsense::Desks::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":599,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L599"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L602"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L601"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L600"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/Desks/LedState","path":"Floorsense/Desks/LedState.html","kind":"enum","full_name":"Floorsense::Desks::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L168"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L173"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L172"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L169"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L170"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L171"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/Desks/QiMode","path":"Floorsense/Desks/QiMode.html","kind":"enum","full_name":"Floorsense::Desks::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":616,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L616"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":619,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L619"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L618"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":617,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L617"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/DeskStatus","path":"Floorsense/DeskStatus.html","kind":"class","full_name":"Floorsense::DeskStatus","name":"DeskStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L146"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L146"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"cached:Bool-instance-method","name":"cached","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L124"},"def":{"name":"cached","return_type":"Bool","visibility":"Public","body":"@cached"}},{"html_id":"cached=(cached:Bool)-instance-method","name":"cached=","abstract":false,"args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"args_string":"(cached : Bool)","args_html":"(cached : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L124"},"def":{"name":"cached=","args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"visibility":"Public","body":"@cached = cached"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L123"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L123"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L149"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L149"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L134"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Time)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Time"}],"args_string":"(created : Time)","args_html":"(created : Time)","location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L134"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Time"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desk_type:String-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L141"},"def":{"name":"desk_type","return_type":"String","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"args_string":"(desk_type : String)","args_html":"(desk_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L141"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"deskid:Int32-instance-method","name":"deskid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L128"},"def":{"name":"deskid","return_type":"Int32","visibility":"Public","body":"@deskid"}},{"html_id":"deskid=(deskid:Int32)-instance-method","name":"deskid=","abstract":false,"args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"args_string":"(deskid : Int32)","args_html":"(deskid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L128"},"def":{"name":"deskid=","args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"visibility":"Public","body":"@deskid = deskid"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L138"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L138"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"features:Int32-instance-method","name":"features","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L143"},"def":{"name":"features","return_type":"Int32","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Int32)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Int32"}],"args_string":"(features : Int32)","args_html":"(features : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L143"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Int32"}],"visibility":"Public","body":"@features = features"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L142"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L142"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"freq:String-instance-method","name":"freq","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L144"},"def":{"name":"freq","return_type":"String","visibility":"Public","body":"@freq"}},{"html_id":"freq=(freq:String)-instance-method","name":"freq=","abstract":false,"args":[{"name":"freq","external_name":"freq","restriction":"String"}],"args_string":"(freq : String)","args_html":"(freq : String)","location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L144"},"def":{"name":"freq=","args":[{"name":"freq","external_name":"freq","restriction":"String"}],"visibility":"Public","body":"@freq = freq"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L145"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L145"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:String-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L131"},"def":{"name":"hardware","return_type":"String","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:String)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"args_string":"(hardware : String)","args_html":"(hardware : String)","location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L131"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"hwfeat:Int32-instance-method","name":"hwfeat","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat","return_type":"Int32","visibility":"Public","body":"@hwfeat"}},{"html_id":"hwfeat=(hwfeat:Int32)-instance-method","name":"hwfeat=","abstract":false,"args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"args_string":"(hwfeat : Int32)","args_html":"(hwfeat : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat=","args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"visibility":"Public","body":"@hwfeat = hwfeat"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L135"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L135"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"netid:Int32-instance-method","name":"netid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L126"},"def":{"name":"netid","return_type":"Int32","visibility":"Public","body":"@netid"}},{"html_id":"netid=(netid:Int32)-instance-method","name":"netid=","abstract":false,"args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"args_string":"(netid : Int32)","args_html":"(netid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L126"},"def":{"name":"netid=","args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"visibility":"Public","body":"@netid = netid"}},{"html_id":"occupied:Bool-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L136"},"def":{"name":"occupied","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L136"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime","return_type":"Int32","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"args_string":"(occupiedtime : Int32)","args_html":"(occupiedtime : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L147"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L147"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L150"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L150"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reservable:Bool-instance-method","name":"reservable","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L125"},"def":{"name":"reservable","return_type":"Bool","visibility":"Public","body":"@reservable"}},{"html_id":"reservable=(reservable:Bool)-instance-method","name":"reservable=","abstract":false,"args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"args_string":"(reservable : Bool)","args_html":"(reservable : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L125"},"def":{"name":"reservable=","args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"visibility":"Public","body":"@reservable = reservable"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L148"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L148"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L127"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L127"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L137"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L137"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket","path":"Floorsense/DesksWebsocket.html","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L587"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L242"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":864,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L864"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":554,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L554"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"check_subscriptions-instance-method","name":"check_subscriptions","doc":"used to poll the websocket to check for liveliness","summary":"

used to poll the websocket to check for liveliness

","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L78"},"def":{"name":"check_subscriptions","visibility":"Public","body":"ws_get(\"/restapi/subscribe\")"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L872"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L575"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"ws_post(\"/auth\", {user: \"kiosk\"}.to_json, priority: 99, name: \"auth\")"}},{"html_id":"controller_list(locker:Bool|Nil=nil,desks:Bool|Nil=nil)-instance-method","name":"controller_list","abstract":false,"args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"args_string":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","args_html":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L212"},"def":{"name":"controller_list","args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if locker\n form.add(\"locks\", \"true\")\n end\n if desks\n form.add(\"desks\", \"true\")\n end\nend\nresponse = get(\"/restapi/slave-list?#{query}\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L627"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg5|\n __arg5.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":786,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L786"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":760,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L760"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L174"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":804,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L804"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":722,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L722"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L694"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L608"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":549,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L549"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":845,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L845"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L116"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":544,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L544"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L568"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_locker_reservation(reservation_id:String)-instance-method","name":"get_locker_reservation","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L297"},"def":{"name":"get_locker_reservation","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if reservation_id\n form.add(\"resid\", reservation_id)\n end\nend\nresponse = get(\"/restapi/res?#{query}\", headers: default_headers)\nparse(response, LockerBooking)\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":816,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L816"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L125"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{URI.encode_www_form(@username)}&password=#{URI.encode_www_form(@password)}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":821,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L821"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":876,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L876"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L252"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L357"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L266"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L344"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L306"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil,controller_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L332"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\n if controller_id\n form.add(\"cid\", controller_id)\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L397"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":391,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L391"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L371"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":416,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L416"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L247"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@ws_username = (setting?(String, :ws_username)) || @username\n@ws_password = (setting?(String, :ws_password)) || @password\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\nschedule.every(1.minute) do\n check_subscriptions\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L82"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n string = (String.new(data)).rstrip\n logger.debug do\n \"websocket sent: #{string}\"\n end\n payload = Payload.from_json(string)\n case payload\n in Response\n if !payload.result\n logger.warn do\n \"task #{task.try(&.name)} failed..\"\n end\n return task.try(&.abort)\n end\n case task.try(&.name)\n when \"auth\"\n logger.debug do\n \"authentication success!\"\n end\n ws_post(\"/sub\", {mask: 255}.to_json, name: \"sub\")\n when \"sub\"\n logger.debug do\n \"subscribed to events\"\n end\n else\n logger.warn do\n \"unknown task: #{(task.try(&.name)).inspect}\"\n end\n end\n task.try(&.success)\n in Event\n self[\"event_#{payload.code}\"] = payload.info || payload.message\n in Payload\n logger.error do\n \"base class, this case will never occur\"\n end\n end\nrescue error\n logger.error(exception: error) do\n \"failed to parse: #{string.inspect}\"\n end\nend"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L666"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L227"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L181"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n begin\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining locker list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\n begin\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\nend\n@desks = desks\n@lockers = lockers\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L120"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L676"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":754,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L754"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":831,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L831"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":536,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L536"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":521,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L521"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L486"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":437,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L437"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":432,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L432"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"ws_get(uri:String,**options)-instance-method","name":"ws_get","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String, **options)","args_html":"(uri : String, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L71"},"def":{"name":"ws_get","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"GET #{uri}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}},{"html_id":"ws_post(uri:String,body:String|Nil=nil,**options)-instance-method","name":"ws_post","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(uri : String, body : String | Nil = nil, **options)","args_html":"(uri : String, body : String | Nil = nil, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L64"},"def":{"name":"ws_post","args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"POST #{uri}\\r\\n#{body.presence ? body : \"{}\"}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L163"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n \n%resp_body\n = \n{{ response }}\n.body\n begin\n check_response Resp(\n{{ klass }}\n).from_json(\n%resp_body\n.not_nil!) \n{{ modify }}\n\n rescue \nerror\n logger.debug \n{ \"failed to parse response: #{\n%resp_body\n}\" }\n raise \nerror\n \nend\n \n"}}],"types":[{"html_id":"drivers/Floorsense/DesksWebsocket/DeskHeight","path":"Floorsense/DesksWebsocket/DeskHeight.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L711"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":712,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L712"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":713,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L713"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/DeskPower","path":"Floorsense/DesksWebsocket/DeskPower.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":705,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L705"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":707,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L707"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":706,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L706"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":708,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L708"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedColour","path":"Floorsense/DesksWebsocket/LedColour.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":699,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L699"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":702,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L702"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":701,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L701"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":700,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L700"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedState","path":"Floorsense/DesksWebsocket/LedState.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L258"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L263"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L262"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L259"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L260"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L261"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/QiMode","path":"Floorsense/DesksWebsocket/QiMode.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L716"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":719,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L719"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":718,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L718"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L717"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/Event","path":"Floorsense/Event.html","kind":"class","full_name":"Floorsense::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L17"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"info:JSON::Any|Nil-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L19"},"def":{"name":"info","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L16"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/Floor","path":"Floorsense/Floor.html","kind":"class","full_name":"Floorsense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L205"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L206"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"imgheight:Int32|Nil-instance-method","name":"imgheight","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L213"},"def":{"name":"imgheight","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgheight"}},{"html_id":"imgheight=(imgheight:Int32|Nil)-instance-method","name":"imgheight=","abstract":false,"args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"args_string":"(imgheight : Int32 | Nil)","args_html":"(imgheight : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L213"},"def":{"name":"imgheight=","args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgheight = imgheight"}},{"html_id":"imgname:String|Nil-instance-method","name":"imgname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L211"},"def":{"name":"imgname","return_type":"String | ::Nil","visibility":"Public","body":"@imgname"}},{"html_id":"imgname=(imgname:String|Nil)-instance-method","name":"imgname=","abstract":false,"args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"args_string":"(imgname : String | Nil)","args_html":"(imgname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L211"},"def":{"name":"imgname=","args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@imgname = imgname"}},{"html_id":"imgwidth:Int32|Nil-instance-method","name":"imgwidth","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgwidth"}},{"html_id":"imgwidth=(imgwidth:Int32|Nil)-instance-method","name":"imgwidth=","abstract":false,"args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"args_string":"(imgwidth : Int32 | Nil)","args_html":"(imgwidth : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth=","args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgwidth = imgwidth"}},{"html_id":"location1:String|Nil-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L215"},"def":{"name":"location1","return_type":"String | ::Nil","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String|Nil)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"args_string":"(location1 : String | Nil)","args_html":"(location1 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L215"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String|Nil-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L216"},"def":{"name":"location2","return_type":"String | ::Nil","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String|Nil)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"args_string":"(location2 : String | Nil)","args_html":"(location2 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L216"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String|Nil-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L217"},"def":{"name":"location3","return_type":"String | ::Nil","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String|Nil)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"args_string":"(location3 : String | Nil)","args_html":"(location3 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L217"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L209"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L209"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L208"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L208"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}}]},{"html_id":"drivers/Floorsense/LocationService","path":"Floorsense/LocationService.html","kind":"class","full_name":"Floorsense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/floorsense/location_service.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L70"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"begin\n floor_mac = URI::Params.parse(mac_address)\n user = (floorsense.at_location(floor_mac[\"cid\"], floor_mac[\"key\"])).get\n {location: \"desk\", assigned_to: user[\"name\"].as_s, mac_address: mac_address}\nrescue\n nil\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of Nil\nend\nbuilding = @building_mappings[zone_id]?\nraw_desks = (floorsense.desks(plan_id)).get.to_json\ndesks = (Array(DeskStatus).from_json(raw_desks)).compact_map do |desk|\n @eui64_to_desk_id[desk.eui64] = desk.key\n if desk.occupied\n {location: :desk, at_location: 1, map_id: desk.key, level: zone_id, building: building, capacity: 1, mac: \"cid=#{desk.cid}&key=#{desk.key}\", floorsense_status: desk.status, floorsense_desk_type: desk.desk_type}\n end\nend\ncurrent = [] of BookingStatus\nif @include_bookings\n raw_bookings = (floorsense.bookings(plan_id)).get.to_json\n (Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\n end\nend\ncurrent.map do |booking|\n {location: :booking, type: \"desk\", checked_in: booking.active, asset_id: booking.key, booking_id: booking.booking_id, building: building, level: zone_id, ends_at: booking.finish, mac: \"cid=#{booking.cid}&key=#{booking.key}\", staff_email: booking.user.try do |__arg0|\n __arg0.email.try(&.downcase)\n end, staff_name: booking.user.try(&.name)}\nend + desks\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L53"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@eui64_to_desk_id[id]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L60"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/floorsense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L65"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L39"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@include_bookings = (setting?(Bool, :include_bookings)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n"}}]},{"html_id":"drivers/Floorsense/LockerBooking","path":"Floorsense/LockerBooking.html","kind":"class","full_name":"Floorsense::LockerBooking","name":"LockerBooking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Int32-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L109"},"def":{"name":"active","return_type":"Int32","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Int32)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Int32"}],"args_string":"(active : Int32)","args_html":"(active : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L109"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Int32"}],"visibility":"Public","body":"@active = active"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L96"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L96"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L91"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L91"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L93"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L93"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L104"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L104"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"lastopened:Int64-instance-method","name":"lastopened","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L107"},"def":{"name":"lastopened","return_type":"Int64","visibility":"Public","body":"@lastopened"}},{"html_id":"lastopened=(lastopened:Int64)-instance-method","name":"lastopened=","abstract":false,"args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"args_string":"(lastopened : Int64)","args_html":"(lastopened : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L107"},"def":{"name":"lastopened=","args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"visibility":"Public","body":"@lastopened = lastopened"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L105"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L105"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L110"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L110"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L108"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L108"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L112"},"def":{"name":"released?","visibility":"Public","body":"self.active == 1"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L106"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L106"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L92"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L92"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L117"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L117"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L102"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L102"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Floorsense/LockerInfo","path":"Floorsense/LockerInfo.html","kind":"class","full_name":"Floorsense::LockerInfo","name":"LockerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bus_id:Int32-instance-method","name":"bus_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L61"},"def":{"name":"bus_id","return_type":"Int32","visibility":"Public","body":"@bus_id"}},{"html_id":"bus_id=(bus_id:Int32)-instance-method","name":"bus_id=","abstract":false,"args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"args_string":"(bus_id : Int32)","args_html":"(bus_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L61"},"def":{"name":"bus_id=","args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"visibility":"Public","body":"@bus_id = bus_id"}},{"html_id":"canid:Int32-instance-method","name":"canid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L58"},"def":{"name":"canid","return_type":"Int32","visibility":"Public","body":"@canid"}},{"html_id":"canid=(canid:Int32)-instance-method","name":"canid=","abstract":false,"args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"args_string":"(canid : Int32)","args_html":"(canid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L58"},"def":{"name":"canid=","args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"visibility":"Public","body":"@canid = canid"}},{"html_id":"closed:Bool|Nil-instance-method","name":"closed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L72"},"def":{"name":"closed","return_type":"Bool | ::Nil","visibility":"Public","body":"@closed"}},{"html_id":"closed=(closed:Bool|Nil)-instance-method","name":"closed=","abstract":false,"args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"args_string":"(closed : Bool | Nil)","args_html":"(closed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L72"},"def":{"name":"closed=","args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@closed = closed"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L70"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L70"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::LockerInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L85"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"disabled:Bool-instance-method","name":"disabled","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L69"},"def":{"name":"disabled","return_type":"Bool","visibility":"Public","body":"@disabled"}},{"html_id":"disabled=(disabled:Bool)-instance-method","name":"disabled=","abstract":false,"args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"args_string":"(disabled : Bool)","args_html":"(disabled : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L69"},"def":{"name":"disabled=","args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"visibility":"Public","body":"@disabled = disabled"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L68"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L68"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L77"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L77"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:Int32|Nil-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L78"},"def":{"name":"hardware","return_type":"Int32 | ::Nil","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:Int32|Nil)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"args_string":"(hardware : Int32 | Nil)","args_html":"(hardware : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L78"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L80"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L80"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"locker_id:Int32-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L64"},"def":{"name":"locker_id","return_type":"Int32","visibility":"Public","body":"@locker_id"}},{"html_id":"locker_id=(locker_id:Int32)-instance-method","name":"locker_id=","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"args_string":"(locker_id : Int32)","args_html":"(locker_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L64"},"def":{"name":"locker_id=","args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"visibility":"Public","body":"@locker_id = locker_id"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L66"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L66"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"resid:String|Nil-instance-method","name":"resid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L82"},"def":{"name":"resid","return_type":"String | ::Nil","visibility":"Public","body":"@resid"}},{"html_id":"resid=(resid:String|Nil)-instance-method","name":"resid=","abstract":false,"args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"args_string":"(resid : String | Nil)","args_html":"(resid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L82"},"def":{"name":"resid=","args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resid = resid"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L67"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L79"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L79"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L75"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L75"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}},{"html_id":"uid:String|Nil-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L76"},"def":{"name":"uid","return_type":"String | ::Nil","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String|Nil)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(uid : String | Nil)","args_html":"(uid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L76"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"usbcharger:Bool|Nil-instance-method","name":"usbcharger","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharger"}},{"html_id":"usbcharger=(usbcharger:Bool|Nil)-instance-method","name":"usbcharger=","abstract":false,"args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"args_string":"(usbcharger : Bool | Nil)","args_html":"(usbcharger : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger=","args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharger = usbcharger"}},{"html_id":"usbcharging:Bool|Nil-instance-method","name":"usbcharging","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharging"}},{"html_id":"usbcharging=(usbcharging:Bool|Nil)-instance-method","name":"usbcharging=","abstract":false,"args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"args_string":"(usbcharging : Bool | Nil)","args_html":"(usbcharging : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging=","args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharging = usbcharging"}},{"html_id":"usbcurrent:Int32|Nil-instance-method","name":"usbcurrent","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent","return_type":"Int32 | ::Nil","visibility":"Public","body":"@usbcurrent"}},{"html_id":"usbcurrent=(usbcurrent:Int32|Nil)-instance-method","name":"usbcurrent=","abstract":false,"args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"args_string":"(usbcurrent : Int32 | Nil)","args_html":"(usbcurrent : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent=","args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@usbcurrent = usbcurrent"}}]},{"html_id":"drivers/Floorsense/LogEntry","path":"Floorsense/LogEntry.html","kind":"class","full_name":"Floorsense::LogEntry","name":"LogEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L278"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L279"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","doc":"booking id","summary":"

booking id

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L290"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","doc":"booking id","summary":"

booking id

","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L290"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"code:Int32-instance-method","name":"code","doc":"the event code","summary":"

the event code

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L287"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","doc":"the event code","summary":"

the event code

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L287"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"eventid:Int64-instance-method","name":"eventid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L281"},"def":{"name":"eventid","return_type":"Int64","visibility":"Public","body":"@eventid"}},{"html_id":"eventid=(eventid:Int64)-instance-method","name":"eventid=","abstract":false,"args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"args_string":"(eventid : Int64)","args_html":"(eventid : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L281"},"def":{"name":"eventid=","args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"visibility":"Public","body":"@eventid = eventid"}},{"html_id":"eventtime:Int64-instance-method","name":"eventtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L296"},"def":{"name":"eventtime","return_type":"Int64","visibility":"Public","body":"@eventtime"}},{"html_id":"eventtime=(eventtime:Int64)-instance-method","name":"eventtime=","abstract":false,"args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"args_string":"(eventtime : Int64)","args_html":"(eventtime : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L296"},"def":{"name":"eventtime=","args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"visibility":"Public","body":"@eventtime = eventtime"}},{"html_id":"key:String-instance-method","name":"key","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L284"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L284"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}}]},{"html_id":"drivers/Floorsense/MobileCheckinLogic","path":"Floorsense/MobileCheckinLogic.html","kind":"class","full_name":"Floorsense::MobileCheckinLogic","name":"MobileCheckinLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"eui64_scanned(id:String,user_id:String,booking_minutes:Int32|Nil=nil)-instance-method","name":"eui64_scanned","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"args_string":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","args_html":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L35"},"def":{"name":"eui64_scanned","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"#{user_id} scanned mac #{id}\"\nend\ndesk_details = (booking_sync.eui64_to_desk_id(id)).get\nif desk_details.raw.nil?\n raise(\"could not find eui64 id: #{id}\")\nend\nlogger.debug do\n \"desk details found: #{desk_details.inspect}\"\nend\nlevel_zone = desk_details[\"level\"].as_s\nplace_desk = desk_details[\"desk_id\"].as_s\nbuilding_raw = desk_details[\"building_id\"]?.try(&.raw)\nbuild_zone = building_raw.try do |__arg2|\n __arg2.as(String)\nend\nlogger.debug do\n \"located #{place_desk} for #{user_id}\"\nend\nnow = Time.utc.to_unix\nbooking = staff_api.query_bookings(type: \"desk\", zones: [level_zone]).get.as_a.find do |book|\n ((book[\"asset_id\"].as_s == place_desk) && book[\"booking_start\"].as_i64 <= now) && book[\"booking_end\"].as_i64 > now\nend\nif booking\n owner_id = booking[\"user_id\"].as_s\n if owner_id == user_id\n checkin_out = !booking[\"checked_in\"].as_bool\n booking_id = booking[\"id\"].as_i64\n logger.debug do\n \"found existing booking #{booking_id} with current checked-in status #{!checkin_out}\"\n end\n if checkin_out\n (staff_api.booking_check_in(booking_id, true)).get.as_bool\n \"checked-in\"\n else\n now = 1.minute.ago.to_unix\n staff_api.update_booking(booking_id: booking_id, booking_end: now, checked_in: false).get\n \"checked-out\"\n end\n else\n logger.debug do\n \"#{user_id} scanned desk owned by #{owner_id}\"\n end\n \"forbidden\"\n end\nelse\n booking_period = booking_minutes.try(&.minutes) || @booking_period\n now = Time.local(@time_zone)\n future = booking_period ? ( now + booking_period) : now.at_end_of_day\n user_details = (staff_api.user(user_id)).get\n zones = [level_zone]\n if build_zone\n zones.unshift(build_zone)\n end\n title = place_desk\n ext_data = {} of String => JSON::Any\n begin\n logger.debug do\n \"obtaining metadata for desk #{place_desk} on level #{level_zone}\"\n end\n if desk_details = placeos_desk_metadata(level_zone, place_desk)\n if bookable = desk_details[\"bookable\"]?\n if (bookable.as_s?.try(&.upcase) == \"FALSE\") || (bookable.as_bool? == false)\n return \"forbidden\"\n end\n end\n title = desk_details[\"name\"]?.try(&.as_s) || place_desk\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk_details[meta_key]?\n ext_data[ext_key] = value\n end\n end\n else\n logger.warn do\n \"desk details not found!\"\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk metadata\"\n end\n end\n logger.debug do\n \"creating new booking for #{user_id} on #{place_desk}\"\n end\n staff_api.create_booking(booking_type: \"desk\", asset_id: place_desk, user_id: user_id, user_email: user_details[\"email\"], user_name: user_details[\"name\"], zones: zones, booking_start: now.to_unix, booking_end: future.to_unix, checked_in: true, approved: true, title: title, time_zone: @time_zone.name, extension_data: ext_data).get\n \"adhoc\"\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"time_zone = (setting?(String, :time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@booking_period = (setting?(Int32, :booking_period)).try(&.minutes)\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,asset_id:String)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(zone_id : String, asset_id : String)","args_html":"(zone_id : String, asset_id : String)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L137"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\nmetadata.each do |desk|\n place_id = desk[\"id\"]?.try(&.as_s)\n if place_id\n else\n next\n end\n if place_id == asset_id\n return desk.as_h\n end\nend\nnil\n"}}]},{"html_id":"drivers/Floorsense/Payload","path":"Floorsense/Payload.html","kind":"class","full_name":"Floorsense::Payload","name":"Payload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Floorsense/Event","kind":"class","full_name":"Floorsense::Event","name":"Event"},{"html_id":"drivers/Floorsense/Response","kind":"class","full_name":"Floorsense::Response","name":"Response"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"doc":"Websocket payloads","summary":"

Websocket payloads

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"event\"\n Event.from_json(json)\nwhen \"response\"\n Response.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/Floorsense/Resp","path":"Floorsense/Resp.html","kind":"class","full_name":"Floorsense::Resp(T)","name":"Resp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32|Nil-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L42"},"def":{"name":"code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32|Nil)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"args_string":"(code : Int32 | Nil)","args_html":"(code : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L42"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@code = code"}},{"html_id":"info:T|Nil-instance-method","name":"info","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L45"},"def":{"name":"info","return_type":"T | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"info=(info:T|Nil)-instance-method","name":"info=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"args_string":"(info : T | Nil)","args_html":"(info : T | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L45"},"def":{"name":"info=","args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"visibility":"Public","body":"@info = info"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L41"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L41"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"msg_type:String-instance-method","name":"msg_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L37"},"def":{"name":"msg_type","return_type":"String","visibility":"Public","body":"@msg_type"}},{"html_id":"msg_type=(msg_type:String)-instance-method","name":"msg_type=","abstract":false,"args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"args_string":"(msg_type : String)","args_html":"(msg_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L37"},"def":{"name":"msg_type=","args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"visibility":"Public","body":"@msg_type = msg_type"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L38"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"result=(result:Bool)-instance-method","name":"result=","abstract":false,"args":[{"name":"result","external_name":"result","restriction":"Bool"}],"args_string":"(result : Bool)","args_html":"(result : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L38"},"def":{"name":"result=","args":[{"name":"result","external_name":"result","restriction":"Bool"}],"visibility":"Public","body":"@result = result"}}]},{"html_id":"drivers/Floorsense/Response","path":"Floorsense/Response.html","kind":"class","full_name":"Floorsense::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"info-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L28"},"def":{"name":"info","visibility":"Public","body":"@info || (JSON.parse(\"{}\"))"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L25"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L24"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L23"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/RFID","path":"Floorsense/RFID.html","kind":"class","full_name":"Floorsense::RFID","name":"RFID","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L299"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L300"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"csn:String-instance-method","name":"csn","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L302"},"def":{"name":"csn","return_type":"String","visibility":"Public","body":"@csn"}},{"html_id":"csn=(csn:String)-instance-method","name":"csn=","abstract":false,"args":[{"name":"csn","external_name":"csn","restriction":"String"}],"args_string":"(csn : String)","args_html":"(csn : String)","location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L302"},"def":{"name":"csn=","args":[{"name":"csn","external_name":"csn","restriction":"String"}],"visibility":"Public","body":"@csn = csn"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L304"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L304"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L303"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L303"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/User","path":"Floorsense/User.html","kind":"class","full_name":"Floorsense::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L274"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L274"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L263"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L263"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expiry:Int64|Nil-instance-method","name":"expiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L267"},"def":{"name":"expiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@expiry"}},{"html_id":"expiry=(expiry:Int64|Nil)-instance-method","name":"expiry=","abstract":false,"args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(expiry : Int64 | Nil)","args_html":"(expiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L267"},"def":{"name":"expiry=","args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@expiry = expiry"}},{"html_id":"extid:String|Nil-instance-method","name":"extid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L272"},"def":{"name":"extid","return_type":"String | ::Nil","visibility":"Public","body":"@extid"}},{"html_id":"extid=(extid:String|Nil)-instance-method","name":"extid=","abstract":false,"args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"args_string":"(extid : String | Nil)","args_html":"(extid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L272"},"def":{"name":"extid=","args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@extid = extid"}},{"html_id":"lastlogin:Int64|Nil-instance-method","name":"lastlogin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin","return_type":"Int64 | ::Nil","visibility":"Public","body":"@lastlogin"}},{"html_id":"lastlogin=(lastlogin:Int64|Nil)-instance-method","name":"lastlogin=","abstract":false,"args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"args_string":"(lastlogin : Int64 | Nil)","args_html":"(lastlogin : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin=","args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@lastlogin = lastlogin"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L264"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L264"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"pin:String|Nil-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L269"},"def":{"name":"pin","return_type":"String | ::Nil","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String|Nil)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"args_string":"(pin : String | Nil)","args_html":"(pin : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L269"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"privacy:Int32|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L275"},"def":{"name":"privacy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Int32|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"args_string":"(privacy : Int32 | Nil)","args_html":"(privacy : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L275"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reslimit:Int64|Nil-instance-method","name":"reslimit","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L268"},"def":{"name":"reslimit","return_type":"Int64 | ::Nil","visibility":"Public","body":"@reslimit"}},{"html_id":"reslimit=(reslimit:Int64|Nil)-instance-method","name":"reslimit=","abstract":false,"args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"args_string":"(reslimit : Int64 | Nil)","args_html":"(reslimit : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L268"},"def":{"name":"reslimit=","args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@reslimit = reslimit"}},{"html_id":"ugroupid:Int64|Nil-instance-method","name":"ugroupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ugroupid"}},{"html_id":"ugroupid=(ugroupid:Int64|Nil)-instance-method","name":"ugroupid=","abstract":false,"args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"args_string":"(ugroupid : Int64 | Nil)","args_html":"(ugroupid : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid=","args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ugroupid = ugroupid"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L262"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L262"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"uidtoken:String|Nil-instance-method","name":"uidtoken","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken","return_type":"String | ::Nil","visibility":"Public","body":"@uidtoken"}},{"html_id":"uidtoken=(uidtoken:String|Nil)-instance-method","name":"uidtoken=","abstract":false,"args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"args_string":"(uidtoken : String | Nil)","args_html":"(uidtoken : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken=","args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uidtoken = uidtoken"}},{"html_id":"usertype:String|Nil-instance-method","name":"usertype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L273"},"def":{"name":"usertype","return_type":"String | ::Nil","visibility":"Public","body":"@usertype"}},{"html_id":"usertype=(usertype:String|Nil)-instance-method","name":"usertype=","abstract":false,"args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"args_string":"(usertype : String | Nil)","args_html":"(usertype : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L273"},"def":{"name":"usertype=","args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usertype = usertype"}}]},{"html_id":"drivers/Floorsense/UserGroup","path":"Floorsense/UserGroup.html","kind":"class","full_name":"Floorsense::UserGroup","name":"UserGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L169"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L170"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L175"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L175"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L173"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int32)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L173"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L174"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L174"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Floorsense/UserLocation","path":"Floorsense/UserLocation.html","kind":"class","full_name":"Floorsense::UserLocation","name":"UserLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L179"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool|Nil-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L202"},"def":{"name":"active","return_type":"Bool | ::Nil","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool|Nil)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"args_string":"(active : Bool | Nil)","args_html":"(active : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L202"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@active = active"}},{"html_id":"cid:Int32|Nil-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L197"},"def":{"name":"cid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32|Nil)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"args_string":"(cid : Int32 | Nil)","args_html":"(cid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L197"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool|Nil-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L201"},"def":{"name":"confirmed","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool|Nil)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"args_string":"(confirmed : Bool | Nil)","args_html":"(confirmed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L201"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"finish:Time|Nil-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L190"},"def":{"name":"finish","return_type":"Time | ::Nil","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Time|Nil)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"args_string":"(finish : Time | Nil)","args_html":"(finish : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L190"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"floorname:String|Nil-instance-method","name":"floorname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L196"},"def":{"name":"floorname","return_type":"String | ::Nil","visibility":"Public","body":"@floorname"}},{"html_id":"floorname=(floorname:String|Nil)-instance-method","name":"floorname=","abstract":false,"args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"args_string":"(floorname : String | Nil)","args_html":"(floorname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L196"},"def":{"name":"floorname=","args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floorname = floorname"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L194"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L194"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"groupname:String|Nil-instance-method","name":"groupname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L199"},"def":{"name":"groupname","return_type":"String | ::Nil","visibility":"Public","body":"@groupname"}},{"html_id":"groupname=(groupname:String|Nil)-instance-method","name":"groupname=","abstract":false,"args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"args_string":"(groupname : String | Nil)","args_html":"(groupname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L199"},"def":{"name":"groupname=","args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@groupname = groupname"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L195"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L195"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L181"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L181"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"occupied:Bool|Nil-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L193"},"def":{"name":"occupied","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool|Nil)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"args_string":"(occupied : Bool | Nil)","args_html":"(occupied : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L193"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32|Nil-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32|Nil)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"args_string":"(occupiedtime : Int32 | Nil)","args_html":"(occupiedtime : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L192"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L192"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L200"},"def":{"name":"privacy","return_type":"Bool | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(privacy : Bool | Nil)","args_html":"(privacy : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L200"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"start:Time|Nil-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L187"},"def":{"name":"start","return_type":"Time | ::Nil","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Time|Nil)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"args_string":"(start : Time | Nil)","args_html":"(start : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L187"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L182"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L182"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/Voucher","path":"Floorsense/Voucher.html","kind":"class","full_name":"Floorsense::Voucher","name":"Voucher","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L328"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardswipe:Bool-instance-method","name":"cardswipe","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe","return_type":"Bool","visibility":"Public","body":"@cardswipe"}},{"html_id":"cardswipe=(cardswipe:Bool)-instance-method","name":"cardswipe=","abstract":false,"args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"args_string":"(cardswipe : Bool)","args_html":"(cardswipe : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe=","args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"visibility":"Public","body":"@cardswipe = cardswipe"}},{"html_id":"controller_id:String-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L340"},"def":{"name":"controller_id","return_type":"String","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:String)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"args_string":"(controller_id : String)","args_html":"(controller_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L340"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L346"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L346"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"duration:Int64-instance-method","name":"duration","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L348"},"def":{"name":"duration","return_type":"Int64","visibility":"Public","body":"@duration"}},{"html_id":"duration=(duration:Int64)-instance-method","name":"duration=","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"args_string":"(duration : Int64)","args_html":"(duration : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L348"},"def":{"name":"duration=","args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"visibility":"Public","body":"@duration = duration"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L331"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L331"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expired:Int64-instance-method","name":"expired","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L349"},"def":{"name":"expired","return_type":"Int64","visibility":"Public","body":"@expired"}},{"html_id":"expired=(expired:Int64)-instance-method","name":"expired=","abstract":false,"args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"args_string":"(expired : Int64)","args_html":"(expired : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L349"},"def":{"name":"expired=","args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"visibility":"Public","body":"@expired = expired"}},{"html_id":"lastuse:Int64-instance-method","name":"lastuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L330"},"def":{"name":"lastuse","return_type":"Int64","visibility":"Public","body":"@lastuse"}},{"html_id":"lastuse=(lastuse:Int64)-instance-method","name":"lastuse=","abstract":false,"args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"args_string":"(lastuse : Int64)","args_html":"(lastuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L330"},"def":{"name":"lastuse=","args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"visibility":"Public","body":"@lastuse = lastuse"}},{"html_id":"locker_key:String-instance-method","name":"locker_key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L337"},"def":{"name":"locker_key","return_type":"String","visibility":"Public","body":"@locker_key"}},{"html_id":"locker_key=(locker_key:String)-instance-method","name":"locker_key=","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L337"},"def":{"name":"locker_key=","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"@locker_key = locker_key"}},{"html_id":"maxuse:Int64-instance-method","name":"maxuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L351"},"def":{"name":"maxuse","return_type":"Int64","visibility":"Public","body":"@maxuse"}},{"html_id":"maxuse=(maxuse:Int64)-instance-method","name":"maxuse=","abstract":false,"args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"args_string":"(maxuse : Int64)","args_html":"(maxuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L351"},"def":{"name":"maxuse=","args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"visibility":"Public","body":"@maxuse = maxuse"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L359"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L359"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String-instance-method","name":"notes","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L360"},"def":{"name":"notes","return_type":"String","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String"}],"args_string":"(notes : String)","args_html":"(notes : String)","location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L360"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"notified:Int64-instance-method","name":"notified","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L353"},"def":{"name":"notified","return_type":"Int64","visibility":"Public","body":"@notified"}},{"html_id":"notified=(notified:Int64)-instance-method","name":"notified=","abstract":false,"args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"args_string":"(notified : Int64)","args_html":"(notified : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L353"},"def":{"name":"notified=","args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"visibility":"Public","body":"@notified = notified"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L345"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L345"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"release:Bool-instance-method","name":"release","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L347"},"def":{"name":"release","return_type":"Bool","visibility":"Public","body":"@release"}},{"html_id":"release=(release:Bool)-instance-method","name":"release=","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"Bool"}],"args_string":"(release : Bool)","args_html":"(release : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L347"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"Bool"}],"visibility":"Public","body":"@release = release"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L352"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L352"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"template:String-instance-method","name":"template","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L358"},"def":{"name":"template","return_type":"String","visibility":"Public","body":"@template"}},{"html_id":"template=(template:String)-instance-method","name":"template=","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"}],"args_string":"(template : String)","args_html":"(template : String)","location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L358"},"def":{"name":"template=","args":[{"name":"template","external_name":"template","restriction":"String"}],"visibility":"Public","body":"@template = template"}},{"html_id":"unlock:Bool-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L357"},"def":{"name":"unlock","return_type":"Bool","visibility":"Public","body":"@unlock"}},{"html_id":"unlock=(unlock:Bool)-instance-method","name":"unlock=","abstract":false,"args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"args_string":"(unlock : Bool)","args_html":"(unlock : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L357"},"def":{"name":"unlock=","args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"visibility":"Public","body":"@unlock = unlock"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L365"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L365"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}},{"html_id":"usecount:Int64-instance-method","name":"usecount","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L350"},"def":{"name":"usecount","return_type":"Int64","visibility":"Public","body":"@usecount"}},{"html_id":"usecount=(usecount:Int64)-instance-method","name":"usecount=","abstract":false,"args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"args_string":"(usecount : Int64)","args_html":"(usecount : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L350"},"def":{"name":"usecount=","args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"visibility":"Public","body":"@usecount = usecount"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L364"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L364"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"validfrom:Int64-instance-method","name":"validfrom","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L354"},"def":{"name":"validfrom","return_type":"Int64","visibility":"Public","body":"@validfrom"}},{"html_id":"validfrom=(validfrom:Int64)-instance-method","name":"validfrom=","abstract":false,"args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"args_string":"(validfrom : Int64)","args_html":"(validfrom : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L354"},"def":{"name":"validfrom=","args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"visibility":"Public","body":"@validfrom = validfrom"}},{"html_id":"validto:Int64-instance-method","name":"validto","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L355"},"def":{"name":"validto","return_type":"Int64","visibility":"Public","body":"@validto"}},{"html_id":"validto=(validto:Int64)-instance-method","name":"validto=","abstract":false,"args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"args_string":"(validto : Int64)","args_html":"(validto : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L355"},"def":{"name":"validto=","args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"visibility":"Public","body":"@validto = validto"}},{"html_id":"voucher_id:String-instance-method","name":"voucher_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id","return_type":"String","visibility":"Public","body":"@voucher_id"}},{"html_id":"voucher_id=(voucher_id:String)-instance-method","name":"voucher_id=","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"args_string":"(voucher_id : String)","args_html":"(voucher_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id=","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"visibility":"Public","body":"@voucher_id = voucher_id"}}]}]},{"html_id":"drivers/Freespace","path":"Freespace.html","kind":"module","full_name":"Freespace","name":"Freespace","abstract":false,"locations":[{"filename":"src/freespace/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Freespace/Category","path":"Freespace/Category.html","kind":"class","full_name":"Freespace::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"color_scheme:String|Nil-instance-method","name":"color_scheme","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L75"},"def":{"name":"color_scheme","return_type":"String | ::Nil","visibility":"Public","body":"@color_scheme"}},{"html_id":"color_scheme=(color_scheme:String|Nil)-instance-method","name":"color_scheme=","abstract":false,"args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"args_string":"(color_scheme : String | Nil)","args_html":"(color_scheme : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L75"},"def":{"name":"color_scheme=","args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@color_scheme = color_scheme"}},{"html_id":"icon_url:String|Nil-instance-method","name":"icon_url","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L71"},"def":{"name":"icon_url","return_type":"String | ::Nil","visibility":"Public","body":"@icon_url"}},{"html_id":"icon_url=(icon_url:String|Nil)-instance-method","name":"icon_url=","abstract":false,"args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"args_string":"(icon_url : String | Nil)","args_html":"(icon_url : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L71"},"def":{"name":"icon_url=","args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@icon_url = icon_url"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L58"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L59"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"ordering_index:Int32|Nil-instance-method","name":"ordering_index","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L78"},"def":{"name":"ordering_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@ordering_index"}},{"html_id":"ordering_index=(ordering_index:Int32|Nil)-instance-method","name":"ordering_index=","abstract":false,"args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"args_string":"(ordering_index : Int32 | Nil)","args_html":"(ordering_index : Int32 | Nil)","location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L78"},"def":{"name":"ordering_index=","args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@ordering_index = ordering_index"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L62"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L62"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"show_in_analytics:Bool-instance-method","name":"show_in_analytics","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics","return_type":"Bool","visibility":"Public","body":"@show_in_analytics"}},{"html_id":"show_in_analytics=(show_in_analytics:Bool)-instance-method","name":"show_in_analytics=","abstract":false,"args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"args_string":"(show_in_analytics : Bool)","args_html":"(show_in_analytics : Bool)","location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics=","args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"visibility":"Public","body":"@show_in_analytics = show_in_analytics"}},{"html_id":"show_on_signage:Bool-instance-method","name":"show_on_signage","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage","return_type":"Bool","visibility":"Public","body":"@show_on_signage"}},{"html_id":"show_on_signage=(show_on_signage:Bool)-instance-method","name":"show_on_signage=","abstract":false,"args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"args_string":"(show_on_signage : Bool)","args_html":"(show_on_signage : Bool)","location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage=","args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"visibility":"Public","body":"@show_on_signage = show_on_signage"}}]},{"html_id":"drivers/Freespace/Device","path":"Freespace/Device.html","kind":"class","full_name":"Freespace::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L84"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L84"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L87"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L87"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Freespace/Location","path":"Freespace/Location.html","kind":"class","full_name":"Freespace::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L35"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L37"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L37"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"policy:Bool-instance-method","name":"policy","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L44"},"def":{"name":"policy","return_type":"Bool","visibility":"Public","body":"@policy"}},{"html_id":"policy=(policy:Bool)-instance-method","name":"policy=","abstract":false,"args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"args_string":"(policy : Bool)","args_html":"(policy : Bool)","location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L44"},"def":{"name":"policy=","args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"visibility":"Public","body":"@policy = policy"}},{"html_id":"raw:Bool-instance-method","name":"raw","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L43"},"def":{"name":"raw","return_type":"Bool","visibility":"Public","body":"@raw"}},{"html_id":"raw=(raw:Bool)-instance-method","name":"raw=","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"args_string":"(raw : Bool)","args_html":"(raw : Bool)","location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L43"},"def":{"name":"raw=","args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"visibility":"Public","body":"@raw = raw"}}]},{"html_id":"drivers/Freespace/SensorAPI","path":"Freespace/SensorAPI.html","kind":"class","full_name":"Freespace::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/sensor_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/freespace/sensor_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L211"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"client:STOMP::Client-instance-method","name":"client","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L58"},"def":{"name":"client","return_type":"STOMP::Client","visibility":"Public","body":"if (value = @client).nil?\n ::raise(NilAssertionError.new(\"Freespace::SensorAPI#client cannot be nil\"))\nelse\n value\nend"}},{"html_id":"client?:STOMP::Client|Nil-instance-method","name":"client?","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L58"},"def":{"name":"client?","return_type":"STOMP::Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L70"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nhostname = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\n@client = STOMP::Client.new(hostname)\nsend(client.stomp.to_s)\nschedule.clear\nschedule.in(5.seconds) do\n @auth_key = nil\nend\nschedule.every(10.seconds) do\n heart_beat\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L216"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nloctions = @zone_mappings[zone_id]?\nif loctions\nelse\n return [] of Nil\nend\nloctions.flat_map do |loc_id|\n location_id = loc_id.to_i64\n loc_details = @floor_mappings[loc_id]\n @space_state.values.compact_map do |activity|\n if ((activity.location_id != location_id) || (activity.state == 0)) || activity.capacity > 1\n next\n end\n {location: activity.capacity == 1 ? \"desk\" : \"area\", at_location: activity.state, map_id: activity.name, level: loc_details[:level_id], building: loc_details[:building_id], capacity: activity.capacity}\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L83"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n@spaces.clear\n@auth_key = @client = nil\n"}},{"html_id":"get_location(location_id:String|Int64):Array(Space)-instance-method","name":"get_location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"args_string":"(location_id : String | Int64) : Array(Space)","args_html":"(location_id : String | Int64) : Array(Space)","location":{"filename":"src/freespace/sensor_api.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L117"},"def":{"name":"get_location","args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"return_type":"Array(Space)","visibility":"Public","body":"response = http(\"POST\", \"/api/locations/#{location_id}/spaces\", headers: {\"X-Auth-Key\" => get_token, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nif response.success?\nelse\n raise(\"issue obtaining to location #{location_id}: status code #{response.status_code}\\n#{response.body}\")\nend\nspaces = Array(Space).from_json(response.body)\nspaces.each do |space|\n @spaces[space.id] = space\nend\nspaces\n"}},{"html_id":"get_token:String-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L139"},"def":{"name":"get_token","return_type":"String","visibility":"Public","body":"auth_key = @auth_key\nif auth_key\n return auth_key\nend\nresponse = http(\"POST\", \"/login\", headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"login response: #{response.body}\"\nend\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nschedule.in(5.seconds) do\n @auth_key = nil\nend\n@auth_key = response.headers[\"X-Auth-Key\"]\n"}},{"html_id":"heart_beat-instance-method","name":"heart_beat","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L90"},"def":{"name":"heart_beat","visibility":"Public","body":"send((client.send(\"/beat/#{Time.utc.to_unix}\")).to_s, wait: false, priority: 0)"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L201"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/freespace/sensor_api.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L206"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_mappings.clear\n@floor_mappings.each do |location_id, details|\n @zone_mappings[details[:level_id]] << location_id\n @zone_mappings[details[:building_id]] << location_id\nend\nif @connected\n disconnect\nend\n"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/freespace/sensor_api.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L161"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"frame = STOMP::Frame.new(bytes)\ncase frame.command\nwhen .connected?\n client.negotiate(frame)\n @floor_mappings.keys.each do |location_id|\n begin\n subscribe_location(location_id)\n rescue error\n logger.error(exception: error) do\n \"failed to subscribe to #{location_id}, skipping\"\n end\n end\n end\nwhen .message?\n activity = SpaceActivity.from_json(frame.body_text)\n if space = @spaces[activity.space_id]?\n activity.location_id = space.location_id\n activity.capacity = space.capacity\n activity.name = space.name\n @space_state[activity.space_id] = activity\n self[\"space-#{activity.space_id}\"] = {location: space.location_id, name: space.name, capacity: space.capacity, count: activity.state, last_updated: activity.utc_epoch}\n self[\"last_change\"] = Time.utc.to_unix\n else\n logger.warn do\n \"unknown space id: #{activity.space_id}\"\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"spaces_details:Hash(Int64,Freespace::Space)-instance-method","name":"spaces_details","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L107"},"def":{"name":"spaces_details","visibility":"Public","body":"@spaces"}},{"html_id":"spaces_state:Hash(Int64,Freespace::SpaceActivity)-instance-method","name":"spaces_state","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L112"},"def":{"name":"spaces_state","visibility":"Public","body":"@space_state"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","doc":"We need an API key to connect to the websocket","summary":"

We need an API key to connect to the websocket

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L52"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"X-Auth-Key\" => get_token}"}}]},{"html_id":"drivers/Freespace/Space","path":"Freespace/Space.html","kind":"class","full_name":"Freespace::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L92"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L93"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L115"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L115"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:Category-instance-method","name":"category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L105"},"def":{"name":"category","return_type":"Category","visibility":"Public","body":"@category"}},{"html_id":"category=(category:Category)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"Category"}],"args_string":"(category : Category)","args_html":"(category : Category)","location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L105"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"Category"}],"visibility":"Public","body":"@category = category"}},{"html_id":"counted:Bool-instance-method","name":"counted","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L124"},"def":{"name":"counted","return_type":"Bool","visibility":"Public","body":"@counted"}},{"html_id":"counted=(counted:Bool)-instance-method","name":"counted=","abstract":false,"args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"args_string":"(counted : Bool)","args_html":"(counted : Bool)","location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L124"},"def":{"name":"counted=","args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"visibility":"Public","body":"@counted = counted"}},{"html_id":"department:Category-instance-method","name":"department","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L106"},"def":{"name":"department","return_type":"Category","visibility":"Public","body":"@department"}},{"html_id":"department=(department:Category)-instance-method","name":"department=","abstract":false,"args":[{"name":"department","external_name":"department","restriction":"Category"}],"args_string":"(department : Category)","args_html":"(department : Category)","location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L106"},"def":{"name":"department=","args":[{"name":"department","external_name":"department","restriction":"Category"}],"visibility":"Public","body":"@department = department"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L110"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device=(device:Device)-instance-method","name":"device=","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Device"}],"args_string":"(device : Device)","args_html":"(device : Device)","location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L110"},"def":{"name":"device=","args":[{"name":"device","external_name":"device","restriction":"Device"}],"visibility":"Public","body":"@device = device"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L95"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"live:Bool-instance-method","name":"live","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L114"},"def":{"name":"live","return_type":"Bool","visibility":"Public","body":"@live"}},{"html_id":"live=(live:Bool)-instance-method","name":"live=","abstract":false,"args":[{"name":"live","external_name":"live","restriction":"Bool"}],"args_string":"(live : Bool)","args_html":"(live : Bool)","location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L114"},"def":{"name":"live=","args":[{"name":"live","external_name":"live","restriction":"Bool"}],"visibility":"Public","body":"@live = live"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L96"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L96"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L123"},"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L123"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"marker:Hash(String,JSON::Any)-instance-method","name":"marker","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L101"},"def":{"name":"marker","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@marker"}},{"html_id":"marker=(marker:Hash(String,JSON::Any))-instance-method","name":"marker=","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"args_string":"(marker : Hash(String, JSON::Any))","args_html":"(marker : Hash(String, JSON::Any))","location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L101"},"def":{"name":"marker=","args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@marker = marker"}},{"html_id":"marker_unique_id:String|Nil-instance-method","name":"marker_unique_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id","return_type":"String | ::Nil","visibility":"Public","body":"@marker_unique_id"}},{"html_id":"marker_unique_id=(marker_unique_id:String|Nil)-instance-method","name":"marker_unique_id=","abstract":false,"args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"args_string":"(marker_unique_id : String | Nil)","args_html":"(marker_unique_id : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id=","args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@marker_unique_id = marker_unique_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L97"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L97"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"sensing_policy_id:Int32-instance-method","name":"sensing_policy_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id","return_type":"Int32","visibility":"Public","body":"@sensing_policy_id"}},{"html_id":"sensing_policy_id=(sensing_policy_id:Int32)-instance-method","name":"sensing_policy_id=","abstract":false,"args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"args_string":"(sensing_policy_id : Int32)","args_html":"(sensing_policy_id : Int32)","location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id=","args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"visibility":"Public","body":"@sensing_policy_id = sensing_policy_id"}},{"html_id":"serial:Int32-instance-method","name":"serial","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L120"},"def":{"name":"serial","return_type":"Int32","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:Int32)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"args_string":"(serial : Int32)","args_html":"(serial : Int32)","location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L120"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"visibility":"Public","body":"@serial = serial"}},{"html_id":"srf:SRF-instance-method","name":"srf","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L98"},"def":{"name":"srf","return_type":"SRF","visibility":"Public","body":"@srf"}},{"html_id":"srf=(srf:SRF)-instance-method","name":"srf=","abstract":false,"args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"args_string":"(srf : SRF)","args_html":"(srf : SRF)","location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L98"},"def":{"name":"srf=","args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"visibility":"Public","body":"@srf = srf"}},{"html_id":"sub_category:Category-instance-method","name":"sub_category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L104"},"def":{"name":"sub_category","return_type":"Category","visibility":"Public","body":"@sub_category"}},{"html_id":"sub_category=(sub_category:Category)-instance-method","name":"sub_category=","abstract":false,"args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"args_string":"(sub_category : Category)","args_html":"(sub_category : Category)","location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L104"},"def":{"name":"sub_category=","args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"visibility":"Public","body":"@sub_category = sub_category"}}]},{"html_id":"drivers/Freespace/SpaceActivity","path":"Freespace/SpaceActivity.html","kind":"class","full_name":"Freespace::SpaceActivity","name":"SpaceActivity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"if (value = @capacity).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#capacity cannot be nil\"))\nelse\n value\nend"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L24"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"capacity?:Int32|Nil-instance-method","name":"capacity?","abstract":false,"def":{"name":"capacity?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L7"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L7"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"if (value = @location_id).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#location_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L21"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_id?:Int64|Nil-instance-method","name":"location_id?","abstract":false,"def":{"name":"location_id?","return_type":"Int64 | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"if (value = @name).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L27"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"name?:String|Nil-instance-method","name":"name?","abstract":false,"def":{"name":"name?","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"presence?-instance-method","name":"presence?","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L16"},"def":{"name":"presence?","visibility":"Public","body":"@state > 0"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L14"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L14"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}},{"html_id":"utc_epoch:Int64-instance-method","name":"utc_epoch","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch","return_type":"Int64","visibility":"Public","body":"@utc_epoch"}},{"html_id":"utc_epoch=(utc_epoch:Int64)-instance-method","name":"utc_epoch=","abstract":false,"args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"args_string":"(utc_epoch : Int64)","args_html":"(utc_epoch : Int64)","location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch=","args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"visibility":"Public","body":"@utc_epoch = utc_epoch"}}]},{"html_id":"drivers/Freespace/SRF","path":"Freespace/SRF.html","kind":"class","full_name":"Freespace::SRF","name":"SRF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L47"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L48"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Int32-instance-method","name":"x","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L50"},"def":{"name":"x","return_type":"Int32","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Int32)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"}],"args_string":"(x : Int32)","args_html":"(x : Int32)","location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L50"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Int32"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Int32-instance-method","name":"y","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L51"},"def":{"name":"y","return_type":"Int32","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Int32)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(y : Int32)","args_html":"(y : Int32)","location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L51"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"@y = y"}},{"html_id":"z:Int32-instance-method","name":"z","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L52"},"def":{"name":"z","return_type":"Int32","visibility":"Public","body":"@z"}},{"html_id":"z=(z:Int32)-instance-method","name":"z=","abstract":false,"args":[{"name":"z","external_name":"z","restriction":"Int32"}],"args_string":"(z : Int32)","args_html":"(z : Int32)","location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L52"},"def":{"name":"z=","args":[{"name":"z","external_name":"z","restriction":"Int32"}],"visibility":"Public","body":"@z = z"}}]}]},{"html_id":"drivers/Gallagher","path":"Gallagher.html","kind":"module","full_name":"Gallagher","name":"Gallagher","abstract":false,"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gallagher/AccessGroup","path":"Gallagher/AccessGroup.html","kind":"class","full_name":"Gallagher::AccessGroup","name":"AccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L181"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L182"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholders:NamedTuple(href:String)-instance-method","name":"cardholders","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@cardholders"}},{"html_id":"cardholders=(cardholders:NamedTuple(href:String))-instance-method","name":"cardholders=","abstract":false,"args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"args_string":"(cardholders : NamedTuple(href: String))","args_html":"(cardholders : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders=","args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@cardholders = cardholders"}},{"html_id":"children:Array(NamedTuple(href:String,name:String))|Nil-instance-method","name":"children","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children","return_type":"Array(NamedTuple(href: String, name: String)) | ::Nil","visibility":"Public","body":"@children"}},{"html_id":"children=(children:Array(NamedTuple(href:String,name:String))|Nil)-instance-method","name":"children=","abstract":false,"args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"args_string":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","args_html":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children=","args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"visibility":"Public","body":"@children = children"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String))-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"args_string":"(division : NamedTuple(href: String))","args_html":"(division : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@division = division"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"parent:NamedTuple(href:String,name:String)|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent","return_type":"NamedTuple(href: String, name: String) | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"parent=(parent:NamedTuple(href:String,name:String)|Nil)-instance-method","name":"parent=","abstract":false,"args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"args_string":"(parent : NamedTuple(href: String, name: String) | Nil)","args_html":"(parent : NamedTuple(href: String, name: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent=","args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"visibility":"Public","body":"@parent = parent"}}]},{"html_id":"drivers/Gallagher/AccessGroupMembership","path":"Gallagher/AccessGroupMembership.html","kind":"class","full_name":"Gallagher::AccessGroupMembership","name":"AccessGroupMembership","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L208"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L209"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholder:NamedTuple(href:String,name:String)-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder","return_type":"NamedTuple(href: String, name: String)","visibility":"Public","body":"@cardholder"}},{"html_id":"cardholder=(cardholder:NamedTuple(href:String,name:String))-instance-method","name":"cardholder=","abstract":false,"args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"args_string":"(cardholder : NamedTuple(href: String, name: String))","args_html":"(cardholder : NamedTuple(href: String, name: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder=","args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"visibility":"Public","body":"@cardholder = cardholder"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Card","path":"Gallagher/Card.html","kind":"struct","full_name":"Gallagher::Card","name":"Card","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(href:Nil|String,status:NamedTuple(value:String,type:Nil|String)|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"args_string":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","args_html":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L133"},"def":{"name":"new","args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(href, status)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ble_facility_id:Int64|Nil-instance-method","name":"ble_facility_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ble_facility_id"}},{"html_id":"ble_facility_id=(ble_facility_id:Int64|Nil)-instance-method","name":"ble_facility_id=","abstract":false,"args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"args_string":"(ble_facility_id : Int64 | Nil)","args_html":"(ble_facility_id : Int64 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id=","args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ble_facility_id = ble_facility_id"}},{"html_id":"card_serial_number:String|Nil-instance-method","name":"card_serial_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number","return_type":"String | ::Nil","visibility":"Public","body":"@card_serial_number"}},{"html_id":"card_serial_number=(card_serial_number:String|Nil)-instance-method","name":"card_serial_number=","abstract":false,"args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"args_string":"(card_serial_number : String | Nil)","args_html":"(card_serial_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number=","args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@card_serial_number = card_serial_number"}},{"html_id":"credential_class:String|Nil-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class","return_type":"String | ::Nil","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String|Nil)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"args_string":"(credential_class : String | Nil)","args_html":"(credential_class : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"credential_id:String|Nil-instance-method","name":"credential_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id","return_type":"String | ::Nil","visibility":"Public","body":"@credential_id"}},{"html_id":"credential_id=(credential_id:String|Nil)-instance-method","name":"credential_id=","abstract":false,"args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"args_string":"(credential_id : String | Nil)","args_html":"(credential_id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id=","args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_id = credential_id"}},{"html_id":"e2e_key:String|Nil-instance-method","name":"e2e_key","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key","return_type":"String | ::Nil","visibility":"Public","body":"@e2e_key"}},{"html_id":"e2e_key=(e2e_key:String|Nil)-instance-method","name":"e2e_key=","abstract":false,"args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"args_string":"(e2e_key : String | Nil)","args_html":"(e2e_key : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key=","args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@e2e_key = e2e_key"}},{"html_id":"facility_code:String|Nil-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code","return_type":"String | ::Nil","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String|Nil)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"args_string":"(facility_code : String | Nil)","args_html":"(facility_code : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"invitation:Invitation|Nil-instance-method","name":"invitation","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation","return_type":"Invitation | ::Nil","visibility":"Public","body":"@invitation"}},{"html_id":"invitation=(invitation:Invitation|Nil)-instance-method","name":"invitation=","abstract":false,"args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"args_string":"(invitation : Invitation | Nil)","args_html":"(invitation : Invitation | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation=","args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"visibility":"Public","body":"@invitation = invitation"}},{"html_id":"issue_level:Int32|Nil-instance-method","name":"issue_level","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@issue_level"}},{"html_id":"issue_level=(issue_level:Int32|Nil)-instance-method","name":"issue_level=","abstract":false,"args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"args_string":"(issue_level : Int32 | Nil)","args_html":"(issue_level : Int32 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level=","args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@issue_level = issue_level"}},{"html_id":"number:String|Nil-instance-method","name":"number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number","return_type":"String | ::Nil","visibility":"Public","body":"@number"}},{"html_id":"number=(number:String|Nil)-instance-method","name":"number=","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"args_string":"(number : String | Nil)","args_html":"(number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number=","args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@number = number"}},{"html_id":"status:NamedTuple(value:String,type:String|Nil)|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status","return_type":"NamedTuple(value: String, type: String | ::Nil) | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:NamedTuple(value:String,type:String|Nil)|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"args_string":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","args_html":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:NamedTuple(href:String,name:String|Nil)|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type","return_type":"NamedTuple(href: String, name: String | ::Nil) | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:NamedTuple(href:String,name:String|Nil)|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"args_string":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","args_html":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Cardholder","path":"Gallagher/Cardholder.html","kind":"class","full_name":"Gallagher::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(first_name:Nil|String,last_name:Nil|String,short_name:Nil|String,description:Nil|String,authorised:Bool|Nil,cards:Array(Gallagher::Card)|Hash(String,Array(Gallagher::Card))|Nil,access_groups:Array(Gallagher::CardholderAccessGroup)|Hash(String,Array(Gallagher::CardholderAccessGroup))|Nil,division:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"args_string":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","args_html":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(first_name, last_name, short_name, description, authorised, cards, access_groups, division)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil-instance-method","name":"access_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups","return_type":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil","visibility":"Public","body":"@access_groups"}},{"html_id":"access_groups=(access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil)-instance-method","name":"access_groups=","abstract":false,"args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"args_string":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","args_html":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups=","args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"visibility":"Public","body":"@access_groups = access_groups"}},{"html_id":"authorised:Bool|Nil-instance-method","name":"authorised","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised","return_type":"Bool | ::Nil","visibility":"Public","body":"@authorised"}},{"html_id":"authorised=(authorised:Bool|Nil)-instance-method","name":"authorised=","abstract":false,"args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"args_string":"(authorised : Bool | Nil)","args_html":"(authorised : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised=","args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@authorised = authorised"}},{"html_id":"cards:Array(Card)|Hash(String,Array(Card))|Nil-instance-method","name":"cards","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards","return_type":"Array(Card) | Hash(String, Array(Card)) | ::Nil","visibility":"Public","body":"@cards"}},{"html_id":"cards=(cards:Array(Card)|Hash(String,Array(Card))|Nil)-instance-method","name":"cards=","abstract":false,"args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"args_string":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","args_html":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards=","args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"visibility":"Public","body":"@cards = cards"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)|Nil-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String)|Nil)-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(division : NamedTuple(href: String) | Nil)","args_html":"(division : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@division = division"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_accessed:Time|Nil-instance-method","name":"last_accessed","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed","return_type":"Time | ::Nil","visibility":"Public","body":"@last_accessed"}},{"html_id":"last_accessed=(last_accessed:Time|Nil)-instance-method","name":"last_accessed=","abstract":false,"args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"args_string":"(last_accessed : Time | Nil)","args_html":"(last_accessed : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed=","args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@last_accessed = last_accessed"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"usercode:String|Nil-instance-method","name":"usercode","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode","return_type":"String | ::Nil","visibility":"Public","body":"@usercode"}},{"html_id":"usercode=(usercode:String|Nil)-instance-method","name":"usercode=","abstract":false,"args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"args_string":"(usercode : String | Nil)","args_html":"(usercode : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode=","args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usercode = usercode"}}]},{"html_id":"drivers/Gallagher/CardholderAccessGroup","path":"Gallagher/CardholderAccessGroup.html","kind":"class","full_name":"Gallagher::CardholderAccessGroup","name":"CardholderAccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_group:NamedTuple(href:String)-instance-method","name":"access_group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@access_group"}},{"html_id":"access_group=(access_group:NamedTuple(href:String))-instance-method","name":"access_group=","abstract":false,"args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"args_string":"(access_group : NamedTuple(href: String))","args_html":"(access_group : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group=","args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@access_group = access_group"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/CardType","path":"Gallagher/CardType.html","kind":"class","full_name":"Gallagher::CardType","name":"CardType","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_card_states:Array(String)-instance-method","name":"available_card_states","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states","return_type":"Array(String)","visibility":"Public","body":"@available_card_states"}},{"html_id":"available_card_states=(available_card_states:Array(String))-instance-method","name":"available_card_states=","abstract":false,"args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"args_string":"(available_card_states : Array(String))","args_html":"(available_card_states : Array(String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states=","args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"visibility":"Public","body":"@available_card_states = available_card_states"}},{"html_id":"credential_class:String-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class","return_type":"String","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"args_string":"(credential_class : String)","args_html":"(credential_class : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"facility_code:String-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code","return_type":"String","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"args_string":"(facility_code : String)","args_html":"(facility_code : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"maximum_number:String|Nil-instance-method","name":"maximum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number","return_type":"String | ::Nil","visibility":"Public","body":"@maximum_number"}},{"html_id":"maximum_number=(maximum_number:String|Nil)-instance-method","name":"maximum_number=","abstract":false,"args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"args_string":"(maximum_number : String | Nil)","args_html":"(maximum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number=","args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@maximum_number = maximum_number"}},{"html_id":"minimum_number:String|Nil-instance-method","name":"minimum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number","return_type":"String | ::Nil","visibility":"Public","body":"@minimum_number"}},{"html_id":"minimum_number=(minimum_number:String|Nil)-instance-method","name":"minimum_number=","abstract":false,"args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"args_string":"(minimum_number : String | Nil)","args_html":"(minimum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number=","args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@minimum_number = minimum_number"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/DoorDetails","path":"Gallagher/DoorDetails.html","kind":"class","full_name":"Gallagher::DoorDetails","name":"DoorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L38"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L36"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/Event","path":"Gallagher/Event.html","kind":"struct","full_name":"Gallagher::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L227"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L228"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card:Card|Nil-instance-method","name":"card","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L238"},"def":{"name":"card","return_type":"Card | ::Nil","visibility":"Public","body":"@card"}},{"html_id":"cardholder:IdName|Nil-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L239"},"def":{"name":"cardholder","return_type":"IdName | ::Nil","visibility":"Public","body":"@cardholder"}},{"html_id":"group:IdName-instance-method","name":"group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L230"},"def":{"name":"group","return_type":"IdName","visibility":"Public","body":"@group"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L234"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"matching_type?(types:Array(Int32)|Nil)-instance-method","name":"matching_type?","abstract":false,"args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"args_string":"(types : Array(Int32) | Nil)","args_html":"(types : Array(Int32) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L241"},"def":{"name":"matching_type?","args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"visibility":"Public","body":"if types\nelse\n return true\nend\ntypes.map(&.to_s).includes?(type.id)\n"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L236"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"source:IdName-instance-method","name":"source","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L232"},"def":{"name":"source","return_type":"IdName","visibility":"Public","body":"@source"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L235"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:IdName-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L231"},"def":{"name":"type","return_type":"IdName","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Gallagher/Events","path":"Gallagher/Events.html","kind":"struct","full_name":"Gallagher::Events","name":"Events","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L247"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L248"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(Event)-instance-method","name":"events","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L250"},"def":{"name":"events","return_type":"Array(Event)","visibility":"Public","body":"@events"}},{"html_id":"update_url-instance-method","name":"update_url","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L253"},"def":{"name":"update_url","visibility":"Public","body":"updates[:href]"}},{"html_id":"updates:NamedTuple(href:String)-instance-method","name":"updates","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L251"},"def":{"name":"updates","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@updates"}}]},{"html_id":"drivers/Gallagher/IdName","path":"Gallagher/IdName.html","kind":"struct","full_name":"Gallagher::IdName","name":"IdName","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L223"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L224"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Gallagher/Invitation","path":"Gallagher/Invitation.html","kind":"class","full_name":"Gallagher::Invitation","name":"Invitation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"mobile=(mobile:String|Nil)-instance-method","name":"mobile=","abstract":false,"args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"args_string":"(mobile : String | Nil)","args_html":"(mobile : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile=","args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mobile = mobile"}},{"html_id":"single_factor_only:Bool|Nil-instance-method","name":"single_factor_only","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@single_factor_only"}},{"html_id":"single_factor_only=(single_factor_only:Bool|Nil)-instance-method","name":"single_factor_only=","abstract":false,"args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"args_string":"(single_factor_only : Bool | Nil)","args_html":"(single_factor_only : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only=","args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@single_factor_only = single_factor_only"}},{"html_id":"status:String|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status","return_type":"String | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"args_string":"(status : String | Nil)","args_html":"(status : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/Gallagher/PDF","path":"Gallagher/PDF.html","kind":"class","full_name":"Gallagher::PDF","name":"PDF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"doc":"Personal Data Field","summary":"

Personal Data Field

","constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L16"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default:String|Nil-instance-method","name":"default","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default","return_type":"String | ::Nil","visibility":"Public","body":"@default"}},{"html_id":"default=(default:String|Nil)-instance-method","name":"default=","abstract":false,"args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"args_string":"(default : String | Nil)","args_html":"(default : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default=","args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default = default"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"required:Bool|Nil-instance-method","name":"required","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required","return_type":"Bool | ::Nil","visibility":"Public","body":"@required"}},{"html_id":"required=(required:Bool|Nil)-instance-method","name":"required=","abstract":false,"args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"args_string":"(required : Bool | Nil)","args_html":"(required : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required=","args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@required = required"}},{"html_id":"server_display_name:String|Nil-instance-method","name":"server_display_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_display_name"}},{"html_id":"server_display_name=(server_display_name:String|Nil)-instance-method","name":"server_display_name=","abstract":false,"args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"args_string":"(server_display_name : String | Nil)","args_html":"(server_display_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name=","args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_display_name = server_display_name"}},{"html_id":"unique:Bool|Nil-instance-method","name":"unique","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique","return_type":"Bool | ::Nil","visibility":"Public","body":"@unique"}},{"html_id":"unique=(unique:Bool|Nil)-instance-method","name":"unique=","abstract":false,"args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"args_string":"(unique : Bool | Nil)","args_html":"(unique : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique=","args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@unique = unique"}}]},{"html_id":"drivers/Gallagher/RestAPI","path":"Gallagher/RestAPI.html","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"instance_methods":[{"html_id":"cardholder_exists?(filter:String)-instance-method","name":"cardholder_exists?","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L343"},"def":{"name":"cardholder_exists?","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"!(query_cardholders(filter)).empty?"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L110"},"def":{"name":"connected","visibility":"Public","body":"query_endpoints"}},{"html_id":"create_cardholder(first_name:String,last_name:String,description:String=\"acardholder\",authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"create_cardholder","doc":"#\nCreate a new cardholder.\n@param first_name [String] The first name of the new cardholder. Either this or last name is required (but we should assume both are for most instances).\n@param last_name [String] The last name of the new cardholder. Either this or first name is required (but we should assume both are for most instances).\n@option options [String] :division The division to add the cardholder to. This is required when making the request to create the cardholder but if none is passed the `default_division` is used.\n@option options [Hash] :pdfs A hash containing all PDFs to add to the user in the form `{ some_pdf_name: some_pdf_value, another_pdf_name: another_pdf_value }`.\n@option options [Array] :cards An array of cards to be added to this cardholder which can include both virtual and physical cards.\n@option options [Array] :access_groups An array of access groups to add this cardholder to. These may include `from` and `until` fields to dictate temporary access.\n@option options [Array] :competencies An array of competencies to add this cardholder to.\n@return [Hash] The cardholder that was created.","summary":"

\n \n \nCreate a new cardholder.

","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(first_name : String, last_name : String, description : String = \"a cardholder\", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(first_name : String, last_name : String, description : String = "a cardholder", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L257"},"def":{"name":"create_cardholder","args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"short_name || (short_name = \"#{first_name} #{last_name}\")\nshort_name = short_name[0..15]\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, cards, access_groups, division_href || @default_division.not_nil!)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = post(@cardholders_endpoint, headers: @headers, body: payload)\nCardholder.from_json(process(response))\n"}},{"html_id":"delete_card(href:String)-instance-method","name":"delete_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L338"},"def":{"name":"delete_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = delete(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"failed to delete card #{href}\")\nend\n"}},{"html_id":"delete_href(href:String)-instance-method","name":"delete_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L425"},"def":{"name":"delete_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"delete_card(href)"}},{"html_id":"disable_card(href:String)-instance-method","name":"disable_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L331"},"def":{"name":"disable_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"uri = get_path(href)\ncardholder_id = (uri.split('/'))[-3]\ncard = Card.new(uri, {value: @disabled_card_value, type: nil.as(String | ::Nil)})\nupdate_cardholder(cardholder_id, update_cards: [card])\n"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":465,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L465"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"doors.map do |d|\n Door.new(d.id, d.name)\nend"}},{"html_id":"doors-instance-method","name":"doors","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L455"},"def":{"name":"doors","visibility":"Public","body":"response = get(@doors_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\n(NamedTuple(results: Array(DoorDetails)).from_json(response.body))[:results]\n"}},{"html_id":"get_access_group(id:String)-instance-method","name":"get_access_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L354"},"def":{"name":"get_access_group","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"access group request failed with #{response.status_code}\\n#{response.body}\")\nend\nAccessGroup.from_json(response.body)\n"}},{"html_id":"get_access_group_members(id:String)-instance-method","name":"get_access_group_members","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L368"},"def":{"name":"get_access_group_members","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}/cardholders\", headers: @headers)\nif response.success?\nelse\n raise(\"access group members request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroupMembership, response.body)\n"}},{"html_id":"get_access_groups(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_access_groups","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L360"},"def":{"name":"get_access_groups","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@access_groups_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"access groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroup, response.body)\n"}},{"html_id":"get_base64_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_base64_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L209"},"def":{"name":"get_base64_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nBase64.strict_encode(response.body)\n"}},{"html_id":"get_card_type(id:String|Int32|Nil=nil)-instance-method","name":"get_card_type","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"args_string":"(id : String | Int32 | Nil = nil)","args_html":"(id : String | Int32 | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L240"},"def":{"name":"get_card_type","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"visibility":"Public","body":"card = (id || @default_card_type) || (raise(\"no default card type provided\"))\nresponse = get(\"#{@card_types_endpoint}/#{card}\", headers: @headers)\nif response.success?\nelse\n raise(\"card type request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardType.from_json(response.body)\n"}},{"html_id":"get_cardholder(id:String)-instance-method","name":"get_cardholder","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L216"},"def":{"name":"get_cardholder","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardholder.from_json(response.body)\n"}},{"html_id":"get_division(id:String)-instance-method","name":"get_division","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L374"},"def":{"name":"get_division","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@divisions_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"division request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_divisions(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_divisions","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L380"},"def":{"name":"get_divisions","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@divisions_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"divisions request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(JSON::Any, response.body)\n"}},{"html_id":"get_event_groups-instance-method","name":"get_event_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L395"},"def":{"name":"get_event_groups","visibility":"Public","body":"response = get(\"#{@events_endpoint}/groups\", headers: @headers)\nif response.success?\nelse\n raise(\"event groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_events-instance-method","name":"get_events","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":389,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L389"},"def":{"name":"get_events","visibility":"Public","body":"response = get(@events_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"events request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_href(href:String)-instance-method","name":"get_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L419"},"def":{"name":"get_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = get(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"generic request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L203"},"def":{"name":"get_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_pdfs(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_pdfs","doc":"#\nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.\nThey will usually be for things like email address, employee ID or some other field specific to whoever is hosting the Gallagher instance.\nAllows retrieval of the PDFs used in the Gallagher instance, primarily so we can get the PDF's ID and use that to filter cardholders based on that PDF.\n\n@param name [String] The name of the PDF which we want to retrieve. This will only return one result (as the PDF names are unique).\n@return [Hash] A list of PDF results and a next link for pagination (we will generally have less than 100 PDFs so 'next' link will mostly be unused):\n@example An example response:\n {\n \"results\": [\n {\n \"name\": \"email\",\n \"id\": \"5516\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/5516\"\n },\n {\n \"name\": \"cellphone\",\n \"id\": \"9998\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/9998\",\n \"serverDisplayName\": \"Site B\"\n }\n ],\n \"next\": {\n \"href\": \"https://localhost:8904/api/personal_data_fields?pos=900&sort=id\"\n }\n }","summary":"

\n \n \nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.

","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L195"},"def":{"name":"get_pdfs","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@pdfs_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(PDF, response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nspawn do\n event_monitor\nend\nschedule.every(1.minutes) do\n query_endpoints\nend\ntransport.before_request do |req|\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L73"},"def":{"name":"on_unload","visibility":"Public","body":"@poll_events = false"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"api_key = setting(String, :api_key)\n@api_key = \"GGL-API-KEY #{api_key}\"\n@door_event_channel = (setting?(String, :door_event_channel)) || \"event\"\nnew_map = {} of String => EventMap\n((setting?(Array(EventMap), :event_mappings)) || ([] of EventMap)).each do |event|\n new_map[event.group.to_s] = event\nend\n@event_map = new_map\n@unique_pdf_name = setting(String, :unique_pdf_name)\n@default_division = setting?(String, :default_division_href)\n@default_facility_code = setting?(String, :default_facility_code)\n@default_card_type = setting?(String, :default_card_type_href)\n@default_access_group = setting?(String, :default_access_group_href)\n@disabled_card_value = (setting(::Union(String, ::Nil), :disabled_card_value)) || \"Disabled (manually)\"\n@headers = {\"Authorization\" => @api_key, \"Content-Type\" => \"application/json\"}\n"}},{"html_id":"query_card_types-instance-method","name":"query_card_types","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L234"},"def":{"name":"query_card_types","visibility":"Public","body":"response = get(@card_types_endpoint, {\"top\" => \"10000\"}, headers: @headers)\nif response.success?\nelse\n raise(\"card types request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(CardType, response.body)\n"}},{"html_id":"query_cardholders(filter:String,pdf_name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"query_cardholders","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","args_html":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L222"},"def":{"name":"query_cardholders","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"pdf_id = \"pdf_\" + (pdf_name ? (get_pdfs(pdf_name)).first.id : @fixed_pdf_id).not_nil!\nquery = {pdf_id => exact_match ? \"\\\"#{filter}\\\"\" : filter, \"top\" => \"10000\"}\nresponse = get(@cardholders_endpoint, query, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder query request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(Cardholder, response.body)\n"}},{"html_id":"query_endpoints-instance-method","name":"query_endpoints","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L127"},"def":{"name":"query_endpoints","visibility":"Public","body":"response = get(\"/api\", headers: @headers)\nif response.success?\nelse\n raise(\"endpoints request failed with #{response.status_code}\\n#{response.body}\")\nend\npayload = JSON.parse(response.body)\nlogger.debug do\n \"endpoints query returned:\\n#{payload.inspect}\"\nend\napi_version = SemanticVersion.parse((payload[\"version\"].as_s.split('.'))[0..2].join('.'))\n@cardholders_endpoint = get_path(payload[\"features\"][\"cardholders\"][\"cardholders\"][\"href\"].as_s)\n@divisions_endpoint = @cardholders_endpoint.sub(\"cardholders\", \"divisions\")\n@access_groups_endpoint = get_path(payload[\"features\"][\"accessGroups\"][\"accessGroups\"][\"href\"].as_s)\n@events_endpoint = get_path(payload[\"features\"][\"events\"][\"events\"][\"href\"].as_s)\n@doors_endpoint = get_path(payload[\"features\"][\"doors\"][\"doors\"][\"href\"].as_s)\nif api_version >= (SemanticVersion.parse(\"8.10.0\"))\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"assign\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"personalDataFields\"][\"personalDataFields\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name}, @headers)\nelse\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"cardTypes\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"items\"][\"items\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name, \"type\" => \"33\"}, @headers)\nend\nif response.success?\n logger.debug do\n \"PDFS request returned:\\n#{response.body}\"\n end\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nresults = (JSON.parse(response.body))[\"results\"].as_a\nif results.empty?\nelse\n @fixed_pdf_id = results.first[\"id\"].as_s\nend\n"}},{"html_id":"remove_cardholder_access(id:String|Nil=nil,href:String|Nil=nil)-instance-method","name":"remove_cardholder_access","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L347"},"def":{"name":"remove_cardholder_access","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"update_cardholder(id, href, authorised: false)"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/gallagher/rest_api.cr","line_number":469,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L469"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"response = post(\"#{@doors_endpoint}/#{door_id}/open\", headers: @headers)\nresponse.success?\n"}},{"html_id":"update_cardholder(id:String|Nil=nil,href:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,remove_cards:Array(Card)|Nil=nil,update_cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,remove_access_groups:Array(CardholderAccessGroup)|Nil=nil,update_access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"update_cardholder","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L284"},"def":{"name":"update_cardholder","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"url = href ? get_path(href) : \"#{@cardholders_endpoint}/#{id.not_nil!}\"\nif (cards || remove_cards) || update_cards\n card_updates = {} of String => Array(Card)\n if cards\n card_updates[\"add\"] = cards\n end\n if update_cards\n card_updates[\"update\"] = update_cards\n end\n if remove_cards\n card_updates[\"remove\"] = remove_cards\n end\nend\nif (access_groups || remove_access_groups) || update_access_groups\n groups_update = {} of String => Array(CardholderAccessGroup)\n if access_groups\n groups_update[\"add\"] = access_groups\n end\n if update_access_groups\n groups_update[\"update\"] = update_access_groups\n end\n if remove_access_groups\n groups_update[\"remove\"] = remove_access_groups\n end\nend\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, card_updates, groups_update, division_href)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = patch(url, headers: @headers, body: payload)\nresult = process(response)\nresult.presence && (Cardholder.from_json(result))\n"}}],"macros":[{"html_id":"get_results(klass,response)-macro","name":"get_results","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"args_string":"(klass, response)","args_html":"(klass, response)","location":{"filename":"src/gallagher/rest_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L401"},"def":{"name":"get_results","args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":" \n%results\n = Results(\n{{ klass }}\n).from_json \n{{ response }}\n\n \n%result_array\n = \n%results\n.results\n loop do\n \n%next_uri\n = \n%results\n.next_uri\n break unless \n%next_uri\n\n \n%results\n = Results(\n{{ klass }}\n).from_json(get_raw(\n%next_uri\n[:href]))\n \n%result_array\n.concat \n%results\n.results\n \nend\n \n%result_array\n\n \n"}}],"types":[{"html_id":"drivers/Gallagher/RestAPI/BadRequest","path":"Gallagher/RestAPI/BadRequest.html","kind":"class","full_name":"Gallagher::RestAPI::BadRequest","name":"BadRequest","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":453,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L453"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/Conflict","path":"Gallagher/RestAPI/Conflict.html","kind":"class","full_name":"Gallagher::RestAPI::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L449"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/EventMap","path":"Gallagher/RestAPI/EventMap.html","kind":"struct","full_name":"Gallagher::RestAPI::EventMap","name":"EventMap","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"},"constructors":[{"html_id":"new(group:Int32,types:Array(Int32)|Nil,action:Action)-class-method","name":"new","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"args_string":"(group : Int32, types : Array(Int32) | Nil, action : Action)","args_html":"(group : Int32, types : Array(Int32) | Nil, action : Action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"new","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"visibility":"Public","body":"_ = allocate\n_.initialize(group, types, action)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L60"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Action-instance-method","name":"action","abstract":false,"def":{"name":"action","return_type":"Action","visibility":"Public","body":"@action"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@group.clone, @types.clone, @action.clone)"}},{"html_id":"copy_with(group_group=@group,types_types=@types,action_action=@action)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"args_string":"(group _group = @group, types _types = @types, action _action = @action)","args_html":"(group _group = @group, types _types = @types, action _action = @action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"copy_with","args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"visibility":"Public","body":"self.class.new(_group, _types, _action)"}},{"html_id":"group:Int32-instance-method","name":"group","abstract":false,"def":{"name":"group","return_type":"Int32","visibility":"Public","body":"@group"}},{"html_id":"types:Array(Int32)|Nil-instance-method","name":"types","abstract":false,"def":{"name":"types","return_type":"Array(Int32) | ::Nil","visibility":"Public","body":"@types"}}]},{"html_id":"drivers/Gallagher/RestAPI/NotFound","path":"Gallagher/RestAPI/NotFound.html","kind":"class","full_name":"Gallagher::RestAPI::NotFound","name":"NotFound","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":451,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L451"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}}]},{"html_id":"drivers/Gallagher/Results","path":"Gallagher/Results.html","kind":"class","full_name":"Gallagher::Results(ResultType)","name":"Results","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_uri:NamedTuple(href:String)|Nil-instance-method","name":"next_uri","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@next_uri"}},{"html_id":"next_uri=(next_uri:NamedTuple(href:String)|Nil)-instance-method","name":"next_uri=","abstract":false,"args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(next_uri : NamedTuple(href: String) | Nil)","args_html":"(next_uri : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri=","args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@next_uri = next_uri"}},{"html_id":"results:Array(ResultType)-instance-method","name":"results","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results","return_type":"Array(ResultType)","visibility":"Public","body":"@results"}},{"html_id":"results=(results:Array(ResultType))-instance-method","name":"results=","abstract":false,"args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"args_string":"(results : Array(ResultType))","args_html":"(results : Array(ResultType))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results=","args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"visibility":"Public","body":"@results = results"}}]}]},{"html_id":"drivers/Gantner","path":"Gantner.html","kind":"module","full_name":"Gantner","name":"Gantner","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gantner/Relaxx","path":"Gantner/Relaxx.html","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner","kind":"module","full_name":"Gantner","name":"Gantner"},"types":[{"html_id":"drivers/Gantner/Relaxx/Locker","path":"Gantner/Relaxx/Locker.html","kind":"class","full_name":"Gantner::Relaxx::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:Int32-instance-method","name":"address","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address","return_type":"Int32","visibility":"Public","body":"@address"}},{"html_id":"address=(address:Int32)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"Int32"}],"args_string":"(address : Int32)","args_html":"(address : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"Int32"}],"visibility":"Public","body":"@address = address"}},{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"card_id=(card_id:String)-instance-method","name":"card_id=","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"args_string":"(card_id : String)","args_html":"(card_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id=","args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"visibility":"Public","body":"@card_id = card_id"}},{"html_id":"group_id:String-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id","return_type":"String","visibility":"Public","body":"@group_id"}},{"html_id":"group_id=(group_id:String)-instance-method","name":"group_id=","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id=","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"@group_id = group_id"}},{"html_id":"group_name:String-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name","return_type":"String","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:String)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"args_string":"(group_name : String)","args_html":"(group_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_deleted:Bool-instance-method","name":"is_deleted","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted","return_type":"Bool","visibility":"Public","body":"@is_deleted"}},{"html_id":"is_deleted=(is_deleted:Bool)-instance-method","name":"is_deleted=","abstract":false,"args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"args_string":"(is_deleted : Bool)","args_html":"(is_deleted : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted=","args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"visibility":"Public","body":"@is_deleted = is_deleted"}},{"html_id":"is_existing:Bool-instance-method","name":"is_existing","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing","return_type":"Bool","visibility":"Public","body":"@is_existing"}},{"html_id":"is_existing=(is_existing:Bool)-instance-method","name":"is_existing=","abstract":false,"args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"args_string":"(is_existing : Bool)","args_html":"(is_existing : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing=","args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"visibility":"Public","body":"@is_existing = is_existing"}},{"html_id":"is_free:Bool-instance-method","name":"is_free","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free","return_type":"Bool","visibility":"Public","body":"@is_free"}},{"html_id":"is_free=(is_free:Bool)-instance-method","name":"is_free=","abstract":false,"args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"args_string":"(is_free : Bool)","args_html":"(is_free : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free=","args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"visibility":"Public","body":"@is_free = is_free"}},{"html_id":"last_closed:String-instance-method","name":"last_closed","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed","return_type":"String","visibility":"Public","body":"@last_closed"}},{"html_id":"last_closed=(last_closed:String)-instance-method","name":"last_closed=","abstract":false,"args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"args_string":"(last_closed : String)","args_html":"(last_closed : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed=","args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"visibility":"Public","body":"@last_closed = last_closed"}},{"html_id":"locker_mode-instance-method","name":"locker_mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L86"},"def":{"name":"locker_mode","visibility":"Public","body":"LockerMode.from_value(self.mode)"}},{"html_id":"locker_number:String-instance-method","name":"locker_number","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number","return_type":"String","visibility":"Public","body":"@locker_number"}},{"html_id":"locker_number=(locker_number:String)-instance-method","name":"locker_number=","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"args_string":"(locker_number : String)","args_html":"(locker_number : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number=","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"visibility":"Public","body":"@locker_number = locker_number"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L82"},"def":{"name":"locker_state","visibility":"Public","body":"LockerState.from_value(self.state)"}},{"html_id":"mode:Int32-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode","return_type":"Int32","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:Int32)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32)","args_html":"(mode : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerEvent","path":"Gantner/Relaxx/LockerEvent.html","kind":"enum","full_name":"Gantner::Relaxx::LockerEvent","name":"LockerEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Opened","name":"Opened","value":"0"},{"id":"Closed","name":"Closed","value":"1"},{"id":"Enabled","name":"Enabled","value":"2"},{"id":"Disabled","name":"Disabled","value":"3"},{"id":"Alarmed","name":"Alarmed","value":"4"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L96"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L93"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L95"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"enabled?-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L94"},"def":{"name":"enabled?","visibility":"Public","body":"self == Enabled"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L92"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerMode","path":"Gantner/Relaxx/LockerMode.html","kind":"enum","full_name":"Gantner::Relaxx::LockerMode","name":"LockerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"NotExisting","name":"NotExisting","value":"1"},{"id":"FreeLocker","name":"FreeLocker","value":"2"},{"id":"PersonalLocker","name":"PersonalLocker","value":"3"},{"id":"ReservableLocker","name":"ReservableLocker","value":"4"},{"id":"DynamicLocker","name":"DynamicLocker","value":"5"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"dynamic_locker?-instance-method","name":"dynamic_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L39"},"def":{"name":"dynamic_locker?","visibility":"Public","body":"self == DynamicLocker"}},{"html_id":"free_locker?-instance-method","name":"free_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L36"},"def":{"name":"free_locker?","visibility":"Public","body":"self == FreeLocker"}},{"html_id":"not_existing?-instance-method","name":"not_existing?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L35"},"def":{"name":"not_existing?","visibility":"Public","body":"self == NotExisting"}},{"html_id":"personal_locker?-instance-method","name":"personal_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L37"},"def":{"name":"personal_locker?","visibility":"Public","body":"self == PersonalLocker"}},{"html_id":"reservable_locker?-instance-method","name":"reservable_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L38"},"def":{"name":"reservable_locker?","visibility":"Public","body":"self == ReservableLocker"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L34"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerNotification","path":"Gantner/Relaxx/LockerNotification.html","kind":"class","full_name":"Gantner::Relaxx::LockerNotification","name":"LockerNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"area_name:String-instance-method","name":"area_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name","return_type":"String","visibility":"Public","body":"@area_name"}},{"html_id":"area_name=(area_name:String)-instance-method","name":"area_name=","abstract":false,"args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"args_string":"(area_name : String)","args_html":"(area_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name=","args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"visibility":"Public","body":"@area_name = area_name"}},{"html_id":"event:Int32-instance-method","name":"event","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event","return_type":"Int32","visibility":"Public","body":"@event"}},{"html_id":"event=(event:Int32)-instance-method","name":"event=","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Int32"}],"args_string":"(event : Int32)","args_html":"(event : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event=","args":[{"name":"event","external_name":"event","restriction":"Int32"}],"visibility":"Public","body":"@event = event"}},{"html_id":"group_name:Bool-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name","return_type":"Bool","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:Bool)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"args_string":"(group_name : Bool)","args_html":"(group_name : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"locker:Locker-instance-method","name":"locker","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker","return_type":"Locker","visibility":"Public","body":"@locker"}},{"html_id":"locker=(locker:Locker)-instance-method","name":"locker=","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"args_string":"(locker : Locker)","args_html":"(locker : Locker)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker=","args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"visibility":"Public","body":"@locker = locker"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L129"},"def":{"name":"locker_state","visibility":"Public","body":"self.locker.state"}},{"html_id":"prev_state:Int32-instance-method","name":"prev_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state","return_type":"Int32","visibility":"Public","body":"@prev_state"}},{"html_id":"prev_state=(prev_state:Int32)-instance-method","name":"prev_state=","abstract":false,"args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"args_string":"(prev_state : Int32)","args_html":"(prev_state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state=","args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"visibility":"Public","body":"@prev_state = prev_state"}},{"html_id":"previous_state-instance-method","name":"previous_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L133"},"def":{"name":"previous_state","visibility":"Public","body":"LockerState.from_value(self.prev_state)"}},{"html_id":"time:String-instance-method","name":"time","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time","return_type":"String","visibility":"Public","body":"@time"}},{"html_id":"time=(time:String)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"String"}],"args_string":"(time : String)","args_html":"(time : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"String"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerState","path":"Gantner/Relaxx/LockerState.html","kind":"enum","full_name":"Gantner::Relaxx::LockerState","name":"LockerState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"Disabled","name":"Disabled","value":"1"},{"id":"Free","name":"Free","value":"2"},{"id":"InUse","name":"InUse","value":"3"},{"id":"Locked","name":"Locked","value":"4"},{"id":"Alarmed","name":"Alarmed","value":"5"},{"id":"InUseExpired","name":"InUseExpired","value":"6"},{"id":"Conflict","name":"Conflict","value":"7"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L28"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"conflict?-instance-method","name":"conflict?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L30"},"def":{"name":"conflict?","visibility":"Public","body":"self == Conflict"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L24"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"free?-instance-method","name":"free?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L25"},"def":{"name":"free?","visibility":"Public","body":"self == Free"}},{"html_id":"in_use?-instance-method","name":"in_use?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L26"},"def":{"name":"in_use?","visibility":"Public","body":"self == InUse"}},{"html_id":"in_use_expired?-instance-method","name":"in_use_expired?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L29"},"def":{"name":"in_use_expired?","visibility":"Public","body":"self == InUseExpired"}},{"html_id":"locked?-instance-method","name":"locked?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L27"},"def":{"name":"locked?","visibility":"Public","body":"self == Locked"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L23"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/ProtocolJSON","path":"Gantner/Relaxx/ProtocolJSON.html","kind":"class","full_name":"Gantner::Relaxx::ProtocolJSON","name":"ProtocolJSON","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"close_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"close_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L115"},"def":{"name":"close_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(false, locker_number, locker_group)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"self[\"authenticated\"] = @authenticated = false\nrequest_auth_string\nschedule.every(40.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n @authenticated ? keep_alive : request_auth_string\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L58"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L62"},"def":{"name":"keep_alive","visibility":"Public","body":"send_frame({Caption: \"KeepAliveRequest\", Id: new_request_id}, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[3])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@password = (setting?(String, :password)) || \"GAT\""}},{"html_id":"open_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"open_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L111"},"def":{"name":"open_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(true, locker_number, locker_group)"}},{"html_id":"query_lockers(free_only:Bool=false)-instance-method","name":"query_lockers","abstract":false,"args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"args_string":"(free_only : Bool = false)","args_html":"(free_only : Bool = false)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L147"},"def":{"name":"query_lockers","args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"visibility":"Public","body":"send_frame({Caption: \"GetLockersRequest\", Id: new_request_id, FreeLockersOnly: free_only, PersonalLockersOnly: false})"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L156"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data))[1..-2]\nlogger.debug do\n \"Gantner Relaxx sent: #{data}\"\nend\njson = JSON.parse(data)\nif json[\"IsNotification\"].as_bool\n return parse_notify(json[\"Caption\"].as_s, data)\nend\nresult = Result.from_json(json[\"Result\"].to_json)\nif result.cancelled\n return task.try(&.abort(\"request cancelled, #{result.code}: #{result.text}\"))\nend\nif !result.successful\n return task.try(&.abort(\"request failed, #{result.code}: #{result.text}\"))\nend\ncase json[\"Caption\"].as_s\nwhen \"AuthenticationResponseA\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n return task.try(&.success)\n end\n login(json[\"AuthenticationString\"].as_s)\nwhen \"AuthenticationResponseB\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n logger.debug do\n \"authentication success\"\n end\n if @locker_ids.empty?\n query_lockers\n end\n else\n logger.warn do\n \"authentication failure - please check credentials\"\n end\n end\nwhen \"GetLockersResponse\"\n lockers = Array(Locker).from_json(json[\"Lockers\"].to_json)\n lockers.each do |locker|\n locker_id = locker.id\n @locker_ids << locker_id\n if locker.locker_state != LockerState::Free\n @lockers_in_use << locker_id\n self[\"locker_#{locker_id}\"] = locker.card_id\n else\n @lockers_in_use.delete(locker_id)\n end\n end\n self[:locker_ids] = @locker_ids\n self[:lockers_in_use] = @lockers_in_use\nwhen \"CommandNotSupportedResponse\"\n logger.warn do\n \"Command not supported!\"\n end\n return task.try(&.abort(\"Command not supported!\"))\nend\ntask.try(&.success)\n"}},{"html_id":"request_auth_string-instance-method","name":"request_auth_string","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L69"},"def":{"name":"request_auth_string","visibility":"Public","body":"send_frame({Caption: \"AuthenticationRequestA\", Id: new_request_id}, priority: 9998)"}},{"html_id":"set_open_state(open:Bool,locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"set_open_state","abstract":false,"args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","args_html":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L119"},"def":{"name":"set_open_state","args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"action = open ? \"0\" : \"1\"\ntask = if locker_number.includes?(\"-\")\n send_frame({Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerId: locker_number})\nelse\n request = {Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerNumber: locker_number}\n if locker_group\n send_frame(request.merge({LockerGroupId: locker_group}))\n else\n send_frame(request)\n end\nend\ntask\n"}}]},{"html_id":"drivers/Gantner/Relaxx/Result","path":"Gantner/Relaxx/Result.html","kind":"class","full_name":"Gantner::Relaxx::Result","name":"Result","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancelled:Bool-instance-method","name":"cancelled","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled","return_type":"Bool","visibility":"Public","body":"@cancelled"}},{"html_id":"cancelled=(cancelled:Bool)-instance-method","name":"cancelled=","abstract":false,"args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"args_string":"(cancelled : Bool)","args_html":"(cancelled : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled=","args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"visibility":"Public","body":"@cancelled = cancelled"}},{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"successful:Bool-instance-method","name":"successful","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful","return_type":"Bool","visibility":"Public","body":"@successful"}},{"html_id":"successful=(successful:Bool)-instance-method","name":"successful=","abstract":false,"args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"args_string":"(successful : Bool)","args_html":"(successful : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful=","args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"visibility":"Public","body":"@successful = successful"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}}]}]}]},{"html_id":"drivers/GlobalCache","path":"GlobalCache.html","kind":"module","full_name":"GlobalCache","name":"GlobalCache","abstract":false,"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GlobalCache/Gc100","path":"GlobalCache/Gc100.html","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\""}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"}],"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"@relay_config = {} of String => Hash(Int32, String)\n@port_config = {} of String => Tuple(String, Int32)\nself[:config_indexed] = false\nschedule.clear\nschedule.every(10.seconds, true) do\n logger.debug do\n \"-- Polling GC100\"\n end\n if self[:config_indexed].as_bool\n else\n get_devices\n end\n do_send(\"get_NET,0:1\", priority: 0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L40"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_devices-instance-method","name":"get_devices","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L44"},"def":{"name":"get_devices","visibility":"Public","body":"do_send(\"getdevices\")"}},{"html_id":"ir(index:Int32,command:String,**options)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String, **options)","args_html":"(index : Int32, command : String, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L59"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"sendir,1:#{index},#{command}\", **options)"}},{"html_id":"ir_status?(index:Int32,**options)-instance-method","name":"ir_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L88"},"def":{"name":"ir_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\nself[:num_relays] = 0\nself[:num_ir] = 0\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/global_cache/gc_100.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L97"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nlogger.debug do\n \"GlobalCache sent #{data}\"\nend\ndata = data.split(',')\ntask_name = task.try(&.name) || \"unknown\"\ncase data[0]\nwhen \"state\", \"statechange\"\n type, index = self[:port_config][data[1]]\n self[\"#{type}#{index}\"] = data[2] == \"1\"\nwhen \"device\"\n address = data[1]\n number, type = data[2].split(' ')\n type = type.downcase\n __temp_221 = type\n @relay_config[__temp_221]? || (@relay_config[__temp_221] = {} of Int32 => String)\n current = @relay_config[type].size\n (current..((current + number.to_i) - 1)).each_with_index(1) do |i, dev_index|\n port = \"#{address}:#{dev_index}\"\n @relay_config[type][i] = port\n @port_config[port] = {type, i}\n end\n return task.try(&.success)\nwhen \"endlistdevices\"\n if @relay_config[\"relay\"]?\n self[:num_relays] = @relay_config[\"relay\"].size\n end\n if @relay_config[\"relaysensor\"]?\n @relay_config[\"relaysensor\"][1] = \"1:2\"\n @relay_config[\"relaysensor\"][2] = \"1:3\"\n @relay_config[\"relaysensor\"][3] = \"1:4\"\n self[:num_relays] = @relay_config[\"relaysensor\"].size\n end\n if @relay_config[\"ir\"]?\n self[:num_ir] = @relay_config[\"ir\"].size\n end\n self[:relay_config] = @relay_config\n self[:port_config] = @port_config\n logger.debug do\n \"self[:relay_config] is #{self[:relay_config]}\"\n end\n logger.debug do\n \"self[:port_config] is #{self[:port_config]}\"\n end\n @relay_config = {} of String => Hash(Int32, String)\n @port_config = {} of String => Tuple(String, Int32)\n self[:config_indexed] = true\n return task.try(&.success)\nend\nif data.size == 1\n error = case (data[0].split(' '))[1].to_i\n when 1\n \"Command was missing the carriage return delimiter\"\n when 2\n \"Invalid module address when looking for version\"\n when 3\n \"Invalid module address\"\n when 4\n \"Invalid connector address\"\n when 5\n \"Connector address 1 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 6\n \"Connector address 2 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 7\n \"Connector address 3 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 8\n \"Offset is set to an even transition number, but should be set to an odd transition number in the IR command\"\n when 9\n \"Maximum number of transitions exceeded (256 total on/off transitions allowed)\"\n when 10\n \"Number of transitions in the IR command is not even (the same number of on and off transitions is required)\"\n when 11\n \"Contact closure command sent to a module that is not a relay\"\n when 12\n \"Missing carriage return. All commands must end with a carriage return\"\n when 13\n \"State was requested of an invalid connector address, or the connector is programmed as IR out and not sensor in.\"\n when 14\n \"Command sent to the unit is not supported by the GC-100\"\n when 15\n \"Maximum number of IR transitions exceeded\"\n when 16\n \"Invalid number of IR transitions (must be an even number)\"\n when 21\n \"Attempted to send an IR command to a non-IR module\"\n when 23\n \"Command sent is not supported by this type of module\"\n else\n \"Unknown error\"\n end\n return task.try(&.abort(\"GlobalCache error for command #{task_name}: #{error}\"))\nend\ntask.try(&.success)\n"}},{"html_id":"relay(state:Bool,index:Int32=0,**options)-instance-method","name":"relay","doc":"`**options` here will be passed to the `task` to allow for different priorities","summary":"

**options here will be passed to the task to allow for different priorities

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(state : Bool, index : Int32 = 0, **options)","args_html":"(state : Bool, index : Int32 = 0, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L48"},"def":{"name":"relay","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n relays = (self[:relay_config][\"relay\"]? || self[:relay_config][\"relaysensor\"]?).not_nil!.as_h\n logger.debug do\n \"relays = #{relays}\"\n end\n connector = relays[index.to_s]\n do_send(\"setstate,#{connector},#{state ? 1 : 0}\", **options)\nelse\n logger.warn do\n \"Attempted to set relay on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"relay_status?(index:Int32,**options)-instance-method","name":"relay_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L79"},"def":{"name":"relay_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n connector = self[:relay_config][\"relay\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"set_ir(index:Int32,mode:IrMode,**options)-instance-method","name":"set_ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"args_string":"(index : Int32, mode : IrMode, **options)","args_html":"(index : Int32, mode : IrMode, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L70"},"def":{"name":"set_ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"set_IR,#{connector},#{mode}\", **options)\nelse\n logger.warn do\n \"Attempted to set IR mode on GlobalCache that does not exist: #{index}\"\n end\nend"}}],"types":[{"html_id":"drivers/GlobalCache/Gc100/IrMode","path":"GlobalCache/Gc100/IrMode.html","kind":"enum","full_name":"GlobalCache::Gc100::IrMode","name":"IrMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L63"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IR","name":"IR","value":"0"},{"id":"SENSOR","name":"SENSOR","value":"1"},{"id":"SENSOR_NOTIFY","name":"SENSOR_NOTIFY","value":"2"},{"id":"IR_NOCARRIER","name":"IR_NOCARRIER","value":"3"}],"namespace":{"html_id":"drivers/GlobalCache/Gc100","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100"},"instance_methods":[{"html_id":"ir?-instance-method","name":"ir?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L64"},"def":{"name":"ir?","visibility":"Public","body":"self == IR"}},{"html_id":"ir_nocarrier?-instance-method","name":"ir_nocarrier?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L67"},"def":{"name":"ir_nocarrier?","visibility":"Public","body":"self == IR_NOCARRIER"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L65"},"def":{"name":"sensor?","visibility":"Public","body":"self == SENSOR"}},{"html_id":"sensor_notify?-instance-method","name":"sensor_notify?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L66"},"def":{"name":"sensor_notify?","visibility":"Public","body":"self == SENSOR_NOTIFY"}}]}]},{"html_id":"drivers/GlobalCache/IRTV","path":"GlobalCache/IRTV.html","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"channel(id:String,ir_set:String=\"\",ir_index:Int32=0)-instance-method","name":"channel","doc":"Actually send the IR commands, via the globalcache","summary":"

Actually send the IR commands, via the globalcache

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"args_string":"(id : String, ir_set : String = \"\", ir_index : Int32 = 0)","args_html":"(id : String, ir_set : String = "", ir_index : Int32 = 0)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L150"},"def":{"name":"channel","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"visibility":"Public","body":"if ir_set.presence\nelse\n ir_set = @default_ir_set\nend\nif ir_index == 0\n ir_index = @default_ir_index\nend\nresult = @channel_lookup[id].ir_commands.map do |ir_command_name|\n (system[@globalcache].ir(ir_index, @ir_commands[ir_set][ir_command_name])).get\n sleep(500.milliseconds)\nend\nself[:current_channel] = id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L119"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L123"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache = setting(String, :globalcache_module)\n@default_ir_set = setting(String, :default_ir_set)\n@default_ir_index = setting(Int32, :default_ir_index)\n@channels = setting(Array(Channel), :channel_details)\nupdated_channel_lookup = {} of String => Channel\n@channels.each do |channel|\n updated_channel_lookup[channel.channel] = channel\nend\n@channel_lookup = updated_channel_lookup\nglobalcache_ir_sets = setting(Hash(String, String), :globalcache_ir_sets)\nupdated_ir_commands = {} of String => Hash(String, String)\nglobalcache_ir_sets.each do |device, all_commands|\n updated_ir_commands[device] = parse_all_commands(all_commands)\nend\n@ir_commands = updated_ir_commands\nself[:channel_details] = @channels\nself[:ir_commands] = @ir_commands\n"}}],"types":[{"html_id":"drivers/GlobalCache/IRTV/Channel","path":"GlobalCache/IRTV/Channel.html","kind":"class","full_name":"GlobalCache::IRTV::Channel","name":"Channel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GlobalCache/IRTV","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L87"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L86"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"ir_commands:Array(String)-instance-method","name":"ir_commands","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L88"},"def":{"name":"ir_commands","return_type":"Array(String)","visibility":"Public","body":"@ir_commands"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L85"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/GlobalCache/ProjectorScreen","path":"GlobalCache/ProjectorScreen.html","kind":"class","full_name":"GlobalCache::ProjectorScreen","name":"ProjectorScreen","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"down-instance-method","name":"down","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L54"},"def":{"name":"down","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_down)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache_module = (setting(String, :globalcache_module)) || \"DigitalIO_1\"\n@globalcache_relay_method = (setting(String, :globalcache_relay_method)) || \"pulse\"\n@globalcache_relay_index_down = (setting(Int32, :globalcache_relay_index_down)) || 0\n@globalcache_relay_index_up = (setting(Int32, :globalcache_relay_index_up)) || 1\n@globalcache_relay_pulse_milliseconds = (setting(Int32, :globalcache_relay_pulse_milliseconds)) || 1000\n"}},{"html_id":"up-instance-method","name":"up","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L43"},"def":{"name":"up","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_up)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}}]}]},{"html_id":"drivers/GoBright","path":"GoBright.html","kind":"module","full_name":"GoBright","name":"GoBright","abstract":false,"locations":[{"filename":"src/gobright/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GoBright/AccessToken","path":"GoBright/AccessToken.html","kind":"struct","full_name":"GoBright::AccessToken","name":"AccessToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L195"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"expires_at:Time-instance-method","name":"expires_at","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L198"},"def":{"name":"expires_at","return_type":"Time","visibility":"Public","body":"expires_in.seconds.from_now"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L196"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}}]},{"html_id":"drivers/GoBright/Amenity","path":"GoBright/Amenity.html","kind":"struct","full_name":"GoBright::Amenity","name":"Amenity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L89"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L90"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_for_desk:Bool|Nil-instance-method","name":"available_for_desk","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L101"},"def":{"name":"available_for_desk","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_desk"}},{"html_id":"available_for_parking:Bool|Nil-instance-method","name":"available_for_parking","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L104"},"def":{"name":"available_for_parking","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_parking"}},{"html_id":"available_for_room:Bool|Nil-instance-method","name":"available_for_room","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L98"},"def":{"name":"available_for_room","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_room"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L93"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L94"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L92"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"order:Int32|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L95"},"def":{"name":"order","return_type":"Int32 | ::Nil","visibility":"Public","body":"@order"}}]},{"html_id":"drivers/GoBright/API","path":"GoBright/API.html","kind":"class","full_name":"GoBright::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"bookings(starting:Int64,ending:Int64,location_id:String|Array(String)|Nil=nil,space_id:String|Array(String)|Nil=nil)-instance-method","name":"bookings","doc":"the list of booking occurances in the time period specified","summary":"

the list of booking occurances in the time period specified

","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","args_html":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L109"},"def":{"name":"bookings","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"1000\")\n form.add(\"include\", \"spaces,organizer,attendees\")\n form.add(\"start\", (Time.unix(starting)).to_rfc3339)\n form.add(\"end\", (Time.unix(ending)).to_rfc3339)\n if location_id\n location_ids = location_id.is_a?(Array) ? location_id : [location_id]\n location_ids.each do |loc|\n form.add(\"locationIds\", loc)\n end\n end\n if space_id\n space_ids = space_id.is_a?(Array) ? space_id : [space_id]\n space_ids.each do |space|\n form.add(\"spaceIds\", space)\n end\n end\nend\nArray(Occurrence).from_json(fetch(\"/api/v2.0/bookings/occurrences?#{params}\"))\n"}},{"html_id":"fetch(location:String):String-instance-method","name":"fetch","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/gobright/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L29"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"next_page = location\nappend = location.includes?('?') ? '&' : '?'\nString.build do |str|\n str << \"[\"\n loop do\n logger.debug do\n \"requesting: #{next_page}\"\n end\n response = get(next_page, headers: HTTP::Headers {\"Authorization\" => get_token, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = begin\n Response.from_json(response.body)\n rescue error : JSON::SerializableError\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(error)\n end\n if data = payload.data || payload.items\n str << data.strip[1..-2]\n end\n continuation = payload.paging.try(&.token)\n total_items = payload.paging.try(&.total)\n if continuation\n next_page = \"#{location}#{append}continuationToken=#{continuation}\"\n else\n if total_items\n uri = URI.parse(next_page)\n params = uri.query_params\n skip = params[\"pagingSkip\"]?.try(&.to_i) || 0\n taking = params[\"pagingTake\"]?.try(&.to_i) || 100\n if (skip + taking) >= total_items\n break\n end\n params[\"pagingSkip\"] = (skip + taking).to_s\n uri.query_params = params\n next_page = uri.to_s\n else\n break\n end\n end\n str << \",\"\n end\n str << \"]\"\nend\n"}},{"html_id":"live_occupancy(location:String,type:SpaceType|Nil=nil)-instance-method","name":"live_occupancy","doc":"the occupancy status of the spaces","summary":"

the occupancy status of the spaces

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"args_string":"(location : String, type : SpaceType | Nil = nil)","args_html":"(location : String, type : SpaceType | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L132"},"def":{"name":"live_occupancy","args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n form.add(\"filterLocationId\", location)\n if type\n form.add(\"filterSpaceType\", type.value.to_s)\n end\nend\nArray(Occupancy).from_json(fetch(\"/api/v2.0/occupancy/space/live?#{params}\"))\n"}},{"html_id":"locations-instance-method","name":"locations","doc":"the list of buildings, levels, areas etc","summary":"

the list of buildings, levels, areas etc

","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L88"},"def":{"name":"locations","visibility":"Public","body":"Array(Location).from_json(fetch(\"/api/v2.0/locations?pagingTake=100\"))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}},{"html_id":"spaces(location:String|Nil=nil,types:SpaceType|Array(SpaceType)|Nil=nil)-instance-method","name":"spaces","doc":"a list of spaces in the locations. rooms, desks and parking","summary":"

a list of spaces in the locations.

","abstract":false,"args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"args_string":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","args_html":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L93"},"def":{"name":"spaces","args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n if location.presence.nil?\n else\n form.add(\"LocationId\", location.to_s)\n end\n if types\n types = types.is_a?(Array) ? types : [types]\n types.each do |type|\n form.add(\"SpaceTypes\", type.value.to_s)\n end\n end\nend\nArray(Space).from_json(fetch(\"/api/v2.0/spaces?#{params}\"))\n"}}]},{"html_id":"drivers/GoBright/ApprovalState","path":"GoBright/ApprovalState.html","kind":"enum","full_name":"GoBright::ApprovalState","name":"ApprovalState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L203"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Inactive","name":"Inactive","value":"0"},{"id":"NeedsApproval","name":"NeedsApproval","value":"1"},{"id":"Approved","name":"Approved","value":"2"},{"id":"Rejected","name":"Rejected","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"approved?-instance-method","name":"approved?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L206"},"def":{"name":"approved?","visibility":"Public","body":"self == Approved"}},{"html_id":"inactive?-instance-method","name":"inactive?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L204"},"def":{"name":"inactive?","visibility":"Public","body":"self == Inactive"}},{"html_id":"needs_approval?-instance-method","name":"needs_approval?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L205"},"def":{"name":"needs_approval?","visibility":"Public","body":"self == NeedsApproval"}},{"html_id":"rejected?-instance-method","name":"rejected?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L207"},"def":{"name":"rejected?","visibility":"Public","body":"self == Rejected"}}]},{"html_id":"drivers/GoBright/Attendee","path":"GoBright/Attendee.html","kind":"struct","full_name":"GoBright::Attendee","name":"Attendee","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L222"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"email_address=(email_address:String|Nil)-instance-method","name":"email_address=","abstract":false,"args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"args_string":"(email_address : String | Nil)","args_html":"(email_address : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L222"},"def":{"name":"email_address=","args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email_address = email_address"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L223"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L223"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/GoBright/BookingType","path":"GoBright/BookingType.html","kind":"enum","full_name":"GoBright::BookingType","name":"BookingType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L210"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"BookingOnRoom","name":"BookingOnRoom","value":"0"},{"id":"ServiceOnly","name":"ServiceOnly","value":"1"},{"id":"BookingOnDesk","name":"BookingOnDesk","value":"2"},{"id":"BookingAsTeam","name":"BookingAsTeam","value":"3"},{"id":"BookingOnParking","name":"BookingOnParking","value":"4"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"booking_as_team?-instance-method","name":"booking_as_team?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L214"},"def":{"name":"booking_as_team?","visibility":"Public","body":"self == BookingAsTeam"}},{"html_id":"booking_on_desk?-instance-method","name":"booking_on_desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L213"},"def":{"name":"booking_on_desk?","visibility":"Public","body":"self == BookingOnDesk"}},{"html_id":"booking_on_parking?-instance-method","name":"booking_on_parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L215"},"def":{"name":"booking_on_parking?","visibility":"Public","body":"self == BookingOnParking"}},{"html_id":"booking_on_room?-instance-method","name":"booking_on_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L211"},"def":{"name":"booking_on_room?","visibility":"Public","body":"self == BookingOnRoom"}},{"html_id":"service_only?-instance-method","name":"service_only?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L212"},"def":{"name":"service_only?","visibility":"Public","body":"self == ServiceOnly"}}]},{"html_id":"drivers/GoBright/DeskPeriod","path":"GoBright/DeskPeriod.html","kind":"struct","full_name":"GoBright::DeskPeriod","name":"DeskPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L67"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L64"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L55"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L61"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L58"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Location","path":"GoBright/Location.html","kind":"struct","full_name":"GoBright::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L107"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_desk_periods:DeskPeriod|Nil-instance-method","name":"booking_desk_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L142"},"def":{"name":"booking_desk_periods","return_type":"DeskPeriod | ::Nil","visibility":"Public","body":"@booking_desk_periods"}},{"html_id":"booking_parking_periods:ParkingPeriod|Nil-instance-method","name":"booking_parking_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L145"},"def":{"name":"booking_parking_periods","return_type":"ParkingPeriod | ::Nil","visibility":"Public","body":"@booking_parking_periods"}},{"html_id":"full_path:String|Nil-instance-method","name":"full_path","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L130"},"def":{"name":"full_path","return_type":"String | ::Nil","visibility":"Public","body":"@full_path"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L133"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L110"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_id:String|Nil-instance-method","name":"image_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L139"},"def":{"name":"image_id","return_type":"String | ::Nil","visibility":"Public","body":"@image_id"}},{"html_id":"level:Int64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L127"},"def":{"name":"level","return_type":"Int64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L118"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name_indented:String|Nil-instance-method","name":"name_indented","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L121"},"def":{"name":"name_indented","return_type":"String | ::Nil","visibility":"Public","body":"@name_indented"}},{"html_id":"old_id:Int64|Nil-instance-method","name":"old_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L113"},"def":{"name":"old_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@old_id"}},{"html_id":"order:Int64|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L124"},"def":{"name":"order","return_type":"Int64 | ::Nil","visibility":"Public","body":"@order"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L116"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"visitor_kiosk_enabled:Bool|Nil-instance-method","name":"visitor_kiosk_enabled","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L136"},"def":{"name":"visitor_kiosk_enabled","return_type":"Bool | ::Nil","visibility":"Public","body":"@visitor_kiosk_enabled"}}]},{"html_id":"drivers/GoBright/LocationService","path":"GoBright/LocationService.html","kind":"class","full_name":"GoBright::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCHES","name":"NO_MATCHES","value":"[] of String"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L74"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"cache_space_details-instance-method","name":"cache_space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L77"},"def":{"name":"cache_space_details","visibility":"Public","body":"space_details = {} of String => Space\n(Array(Space).from_json(gobright.spaces.get.to_json)).each do |space|\n space_details[space.id] = space\nend\n@space_details = space_details\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/gobright/location_service.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L128"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"checking ownership of: #{mac_address}\"\nend\nif mac_address.starts_with?(\"gobright-\")\nelse\n return\nend\nid = (mac_address.split(\"gobright-\"))[1]\n@cached_booking_data.each do |zone_id, lookup|\n if booking = lookup[id]?\n return {location: \"booking\", assigned_to: booking.organizer.try(&.email_address) || (booking.attendees.first.email_address.as(String)), mac_address: mac_address}\n end\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L145"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nif location && (!(location.in?({\"desk\", \"area\", \"booking\"})))\n return [] of Nil\nend\ngobright_location_id = @floor_mappings[zone_id]\nspaces = {} of String => Space\nspace_details.each_value do |space|\n if space.location_id == gobright_location_id\n else\n next\n end\n spaces[space.id] = space.dup\nend\noccupancy = Array(Occupancy).from_json((gobright.live_occupancy(gobright_location_id)).get.to_json)\noccupancy.each do |details|\n space = spaces[details.id]?\n if space\n else\n next\n end\n space.occupied = details.occupied? || false\nend\ndesk_types = @desk_space_types\noccupancy_locs = spaces.values.compact_map do |space|\n loc_type = space.type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n if (occupied = space.occupied?) || @return_empty_spaces\n {location: loc_type, at_location: occupied ? 1 : 0, map_id: space.name, level: zone_id, building: building_id, capacity: space.capacity || 1, gobright_location_id: gobright_location_id, gobright_space_name: space.name, gobright_space_type: space.type, gobright_space_id: space.id}\n end\nend\nif location && (location != \"booking\")\n return spaces\nend\nbookings = Array(Occurrence).from_json((gobright.bookings(1.minutes.ago.to_unix, 10.minutes.from_now.to_unix, gobright_location_id)).get.to_json)\nlookup = {} of String => Occurrence\nbooking_locs = bookings.compact_map do |occurrence|\n space = nil\n occurrence.spaces.each do |details|\n space = spaces[details.id]?\n if space\n break\n end\n end\n if space\n else\n next\n end\n occurrence.zone_id = zone_id\n occurrence.matched_space = space\n lookup[occurrence.id] = occurrence\n map_booking(occurrence, space, zone_id)\nend\n@cached_booking_data[zone_id] = lookup\nbooking_locs.map() do |__arg6|\n __arg6.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend + occupancy_locs.map() do |__arg7|\n __arg7.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L66"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L61"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"if (value = @level_details).nil?\n @level_details = (Hash(String, LevelCapacity).from_json(area_management.level_details.get.to_json))\nelse\n value\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"NOTE:: we could keep track of current bookings and then use that information to assign ownership of a desk\nif the desks are being booked via the check-in/check-out\nthis would allow us to locate","summary":"

NOTE : we could keep track of current bookings and then use that information to assign ownership of a desk if the desks are being booked via the check-in/check-out this would allow us to locate

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L95"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for user #{email}\"\nend\nmatches = [] of Occurrence\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n else\n next\n end\n matches << booking\n end\nend\nmatches.compact_map do |booking|\n zone_id = booking.zone_id\n map_booking(booking, booking.matched_space, zone_id, level_details[zone_id]?.try(&.desk_mappings))\nend\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/gobright/location_service.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L116"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"if email\nelse\n return NO_MATCHES\nend\nlogger.debug do\n \"checking if any bookings for email: #{email}\"\nend\nmatches = [] of String\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n matches << \"gobright-#{booking.id}\"\n end\n end\nend\nmatches\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(SpaceType), :desk_space_types)) || [SpaceType::Desk]\n@floor_mappings = (setting(Hash(String, Mapping), :gobright_floor_mappings)).transform_values(&.location_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\ntimezone = Time::Location.load(system.timezone.presence || \"Australia/Sydney\")\nschedule.clear\nschedule.cron((setting?(String, :space_cache_cron)) || \"0 5 * * *\", timezone) do\n cache_space_details\nend\nschedule.every(10.minutes) do\n @level_details = nil\nend\n"}},{"html_id":"space_details:Hash(String,Space)-instance-method","name":"space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L75"},"def":{"name":"space_details","return_type":"Hash(String, Space)","visibility":"Public","body":"if (value = @space_details).nil?\n @space_details = (cache_space_details)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/GoBright/LocationService/LevelCapacity","path":"GoBright/LocationService/LevelCapacity.html","kind":"struct","full_name":"GoBright::LocationService::LevelCapacity","name":"LevelCapacity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_mappings:Hash(String,String)-instance-method","name":"desk_mappings","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L45"},"def":{"name":"desk_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"@desk_mappings"}}]},{"html_id":"drivers/GoBright/LocationService/Mapping","path":"GoBright/LocationService/Mapping.html","kind":"struct","full_name":"GoBright::LocationService::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L39"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}}]}]},{"html_id":"drivers/GoBright/Metadata","path":"GoBright/Metadata.html","kind":"struct","full_name":"GoBright::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L11"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"status_code:Int32|Nil-instance-method","name":"status_code","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L8"},"def":{"name":"status_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status_code"}},{"html_id":"validation_errors:Array(Hash(String,String))|Nil-instance-method","name":"validation_errors","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L14"},"def":{"name":"validation_errors","return_type":"Array(Hash(String, String)) | ::Nil","visibility":"Public","body":"@validation_errors"}}]},{"html_id":"drivers/GoBright/Occupancy","path":"GoBright/Occupancy.html","kind":"struct","full_name":"GoBright::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L182"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L183"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L186"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"occupied?:Bool|Nil-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L189"},"def":{"name":"occupied?","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}}]},{"html_id":"drivers/GoBright/Occurrence","path":"GoBright/Occurrence.html","kind":"struct","full_name":"GoBright::Occurrence","name":"Occurrence","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L226"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L227"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approval_state:ApprovalState|Nil-instance-method","name":"approval_state","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L244"},"def":{"name":"approval_state","return_type":"ApprovalState | ::Nil","visibility":"Public","body":"@approval_state"}},{"html_id":"approval_state=(approval_state:ApprovalState|Nil)-instance-method","name":"approval_state=","abstract":false,"args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"args_string":"(approval_state : ApprovalState | Nil)","args_html":"(approval_state : ApprovalState | Nil)","location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L244"},"def":{"name":"approval_state=","args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"visibility":"Public","body":"@approval_state = approval_state"}},{"html_id":"attendee_amount:Int32|Nil-instance-method","name":"attendee_amount","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount","return_type":"Int32 | ::Nil","visibility":"Public","body":"@attendee_amount"}},{"html_id":"attendee_amount=(attendee_amount:Int32|Nil)-instance-method","name":"attendee_amount=","abstract":false,"args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"args_string":"(attendee_amount : Int32 | Nil)","args_html":"(attendee_amount : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount=","args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@attendee_amount = attendee_amount"}},{"html_id":"attendees:Array(Attendee)-instance-method","name":"attendees","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L260"},"def":{"name":"attendees","return_type":"Array(Attendee)","visibility":"Public","body":"@attendees"}},{"html_id":"attendees=(attendees:Array(Attendee))-instance-method","name":"attendees=","abstract":false,"args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"args_string":"(attendees : Array(Attendee))","args_html":"(attendees : Array(Attendee))","location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L260"},"def":{"name":"attendees=","args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"visibility":"Public","body":"@attendees = attendees"}},{"html_id":"booking_type:BookingType-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L235"},"def":{"name":"booking_type","return_type":"BookingType","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:BookingType)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"args_string":"(booking_type : BookingType)","args_html":"(booking_type : BookingType)","location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L235"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"composed_id:String-instance-method","name":"composed_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L232"},"def":{"name":"composed_id","return_type":"String","visibility":"Public","body":"@composed_id"}},{"html_id":"composed_id=(composed_id:String)-instance-method","name":"composed_id=","abstract":false,"args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"args_string":"(composed_id : String)","args_html":"(composed_id : String)","location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L232"},"def":{"name":"composed_id=","args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"visibility":"Public","body":"@composed_id = composed_id"}},{"html_id":"confirmation_active:Bool|Nil-instance-method","name":"confirmation_active","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmation_active"}},{"html_id":"confirmation_active=(confirmation_active:Bool|Nil)-instance-method","name":"confirmation_active=","abstract":false,"args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"args_string":"(confirmation_active : Bool | Nil)","args_html":"(confirmation_active : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active=","args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmation_active = confirmation_active"}},{"html_id":"confirmation_window_end:String|Nil-instance-method","name":"confirmation_window_end","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_end"}},{"html_id":"confirmation_window_end=(confirmation_window_end:String|Nil)-instance-method","name":"confirmation_window_end=","abstract":false,"args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_end : String | Nil)","args_html":"(confirmation_window_end : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end=","args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_end = confirmation_window_end"}},{"html_id":"confirmation_window_start:String|Nil-instance-method","name":"confirmation_window_start","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_start"}},{"html_id":"confirmation_window_start=(confirmation_window_start:String|Nil)-instance-method","name":"confirmation_window_start=","abstract":false,"args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_start : String | Nil)","args_html":"(confirmation_window_start : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start=","args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_start = confirmation_window_start"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L256"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L256"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L229"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L229"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"intention_type:Int32|Nil-instance-method","name":"intention_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L238"},"def":{"name":"intention_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@intention_type"}},{"html_id":"intention_type=(intention_type:Int32|Nil)-instance-method","name":"intention_type=","abstract":false,"args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"args_string":"(intention_type : Int32 | Nil)","args_html":"(intention_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L238"},"def":{"name":"intention_type=","args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@intention_type = intention_type"}},{"html_id":"is_anonymously_booked:Bool|Nil-instance-method","name":"is_anonymously_booked","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_anonymously_booked"}},{"html_id":"is_anonymously_booked=(is_anonymously_booked:Bool|Nil)-instance-method","name":"is_anonymously_booked=","abstract":false,"args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"args_string":"(is_anonymously_booked : Bool | Nil)","args_html":"(is_anonymously_booked : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked=","args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_anonymously_booked = is_anonymously_booked"}},{"html_id":"license_plate:String|Nil-instance-method","name":"license_plate","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L250"},"def":{"name":"license_plate","return_type":"String | ::Nil","visibility":"Public","body":"@license_plate"}},{"html_id":"license_plate=(license_plate:String|Nil)-instance-method","name":"license_plate=","abstract":false,"args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"args_string":"(license_plate : String | Nil)","args_html":"(license_plate : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L250"},"def":{"name":"license_plate=","args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"visibility":"Public","body":"@license_plate = license_plate"}},{"html_id":"matched_space:Space-instance-method","name":"matched_space","abstract":false,"def":{"name":"matched_space","return_type":"Space","visibility":"Public","body":"if (value = @matched_space).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#matched_space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"matched_space=(matched_space:Space)-instance-method","name":"matched_space=","abstract":false,"args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"args_string":"(matched_space : Space)","args_html":"(matched_space : Space)","location":{"filename":"src/gobright/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L278"},"def":{"name":"matched_space=","args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"visibility":"Public","body":"@matched_space = matched_space"}},{"html_id":"matched_space?:Space|Nil-instance-method","name":"matched_space?","abstract":false,"def":{"name":"matched_space?","return_type":"Space | ::Nil","visibility":"Public","body":"@matched_space"}},{"html_id":"organizer:Attendee|Nil-instance-method","name":"organizer","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L258"},"def":{"name":"organizer","return_type":"Attendee | ::Nil","visibility":"Public","body":"@organizer"}},{"html_id":"organizer=(organizer:Attendee|Nil)-instance-method","name":"organizer=","abstract":false,"args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"args_string":"(organizer : Attendee | Nil)","args_html":"(organizer : Attendee | Nil)","location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L258"},"def":{"name":"organizer=","args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"visibility":"Public","body":"@organizer = organizer"}},{"html_id":"recurrence_type:Int32|Nil-instance-method","name":"recurrence_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@recurrence_type"}},{"html_id":"recurrence_type=(recurrence_type:Int32|Nil)-instance-method","name":"recurrence_type=","abstract":false,"args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"args_string":"(recurrence_type : Int32 | Nil)","args_html":"(recurrence_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type=","args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@recurrence_type = recurrence_type"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L259"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L259"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L253"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L253"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}},{"html_id":"subject:String|Nil-instance-method","name":"subject","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L257"},"def":{"name":"subject","return_type":"String | ::Nil","visibility":"Public","body":"@subject"}},{"html_id":"subject=(subject:String|Nil)-instance-method","name":"subject=","abstract":false,"args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"args_string":"(subject : String | Nil)","args_html":"(subject : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L257"},"def":{"name":"subject=","args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"visibility":"Public","body":"@subject = subject"}},{"html_id":"zone_id:String-instance-method","name":"zone_id","abstract":false,"def":{"name":"zone_id","return_type":"String","visibility":"Public","body":"if (value = @zone_id).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#zone_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"zone_id=(zone_id:String)-instance-method","name":"zone_id=","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/gobright/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L275"},"def":{"name":"zone_id=","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"@zone_id = zone_id"}},{"html_id":"zone_id?:String|Nil-instance-method","name":"zone_id?","abstract":false,"def":{"name":"zone_id?","return_type":"String | ::Nil","visibility":"Public","body":"@zone_id"}}]},{"html_id":"drivers/GoBright/Paging","path":"GoBright/Paging.html","kind":"struct","full_name":"GoBright::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L24"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"total:Int32|Nil-instance-method","name":"total","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L21"},"def":{"name":"total","return_type":"Int32 | ::Nil","visibility":"Public","body":"@total"}}]},{"html_id":"drivers/GoBright/ParkingPeriod","path":"GoBright/ParkingPeriod.html","kind":"struct","full_name":"GoBright::ParkingPeriod","name":"ParkingPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L70"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L71"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L86"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L83"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L74"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L80"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L77"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Response","path":"GoBright/Response.html","kind":"struct","full_name":"GoBright::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L34"},"def":{"name":"data","return_type":"String | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"items:String|Nil-instance-method","name":"items","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L37"},"def":{"name":"items","return_type":"String | ::Nil","visibility":"Public","body":"@items"}},{"html_id":"metadata:Metadata|Nil-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L31"},"def":{"name":"metadata","return_type":"Metadata | ::Nil","visibility":"Public","body":"@metadata"}},{"html_id":"paging:Paging|Nil-instance-method","name":"paging","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L40"},"def":{"name":"paging","return_type":"Paging | ::Nil","visibility":"Public","body":"@paging"}}]},{"html_id":"drivers/GoBright/Space","path":"GoBright/Space.html","kind":"class","full_name":"GoBright::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"amenities:Array(Amenity)-instance-method","name":"amenities","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L160"},"def":{"name":"amenities","return_type":"Array(Amenity)","visibility":"Public","body":"@amenities"}},{"html_id":"capacity:Int64|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L170"},"def":{"name":"capacity","return_type":"Int64 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L169"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L158"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"integration_external_id:String|Nil-instance-method","name":"integration_external_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L173"},"def":{"name":"integration_external_id","return_type":"String | ::Nil","visibility":"Public","body":"@integration_external_id"}},{"html_id":"is_bookable:Bool|Nil-instance-method","name":"is_bookable","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L176"},"def":{"name":"is_bookable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_bookable"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L166"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L159"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L179"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupied?:Bool-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L179"},"def":{"name":"occupied?","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"type:SpaceType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L163"},"def":{"name":"type","return_type":"SpaceType | ::Nil","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/GoBright/SpaceType","path":"GoBright/SpaceType.html","kind":"enum","full_name":"GoBright::SpaceType","name":"SpaceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L148"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Room","name":"Room","value":"0"},{"id":"Desk","name":"Desk","value":"1"},{"id":"CombinedRoom","name":"CombinedRoom","value":"2"},{"id":"Parking","name":"Parking","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"combined_room?-instance-method","name":"combined_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L151"},"def":{"name":"combined_room?","visibility":"Public","body":"self == CombinedRoom"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L150"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}},{"html_id":"parking?-instance-method","name":"parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L152"},"def":{"name":"parking?","visibility":"Public","body":"self == Parking"}},{"html_id":"room?-instance-method","name":"room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L149"},"def":{"name":"room?","visibility":"Public","body":"self == Room"}}]}]},{"html_id":"drivers/Halite","path":"Halite.html","kind":"module","full_name":"Halite","name":"Halite","abstract":false,"locations":[{"filename":"lib/halite/src/halite.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite.cr#L4"},{"filename":"lib/halite/src/halite/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/chainable.cr#L3"},{"filename":"lib/halite/src/halite/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/client.cr#L8"},{"filename":"lib/halite/src/halite/error.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/error.cr#L1"},{"filename":"lib/halite/src/halite/feature.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/feature.cr#L1"},{"filename":"lib/halite/src/halite/features/cache.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/features/cache.cr#L5"},{"filename":"lib/halite/src/halite/features/logging.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/features/logging.cr#L10"},{"filename":"lib/halite/src/halite/form_data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/form_data.cr#L4"},{"filename":"lib/halite/src/halite/header_link.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/header_link.cr#L1"},{"filename":"lib/halite/src/halite/mime_type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/mime_type.cr#L1"},{"filename":"lib/halite/src/halite/options.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options.cr#L4"},{"filename":"lib/halite/src/halite/options/follow.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options/follow.cr#L1"},{"filename":"lib/halite/src/halite/options/timeout.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options/timeout.cr#L1"},{"filename":"lib/halite/src/halite/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/rate_limit.cr#L1"},{"filename":"lib/halite/src/halite/redirector.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/redirector.cr#L1"},{"filename":"lib/halite/src/halite/request.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/request.cr#L1"},{"filename":"lib/halite/src/halite/response.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/response.cr#L1"},{"filename":"lib/quantum/src/quantum/extensions/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/quantum/src/quantum/extensions/client.cr#L1"},{"filename":"lib/sabo/src/sabo/ext/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/sabo/src/sabo/ext/client.cr#L1"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/stripetease/src/stripetease/extensions/chainable.cr#L1"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Halite/Chainable","kind":"module","full_name":"Halite::Chainable","name":"Chainable"},{"html_id":"drivers/Halite/FeatureRegister","kind":"module","full_name":"Halite::FeatureRegister","name":"FeatureRegister"}],"types":[{"html_id":"drivers/Halite/Chainable","path":"Halite/Chainable.html","kind":"module","full_name":"Halite::Chainable","name":"Chainable","abstract":false,"locations":[{"filename":"lib/halite/src/halite/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/chainable.cr#L4"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/stripetease/src/stripetease/extensions/chainable.cr#L2"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Halite","kind":"module","full_name":"Halite","name":"Halite"},"instance_methods":[{"html_id":"cookies(cookies:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"cookies","doc":"Make a request with the given cookies\n\n```\nHalite.cookies({\"private-token\", \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.cookies({private-token: \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given cookies

","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L189"},"def":{"name":"cookies","args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_cookies(cookies))"}},{"html_id":"headers(headers:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"headers","doc":"Make a request with the given headers\n\n```\nHalite.headers({\"Content-Type\", \"application/json\", \"Connection\": \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.headers({content_type: \"application/json\", connection: \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given headers

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L166"},"def":{"name":"headers","args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_headers(headers))"}}]}]},{"html_id":"drivers/Helvar","path":"Helvar.html","kind":"module","full_name":"Helvar","name":"Helvar","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Helvar/Net","path":"Helvar/Net.html","kind":"class","full_name":"Helvar::Net","name":"Net","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_METHODS","name":"CMD_METHODS","value":"{group_scene: 11, device_scene: 12, group_level: 13, device_level: 14, group_proportion: 15, device_proportion: 16, group_modify_proportion: 17, device_modify_proportion: 18, group_emergency_test: 19, device_emergency_test: 20, group_emergency_duration_test: 21, device_emergency_duration_test: 22, group_emergency_stop: 23, device_emergency_stop: 24, query_lamp_hours: 70, query_ballast_hours: 71, query_max_voltage: 72, query_min_voltage: 73, query_max_temp: 74, query_min_temp: 75, query_device_types_with_addresses: 100, query_clusters: 101, query_routers: 102, query_LSIB: 103, query_device_type: 104, query_description_group: 105, query_description_device: 106, query_workgroup_name: 107, query_workgroup_membership: 108, query_last_scene: 109, query_device_state: 110, query_device_disabled: 111, query_lamp_failure: 112, query_device_faulty: 113, query_missing: 114, query_emergency_battery_failure: 129, query_measurement: 150, query_inputs: 151, query_load: 152, query_power_consumption: 160, query_group_power_consumption: 161, query_group: 164, query_groups: 165, query_scene_names: 166, query_scene_info: 167, query_emergency_func_test_time: 170, query_emergency_func_test_state: 171, query_emergency_duration_time: 172, query_emergency_duration_state: 173, query_emergency_battery_charge: 174, query_emergency_battery_time: 175, query_emergency_total_lamp_time: 176, query_time: 185, query_longitude: 186, query_latitude: 187, query_time_zone: 188, query_daylight_savings: 189, query_software_version: 190, query_helvar_net: 191}"},{"id":"COMMANDS","name":"COMMANDS","value":"{\"group_scene\" => \"11\", \"device_scene\" => \"12\", \"group_level\" => \"13\", \"device_level\" => \"14\", \"group_proportion\" => \"15\", \"device_proportion\" => \"16\", \"group_modify_proportion\" => \"17\", \"device_modify_proportion\" => \"18\", \"group_emergency_test\" => \"19\", \"device_emergency_test\" => \"20\", \"group_emergency_duration_test\" => \"21\", \"device_emergency_duration_test\" => \"22\", \"group_emergency_stop\" => \"23\", \"device_emergency_stop\" => \"24\", \"query_lamp_hours\" => \"70\", \"query_ballast_hours\" => \"71\", \"query_max_voltage\" => \"72\", \"query_min_voltage\" => \"73\", \"query_max_temp\" => \"74\", \"query_min_temp\" => \"75\", \"query_device_types_with_addresses\" => \"100\", \"query_clusters\" => \"101\", \"query_routers\" => \"102\", \"query_LSIB\" => \"103\", \"query_device_type\" => \"104\", \"query_description_group\" => \"105\", \"query_description_device\" => \"106\", \"query_workgroup_name\" => \"107\", \"query_workgroup_membership\" => \"108\", \"query_last_scene\" => \"109\", \"query_device_state\" => \"110\", \"query_device_disabled\" => \"111\", \"query_lamp_failure\" => \"112\", \"query_device_faulty\" => \"113\", \"query_missing\" => \"114\", \"query_emergency_battery_failure\" => \"129\", \"query_measurement\" => \"150\", \"query_inputs\" => \"151\", \"query_load\" => \"152\", \"query_power_consumption\" => \"160\", \"query_group_power_consumption\" => \"161\", \"query_group\" => \"164\", \"query_groups\" => \"165\", \"query_scene_names\" => \"166\", \"query_scene_info\" => \"167\", \"query_emergency_func_test_time\" => \"170\", \"query_emergency_func_test_state\" => \"171\", \"query_emergency_duration_time\" => \"172\", \"query_emergency_duration_state\" => \"173\", \"query_emergency_battery_charge\" => \"174\", \"query_emergency_battery_time\" => \"175\", \"query_emergency_total_lamp_time\" => \"176\", \"query_time\" => \"185\", \"query_longitude\" => \"186\", \"query_latitude\" => \"187\", \"query_time_zone\" => \"188\", \"query_daylight_savings\" => \"189\", \"query_software_version\" => \"190\", \"query_helvar_net\" => \"191\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"0\" => \"success\", \"1\" => \"invalid group index parameter\", \"2\" => \"invalid cluster parameter\", \"3\" => \"invalid router\", \"4\" => \"invalid router subnet\", \"5\" => \"invalid device parameter\", \"6\" => \"invalid sub device parameter\", \"7\" => \"invalid block parameter\", \"8\" => \"invalid scene\", \"9\" => \"cluster does not exist\", \"10\" => \"router does not exist\", \"11\" => \"device does not exist\", \"12\" => \"property does not exist\", \"13\" => \"invalid RAW message size\", \"14\" => \"invalid messages type\", \"15\" => \"invalid message command\", \"16\" => \"missing ASCII terminator\", \"17\" => \"missing ASCII parameter\", \"18\" => \"incompatible version\"}"},{"id":"PARAMS","name":"PARAMS","value":"{\"V\" => :ver, \"Q\" => :seq, \"C\" => :cmd, \"A\" => :ack, \"@\" => :addr, \"F\" => :fade, \"T\" => :time, \"L\" => :level, \"G\" => :group, \"S\" => :scene, \"B\" => :block, \"N\" => :latitude, \"E\" => :longitude, \"Z\" => :time_zone, \"P\" => :proportion, \"D\" => :display_screen, \"Y\" => :daylight_savings, \"O\" => :force_store_scene, \"K\" => :constant_light_scene}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Helvar","kind":"module","full_name":"Helvar","name":"Helvar"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Helvar\"\n end\n if poll_group = @poll_group\n get_current_preset(poll_group)\n else\n query_software_version\n end\nend"}},{"html_id":"device_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"22\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"24\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"20\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"14\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"18\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"16\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"12\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(group:Int32)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L67"},"def":{"name":"get_current_preset","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_last_scene(group: group, name: \"query_scene#{group}\")"}},{"html_id":"group_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"21\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"23\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"19\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"13\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"17\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"15\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"11\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"light_level(group:Int32,level:Int32,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, level : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, level : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L55"},"def":{"name":"light_level","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}_level\"] = level\ngroup_level(group: group, level: level, fade: fade, name: \"group_level#{group}\")\n"}},{"html_id":"lighting(group:Int32,state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(group : Int32, state : Bool)","args_html":"(group : Int32, state : Bool)","location":{"filename":"src/helvar/net.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L50"},"def":{"name":"lighting","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(group, level)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L337"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"group = check_arguments(area)\nif scene = (get_current_preset(group)).get(response_required: true).payload.to_i\n payload = (query_scene_levels(group)).get(response_required: true).payload\n levels = Array(Int32).from_json(payload)\n self[\"area#{group}_level\"] = levels[scene]\nend\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L328"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"get_current_preset(check_arguments(area))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"#\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(Int32, :version)) || 2\n@ignore_blocks = (setting?(Bool, :ignore_blocks)) || true\n@poll_group = setting?(Int32, :poll_group)\n"}},{"html_id":"query_ballast_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_ballast_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_ballast_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"71\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_clusters(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_clusters","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_clusters","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"101\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_daylight_savings(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_daylight_savings","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_daylight_savings","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"189\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_device(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_device","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_description_device","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"106\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_description_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"105\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_disabled(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_disabled","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_disabled","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"111\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_faulty(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_faulty","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_faulty","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"113\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"110\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_type(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_type","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_type","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"104\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_types_with_addresses(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_types_with_addresses","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_types_with_addresses","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"100\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_charge(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_charge","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_charge","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"174\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"129\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"175\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"173\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"172\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"171\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"170\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_total_lamp_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_total_lamp_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_total_lamp_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"176\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"164\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_group_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"161\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_groups(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_groups","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_groups","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"165\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_helvar_net(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_helvar_net","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_helvar_net","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"191\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_inputs(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_inputs","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_inputs","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"151\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"112\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"70\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_last_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_last_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_last_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"109\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_latitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_latitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_latitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"187\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_load(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_load","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_load","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"152\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_longitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_longitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_longitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"186\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_LSIB(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_LSIB","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_LSIB","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"103\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_max_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"74\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_max_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"72\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_measurement(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_measurement","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_measurement","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"150\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_min_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"75\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_min_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"73\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_missing(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_missing","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_missing","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"114\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"160\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_routers(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_routers","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_routers","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"102\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_info(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_info","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_scene_info","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"167\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_levels(group:Int32)-instance-method","name":"query_scene_levels","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L71"},"def":{"name":"query_scene_levels","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_scene_info(group: group, name: \"query_scene#{group}_info\")"}},{"html_id":"query_scene_names(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_names","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_scene_names","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"166\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_software_version(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_software_version","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_software_version","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"190\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"185\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time_zone(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time_zone","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_time_zone","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"188\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_membership(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_membership","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_membership","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"108\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_name(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_name","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_name","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"107\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/helvar/net.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L181"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Helvar sent: #{data}\"\nend\ntask_name = task.try(&.name)\ndata = data[0..-2]\nstart_of_message = data.index(/[\\?\\>\\!]V:/i)\nif start_of_message != 0\n logger.warn do\n \"Lighting error response: #{data[0...start_of_message]}\"\n end\n data = data[start_of_message..-1]\nend\ndata = data.delete(\"$\")\nindicator = data[0]\ncase indicator\nwhen '?', '>'\n data = data[1..-1]\n parts = data.split(\"=\")\n data = parts[0]\n value = parts[1]?\n params = {} of Symbol => String\n (data.split(\",\")).each do |param|\n parts = param.split(\":\")\n if parts.size > 1\n params[PARAMS[parts[0]]] = parts[1]\n else\n if parts[0][0] == '@'\n params[:addr] == parts[0][1..-1]\n else\n logger.debug do\n \"unknown param type #{param}\"\n end\n end\n end\n end\n ack = params[:ack]?\n if ack\n if ack != \"1\"\n return task.try(&.abort(\"request failed\"))\n end\n return task.try(&.success)\n end\n cmd = COMMANDS[params[:cmd]]\n case cmd\n when \"query_last_scene\"\n scene = value.try(&.to_i)\n group = params[:group]\n self[\"area#{group}\"] = scene\n if task_name == \"query_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_scene\"\n block = params[:block]\n group = params[:group]\n scene = params[:scene].to_i\n if block\n if @ignore_blocks\n self[\"area#{group}\"] = scene\n else\n self[\"area#{group}_#{block}\"] = scene\n end\n else\n self[\"area#{group}\"] = scene\n end\n if task_name == \"group_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_level\"\n if task_name == \"group_level#{params[:group]}\"\n task.not_nil!.success\n end\n when \"query_scene_info\"\n group = params[:group]\n if value && (task_name == \"query_scene#{group}_info\")\n levels = ((value.split(\",L\"))[0].split(',')).map(&.to_i)\n task.not_nil!.success(levels)\n end\n else\n logger.debug do\n \"unknown response value\\n#{cmd} = #{value}\"\n end\n end\nwhen '!'\n error = ERRORS[(data.split(\"=\"))[1]]\n error = \"#{error} for #{data}\"\n self[:last_error] = error\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nelse\n logger.info do\n \"unknown request #{data}\"\n end\nend\nif task_name\nelse\n task.try(&.success)\nend\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L332"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\nlight_level(area_id, level.round_even.to_i, fade_time.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L324"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"trigger(check_arguments(area), scene.to_i, fade_time.to_i)"}},{"html_id":"trigger(group:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L61"},"def":{"name":"trigger","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}\"] = scene\ngroup_scene(group: group, scene: scene, fade: fade, name: \"group_scene#{group}\")\n"}}],"macros":[{"html_id":"build_command_hash-macro","name":"build_command_hash","doc":"Generate a String => String hash based on the data above","summary":"

Generate a String => String hash based on the data above

","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L147"},"def":{"name":"build_command_hash","visibility":"Public","body":" COMMANDS = \n{\n \n{% for name, command in CMD_METHODS %}\n {{ name.id.stringify }} => {{ command.id.stringify }},\n {% end %}\n\n }\n COMMANDS.merge!(COMMANDS.invert)\n \n"}}],"types":[{"html_id":"drivers/Helvar/Net/Area","path":"Helvar/Net/Area.html","kind":"alias","full_name":"Helvar::Net::Area","name":"Area","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Helvar/Net","kind":"class","full_name":"Helvar::Net","name":"Net"}}]}]},{"html_id":"drivers/Hitachi","path":"Hitachi.html","kind":"module","full_name":"Hitachi","name":"Hitachi","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Hitachi/Projector","path":"Hitachi/Projector.html","kind":"module","full_name":"Hitachi::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Hitachi","kind":"module","full_name":"Hitachi","name":"Hitachi"},"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","path":"Hitachi/Projector/CpTwSeriesBasic.html","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Commands","name":"Commands","value":"{power_on: \"BA D2 01 00 00 60 01 00\", power_off: \"2A D3 01 00 00 60 00 00\", hdmi: \"0E D2 01 00 00 20 03 00\", hdmi2: \"6E D6 01 00 00 20 0D 00\", mute_video: \"6E F1 01 00 A0 20 01 00\", unmute_video: \"FE F0 01 00 A0 20 00 00\", mute_audio: \"D6 D2 01 00 02 20 01 00\", unmute_audio: \"46 D3 01 00 02 20 00 00\", lamp_hours_reset: \"58 DC 06 00 30 70 00 00\", filter_hours_reset: \"98 C6 06 00 40 70 00 00\", \"power?\": \"19 D3 02 00 00 60 00 00\", \"input?\": \"CD D2 02 00 00 20 00 00\", \"error?\": \"D9 D8 02 00 20 60 00 00\", \"freeze?\": \"B0 D2 02 00 02 30 00 00\", \"audio_mute?\": \"75 D3 02 00 02 20 00 00\", \"video_mute?\": \"CD F0 02 00 A0 20 00 00\", \"lamp?\": \"C2 FF 02 00 90 10 00 00\", \"filter?\": \"C2 F0 02 00 A0 10 00 00\"}","doc":"Note: commands have spaces in between each byte for readability","summary":"

Note: commands have spaces in between each byte for readability

"},{"id":"GetRequests","name":"GetRequests","value":"[:\"power?\", :\"input?\", :\"error?\", :\"freeze?\", :\"audio_mute?\", :\"video_mute?\", :\"lamp?\", :\"filter?\"] of ::Symbol"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Hitachi/Projector","kind":"module","full_name":"Hitachi::Projector","name":"Projector"},"instance_methods":[{"html_id":"audio_mute?(**options)-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"audio_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"audio_mute?\", **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L32"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n poll_1\nend\nschedule.every(10.minutes, true) do\n poll_2\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L53"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@recover_power = nil\n@recover_input = nil\n"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"error?\", **options)"}},{"html_id":"filter?(**options)-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"filter?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"filter?\", **options)"}},{"html_id":"filter_hours_reset-instance-method","name":"filter_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L109"},"def":{"name":"filter_hours_reset","visibility":"Public","body":"do_send(:filter_hours_reset)\nfilter?\n"}},{"html_id":"freeze?(**options)-instance-method","name":"freeze?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"freeze?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"freeze?\", **options)"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"input?\", **options)"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"lamp?\", **options)"}},{"html_id":"lamp_hours_reset-instance-method","name":"lamp_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L104"},"def":{"name":"lamp_hours_reset","visibility":"Public","body":"do_send(:lamp_hours_reset)\nlamp?\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L77"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L95"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_audio)\nelse\n do_send(:unmute_audio)\nend\naudio_mute?\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L86"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_video)\nelse\n do_send(:unmute_video)\nend\nvideo_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nqueue.timeout = 5.seconds\nqueue.retries = 3\nself[:type] = :projector\n"}},{"html_id":"poll_1-instance-method","name":"poll_1","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L37"},"def":{"name":"poll_1","visibility":"Public","body":"power?(priority: 0).get\nif self[:power]?.try(&.as_bool)\n input?(priority: 0)\n audio_mute?(priority: 0)\n video_mute?(priority: 0)\n freeze?(priority: 0)\nend\n"}},{"html_id":"poll_2-instance-method","name":"poll_2","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L47"},"def":{"name":"poll_2","visibility":"Public","body":"lamp?(priority: 0)\nfilter?(priority: 0)\nerror?(priority: 0)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L59"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off)\nend\npower?\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"power?\", **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L139"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data}\"\nend\ncommand = task.try(&.name)\ncase Response.from_value(data[0])\nwhen .ack?\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"NAK response\"))\nwhen .error?\n task.try(&.abort(\"Error response\"))\nwhen .data?\n if command\n case command\n when \"power?\"\n self[:power] = data[1] == 1\n self[:cooling] = data[1] == 2\n if self[:power]? == @power_target\n @power_target = nil\n else\n if @power_target && @recover_power.nil?\n logger.debug do\n \"recovering power state #{self[:power]} != target #{@power_target}\"\n end\n @recover_power = schedule.in(3.seconds) do\n @recover_power = nil\n power(@power_target.not_nil!)\n end\n end\n end\n when \"input?\"\n input = Input.from_value?(data[1])\n self[:input] = input || \"unknown\"\n if @input_target\n if input == @input_target\n @input_target = nil\n else\n if @recover_input.nil?\n logger.debug do\n \"recovering input #{self[:input]} != target #{@input_target}\"\n end\n @recover_input = schedule.in(3.seconds) do\n @recover_input = nil\n switch_to(@input_target.not_nil!)\n end\n end\n end\n end\n when \"error?\"\n self[:error_status] = (Error.from_value?(data[1])) || \"unknown\"\n when \"freeze?\"\n self[:frozen] = data[1] == 1\n when \"audio_mute?\"\n self[:audio_mute] = data[1] == 1\n when \"video_mute?\"\n self[:video_mute] = data[1] == 1\n when \"lamp?\"\n self[:lamp] = data[1] * data[2]\n when \"filter?\"\n self[:filter] = data[1] * data[2]\n end\n task.try(&.success)\n else\n task.try(&.abort(\"data received for unknown command\"))\n end\nwhen .busy?\n if (data[1] == 4) && (data[2] == 0)\n task.try(&.abort(\"authentication enabled, please disable\"))\n else\n task.try(&.retry(\"projector busy, retrying\"))\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L71"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ndo_send(input.to_s.downcase)\ninput?\n"}},{"html_id":"video_mute?(**options)-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"video_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"video_mute?\", **options)"}}],"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Error","path":"Hitachi/Projector/CpTwSeriesBasic/Error.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Normal","name":"Normal","value":"0"},{"id":"Cover","name":"Cover","value":"1"},{"id":"Fan","name":"Fan","value":"2"},{"id":"Lamp","name":"Lamp","value":"3"},{"id":"Temp","name":"Temp","value":"4"},{"id":"AirFlow","name":"AirFlow","value":"5"},{"id":"Cold","name":"Cold","value":"6"},{"id":"Filter","name":"Filter","value":"7"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"air_flow?-instance-method","name":"air_flow?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L134"},"def":{"name":"air_flow?","visibility":"Public","body":"self == AirFlow"}},{"html_id":"cold?-instance-method","name":"cold?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L135"},"def":{"name":"cold?","visibility":"Public","body":"self == Cold"}},{"html_id":"cover?-instance-method","name":"cover?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L130"},"def":{"name":"cover?","visibility":"Public","body":"self == Cover"}},{"html_id":"fan?-instance-method","name":"fan?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L131"},"def":{"name":"fan?","visibility":"Public","body":"self == Fan"}},{"html_id":"filter?-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L136"},"def":{"name":"filter?","visibility":"Public","body":"self == Filter"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L132"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"normal?-instance-method","name":"normal?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L129"},"def":{"name":"normal?","visibility":"Public","body":"self == Normal"}},{"html_id":"temp?-instance-method","name":"temp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L133"},"def":{"name":"temp?","visibility":"Public","body":"self == Temp"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Input","path":"Hitachi/Projector/CpTwSeriesBasic/Input.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmi","name":"Hdmi","value":"3"},{"id":"Hdmi2","name":"Hdmi2","value":"13"},{"id":"HdbaSet","name":"HdbaSet","value":"17"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"hdba_set?-instance-method","name":"hdba_set?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L125"},"def":{"name":"hdba_set?","visibility":"Public","body":"self == HdbaSet"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L124"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L123"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Response","path":"Hitachi/Projector/CpTwSeriesBasic/Response.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L114"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"6"},{"id":"Nak","name":"Nak","value":"21"},{"id":"Error","name":"Error","value":"28"},{"id":"Data","name":"Data","value":"29"},{"id":"Busy","name":"Busy","value":"31"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L115"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L119"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"data?-instance-method","name":"data?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L118"},"def":{"name":"data?","visibility":"Public","body":"self == Data"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L117"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L116"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Infosilem","path":"Infosilem.html","kind":"module","full_name":"Infosilem","name":"Infosilem","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L4"},{"filename":"src/infosilem/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Infosilem/Campus","path":"Infosilem/Campus.html","kind":"class","full_name":"Infosilem::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String)","location":{"filename":"src/infosilem/campus.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L39"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"response = @integration.try(&.call(operation: \"StartTransfer\", body: {\"StartTransferOptions\" => Sabo::Parameter.from_hash(start_transfer_options(username: setting(String, :username), password: setting(String, :password)))}))\ntransfer_id = response.try(&.result)\nresponse = @booking.try(&.call(operation: \"RoomBookingOccurrence_ExportAll\", body: {\"TransferID\" => Sabo::Parameter.new(transfer_id.to_s), \"Options\" => Sabo::Parameter.from_hash(booking_options(building: building_id, room: room_id, start_date: start_date, end_date: end_date, start_time: start_date, end_time: end_date))}))\n@integration.try(&.call(operation: \"EndTransfer\", body: end_transfer_body(transfer_id: transfer_id.to_s)))\nself[\"room_#{room_id}_bookings_#{start_date}_#{end_date}\"] = response.try() do |__arg4|\n __arg4.result[\"ObjectData\"][\"ReservationOccurrences\"][\"ReservationOccurrence\"]?\nend || ([] of Int32)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@integration = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/Integration/Integration.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n@booking = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/ExportOnly/RoomBookingPub.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n"}}],"types":[{"html_id":"drivers/Infosilem/Campus/Client","path":"Infosilem/Campus/Client.html","kind":"alias","full_name":"Infosilem::Campus::Client","name":"Client","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Sabo::Client","aliased_html":"Sabo::Client","const":false,"namespace":{"html_id":"drivers/Infosilem/Campus","kind":"class","full_name":"Infosilem::Campus","name":"Campus"}}]},{"html_id":"drivers/Infosilem/DateTimeConvertor","path":"Infosilem/DateTimeConvertor.html","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/DateTimeConvertor","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L37"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_local(\"#{Time.local.to_s(\"%F\")} #{value.read_string}\", \"%F %H:%M:%S\")"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L33"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%H:%M:%S\"))"}}]},{"html_id":"drivers/Infosilem/Event","path":"Infosilem/Event.html","kind":"class","full_name":"Infosilem::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflicting:Int32|Nil-instance-method","name":"conflicting","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L15"},"def":{"name":"conflicting","return_type":"Int32 | ::Nil","visibility":"Public","body":"@conflicting"}},{"html_id":"conflicting=(conflicting:Int32|Nil)-instance-method","name":"conflicting=","abstract":false,"args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"args_string":"(conflicting : Int32 | Nil)","args_html":"(conflicting : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L15"},"def":{"name":"conflicting=","args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@conflicting = conflicting"}},{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L23"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L23"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L9"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L9"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L25"},"def":{"name":"duration","visibility":"Public","body":"end_time - start_time"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L21"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"end_time=(end_time:Time)-instance-method","name":"end_time=","abstract":false,"args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"args_string":"(end_time : Time)","args_html":"(end_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L21"},"def":{"name":"end_time=","args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"visibility":"Public","body":"@end_time = end_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"number_of_attendees:Int32|Nil-instance-method","name":"number_of_attendees","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_attendees"}},{"html_id":"number_of_attendees=(number_of_attendees:Int32|Nil)-instance-method","name":"number_of_attendees=","abstract":false,"args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"args_string":"(number_of_attendees : Int32 | Nil)","args_html":"(number_of_attendees : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees=","args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@number_of_attendees = number_of_attendees"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L18"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}},{"html_id":"start_time=(start_time:Time)-instance-method","name":"start_time=","abstract":false,"args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"args_string":"(start_time : Time)","args_html":"(start_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L18"},"def":{"name":"start_time=","args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"visibility":"Public","body":"@start_time = start_time"}}]},{"html_id":"drivers/Infosilem/IntegerConverter","path":"Infosilem/IntegerConverter.html","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/IntegerConverter","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L49"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"value.read_string.to_i"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L45"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s)"}}]},{"html_id":"drivers/Infosilem/MockCampus","path":"Infosilem/MockCampus.html","kind":"class","full_name":"Infosilem::MockCampus","name":"MockCampus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/mock_campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String):Array(JSON::Any)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","location":{"filename":"src/infosilem/mock_campus.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L230"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"@response"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L222"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L226"},"def":{"name":"on_update","visibility":"Public","body":"@response = (setting?(Array(JSON::Any), :response)) || ([] of JSON::Any)"}}]},{"html_id":"drivers/Infosilem/RoomSchedule","path":"Infosilem/RoomSchedule.html","kind":"class","full_name":"Infosilem::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L38"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local.to_s(\"%Y-%m-%d\")\n todays_events = Array(Event).from_json(fetch_events(today, today))\n todays_events.sort_by(&.duration).reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.start_time\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by?(&.start_time)\n previous_event = past_events.max_by?(&.end_time)\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(start_date : String, end_date : String)","args_html":"(start_date : String, end_date : String)","location":{"filename":"src/infosilem/room_schedule.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L81"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"events = (infosilem.bookings?(@building_id, @room_id, start_date, end_date)).get.to_json\nif @debug\n logger.debug do\n \"Infosilem Campus returned: #{events}\"\n end\nend\nevents\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@building_id = setting(String, :infosilem_building_id)\n@room_id = setting(String, :infosilem_room_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/JohnsonControls","path":"JohnsonControls.html","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls","abstract":false,"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"Time::Format.new(\"%FT%TZ\")"}],"types":[{"html_id":"drivers/JohnsonControls/Attribute","path":"JohnsonControls/Attribute.html","kind":"class","full_name":"JohnsonControls::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"smaples_url:String-instance-method","name":"smaples_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url","return_type":"String","visibility":"Public","body":"@smaples_url"}},{"html_id":"smaples_url=(smaples_url:String)-instance-method","name":"smaples_url=","abstract":false,"args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"args_string":"(smaples_url : String)","args_html":"(smaples_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url=","args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"visibility":"Public","body":"@smaples_url = smaples_url"}}]},{"html_id":"drivers/JohnsonControls/AuthResponse","path":"JohnsonControls/AuthResponse.html","kind":"class","full_name":"JohnsonControls::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires:Time-instance-method","name":"expires","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires","return_type":"Time","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"args_string":"(expires : Time)","args_html":"(expires : Time)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"visibility":"Public","body":"@expires = expires"}}]},{"html_id":"drivers/JohnsonControls/Command","path":"JohnsonControls/Command.html","kind":"class","full_name":"JohnsonControls::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L190"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"command_id:String-instance-method","name":"command_id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id","return_type":"String","visibility":"Public","body":"@command_id"}},{"html_id":"command_id=(command_id:String)-instance-method","name":"command_id=","abstract":false,"args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"args_string":"(command_id : String)","args_html":"(command_id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id=","args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"visibility":"Public","body":"@command_id = command_id"}},{"html_id":"items:Array(JSON::Any)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items","return_type":"Array(JSON::Any)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(JSON::Any))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"args_string":"(items : Array(JSON::Any))","args_html":"(items : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"maximum_items:Int32-instance-method","name":"maximum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items","return_type":"Int32","visibility":"Public","body":"@maximum_items"}},{"html_id":"maximum_items=(maximum_items:Int32)-instance-method","name":"maximum_items=","abstract":false,"args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"args_string":"(maximum_items : Int32)","args_html":"(maximum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items=","args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"visibility":"Public","body":"@maximum_items = maximum_items"}},{"html_id":"minimum_items:Int32-instance-method","name":"minimum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items","return_type":"Int32","visibility":"Public","body":"@minimum_items"}},{"html_id":"minimum_items=(minimum_items:Int32)-instance-method","name":"minimum_items=","abstract":false,"args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"args_string":"(minimum_items : Int32)","args_html":"(minimum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items=","args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"visibility":"Public","body":"@minimum_items = minimum_items"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/JohnsonControls/Equipment","path":"JohnsonControls/Equipment.html","kind":"class","full_name":"JohnsonControls::Equipment","name":"Equipment","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_url:String-instance-method","name":"equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url","return_type":"String","visibility":"Public","body":"@equipment_url"}},{"html_id":"equipment_url=(equipment_url:String)-instance-method","name":"equipment_url=","abstract":false,"args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"args_string":"(equipment_url : String)","args_html":"(equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url=","args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"visibility":"Public","body":"@equipment_url = equipment_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"spaces_url:String-instance-method","name":"spaces_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url","return_type":"String","visibility":"Public","body":"@spaces_url"}},{"html_id":"spaces_url=(spaces_url:String)-instance-method","name":"spaces_url=","abstract":false,"args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"args_string":"(spaces_url : String)","args_html":"(spaces_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url=","args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"visibility":"Public","body":"@spaces_url = spaces_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"upstream_equipment_url:String-instance-method","name":"upstream_equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url","return_type":"String","visibility":"Public","body":"@upstream_equipment_url"}},{"html_id":"upstream_equipment_url=(upstream_equipment_url:String)-instance-method","name":"upstream_equipment_url=","abstract":false,"args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"args_string":"(upstream_equipment_url : String)","args_html":"(upstream_equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url=","args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"visibility":"Public","body":"@upstream_equipment_url = upstream_equipment_url"}}]},{"html_id":"drivers/JohnsonControls/EquipmentPoints","path":"JohnsonControls/EquipmentPoints.html","kind":"class","full_name":"JohnsonControls::EquipmentPoints","name":"EquipmentPoints","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L211"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L212"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(Point))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"@points = points"}}]},{"html_id":"drivers/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse","path":"JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html","kind":"class","full_name":"JohnsonControls::GetEquipmentHostedByNetworkDeviceResponse","name":"GetEquipmentHostedByNetworkDeviceResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Equipment)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items","return_type":"Array(Equipment)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Equipment))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"args_string":"(items : Array(Equipment))","args_html":"(items : Array(Equipment))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetNetworkDeviceChildrenResponse","path":"JohnsonControls/GetNetworkDeviceChildrenResponse.html","kind":"class","full_name":"JohnsonControls::GetNetworkDeviceChildrenResponse","name":"GetNetworkDeviceChildrenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L139"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(NetworkDevice)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items","return_type":"Array(NetworkDevice)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(NetworkDevice))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"args_string":"(items : Array(NetworkDevice))","args_html":"(items : Array(NetworkDevice))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetObjectAttributesWithSamplesResponse","path":"JohnsonControls/GetObjectAttributesWithSamplesResponse.html","kind":"class","full_name":"JohnsonControls::GetObjectAttributesWithSamplesResponse","name":"GetObjectAttributesWithSamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L157"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L158"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Attribute)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items","return_type":"Array(Attribute)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Attribute))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"args_string":"(items : Array(Attribute))","args_html":"(items : Array(Attribute))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetSamplesForAnObjectAttributeResponse","path":"JohnsonControls/GetSamplesForAnObjectAttributeResponse.html","kind":"class","full_name":"JohnsonControls::GetSamplesForAnObjectAttributeResponse","name":"GetSamplesForAnObjectAttributeResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L114"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"items:Array(Sample)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items","return_type":"Array(Sample)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Sample))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"args_string":"(items : Array(Sample))","args_html":"(items : Array(Sample))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/Item","path":"JohnsonControls/Item.html","kind":"class","full_name":"JohnsonControls::Item","name":"Item","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L237"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L238"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"value:Value-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value","return_type":"Value","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Value)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Value"}],"args_string":"(value : Value)","args_html":"(value : Value)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Value"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/Metasys","path":"JohnsonControls/Metasys.html","kind":"class","full_name":"JohnsonControls::Metasys","name":"Metasys","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CONTENT_TYPE","name":"CONTENT_TYPE","value":"\"application/json\""}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L265"},"def":{"name":"count","visibility":"Public","body":"@count"}},{"html_id":"get_attribute_value(id:String):Float64-instance-method","name":"get_attribute_value","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Float64","args_html":"(id : String) : Float64","location":{"filename":"src/johnson_controls/metasys.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L98"},"def":{"name":"get_attribute_value","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Float64","visibility":"Public","body":"current_time = Time.utc\nshort_while_ago = Time.utc - (@poll_interval_seconds * 2).seconds\nresponse = get_request(\"/objects/#{id}/attributes/85/samples\", start_time: short_while_ago.to_rfc3339, end_time: current_time.to_rfc3339, page_size: 1, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n(SamplesResponse.from_json(response.body)).items.first.value.actual\n"}},{"html_id":"get_commands_for_an_object(id:String):Array(Command)-instance-method","name":"get_commands_for_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Array(Command)","args_html":"(id : String) : Array(Command)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L165"},"def":{"name":"get_commands_for_an_object","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Array(Command)","visibility":"Public","body":"response = get_request(\"/objects/#{id}/commands\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nArray(Command).from_json(response.body)\n"}},{"html_id":"get_data-instance-method","name":"get_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L229"},"def":{"name":"get_data","visibility":"Public","body":"{data: self[:data], averages: self[:averages]}"}},{"html_id":"get_equipment_hosted_by_network_device(id:String,page:Int32=1,page_size:Int32=10):GetEquipmentHostedByNetworkDeviceResponse-instance-method","name":"get_equipment_hosted_by_network_device","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L133"},"def":{"name":"get_equipment_hosted_by_network_device","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetEquipmentHostedByNetworkDeviceResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/equipment\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetEquipmentHostedByNetworkDeviceResponse.from_json(response.body)\n"}},{"html_id":"get_equipment_points(id:String):EquipmentPoints-instance-method","name":"get_equipment_points","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : EquipmentPoints","args_html":"(id : String) : EquipmentPoints","location":{"filename":"src/johnson_controls/metasys.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L91"},"def":{"name":"get_equipment_points","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"EquipmentPoints","visibility":"Public","body":"response = get_request(\"/equipment/#{id}/points\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nEquipmentPoints.from_json(response.body)\n"}},{"html_id":"get_network_device_children(id:String,page:Int32=1,page_size:Int32=10):GetNetworkDeviceChildrenResponse-instance-method","name":"get_network_device_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L122"},"def":{"name":"get_network_device_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetNetworkDeviceChildrenResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/objects\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetNetworkDeviceChildrenResponse.from_json(response.body)\n"}},{"html_id":"get_object_attributes_with_samples(id:String):GetObjectAttributesWithSamplesResponse-instance-method","name":"get_object_attributes_with_samples","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : GetObjectAttributesWithSamplesResponse","args_html":"(id : String) : GetObjectAttributesWithSamplesResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L144"},"def":{"name":"get_object_attributes_with_samples","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"GetObjectAttributesWithSamplesResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/trendedAttributes\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetObjectAttributesWithSamplesResponse.from_json(response.body)\n"}},{"html_id":"get_request_debug(path:String,**params)-instance-method","name":"get_request_debug","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, **params)","args_html":"(path : String, **params)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L249"},"def":{"name":"get_request_debug","args":[{"name":"path","external_name":"path","restriction":"String"}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":"response = get_request(path, **params)\nparsed_json_body = begin\n JSON.parse(response.body)\nrescue ex : JSON::ParseException\n ex.to_s\nend\n{body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\n"}},{"html_id":"get_samples_for_an_object_attribute(id:String,attribute_id:String,start_time:String,end_time:String,page:Int32=1,page_size:Int32=10):GetSamplesForAnObjectAttributeResponse-instance-method","name":"get_samples_for_an_object_attribute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","args_html":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L151"},"def":{"name":"get_samples_for_an_object_attribute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetSamplesForAnObjectAttributeResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/attributes/#{attribute_id}/samples\", start_time: start_time, end_time: end_time, page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetSamplesForAnObjectAttributeResponse.from_json(response.body)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L40"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"received login response #{response.body}\"\nend\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_token_debug-instance-method","name":"get_token_debug","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L63"},"def":{"name":"get_token_debug","visibility":"Public","body":"response = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n parsed_json_body = begin\n JSON.parse(response.body)\n rescue ex : JSON::ParseException\n ex.to_s\n end\n {body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\nend\n"}},{"html_id":"lookup_object_id(fqr:String):String-instance-method","name":"lookup_object_id","abstract":false,"args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"args_string":"(fqr : String) : String","args_html":"(fqr : String) : String","location":{"filename":"src/johnson_controls/metasys.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L115"},"def":{"name":"lookup_object_id","args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get_request(\"/objectIdentifiers?fqr=#{fqr}\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body.to_s\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@equipment_ids_and_attributes = (setting?(Hash(String, Array(String)), :equipment_ids_and_attributes)) || ({} of String => Array(String))\n@poll_interval_seconds = (setting?(Int32, :poll_interval_seconds)) || 300\n@count = 0\nschedule.every(@poll_interval_seconds.seconds, true) do\n update_data\nend\n"}},{"html_id":"send_command_to_an_object(id:String,command_id:String,body:Array(JSON::Any))-instance-method","name":"send_command_to_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"args_string":"(id : String, command_id : String, body : Array(JSON::Any))","args_html":"(id : String, command_id : String, body : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L172"},"def":{"name":"send_command_to_an_object","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"response = put_request(\"/objects/#{id}/commands/#{command_id}\", body: body)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L36"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry <= Time.utc"}},{"html_id":"update_data-instance-method","name":"update_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L177"},"def":{"name":"update_data","visibility":"Public","body":"debug = {} of String => Hash(String, Float64)\ndata = {} of String => Hash(String, Float64)\n@equipment_ids_and_attributes.each do |id, attributes|\n equipment_points = get_equipment_points(id)\n equipment_points.points.each do |p|\n if attributes.includes?(p.name)\n else\n next\n end\n __temp_241 = p.equipment_name\n data[__temp_241]? || (data[__temp_241] = {} of String => Float64)\n __temp_243 = p.equipment_name\n debug[__temp_243]? || (debug[__temp_243] = {} of String => Float64)\n object_id = (p.object_url.split('/')).last\n value = get_attribute_value(object_id)\n data[p.equipment_name][p.name] = value\n debug[p.equipment_name][p.object_url] = value\n end\nend\naverages = calculate_averages(data)\n{data: self[:data] = data, count: @count, equipment_ids_and_attributes: @equipment_ids_and_attributes, debug: debug, averages: self[:averages] = averages}\n"}}]},{"html_id":"drivers/JohnsonControls/NetworkDevice","path":"JohnsonControls/NetworkDevice.html","kind":"class","full_name":"JohnsonControls::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alarms_url:String-instance-method","name":"alarms_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url","return_type":"String","visibility":"Public","body":"@alarms_url"}},{"html_id":"alarms_url=(alarms_url:String)-instance-method","name":"alarms_url=","abstract":false,"args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"args_string":"(alarms_url : String)","args_html":"(alarms_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url=","args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"visibility":"Public","body":"@alarms_url = alarms_url"}},{"html_id":"audits_url:String-instance-method","name":"audits_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url","return_type":"String","visibility":"Public","body":"@audits_url"}},{"html_id":"audits_url=(audits_url:String)-instance-method","name":"audits_url=","abstract":false,"args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"args_string":"(audits_url : String)","args_html":"(audits_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url=","args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"visibility":"Public","body":"@audits_url = audits_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"objects_url:String-instance-method","name":"objects_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url","return_type":"String","visibility":"Public","body":"@objects_url"}},{"html_id":"objects_url=(objects_url:String)-instance-method","name":"objects_url=","abstract":false,"args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"args_string":"(objects_url : String)","args_html":"(objects_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url=","args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"visibility":"Public","body":"@objects_url = objects_url"}},{"html_id":"parent_url:String-instance-method","name":"parent_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url","return_type":"String","visibility":"Public","body":"@parent_url"}},{"html_id":"parent_url=(parent_url:String)-instance-method","name":"parent_url=","abstract":false,"args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"args_string":"(parent_url : String)","args_html":"(parent_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url=","args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"visibility":"Public","body":"@parent_url = parent_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"trended_attributes_url:String-instance-method","name":"trended_attributes_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url","return_type":"String","visibility":"Public","body":"@trended_attributes_url"}},{"html_id":"trended_attributes_url=(trended_attributes_url:String)-instance-method","name":"trended_attributes_url=","abstract":false,"args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"args_string":"(trended_attributes_url : String)","args_html":"(trended_attributes_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url=","args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"visibility":"Public","body":"@trended_attributes_url = trended_attributes_url"}},{"html_id":"type_url:String-instance-method","name":"type_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url","return_type":"String","visibility":"Public","body":"@type_url"}},{"html_id":"type_url=(type_url:String)-instance-method","name":"type_url=","abstract":false,"args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"args_string":"(type_url : String)","args_html":"(type_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url=","args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"visibility":"Public","body":"@type_url = type_url"}}]},{"html_id":"drivers/JohnsonControls/Point","path":"JohnsonControls/Point.html","kind":"class","full_name":"JohnsonControls::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_name:String-instance-method","name":"equipment_name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name","return_type":"String","visibility":"Public","body":"@equipment_name"}},{"html_id":"equipment_name=(equipment_name:String)-instance-method","name":"equipment_name=","abstract":false,"args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"args_string":"(equipment_name : String)","args_html":"(equipment_name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name=","args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"visibility":"Public","body":"@equipment_name = equipment_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}}]},{"html_id":"drivers/JohnsonControls/Sample","path":"JohnsonControls/Sample.html","kind":"class","full_name":"JohnsonControls::Sample","name":"Sample","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L100"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"reliable:Bool-instance-method","name":"reliable","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable","return_type":"Bool","visibility":"Public","body":"@reliable"}},{"html_id":"reliable=(reliable:Bool)-instance-method","name":"reliable=","abstract":false,"args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"args_string":"(reliable : Bool)","args_html":"(reliable : Bool)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable=","args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"visibility":"Public","body":"@reliable = reliable"}},{"html_id":"timestamp:String-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp","return_type":"String","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:String)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"args_string":"(timestamp : String)","args_html":"(timestamp : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"value:Hash(String,JSON::Any)-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Hash(String,JSON::Any))-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"args_string":"(value : Hash(String, JSON::Any))","args_html":"(value : Hash(String, JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/SamplesResponse","path":"JohnsonControls/SamplesResponse.html","kind":"class","full_name":"JohnsonControls::SamplesResponse","name":"SamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L231"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L232"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Item)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items","return_type":"Array(Item)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Item))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"args_string":"(items : Array(Item))","args_html":"(items : Array(Item))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"visibility":"Public","body":"@items = items"}}]},{"html_id":"drivers/JohnsonControls/Value","path":"JohnsonControls/Value.html","kind":"class","full_name":"JohnsonControls::Value","name":"Value","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual:Float64-instance-method","name":"actual","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual","return_type":"Float64","visibility":"Public","body":"@actual"}},{"html_id":"actual=(actual:Float64)-instance-method","name":"actual=","abstract":false,"args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"args_string":"(actual : Float64)","args_html":"(actual : Float64)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual=","args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"visibility":"Public","body":"@actual = actual"}}]}]},{"html_id":"drivers/Juniper","path":"Juniper.html","kind":"module","full_name":"Juniper","name":"Juniper","abstract":false,"locations":[{"filename":"src/juniper/mist_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Juniper/Client","path":"Juniper/Client.html","kind":"class","full_name":"Juniper::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accuracy-instance-method","name":"accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L109"},"def":{"name":"accuracy","visibility":"Public","body":"if raw_accuracy\n return raw_accuracy\nend\n15 // num_locating_aps\n"}},{"html_id":"ap_id:String-instance-method","name":"ap_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id","return_type":"String","visibility":"Public","body":"@ap_id"}},{"html_id":"ap_id=(ap_id:String)-instance-method","name":"ap_id=","abstract":false,"args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"args_string":"(ap_id : String)","args_html":"(ap_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id=","args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"visibility":"Public","body":"@ap_id = ap_id"}},{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"family:String|Nil-instance-method","name":"family","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L86"},"def":{"name":"family","return_type":"String | ::Nil","visibility":"Public","body":"@family"}},{"html_id":"family=(family:String|Nil)-instance-method","name":"family=","abstract":false,"args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"args_string":"(family : String | Nil)","args_html":"(family : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L86"},"def":{"name":"family=","args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family = family"}},{"html_id":"guest:Guest|Nil-instance-method","name":"guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L115"},"def":{"name":"guest","return_type":"Guest | ::Nil","visibility":"Public","body":"@guest"}},{"html_id":"guest=(guest:Guest|Nil)-instance-method","name":"guest=","abstract":false,"args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"args_string":"(guest : Guest | Nil)","args_html":"(guest : Guest | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L115"},"def":{"name":"guest=","args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"visibility":"Public","body":"@guest = guest"}},{"html_id":"hostname:String|Nil-instance-method","name":"hostname","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname","return_type":"String | ::Nil","visibility":"Public","body":"@hostname"}},{"html_id":"hostname=(hostname:String|Nil)-instance-method","name":"hostname=","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"args_string":"(hostname : String | Nil)","args_html":"(hostname : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname=","args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@hostname = hostname"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"is_guest:Bool|Nil-instance-method","name":"is_guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_guest"}},{"html_id":"is_guest=(is_guest:Bool|Nil)-instance-method","name":"is_guest=","abstract":false,"args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"args_string":"(is_guest : Bool | Nil)","args_html":"(is_guest : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest=","args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_guest = is_guest"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L79"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L79"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacture:String|Nil-instance-method","name":"manufacture","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture","return_type":"String | ::Nil","visibility":"Public","body":"@manufacture"}},{"html_id":"manufacture=(manufacture:String|Nil)-instance-method","name":"manufacture=","abstract":false,"args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"args_string":"(manufacture : String | Nil)","args_html":"(manufacture : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture=","args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacture = manufacture"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L87"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String|Nil)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"args_string":"(model : String | Nil)","args_html":"(model : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L87"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_locating_aps:Int32-instance-method","name":"num_locating_aps","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps","return_type":"Int32","visibility":"Public","body":"@num_locating_aps"}},{"html_id":"num_locating_aps=(num_locating_aps:Int32)-instance-method","name":"num_locating_aps=","abstract":false,"args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"args_string":"(num_locating_aps : Int32)","args_html":"(num_locating_aps : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps=","args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"visibility":"Public","body":"@num_locating_aps = num_locating_aps"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L84"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L84"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"psk_id:String|Nil-instance-method","name":"psk_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id","return_type":"String | ::Nil","visibility":"Public","body":"@psk_id"}},{"html_id":"psk_id=(psk_id:String|Nil)-instance-method","name":"psk_id=","abstract":false,"args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"args_string":"(psk_id : String | Nil)","args_html":"(psk_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id=","args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@psk_id = psk_id"}},{"html_id":"raw_accuracy:Int32|Nil-instance-method","name":"raw_accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@raw_accuracy"}},{"html_id":"raw_accuracy=(raw_accuracy:Int32|Nil)-instance-method","name":"raw_accuracy=","abstract":false,"args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"args_string":"(raw_accuracy : Int32 | Nil)","args_html":"(raw_accuracy : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy=","args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@raw_accuracy = raw_accuracy"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"args_string":"(ssid : String)","args_html":"(ssid : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L82"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}},{"html_id":"username=(username:String|Nil)-instance-method","name":"username=","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil)","args_html":"(username : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L82"},"def":{"name":"username=","args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"@username = username"}},{"html_id":"wlan_id:String-instance-method","name":"wlan_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id","return_type":"String","visibility":"Public","body":"@wlan_id"}},{"html_id":"wlan_id=(wlan_id:String)-instance-method","name":"wlan_id=","abstract":false,"args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"args_string":"(wlan_id : String)","args_html":"(wlan_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id=","args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"visibility":"Public","body":"@wlan_id = wlan_id"}},{"html_id":"x:Float64-instance-method","name":"x","doc":"pixels","summary":"

pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L99"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","doc":"pixels","summary":"

pixels

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L99"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"x_m:Float64|Nil-instance-method","name":"x_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x_m"}},{"html_id":"x_m=(x_m:Float64|Nil)-instance-method","name":"x_m=","abstract":false,"args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"args_string":"(x_m : Float64 | Nil)","args_html":"(x_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m=","args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x_m = x_m"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L100"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L100"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}},{"html_id":"y_m:Float64|Nil-instance-method","name":"y_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y_m"}},{"html_id":"y_m=(y_m:Float64|Nil)-instance-method","name":"y_m=","abstract":false,"args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"args_string":"(y_m : Float64 | Nil)","args_html":"(y_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m=","args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y_m = y_m"}}]},{"html_id":"drivers/Juniper/Guest","path":"Juniper/Guest.html","kind":"class","full_name":"Juniper::Guest","name":"Guest","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L118"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L119"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"authorized:Bool-instance-method","name":"authorized","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized","return_type":"Bool","visibility":"Public","body":"@authorized"}},{"html_id":"authorized=(authorized:Bool)-instance-method","name":"authorized=","abstract":false,"args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"args_string":"(authorized : Bool)","args_html":"(authorized : Bool)","location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized=","args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"visibility":"Public","body":"@authorized = authorized"}},{"html_id":"authorized_expiring_time:Int64|Nil-instance-method","name":"authorized_expiring_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_expiring_time"}},{"html_id":"authorized_expiring_time=(authorized_expiring_time:Int64|Nil)-instance-method","name":"authorized_expiring_time=","abstract":false,"args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_expiring_time : Int64 | Nil)","args_html":"(authorized_expiring_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time=","args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_expiring_time = authorized_expiring_time"}},{"html_id":"authorized_time:Int64|Nil-instance-method","name":"authorized_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_time"}},{"html_id":"authorized_time=(authorized_time:Int64|Nil)-instance-method","name":"authorized_time=","abstract":false,"args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_time : Int64 | Nil)","args_html":"(authorized_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time=","args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_time = authorized_time"}},{"html_id":"company:String|Nil-instance-method","name":"company","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L127"},"def":{"name":"company","return_type":"String | ::Nil","visibility":"Public","body":"@company"}},{"html_id":"company=(company:String|Nil)-instance-method","name":"company=","abstract":false,"args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"args_string":"(company : String | Nil)","args_html":"(company : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L127"},"def":{"name":"company=","args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"visibility":"Public","body":"@company = company"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L126"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L126"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L125"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L125"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/LatLng","path":"Juniper/LatLng.html","kind":"struct","full_name":"Juniper::LatLng","name":"LatLng","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L71"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L71"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L72"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L72"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]},{"html_id":"drivers/Juniper/LocationAsset","path":"Juniper/LocationAsset.html","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"battery_voltage:Float64|Nil-instance-method","name":"battery_voltage","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage","return_type":"Float64 | ::Nil","visibility":"Public","body":"@battery_voltage"}},{"html_id":"battery_voltage=(battery_voltage:Float64|Nil)-instance-method","name":"battery_voltage=","abstract":false,"args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"args_string":"(battery_voltage : Float64 | Nil)","args_html":"(battery_voltage : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage=","args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@battery_voltage = battery_voltage"}},{"html_id":"eddystone_uid_instance:String|Nil-instance-method","name":"eddystone_uid_instance","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_instance"}},{"html_id":"eddystone_uid_instance=(eddystone_uid_instance:String|Nil)-instance-method","name":"eddystone_uid_instance=","abstract":false,"args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_instance : String | Nil)","args_html":"(eddystone_uid_instance : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance=","args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_instance = eddystone_uid_instance"}},{"html_id":"eddystone_uid_namespace:String|Nil-instance-method","name":"eddystone_uid_namespace","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_namespace"}},{"html_id":"eddystone_uid_namespace=(eddystone_uid_namespace:String|Nil)-instance-method","name":"eddystone_uid_namespace=","abstract":false,"args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_namespace : String | Nil)","args_html":"(eddystone_uid_namespace : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace=","args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_namespace = eddystone_uid_namespace"}},{"html_id":"eddystone_url_url:String|Nil-instance-method","name":"eddystone_url_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_url_url"}},{"html_id":"eddystone_url_url=(eddystone_url_url:String|Nil)-instance-method","name":"eddystone_url_url=","abstract":false,"args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"args_string":"(eddystone_url_url : String | Nil)","args_html":"(eddystone_url_url : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url=","args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_url_url = eddystone_url_url"}},{"html_id":"ibeacon_major:Int64|Nil-instance-method","name":"ibeacon_major","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_major"}},{"html_id":"ibeacon_major=(ibeacon_major:Int64|Nil)-instance-method","name":"ibeacon_major=","abstract":false,"args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_major : Int64 | Nil)","args_html":"(ibeacon_major : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major=","args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_major = ibeacon_major"}},{"html_id":"ibeacon_minor:Int64|Nil-instance-method","name":"ibeacon_minor","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_minor"}},{"html_id":"ibeacon_minor=(ibeacon_minor:Int64|Nil)-instance-method","name":"ibeacon_minor=","abstract":false,"args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_minor : Int64 | Nil)","args_html":"(ibeacon_minor : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor=","args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_minor = ibeacon_minor"}},{"html_id":"ibeacon_uuid:String|Nil-instance-method","name":"ibeacon_uuid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid","return_type":"String | ::Nil","visibility":"Public","body":"@ibeacon_uuid"}},{"html_id":"ibeacon_uuid=(ibeacon_uuid:String|Nil)-instance-method","name":"ibeacon_uuid=","abstract":false,"args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"args_string":"(ibeacon_uuid : String | Nil)","args_html":"(ibeacon_uuid : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid=","args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ibeacon_uuid = ibeacon_uuid"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L191"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L191"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"mfg_company_id:Int64|Nil-instance-method","name":"mfg_company_id","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mfg_company_id"}},{"html_id":"mfg_company_id=(mfg_company_id:Int64|Nil)-instance-method","name":"mfg_company_id=","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"args_string":"(mfg_company_id : Int64 | Nil)","args_html":"(mfg_company_id : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id=","args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@mfg_company_id = mfg_company_id"}},{"html_id":"mfg_data:String|Nil-instance-method","name":"mfg_data","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data","return_type":"String | ::Nil","visibility":"Public","body":"@mfg_data"}},{"html_id":"mfg_data=(mfg_data:String|Nil)-instance-method","name":"mfg_data=","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"args_string":"(mfg_data : String | Nil)","args_html":"(mfg_data : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data=","args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mfg_data = mfg_data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L190"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationEvent","path":"Juniper/LocationEvent.html","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationAsset","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset"},{"html_id":"drivers/Juniper/LocationSDK","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK"},{"html_id":"drivers/Juniper/LocationWifi","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"sdk\"\n LocationSDK.from_json(json)\nwhen \"wifi\"\n LocationWifi.from_json(json)\nwhen \"asset\"\n LocationAsset.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L167"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L167"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L168"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L168"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Juniper/LocationEvents","path":"Juniper/LocationEvents.html","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L149"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(LocationEvent)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L151"},"def":{"name":"events","return_type":"Array(LocationEvent)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L150"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/LocationSDK","path":"Juniper/LocationSDK.html","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L181"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L181"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L180"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L180"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L179"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationWifi","path":"Juniper/LocationWifi.html","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L184"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L184"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L186"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L186"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L185"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/Map","path":"Juniper/Map.html","kind":"class","full_name":"Juniper::Map","name":"Map","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/MapGoogle","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle"},{"html_id":"drivers/Juniper/MapImage","kind":"class","full_name":"Juniper::MapImage","name":"MapImage"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"image\"\n MapImage.from_json(json)\nwhen \"google\"\n MapGoogle.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L21"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L21"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/MapGoogle","path":"Juniper/MapGoogle.html","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_right_coordinates:LatLng-instance-method","name":"bottom_right_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates","return_type":"LatLng","visibility":"Public","body":"@bottom_right_coordinates"}},{"html_id":"bottom_right_coordinates=(bottom_right_coordinates:LatLng)-instance-method","name":"bottom_right_coordinates=","abstract":false,"args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"args_string":"(bottom_right_coordinates : LatLng)","args_html":"(bottom_right_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates=","args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@bottom_right_coordinates = bottom_right_coordinates"}},{"html_id":"origin_x:Float64-instance-method","name":"origin_x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x","return_type":"Float64","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Float64)-instance-method","name":"origin_x=","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"args_string":"(origin_x : Float64)","args_html":"(origin_x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Float64-instance-method","name":"origin_y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y","return_type":"Float64","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Float64)-instance-method","name":"origin_y=","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"args_string":"(origin_y : Float64)","args_html":"(origin_y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"top_left_coordinates:LatLng-instance-method","name":"top_left_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates","return_type":"LatLng","visibility":"Public","body":"@top_left_coordinates"}},{"html_id":"top_left_coordinates=(top_left_coordinates:LatLng)-instance-method","name":"top_left_coordinates=","abstract":false,"args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"args_string":"(top_left_coordinates : LatLng)","args_html":"(top_left_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates=","args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@top_left_coordinates = top_left_coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L56"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"view:String-instance-method","name":"view","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L57"},"def":{"name":"view","return_type":"String","visibility":"Public","body":"@view"}},{"html_id":"view=(view:String)-instance-method","name":"view=","abstract":false,"args":[{"name":"view","external_name":"view","restriction":"String"}],"args_string":"(view : String)","args_html":"(view : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L57"},"def":{"name":"view=","args":[{"name":"view","external_name":"view","restriction":"String"}],"visibility":"Public","body":"@view = view"}}]},{"html_id":"drivers/Juniper/MapImage","path":"Juniper/MapImage.html","kind":"class","full_name":"Juniper::MapImage","name":"MapImage","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Int32-instance-method","name":"height","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L41"},"def":{"name":"height","return_type":"Int32","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Int32)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(height : Int32)","args_html":"(height : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L41"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"@height = height"}},{"html_id":"height_m:Float64|Nil-instance-method","name":"height_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height_m"}},{"html_id":"height_m=(height_m:Float64|Nil)-instance-method","name":"height_m=","abstract":false,"args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"args_string":"(height_m : Float64 | Nil)","args_html":"(height_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m=","args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@height_m = height_m"}},{"html_id":"locked:Bool|Nil-instance-method","name":"locked","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L52"},"def":{"name":"locked","return_type":"Bool | ::Nil","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool|Nil)-instance-method","name":"locked=","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"args_string":"(locked : Bool | Nil)","args_html":"(locked : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L52"},"def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@locked = locked"}},{"html_id":"org_id:String|Nil-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id","return_type":"String | ::Nil","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String|Nil)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"args_string":"(org_id : String | Nil)","args_html":"(org_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"orientation:Int32|Nil-instance-method","name":"orientation","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation","return_type":"Int32 | ::Nil","visibility":"Public","body":"@orientation"}},{"html_id":"orientation=(orientation:Int32|Nil)-instance-method","name":"orientation=","abstract":false,"args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"args_string":"(orientation : Int32 | Nil)","args_html":"(orientation : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation=","args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@orientation = orientation"}},{"html_id":"origin_x:Int32|Nil-instance-method","name":"origin_x","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Int32|Nil)-instance-method","name":"origin_x=","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"args_string":"(origin_x : Int32 | Nil)","args_html":"(origin_x : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Int32|Nil-instance-method","name":"origin_y","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Int32|Nil)-instance-method","name":"origin_y=","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"args_string":"(origin_y : Int32 | Nil)","args_html":"(origin_y : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"pixels_per_meter:Float32-instance-method","name":"pixels_per_meter","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter","return_type":"Float32","visibility":"Public","body":"@pixels_per_meter"}},{"html_id":"pixels_per_meter=(pixels_per_meter:Float32)-instance-method","name":"pixels_per_meter=","abstract":false,"args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"args_string":"(pixels_per_meter : Float32)","args_html":"(pixels_per_meter : Float32)","location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter=","args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"visibility":"Public","body":"@pixels_per_meter = pixels_per_meter"}},{"html_id":"site_id:String|Nil-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id","return_type":"String | ::Nil","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String|Nil)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String | Nil)","args_html":"(site_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"thumbnail_url:String-instance-method","name":"thumbnail_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url","return_type":"String","visibility":"Public","body":"@thumbnail_url"}},{"html_id":"thumbnail_url=(thumbnail_url:String)-instance-method","name":"thumbnail_url=","abstract":false,"args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"args_string":"(thumbnail_url : String)","args_html":"(thumbnail_url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url=","args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"visibility":"Public","body":"@thumbnail_url = thumbnail_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L31"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"width:Int32-instance-method","name":"width","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L40"},"def":{"name":"width","return_type":"Int32","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Int32)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"}],"args_string":"(width : Int32)","args_html":"(width : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L40"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Int32"}],"visibility":"Public","body":"@width = width"}},{"html_id":"width_m:Float64|Nil-instance-method","name":"width_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width_m"}},{"html_id":"width_m=(width_m:Float64|Nil)-instance-method","name":"width_m=","abstract":false,"args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"args_string":"(width_m : Float64 | Nil)","args_html":"(width_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m=","args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@width_m = width_m"}}]},{"html_id":"drivers/Juniper/Mist","path":"Juniper/Mist.html","kind":"class","full_name":"Juniper::Mist","name":"Mist","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(site_id:String,client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(site_id : String, client_mac : String)","args_html":"(site_id : String, client_mac : String)","location":{"filename":"src/juniper/mist.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L117"},"def":{"name":"client","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"clients(site_id:String,map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String, map_id : String | Nil = nil)","args_html":"(site_id : String, map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L109"},"def":{"name":"clients","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L97"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"location_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"location_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/juniper/mist.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L124"},"def":{"name":"location_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nvalidation = if signature = headers[\"X-Mist-Signature-v2\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA256, @webhook_secret, body)).downcase\nelse\n if signature = headers[\"X-Mist-Signature\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA1, @webhook_secret, body)).downcase\n else\n logger.warn do\n \"webhook called without validation signature\"\n end\n return {HTTP::Status::NOT_FOUND.to_i, EMPTY_HEADERS, \"\"}\n end\nend\nif validation != signature.downcase\n logger.warn do\n \"validation failed, check webhook secret\"\n end\n return {HTTP::Status::UNAUTHORIZED.to_i, EMPTY_HEADERS, \"\"}\nend\nbegin\n event_data = WebhookEvent.from_json(body)\n logger.debug do\n \"parsed mist webhook payload\"\n end\n if event_data.topic != \"location\"\n logger.debug do\n \"ignoring message type: #{event_data.topic}\"\n end\n return SUCCESS_RESPONSE\n end\n sites = Hash(String, Array(LocationEvent)).new do |hash, site|\n hash[site] = [] of LocationEvent\n end\n (event_data.events.as(Array(LocationEvent))).each do |event|\n sites[event.site_id] << event\n end\n sites.each do |site, events|\n self[site] = events\n end\nrescue e\n logger.error(exception: e) do\n \"failed to parse mist webhook payload\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}},{"html_id":"maps(site_id:String)-instance-method","name":"maps","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L105"},"def":{"name":"maps","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nschedule.cron(\"0 * * * *\") do\n reset_rate_limit\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L36"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@org_id = setting(String, :org_id)\n@webhook_secret = (setting?(String, :webhook_secret)) || \"\"\n"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L101"},"def":{"name":"sites","visibility":"Public","body":"request(Array(Site)) do |headers|\n get(\"/api/v1/orgs/#{@org_id}/sites\", headers: headers)\nend"}}]},{"html_id":"drivers/Juniper/MistLocationService","path":"Juniper/MistLocationService.html","kind":"class","full_name":"Juniper::MistLocationService","name":"MistLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/juniper/mist_location_service.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L118"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = (mist.ownership_of(lookup)).get.as_s?\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L130"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of String\nend\nmaps = [] of String\n@floorplan_mappings.each do |map_id, data|\n if data.values.includes?(zone_id)\n maps << map_id\n end\nend\nlogger.debug do\n \"found matching mist maps: #{maps}\"\nend\nif maps.empty?\n return [] of String\nend\nignore_older = @max_location_age.ago.to_unix\nall_devices = maps.flat_map do |map_id|\n clients = (mist.status?(Array(Client), map_id)) || ([] of Client)\n mappings = @floorplan_mappings[map_id]\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n clients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\n end\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L197"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"clients = Array(Client).from_json((mist.locate(username.presence || email.presence.not_nil!)).get.to_json)\nignore_older = @max_location_age.ago.to_unix\nclients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n map_id = client.map_id\n mappings = @floorplan_mappings[map_id]?\n if mappings\n else\n next\n end\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\nend\n"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","doc":"Proxies the data to the mist driver","summary":"

Proxies the data to the mist driver

","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_location_service.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L113"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"mist.mac_address_mappings(username, macs, domain)"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L107"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(mist.macs_assigned_to(username.presence || email.presence.not_nil!)).get.as_a.map(&.as_s)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Int32)), :floorplan_mappings)) || @floorplan_mappings\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\nschedule.clear\nschedule.every(10.minutes) do\n sync_map_sizes\nend\nschedule.in(20.seconds) do\n sync_map_sizes\nend\n"}}]},{"html_id":"drivers/Juniper/MistWebsocket","path":"Juniper/MistWebsocket.html","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L162"},"def":{"name":"client","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"client_data:Hash(String,Client)-instance-method","name":"client_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L36"},"def":{"name":"client_data","return_type":"Hash(String, Client)","visibility":"Public","body":"if (value = @client_data).nil?\n @client_data = ({} of String => Client)\nelse\n value\nend"}},{"html_id":"clients(map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil = nil)","args_html":"(map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L154"},"def":{"name":"clients","args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L69"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\n@location_data = nil\n@client_data = nil\nschedule.every(45.seconds, immediate: true) do\n transport.send({subscribe: \"/sites/#{@site_id}/stats/clients\"}.to_json)\nend\nsync_clients\nschedule.every(3.seconds) do\n update_client_locations\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L82"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@connected = false\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L195"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L186"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L142"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"locate(username:String)-instance-method","name":"locate","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String)","args_html":"(username : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L213"},"def":{"name":"locate","args":[{"name":"username","external_name":"username","restriction":"String"}],"visibility":"Public","body":"(macs_assigned_to(username)).compact_map do |mac|\n self[mac]?\nend"}},{"html_id":"location_data:Hash(String,Hash(String,Client))-instance-method","name":"location_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L32"},"def":{"name":"location_data","return_type":"Hash(String, Hash(String, Client))","visibility":"Public","body":"if (value = @location_data).nil?\n @location_data = (Hash(String, Hash(String, Client)).new do |hash, map_id|\n hash[map_id] = {} of String => Client\n end)\nelse\n value\nend"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_websocket.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L254"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"macs_assigned_to(username:String):Array(String)-instance-method","name":"macs_assigned_to","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String) : Array(String)","args_html":"(username : String) : Array(String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L199"},"def":{"name":"macs_assigned_to","args":[{"name":"username","external_name":"username","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username)\nif macs = user_mac_mappings do |s|\n s[username]?\nend\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"maps-instance-method","name":"maps","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L150"},"def":{"name":"maps","visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\ntransport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@site_id = setting(String, :site_id)\nif @site_id == \"site_id\"\nelse\n transport.http_uri_override = URI.parse(\"https://api.mist.com\")\nend\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\nif @connected\n connected\nend\n"}},{"html_id":"ownership_of(mac_address:String)-instance-method","name":"ownership_of","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L208"},"def":{"name":"ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"mac_address = format_mac(mac_address)\nuser_mac_mappings do |storage|\n storage[mac_address]?\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"string = (String.new(data)).rstrip\nlogger.debug do\n \"websocket sent: #{string}\"\nend\nevent = WebsocketEvent.from_json(string)\nif event_data = event.data\n update_location(client_data, location_data, event_data)\nend\ntask.try(&.success)\n"}},{"html_id":"site_list(org_id:String)-instance-method","name":"site_list","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L146"},"def":{"name":"site_list","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Hash(String, JSON::Any))) do |headers|\n get(\"/api/v1/installer/orgs/#{org_id}/sites\", headers: headers)\nend"}},{"html_id":"sync_clients-instance-method","name":"sync_clients","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L123"},"def":{"name":"sync_clients","visibility":"Public","body":"clients_resp = clients\nloc_data = location_data\ncli_data = client_data\nclients_resp.each do |client|\n update_location(cli_data, loc_data, client)\nend\nloc_data.each do |map_id, clients|\n self[map_id] = clients.values\nend\nlocation_data.size\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L62"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"Authorization\" => @api_token, \"User-Agent\" => \"PlaceOS/2.0 PlaceTechnology\"}"}}],"types":[{"html_id":"drivers/Juniper/MistWebsocket/WebsocketEvent","path":"Juniper/MistWebsocket/WebsocketEvent.html","kind":"struct","full_name":"Juniper::MistWebsocket::WebsocketEvent","name":"WebsocketEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper/MistWebsocket","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L170"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"data:Client|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L171"},"def":{"name":"data","return_type":"Client | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L169"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]}]},{"html_id":"drivers/Juniper/OtherEvents","path":"Juniper/OtherEvents.html","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(JSON::Any)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L157"},"def":{"name":"events","return_type":"Array(JSON::Any)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L156"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/Site","path":"Juniper/Site.html","kind":"class","full_name":"Juniper::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"country_code:String-instance-method","name":"country_code","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code","return_type":"String","visibility":"Public","body":"@country_code"}},{"html_id":"country_code=(country_code:String)-instance-method","name":"country_code=","abstract":false,"args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"args_string":"(country_code : String)","args_html":"(country_code : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code=","args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"visibility":"Public","body":"@country_code = country_code"}},{"html_id":"created_time:Int64-instance-method","name":"created_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time","return_type":"Int64","visibility":"Public","body":"@created_time"}},{"html_id":"created_time=(created_time:Int64)-instance-method","name":"created_time=","abstract":false,"args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"args_string":"(created_time : Int64)","args_html":"(created_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time=","args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"visibility":"Public","body":"@created_time = created_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"modified_time:Int64-instance-method","name":"modified_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time","return_type":"Int64","visibility":"Public","body":"@modified_time"}},{"html_id":"modified_time=(modified_time:Int64)-instance-method","name":"modified_time=","abstract":false,"args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"args_string":"(modified_time : Int64)","args_html":"(modified_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time=","args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"visibility":"Public","body":"@modified_time = modified_time"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"org_id:String-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id","return_type":"String","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}}]},{"html_id":"drivers/Juniper/WebhookEvent","path":"Juniper/WebhookEvent.html","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationEvents","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents"},{"html_id":"drivers/Juniper/OtherEvents","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L133"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"topic\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'topic' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'topic'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n LocationEvents.from_json(json)\nwhen \"zone\"\n OtherEvents.from_json(json)\nwhen \"asset-raw\"\n OtherEvents.from_json(json)\nwhen \"device-events\"\n OtherEvents.from_json(json)\nwhen \"device-updowns\"\n OtherEvents.from_json(json)\nwhen \"alarms\"\n OtherEvents.from_json(json)\nwhen \"audits\"\n OtherEvents.from_json(json)\nwhen \"client-join\"\n OtherEvents.from_json(json)\nwhen \"client-sessions\"\n OtherEvents.from_json(json)\nwhen \"ping\"\n OtherEvents.from_json(json)\nwhen \"occupancy-alerts\"\n OtherEvents.from_json(json)\nwhen \"sdkclient-scan-data\"\n OtherEvents.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'topic' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]}]},{"html_id":"drivers/Kaiterra","path":"Kaiterra.html","kind":"module","full_name":"Kaiterra","name":"Kaiterra","abstract":false,"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kaiterra/API","path":"Kaiterra/API.html","kind":"class","full_name":"Kaiterra::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Kaiterra","kind":"module","full_name":"Kaiterra","name":"Kaiterra"},"instance_methods":[{"html_id":"batch(body:Array(Request),params:Hash(String,String)={}ofString=>String)-instance-method","name":"batch","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","args_html":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L118"},"def":{"name":"batch","args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = post(generate_url(\"/batch\", params), body: body.to_json, headers: generate_headers({\"Content-Type\" => \"application/json\", \"Content-Encoding\" => \"UTF-8\"}))\nArray(BatchResponse).from_json(response.body)\n"}},{"html_id":"get_devices(id:String,params:Hash(String,String)={}ofString=>String)-instance-method","name":"get_devices","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(id : String, params : Hash(String, String) = {} of String => String)","args_html":"(id : String, params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L93"},"def":{"name":"get_devices","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = get(generate_url(\"/devices/#{id}/top\", params), headers: generate_headers)\nResponse.from_json(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}}],"types":[{"html_id":"drivers/Kaiterra/API/BatchResponse","path":"Kaiterra/API/BatchResponse.html","kind":"class","full_name":"Kaiterra::API::BatchResponse","name":"BatchResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L114"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L114"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"code:Int64-instance-method","name":"code","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L115"},"def":{"name":"code","return_type":"Int64","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int64)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int64"}],"args_string":"(code : Int64)","args_html":"(code : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L115"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int64"}],"visibility":"Public","body":"@code = code"}}]},{"html_id":"drivers/Kaiterra/API/Data","path":"Kaiterra/API/Data.html","kind":"class","full_name":"Kaiterra::API::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L83"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L84"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"param:Param-instance-method","name":"param","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L86"},"def":{"name":"param","return_type":"Param","visibility":"Public","body":"@param"}},{"html_id":"param=(param:Param)-instance-method","name":"param=","abstract":false,"args":[{"name":"param","external_name":"param","restriction":"Param"}],"args_string":"(param : Param)","args_html":"(param : Param)","location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L86"},"def":{"name":"param=","args":[{"name":"param","external_name":"param","restriction":"Param"}],"visibility":"Public","body":"@param = param"}},{"html_id":"points:Array(JSON::Any::Type)-instance-method","name":"points","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L90"},"def":{"name":"points","return_type":"Array(JSON::Any::Type)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(JSON::Any::Type))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"args_string":"(points : Array(JSON::Any::Type))","args_html":"(points : Array(JSON::Any::Type))","location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L90"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"visibility":"Public","body":"@points = points"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L88"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:String|Nil)-instance-method","name":"source=","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(source : String | Nil)","args_html":"(source : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L88"},"def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"@source = source"}},{"html_id":"span:Int64-instance-method","name":"span","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L89"},"def":{"name":"span","return_type":"Int64","visibility":"Public","body":"@span"}},{"html_id":"span=(span:Int64)-instance-method","name":"span=","abstract":false,"args":[{"name":"span","external_name":"span","restriction":"Int64"}],"args_string":"(span : Int64)","args_html":"(span : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L89"},"def":{"name":"span=","args":[{"name":"span","external_name":"span","restriction":"Int64"}],"visibility":"Public","body":"@span = span"}},{"html_id":"units:Unit-instance-method","name":"units","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L87"},"def":{"name":"units","return_type":"Unit","visibility":"Public","body":"@units"}},{"html_id":"units=(units:Unit)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"Unit"}],"args_string":"(units : Unit)","args_html":"(units : Unit)","location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L87"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"Unit"}],"visibility":"Public","body":"@units = units"}}]},{"html_id":"drivers/Kaiterra/API/Param","path":"Kaiterra/API/Param.html","kind":"enum","full_name":"Kaiterra::API::Param","name":"Param","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Rco2","name":"Rco2","value":"0"},{"id":"Ro3","name":"Ro3","value":"1"},{"id":"Rpm25c","name":"Rpm25c","value":"2"},{"id":"Rpm10c","name":"Rpm10c","value":"3"},{"id":"Rhumid","name":"Rhumid","value":"4"},{"id":"Rtemp","name":"Rtemp","value":"5"},{"id":"Rtvoc","name":"Rtvoc","value":"6"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"instance_methods":[{"html_id":"rco2?-instance-method","name":"rco2?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L26"},"def":{"name":"rco2?","visibility":"Public","body":"self == Rco2"}},{"html_id":"rhumid?-instance-method","name":"rhumid?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L30"},"def":{"name":"rhumid?","visibility":"Public","body":"self == Rhumid"}},{"html_id":"ro3?-instance-method","name":"ro3?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L27"},"def":{"name":"ro3?","visibility":"Public","body":"self == Ro3"}},{"html_id":"rpm10c?-instance-method","name":"rpm10c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L29"},"def":{"name":"rpm10c?","visibility":"Public","body":"self == Rpm10c"}},{"html_id":"rpm25c?-instance-method","name":"rpm25c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L28"},"def":{"name":"rpm25c?","visibility":"Public","body":"self == Rpm25c"}},{"html_id":"rtemp?-instance-method","name":"rtemp?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L31"},"def":{"name":"rtemp?","visibility":"Public","body":"self == Rtemp"}},{"html_id":"rtvoc?-instance-method","name":"rtvoc?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L32"},"def":{"name":"rtvoc?","visibility":"Public","body":"self == Rtvoc"}}]},{"html_id":"drivers/Kaiterra/API/Request","path":"Kaiterra/API/Request.html","kind":"class","full_name":"Kaiterra::API::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L102"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String|Nil-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L108"},"def":{"name":"body","return_type":"String | ::Nil","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String|Nil)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(body : String | Nil)","args_html":"(body : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L108"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"@body = body"}},{"html_id":"headers:Array(NamedTuple(name:String,value:String))|Nil-instance-method","name":"headers","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L107"},"def":{"name":"headers","return_type":"Array(NamedTuple(name: String, value: String)) | ::Nil","visibility":"Public","body":"@headers"}},{"html_id":"headers=(headers:Array(NamedTuple(name:String,value:String))|Nil)-instance-method","name":"headers=","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"args_string":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","args_html":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L107"},"def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L104"},"def":{"name":"method","return_type":"String","visibility":"Public","body":"@method"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L104"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"relative_url:String-instance-method","name":"relative_url","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url","return_type":"String","visibility":"Public","body":"@relative_url"}},{"html_id":"relative_url=(relative_url:String)-instance-method","name":"relative_url=","abstract":false,"args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"args_string":"(relative_url : String)","args_html":"(relative_url : String)","location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url=","args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"visibility":"Public","body":"@relative_url = relative_url"}}]},{"html_id":"drivers/Kaiterra/API/Response","path":"Kaiterra/API/Response.html","kind":"class","full_name":"Kaiterra::API::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L76"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L77"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Data)|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L79"},"def":{"name":"data","return_type":"Array(Data) | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Array(Data)|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"args_string":"(data : Array(Data) | Nil)","args_html":"(data : Array(Data) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L79"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"visibility":"Public","body":"@data = data"}},{"html_id":"errors:Array(JSON::Any::Type)|Nil-instance-method","name":"errors","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L80"},"def":{"name":"errors","return_type":"Array(JSON::Any::Type) | ::Nil","visibility":"Public","body":"@errors"}},{"html_id":"errors=(errors:Array(JSON::Any::Type)|Nil)-instance-method","name":"errors=","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"args_string":"(errors : Array(JSON::Any::Type) | Nil)","args_html":"(errors : Array(JSON::Any::Type) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L80"},"def":{"name":"errors=","args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"visibility":"Public","body":"@errors = errors"}}]},{"html_id":"drivers/Kaiterra/API/Unit","path":"Kaiterra/API/Unit.html","kind":"enum","full_name":"Kaiterra::API::Unit","name":"Unit","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ppm","name":"Ppm","value":"0"},{"id":"Ppb","name":"Ppb","value":"1"},{"id":"MicrogramsPerCubicMeter","name":"MicrogramsPerCubicMeter","value":"2"},{"id":"MilligramsPerCubicMeter","name":"MilligramsPerCubicMeter","value":"3"},{"id":"C","name":"C","value":"4"},{"id":"F","name":"F","value":"5"},{"id":"X","name":"X","value":"6"},{"id":"Percentage","name":"Percentage","value":"7"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"class_methods":[{"html_id":"parse(string)-class-method","name":"parse","abstract":false,"args":[{"name":"string","external_name":"string","restriction":""}],"args_string":"(string)","args_html":"(string)","location":{"filename":"src/kaiterra/api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L45"},"def":{"name":"parse","args":[{"name":"string","external_name":"string","restriction":""}],"visibility":"Public","body":"case string\nwhen \"µg/m³\"\n Unit::MicrogramsPerCubicMeter\nwhen \"mg/m³\"\n Unit::MilligramsPerCubicMeter\nwhen \"%\"\n Unit::Percentage\nelse\n super(string)\nend"}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"parse(pull.read_string)"}}],"instance_methods":[{"html_id":"c?-instance-method","name":"c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L40"},"def":{"name":"c?","visibility":"Public","body":"self == C"}},{"html_id":"f?-instance-method","name":"f?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L41"},"def":{"name":"f?","visibility":"Public","body":"self == F"}},{"html_id":"micrograms_per_cubic_meter?-instance-method","name":"micrograms_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L38"},"def":{"name":"micrograms_per_cubic_meter?","visibility":"Public","body":"self == MicrogramsPerCubicMeter"}},{"html_id":"milligrams_per_cubic_meter?-instance-method","name":"milligrams_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L39"},"def":{"name":"milligrams_per_cubic_meter?","visibility":"Public","body":"self == MilligramsPerCubicMeter"}},{"html_id":"percentage?-instance-method","name":"percentage?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L43"},"def":{"name":"percentage?","visibility":"Public","body":"self == Percentage"}},{"html_id":"ppb?-instance-method","name":"ppb?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L37"},"def":{"name":"ppb?","visibility":"Public","body":"self == Ppb"}},{"html_id":"ppm?-instance-method","name":"ppm?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L36"},"def":{"name":"ppm?","visibility":"Public","body":"self == Ppm"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L62"},"def":{"name":"to_s","visibility":"Public","body":"case self\nwhen Unit::MicrogramsPerCubicMeter\n \"µg/m³\"\nwhen Unit::MilligramsPerCubicMeter\n \"mg/m³\"\nwhen Unit::Percentage\n \"%\"\nelse\n super()\nend"}},{"html_id":"x?-instance-method","name":"x?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L42"},"def":{"name":"x?","visibility":"Public","body":"self == X"}}]}]}]},{"html_id":"drivers/KontaktIO","path":"KontaktIO.html","kind":"module","full_name":"KontaktIO","name":"KontaktIO","abstract":false,"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/KontaktIO/Building","path":"KontaktIO/Building.html","kind":"class","full_name":"KontaktIO::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L150"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L155"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L154"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L159"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L152"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L156"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L157"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L153"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/KontaktIO/Campus","path":"KontaktIO/Campus.html","kind":"class","full_name":"KontaktIO::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L168"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"buildings:Array(Building)-instance-method","name":"buildings","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L174"},"def":{"name":"buildings","return_type":"Array(Building)","visibility":"Public","body":"@buildings"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L167"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L165"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L171"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L172"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L166"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L170"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/KontaktIO/Contact","path":"KontaktIO/Contact.html","kind":"class","full_name":"KontaktIO::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration_sec:Int32-instance-method","name":"duration_sec","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L62"},"def":{"name":"duration_sec","return_type":"Int32","visibility":"Public","body":"@duration_sec"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L53"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L56"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L59"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}}]},{"html_id":"drivers/KontaktIO/ContactTracing","path":"KontaktIO/ContactTracing.html","kind":"class","full_name":"KontaktIO::ContactTracing","name":"ContactTracing","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/contact_tracing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"close_contacts(email:String|Nil=nil,username:String|Nil=nil,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil)-instance-method","name":"close_contacts","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L13"},"def":{"name":"close_contacts","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"macs = (location_services.macs_assigned_to(email, username)).get.as_a.map(&.as_s)\nperiods = [] of Tuple(Int64, Int64)\nperiod_start = start_time || 2.days.ago.to_unix\nperiod_end = end_time || 1.days.ago.to_unix\nloop do\n temp_ending = period_start + 6.hours.to_i\n if temp_ending < period_end\n periods << {period_start, temp_ending}\n else\n periods << {period_start, period_end}\n break\n end\n period_start = temp_ending\nend\nlocations = [] of Tracking\nerrors = [] of Exception\nmacs.each do |mac|\n begin\n periods.each do |__arg1|\n starting = __arg1[0]\n ending = __arg1[1]\n raw_report = (kontakt.colocations(mac, starting, ending)).get.to_json\n locations.concat(Array(Tracking).from_json(raw_report))\n end\n rescue error\n logger.warn(exception: error) do\n \"locating close contacts\"\n end\n errors << error\n end\nend\nif locations.empty? && errors.size > 0\n raise(errors[0])\nend\nmacs = Set(String).new\nlocations.each do |location|\n macs << location.mac_address\nend\nmac_mappings = {} of String => String\nmacs.each do |mac|\n mac = format_mac(mac)\n if owner = (location_services.check_ownership_of(mac)).get.as_h?\n username = owner[\"assigned_to\"]?.try(&.as_s)\n if username\n else\n next\n end\n mac_mappings[mac] = username\n end\nend\ncontacts = {} of String => NamedTuple(mac_address: String, username: String | ::Nil, contact_time: Int64, duration: Int32)\nlocations.each do |location|\n mac = format_mac(location.mac_address)\n username = mac_mappings[mac]?\n duration = location.duration\n if current = contacts[username || mac]?\n if current[:duration] > duration\n next\n end\n end\n contacts[username || mac] = {mac_address: mac, username: username, contact_time: location.start_time.to_unix, duration: duration}\nend\ncontacts.values\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L93"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}}]},{"html_id":"drivers/KontaktIO/Floor","path":"KontaktIO/Floor.html","kind":"class","full_name":"KontaktIO::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64|Nil-instance-method","name":"height","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L136"},"def":{"name":"height","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L133"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L143"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"level:Int32|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L139"},"def":{"name":"level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L146"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L134"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"rotation:Float64|Nil-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L138"},"def":{"name":"rotation","return_type":"Float64 | ::Nil","visibility":"Public","body":"@rotation"}},{"html_id":"width:Float64|Nil-instance-method","name":"width","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L137"},"def":{"name":"width","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/KontaktIO/KioCloud","path":"KontaktIO/KioCloud.html","kind":"class","full_name":"KontaktIO::KioCloud","name":"KioCloud","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"campuses:Array(Campus)-instance-method","name":"campuses","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L113"},"def":{"name":"campuses","return_type":"Array(Campus)","visibility":"Public","body":"campuses = [] of Campus\nmake_request(\"GET\", \"/v2/locations/campuses\") do |data|\n resp = Response(Campus).from_json(data)\n campuses.concat(resp.content)\n resp.page\nend\ncampuses\n"}},{"html_id":"colocations(mac_address:String,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil):Array(Tracking)-instance-method","name":"colocations","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","args_html":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L86"},"def":{"name":"colocations","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"return_type":"Array(Tracking)","visibility":"Public","body":"ending = end_time ? Time.unix(end_time) : 10.minutes.ago\nstarting = start_time ? Time.unix(start_time) : (ending - 20.days)\ntracking = [] of Tracking\nmake_request(\"GET\", \"/v3/novid/colocations\", params: URI::Params {\"trackingId\" => ((format_mac(mac_address)).upcase.scan(/\\w{2}/)).map() do |__arg2|\n __arg2.to_a.first\nend.join(':'), \"startTime\" => starting.to_rfc3339, \"endTime\" => ending.to_rfc3339}) do |data|\n resp = Response(Tracking).from_json(data)\n tracking.concat(resp.content)\n resp.page\nend\ntracking\n"}},{"html_id":"create_channel(name:String,uri:String)-instance-method","name":"create_channel","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(name : String, uri : String)","args_html":"(name : String, uri : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L167"},"def":{"name":"create_channel","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"make_request(\"POST\", \"/v3/channels\", body: {status: :active, name: name, channel: {type: \"eventHub\", endpoint: uri, streamName: name, accessKey: \"test\", secretKey: \"test\", region: \"test\", sharedAccessKeyName: \"test\", eventHubName: \"test\", sharedAccessKey: \"test\"}}.to_json)"}},{"html_id":"delete_channel(id:Int32|String)-instance-method","name":"delete_channel","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"args_string":"(id : Int32 | String)","args_html":"(id : Int32 | String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L185"},"def":{"name":"delete_channel","args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"visibility":"Public","body":"make_request(\"DELETE\", \"/v3/channels\", params: URI::Params {\"id\" => id.to_s})"}},{"html_id":"event_hub(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"event_hub","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L162"},"def":{"name":"event_hub","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nlogger.debug do\n body\nend\n"}},{"html_id":"find(mac_address:String):Position|Nil-instance-method","name":"find","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : Position | Nil","args_html":"(mac_address : String) : Position | Nil","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L105"},"def":{"name":"find","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"Position | ::Nil","visibility":"Public","body":"data = make_request(\"GET\", \"/v2/positions\", params: URI::Params {\"trackingId\" => format_mac(mac_address)})\n(Response(Position).from_json(data)).content.first?\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L158"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"occupancy_cache:Hash(Int64,RoomOccupancy)-instance-method","name":"occupancy_cache","doc":"===================================\nCaching sensor data\n===================================","summary":"

=================================== Caching sensor data ===================================

","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L146"},"def":{"name":"occupancy_cache","return_type":"Hash(Int64, RoomOccupancy)","visibility":"Public","body":"@occupancy_cache"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)\npoll_every = ((setting?(Int32, :poll_every)) || 2).seconds\nschedule.clear\nschedule.every(poll_every) do\n cache_occupancy_counts\nend\n"}},{"html_id":"room_occupancy:Array(RoomOccupancy)-instance-method","name":"room_occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L133"},"def":{"name":"room_occupancy","return_type":"Array(RoomOccupancy)","visibility":"Public","body":"room_occupancy = [] of RoomOccupancy\nmake_request(\"GET\", \"/v3/occupancy/rooms\") do |data|\n resp = Response(RoomOccupancy).from_json(data)\n room_occupancy.concat(resp.content)\n resp.page\nend\nroom_occupancy\n"}},{"html_id":"rooms:Array(Room)-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L123"},"def":{"name":"rooms","return_type":"Array(Room)","visibility":"Public","body":"rooms = [] of Room\nmake_request(\"GET\", \"/v2/locations/rooms\") do |data|\n resp = Response(Room).from_json(data)\n rooms.concat(resp.content)\n resp.page\nend\nrooms\n"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings","path":"KontaktIO/MacAddressMappings.html","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"map_devices-instance-method","name":"map_devices","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L40"},"def":{"name":"map_devices","visibility":"Public","body":"request = \"https://api.kontakt.io/device?maxResult=500&deviceType=BEACON\"\nlocatable = system.implementing(Interface::Locatable)\nwhile request.presence\n response = HTTP::Client.get(request, headers: HTTP::Headers {\"Api-Key\" => @api_key, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/vnd.com.kontakt+json;version=10\"})\n logger.debug do\n \"request returned:\\n#{response.body}\"\n end\n case response.status_code\n when 303\n when 401\n logger.warn do\n \"The API Key is invalid or disabled\"\n end\n when 403\n logger.warn do\n \"User who created the API no longer has access to the Kio Cloud account or their user role doesn't allow access to the endpoint. Device error if the endpoint is not available for the device model.\"\n end\n end\n if response.success?\n else\n raise(\"request #{request} failed with status: #{response.status_code}\")\n end\n result = NamedTuple(devices: Array(DeviceDetails), searchMeta: SearchMeta).from_json(response.body)\n meta = result[:searchMeta]\n request = meta.next_results\n result[:devices].each do |device|\n if device.alias.presence\n else\n next\n end\n (locatable.mac_address_mappings(device.alias, {device.mac}, \"\")).get\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.every(1.hour) do\n map_devices\nend\nschedule.in(10.seconds) do\n map_devices\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)"}}],"types":[{"html_id":"drivers/KontaktIO/MacAddressMappings/DeviceDetails","path":"KontaktIO/MacAddressMappings/DeviceDetails.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::DeviceDetails","name":"DeviceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alias:String|Nil-instance-method","name":"alias","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L36"},"def":{"name":"alias","return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L37"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings/SearchMeta","path":"KontaktIO/MacAddressMappings/SearchMeta.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::SearchMeta","name":"SearchMeta","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_results:String-instance-method","name":"next_results","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L30"},"def":{"name":"next_results","return_type":"String","visibility":"Public","body":"@next_results"}}]}]},{"html_id":"drivers/KontaktIO/Page","path":"KontaktIO/Page.html","kind":"class","full_name":"KontaktIO::Page","name":"Page","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"number:Int32-instance-method","name":"number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L8"},"def":{"name":"number","return_type":"Int32","visibility":"Public","body":"@number"}},{"html_id":"size:Int32-instance-method","name":"size","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L7"},"def":{"name":"size","return_type":"Int32","visibility":"Public","body":"@size"}},{"html_id":"total_elements:Int32-instance-method","name":"total_elements","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L11"},"def":{"name":"total_elements","return_type":"Int32","visibility":"Public","body":"@total_elements"}},{"html_id":"total_pages:Int32-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L14"},"def":{"name":"total_pages","return_type":"Int32","visibility":"Public","body":"@total_pages"}}]},{"html_id":"drivers/KontaktIO/Position","path":"KontaktIO/Position.html","kind":"class","full_name":"KontaktIO::Position","name":"Position","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L118"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L121"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L115"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"last_update:String|Nil-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L124"},"def":{"name":"last_update","return_type":"String | ::Nil","visibility":"Public","body":"@last_update"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L109"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64|Nil-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L112"},"def":{"name":"room_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_id"}},{"html_id":"x:Int64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L125"},"def":{"name":"x","return_type":"Int64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"y:Int64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L126"},"def":{"name":"y","return_type":"Int64 | ::Nil","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/KontaktIO/Presence","path":"KontaktIO/Presence.html","kind":"class","full_name":"KontaktIO::Presence","name":"Presence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L87"},"def":{"name":"building_id","return_type":"Int64","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L90"},"def":{"name":"building_name","return_type":"String","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L93"},"def":{"name":"campus_id","return_type":"Int64","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L96"},"def":{"name":"campus_name","return_type":"String","visibility":"Public","body":"@campus_name"}},{"html_id":"company_id:String-instance-method","name":"company_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L69"},"def":{"name":"company_id","return_type":"String","visibility":"Public","body":"@company_id"}},{"html_id":"end_time:String-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L102"},"def":{"name":"end_time","return_type":"String","visibility":"Public","body":"@end_time"}},{"html_id":"floor_id:Int64-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L81"},"def":{"name":"floor_id","return_type":"Int64","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L84"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L72"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L78"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L75"},"def":{"name":"room_name","return_type":"String","visibility":"Public","body":"@room_name"}},{"html_id":"start_time:String-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L99"},"def":{"name":"start_time","return_type":"String","visibility":"Public","body":"@start_time"}}]},{"html_id":"drivers/KontaktIO/Response","path":"KontaktIO/Response.html","kind":"class","full_name":"KontaktIO::Response(T)","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Array(T)-instance-method","name":"content","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L20"},"def":{"name":"content","return_type":"Array(T)","visibility":"Public","body":"@content"}},{"html_id":"page:Page|Nil-instance-method","name":"page","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L21"},"def":{"name":"page","return_type":"Page | ::Nil","visibility":"Public","body":"@page"}}]},{"html_id":"drivers/KontaktIO/Room","path":"KontaktIO/Room.html","kind":"class","full_name":"KontaktIO::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L177"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor:Floor-instance-method","name":"floor","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L186"},"def":{"name":"floor","return_type":"Floor","visibility":"Public","body":"@floor"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L181"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L182"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_number:Int64|Nil-instance-method","name":"room_number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L189"},"def":{"name":"room_number","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_number"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L185"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}}]},{"html_id":"drivers/KontaktIO/RoomOccupancy","path":"KontaktIO/RoomOccupancy.html","kind":"struct","full_name":"KontaktIO::RoomOccupancy","name":"RoomOccupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L208"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String|Nil-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L211"},"def":{"name":"building_name","return_type":"String | ::Nil","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L214"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String|Nil-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L217"},"def":{"name":"campus_name","return_type":"String | ::Nil","visibility":"Public","body":"@campus_name"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L202"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String|Nil-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L205"},"def":{"name":"floor_name","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L220"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"occupancy:Int32-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L221"},"def":{"name":"occupancy","return_type":"Int32","visibility":"Public","body":"@occupancy"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L196"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String|Nil-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L199"},"def":{"name":"room_name","return_type":"String | ::Nil","visibility":"Public","body":"@room_name"}}]},{"html_id":"drivers/KontaktIO/RoomSensor","path":"KontaktIO/RoomSensor.html","kind":"class","full_name":"KontaktIO::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsubscribe_to_sensor\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L80"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nsensor = @space\nif sensor\nelse\n return nil\nend\nif mac == \"kontakt-#{sensor.room_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(sensor, :people_count)\nwhen \"presence\"\n build_sensor_details(sensor, :presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L61"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nsensor = @space\nif sensor\nelse\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac == \"kontakt-#{sensor.room_id}\"\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nbuild_sensors(sensor, sensor_type)\n"}},{"html_id":"space:RoomOccupancy-instance-method","name":"space","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space","return_type":"RoomOccupancy","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"KontaktIO::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:RoomOccupancy|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space?","return_type":"RoomOccupancy | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/KontaktIO/SensorService","path":"KontaktIO/SensorService.html","kind":"class","full_name":"KontaktIO::SensorService","name":"SensorService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/sensor_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L77"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nfloor_ids = @zone_lookup[zone_id]?\nif floor_ids && floor_ids.size > 0\nelse\n return [] of Nil\nend\nloc_type = \"desk\"\nif location && (location != loc_type)\n return [] of Nil\nend\ncache = @occupancy_cache\ncache.compact_map do |__arg0|\n room_id = __arg0[0]\n space = __arg0[1]\n if space.floor_id.in?(floor_ids)\n else\n next\n end\n people_count = space.occupancy\n if @return_empty_spaces || (people_count && people_count > 0)\n {location: loc_type, at_location: people_count, map_id: \"room-#{space.room_id}\", level: zone_id, building: @floor_mappings[space.floor_id.to_s]?.try(&.[](:building_id)), kontakt_io_room: space.room_name}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L72"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\nlookup = Hash(String, Array(Int64)).new do |hash, key|\n hash[key] = [] of Int64\nend\n@floor_mappings.each do |kontakt_floor_id, zones|\n begin\n kontakt_id = kontakt_floor_id.to_i64\n if building_id = zones[:building_id]\n lookup[building_id] << kontakt_id\n end\n lookup[zones[:level_id]] << kontakt_id\n rescue error\n logger.warn(exception: error) do\n \"invalid floor mapping #{kontakt_floor_id}\"\n end\n end\nend\n@zone_lookup = lookup\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L119"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id && (mac.starts_with?(\"kontakt-\"))\n else\n return nil\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\n if room\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(room, :people_count)\n when \"presence\"\n build_sensor_details(room, :presence)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L140"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac.starts_with?(\"kontakt-\")\n else\n return NO_MATCH\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\nend\nif zone_id\n levels = @zone_lookup[zone_id]?\nend\nrooms = if room\n {room}\nelse\n if levels\n @occupancy_cache.values.select do |r|\n floor_id = r.floor_id\n (floor_id.in?(levels)) || @floor_mappings[floor_id.to_s]?.nil?\n end\n else\n @occupancy_cache.values\n end\nend\nrooms.flat_map do |r|\n build_sensors(r, sensor_type)\nend\n"}}]},{"html_id":"drivers/KontaktIO/Tracking","path":"KontaktIO/Tracking.html","kind":"class","full_name":"KontaktIO::Tracking","name":"Tracking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contacts:Array(Contact)-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L42"},"def":{"name":"contacts","return_type":"Array(Contact)","visibility":"Public","body":"@contacts"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L44"},"def":{"name":"duration","visibility":"Public","body":"contacts.first.duration_sec"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L40"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L28"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L31"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L37"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}}]}]},{"html_id":"drivers/Kramer","path":"Kramer.html","kind":"module","full_name":"Kramer","name":"Kramer","abstract":false,"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kramer/RC308Panel","path":"Kramer/RC308Panel.html","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\"","doc":"\\r\\n 0D0A","summary":"

\\r\\n 0D0A

"}],"namespace":{"html_id":"drivers/Kramer","kind":"module","full_name":"Kramer","name":"Kramer"},"instance_methods":[{"html_id":"button_state(index:UInt8,light:Bool,red:UInt8|Nil=nil,green:UInt8|Nil=nil,blue:UInt8|Nil=nil)-instance-method","name":"button_state","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"args_string":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","args_html":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L57"},"def":{"name":"button_state","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"visibility":"Public","body":"data = \"#RGB #{index},#{red || @default.red},#{green || @default.green},#{blue || @default.blue},#{light ? '1' : '0'}\\r\"\nsend(data, name: \"button#{index}\")\n"}},{"html_id":"button_state?(index:UInt8,priority:Int32=0)-instance-method","name":"button_state?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(index : UInt8, priority : Int32 = 0)","args_html":"(index : UInt8, priority : Int32 = 0)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L62"},"def":{"name":"button_state?","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(\"#RGB? #{index}\\r\", priority: priority)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L42"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute, true) do\n query_state\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L47"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@default = (setting?(DefaultLight, :default_light)) || (DefaultLight.new(255_u8, 0_u8, 0_u8))\n@button_count = (setting?(UInt8, :button_count)) || 8_u8\n"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L51"},"def":{"name":"query_state","visibility":"Public","body":"(1_u8..@button_count).each do |idx|\n button_state?(idx)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Kramer sent: #{data.inspect}\"\nend\nparts = (data.split('@', 2))[1].strip.split(' ')\ncomponent = parts[0].upcase\ndetails = parts[1]\nsuccess = parts[2]?\ncase component\nwhen \"BTN\"\n light_on, button_index, button_action = details.split(',')\n self[\"button#{button_index}_light\"] = light_on == \"1\"\n self[\"button#{button_index}_state\"] = ButtonAction.check(button_action)\nwhen \"RGB\"\n button_index, red, green, blue, light_on = details.split(',')\n self[\"button#{button_index}_rgb\"] = {red.to_u8, green.to_u8, blue.to_u8}\n self[\"button#{button_index}_light\"] = light_on == \"1\"\nwhen \"ERR\"\n logger.warn do\n \"request failed with error code: #{details}\"\n end\n return task.try(&.abort(\"error code: #{details}\"))\nelse\n logger.warn do\n \"unknown button component #{component}\"\n end\n return\nend\nif task\n if task.name\n if success\n task.success\n end\n else\n task.success\n end\nend\n"}}],"types":[{"html_id":"drivers/Kramer/RC308Panel/ButtonAction","path":"Kramer/RC308Panel/ButtonAction.html","kind":"enum","full_name":"Kramer::RC308Panel::ButtonAction","name":"ButtonAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pressed","name":"Pressed","value":"0"},{"id":"Released","name":"Released","value":"1"},{"id":"HeldDown","name":"HeldDown","value":"2"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"class_methods":[{"html_id":"check(type:String)-class-method","name":"check","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L71"},"def":{"name":"check","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"case type.downcase\nwhen \"p\"\n ButtonAction::Pressed\nwhen \"r\"\n ButtonAction::Released\nwhen \"h\"\n ButtonAction::HeldDown\nelse\n raise(\"unknown button action type: #{type}\")\nend"}}],"instance_methods":[{"html_id":"held_down?-instance-method","name":"held_down?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L69"},"def":{"name":"held_down?","visibility":"Public","body":"self == HeldDown"}},{"html_id":"pressed?-instance-method","name":"pressed?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L67"},"def":{"name":"pressed?","visibility":"Public","body":"self == Pressed"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L68"},"def":{"name":"released?","visibility":"Public","body":"self == Released"}}]},{"html_id":"drivers/Kramer/RC308Panel/DefaultLight","path":"Kramer/RC308Panel/DefaultLight.html","kind":"struct","full_name":"Kramer::RC308Panel::DefaultLight","name":"DefaultLight","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"constructors":[{"html_id":"new(red:UInt8,green:UInt8,blue:UInt8)-class-method","name":"new","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"new","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"_ = allocate\n_.initialize(red, green, blue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blue:UInt8-instance-method","name":"blue","abstract":false,"def":{"name":"blue","return_type":"UInt8","visibility":"Public","body":"@blue"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@red.clone, @green.clone, @blue.clone)"}},{"html_id":"copy_with(red_red=@red,green_green=@green,blue_blue=@blue)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"args_string":"(red _red = @red, green _green = @green, blue _blue = @blue)","args_html":"(red _red = @red, green _green = @green, blue _blue = @blue)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"copy_with","args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"visibility":"Public","body":"self.class.new(_red, _green, _blue)"}},{"html_id":"green:UInt8-instance-method","name":"green","abstract":false,"def":{"name":"green","return_type":"UInt8","visibility":"Public","body":"@green"}},{"html_id":"red:UInt8-instance-method","name":"red","abstract":false,"def":{"name":"red","return_type":"UInt8","visibility":"Public","body":"@red"}}]}]}]},{"html_id":"drivers/Lenel","path":"Lenel.html","kind":"module","full_name":"Lenel","name":"Lenel","abstract":false,"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lenel/OpenAccess","path":"Lenel/OpenAccess.html","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L4"},{"filename":"src/lenel/open_access.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"}],"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"instance_methods":[{"html_id":"badge_types-instance-method","name":"badge_types","doc":"Query the available badge types.\n\nBadge types contain default configuration that is applied to any badge\ncreated under them. This includes items such as access areas, activation\nwindows and other bulk config. These may then be override on individual\nbadge instances.","summary":"

Query the available badge types.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L114"},"def":{"name":"badge_types","visibility":"Public","body":"client.lookup(BadgeType)"}},{"html_id":"check_comms-instance-method","name":"check_comms","doc":"Test service connectivity.","summary":"

Test service connectivity.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L80"},"def":{"name":"check_comms","visibility":"Public","body":"begin\n logger.debug do\n \"checking service connectivity\"\n end\n if client.token\n client.keepalive\n logger.info do\n \"client online and authenticated\"\n end\n else\n client.version\n logger.warn do\n \"service reachable, no active auth session\"\n end\n authenticate!\n end\nrescue e : OpenAccess::Error\n logger.error do\n e.message\n end\n set_connected_state(false)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"logger.debug do\n \"connected\"\nend\nif client.token.nil?\n authenticate!\nend\n"}},{"html_id":"create_badge(type:Int32,id:Int64,personid:Int32,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"create_badge","doc":"Creates a new badge of the specied *type*, belonging to *personid* with a\nspecific *id*.\n\nNote: 'id' is the physical badge number (e.g. the ID written to an NFC chip)","summary":"

Creates a new badge of the specied type, belonging to personid with a specific id.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L150"},"def":{"name":"create_badge","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"creating badge for cardholder #{personid}\"\nend\nclient.create(Badge, **args)\n"}},{"html_id":"create_badge_epoch(type:Int32,id:Int64,personid:Int32,activate_epoch:Int32,deactivate_epoch:Int32,uselimit:Int32|Nil=nil)-instance-method","name":"create_badge_epoch","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L162"},"def":{"name":"create_badge_epoch","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\ncreate_badge(type: type, id: id, personid: personid, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"create_cardholder(email:String,firstname:String,lastname:String)-instance-method","name":"create_cardholder","doc":"Creates a new cardholder.\n\nAn error will be returned if an existing cardholder exists for the specified\n*email* address.","summary":"

Creates a new cardholder.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"args_string":"(email : String, firstname : String, lastname : String)","args_html":"(email : String, firstname : String, lastname : String)","location":{"filename":"src/lenel/open_access.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L264"},"def":{"name":"create_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"creating cardholder record for #{email}\"\nend\nif (client.count(Cardholder, filter: \"email = \\\"#{email}\\\"\")).zero?\nelse\n raise(ArgumentError.new(\"record already exists for #{email}\"))\nend\nclient.create(Cardholder, **args)\n"}},{"html_id":"delete_badge(badgekey:Int32):Nil-instance-method","name":"delete_badge","doc":"Deletes a badge with the specified *badgekey*.","summary":"

Deletes a badge with the specified badgekey.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32) : Nil","args_html":"(badgekey : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L217"},"def":{"name":"delete_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting badge #{badgekey}\"\nend\nclient.delete(Badge, **args)\n"}},{"html_id":"delete_badges(badgekeys:Array(Int32)):Int32-instance-method","name":"delete_badges","abstract":false,"args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"args_string":"(badgekeys : Array(Int32)) : Int32","args_html":"(badgekeys : Array(Int32)) : Int32","location":{"filename":"src/lenel/open_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L222"},"def":{"name":"delete_badges","args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"return_type":"Int32","visibility":"Public","body":"badgekeys.count do |badge_key|\n begin\n delete_badge(badge_key)\n 1\n rescue OpenAccess::Error\n logger.debug do\n \"failed to delete badge #{badge_key}\"\n end\n 0\n end\nend"}},{"html_id":"delete_cardholder(id:Int32):Nil-instance-method","name":"delete_cardholder","doc":"Deletes a cardholed by their person *id*.","summary":"

Deletes a cardholed by their person id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32) : Nil","args_html":"(id : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L278"},"def":{"name":"delete_cardholder","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting cardholder #{id}\"\nend\nclient.delete(Cardholder, **args)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"logger.debug do\n \"disconnected\"\nend\nclient.token = nil\n"}},{"html_id":"list_badges(personid:Int32)-instance-method","name":"list_badges","doc":"List badges belonging to a cardholder","summary":"

List badges belonging to a cardholder

","abstract":false,"args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"args_string":"(personid : Int32)","args_html":"(personid : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L120"},"def":{"name":"list_badges","args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"visibility":"Public","body":"client.lookup(Badge, filter: \"personid = #{personid}\")"}},{"html_id":"list_directories-instance-method","name":"list_directories","doc":"Query the directories available for auth.","summary":"

Query the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L97"},"def":{"name":"list_directories","visibility":"Public","body":"client.directories"}},{"html_id":"list_events(filter:String,page_number:Int32|Nil=nil)-instance-method","name":"list_events","doc":"List Logged Events","summary":"

List Logged Events

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"args_string":"(filter : String, page_number : Int32 | Nil = nil)","args_html":"(filter : String, page_number : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L291"},"def":{"name":"list_events","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"client.get_logged_events(filter, page_number)"}},{"html_id":"list_events_in_range(filter:String,from:Time|Nil=nil,til:Time|Nil=nil)-instance-method","name":"list_events_in_range","doc":"List events that occured during a given time window. Default to past 24h.","summary":"

List events that occured during a given time window.

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"args_string":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","args_html":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L297"},"def":{"name":"list_events_in_range","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"visibility":"Public","body":"til || (til = Time.local)\nfrom || (from = til - 1.day)\nclient.get_logged_events(filter + \" AND timestamp >= \\\"#{from.to_s}\\\" AND timestamp <= \\\"#{til.to_s}\\\"\")\n"}},{"html_id":"lookup_badge_id(id:Int64)-instance-method","name":"lookup_badge_id","doc":"Get badge by id (instead of badgekey)","summary":"

Get badge by id (instead of badgekey)

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/lenel/open_access.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L137"},"def":{"name":"lookup_badge_id","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"id = #{id}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_badge_key(badgekey:Int32)-instance-method","name":"lookup_badge_key","doc":"Get badge by badgekey (instead of id)\nNote: id is the number in the QR data or burnt to the swipe card. badgekey is Lenel's primary key for badges","summary":"

Get badge by badgekey (instead of id) Note: id is the number in the QR data or burnt to the swipe card.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32)","args_html":"(badgekey : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L127"},"def":{"name":"lookup_badge_key","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"badgekey = #{badgekey}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{badgekey}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_cardholder(email:String)-instance-method","name":"lookup_cardholder","doc":"Lookup a cardholder by *email* address.","summary":"

Lookup a cardholder by email address.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L236"},"def":{"name":"lookup_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{email}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholder_id(id:Int32)-instance-method","name":"lookup_cardholder_id","doc":"Lookup a cardholder by ID","summary":"

Lookup a cardholder by ID

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L251"},"def":{"name":"lookup_cardholder_id","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"id = #{id}\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholders(email:String)-instance-method","name":"lookup_cardholders","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L245"},"def":{"name":"lookup_cardholders","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L35"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(5.minutes, &->check_comms)"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"logger.debug do\n \"settings updated\"\nend\nclient.app_id = setting(String, :application_id)\nauthenticate!\n"}},{"html_id":"search(type_name:String,filter:String|Nil=nil)-instance-method","name":"search","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L308"},"def":{"name":"search","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"client.raw_lookup(type_name, filter)"}},{"html_id":"search_readers(filter:String)-instance-method","name":"search_readers","doc":"List card readers matching a given filter","summary":"

List card readers matching a given filter

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/lenel/open_access.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L285"},"def":{"name":"search_readers","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"client.lookup(Reader, filter)"}},{"html_id":"update_badge(badgekey:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"update_badge","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L184"},"def":{"name":"update_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"Updating badge #{badgekey}\"\nend\nclient.update(Badge, **args)\n"}},{"html_id":"update_badge_epoch(badgekey:Int32,activate_epoch:Int32,deactivate_epoch:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil)-instance-method","name":"update_badge_epoch","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","args_html":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L196"},"def":{"name":"update_badge_epoch","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\nupdate_badge(badgekey: badgekey, id: id, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L103"},"def":{"name":"version","visibility":"Public","body":"client.version"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Client","path":"Lenel/OpenAccess/Client.html","kind":"class","full_name":"Lenel::OpenAccess::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/client.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"Lenel OpenAccess API wrapper.\n\nProvides thin abstractions over API endpoints. Requests are executed on the\npased transport. This can be a `PlaceOS::Driver`, `HTTP::Client` or other type\nsupporting the same set of base HTTP request methods.","summary":"

Lenel OpenAccess API wrapper.

","constructors":[{"html_id":"new(transport:HTTP::Client,app_id:String)-class-method","name":"new","abstract":false,"args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"args_string":"(transport : HTTP::Client, app_id : String)","args_html":"(transport : HTTP::Client, app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L22"},"def":{"name":"new","args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(transport, app_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_id:String-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id","return_type":"String","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:String)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"args_string":"(app_id : String)","args_html":"(app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"count(entitytype_name:T.class,filter:String|Nil=nil)forallT-instance-method","name":"count","doc":"Counts the number of instances of *entity*.\n\n*filter* may optionally be used to specify a subset of these.","summary":"

Counts the number of instances of entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L152"},"def":{"name":"count","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.encode(args.merge(type_name: T.type_name))\n((~transport.get(path: \"/count?version=1.0&#{params}\")) >> NamedTuple(total_items: Int32))[:total_items]\n"}},{"html_id":"create(entity:T.class,**props)forallT-instance-method","name":"create","doc":"Creates a new instance of *entity*.\n\nAPI create responses return a partial object, which is provided here as an\nuntyped return. This includes the object's database key (which varies\nbetween object types - ID, BADGEKEY etc), however contents of this is\nunspecified. The partial object is provided here, in full, with keys\ntransformed to match how they appear in a type-safe model.","summary":"

Creates a new instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) forall T","args_html":"(entity : T.class, **props) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L94"},"def":{"name":"create","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"visibility":"Public","body":"(~transport.post(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> Models::Untyped"}},{"html_id":"delete(entity:T.class,**props):NilforallT-instance-method","name":"delete","doc":"Deletes an instance of *entity*.","summary":"

Deletes an instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : Nil forall T","args_html":"(entity : T.class, **props) : Nil forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L172"},"def":{"name":"delete","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)"}},{"html_id":"directories-instance-method","name":"directories","doc":"Enumerates the directories available for auth.","summary":"

Enumerates the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L49"},"def":{"name":"directories","visibility":"Public","body":"((~transport.get(path: \"/directories?version=1.0\")) >> NamedTuple(total_items: Int32, item_list: Array(::NamedTuple(property_value_map: ::NamedTuple(ID: String, Name: String, directory_type: Int32)))))[:item_list].map do |item|\n item[:property_value_map]\nend"}},{"html_id":"get_logged_events(filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"get_logged_events","doc":"Retrieve a list of logged events from Onguard\nSee Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events","summary":"

Retrieve a list of logged events from Onguard See Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events

","abstract":false,"args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L184"},"def":{"name":"get_logged_events","args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/logged_events?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"keepalive:Nil-instance-method","name":"keepalive","doc":"Request a connection keepalive to prevent session timeout.","summary":"

Request a connection keepalive to prevent session timeout.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L81"},"def":{"name":"keepalive","return_type":"Nil","visibility":"Public","body":"~transport.get(path: \"/keepalive?version=1.0\")"}},{"html_id":"login(usernameuser_name:String,password:String,directory_id:String|Nil)-instance-method","name":"login","doc":"Creates a new auth session.","summary":"

Creates a new auth session.

","abstract":false,"args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"args_string":"(username user_name : String, password : String, directory_id : String | Nil)","args_html":"(username user_name : String, password : String, directory_id : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L59"},"def":{"name":"login","args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"(~transport.post(path: \"/authentication?version=1.0\", body: args.to_h.compact.to_json)) >> NamedTuple(session_token: String, token_expiration_time: Time)"}},{"html_id":"logout:Nil-instance-method","name":"logout","doc":"Removes an auth session.","summary":"

Removes an auth session.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L74"},"def":{"name":"logout","return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/authentication?version=1.0\")"}},{"html_id":"lookup(entitytype_name:T.class,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=nil,order_by:String|Nil=nil):Array(T)forallT-instance-method","name":"lookup","doc":"Retrieves instances of a particular *entity*.\n\nThe search criteria specified in *filter* is a subset of SQL. This supports\noperations such as as:\n+ exclusion `LastName != \"Lake\"`\n+ wildcards `LastName like \"La%\"`\n+ boolean operators `LastName = \"Lake\" OR FirstName = \"Lisa\"`","summary":"

Retrieves instances of a particular entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L111"},"def":{"name":"lookup","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"return_type":"Array(T)","visibility":"Public","body":"params = HTTP::Params.new\nargs.merge(type_name: T.type_name).each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val)\n end\nend\n((~transport.get(path: \"/instances?version=1.0&#{params}\")) >> NamedTuple(page_number: Int32 | ::Nil, page_size: Int32 | ::Nil, total_pages: Int32, total_items: Int32, count: Int32, item_list: Array(T)))[:item_list]\n"}},{"html_id":"raw_lookup(type_name:String,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"raw_lookup","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L134"},"def":{"name":"raw_lookup","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/instances?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L20"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String|Nil)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"args_string":"(token : String | Nil)","args_html":"(token : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L20"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"visibility":"Public","body":"@token = token"}},{"html_id":"update(entity:T.class,**props):TforallT-instance-method","name":"update","doc":"Updates a record of *entity*. Passed properties must include the types key and\nany fields to update.","summary":"

Updates a record of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : T forall T","args_html":"(entity : T.class, **props) : T forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L161"},"def":{"name":"update","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"T","visibility":"Public","body":"(~transport.put(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> T"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L39"},"def":{"name":"version","visibility":"Public","body":"(~transport.get(path: \"/version?version=1.0\")) >> NamedTuple(product_name: String, product_version: String)"}}]},{"html_id":"drivers/Lenel/OpenAccess/Error","path":"Lenel/OpenAccess/Error.html","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"class_methods":[{"html_id":"from_response(response)-class-method","name":"from_response","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/lenel/open_access/error.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L6"},"def":{"name":"from_response","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"begin\n error = Error::Info.from_json(response.body)\n new(**error[:error])\nrescue\n new(response.status.to_s)\nend"}}],"constructors":[{"html_id":"new(code:String,message:String|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(code : String, message : String | Nil = nil)","args_html":"(code : String, message : String | Nil = nil)","location":{"filename":"src/lenel/open_access/error.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L17"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"code:String-instance-method","name":"code","abstract":false,"location":{"filename":"src/lenel/open_access/error.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L15"},"def":{"name":"code","visibility":"Public","body":"@code"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Error/Info","path":"Lenel/OpenAccess/Error/Info.html","kind":"alias","full_name":"Lenel::OpenAccess::Error::Info","name":"Info","abstract":false,"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(error: NamedTuple(code: String, message: String | Nil))","aliased_html":"{error: {code: String, message: String?}}","const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Error","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models","path":"Lenel/OpenAccess/Models.html","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROPERTIES_KEY","name":"PROPERTIES_KEY","value":"\"property_value_map\""}],"including_types":[{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"DTO's for OpenAccess entities.\n\nThese are intentionally lightweight. In cases where a entity holds a\nrelationship to another, these are _not_ auto-resolved. Original ID references\nare kept in place. Types here a simply a thin wrapper for JSON serialization.","summary":"

DTO's for OpenAccess entities.

","types":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","path":"Lenel/OpenAccess/Models/Badge.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activate:Time|Nil-instance-method","name":"activate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L134"},"def":{"name":"activate","return_type":"Time | ::Nil","visibility":"Public","body":"@activate"}},{"html_id":"badgekey:Int32-instance-method","name":"badgekey","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L131"},"def":{"name":"badgekey","return_type":"Int32","visibility":"Public","body":"@badgekey"}},{"html_id":"deactivate:Time|Nil-instance-method","name":"deactivate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L137"},"def":{"name":"deactivate","return_type":"Time | ::Nil","visibility":"Public","body":"@deactivate"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L139"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"personid:Int32|Nil-instance-method","name":"personid","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L140"},"def":{"name":"personid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@personid"}},{"html_id":"status:Int32|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L141"},"def":{"name":"status","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"type:Int32|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L142"},"def":{"name":"type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"uselimit:Int32|Nil-instance-method","name":"uselimit","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L143"},"def":{"name":"uselimit","return_type":"Int32 | ::Nil","visibility":"Public","body":"@uselimit"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","path":"Lenel/OpenAccess/Models/BadgeType.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L146"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L146"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"badgetypeclass:BadgeTypeClass-instance-method","name":"badgetypeclass","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L156"},"def":{"name":"badgetypeclass","return_type":"BadgeTypeClass","visibility":"Public","body":"@badgetypeclass"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L154"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"usemobilecredential:Bool-instance-method","name":"usemobilecredential","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L157"},"def":{"name":"usemobilecredential","return_type":"Bool","visibility":"Public","body":"@usemobilecredential"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass","path":"Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html","kind":"enum","full_name":"Lenel::OpenAccess::Models::BadgeType::BadgeTypeClass","name":"BadgeTypeClass","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L147"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Standard","name":"Standard","value":"0"},{"id":"Temporary","name":"Temporary","value":"1"},{"id":"Visitor","name":"Visitor","value":"2"},{"id":"Guest","name":"Guest","value":"3"},{"id":"SpecialPurpose","name":"SpecialPurpose","value":"4"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},"instance_methods":[{"html_id":"guest?-instance-method","name":"guest?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L151"},"def":{"name":"guest?","visibility":"Public","body":"self == Guest"}},{"html_id":"special_purpose?-instance-method","name":"special_purpose?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L152"},"def":{"name":"special_purpose?","visibility":"Public","body":"self == SpecialPurpose"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L148"},"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}},{"html_id":"temporary?-instance-method","name":"temporary?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L149"},"def":{"name":"temporary?","visibility":"Public","body":"self == Temporary"}},{"html_id":"visitor?-instance-method","name":"visitor?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L150"},"def":{"name":"visitor?","visibility":"Public","body":"self == Visitor"}}]}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","path":"Lenel/OpenAccess/Models/Cardholder.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L161"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","path":"Lenel/OpenAccess/Models/Element.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge"},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event"},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader"},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"doc":"Base type for Lenel data objects.","summary":"

Base type for Lenel data objects.

","class_methods":[{"html_id":"partial(**properties:**T):TforallT-class-method","name":"partial","doc":"Provide a compile-time check to ensure *properties* is a subset of *self*.","summary":"

Provide a compile-time check to ensure properties is a subset of self.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L74"},"def":{"name":"partial","double_splat":{"name":"properties","external_name":"properties","restriction":"**T"},"return_type":"T","visibility":"Public","body":"{% for key in T.keys %}\n {% unless @type.has_method?(key)\n raise(\"no \\\"#{key}\\\" property on #{@type.name}\")\nend %}\n {% end %}\nproperties\n"}},{"html_id":"type_name-class-method","name":"type_name","doc":"Name of the type as expected by the OpenAccess API endpoints.","summary":"

Name of the type as expected by the OpenAccess API endpoints.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L23"},"def":{"name":"type_name","visibility":"Public","body":"\"Lnl_#{(name.rpartition(\"::\")).last}\""}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(*,__pull_for_json_serializablepull:JSON::PullParser)-class-method","name":"new","doc":"Override the default JSON::Serializable behaviour to make keys case\ninensitive when deserialising.","summary":"

Override the default JSON::Serializable behaviour to make keys case inensitive when deserialising.

","abstract":false,"args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"args_string":"(*, __pull_for_json_serializable pull : JSON::PullParser)","args_html":"(*, __pull_for_json_serializable pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L36"},"def":{"name":"new","args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"splat_index":0,"visibility":"Public","body":"_ = allocate\n_.initialize(__pull_for_json_serializable: pull)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","path":"Lenel/OpenAccess/Models/Event.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_result:Int32|Nil-instance-method","name":"access_result","doc":"getter alarm_priority : Int32?\ngetter alarm_ack_blue_channel : Int32?\ngetter alarm_ack_green_channel : Int32?\ngetter alarm_ack_red_channel : Int32?\ngetter alarm_blue_channel : Int32?\ngetter alarm_green_channel : Int32?\ngetter alarm_red_channel : Int32?","summary":"

getter alarm_priority : Int32? getter alarm_ack_blue_channel : Int32? getter alarm_ack_green_channel : Int32? getter alarm_ack_red_channel : Int32? getter alarm_blue_channel : Int32? getter alarm_green_channel : Int32? getter alarm_red_channel : Int32?

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L111"},"def":{"name":"access_result","return_type":"Int32 | ::Nil","visibility":"Public","body":"@access_result"}},{"html_id":"asset_id:Int32|Nil-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L102"},"def":{"name":"asset_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@asset_id"}},{"html_id":"badge_extended_id:String|Nil-instance-method","name":"badge_extended_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L100"},"def":{"name":"badge_extended_id","return_type":"String | ::Nil","visibility":"Public","body":"@badge_extended_id"}},{"html_id":"badge_id:Int32|Nil-instance-method","name":"badge_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L98"},"def":{"name":"badge_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_id"}},{"html_id":"badge_id_str:String|Nil-instance-method","name":"badge_id_str","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L99"},"def":{"name":"badge_id_str","return_type":"String | ::Nil","visibility":"Public","body":"@badge_id_str"}},{"html_id":"badge_issue_code:Int32|Nil-instance-method","name":"badge_issue_code","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L101"},"def":{"name":"badge_issue_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_issue_code"}},{"html_id":"cardholder_entered:Bool|Nil-instance-method","name":"cardholder_entered","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L112"},"def":{"name":"cardholder_entered","return_type":"Bool | ::Nil","visibility":"Public","body":"@cardholder_entered"}},{"html_id":"cardholder_first_name:String|Nil-instance-method","name":"cardholder_first_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L116"},"def":{"name":"cardholder_first_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_first_name"}},{"html_id":"cardholder_key:Int32|Nil-instance-method","name":"cardholder_key","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L103"},"def":{"name":"cardholder_key","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cardholder_key"}},{"html_id":"cardholder_last_name:String|Nil-instance-method","name":"cardholder_last_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L117"},"def":{"name":"cardholder_last_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_last_name"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L91"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_name:String|Nil-instance-method","name":"controller_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L114"},"def":{"name":"controller_name","return_type":"String | ::Nil","visibility":"Public","body":"@controller_name"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L90"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"device_id:Int32-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L92"},"def":{"name":"device_id","return_type":"Int32","visibility":"Public","body":"@device_id"}},{"html_id":"device_name:String|Nil-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L118"},"def":{"name":"device_name","return_type":"String | ::Nil","visibility":"Public","body":"@device_name"}},{"html_id":"duress:Bool|Nil-instance-method","name":"duress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L113"},"def":{"name":"duress","return_type":"Bool | ::Nil","visibility":"Public","body":"@duress"}},{"html_id":"event_source_name:String|Nil-instance-method","name":"event_source_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L115"},"def":{"name":"event_source_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_source_name"}},{"html_id":"event_subtype:Int32|Nil-instance-method","name":"event_subtype","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L96"},"def":{"name":"event_subtype","return_type":"Int32 | ::Nil","visibility":"Public","body":"@event_subtype"}},{"html_id":"event_text:String|Nil-instance-method","name":"event_text","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L97"},"def":{"name":"event_text","return_type":"String | ::Nil","visibility":"Public","body":"@event_text"}},{"html_id":"event_type:Int32-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L95"},"def":{"name":"event_type","return_type":"Int32","visibility":"Public","body":"@event_type"}},{"html_id":"segment_id:Int32|Nil-instance-method","name":"segment_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L94"},"def":{"name":"segment_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@segment_id"}},{"html_id":"serial_number:Int32|Nil-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L88"},"def":{"name":"serial_number","return_type":"Int32 | ::Nil","visibility":"Public","body":"@serial_number"}},{"html_id":"subdevice_id:Int32|Nil-instance-method","name":"subdevice_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L93"},"def":{"name":"subdevice_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@subdevice_id"}},{"html_id":"subdevice_name:String|Nil-instance-method","name":"subdevice_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L119"},"def":{"name":"subdevice_name","return_type":"String | ::Nil","visibility":"Public","body":"@subdevice_name"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L89"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","path":"Lenel/OpenAccess/Models/Person.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person","abstract":true,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L124"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L124"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firstname:String|Nil-instance-method","name":"firstname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L126"},"def":{"name":"firstname","return_type":"String | ::Nil","visibility":"Public","body":"@firstname"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L125"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"lastname:String|Nil-instance-method","name":"lastname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L127"},"def":{"name":"lastname","return_type":"String | ::Nil","visibility":"Public","body":"@lastname"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","path":"Lenel/OpenAccess/Models/Reader.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L164"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accessMode:Int32|Nil-instance-method","name":"accessMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L165"},"def":{"name":"accessMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@accessMode"}},{"html_id":"address:Int32|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L166"},"def":{"name":"address","return_type":"Int32 | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"aux1Name:String|Nil-instance-method","name":"aux1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L182"},"def":{"name":"aux1Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux1Name"}},{"html_id":"aux2Name:String|Nil-instance-method","name":"aux2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L183"},"def":{"name":"aux2Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux2Name"}},{"html_id":"aux3Name:String|Nil-instance-method","name":"aux3Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L184"},"def":{"name":"aux3Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux3Name"}},{"html_id":"controlType:Int32|Nil-instance-method","name":"controlType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L167"},"def":{"name":"controlType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controlType"}},{"html_id":"extendedOpenTime:Int32|Nil-instance-method","name":"extendedOpenTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L168"},"def":{"name":"extendedOpenTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedOpenTime"}},{"html_id":"extendedStrikeTime:Int32|Nil-instance-method","name":"extendedStrikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L169"},"def":{"name":"extendedStrikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedStrikeTime"}},{"html_id":"friendlyName:String|Nil-instance-method","name":"friendlyName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L185"},"def":{"name":"friendlyName","return_type":"String | ::Nil","visibility":"Public","body":"@friendlyName"}},{"html_id":"gatewayAddress:Int32|Nil-instance-method","name":"gatewayAddress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L170"},"def":{"name":"gatewayAddress","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayAddress"}},{"html_id":"gatewayHostName:String|Nil-instance-method","name":"gatewayHostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L186"},"def":{"name":"gatewayHostName","return_type":"String | ::Nil","visibility":"Public","body":"@gatewayHostName"}},{"html_id":"gatewayIPPort:Int32|Nil-instance-method","name":"gatewayIPPort","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L171"},"def":{"name":"gatewayIPPort","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayIPPort"}},{"html_id":"hostName:String|Nil-instance-method","name":"hostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L187"},"def":{"name":"hostName","return_type":"String | ::Nil","visibility":"Public","body":"@hostName"}},{"html_id":"isPairedMaster:Bool|Nil-instance-method","name":"isPairedMaster","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L192"},"def":{"name":"isPairedMaster","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedMaster"}},{"html_id":"isPairedSlave:Bool|Nil-instance-method","name":"isPairedSlave","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L193"},"def":{"name":"isPairedSlave","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedSlave"}},{"html_id":"mode:Int32|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L173"},"def":{"name":"mode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L188"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"offlineMode:Int32|Nil-instance-method","name":"offlineMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L172"},"def":{"name":"offlineMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@offlineMode"}},{"html_id":"openTime:Int32|Nil-instance-method","name":"openTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L174"},"def":{"name":"openTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@openTime"}},{"html_id":"out1Name:String|Nil-instance-method","name":"out1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L189"},"def":{"name":"out1Name","return_type":"String | ::Nil","visibility":"Public","body":"@out1Name"}},{"html_id":"out2Name:String|Nil-instance-method","name":"out2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L190"},"def":{"name":"out2Name","return_type":"String | ::Nil","visibility":"Public","body":"@out2Name"}},{"html_id":"panelID:Int32|Nil-instance-method","name":"panelID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L175"},"def":{"name":"panelID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@panelID"}},{"html_id":"panelTypeName:String|Nil-instance-method","name":"panelTypeName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L191"},"def":{"name":"panelTypeName","return_type":"String | ::Nil","visibility":"Public","body":"@panelTypeName"}},{"html_id":"portNumber:Int32|Nil-instance-method","name":"portNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L176"},"def":{"name":"portNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@portNumber"}},{"html_id":"readerID:Int32|Nil-instance-method","name":"readerID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L177"},"def":{"name":"readerID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerID"}},{"html_id":"readerNumber:Int32|Nil-instance-method","name":"readerNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L178"},"def":{"name":"readerNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerNumber"}},{"html_id":"slaveID:Int32|Nil-instance-method","name":"slaveID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L179"},"def":{"name":"slaveID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@slaveID"}},{"html_id":"strikeTime:Int32|Nil-instance-method","name":"strikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L180"},"def":{"name":"strikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@strikeTime"}},{"html_id":"timeAttendanceType:Int32|Nil-instance-method","name":"timeAttendanceType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L181"},"def":{"name":"timeAttendanceType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@timeAttendanceType"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","path":"Lenel/OpenAccess/Models/Untyped.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/lenel/open_access/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L84"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" json_unmapped.\n{{ call }}\n\n \n"}}]}]}]},{"html_id":"drivers/Lenel/TimeConverter","path":"Lenel/TimeConverter.html","kind":"module","full_name":"Lenel::TimeConverter","name":"TimeConverter","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"doc":"Ensure that UTC time strings provide the offset as \"+00:00\" instead of \"Z\", as required by Openaccess","summary":"

Ensure that UTC time strings provide the offset as "+00:00" instead of "Z", as required by Openaccess

","class_methods":[{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/lenel/open_access/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L5"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%FT%T%:z\"))"}}]}]},{"html_id":"drivers/Leviton","path":"Leviton.html","kind":"module","full_name":"Leviton","name":"Leviton","abstract":false,"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Leviton/Acquisuite","path":"Leviton/Acquisuite.html","kind":"class","full_name":"Leviton::Acquisuite","name":"Acquisuite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Leviton","kind":"module","full_name":"Leviton","name":"Leviton"},"instance_methods":[{"html_id":"device_list:Hash(String,{String,String})-instance-method","name":"device_list","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L152"},"def":{"name":"device_list","visibility":"Public","body":"@device_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@device_list = setting(Hash(String, Tuple(String, String)), :device_list)\n@manifest_list = setting(Array(String), :manifest_list)\n@config_list = setting(Hash(String, Array(Hash(String, Float64 | String | Nil))), :config_list)\n"}},{"html_id":"receive_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"receive_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/leviton/acquisuite.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L35"},"def":{"name":"receive_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n if @debug_webhook\n logger.warn do\n ((\"Received Webhook\\n\" + \"Method: #{method.inspect}\\n\") + \"Headers:\\n#{headers.inspect}\\n\") + \"Body:\\n#{body.inspect}\"\n end\n end\n decoded = Base64.decode_string(body)\n case method.downcase\n when \"post\"\n new_headers = HTTP::Headers.new\n headers.each do |k, v|\n new_headers[k] = v\n end\n request = HTTP::Request.new(\"POST\", \"/request\", new_headers, decoded)\n files, form_data = ActionController::BodyParser.extract_form_data(request, \"multipart/form-data\", request.query_params)\n form_data = form_data.not_nil!\n case form_data[\"MODE\"]\n when \"STATUS\"\n return {HTTP::Status::OK.to_i, {} of String => String, \"SUCCESS\"}\n when \"CONFIGFILEMANIFEST\"\n return {HTTP::Status::OK.to_i, {} of String => String, device_to_manifest.join(\"\\n\")}\n when \"CONFIGFILEUPLOAD\"\n files = files.not_nil!\n return config_file_upload(files, form_data)\n when \"LOGFILEUPLOAD\"\n files = files.not_nil!\n return log_file_upload(files, form_data)\n else\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: Invalid mode passed. Either STATUS, CONFIGFILEMANIFEST, CONFIGFILEUPLOAD or LOGFILEUPLOAD required. Got #{form_data[\"MODE\"]}\"}\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request: #{body.inspect}\"\n end\n self[:last_error] = error.inspect_with_backtrace\n self[:error_payload] = body\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: #{error.message.to_s}\"}\nend"}}]}]},{"html_id":"drivers/Lg","path":"Lg.html","kind":"module","full_name":"Lg","name":"Lg","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lg/Displays","path":"Lg/Displays.html","kind":"module","full_name":"Lg::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lg","kind":"module","full_name":"Lg","name":"Lg"},"types":[{"html_id":"drivers/Lg/Displays/Ls5","path":"Lg/Displays/Ls5.html","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"120_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Lg/Displays","kind":"module","full_name":"Lg::Displays","name":"Displays"},"instance_methods":[{"html_id":"aspect_ratio(ratio:Ratio)-instance-method","name":"aspect_ratio","abstract":false,"args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"args_string":"(ratio : Ratio)","args_html":"(ratio : Ratio)","location":{"filename":"src/lg/displays/ls5.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L143"},"def":{"name":"aspect_ratio","args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"visibility":"Public","body":"do_send(Command::AspectRatio, ratio.value, name: \"aspect_ratio\", delay: 1.second)"}},{"html_id":"aspect_ratio?(priority:Int32=0)-instance-method","name":"aspect_ratio?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"aspect_ratio?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AspectRatio, 255, priority: priority, name: \"aspect_ratio\" + \"_status\")"}},{"html_id":"auto_off(state:Bool=false)-instance-method","name":"auto_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L211"},"def":{"name":"auto_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::AutoOff, val, 'm', name: \"disable_auto_off\")\n"}},{"html_id":"auto_off?(priority:Int32=0)-instance-method","name":"auto_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"auto_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AutoOff, 255, priority: priority, name: \"auto_off\" + \"_status\")"}},{"html_id":"brightness(value:Float64|Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Brightness, val, name: \"brightness\")\n"}},{"html_id":"brightness?(priority:Int32=0)-instance-method","name":"brightness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"brightness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Brightness, 255, priority: priority, name: \"brightness\" + \"_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nself[:connected] = true\nwake_on_lan\nno_signal_off\nauto_off\nlocal_button_lock\npm_mode\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Float64|Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Contrast, val, name: \"contrast\")\n"}},{"html_id":"contrast?(priority:Int32=0)-instance-method","name":"contrast?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"contrast?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Contrast, 255, priority: priority, name: \"contrast\" + \"_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L69"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nself[:connected] = false\nschedule.clear\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if @rs232\n power?\n if self[:hard_power]?.try(&.as_bool)\n screen_mute?\n input?\n volume_mute?\n volume?\n end\nelse\n if @connected\n screen_mute?\n if @id_num == 1\n input?\n volume_mute?\n volume?\n end\n else\n if self[:power_target]?.try(&.as_bool)\n power(true)\n end\n end\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L111"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::Power, 0, name: \"power\", priority: 99, clear_queue: true)"}},{"html_id":"input?(priority:Int32=0)-instance-method","name":"input?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L169"},"def":{"name":"input?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Input, 255, 'x', priority: priority)"}},{"html_id":"local_button_lock(state:Bool=true)-instance-method","name":"local_button_lock","doc":"0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons. Default to 2 as power off from local button results in network offline","summary":"

0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L206"},"def":{"name":"local_button_lock","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 2 : 0\ndo_send(Command::LocalButtonLock, val, 't', name: \"local_button_lock\")\n"}},{"html_id":"local_button_lock?(priority:Int32=0)-instance-method","name":"local_button_lock?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"local_button_lock?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::LocalButtonLock, 255, priority: priority, name: \"local_button_lock\" + \"_status\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/lg/displays/ls5.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L119"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n do_send(Command::ScreenMute, state ? 1 : 0, name: \"mute_video\")\nend\nif (layer.audio? || layer.audio_video?) && ((self[:audio_mute]?.try(&.as_bool)) != state)\n do_send(Command::VolumeMute, state ? 0 : 1, name: \"mute_audio\")\nend\nstate\n"}},{"html_id":"no_signal_off(state:Bool=false)-instance-method","name":"no_signal_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L199"},"def":{"name":"no_signal_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ncommand = build_command(Command::NoSignalOff, val, 'f')\nsend(command, name: \"no_signal_off\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"no_signal_off?(priority:Int32=0)-instance-method","name":"no_signal_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"no_signal_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::NoSignalOff, 255, priority: priority, name: \"no_signal_off\" + \"_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 150.milliseconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@rs232 = setting(Bool, :rs232_control)\n@id_num = setting(Int32, :display_id)\n@id = @id_num.to_s.rjust(2, '0')\n"}},{"html_id":"pm_mode(mode:Int32=3)-instance-method","name":"pm_mode","abstract":false,"args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32 = 3)","args_html":"(mode : Int32 = 3)","location":{"filename":"src/lg/displays/ls5.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L194"},"def":{"name":"pm_mode","args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"command = build_command(Command::PmMode, mode, 's')\nsend(command, name: \"pm_mode\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"pm_mode?(priority:Int32=0)-instance-method","name":"pm_mode?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"pm_mode?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::PmMode, 255, priority: priority, name: \"pm_mode\" + \"_status\")"}},{"html_id":"power(state:Bool,broadcast:String|Nil=nil)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(state : Bool, broadcast : String | Nil = nil)","args_html":"(state : Bool, broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L98"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if state\n if @rs232\n do_send(Command::Power, 1, name: \"power\", priority: 99)\n else\n wake(broadcast || @last_broadcast)\n end\nend\nif @connected\n mute(!state)\nend\n"}},{"html_id":"power?(priority:Int32=0)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Power, 255, priority: priority, name: \"power\" + \"_status\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lg/displays/ls5.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L253"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if (resp_value = get_response_value(data)) == -1\n return task.try(&.abort)\nend\ncommand = Command.from_value(data[0])\nlogger.debug do\n \"Received command #{command}\"\nend\ncase command\nwhen .power?\n self[:hard_power] = resp_value == 1\n if self[:hard_power].as_bool\n else\n self[:power] = false\n end\nwhen .input?\n self[:input] = Input.from_value(resp_value)\nwhen .aspect_ratio?\n self[:aspect_ratio] = Ratio.from_value(resp_value)\nwhen .screen_mute?\n self[:power] = resp_value == 0\nwhen .volume_mute?\n self[:audio_mute] = resp_value == 0\nwhen .contrast?, .brightness?, .sharpness?, .volume?\n self[command.to_s.underscore] = resp_value\nwhen .wake_on_lan?, .auto_off?\n self[command.to_s.underscore] = resp_value == 1\nwhen .local_button_lock?\n self[:local_button_lock] = resp_value == 2\nelse\n return task.try(&.retry)\nend\ntask.try(&.success)\n"}},{"html_id":"screen_mute?(priority:Int32=0)-instance-method","name":"screen_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"screen_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::ScreenMute, 255, priority: priority, name: \"screen_mute\" + \"_status\")"}},{"html_id":"sharpness(value:Float64|Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Sharpness, val, name: \"sharpness\")\n"}},{"html_id":"sharpness?(priority:Int32=0)-instance-method","name":"sharpness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"sharpness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Sharpness, 255, priority: priority, name: \"sharpness\" + \"_status\")"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/lg/displays/ls5.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L115"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Input, input.value, 'x', name: \"input\", delay: 2.seconds)"}},{"html_id":"volume(value:Float64|Int32)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, val, name: \"volume\")\n"}},{"html_id":"volume?(priority:Int32=0)-instance-method","name":"volume?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Volume, 255, priority: priority, name: \"volume\" + \"_status\")"}},{"html_id":"volume_mute?(priority:Int32=0)-instance-method","name":"volume_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::VolumeMute, 255, priority: priority, name: \"volume_mute\" + \"_status\")"}},{"html_id":"wake(broadcast:String|Nil=nil)-instance-method","name":"wake","abstract":false,"args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(broadcast : String | Nil = nil)","args_html":"(broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L221"},"def":{"name":"wake","args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if mac = setting?(String, :mac_address)\n wake_device(mac, broadcast)\n logger.debug do\n info = \"Wake on Lan for MAC #{mac}\"\n if b = broadcast\n info = info + \" directed to VLAN #{b}\"\n end\n info\n end\nelse\n logger.warn do\n \"No MAC address provided\"\n end\nend"}},{"html_id":"wake_on_lan(state:Bool=true)-instance-method","name":"wake_on_lan","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L216"},"def":{"name":"wake_on_lan","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::WakeOnLan, val, 'f', name: \"enable_wake_on_lan\")\n"}},{"html_id":"wake_on_lan?(priority:Int32=0)-instance-method","name":"wake_on_lan?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"wake_on_lan?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::WakeOnLan, 255, priority: priority, name: \"wake_on_lan\" + \"_status\")"}}],"types":[{"html_id":"drivers/Lg/Displays/Ls5/Command","path":"Lg/Displays/Ls5/Command.html","kind":"enum","full_name":"Lg::Displays::Ls5::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"97"},{"id":"Input","name":"Input","value":"98"},{"id":"AspectRatio","name":"AspectRatio","value":"99"},{"id":"ScreenMute","name":"ScreenMute","value":"100"},{"id":"VolumeMute","name":"VolumeMute","value":"101"},{"id":"Volume","name":"Volume","value":"102"},{"id":"Contrast","name":"Contrast","value":"103"},{"id":"Brightness","name":"Brightness","value":"104"},{"id":"Sharpness","name":"Sharpness","value":"107"},{"id":"AutoOff","name":"AutoOff","value":"110"},{"id":"LocalButtonLock","name":"LocalButtonLock","value":"111"},{"id":"WakeOnLan","name":"WakeOnLan","value":"119"},{"id":"NoSignalOff","name":"NoSignalOff","value":"103"},{"id":"PmMode","name":"PmMode","value":"110"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"aspect_ratio?-instance-method","name":"aspect_ratio?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L78"},"def":{"name":"aspect_ratio?","visibility":"Public","body":"self == AspectRatio"}},{"html_id":"auto_off?-instance-method","name":"auto_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L85"},"def":{"name":"auto_off?","visibility":"Public","body":"self == AutoOff"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L83"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L82"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"local_button_lock?-instance-method","name":"local_button_lock?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L86"},"def":{"name":"local_button_lock?","visibility":"Public","body":"self == LocalButtonLock"}},{"html_id":"no_signal_off?-instance-method","name":"no_signal_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L88"},"def":{"name":"no_signal_off?","visibility":"Public","body":"self == NoSignalOff"}},{"html_id":"pm_mode?-instance-method","name":"pm_mode?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L89"},"def":{"name":"pm_mode?","visibility":"Public","body":"self == PmMode"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L76"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"screen_mute?-instance-method","name":"screen_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L79"},"def":{"name":"screen_mute?","visibility":"Public","body":"self == ScreenMute"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L84"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L81"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"volume_mute?-instance-method","name":"volume_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L80"},"def":{"name":"volume_mute?","visibility":"Public","body":"self == VolumeMute"}},{"html_id":"wake_on_lan?-instance-method","name":"wake_on_lan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L87"},"def":{"name":"wake_on_lan?","visibility":"Public","body":"self == WakeOnLan"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Input","path":"Lg/Displays/Ls5/Input.html","kind":"enum","full_name":"Lg::Displays::Ls5::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Dvi","name":"Dvi","value":"112"},{"id":"Hdmi","name":"Hdmi","value":"160"},{"id":"HdmiDtv","name":"HdmiDtv","value":"144"},{"id":"Hdmi2","name":"Hdmi2","value":"161"},{"id":"Hdmi2Dtv","name":"Hdmi2Dtv","value":"145"},{"id":"DisplayPort","name":"DisplayPort","value":"208"},{"id":"DisplayPortDtv","name":"DisplayPortDtv","value":"192"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L16"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"display_port_dtv?-instance-method","name":"display_port_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L17"},"def":{"name":"display_port_dtv?","visibility":"Public","body":"self == DisplayPortDtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L14"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_dtv?-instance-method","name":"hdmi2_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L15"},"def":{"name":"hdmi2_dtv?","visibility":"Public","body":"self == Hdmi2Dtv"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_dtv?-instance-method","name":"hdmi_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L13"},"def":{"name":"hdmi_dtv?","visibility":"Public","body":"self == HdmiDtv"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Ratio","path":"Lg/Displays/Ls5/Ratio.html","kind":"enum","full_name":"Lg::Displays::Ls5::Ratio","name":"Ratio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Square","name":"Square","value":"1"},{"id":"Wide","name":"Wide","value":"2"},{"id":"Zoom","name":"Zoom","value":"4"},{"id":"Scan","name":"Scan","value":"9"},{"id":"Program","name":"Program","value":"6"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"program?-instance-method","name":"program?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L140"},"def":{"name":"program?","visibility":"Public","body":"self == Program"}},{"html_id":"scan?-instance-method","name":"scan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L139"},"def":{"name":"scan?","visibility":"Public","body":"self == Scan"}},{"html_id":"square?-instance-method","name":"square?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L136"},"def":{"name":"square?","visibility":"Public","body":"self == Square"}},{"html_id":"wide?-instance-method","name":"wide?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L137"},"def":{"name":"wide?","visibility":"Public","body":"self == Wide"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L138"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]}]}]}]},{"html_id":"drivers/Lumens","path":"Lumens.html","kind":"module","full_name":"Lumens","name":"Lumens","abstract":false,"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lumens/DC193","path":"Lumens/DC193.html","kind":"class","full_name":"Lumens::DC193","name":"DC193","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{193_u8 => :lamp, 176_u8 => :power, 183_u8 => :power_staus, 167_u8 => :picture_mode, 163_u8 => :auto_focus, 138_u8 => :max_zoom, 120_u8 => :frozen_status, 96_u8 => :zoom_staus, 81_u8 => :picture_mode_staus, 80_u8 => :lamp_staus, 44_u8 => :freeze, 31_u8 => :zoom_direct_auto_focus, 19_u8 => :zoom_direct, 17_u8 => :zoom, 16_u8 => :zoom_stop}"},{"id":"PICTURE_MODES","name":"PICTURE_MODES","value":"{:photo, :test, :greyscale}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"}],"namespace":{"html_id":"drivers/Lumens","kind":"module","full_name":"Lumens","name":"Lumens"},"instance_methods":[{"html_id":"auto_focus(name:String=\"auto_focus\")-instance-method","name":"auto_focus","abstract":false,"args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"args_string":"(name : String = \"auto_focus\")","args_html":"(name : String = "auto_focus")","location":{"filename":"src/lumens/dc193.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L107"},"def":{"name":"auto_focus","args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nsend(Bytes[160, 163, 1, 0, 0, 175], name: name)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds) do\n query_status\nend\nquery_status\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"freeze(state:Bool)-instance-method","name":"freeze","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L117"},"def":{"name":"freeze","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 44, state, 0, 0, 175], name: :freeze)\n"}},{"html_id":"frozen?-instance-method","name":"frozen?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L122"},"def":{"name":"frozen?","visibility":"Public","body":"send(Bytes[160, 120, 0, 0, 0, 175], priority: 0)"}},{"html_id":"lamp(state:Bool,head_led:Bool=false)-instance-method","name":"lamp","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"args_string":"(state : Bool, head_led : Bool = false)","args_html":"(state : Bool, head_led : Bool = false)","location":{"filename":"src/lumens/dc193.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L59"},"def":{"name":"lamp","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"visibility":"Public","body":"if @frozen\n return false\nend\nlamps = if state && head_led\n 1_u8\nelse\n if state\n 2_u8\n else\n if head_led\n 3_u8\n else\n 0_u8\n end\n end\nend\nsend(Bytes[160, 193, lamps, 0, 0, 175], name: :lamp)\n"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L75"},"def":{"name":"lamp?","visibility":"Public","body":"send(Bytes[160, 80, 0, 0, 0, 175], priority: 0)"}},{"html_id":"max_zoom?-instance-method","name":"max_zoom?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L146"},"def":{"name":"max_zoom?","visibility":"Public","body":"send(Bytes[160, 138, 0, 0, 0, 175], priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(6)\n@zoom_range = 0..@zoom_max\n"}},{"html_id":"picture_mode(state:String)-instance-method","name":"picture_mode","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/lumens/dc193.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L126"},"def":{"name":"picture_mode","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nmode = case state.downcase\nwhen \"photo\"\n 0_u8\nwhen \"text\"\n 1_u8\nwhen \"greyscale\", \"grayscale\"\n 2_u8\nelse\n raise(ArgumentError.new(\"unknown picture mode #{state}\"))\nend\nsend(Bytes[160, 167, mode, 0, 0, 175], name: :picture_mode)\n"}},{"html_id":"picture_mode?-instance-method","name":"picture_mode?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L142"},"def":{"name":"picture_mode?","visibility":"Public","body":"send(Bytes[160, 81, 0, 0, 0, 175], priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L48"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 176, state, 0, 0, 175], name: :power)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L54"},"def":{"name":"power?","visibility":"Public","body":"send(Bytes[160, 183, 0, 0, 0, 175], priority: 0)"}},{"html_id":"query_status-instance-method","name":"query_status","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L37"},"def":{"name":"query_status","visibility":"Public","body":"if power?.get == \"true\"\n lamp?\n zoom?\n frozen?\n max_zoom?\n picture_mode?\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lumens/dc193.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L189"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Lumens sent: #{data.hexstring}\"\nend\nstatus = Status.from_value(data[4].to_i)\nself[:zooming] = status.zooming?\nself[:focusing] = status.focusing?\nself[:iris_adjusting] = status.iris?\nif status.error?\n return task.try(&.abort(\"bad request\"))\nend\nif status.ignored?\n return task.try(&.retry(\"device busy\"))\nend\nresult = case COMMANDS[data[1]]?\nwhen :power\n data[2] == 1_u8\nwhen :power_staus\n @ready = data[2] == 1_u8\n @power = data[3] == 1_u8\n logger.debug do\n \"System power: #{@power}, ready: #{@ready}\"\n end\n self[:ready] = @ready\n self[:power] = @power\nwhen :max_zoom\n @zoom_max = data[2].to_i + (data[3].to_i << 8)\n @zoom_range = 0..@zoom_max\n self[:zoom_range] = {min: 0, max: @zoom_max}\nwhen :frozen_status, :freeze\n self[:frozen] = @frozen = data[2] == 1_u8\nwhen :zoom_staus, :zoom_direct_auto_focus, :zoom_direct\n value = data[2].to_i + (data[3].to_i << 8)\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\nwhen :picture_mode_staus, :picture_mode\n self[:picture_mode] = PICTURE_MODES[data[2].to_i]\nwhen :lamp_staus, :lamp\n case data[2]\n when 0_u8\n @head_led = @lamp = false\n when 1_u8\n @head_led = @lamp = true\n when 2_u8\n @head_led = false\n @lamp = true\n when 3_u8\n @head_led = true\n @lamp = false\n end\n self[:head_led] = @head_led\n self[:lamp] = @lamp\nwhen :auto_focus\nelse\n error = \"Unknown command #{data[1]}\"\n logger.debug do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success(result))\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=1)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 1)","args_html":"(direction : ZoomDirection, index : Int32 | String = 1)","location":{"filename":"src/lumens/dc193.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L90"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @frozen\n return false\nend\ncase direction\nwhen ZoomDirection::Stop\n send(Bytes[160, 16, 0, 0, 0, 175])\n zoom?(priority: queue.priority)\n auto_focus(name: \"zoom\")\nwhen ZoomDirection::In\n send(Bytes[160, 17, 0, 0, 0, 175], name: :zoom)\nwhen ZoomDirection::Out\n send(Bytes[160, 17, 1, 0, 0, 175], name: :zoom)\nend\n"}},{"html_id":"zoom?(priority:Int32=0)-instance-method","name":"zoom?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L113"},"def":{"name":"zoom?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(Bytes[160, 96, 0, 0, 0, 175], priority: priority)"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L79"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nposition = (percentage * @zoom_max.to_f).to_i\nlow = (position & 255).to_u8\nhigh = ((position >> 8) & 255).to_u8\nauto_focus = auto_focus ? 31_u8 : 19_u8\nsend(Bytes[160, auto_focus, low, high, 0, 175], name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Lumens/DC193/Status","path":"Lumens/DC193/Status.html","kind":"enum","full_name":"Lumens::DC193::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L151"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Error","name":"Error","value":"1"},{"id":"Ignored","name":"Ignored","value":"2"},{"id":"Reserved1","name":"Reserved1","value":"4"},{"id":"Reserved2","name":"Reserved2","value":"8"},{"id":"Focusing","name":"Focusing","value":"16"},{"id":"Zooming","name":"Zooming","value":"32"},{"id":"Iris","name":"Iris","value":"64"},{"id":"Reserved3","name":"Reserved3","value":"128"}],"namespace":{"html_id":"drivers/Lumens/DC193","kind":"class","full_name":"Lumens::DC193","name":"DC193"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L152"},"def":{"name":"error?","visibility":"Public","body":"self.includes?(Error)"}},{"html_id":"focusing?-instance-method","name":"focusing?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L156"},"def":{"name":"focusing?","visibility":"Public","body":"self.includes?(Focusing)"}},{"html_id":"ignored?-instance-method","name":"ignored?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L153"},"def":{"name":"ignored?","visibility":"Public","body":"self.includes?(Ignored)"}},{"html_id":"iris?-instance-method","name":"iris?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L158"},"def":{"name":"iris?","visibility":"Public","body":"self.includes?(Iris)"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L151"},"def":{"name":"none?","visibility":"Public","body":"value == 0"}},{"html_id":"reserved1?-instance-method","name":"reserved1?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L154"},"def":{"name":"reserved1?","visibility":"Public","body":"self.includes?(Reserved1)"}},{"html_id":"reserved2?-instance-method","name":"reserved2?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L155"},"def":{"name":"reserved2?","visibility":"Public","body":"self.includes?(Reserved2)"}},{"html_id":"reserved3?-instance-method","name":"reserved3?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L159"},"def":{"name":"reserved3?","visibility":"Public","body":"self.includes?(Reserved3)"}},{"html_id":"zooming?-instance-method","name":"zooming?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L157"},"def":{"name":"zooming?","visibility":"Public","body":"self.includes?(Zooming)"}}]}]}]},{"html_id":"drivers/Lutron","path":"Lutron.html","kind":"module","full_name":"Lutron","name":"Lutron","abstract":false,"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L12"},{"filename":"src/lutron/vive_leap_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"macros":[{"html_id":"upper_enum(name)-macro","name":"upper_enum","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""}],"args_string":"(name)","args_html":"(name)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L4"},"def":{"name":"upper_enum","args":[{"name":"name","external_name":"name","restriction":""}],"visibility":"Public","body":" \n{% if name.type.resolve.nilable? %} @{{ name.var }} : String? {% else %} @{{ name.var }} : String {% end %}\n\n \n{% enum_type = name.type.resolve.union_types.reject(&.nilable?).first %}\n\n\n def \n{{ name.var }}\n : \n{{ name.type }}\n\n if value = @\n{{ name.var }}\n\n \n{{ enum_type }}\n.parse(value)\n \nelse\n nil\n \nend\n \nend\n\n def \n{{ name.var }}\n=(value : \n{{ name.type }}\n) : \n{{ name.type }}\n\n @\n{{ name.var }}\n = value.try &.to_s\n value\n \nend\n \n"}}],"types":[{"html_id":"drivers/Lutron/AreaStatus","path":"Lutron/AreaStatus.html","kind":"struct","full_name":"Lutron::AreaStatus","name":"AreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L117"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L118"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","doc":"/area/3/status","summary":"

/area/3/status

","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L121"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L124"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"occupancy:OccupancyStatus|Nil-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy","return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"if value = @occupancy\n Lutron::OccupancyStatus.parse(value)\nelse\n nil\nend"}},{"html_id":"occupancy=(value:OccupancyStatus|Nil):OccupancyStatus|Nil-instance-method","name":"occupancy=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"args_string":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","args_html":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy=","args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"@occupancy = value.try(&.to_s)\nvalue\n"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L129"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, area_id, status = href.split(\"/\", 4)\n\"#{component}#{area_id}\"\n"}}]},{"html_id":"drivers/Lutron/Availability","path":"Lutron/Availability.html","kind":"enum","full_name":"Lutron::Availability","name":"Availability","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L159"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Available","name":"Available","value":"0"},{"id":"Unavailable","name":"Unavailable","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"available?-instance-method","name":"available?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L160"},"def":{"name":"available?","visibility":"Public","body":"self == Available"}},{"html_id":"unavailable?-instance-method","name":"unavailable?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L161"},"def":{"name":"unavailable?","visibility":"Public","body":"self == Unavailable"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L162"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Lutron/ClientSetting","path":"Lutron/ClientSetting.html","kind":"struct","full_name":"Lutron::ClientSetting","name":"ClientSetting","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L74"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"protocol:ClientVersion-instance-method","name":"protocol","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L77"},"def":{"name":"protocol","return_type":"ClientVersion","visibility":"Public","body":"@protocol"}}]},{"html_id":"drivers/Lutron/ClientVersion","path":"Lutron/ClientVersion.html","kind":"struct","full_name":"Lutron::ClientVersion","name":"ClientVersion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L81"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"major_version:Int32-instance-method","name":"major_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L84"},"def":{"name":"major_version","return_type":"Int32","visibility":"Public","body":"@major_version"}},{"html_id":"minor_version:Int32-instance-method","name":"minor_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L87"},"def":{"name":"minor_version","return_type":"Int32","visibility":"Public","body":"@minor_version"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L89"},"def":{"name":"version","visibility":"Public","body":"\"#{major_version}.#{minor_version}.0\""}}]},{"html_id":"drivers/Lutron/CommuniqueType","path":"Lutron/CommuniqueType.html","kind":"enum","full_name":"Lutron::CommuniqueType","name":"CommuniqueType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ReadRequest","name":"ReadRequest","value":"0"},{"id":"ReadResponse","name":"ReadResponse","value":"1"},{"id":"UpdateRequest","name":"UpdateRequest","value":"2"},{"id":"UpdateResponse","name":"UpdateResponse","value":"3"},{"id":"SubscribeRequest","name":"SubscribeRequest","value":"4"},{"id":"SubscribeResponse","name":"SubscribeResponse","value":"5"},{"id":"DeleteRequest","name":"DeleteRequest","value":"6"},{"id":"DeleteResponse","name":"DeleteResponse","value":"7"},{"id":"CreateRequest","name":"CreateRequest","value":"8"},{"id":"CreateResponse","name":"CreateResponse","value":"9"},{"id":"UnsubscribeRequest","name":"UnsubscribeRequest","value":"10"},{"id":"UnsubscribeResponse","name":"UnsubscribeResponse","value":"11"},{"id":"ExceptionResponse","name":"ExceptionResponse","value":"12"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"create_request?-instance-method","name":"create_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L31"},"def":{"name":"create_request?","visibility":"Public","body":"self == CreateRequest"}},{"html_id":"create_response?-instance-method","name":"create_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L32"},"def":{"name":"create_response?","visibility":"Public","body":"self == CreateResponse"}},{"html_id":"delete_request?-instance-method","name":"delete_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L29"},"def":{"name":"delete_request?","visibility":"Public","body":"self == DeleteRequest"}},{"html_id":"delete_response?-instance-method","name":"delete_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L30"},"def":{"name":"delete_response?","visibility":"Public","body":"self == DeleteResponse"}},{"html_id":"exception_response?-instance-method","name":"exception_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L35"},"def":{"name":"exception_response?","visibility":"Public","body":"self == ExceptionResponse"}},{"html_id":"read_request?-instance-method","name":"read_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L23"},"def":{"name":"read_request?","visibility":"Public","body":"self == ReadRequest"}},{"html_id":"read_response?-instance-method","name":"read_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L24"},"def":{"name":"read_response?","visibility":"Public","body":"self == ReadResponse"}},{"html_id":"subscribe_request?-instance-method","name":"subscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L27"},"def":{"name":"subscribe_request?","visibility":"Public","body":"self == SubscribeRequest"}},{"html_id":"subscribe_response?-instance-method","name":"subscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L28"},"def":{"name":"subscribe_response?","visibility":"Public","body":"self == SubscribeResponse"}},{"html_id":"unsubscribe_request?-instance-method","name":"unsubscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L33"},"def":{"name":"unsubscribe_request?","visibility":"Public","body":"self == UnsubscribeRequest"}},{"html_id":"unsubscribe_response?-instance-method","name":"unsubscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L34"},"def":{"name":"unsubscribe_response?","visibility":"Public","body":"self == UnsubscribeResponse"}},{"html_id":"update_request?-instance-method","name":"update_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L25"},"def":{"name":"update_request?","visibility":"Public","body":"self == UpdateRequest"}},{"html_id":"update_response?-instance-method","name":"update_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L26"},"def":{"name":"update_response?","visibility":"Public","body":"self == UpdateResponse"}}]},{"html_id":"drivers/Lutron/ContactClosureState","path":"Lutron/ContactClosureState.html","kind":"enum","full_name":"Lutron::ContactClosureState","name":"ContactClosureState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L154"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L156"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L155"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]},{"html_id":"drivers/Lutron/ExceptionDetail","path":"Lutron/ExceptionDetail.html","kind":"struct","full_name":"Lutron::ExceptionDetail","name":"ExceptionDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L95"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error_code:Int32|Nil-instance-method","name":"error_code","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L101"},"def":{"name":"error_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@error_code"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L98"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Lutron/Lighting","path":"Lutron/Lighting.html","kind":"class","full_name":"Lutron::Lighting","name":"Lighting","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Errors","name":"Errors","value":"{\"1\" => \"Parameter count mismatch\", \"2\" => \"Object does not exist\", \"3\" => \"Invalid action number\", \"4\" => \"Parameter data out of range\", \"5\" => \"Parameter data malformed\", \"6\" => \"Unsupported Command\"}"},{"id":"Occupancy","name":"Occupancy","value":"{\"1\" => \"unknown\", \"2\" => \"inactive\", \"3\" => \"occupied\", \"4\" => \"unoccupied\"}"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"blinds(device:String,action:String,component:String=\"shadegrp\")-instance-method","name":"blinds","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"args_string":"(device : String, action : String, component : String = \"shadegrp\")","args_html":"(device : String, action : String, component : String = "shadegrp")","location":{"filename":"src/lutron/lighting.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L77"},"def":{"name":"blinds","args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"case action.downcase\nwhen \"raise\", \"up\"\n send_cmd(component.upcase, device, 3)\nwhen \"lower\", \"down\"\n send_cmd(component.upcase, device, 2)\nwhen \"stop\"\n send_cmd(component.upcase, device, 4)\nend"}},{"html_id":"button_press(area:Int32,button:Int32)-instance-method","name":"button_press","doc":"===============\nDEVICE COMMANDS\n===============","summary":"

=============== DEVICE COMMANDS ===============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"args_string":"(area : Int32, button : Int32)","args_html":"(area : Int32, button : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L116"},"def":{"name":"button_press","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"visibility":"Public","body":"send_cmd(\"DEVICE\", area, button, 3)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"send(\"#{@login}\\r\\n\", priority: 9999)\nschedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Lutron\"\n end\n scene?(1)\nend\n"}},{"html_id":"daylight(area:Int32,mode:Bool)-instance-method","name":"daylight","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"args_string":"(area : Int32, mode : Bool)","args_html":"(area : Int32, mode : Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L108"},"def":{"name":"daylight","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"visibility":"Public","body":"val = mode ? 1 : 2\nsend_cmd(\"AREA\", area, 7, val)\n"}},{"html_id":"daylight_mode?(area:Int32)-instance-method","name":"daylight_mode?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L104"},"def":{"name":"daylight_mode?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 7)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L44"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"led(area:Int32,device:Int32,state:Int32|Bool)-instance-method","name":"led","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"args_string":"(area : Int32, device : Int32, state : Int32 | Bool)","args_html":"(area : Int32, device : Int32, state : Int32 | Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L120"},"def":{"name":"led","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"visibility":"Public","body":"val = if state.is_a?(Int32)\n state\nelse\n state ? 1 : 0\nend\nsend_cmd(\"DEVICE\", area, device, 9, val)\n"}},{"html_id":"led?(area:Int32,device:Int32)-instance-method","name":"led?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"args_string":"(area : Int32, device : Int32)","args_html":"(area : Int32, device : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L130"},"def":{"name":"led?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"DEVICE\", area, device, 9)"}},{"html_id":"level(device:Int32,level:Int32,rate:Int32=1000,component:String=\"output\")-instance-method","name":"level","doc":"dimmers, CCOs, or other devices in a system that have a controllable output","summary":"

dimmers, CCOs, or other devices in a system that have a controllable output

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"args_string":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = \"output\")","args_html":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = "output")","location":{"filename":"src/lutron/lighting.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L63"},"def":{"name":"level","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"level = level.clamp(0, 100)\nseconds = rate / 1000\nmin = seconds / 60\nseconds = seconds - (min * 60)\ntime = \"#{min.to_s.rjust(2, '0')}:#{seconds.to_s.rjust(2, '0')}\"\nsend_cmd(component.upcase, device, 1, level, time)\n"}},{"html_id":"light_level(area:Int32,level:Int32,component:String|Nil=nil,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","args_html":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","location":{"filename":"src/lutron/lighting.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L141"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"if component\n level(area, level, fade, component)\nelse\n level(area, level, fade, \"area\")\nend"}},{"html_id":"lighting(device:Int32,state:Bool,action:Int32=1)-instance-method","name":"lighting","doc":"on or off","summary":"

on or off

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"args_string":"(device : Int32, state : Bool, action : Int32 = 1)","args_html":"(device : Int32, state : Bool, action : Int32 = 1)","location":{"filename":"src/lutron/lighting.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L53"},"def":{"name":"lighting","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(device, level)\n"}},{"html_id":"occupancy?(area:Int32)-instance-method","name":"occupancy?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L100"},"def":{"name":"occupancy?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@login = (setting?(String, :login)) || \"nwk\"\n@trigger_type = (setting?(String, :trigger)) || \"area\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/lighting.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nparts = data.split(\",\")\ncomponent = parts[0][1..-1].downcase\ncase component\nwhen \"area\", \"output\", \"shadegrp\"\n area = parts[1]\n action = parts[2].to_i\n param = parts[3]\n case action\n when 1\n self[\"#{component}#{area}_level\"] = param.to_f\n when 6\n self[\"#{component}#{area}\"] = param.to_i\n when 7\n self[\"#{component}#{area}_daylight\"] = param == \"1\"\n when 8\n self[\"#{component}#{area}_occupied\"] = Occupancy[param]\n end\nwhen \"device\"\n area = parts[1]\n device = parts[2]\n action = parts[3].to_i\n case action\n when 7\n self[\"device#{area}_#{device}\"] = parts[4].to_i\n when 9\n self[\"device#{area}_#{device}_led\"] = parts[4].to_i\n end\nwhen \"error\"\n error = \"error #{parts[1]}: #{Errors[parts[1]]}\"\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success)\n"}},{"html_id":"restart-instance-method","name":"restart","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L48"},"def":{"name":"restart","visibility":"Public","body":"send_cmd(\"RESET\", 0)"}},{"html_id":"scene(area:Int32,scene:Int32,component:String=\"area\")-instance-method","name":"scene","doc":"=============\nAREA COMMANDS\n=============","summary":"

============= AREA COMMANDS =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, scene : Int32, component : String = \"area\")","args_html":"(area : Int32, scene : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L91"},"def":{"name":"scene","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"(send_cmd(component.upcase, area, 6, scene)).get\nscene?(area, component)\n"}},{"html_id":"scene?(area:Int32,component:String=\"area\")-instance-method","name":"scene?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, component : String = \"area\")","args_html":"(area : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L96"},"def":{"name":"scene?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"send_query(component.upcase, area, 6)"}},{"html_id":"trigger(area:Int32,scene:Int32)-instance-method","name":"trigger","doc":"=============\nCOMPATIBILITY\n=============","summary":"

============= COMPATIBILITY =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32)","args_html":"(area : Int32, scene : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L137"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"scene(area, scene, @trigger_type)"}}]},{"html_id":"drivers/Lutron/MultipleAreaStatus","path":"Lutron/MultipleAreaStatus.html","kind":"struct","full_name":"Lutron::MultipleAreaStatus","name":"MultipleAreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L104"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L105"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(AreaStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L108"},"def":{"name":"states","return_type":"Array(AreaStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/MultipleZoneStatus","path":"Lutron/MultipleZoneStatus.html","kind":"struct","full_name":"Lutron::MultipleZoneStatus","name":"MultipleZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L135"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(ZoneStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L139"},"def":{"name":"states","return_type":"Array(ZoneStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/OccupancyStatus","path":"Lutron/OccupancyStatus.html","kind":"enum","full_name":"Lutron::OccupancyStatus","name":"OccupancyStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L111"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Occupied","name":"Occupied","value":"0"},{"id":"Unoccupied","name":"Unoccupied","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"occupied?-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L112"},"def":{"name":"occupied?","visibility":"Public","body":"self == Occupied"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L114"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"unoccupied?-instance-method","name":"unoccupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L113"},"def":{"name":"unoccupied?","visibility":"Public","body":"self == Unoccupied"}}]},{"html_id":"drivers/Lutron/OneZoneStatus","path":"Lutron/OneZoneStatus.html","kind":"struct","full_name":"Lutron::OneZoneStatus","name":"OneZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L142"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L143"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:ZoneStatus-instance-method","name":"status","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L146"},"def":{"name":"status","return_type":"ZoneStatus","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/Lutron/Quantum","path":"Lutron/Quantum.html","kind":"class","full_name":"Lutron::Quantum","name":"Quantum","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/quantum.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"level(id:Int32,level:String)-instance-method","name":"level","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(id : Int32, level : String)","args_html":"(id : Int32, level : String)","location":{"filename":"src/lutron/quantum.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L35"},"def":{"name":"level","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"client.zone.set_status_level(id: id, level: level)\nself[\"area#{id}_level\"] = level\n"}},{"html_id":"level?(id:Int32)-instance-method","name":"level?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L30"},"def":{"name":"level?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.zone.get_status(id)\nself[\"area#{id}_level\"] = status[\"Level\"]\n"}},{"html_id":"occupancy_status?(id:Int32)-instance-method","name":"occupancy_status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L50"},"def":{"name":"occupancy_status?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"occupancy_status = client.area.get_occupancy_status(id: id)\nself[\"area#{id}_occupancy\"] = occupancy_status\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = (URI.parse(config.uri.not_nil!)).host\napi_key = setting(String, :api_key)\ndevice_key = setting(String, :device_key)\n@client = Client.new(host_name: host_name.not_nil!, api_key: api_key, device_key: device_key)\n"}},{"html_id":"root-instance-method","name":"root","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L61"},"def":{"name":"root","visibility":"Public","body":"client.area.root"}},{"html_id":"scene(id:Int32,scene:Int32)-instance-method","name":"scene","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(id : Int32, scene : Int32)","args_html":"(id : Int32, scene : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L40"},"def":{"name":"scene","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"client.area.set_scene(id: id, scene: scene)\nself[\"area#{id}\"] = scene\n"}},{"html_id":"scene?(id:Int32)-instance-method","name":"scene?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L45"},"def":{"name":"scene?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.area.get_status(id: id)\nself[\"area#{id}\"] = status[\"CurrentScene\"]\n"}},{"html_id":"scenes(id:Int32)-instance-method","name":"scenes","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L56"},"def":{"name":"scenes","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"client.area.get_scenes(id: id)"}}],"types":[{"html_id":"drivers/Lutron/Quantum/Client","path":"Lutron/Quantum/Client.html","kind":"alias","full_name":"Lutron::Quantum::Client","name":"Client","abstract":false,"locations":[{"filename":"src/lutron/quantum.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Quantum::Client","aliased_html":"Quantum::Client","const":false,"namespace":{"html_id":"drivers/Lutron/Quantum","kind":"class","full_name":"Lutron::Quantum","name":"Quantum"}}]},{"html_id":"drivers/Lutron/Request","path":"Lutron/Request.html","kind":"class","full_name":"Lutron::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L39"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(url:String,req_type:CommuniqueType=CommuniqueType::ReadRequest,body=nil,header:Hash(String,String)={}ofString=>String)-class-method","name":"new","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"args_string":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","args_html":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L56"},"def":{"name":"new","args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(url, req_type, body, header)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(*args,**options)-instance-method","name":"[]=","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]=","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args] = **options"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"if (value = @body).nil?\n @body = (\"\")\nelse\n value\nend"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"header:Hash(String,String)-instance-method","name":"header","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header","return_type":"Hash(String, String)","visibility":"Public","body":"@header"}},{"html_id":"header=(header:Hash(String,String))-instance-method","name":"header=","abstract":false,"args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"args_string":"(header : Hash(String, String))","args_html":"(header : Hash(String, String))","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header=","args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@header = header"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L52"},"def":{"name":"name?","visibility":"Public","body":"header[\"Url\"]?"}},{"html_id":"type:CommuniqueType-instance-method","name":"type","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type","return_type":"CommuniqueType","visibility":"Public","body":"if value = @type\n Lutron::CommuniqueType.parse(value)\nelse\n nil\nend"}},{"html_id":"type=(value:CommuniqueType):CommuniqueType-instance-method","name":"type=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"args_string":"(value : CommuniqueType) : CommuniqueType","args_html":"(value : CommuniqueType) : CommuniqueType","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type=","args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"return_type":"CommuniqueType","visibility":"Public","body":"@type = value.try(&.to_s)\nvalue\n"}}]},{"html_id":"drivers/Lutron/SwitchedLevel","path":"Lutron/SwitchedLevel.html","kind":"enum","full_name":"Lutron::SwitchedLevel","name":"SwitchedLevel","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L151"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L150"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Lutron/ViveBacnet","path":"Lutron/ViveBacnet.html","kind":"class","full_name":"Lutron::ViveBacnet","name":"ViveBacnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"disable_occupancy(state:Bool)-instance-method","name":"disable_occupancy","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L83"},"def":{"name":"disable_occupancy","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 7, state)).get\nself[:occupancy_disabled] = state\n"}},{"html_id":"level(percentage:Float32)-instance-method","name":"level","abstract":false,"args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"args_string":"(percentage : Float32)","args_html":"(percentage : Float32)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L71"},"def":{"name":"level","args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"visibility":"Public","body":"if percentage < 0.0_f32\n percentage = 0.0_f32\nend\nif percentage > 100.0_f32\n percentage = 100.0_f32\nend\n(bacnet.write_real(@device_id, 2, percentage)).get\nself[:lighting_level] = percentage\n"}},{"html_id":"lighting(state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L78"},"def":{"name":"lighting","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 3, state)).get\nself[:lighting] = state\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@device_id = setting(UInt32, :device_id)\nsubscriptions.clear\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[2]\") do |_sub, value|\n self[:lighting_level] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[18]\") do |_sub, value|\n self[:power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[19]\") do |_sub, value|\n self[:max_power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[3]\") do |_sub, value|\n self[:lighting] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[7]\") do |_sub, value|\n self[:occupancy_disabled] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.MultiStateValue[8]\") do |_sub, value|\n @occupancy = case value\n when \"1\"\n false\n when \"2\"\n true\n else\n nil\n end\n self[:occupancy] = @occupancy\n self[:occupancy_sensor] = @occupancy.nil? ? nil : ( @occupancy ? 1.0 : 0.0)\n @last_updated = Time.utc.to_unix\nend\nschedule.clear\nschedule.every((4 + (rand(3))).seconds) do\n (bacnet.update_value(@device_id, 2, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 18, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 19, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 3, \"BinaryValue\")).get\n (bacnet.update_value(@device_id, 8, \"MultiStateValue\")).get\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L115"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id == \"occupancy\"\nelse\n return nil\nend\nif mac == @device_id.to_s\nelse\n return nil\nend\nif @last_updated == 0_i64\n return nil\nend\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L94"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != @device_id.to_s)\n return NO_MATCH\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\n[Interface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")]\n"}}]},{"html_id":"drivers/Lutron/ViveLeap","path":"Lutron/ViveLeap.html","kind":"class","full_name":"Lutron::ViveLeap","name":"ViveLeap","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"area_status?-instance-method","name":"area_status?","doc":"gets the status of all areas","summary":"

gets the status of all areas

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L85"},"def":{"name":"area_status?","visibility":"Public","body":"request = Request.new(\"/area/status\")\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"request = Request.new(\"/clientsetting\", :update_request, {ClientSetting: {ClientMajorVersion: 1}})\nsend(request.to_json, priority: 99, name: request.name?)\nschedule.every(1.minute) do\n ping\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"@sensors.clear\nschedule.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n length, unpaired = 0, 0\n loop do\n case io.read_char\n when '{'\n unpaired = unpaired + 1\n when '}'\n unpaired = unpaired - 1\n when Nil\n break\n end\n length = length + 1\n if unpaired.zero?\n break\n end\n end\n unpaired.zero? && length > 0 ? length : -1\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L79"},"def":{"name":"ping","visibility":"Public","body":"request = Request.new(\"/server/status/ping\")\nsend(request.to_json, priority: 0, name: request.name?)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/vive_leap.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L142"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nrequest = Request.from_json(data)\nurl = request[\"Url\"]?\nhttp_status = request[\"StatusCode\"]? || \"200 OK\"\nmessage_type = request[\"MessageBodyType\"]?\ncase message_type\nwhen \"OneClientSettingDefinition\"\n setting = ClientSetting.from_json(request.body)\n logger.debug do\n \"protocol version negotiated #{setting.protocol.version}, authenticating\"\n end\n authenticate\nwhen \"MultipleAreaStatus\"\n statuses = MultipleAreaStatus.from_json(request.body)\n timestamp = Time.utc.to_unix\n statuses.states.each do |status|\n base_key = status.status_key\n if status.level\n self[\"#{base_key}_level\"] = status.level\n end\n if status.occupancy\n self[\"#{base_key}_occupied\"] = status.occupancy\n @sensors[base_key] = {status.occupancy.try(&.occupied?) || false, timestamp}\n end\n end\nwhen \"MultipleZoneStatus\"\n statuses = MultipleZoneStatus.from_json(request.body)\n statuses.states.each do |status|\n set_zone(status)\n end\nwhen \"OneZoneStatus\"\n set_zone((OneZoneStatus.from_json(request.body)).status)\nwhen \"ExceptionDetail\"\n code, status = http_status.split(\" \", 2)\n details = ExceptionDetail.from_json(request.body)\n error_message = \"operation #{url} failed with #{code}: #{status}, #{details.message} [#{details.error_code}]\"\n logger.warn do\n error_message\n end\n if task && (task.name == url)\n task.abort(error_message)\n else\n return\n end\nwhen nil\n case url\n when \"/server/status/ping\"\n logger.debug do\n \"got ping response\"\n end\n end\nelse\n logger.debug do\n \"unknown message type #{message_type}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_leap.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L233"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif mac == config.ip\nelse\n return nil\nend\nif id\nelse\n return nil\nend\nsensor_found = @sensors[id]?\nif sensor_found\nelse\n return nil\nend\npresence, timestamp = sensor_found\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: mac, id: id, name: \"#{system.name} #{id} occupancy\", module_id: module_id, binding: \"#{id}_occupied\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_leap.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L213"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\n@sensors.map do |area_id, __arg3|\n presence = __arg3[0]\n timestamp = __arg3[1]\n Interface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: config.ip.not_nil!, id: area_id, name: \"#{system.name} #{area_id} occupancy\", module_id: module_id, binding: \"#{area_id}_occupied\")\nend\n"}},{"html_id":"zone_contact_closure(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_contact_closure","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L130"},"def":{"name":"zone_contact_closure","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToCCOLevel\", CCOLevelParameters: {CCOLevel: state ? \"Closed\" : \"Open\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_level(zone_id:String|Int32,level:Float64)-instance-method","name":"zone_level","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(zone_id : String | Int32, level : Float64)","args_html":"(zone_id : String | Int32, level : Float64)","location":{"filename":"src/lutron/vive_leap.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L106"},"def":{"name":"zone_level","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToDimmedLevel\", DimmedLevelParameters: {Level: level}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_lighting(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_lighting","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L118"},"def":{"name":"zone_lighting","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToSwitchedLevel\", SwitchedLevelParameters: {SwitchedLevel: state ? \"On\" : \"Off\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_status?-instance-method","name":"zone_status?","doc":"get the status of all zones","summary":"

get the status of all zones

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L96"},"def":{"name":"zone_status?","visibility":"Public","body":"request = Request.new(\"/zone/status\")\nsend(request.to_json, name: request.name?)\n"}}]},{"html_id":"drivers/Lutron/ZoneStatus","path":"Lutron/ZoneStatus.html","kind":"struct","full_name":"Lutron::ZoneStatus","name":"ZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L165"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L166"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"availability:Availability|Nil-instance-method","name":"availability","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability","return_type":"Availability | ::Nil","visibility":"Public","body":"if value = @availability\n Lutron::Availability.parse(value)\nelse\n nil\nend"}},{"html_id":"availability=(value:Availability|Nil):Availability|Nil-instance-method","name":"availability=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"args_string":"(value : Availability | Nil) : Availability | Nil","args_html":"(value : Availability | Nil) : Availability | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability=","args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"return_type":"Availability | ::Nil","visibility":"Public","body":"@availability = value.try(&.to_s)\nvalue\n"}},{"html_id":"contact_closure:ContactClosureState|Nil-instance-method","name":"contact_closure","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure","return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"if value = @contact_closure\n Lutron::ContactClosureState.parse(value)\nelse\n nil\nend"}},{"html_id":"contact_closure=(value:ContactClosureState|Nil):ContactClosureState|Nil-instance-method","name":"contact_closure=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"args_string":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","args_html":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure=","args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"@contact_closure = value.try(&.to_s)\nvalue\n"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L168"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L171"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L182"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, zone_id, status = href.split(\"/\", 4)\n\"#{component}#{zone_id}\"\n"}},{"html_id":"switched_level:SwitchedLevel|Nil-instance-method","name":"switched_level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level","return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"if value = @switched_level\n Lutron::SwitchedLevel.parse(value)\nelse\n nil\nend"}},{"html_id":"switched_level=(value:SwitchedLevel|Nil):SwitchedLevel|Nil-instance-method","name":"switched_level=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"args_string":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","args_html":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level=","args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"@switched_level = value.try(&.to_s)\nvalue\n"}}]}]},{"html_id":"drivers/Mailer","path":"Mailer.html","kind":"class","full_name":"Mailer","name":"Mailer","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"on_load-instance-method","name":"on_load","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"location":{"filename":"src/place/survey_mailer_spec.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L57"},"def":{"name":"on_load","visibility":"Public","body":"self[:sent] = 0"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L74"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"true"}},{"html_id":"send_template(to:String|Array(String),template:Tuple(String,String),args:TemplateItems,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_template","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L61"},"def":{"name":"send_template","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"self[:sent] = self[:sent].as_i + 1"}}]},{"html_id":"drivers/MessageMedia","path":"MessageMedia.html","kind":"module","full_name":"MessageMedia","name":"MessageMedia","abstract":false,"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MessageMedia/SMS","path":"MessageMedia/SMS.html","kind":"class","full_name":"MessageMedia::SMS","name":"SMS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/MessageMedia","kind":"module","full_name":"MessageMedia","name":"MessageMedia"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/message_media/sms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L28"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nformat = format || \"SMS\"\nnumbers = phone_numbers.map do |number|\n payload = {:content => message, :destination_number => number, :format => format}\n if source\n payload[:source_number] = source.to_s\n payload[:source_number_type] = \"ALPHANUMERIC\"\n end\n payload\nend\nresponse = post(\"/v1/messages\", body: {messages: numbers}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nnil\n"}}]}]},{"html_id":"drivers/Microsoft","path":"Microsoft.html","kind":"module","full_name":"Microsoft","name":"Microsoft","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Microsoft/Coordinates","path":"Microsoft/Coordinates.html","kind":"class","full_name":"Microsoft::Coordinates","name":"Coordinates","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L21"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L24"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L27"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L30"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/Microsoft/FindMe","path":"Microsoft/FindMe.html","kind":"class","full_name":"Microsoft::FindMe","name":"FindMe","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"levels-instance-method","name":"levels","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L65"},"def":{"name":"levels","visibility":"Public","body":"data = make_request(\"GET\", \"/FindMeService/api/MeetingRooms/BuildingLevelsWithMeetingRooms\")\nlevels = Array(Microsoft::Level).from_json(data)\nbuildings = Hash(String, Array(String)).new do |hash, key|\n hash[key] = [] of String\nend\nlevels.each do |level|\n buildings[level.building] << level.name\nend\nbuildings\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@domain = (setting?(String, :domain)) || \"\"\n"}},{"html_id":"user_details(usernames:String|Array(String))-instance-method","name":"user_details","abstract":false,"args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"args_string":"(usernames : String | Array(String))","args_html":"(usernames : String | Array(String))","location":{"filename":"src/microsoft/find_me.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L75"},"def":{"name":"user_details","args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"visibility":"Public","body":"users = usernames.is_a?(String) ? [usernames] : usernames\ndata = make_request(\"GET\", \"/FindMeService/api/ObjectLocation/Users/#{users.join(\",\")}?getExtendedData=true\")\n(Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\nend\n"}},{"html_id":"users_on(building:String,level:String)-instance-method","name":"users_on","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(building : String, level : String)","args_html":"(building : String, level : String)","location":{"filename":"src/microsoft/find_me.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L82"},"def":{"name":"users_on","args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"uri = \"/FindMeService/api/ObjectLocation/Level/#{building}/#{level}\"\ndata = make_request(\"GET\", uri)\nbegin\n (Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\n end\nrescue error\n logger.debug do\n \"failed to parse location data\\n#{data}\"\n end\n raise(error)\nend\n"}}]},{"html_id":"drivers/Microsoft/FindMeLocationService","path":"Microsoft/FindMeLocationService.html","kind":"class","full_name":"Microsoft::FindMeLocationService","name":"FindMeLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L95"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nactive_users_raw = (findme.user_details(mac_address)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nif user_details = active_users[0]?\n {location: user_details.located_using == \"FixedLocation\" ? \"desk\" : \"wireless\", assigned_to: user_details.user_data.not_nil!.email_address || \"\", mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L110"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfindme_details = @floor_mappings[zone_id]?\nif findme_details\nelse\n return [] of Nil\nend\nfindme_building = findme_details[:building]\nfindme_level = findme_details[:level]\nactive_users_raw = (findme.users_on(findme_building, findme_level)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nlocations = active_users.compact_map do |loc|\n build_location_response(loc, zone_id, findme_building, findme_level, location)\nend\nlocations\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L53"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocations_raw = (findme.user_details(username)).get.to_json\nlocations = Array(Microsoft::Location).from_json(locations_raw)\nlocations = locations.compact_map do |location|\n coords = location.coordinates\n if coords\n else\n next\n end\n level = findme_building = findme_level = \"\"\n @floor_mappings.each do |zone, details|\n findme_building = details[:building]\n findme_level = details[:level]\n if (findme_building == coords.building) && (findme_level == coords.level)\n level = zone\n break\n end\n end\n if level.empty?\n next\n end\n build_location_response(location, level, findme_building, findme_level)\nend\nlocations\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L82"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nactive_users_raw = (findme.user_details(username || email)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nfound = [] of String\nif user_details = active_users[0]?\n found << user_details.username\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@map_id_prefix = (setting?(String, :map_id_prefix)).presence || \"table-\"\n@building_zone = setting(String, :building_zone)\n@floor_mappings = setting(Hash(String, NamedTuple(building: String, level: String)), :floor_mappings)\n@zone_filter = @floor_mappings.keys\n@s2_level = (setting?(Int32, :s2_level)) || 21\n"}}]},{"html_id":"drivers/Microsoft/GPS","path":"Microsoft/GPS.html","kind":"class","full_name":"Microsoft::GPS","name":"GPS","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L37"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L40"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}}]},{"html_id":"drivers/Microsoft/GraphAPI","path":"Microsoft/GraphAPI.html","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/graph_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/graph_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"}},{"html_id":"drivers/Microsoft/Level","path":"Microsoft/Level.html","kind":"class","full_name":"Microsoft::Level","name":"Level","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L8"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"online:Int32-instance-method","name":"online","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L14"},"def":{"name":"online","return_type":"Int32","visibility":"Public","body":"@online"}}]},{"html_id":"drivers/Microsoft/Location","path":"Microsoft/Location.html","kind":"class","full_name":"Microsoft::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L62"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"doc":"Example Response:\n[{\"Alias\":\"dwatson\",\"LastUpdate\":\"2015-11-12T02:25:50.017Z\",\"Confidence\":100,\n \"Coordinates\":{\"Building\":\"SYDNEY\",\"Level\":\"2\",\"X\":76,\"Y\":29,\"LocationDescription\":\"2140\",\"MapByLocationId\":true},\n \"GPS\":{\"Latitude\":-33.796597429,\"Longitude\":151.1382508278,\"Accuracy\":0.0,\"LocationDescription\":null},\n \"LocationIdentifier\":null,\"Status\":\"Located\",\"LocatedUsing\":\"FixedLocation\",\"Type\":\"Person\",\"Comments\":null,\n \"ExtendedUserData\":{\"Alias\":\"dwatson\",\"DisplayName\":\"David Watson\",\"EmailAddress\":\"David.Watson@microsoft.com\",\"LyncSipAddress\":\"dwatson@microsoft.com\"}}]","summary":"

Example Response: [{"Alias":"dwatson","LastUpdate":"2015-11-12T02:25:50.017Z","Confidence":100, "Coordinates":{"Building":"SYDNEY","Level":"2","X":76,"Y":29,"LocationDescription":"2140","MapByLocationId":true}, "GPS":{"Latitude":-33.796597429,"Longitude":151.1382508278,"Accuracy":0.0,"LocationDescription":null}, "LocationIdentifier":null,"Status":"Located","LocatedUsing":"FixedLocation","Type":"Person","Comments":null, "ExtendedUserData":{"Alias":"dwatson","DisplayName":"David Watson","EmailAddress":"David.Watson@microsoft.com","LyncSipAddress":"dwatson@microsoft.com"}}]

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L63"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence:Float64-instance-method","name":"confidence","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L85"},"def":{"name":"confidence","return_type":"Float64","visibility":"Public","body":"@confidence"}},{"html_id":"coordinates:Coordinates|Nil-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L88"},"def":{"name":"coordinates","return_type":"Coordinates | ::Nil","visibility":"Public","body":"@coordinates"}},{"html_id":"gps:GPS|Nil-instance-method","name":"gps","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L91"},"def":{"name":"gps","return_type":"GPS | ::Nil","visibility":"Public","body":"@gps"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L82"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"located_using:String|Nil-instance-method","name":"located_using","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L100"},"def":{"name":"located_using","return_type":"String | ::Nil","visibility":"Public","body":"@located_using"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L94"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L97"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L103"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"user_data:UserData|Nil-instance-method","name":"user_data","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L106"},"def":{"name":"user_data","return_type":"UserData | ::Nil","visibility":"Public","body":"@user_data"}},{"html_id":"username:String-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L76"},"def":{"name":"username","return_type":"String","visibility":"Public","body":"@username"}}],"types":[{"html_id":"drivers/Microsoft/Location/RFC3339Converter","path":"Microsoft/Location/RFC3339Converter.html","kind":"module","full_name":"Microsoft::Location::RFC3339Converter","name":"RFC3339Converter","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft/Location","kind":"class","full_name":"Microsoft::Location","name":"Location"},"class_methods":[{"html_id":"from_json(value:JSON::PullParser):Time-class-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser) : Time","args_html":"(value : JSON::PullParser) : Time","location":{"filename":"src/microsoft/find_me_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L66"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"return_type":"Time","visibility":"Public","body":"Time::Format::RFC_3339.parse(value.read_string)"}},{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L70"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(Time::Format::RFC_3339.format(value, 1))"}}]}]},{"html_id":"drivers/Microsoft/UserData","path":"Microsoft/UserData.html","kind":"class","full_name":"Microsoft::UserData","name":"UserData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L50"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L53"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L47"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}}]}]},{"html_id":"drivers/MuleSoft","path":"MuleSoft.html","kind":"module","full_name":"MuleSoft","name":"MuleSoft","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MuleSoft/Booking","path":"MuleSoft/Booking.html","kind":"class","full_name":"MuleSoft::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L9"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L9"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"event_end:Int64-instance-method","name":"event_end","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L18"},"def":{"name":"event_end","return_type":"Int64","visibility":"Public","body":"@event_end"}},{"html_id":"event_end=(event_end:Int64)-instance-method","name":"event_end=","abstract":false,"args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"args_string":"(event_end : Int64)","args_html":"(event_end : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L18"},"def":{"name":"event_end=","args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"visibility":"Public","body":"@event_end = event_end"}},{"html_id":"event_start:Int64-instance-method","name":"event_start","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L15"},"def":{"name":"event_start","return_type":"Int64","visibility":"Public","body":"@event_start"}},{"html_id":"event_start=(event_start:Int64)-instance-method","name":"event_start=","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"args_string":"(event_start : Int64)","args_html":"(event_start : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L15"},"def":{"name":"event_start=","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"visibility":"Public","body":"@event_start = event_start"}},{"html_id":"location:String-instance-method","name":"location","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L20"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L20"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"@location = location"}},{"html_id":"recurring_master_id:String|Nil-instance-method","name":"recurring_master_id","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id","return_type":"String | ::Nil","visibility":"Public","body":"@recurring_master_id"}},{"html_id":"recurring_master_id=(recurring_master_id:String|Nil)-instance-method","name":"recurring_master_id=","abstract":false,"args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"args_string":"(recurring_master_id : String | Nil)","args_html":"(recurring_master_id : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id=","args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recurring_master_id = recurring_master_id"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L6"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L6"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"to_placeos-instance-method","name":"to_placeos","doc":"we need this method to create an intermediary hash\notherwise when to_json is called all the field names revert to the MuleSoft ones","summary":"

we need this method to create an intermediary hash otherwise when to_json is called all the field names revert to the MuleSoft ones

","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L24"},"def":{"name":"to_placeos","visibility":"Public","body":"value = {\"title\" => @title, \"body\" => @body, \"recurring_master_id\" => @recurring_master_id, \"event_start\" => @event_start, \"event_end\" => @event_end, \"location\" => @location}"}}]},{"html_id":"drivers/MuleSoft/BookingResults","path":"MuleSoft/BookingResults.html","kind":"class","full_name":"MuleSoft::BookingResults","name":"BookingResults","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L37"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bookings:Array(Booking)-instance-method","name":"bookings","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L47"},"def":{"name":"bookings","return_type":"Array(Booking)","visibility":"Public","body":"@bookings"}},{"html_id":"bookings=(bookings:Array(Booking))-instance-method","name":"bookings=","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L47"},"def":{"name":"bookings=","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"@bookings = bookings"}},{"html_id":"count:Int64-instance-method","name":"count","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L39"},"def":{"name":"count","return_type":"Int64","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int64)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int64"}],"args_string":"(count : Int64)","args_html":"(count : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L39"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int64"}],"visibility":"Public","body":"@count = count"}},{"html_id":"venue_code:String-instance-method","name":"venue_code","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code","return_type":"String","visibility":"Public","body":"@venue_code"}},{"html_id":"venue_code=(venue_code:String)-instance-method","name":"venue_code=","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"args_string":"(venue_code : String)","args_html":"(venue_code : String)","location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code=","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"visibility":"Public","body":"@venue_code = venue_code"}},{"html_id":"venue_name:String-instance-method","name":"venue_name","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name","return_type":"String","visibility":"Public","body":"@venue_name"}},{"html_id":"venue_name=(venue_name:String)-instance-method","name":"venue_name=","abstract":false,"args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"args_string":"(venue_name : String)","args_html":"(venue_name : String)","location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name=","args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"visibility":"Public","body":"@venue_name = venue_name"}}]},{"html_id":"drivers/MuleSoft/BookingsAPI","path":"MuleSoft/BookingsAPI.html","kind":"class","full_name":"MuleSoft::BookingsAPI","name":"BookingsAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/booking_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"check_current_booking-instance-method","name":"check_current_booking","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L82"},"def":{"name":"check_current_booking","visibility":"Public","body":"now = Time.utc.to_unix\nprevious_booking = nil\ncurrent_booking = nil\nnext_booking = Int32::MAX\n@bookings.each_with_index do |event, index|\n starting = event.event_start\n if starting > now\n next_booking = index\n if index > 0\n previous_booking = index - 1\n end\n break\n end\n ending_unix = event.event_end\n if ending_unix < now\n next\n end\n if starting <= now && ending_unix > now\n current_booking = index\n if index > 0\n previous_booking = index - 1\n end\n next_booking = index + 1\n break\n end\nend\nif next_booking >= (@bookings.size - 1)\n next_booking = nil\nend\nself[:previous_booking] = previous_booking ? @bookings[previous_booking].to_placeos : nil\nself[:current_booking] = current_booking ? @bookings[current_booking].to_placeos : nil\nself[:next_booking] = next_booking ? @bookings[next_booking].to_placeos : nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@running_a_spec = !(!(setting(Bool, :running_a_spec)))\n@username = setting(String, :username)\n@password = setting(String, :password)\n@basic_auth_enabled = !(!(setting?(Bool, :basic_auth_enabled)))\nlogger.debug do\n \"basic_auth_enabled is #{@basic_auth_enabled}\"\nend\n@base_path = setting(String, :base_path)\n@venue_code = setting(String, :venue_code)\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\ntime_zone = (setting?(String, :time_zone)).presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@ssl_auth_enabled = !(!(setting?(Bool, :ssl_auth_enabled)))\nif @ssl_auth_enabled\n save_ssl_credentials\nend\nlogger.debug do\n \"ssl_auth_enabled is #{@ssl_auth_enabled}\"\nend\nschedule.in((Random.rand(60)).seconds + (Random.rand(1000)).milliseconds) do\n poll_bookings\nend\ncron_string = (setting?(String, :polling_cron)).presence || \"*/30 7-20 * * *\"\nschedule.cron(cron_string, @time_zone) do\n poll_bookings(random_delay: true)\nend\n"}},{"html_id":"poll_bookings(random_delay:Bool=false)-instance-method","name":"poll_bookings","abstract":false,"args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"args_string":"(random_delay : Bool = false)","args_html":"(random_delay : Bool = false)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L67"},"def":{"name":"poll_bookings","args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"visibility":"Public","body":"now = Time.local(@time_zone)\nfrom = now - 1.week\nto = now + 1.week\nlogger.debug do\n \"polling bookings #{@venue_code}, from #{from}, to #{to}, in #{@time_zone.name}\"\nend\nif random_delay\n logger.debug do\n \"random delay of <30seconds to reduce instantaneous Mulesoft API load\"\n end\n sleep(Random.rand(30.0))\nend\nquery_bookings(@venue_code, from, to)\ncheck_current_booking\n"}},{"html_id":"query_bookings_epoch(venue_code:String,starts_at:Int32,ends_at:Int32)-instance-method","name":"query_bookings_epoch","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"args_string":"(venue_code : String, starts_at : Int32, ends_at : Int32)","args_html":"(venue_code : String, starts_at : Int32, ends_at : Int32)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L163"},"def":{"name":"query_bookings_epoch","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"visibility":"Public","body":"query_bookings(venue_code, Time.unix(starts_at), Time.unix(ends_at))"}}]},{"html_id":"drivers/MuleSoft/CalendarExporter","path":"MuleSoft/CalendarExporter.html","kind":"class","full_name":"MuleSoft::CalendarExporter","name":"CalendarExporter","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/calendar_exporter.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"delete_all_events(past_days:Int32=14,future_days:Int32=14)-instance-method","name":"delete_all_events","abstract":false,"args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"args_string":"(past_days : Int32 = 14, future_days : Int32 = 14)","args_html":"(past_days : Int32 = 14, future_days : Int32 = 14)","location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L137"},"def":{"name":"delete_all_events","args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"visibility":"Public","body":"events = fetch_events(past_span: past_days.days, future_span: future_days.days)\nevent_ids = events.map do |e|\n e[\"id\"]\nend\nevent_ids.each do |event_id|\n calendar.delete_event(calendar_id: system.email.not_nil!, event_id: event_id)\nend\n\"Deleted #{event_ids.size} events\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"@just_this_system = {email: system.email.not_nil!, name: system.name}\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\n@time_zone_string = (setting?(String, :calendar_time_zone)).presence\nif @time_zone_string\n @time_zone = Time::Location.load(@time_zone_string.not_nil!)\nend\nself[:timezone] = Time.local.to_s\nsubscription = system.subscribe(:Bookings_1, :bookings) do |_subscription, mulesoft_bookings|\n logger.debug do\n \"DETECTED changed in Mulesoft Bookings..\"\n end\n latest_bookings : Array(Hash(String, Int64 | String | Nil)) = [] of Hash(String, Int64 | String | Nil)\n latest_bookings = Array(Hash(String, Int64 | String | Nil)).from_json(mulesoft_bookings)\n logger.debug do\n \"#{latest_bookings.size} bookings in total\"\n end\n removed_bookings = @bookings - latest_bookings\n now = Time.utc.to_unix\n deleted_bookings = removed_bookings.reject do |b|\n b[\"event_end\"].not_nil!.to_i64 < now\n end\n update_events\n deleted_bookings.each do |b|\n delete_matching_event(b)\n end\n @bookings = latest_bookings\n @bookings.each do |b|\n export_booking(b)\n end\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L63"},"def":{"name":"status","visibility":"Public","body":"{bookings: @bookings, events: @existing_events, deleted_events: @deleted_events}"}},{"html_id":"update_events-instance-method","name":"update_events","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L71"},"def":{"name":"update_events","visibility":"Public","body":"logger.debug do\n \"FETCHING existing Calendar events...\"\nend\n@existing_events = fetch_events()\nlogger.debug do\n \"#{@existing_events.size} events in total\"\nend\n"}}]},{"html_id":"drivers/MuleSoft/DateTimeConvertor","path":"MuleSoft/DateTimeConvertor.html","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/MuleSoft/DateTimeConvertor","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"from_json(pull:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L57"},"def":{"name":"from_json","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(Time.parse(pull.read_string, \"%FT%T\", Time::Location.local)).to_unix"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/mulesoft/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L53"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string((Time.unix(value)).to_local.to_s(\"%FT%T\"))"}}]}]},{"html_id":"drivers/Nec","path":"Nec.html","kind":"module","full_name":"Nec","name":"Nec","abstract":false,"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Nec/Display","path":"Nec/Display.html","kind":"class","full_name":"Nec::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"13_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"audio_input(priority:Int32=0)-instance-method","name":"audio_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"audio_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AudioInput), priority: priority, name: \"audio_input\")"}},{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L105"},"def":{"name":"auto_adjust","visibility":"Public","body":"data = MsgType::SetParameter.build(Command::AutoSetup, 1)\nsend(data, name: \"auto_adjust\")\n"}},{"html_id":"auto_setup(priority:Int32=0)-instance-method","name":"auto_setup","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"auto_setup","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AutoSetup), priority: priority, name: \"auto_setup\")"}},{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L110"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::BrightnessStatus, val.clamp(0, 100))\nsend(data, name: \"brightness\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"brightness_status(priority:Int32=0)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::BrightnessStatus), priority: priority, name: \"brightness_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L116"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::ContrastStatus, val.clamp(0, 100))\nsend(data, name: \"contrast\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"contrast_status(priority:Int32=0)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::ContrastStatus), priority: priority, name: \"contrast_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L137"},"def":{"name":"do_poll","visibility":"Public","body":"current_power = power?(priority: 0)\nlogger.debug do\n \"Polling, power = #{current_power}\"\nend\nif current_power\n mute_status\n video_input\nend\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/nec/display.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L129"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"logger.debug do\n \"requested to update mute to #{state}\"\nend\ndata = MsgType::SetParameter.build(Command::MuteStatus, state ? 1 : 0)\nresp = send(data, name: \"mute_audio\")\nresp\n"}},{"html_id":"mute_status(priority:Int32=0)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::MuteStatus), priority: priority, name: \"mute_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 120.milliseconds\nqueue.timeout = 5.seconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/display.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:power]? == state\n return\nend\nif state\n logger.debug do\n \"requested to power on\"\n end\n data = MsgType::Command.build(Command::SetPower, 1)\n send(data, name: \"power\", delay: 5.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n data = MsgType::Command.build(Command::SetPower, 4)\n send(data, name: \"power\", delay: 10.seconds, timeout: 10.seconds)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L73"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"data = MsgType::Command.build(Command::PowerQuery)\n(send(data, **options, name: \"power?\")).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerOnDelay), priority: priority, name: \"power_on_delay\")"}},{"html_id":"power_query(priority:Int32=0)-instance-method","name":"power_query","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"power_query","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerQuery), priority: priority, name: \"power_query\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/display.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L147"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"NEC sent: 0x#{data.hexstring}\"\nend\nheader = data[0..6]\nmessage = data[7..-3]\nchecksum = data[-2]\nbegin\n case MsgType.from_value(header[4])\n when .command_reply?\n parse_command_reply(message)\n when .get_parameter_reply?, .set_parameter_reply?\n parse_response(message)\n else\n raise(\"unknown message type\")\n end\nrescue e\n logger.warn(exception: e) do\n \"processing response\"\n end\n task.try(&.abort(e.message))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save(priority:Int32=0)-instance-method","name":"save","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"save","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::Save), priority: priority, name: \"save\")"}},{"html_id":"set_power(priority:Int32=0)-instance-method","name":"set_power","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"set_power","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::SetPower), priority: priority, name: \"set_power\")"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/display.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L99"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch audio to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::AudioInput, input.value)\nsend(data, name: \"audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/display.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L79"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::VideoInput, input.value)\nsend(data, name: \"input\", delay: 6.seconds)\n"}},{"html_id":"video_input(priority:Int32=0)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VideoInput), priority: priority, name: \"video_input\")"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/nec/display.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L122"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\ndata = MsgType::SetParameter.build(Command::VolumeStatus, val)\nsend(data, name: \"volume\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"volume_status(priority:Int32=0)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VolumeStatus), priority: priority, name: \"volume_status\")"}}],"types":[{"html_id":"drivers/Nec/Display/Audio","path":"Nec/Display/Audio.html","kind":"enum","full_name":"Nec::Display::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio1","name":"Audio1","value":"1"},{"id":"Audio2","name":"Audio2","value":"2"},{"id":"Audio3","name":"Audio3","value":"3"},{"id":"Hdmi","name":"Hdmi","value":"4"},{"id":"Tv","name":"Tv","value":"6"},{"id":"DisplayPort1","name":"DisplayPort1","value":"7"},{"id":"DisplayPort2","name":"DisplayPort2","value":"8"},{"id":"Hdmi2","name":"Hdmi2","value":"10"},{"id":"Hdmi3","name":"Hdmi3","value":"11"},{"id":"MultiPicture","name":"MultiPicture","value":"13"},{"id":"ComputeModule","name":"ComputeModule","value":"14"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio1?-instance-method","name":"audio1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L86"},"def":{"name":"audio1?","visibility":"Public","body":"self == Audio1"}},{"html_id":"audio2?-instance-method","name":"audio2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L87"},"def":{"name":"audio2?","visibility":"Public","body":"self == Audio2"}},{"html_id":"audio3?-instance-method","name":"audio3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L88"},"def":{"name":"audio3?","visibility":"Public","body":"self == Audio3"}},{"html_id":"compute_module?-instance-method","name":"compute_module?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L96"},"def":{"name":"compute_module?","visibility":"Public","body":"self == ComputeModule"}},{"html_id":"display_port1?-instance-method","name":"display_port1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L91"},"def":{"name":"display_port1?","visibility":"Public","body":"self == DisplayPort1"}},{"html_id":"display_port2?-instance-method","name":"display_port2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L92"},"def":{"name":"display_port2?","visibility":"Public","body":"self == DisplayPort2"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L93"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L94"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L89"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"multi_picture?-instance-method","name":"multi_picture?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L95"},"def":{"name":"multi_picture?","visibility":"Public","body":"self == MultiPicture"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L90"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}}]},{"html_id":"drivers/Nec/Display/Command","path":"Nec/Display/Command.html","kind":"enum","full_name":"Nec::Display::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L236"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VideoInput","name":"VideoInput","value":"96"},{"id":"AudioInput","name":"AudioInput","value":"558"},{"id":"VolumeStatus","name":"VolumeStatus","value":"98"},{"id":"MuteStatus","name":"MuteStatus","value":"141"},{"id":"PowerOnDelay","name":"PowerOnDelay","value":"728"},{"id":"ContrastStatus","name":"ContrastStatus","value":"18"},{"id":"BrightnessStatus","name":"BrightnessStatus","value":"16"},{"id":"AutoSetup","name":"AutoSetup","value":"30"},{"id":"PowerQuery","name":"PowerQuery","value":"470"},{"id":"Save","name":"Save","value":"12"},{"id":"SetPower","name":"SetPower","value":"12714966"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio_input?-instance-method","name":"audio_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L238"},"def":{"name":"audio_input?","visibility":"Public","body":"self == AudioInput"}},{"html_id":"auto_setup?-instance-method","name":"auto_setup?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L244"},"def":{"name":"auto_setup?","visibility":"Public","body":"self == AutoSetup"}},{"html_id":"brightness_status?-instance-method","name":"brightness_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L243"},"def":{"name":"brightness_status?","visibility":"Public","body":"self == BrightnessStatus"}},{"html_id":"contrast_status?-instance-method","name":"contrast_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L242"},"def":{"name":"contrast_status?","visibility":"Public","body":"self == ContrastStatus"}},{"html_id":"mute_status?-instance-method","name":"mute_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L240"},"def":{"name":"mute_status?","visibility":"Public","body":"self == MuteStatus"}},{"html_id":"power_on_delay?-instance-method","name":"power_on_delay?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L241"},"def":{"name":"power_on_delay?","visibility":"Public","body":"self == PowerOnDelay"}},{"html_id":"power_query?-instance-method","name":"power_query?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L245"},"def":{"name":"power_query?","visibility":"Public","body":"self == PowerQuery"}},{"html_id":"save?-instance-method","name":"save?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L246"},"def":{"name":"save?","visibility":"Public","body":"self == Save"}},{"html_id":"set_power?-instance-method","name":"set_power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L247"},"def":{"name":"set_power?","visibility":"Public","body":"self == SetPower"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L249"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"case self\nwhen .save?\n length = 2\nwhen .set_power?\n length = 6\nelse\n length = 4\nend\n(value.to_s(16, upcase: true)).rjust(length, '0')\n"}},{"html_id":"video_input?-instance-method","name":"video_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L237"},"def":{"name":"video_input?","visibility":"Public","body":"self == VideoInput"}},{"html_id":"volume_status?-instance-method","name":"volume_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L239"},"def":{"name":"volume_status?","visibility":"Public","body":"self == VolumeStatus"}}]},{"html_id":"drivers/Nec/Display/Input","path":"Nec/Display/Input.html","kind":"enum","full_name":"Nec::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"1"},{"id":"Rgbhv","name":"Rgbhv","value":"2"},{"id":"Dvi","name":"Dvi","value":"3"},{"id":"HdmiSet","name":"HdmiSet","value":"4"},{"id":"Video1","name":"Video1","value":"5"},{"id":"Video2","name":"Video2","value":"6"},{"id":"Svideo","name":"Svideo","value":"7"},{"id":"Tuner","name":"Tuner","value":"9"},{"id":"Tv","name":"Tv","value":"10"},{"id":"Dvd1","name":"Dvd1","value":"12"},{"id":"Option","name":"Option","value":"13"},{"id":"Dvd2","name":"Dvd2","value":"14"},{"id":"DisplayPort","name":"DisplayPort","value":"15"},{"id":"Hdmi","name":"Hdmi","value":"17"},{"id":"Hdmi2","name":"Hdmi2","value":"18"},{"id":"Hdmi3","name":"Hdmi3","value":"130"},{"id":"Usb","name":"Usb","value":"135"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L23"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvd1?-instance-method","name":"dvd1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L20"},"def":{"name":"dvd1?","visibility":"Public","body":"self == Dvd1"}},{"html_id":"dvd2?-instance-method","name":"dvd2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L22"},"def":{"name":"dvd2?","visibility":"Public","body":"self == Dvd2"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L13"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L25"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L26"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L24"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_set?-instance-method","name":"hdmi_set?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L14"},"def":{"name":"hdmi_set?","visibility":"Public","body":"self == HdmiSet"}},{"html_id":"option?-instance-method","name":"option?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L21"},"def":{"name":"option?","visibility":"Public","body":"self == Option"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == Rgbhv"}},{"html_id":"svideo?-instance-method","name":"svideo?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L17"},"def":{"name":"svideo?","visibility":"Public","body":"self == Svideo"}},{"html_id":"tuner?-instance-method","name":"tuner?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L18"},"def":{"name":"tuner?","visibility":"Public","body":"self == Tuner"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L19"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L27"},"def":{"name":"usb?","visibility":"Public","body":"self == Usb"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"video1?-instance-method","name":"video1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L15"},"def":{"name":"video1?","visibility":"Public","body":"self == Video1"}},{"html_id":"video2?-instance-method","name":"video2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L16"},"def":{"name":"video2?","visibility":"Public","body":"self == Video2"}}]},{"html_id":"drivers/Nec/Display/MsgType","path":"Nec/Display/MsgType.html","kind":"enum","full_name":"Nec::Display::MsgType","name":"MsgType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L270"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"65_u8"},{"id":"CommandReply","name":"CommandReply","value":"66_u8"},{"id":"GetParameter","name":"GetParameter","value":"67_u8"},{"id":"GetParameterReply","name":"GetParameterReply","value":"68_u8"},{"id":"SetParameter","name":"SetParameter","value":"69_u8"},{"id":"SetParameterReply","name":"SetParameterReply","value":"70_u8"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"doc":"Types of messages sent to and from the LCD","summary":"

Types of messages sent to and from the LCD

","instance_methods":[{"html_id":"build(command:Nec::Display::Command,data:Int|Nil=nil)-instance-method","name":"build","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"args_string":"(command : Nec::Display::Command, data : Int | Nil = nil)","args_html":"(command : Nec::Display::Command, data : Int | Nil = nil)","location":{"filename":"src/nec/display.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L278"},"def":{"name":"build","args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"visibility":"Public","body":"command = command.to_s\nmessage = String.build do |str|\n str << \"0*0\"\n str.write_byte(self.value)\n message_length = command.size + 2\n if data\n message_length = message_length + 4\n end\n str << ((message_length.to_s(16, upcase: true)).rjust(2, '0'))\n str.write_byte(2)\n str << command\n if data\n str << ((data.to_s(16, upcase: true)).rjust(4, '0'))\n end\n str.write_byte(3)\nend\nString.build do |str|\n str.write_byte(1)\n str << message\n str.write_byte(message.each_byte.reduce do |a, b|\n a ^ b\n end)\n str.write_byte(DELIMITER)\nend\n"}},{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L271"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"command_reply?-instance-method","name":"command_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L272"},"def":{"name":"command_reply?","visibility":"Public","body":"self == CommandReply"}},{"html_id":"get_parameter?-instance-method","name":"get_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L273"},"def":{"name":"get_parameter?","visibility":"Public","body":"self == GetParameter"}},{"html_id":"get_parameter_reply?-instance-method","name":"get_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L274"},"def":{"name":"get_parameter_reply?","visibility":"Public","body":"self == GetParameterReply"}},{"html_id":"set_parameter?-instance-method","name":"set_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L275"},"def":{"name":"set_parameter?","visibility":"Public","body":"self == SetParameter"}},{"html_id":"set_parameter_reply?-instance-method","name":"set_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L276"},"def":{"name":"set_parameter_reply?","visibility":"Public","body":"self == SetParameterReply"}}]}]},{"html_id":"drivers/Nec/Projector","path":"Nec/Projector.html","kind":"class","full_name":"Nec::Projector","name":"Projector","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{mute_picture: Bytes[2, 16, 0, 0, 0, 18], unmute_picture: Bytes[2, 17, 0, 0, 0, 19], mute_audio_cmd: Bytes[2, 18, 0, 0, 0, 20], unmute_audio_cmd: Bytes[2, 19, 0, 0, 0, 21], mute_onscreen: Bytes[2, 20, 0, 0, 0, 22], unmute_onscreen: Bytes[2, 21, 0, 0, 0, 23], freeze_picture: Bytes[1, 152, 0, 0, 1, 1], unfreeze_picture: Bytes[1, 152, 0, 0, 1, 2], \"lamp?\": Bytes[0, 129, 0, 0, 0, 129], \"input?\": Bytes[0, 133, 0, 0, 1, 2], \"mute?\": Bytes[0, 133, 0, 0, 1, 3], \"error?\": Bytes[0, 136, 0, 0, 0, 136], \"model?\": Bytes[0, 133, 0, 0, 1, 4], lamp_info: Bytes[3, 138, 0, 0, 0, 141], filter_info: Bytes[3, 138, 0, 0, 0, 141], projector_info: Bytes[3, 138, 0, 0, 0, 141], background_black: Bytes[3, 177, 0, 0, 2, 11, 1], background_blue: Bytes[3, 177, 0, 0, 2, 11, 0], background_logo: Bytes[3, 177, 0, 0, 2, 11, 2]}","doc":"Command Listing\nSecond byte used to detect command type","summary":"

Command Listing Second byte used to detect command type

"},{"id":"ERROR_CODES","name":"ERROR_CODES","value":"[{1 => \"Lamp cover error\", 2 => \"Temperature error (Bimetal)\", 8 => \"Fan Error\", 16 => \"Fan Error\", 32 => \"Power Error\", 64 => \"Lamp Error\", 128 => \"Lamp has reached its end of life\"}, {1 => \"Lamp has been used beyond its limit\", 2 => \"Formatter error\", 4 => \"Lamp no.2 Error\"}, {2 => \"FPGA error\", 4 => \"Temperature error (Sensor)\", 8 => \"Lamp housing error\", 16 => \"Lamp data error\", 32 => \"Mirror cover error\", 64 => \"Lamp no.2 has reached its end of life\", 128 => \"Lamp no.2 has been used beyond its limit\"}, {1 => \"Lamp no.2 housing error\", 2 => \"Lamp no.2 data error\", 4 => \"High temperature due to dust pile-up\", 8 => \"A foreign object sensor error\"}]","doc":"Provide all the error info required","summary":"

Provide all the error info required

"},{"id":"INPUT_MAP","name":"INPUT_MAP","value":"{1 => {1 => Input::VGA, 2 => Input::Composite, 3 => Input::SVideo, 6 => Input::HDMI, 7 => Input::Viewer, 33 => Input::HDMI, 34 => Input::DisplayPort}, 2 => {1 => Input::RGBHV, 4 => Input::Component2, 6 => Input::HDMI2, 7 => Input::LAN, 33 => Input::HDMI2}, 3 => {4 => Input::Component}}","doc":"NEC has different values for the input status when compared to input selection","summary":"

NEC has different values for the input status when compared to input selection

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"background_black(**options)-instance-method","name":"background_black","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_black","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_black\"], **options, name: \"background_black\")"}},{"html_id":"background_blue(**options)-instance-method","name":"background_blue","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_blue","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_blue\"], **options, name: \"background_blue\")"}},{"html_id":"background_logo(**options)-instance-method","name":"background_logo","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_logo","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_logo\"], **options, name: \"background_logo\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L59"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nself[:power] = false\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L186"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?(priority: 0)\n background_black(priority: 0)\n lamp_info(priority: 0)\nend"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"error?\"], **options, name: \"error?\")"}},{"html_id":"filter_info(**options)-instance-method","name":"filter_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"filter_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"filter_info\"], **options, name: \"filter_info\")"}},{"html_id":"freeze_picture(**options)-instance-method","name":"freeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"freeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"freeze_picture\"], **options, name: \"freeze_picture\")"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"input?\"], **options, name: \"input?\")"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp?\"], **options, name: \"lamp?\")"}},{"html_id":"lamp_info(**options)-instance-method","name":"lamp_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"lamp_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp_info\"], **options, name: \"lamp_info\")"}},{"html_id":"model?(**options)-instance-method","name":"model?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"model?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"model?\"], **options, name: \"model?\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/nec/np_series.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L118"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n if state\n mute_picture\n mute_onscreen\n else\n unmute_picture\n end\nend\nif layer.audio? || layer.audio_video?\n state ? mute_audio_cmd : unmute_audio_cmd\nend\n"}},{"html_id":"mute?(**options)-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute?\"], **options, name: \"mute?\")"}},{"html_id":"mute_audio_cmd(**options)-instance-method","name":"mute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_audio_cmd\"], **options, name: \"mute_audio_cmd\")"}},{"html_id":"mute_onscreen(**options)-instance-method","name":"mute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_onscreen\"], **options, name: \"mute_onscreen\")"}},{"html_id":"mute_picture(**options)-instance-method","name":"mute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_picture\"], **options, name: \"mute_picture\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nself[:error] = [] of String\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@power_target = nil\n@input_target = nil\n@volume_min = setting(Int32, :volume_min)\n@volume_max = setting(Int32, :volume_max)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/np_series.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L155"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n command = Bytes[2, 0, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 15.seconds, delay: 1.second)\nelse\n command = Bytes[2, 1, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 60.seconds, delay: 30.seconds, clear_queue: true, priority: 100)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L175"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(COMMAND[:\"lamp?\"], **options, name: \"power?\")).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"projector_info(**options)-instance-method","name":"projector_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"projector_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"projector_info\"], **options, name: \"projector_info\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/np_series.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L292"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(data, task)"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/np_series.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L149"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"command = Bytes[3, 177, 0, 0, 2, 192, input.value]\ndo_send(command, name: \"switch_audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/np_series.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L180"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ncommand = Bytes[2, 3, 0, 0, 2, 1, input.value]\ndo_send(command, name: \"input\")\n"}},{"html_id":"unfreeze_picture(**options)-instance-method","name":"unfreeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unfreeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unfreeze_picture\"], **options, name: \"unfreeze_picture\")"}},{"html_id":"unmute_audio_cmd(**options)-instance-method","name":"unmute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_audio_cmd\"], **options, name: \"unmute_audio_cmd\")"}},{"html_id":"unmute_onscreen(**options)-instance-method","name":"unmute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_onscreen\"], **options, name: \"unmute_onscreen\")"}},{"html_id":"unmute_picture(**options)-instance-method","name":"unmute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_picture\"], **options, name: \"unmute_picture\")"}},{"html_id":"volume(vol:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"args_string":"(vol : Int32 | Float64)","args_html":"(vol : Int32 | Float64)","location":{"filename":"src/nec/np_series.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L103"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ncommand = Bytes[3, 16, 0, 0, 5, 5, 0, 0, vol, 0]\ndo_send(command)\n"}}],"types":[{"html_id":"drivers/Nec/Projector/Audio","path":"Nec/Projector/Audio.html","kind":"enum","full_name":"Nec::Projector::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L144"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"VGA","name":"VGA","value":"1"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L145"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L146"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]},{"html_id":"drivers/Nec/Projector/Input","path":"Nec/Projector/Input.html","kind":"enum","full_name":"Nec::Projector::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VGA","name":"VGA","value":"1"},{"id":"RGBHV","name":"RGBHV","value":"2"},{"id":"Composite","name":"Composite","value":"6"},{"id":"SVideo","name":"SVideo","value":"11"},{"id":"Component","name":"Component","value":"16"},{"id":"Component2","name":"Component2","value":"17"},{"id":"HDMI","name":"HDMI","value":"26"},{"id":"HDMI2","name":"HDMI2","value":"27"},{"id":"DisplayPort","name":"DisplayPort","value":"166"},{"id":"LAN","name":"LAN","value":"32"},{"id":"Viewer","name":"Viewer","value":"31"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"component2?-instance-method","name":"component2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L16"},"def":{"name":"component2?","visibility":"Public","body":"self == Component2"}},{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L15"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L13"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L19"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L17"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"lan?-instance-method","name":"lan?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L20"},"def":{"name":"lan?","visibility":"Public","body":"self == LAN"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == RGBHV"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L14"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}},{"html_id":"viewer?-instance-method","name":"viewer?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L21"},"def":{"name":"viewer?","visibility":"Public","body":"self == Viewer"}}]},{"html_id":"drivers/Nec/Projector/Response","path":"Nec/Projector/Response.html","kind":"enum","full_name":"Nec::Projector::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L209"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"8321_u16"},{"id":"InputOrMuteQuery","name":"InputOrMuteQuery","value":"8325_u16"},{"id":"Error","name":"Error","value":"8328_u16"},{"id":"InputSwitch","name":"InputSwitch","value":"8707_u16"},{"id":"Lamp","name":"Lamp","value":"8704_u16"},{"id":"Lamp2","name":"Lamp2","value":"8705_u16"},{"id":"PictureMuteOn","name":"PictureMuteOn","value":"8720_u16"},{"id":"PictureMuteOff","name":"PictureMuteOff","value":"8721_u16"},{"id":"AudioMuteOn","name":"AudioMuteOn","value":"8722_u16"},{"id":"AudioMuteOff","name":"AudioMuteOff","value":"8723_u16"},{"id":"OnscreenMuteOn","name":"OnscreenMuteOn","value":"8724_u16"},{"id":"OnscreenMuteOff","name":"OnscreenMuteOff","value":"8725_u16"},{"id":"VolumeOrImageAdjust","name":"VolumeOrImageAdjust","value":"8976_u16"},{"id":"Info","name":"Info","value":"9098_u16"},{"id":"AudioSwitch","name":"AudioSwitch","value":"9137_u16"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"doc":"TODO: add responses for freeze commands if we need to process them","summary":"

TODO add responses for freeze commands if we need to process them

","class_methods":[{"html_id":"from_bytes?(response)-class-method","name":"from_bytes?","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/nec/np_series.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L226"},"def":{"name":"from_bytes?","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"value = (IO::Memory.new(response[0..1])).read_bytes(UInt16, IO::ByteFormat::BigEndian)\nResponse.from_value?(value)\n"}}],"instance_methods":[{"html_id":"audio_mute_off?-instance-method","name":"audio_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L219"},"def":{"name":"audio_mute_off?","visibility":"Public","body":"self == AudioMuteOff"}},{"html_id":"audio_mute_on?-instance-method","name":"audio_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L218"},"def":{"name":"audio_mute_on?","visibility":"Public","body":"self == AudioMuteOn"}},{"html_id":"audio_switch?-instance-method","name":"audio_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L224"},"def":{"name":"audio_switch?","visibility":"Public","body":"self == AudioSwitch"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L212"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L223"},"def":{"name":"info?","visibility":"Public","body":"self == Info"}},{"html_id":"input_or_mute_query?-instance-method","name":"input_or_mute_query?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L211"},"def":{"name":"input_or_mute_query?","visibility":"Public","body":"self == InputOrMuteQuery"}},{"html_id":"input_switch?-instance-method","name":"input_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L213"},"def":{"name":"input_switch?","visibility":"Public","body":"self == InputSwitch"}},{"html_id":"lamp2?-instance-method","name":"lamp2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L215"},"def":{"name":"lamp2?","visibility":"Public","body":"self == Lamp2"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L214"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"onscreen_mute_off?-instance-method","name":"onscreen_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L221"},"def":{"name":"onscreen_mute_off?","visibility":"Public","body":"self == OnscreenMuteOff"}},{"html_id":"onscreen_mute_on?-instance-method","name":"onscreen_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L220"},"def":{"name":"onscreen_mute_on?","visibility":"Public","body":"self == OnscreenMuteOn"}},{"html_id":"picture_mute_off?-instance-method","name":"picture_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L217"},"def":{"name":"picture_mute_off?","visibility":"Public","body":"self == PictureMuteOff"}},{"html_id":"picture_mute_on?-instance-method","name":"picture_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L216"},"def":{"name":"picture_mute_on?","visibility":"Public","body":"self == PictureMuteOn"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L210"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"volume_or_image_adjust?-instance-method","name":"volume_or_image_adjust?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L222"},"def":{"name":"volume_or_image_adjust?","visibility":"Public","body":"self == VolumeOrImageAdjust"}}]}]}]},{"html_id":"drivers/OfficeRnd","path":"OfficeRnd.html","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd","abstract":false,"locations":[{"filename":"src/office_rnd/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L4"},{"filename":"src/office_rnd/office_rnd_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"OfficeRnD Data Models","summary":"

OfficeRnD Data Models

","types":[{"html_id":"drivers/OfficeRnd/Booking","path":"OfficeRnd/Booking.html","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L88"},"def":{"name":"new","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(resource_id, booking_start, booking_end, summary, team_id, member_id, description, tentative, free)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_end:BookingTime-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L70"},"def":{"name":"booking_end","return_type":"BookingTime","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_start:BookingTime-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L68"},"def":{"name":"booking_start","return_type":"BookingTime","visibility":"Public","body":"@booking_start"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L82"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"extras:JSON::Any-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L86"},"def":{"name":"extras","return_type":"JSON::Any","visibility":"Public","body":"@extras"}},{"html_id":"fees:Array(OfficeRnd::BookingFee)-instance-method","name":"fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L85"},"def":{"name":"fees","return_type":"Array(::OfficeRnd::BookingFee)","visibility":"Public","body":"@fees"}},{"html_id":"free:Bool|Nil-instance-method","name":"free","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L84"},"def":{"name":"free","return_type":"Bool | ::Nil","visibility":"Public","body":"@free"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L81"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"overlaps?(time_span:Range(Time,Time))-instance-method","name":"overlaps?","abstract":false,"args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"args_string":"(time_span : Range(Time, Time))","args_html":"(time_span : Range(Time, Time))","location":{"filename":"src/office_rnd/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L106"},"def":{"name":"overlaps?","args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"visibility":"Public","body":"starting, ending = booking_start.time, booking_end.time\nwithin = (time_span.includes?(starting)) || (time_span.includes?(ending))\ncovers = starting < time_span.begin && ending > time_span.end\nwithin || covers\n"}},{"html_id":"plan_id:String-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L77"},"def":{"name":"plan_id","return_type":"String","visibility":"Public","body":"@plan_id"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L75"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L72"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"summary:String|Nil-instance-method","name":"summary","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L73"},"def":{"name":"summary","return_type":"String | ::Nil","visibility":"Public","body":"@summary"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L79"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"tentative:Bool|Nil-instance-method","name":"tentative","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L83"},"def":{"name":"tentative","return_type":"Bool | ::Nil","visibility":"Public","body":"@tentative"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L71"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/BookingFee","path":"OfficeRnd/BookingFee.html","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"credits:Array(Credit)-instance-method","name":"credits","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L63"},"def":{"name":"credits","return_type":"Array(Credit)","visibility":"Public","body":"@credits"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L59"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"extra_fees:Array(JSON::Any|Nil)-instance-method","name":"extra_fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L62"},"def":{"name":"extra_fees","return_type":"Array(JSON::Any | ::Nil)","visibility":"Public","body":"@extra_fees"}},{"html_id":"fee:Fee|Nil-instance-method","name":"fee","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L60"},"def":{"name":"fee","return_type":"Fee | ::Nil","visibility":"Public","body":"@fee"}}]},{"html_id":"drivers/OfficeRnd/BookingTime","path":"OfficeRnd/BookingTime.html","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/office_rnd/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L35"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L33"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}}]},{"html_id":"drivers/OfficeRnd/Credit","path":"OfficeRnd/Credit.html","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L116"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"credit:String-instance-method","name":"credit","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L117"},"def":{"name":"credit","return_type":"String","visibility":"Public","body":"@credit"}}]},{"html_id":"drivers/OfficeRnd/Data","path":"OfficeRnd/Data.html","kind":"struct","full_name":"OfficeRnd::Data","name":"Data","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/OfficeRnd/Booking","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking"},{"html_id":"drivers/OfficeRnd/BookingFee","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee"},{"html_id":"drivers/OfficeRnd/BookingTime","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime"},{"html_id":"drivers/OfficeRnd/Credit","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit"},{"html_id":"drivers/OfficeRnd/Fee","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee"},{"html_id":"drivers/OfficeRnd/Floor","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor"},{"html_id":"drivers/OfficeRnd/Office","kind":"struct","full_name":"OfficeRnd::Office","name":"Office"},{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy"},{"html_id":"drivers/OfficeRnd/Rate/Extra","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra"},{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},{"html_id":"drivers/OfficeRnd/TokenResponse","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}]},{"html_id":"drivers/OfficeRnd/Fee","path":"OfficeRnd/Fee.html","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bill_in_advance:Bool|Nil-instance-method","name":"bill_in_advance","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L53"},"def":{"name":"bill_in_advance","return_type":"Bool | ::Nil","visibility":"Public","body":"@bill_in_advance"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L42"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"is_personal:Bool|Nil-instance-method","name":"is_personal","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L55"},"def":{"name":"is_personal","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_personal"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L48"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L39"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L46"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"plan_id:String|Nil-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L50"},"def":{"name":"plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@plan_id"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L40"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}},{"html_id":"quantity:Int32-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L41"},"def":{"name":"quantity","return_type":"Int32","visibility":"Public","body":"@quantity"}},{"html_id":"refundable:Bool|Nil-instance-method","name":"refundable","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L51"},"def":{"name":"refundable","return_type":"Bool | ::Nil","visibility":"Public","body":"@refundable"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L44"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}}]},{"html_id":"drivers/OfficeRnd/Floor","path":"OfficeRnd/Floor.html","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area:Int32|Nil-instance-method","name":"area","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L196"},"def":{"name":"area","return_type":"Int32 | ::Nil","visibility":"Public","body":"@area"}},{"html_id":"floor:String|Nil-instance-method","name":"floor","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L192"},"def":{"name":"floor","return_type":"String | ::Nil","visibility":"Public","body":"@floor"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L191"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L198"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L193"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L195"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"target_revenue:Int32|Nil-instance-method","name":"target_revenue","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L200"},"def":{"name":"target_revenue","return_type":"Int32 | ::Nil","visibility":"Public","body":"@target_revenue"}}]},{"html_id":"drivers/OfficeRnd/Office","path":"OfficeRnd/Office.html","kind":"struct","full_name":"OfficeRnd::Office","name":"Office","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L24"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"city:String|Nil-instance-method","name":"city","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L23"},"def":{"name":"city","return_type":"String | ::Nil","visibility":"Public","body":"@city"}},{"html_id":"country:String|Nil-instance-method","name":"country","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L21"},"def":{"name":"country","return_type":"String | ::Nil","visibility":"Public","body":"@country"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image:String|Nil-instance-method","name":"image","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L26"},"def":{"name":"image","return_type":"String | ::Nil","visibility":"Public","body":"@image"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L28"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L20"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"state:String|Nil-instance-method","name":"state","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L22"},"def":{"name":"state","return_type":"String | ::Nil","visibility":"Public","body":"@state"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L25"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/OfficeRndAPI","path":"OfficeRnd/OfficeRndAPI.html","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"instance_methods":[{"html_id":"booking(booking_id:String)-instance-method","name":"booking","doc":"Get a booking\n","summary":"

Get a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L130"},"def":{"name":"booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/bookings/#{booking_id}\", Booking)"}},{"html_id":"bookings(office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil)-instance-method","name":"bookings","doc":"Get bookings\n","summary":"

Get bookings

","abstract":false,"args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","args_html":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L136"},"def":{"name":"bookings","args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif member_id\n params[\"member\"] = member_id\nend\nif team_id\n params[\"team\"] = team_id\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/bookings\" : \"/bookings?#{query_string}\"\nget_request(path, Array(Booking))\n"}},{"html_id":"create_booking(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-instance-method","name":"create_booking","doc":"Create a booking\n","summary":"

Create a booking

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L164"},"def":{"name":"create_booking","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"create_bookings([Booking.new(resource_id: resource_id, booking_start: booking_start, booking_end: booking_end, summary: summary, team_id: team_id, member_id: member_id, description: description, tentative: tentative, free: free)])"}},{"html_id":"create_bookings(bookings:Array(Booking))-instance-method","name":"create_bookings","doc":"Make a booking\n","summary":"

Make a booking

","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L158"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"post_request(\"/bookings\", body: bookings.to_json)"}},{"html_id":"create_bookings(bookings:Array(BookingArgument))-instance-method","name":"create_bookings","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"args_string":"(bookings : Array(BookingArgument))","args_html":"(bookings : Array(BookingArgument))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L200"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"visibility":"Public","body":"create_bookings(bookings.map do |booking|\n Booking.new(**booking)\nend)"}},{"html_id":"delete_booking(booking_id:String)-instance-method","name":"delete_booking","doc":"Delete a booking\n","summary":"

Delete a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L152"},"def":{"name":"delete_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"!(!(delete_request(\"/bookings/#{booking_id}\")))"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(floor_id:String)-instance-method","name":"floor","doc":"Get a floor\n","summary":"

Get a floor

","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L89"},"def":{"name":"floor","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"path = \"/floors/#{floor_id}\"\nget_request(path, Floor)\n"}},{"html_id":"floors(office_id:String|Nil,name:String|Nil)-instance-method","name":"floors","doc":"Get floors\n","summary":"

Get floors

","abstract":false,"args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil, name : String | Nil)","args_html":"(office_id : String | Nil, name : String | Nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L96"},"def":{"name":"floors","args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif name\n params[\"name\"] = name\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/floors\" : \"/floors?#{query_string}\"\nget_request(path, Array(Floor))\n"}},{"html_id":"get_header-instance-method","name":"get_header","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L77"},"def":{"name":"get_header","visibility":"Public","body":"headers = {\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nauth_route = @test_auth ? \"http://localhost:17839/oauth/token\" : \"https://identity.officernd.com/oauth/token\"\nparams = HTTP::Params.encode({\"client_id\" => @client_id, \"client_secret\" => @client_secret, \"grant_type\" => \"client_credentials\", \"scope\" => @scopes.join(' ')})\nheaders = HTTP::Headers {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"}\nresponse = HTTP::Client.post(url: auth_route, headers: headers, body: params)\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body)\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"office(name:String)-instance-method","name":"office","doc":"Retrieve office\n","summary":"

Retrieve office

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L216"},"def":{"name":"office","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"path = \"/offices/#{name}\"\nget_request(path, Array(Office))\n"}},{"html_id":"offices-instance-method","name":"offices","doc":"List offices\n","summary":"

List offices

","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L209"},"def":{"name":"offices","visibility":"Public","body":"path = \"/offices\"\nget_request(path, Array(Office))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\n@test_auth = setting(Bool, :test_auth)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@client_id = setting(String, :client_id)\n@client_secret = setting(String, :client_secret)\n@scopes = setting(Array(String), :scopes)\n"}},{"html_id":"resource_bookings(resource_id:String,range_start:Time=Time.utc-5.minutes,range_end:Time=Time.utc+24.hours,office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil):Array(Booking)-instance-method","name":"resource_bookings","doc":"Get bookings for a resource for a given time span\n","summary":"

Get bookings for a resource for a given time span

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","args_html":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L110"},"def":{"name":"resource_bookings","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"return_type":"Array(Booking)","visibility":"Public","body":"time_span = (range_start..range_end)\nbookings(office_id: office_id, member_id: member_id, team_id: team_id).select! do |booking|\n (booking.resource_id == resource_id) && (booking.overlaps?(time_span))\nend\n"}},{"html_id":"resources(type:Resource::Type|String|Nil=nil,name:String|Nil=nil,office_id:String|Nil=nil,available_from:Time|Nil=nil,available_to:Time|Nil=nil)-instance-method","name":"resources","doc":"Get available rooms (resources) by\n- type\n- date range (available_from, available_to)\n- office (office_id)\n- resource name (name)","summary":"

Get available rooms (resources) by - type - date range (available_from, available_to) - office (office_id) - resource name (name)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"args_string":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","args_html":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L229"},"def":{"name":"resources","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"visibility":"Public","body":"if type.is_a?(String)\n type = Resource::Type.parse(type)\nend\nparams = HTTP::Params.new\nif type\n params[\"type\"] = type.to_s\nend\nif name\n params[\"name\"] = name\nend\nif office_id\n params[\"office\"] = office_id\nend\nif available_from\n params[\"availableFrom\"] = available_from.to_s\nend\nif available_to\n params[\"availableTo\"] = available_to.to_s\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/resources\" : \"/resources?#{query_string}\"\nget_request(path, Array(Resource))\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}}],"types":[{"html_id":"drivers/OfficeRnd/OfficeRndAPI/BookingArgument","path":"OfficeRnd/OfficeRndAPI/BookingArgument.html","kind":"alias","full_name":"OfficeRnd::OfficeRndAPI::BookingArgument","name":"BookingArgument","abstract":false,"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L188"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(resource_id: String, booking_start: Time, booking_end: Time, summary: String | Nil, team_id: String | Nil, member_id: String | Nil, description: String | Nil, tentative: Bool | Nil, free: Bool | Nil)","aliased_html":"{resource_id: String, booking_start: Time, booking_end: Time, summary: String?, team_id: String?, member_id: String?, description: String?, tentative: Bool?, free: Bool?}","const":false,"namespace":{"html_id":"drivers/OfficeRnd/OfficeRndAPI","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI"}}]},{"html_id":"drivers/OfficeRnd/Rate","path":"OfficeRnd/Rate.html","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L120"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancellation_policy:CancellationPolicy-instance-method","name":"cancellation_policy","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L126"},"def":{"name":"cancellation_policy","return_type":"CancellationPolicy","visibility":"Public","body":"@cancellation_policy"}},{"html_id":"extras:Array(Extra)-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L127"},"def":{"name":"extras","return_type":"Array(Extra)","visibility":"Public","body":"@extras"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L122"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"max_duration:Int32-instance-method","name":"max_duration","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L129"},"def":{"name":"max_duration","return_type":"Int32","visibility":"Public","body":"@max_duration"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L123"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L124"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}],"types":[{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","path":"OfficeRnd/Rate/CancellationPolicy.html","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L131"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"minimum_period:Int32-instance-method","name":"minimum_period","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period","return_type":"Int32","visibility":"Public","body":"@minimum_period"}},{"html_id":"minimum_period=(minimum_period:Int32)-instance-method","name":"minimum_period=","abstract":false,"args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"args_string":"(minimum_period : Int32)","args_html":"(minimum_period : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period=","args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"visibility":"Public","body":"@minimum_period = minimum_period"}}]},{"html_id":"drivers/OfficeRnd/Rate/Extra","path":"OfficeRnd/Rate/Extra.html","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L138"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L139"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L140"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}]}]},{"html_id":"drivers/OfficeRnd/Resource","path":"OfficeRnd/Resource.html","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L144"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAPPING","name":"MAPPING","value":"{Type::MeetingRoom => \"meeting_room\", Type::PrivateOffices => \"team_room\", Type::PrivateOfficeDesk => \"desk_tr\", Type::DedicatedDesks => \"desk\", Type::HotDesks => \"hotdesk\"}"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L144"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L151"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L145"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L149"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"rate_id:String|Nil-instance-method","name":"rate_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L147"},"def":{"name":"rate_id","return_type":"String | ::Nil","visibility":"Public","body":"@rate_id"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L152"},"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}}],"types":[{"html_id":"drivers/OfficeRnd/Resource/Type","path":"OfficeRnd/Resource/Type.html","kind":"enum","full_name":"OfficeRnd::Resource::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L162"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MeetingRoom","name":"MeetingRoom","value":"0"},{"id":"PrivateOffices","name":"PrivateOffices","value":"1"},{"id":"PrivateOfficeDesk","name":"PrivateOfficeDesk","value":"2"},{"id":"DedicatedDesks","name":"DedicatedDesks","value":"3"},{"id":"HotDesks","name":"HotDesks","value":"4"}],"namespace":{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},"class_methods":[{"html_id":"parse(type:String)-class-method","name":"parse","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L177"},"def":{"name":"parse","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"parsed = Resource::MAPPING.key_for?(type)\nif parsed\nelse\n raise(ArgumentError.new(\"Unrecognised Resource::Type '#{type}'\"))\nend\nparsed\n"}},{"html_id":"valid?(type:String)-class-method","name":"valid?","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L183"},"def":{"name":"valid?","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"!(!(Resource::MAPPING.key_for?(type)))"}}],"instance_methods":[{"html_id":"dedicated_desks?-instance-method","name":"dedicated_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L166"},"def":{"name":"dedicated_desks?","visibility":"Public","body":"self == DedicatedDesks"}},{"html_id":"hot_desks?-instance-method","name":"hot_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L167"},"def":{"name":"hot_desks?","visibility":"Public","body":"self == HotDesks"}},{"html_id":"meeting_room?-instance-method","name":"meeting_room?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L163"},"def":{"name":"meeting_room?","visibility":"Public","body":"self == MeetingRoom"}},{"html_id":"private_office_desk?-instance-method","name":"private_office_desk?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L165"},"def":{"name":"private_office_desk?","visibility":"Public","body":"self == PrivateOfficeDesk"}},{"html_id":"private_offices?-instance-method","name":"private_offices?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L164"},"def":{"name":"private_offices?","visibility":"Public","body":"self == PrivateOffices"}},{"html_id":"to_json(json:JSON::Builder)-instance-method","name":"to_json","doc":"Serializes this enum member by name.\n\nFor non-flags enums, the serialization is a JSON string. The value is the\nmember name (see `#to_s`) transformed with `String#underscore`.\n\n```\nenum Stages\n INITIAL\n SECOND_STAGE\nend\n\nStages::INITIAL.to_json # => %(\"initial\")\nStages::SECOND_STAGE.to_json # => %(\"second_stage\")\n```\n\nFor flags enums, the serialization is a JSON array including every flagged\nmember individually serialized in the same way as a member of a non-flags enum.\n`None` is serialized as an empty array, `All` as an array containing\nall members.\n\n```\n@[Flags]\nenum Sides\n LEFT\n RIGHT\nend\n\nSides::LEFT.to_json # => %([\"left\"])\n(Sides::LEFT | Sides::RIGHT).to_json # => %([\"left\",\"right\"])\nSides::All.to_json # => %([\"left\",\"right\"])\nSides::None.to_json # => %([])\n```\n\n`ValueConverter.to_json` offers a different serialization strategy based on the\nmember value.","summary":"

Serializes this enum member by name.

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(json : JSON::Builder)","args_html":"(json : JSON::Builder)","location":{"filename":"src/office_rnd/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L173"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(self.to_s)"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L169"},"def":{"name":"to_s","visibility":"Public","body":"Resource::MAPPING[self]"}}]}]},{"html_id":"drivers/OfficeRnd/TokenResponse","path":"OfficeRnd/TokenResponse.html","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L11"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L11"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"scope:String-instance-method","name":"scope","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L14"},"def":{"name":"scope","return_type":"String","visibility":"Public","body":"@scope"}},{"html_id":"scope=(scope:String)-instance-method","name":"scope=","abstract":false,"args":[{"name":"scope","external_name":"scope","restriction":"String"}],"args_string":"(scope : String)","args_html":"(scope : String)","location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L14"},"def":{"name":"scope=","args":[{"name":"scope","external_name":"scope","restriction":"String"}],"visibility":"Public","body":"@scope = scope"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L12"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L12"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]}]},{"html_id":"drivers/OpenAI","path":"OpenAI.html","kind":"module","full_name":"OpenAI","name":"OpenAI","abstract":false,"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L3"},{"filename":"src/open_ai/models/edit_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L4"},{"filename":"src/open_ai/models/model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L3"},{"filename":"src/open_ai/models/text_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/OpenAI/ChatCompletion","path":"OpenAI/ChatCompletion.html","kind":"struct","full_name":"OpenAI::ChatCompletion","name":"ChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(MessageChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L95"},"def":{"name":"choices","return_type":"Array(MessageChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L93"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L90"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L96"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/CreateChatCompletion","path":"OpenAI/CreateChatCompletion.html","kind":"class","full_name":"OpenAI::CreateChatCompletion","name":"CreateChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/chat/completions","summary":"

POST https://api.openai.com/v1/chat/completions

","constructors":[{"html_id":"new(model:String,messages:Array(OpenAI::Message))-class-method","name":"new","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"args_string":"(model : String, messages : Array(OpenAI::Message))","args_html":"(model : String, messages : Array(OpenAI::Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L30"},"def":{"name":"new","args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(model, messages)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"messages:Array(Message)-instance-method","name":"messages","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages","return_type":"Array(Message)","visibility":"Public","body":"@messages"}},{"html_id":"messages=(messages:Array(Message))-instance-method","name":"messages=","abstract":false,"args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"args_string":"(messages : Array(Message))","args_html":"(messages : Array(Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages=","args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"visibility":"Public","body":"@messages = messages"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/CreateEditCompletion","path":"OpenAI/CreateEditCompletion.html","kind":"class","full_name":"OpenAI::CreateEditCompletion","name":"CreateEditCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/edit_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/edits","summary":"

POST https://api.openai.com/v1/edits

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"input:String-instance-method","name":"input","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input","return_type":"String","visibility":"Public","body":"@input"}},{"html_id":"input=(input:String)-instance-method","name":"input=","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input=","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"@input = input"}},{"html_id":"instruction:String-instance-method","name":"instruction","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction","return_type":"String","visibility":"Public","body":"@instruction"}},{"html_id":"instruction=(instruction:String)-instance-method","name":"instruction=","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"args_string":"(instruction : String)","args_html":"(instruction : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction=","args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"visibility":"Public","body":"@instruction = instruction"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}}]},{"html_id":"drivers/OpenAI/CreateTextCompletion","path":"OpenAI/CreateTextCompletion.html","kind":"class","full_name":"OpenAI::CreateTextCompletion","name":"CreateTextCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/completions","summary":"

POST https://api.openai.com/v1/completions

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"best_of:Int32-instance-method","name":"best_of","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of","return_type":"Int32","visibility":"Public","body":"@best_of"}},{"html_id":"best_of=(best_of:Int32)-instance-method","name":"best_of=","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"args_string":"(best_of : Int32)","args_html":"(best_of : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of=","args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"visibility":"Public","body":"@best_of = best_of"}},{"html_id":"echo:Bool-instance-method","name":"echo","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo","return_type":"Bool","visibility":"Public","body":"@echo"}},{"html_id":"echo=(echo:Bool)-instance-method","name":"echo=","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"args_string":"(echo : Bool)","args_html":"(echo : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo=","args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"visibility":"Public","body":"@echo = echo"}},{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"logprobs:Int32|Nil-instance-method","name":"logprobs","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs","return_type":"Int32 | ::Nil","visibility":"Public","body":"@logprobs"}},{"html_id":"logprobs=(logprobs:Int32|Nil)-instance-method","name":"logprobs=","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"args_string":"(logprobs : Int32 | Nil)","args_html":"(logprobs : Int32 | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs=","args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@logprobs = logprobs"}},{"html_id":"max_tokens:Int32-instance-method","name":"max_tokens","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens","return_type":"Int32","visibility":"Public","body":"@max_tokens"}},{"html_id":"max_tokens=(max_tokens:Int32)-instance-method","name":"max_tokens=","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"args_string":"(max_tokens : Int32)","args_html":"(max_tokens : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens=","args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"visibility":"Public","body":"@max_tokens = max_tokens"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"prompt:String|Array(String)|Nil-instance-method","name":"prompt","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@prompt"}},{"html_id":"prompt=(prompt:String|Array(String)|Nil)-instance-method","name":"prompt=","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"args_string":"(prompt : String | Array(String) | Nil)","args_html":"(prompt : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt=","args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@prompt = prompt"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"suffix:String|Nil-instance-method","name":"suffix","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix","return_type":"String | ::Nil","visibility":"Public","body":"@suffix"}},{"html_id":"suffix=(suffix:String|Nil)-instance-method","name":"suffix=","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"args_string":"(suffix : String | Nil)","args_html":"(suffix : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix=","args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"visibility":"Public","body":"@suffix = suffix"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/GPT","path":"OpenAI/GPT.html","kind":"class","full_name":"OpenAI::GPT","name":"GPT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/gpt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"chat(model:String,message:Message|Array(Message))-instance-method","name":"chat","doc":"creates a completion for the chat message","summary":"

creates a completion for the chat message

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"args_string":"(model : String, message : Message | Array(Message))","args_html":"(model : String, message : Message | Array(Message))","location":{"filename":"src/open_ai/gpt.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L82"},"def":{"name":"chat","args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"visibility":"Public","body":"messages = message.is_a?(Array) ? message : [message]\nchat = CreateChatCompletion.new(model, messages)\nresponse = check(post(\"/v1/chat/completions\", body: chat.to_json))\nchat = ChatCompletion.from_json(response.body)\nupdate_token(chat.usage)\nchat.choices\n"}},{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L41"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"model(id:String)-instance-method","name":"model","doc":"returns the details of the provided model id","summary":"

returns the details of the provided model id

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/open_ai/gpt.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L76"},"def":{"name":"model","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = check(get(\"/v1/models/#{id}\"))\nModel.from_json(response.body)\n"}},{"html_id":"models-instance-method","name":"models","doc":"returns the available models for the current key","summary":"

returns the available models for the current key

","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L70"},"def":{"name":"models","visibility":"Public","body":"response = check(get(\"/v1/models\"))\n(List(Model).from_json(response.body)).data\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L18"},"def":{"name":"on_update","visibility":"Public","body":"openai_key = setting(String, :openai_key)\nopenai_org = setting?(String, :openai_org)\ntransport.before_request do |request|\n logger.debug do\n \"requesting #{request.method} #{request.path}?#{request.query}\\n#{request.headers}\\n#{request.body}\"\n end\n request.headers[\"Authorization\"] = \"Bearer #{openai_key}\"\n if openai_org\n request.headers[\"OpenAI-Organization\"] = openai_org\n end\n request.headers[\"Content-Type\"] = \"application/json\"\nend\nif usage = setting?(Usage, :token_usage)\n @total_tokens = usage.total_tokens\n @prompt_tokens = usage.prompt_tokens\n @completion_tokens = usage.completion_tokens\nend\n"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L40"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L39"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/List","path":"OpenAI/List.html","kind":"struct","full_name":"OpenAI::List(Type)","name":"List","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Type)-instance-method","name":"data","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L8"},"def":{"name":"data","return_type":"Array(Type)","visibility":"Public","body":"@data"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L7"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}}]},{"html_id":"drivers/OpenAI/Message","path":"OpenAI/Message.html","kind":"struct","full_name":"OpenAI::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"Typically, a conversation is formatted with a system message first,\nfollowed by alternating user and assistant messages.","summary":"

Typically, a conversation is formatted with a system message first, followed by alternating user and assistant messages.

","constructors":[{"html_id":"new(role:Role,content:String)-class-method","name":"new","abstract":false,"args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"args_string":"(role : Role, content : String)","args_html":"(role : Role, content : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L19"},"def":{"name":"new","args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(role, content)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L23"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"role:Role-instance-method","name":"role","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L22"},"def":{"name":"role","return_type":"Role","visibility":"Public","body":"@role"}}]},{"html_id":"drivers/OpenAI/MessageChoice","path":"OpenAI/MessageChoice.html","kind":"struct","full_name":"OpenAI::MessageChoice","name":"MessageChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L78"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L79"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L83"},"def":{"name":"finish_reason","return_type":"String","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L81"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"message:Message-instance-method","name":"message","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L82"},"def":{"name":"message","return_type":"Message","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/OpenAI/Model","path":"OpenAI/Model.html","kind":"struct","full_name":"OpenAI::Model","name":"Model","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"GET https://api.openai.com/v1/models","summary":"

GET https://api.openai.com/v1/models

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L27"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L28"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"owned_by:String-instance-method","name":"owned_by","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L29"},"def":{"name":"owned_by","return_type":"String","visibility":"Public","body":"@owned_by"}}]},{"html_id":"drivers/OpenAI/Role","path":"OpenAI/Role.html","kind":"enum","full_name":"OpenAI::Role","name":"Role","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"User","name":"User","value":"0","doc":"Can be generated by the end users of an application, or set by a developer as an instruction.","summary":"

Can be generated by the end users of an application, or set by a developer as an instruction.

"},{"id":"System","name":"System","value":"1","doc":"The system message helps set the behavior of the assistant.\nGPT 3 does not always pay strong attention to system messages","summary":"

The system message helps set the behavior of the assistant.

"},{"id":"Assistant","name":"Assistant","value":"2","doc":"The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior.","summary":"

The assistant messages help store prior responses.

"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"assistant?-instance-method","name":"assistant?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L11"},"def":{"name":"assistant?","visibility":"Public","body":"self == Assistant"}},{"html_id":"system?-instance-method","name":"system?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L9"},"def":{"name":"system?","visibility":"Public","body":"self == System"}},{"html_id":"user?-instance-method","name":"user?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L6"},"def":{"name":"user?","visibility":"Public","body":"self == User"}}]},{"html_id":"drivers/OpenAI/TextChoice","path":"OpenAI/TextChoice.html","kind":"struct","full_name":"OpenAI::TextChoice","name":"TextChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String|Nil-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L78"},"def":{"name":"finish_reason","return_type":"String | ::Nil","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L77"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L76"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}}]},{"html_id":"drivers/OpenAI/TextCompletion","path":"OpenAI/TextCompletion.html","kind":"struct","full_name":"OpenAI::TextCompletion","name":"TextCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(TextChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L91"},"def":{"name":"choices","return_type":"Array(TextChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L89"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L84"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L85"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L86"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L92"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/Usage","path":"OpenAI/Usage.html","kind":"struct","full_name":"OpenAI::Usage","name":"Usage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(total_tokens:Int64,prompt_tokens:Int64,completion_tokens:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"args_string":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","args_html":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","location":{"filename":"src/open_ai/models/model.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L14"},"def":{"name":"new","args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(total_tokens, prompt_tokens, completion_tokens)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L19"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L18"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L17"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/VoiceControlInterface","path":"OpenAI/VoiceControlInterface.html","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROMPT","name":"PROMPT","value":"OpenAI::Message.new(:user, \"\\n\")"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"A Voice interface that should be able to:\n* request","summary":"

A Voice interface that should be able to: * request

","instance_methods":[{"html_id":"custom_prompts:Array(OpenAI::Message)-instance-method","name":"custom_prompts","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L29"},"def":{"name":"custom_prompts","return_type":"Array(OpenAI::Message)","visibility":"Public","body":"@custom_prompts"}},{"html_id":"llm_model_id:String-instance-method","name":"llm_model_id","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L28"},"def":{"name":"llm_model_id","return_type":"String","visibility":"Public","body":"@llm_model_id"}},{"html_id":"module_status(module_id:String):Hash(String,String)-instance-method","name":"module_status","doc":"returns a hash of status values","summary":"

returns a hash of status values

","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Hash(String, String)","args_html":"(module_id : String) : Hash(String, String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L75"},"def":{"name":"module_status","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"Hash(String, String)","visibility":"Public","body":"system[module_id].__status__"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@llm_model_id = setting(String, :llm_model_id)\n@custom_prompts = (setting?(Array(OpenAI::Message), :custom_prompts)) || ([] of OpenAI::Message)\n"}},{"html_id":"request(text:String)-instance-method","name":"request","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L38"},"def":{"name":"request","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"messages = ([PROMPT] + custom_prompts) + [OpenAI::Message.new(:user, \"The Request: #{text}\")]\nchoices = Array(MessageChoice).from_json((language_model.chat(llm_model_id, messages)).get.to_json)\n"}},{"html_id":"system_metadata-instance-method","name":"system_metadata","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L50"},"def":{"name":"system_metadata","visibility":"Public","body":"metadata = {} of String => Metadata\nsys = system\nsys.modules.each do |module_name|\n 1.upto(sys.count(module_name)) do |index|\n mod = sys.get(module_name, index)\n metadata[\"#{module_name}_#{index}\"] = mod.__metadata__.llm_interface\n end\nend\n{name: sys.name, description: sys.description, modules: metadata}\n"}}],"types":[{"html_id":"drivers/OpenAI/VoiceControlInterface/Metadata","path":"OpenAI/VoiceControlInterface/Metadata.html","kind":"alias","full_name":"OpenAI::VoiceControlInterface::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::DriverModel::Metadata","aliased_html":"PlaceOS::Driver::DriverModel::Metadata","const":false,"namespace":{"html_id":"drivers/OpenAI/VoiceControlInterface","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface"}}]}]},{"html_id":"drivers/Panasonic","path":"Panasonic.html","kind":"module","full_name":"Panasonic","name":"Panasonic","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Panasonic/Camera","path":"Panasonic/Camera.html","kind":"module","full_name":"Panasonic::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Camera/HESeries","path":"Panasonic/Camera/HESeries.html","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MOVEMENT_STOPPED","name":"MOVEMENT_STOPPED","value":"50"},{"id":"ZOOM_MAX","name":"ZOOM_MAX","value":"4095"},{"id":"ZOOM_MIN","name":"ZOOM_MIN","value":"1365"},{"id":"ZOOM_RANGE","name":"ZOOM_RANGE","value":"(ZOOM_MAX - ZOOM_MIN).to_f"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Camera","kind":"module","full_name":"Panasonic::Camera","name":"Camera"},"instance_methods":[{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L254"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n zoom?\n pantilt?\nend"}},{"html_id":"installation(position:Installation)-instance-method","name":"installation","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Installation"}],"args_string":"(position : Installation)","args_html":"(position : Installation)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L223"},"def":{"name":"installation","args":[{"name":"position","external_name":"position","restriction":"Installation"}],"visibility":"Public","body":"request(\"INS\", position.desk? ? 0 : 1) do |resp|\n parse_installation(resp)\nend"}},{"html_id":"installation?-instance-method","name":"installation?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L227"},"def":{"name":"installation?","visibility":"Public","body":"parse_installation(query(\"INS\"))"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L85"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan = (MOVEMENT_STOPPED + (joyspeed(pan_speed))).to_s.rjust(2, '0')\ntilt = (MOVEMENT_STOPPED + (joyspeed(tilt_speed))).to_s.rjust(2, '0')\nif (pan_speed == \"50\") && (tilt_speed == \"50\")\n options = {retries: 4, priority: queue.priority + 50, clear_queue: true, name: :joystick}\nelse\n options = {retries: 1, priority: queue.priority, clear_queue: false, name: :joystick}\nend\nrequest(\"PTS\", \"#{pan}#{tilt}\", **options) do |resp|\n pan, tilt = (resp[3..-1].scan(/.{2}/)).flat_map(&.to_a)\n self[:pan_speed] = pan.not_nil!.to_i - MOVEMENT_STOPPED\n self[:tilt_speed] = tilt.not_nil!.to_i - MOVEMENT_STOPPED\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L141"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0, tilt_speed: position.down? ? @default_movement_speed : -@default_movement_speed)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -@default_movement_speed : @default_movement_speed, tilt_speed: 0)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 130.milliseconds\nschedule.every(1.minute) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@default_movement_speed = (setting?(Int32, :default_movement_speed)) || 12\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32)-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"args_string":"(pan : Int32, tilt : Int32)","args_html":"(pan : Int32, tilt : Int32)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L238"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"visibility":"Public","body":"pan_val = (pan.to_s(16)).upcase.rjust(4, '0')\ntilt_val = (tilt.to_s(16)).upcase.rjust(4, '0')\nrequest(\"APC\", \"#{pan_val}#{tilt_val}\", name: :pantilt) do |resp|\n parse_pantilt(resp)\nend\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L244"},"def":{"name":"pantilt?","visibility":"Public","body":"parse_pantilt(query(\"APC\"))"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L53"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n delay = 6.seconds\nend\nrequest(\"O\", state ? 1 : 0, delay: delay) do |resp|\n parse_power(resp)\nend\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L58"},"def":{"name":"power?","visibility":"Public","body":"parse_power(query(\"O\"))"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L115"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(preset[:pan], preset[:tilt])\n zoom_to(preset[:zoom])\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L132"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L125"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"do_poll\n@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L210"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"move_zoom(0, priority: 100)\njoystick(0, 0)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L189"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .in?\n move_zoom(@default_movement_speed // 3)\nin .out?\n move_zoom(-@default_movement_speed)\nin .stop?\n move_zoom(0)\nend"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L177"},"def":{"name":"zoom?","visibility":"Public","body":"resp = query(\"GZ\")\nif resp.includes?(\"--\")\n message = \"camera in standby, operation unavailable\"\n logger.debug do\n message\n end\n message\nelse\n @zoom_raw = resp[2..-1].to_i(16)\n self[:zoom] = (@zoom_raw - ZOOM_MIN).to_f * (100.0 / ZOOM_RANGE)\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L167"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * ZOOM_RANGE).to_i + ZOOM_MIN\nrequest(\"AXZ\", (zoom_value.to_s(16)).upcase.rjust(3, '0')) do |resp|\n self[:zoom] = resp[3..-1].to_i(16)\nend\n"}}],"types":[{"html_id":"drivers/Panasonic/Camera/HESeries/Installation","path":"Panasonic/Camera/HESeries/Installation.html","kind":"enum","full_name":"Panasonic::Camera::HESeries::Installation","name":"Installation","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L218"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Desk","name":"Desk","value":"0"},{"id":"Ceiling","name":"Ceiling","value":"1"}],"namespace":{"html_id":"drivers/Panasonic/Camera/HESeries","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries"},"instance_methods":[{"html_id":"ceiling?-instance-method","name":"ceiling?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L220"},"def":{"name":"ceiling?","visibility":"Public","body":"self == Ceiling"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L219"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}}]}]}]},{"html_id":"drivers/Panasonic/Display","path":"Panasonic/Display.html","kind":"module","full_name":"Panasonic::Display","name":"Display","abstract":false,"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Display/Protocol2","path":"Panasonic/Display/Protocol2.html","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", input: \"IMS\", volume: \"AVL\", volume_query: \"QAV\", audio_mute: \"AMT\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HM1\", Inputs::HDMI2 => \"HM2\", Inputs::VGA => \"PC1\", Inputs::DVI => \"DVI\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Display","kind":"module","full_name":"Panasonic::Display","name":"Display"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L51"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","doc":"There is no input query command","summary":"

There is no input query command

","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L111"},"def":{"name":"input?","visibility":"Public","body":"self[:input]?"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There is no video mute command so this only mutes audio","summary":"

There is no video mute command so this only mutes audio

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L116"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"requested audio mute state: #{state}\"\n end\n do_send(:audio_mute, state ? 1 : 0)\nend"}},{"html_id":"mute?:Bool-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L129"},"def":{"name":"mute?","return_type":"Bool","visibility":"Public","body":"(do_send(:audio_mute)).get\n!(!self[:audio_mute]?.try(&.as_bool))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L42"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(60.seconds) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"dispadmin\"\n@password = (setting?(String, :password)) || \"@Panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L78"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)\nend\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L91"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power_query, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic display sent: #{data} for #{task.try(&.name) || \"unknown\"}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\ndata = data[2..-1]\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"display busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"display error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on, :power_off, :power_query\n if (cmd == (:power_on)) || (cmd == (:power_off))\n self[:power] = cmd == (:power_on)\n end\n if cmd == (:power_query)\n self[:power] = val.not_nil!.to_i == 1\n end\n if power_target = @power_target\n if self[:power] == power_target\n @power_target = nil\n else\n power(power_target)\n end\n end\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :volume, :volume_query\n self[:volume] = val.not_nil!.to_f\nwhen :audio_mute\n self[:audio_mute] = val.not_nil!.to_i == 1\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L104"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nself[:input] = input\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L134"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\n(do_send(:volume, val.to_s.rjust(3, '0'))).get\nself[:volume] = val\n"}},{"html_id":"volume?:Int32|Nil-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L142"},"def":{"name":"volume?","return_type":"Int32 | ::Nil","visibility":"Public","body":"(do_send(:volume_query)).get\nself[:volume]?.try(&.as_i)\n"}}],"types":[{"html_id":"drivers/Panasonic/Display/Protocol2/Inputs","path":"Panasonic/Display/Protocol2/Inputs.html","kind":"enum","full_name":"Panasonic::Display::Protocol2::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L21"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"DVI","name":"DVI","value":"3"}],"namespace":{"html_id":"drivers/Panasonic/Display/Protocol2","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L25"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L23"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L22"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L24"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Panasonic/Projector","path":"Panasonic/Projector.html","kind":"module","full_name":"Panasonic::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Projector/NTControl","path":"Panasonic/Projector/NTControl.html","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", freeze: \"OFZ\", input: \"IIS\", mute: \"OSH\", lamp: \"Q$S\", lamp_hours: \"Q$L\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HD1\", Inputs::HDMI2 => \"HD2\", Inputs::VGA => \"RG1\", Inputs::VGA2 => \"RG2\", Inputs::Miracast => \"MC1\", Inputs::DVI => \"DVI\", Inputs::DisplayPort => \"DP1\", Inputs::HDBaseT => \"DL1\", Inputs::Composite => \"VID\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Projector","kind":"module","full_name":"Panasonic::Projector","name":"Projector"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L55"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"lamp_hours?(**options)-instance-method","name":"lamp_hours?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L105"},"def":{"name":"lamp_hours?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp_hours, 1, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes audio + video","summary":"

Mutes audio + video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L133"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"logger.debug do\n \"requested mute state: #{state}\"\nend\nactual = state ? 1 : 0\ndo_send(:mute, actual)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(40.seconds) do\n power?(priority: 0)\n lamp_hours?(priority: 0)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L66"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"admin1\"\n@password = (setting?(String, :password)) || \"panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L83"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:stable_power] = @stable_power = false\nself[:power_target] = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\n do_send(:lamp)\nelse\n logger.debug do\n \"requested to power off\"\n end\n (do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)).get\n schedule.in(10.seconds) do\n do_send(:lamp)\n end\nend\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L101"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L158"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic sent: #{data}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"projector busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"projector error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\ndata = data[2..-1]\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on\n self[:power] = true\nwhen :power_off\n self[:power] = false\nwhen :power_query\n self[:power] = val.not_nil!.to_i == 1\nwhen :freeze\n self[:frozen] = val.not_nil!.to_i == 1\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :mute\n state = self[:mute] = val.not_nil!.to_i == 1\n self[:mute0] = state\n self[:mute0_video] = state\n self[:mute0_audio] = state\nelse\n case task.name\n when \"lamp\"\n ival = resp[0].to_i\n self[:power] = {1, 2}.includes?(ival)\n self[:warming] = ival == 1\n self[:cooling] = ival == 3\n if !@stable_power\n if self[:power] == self[:power_target]\n self[:stable_power] = @stable_power = true\n else\n power(self[:power_target].as_bool)\n end\n end\n when \"lamp_hours\"\n self[:lamp_usage] = data.to_i\n end\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L122"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"if self[:mute]\n unmute\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\nself[:input] = input\n"}}],"types":[{"html_id":"drivers/Panasonic/Projector/NTControl/Inputs","path":"Panasonic/Projector/NTControl/Inputs.html","kind":"enum","full_name":"Panasonic::Projector::NTControl::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"3"},{"id":"Miracast","name":"Miracast","value":"4"},{"id":"DVI","name":"DVI","value":"5"},{"id":"DisplayPort","name":"DisplayPort","value":"6"},{"id":"HDBaseT","name":"HDBaseT","value":"7"},{"id":"Composite","name":"Composite","value":"8"}],"namespace":{"html_id":"drivers/Panasonic/Projector/NTControl","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl"},"instance_methods":[{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L31"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L29"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L28"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L30"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L24"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L23"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"miracast?-instance-method","name":"miracast?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L27"},"def":{"name":"miracast?","visibility":"Public","body":"self == Miracast"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L26"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L25"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]}]},{"html_id":"drivers/Pattr","path":"Pattr.html","kind":"module","full_name":"Pattr","name":"Pattr","abstract":false,"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Pattr/ChatBot","path":"Pattr/ChatBot.html","kind":"class","full_name":"Pattr::ChatBot","name":"ChatBot","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"instance_methods":[{"html_id":"chat_data_request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"chat_data_request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/pattr/chat_bot.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L45"},"def":{"name":"chat_data_request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nrequest = Request.from_json(body)\nresponse = case request\nin Location\n locate(request.referencing)\nend\npayload = response.to_json\nif @debug_webhook\n logger.debug do\n payload\n end\nend\n{HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, payload}\n"}},{"html_id":"locate(staff:Array(String))-instance-method","name":"locate","doc":"map reduce search for the users across all buildings","summary":"

map reduce search for the users across all buildings

","abstract":false,"args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"args_string":"(staff : Array(String))","args_html":"(staff : Array(String))","location":{"filename":"src/pattr/chat_bot.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L61"},"def":{"name":"locate","args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"visibility":"Public","body":"searches = staff.map do |username|\n email = username.includes?('@') ? username : nil\n queries = @buildings.map do |building|\n building[:LocationServices].locate_user(email, username)\n end\n {username, queries}\nend\nresponse = {} of String => PlaceLocationResult\nsearches.each do |__arg4|\n username = __arg4[0]\n queries = __arg4[1]\n locations = {} of String => PlaceLocationResult\n queries.each do |results|\n (Array(PlaceLocationResult).from_json(results.get.to_json)).map do |location|\n locations[location.location] = location\n end\n end\n if location = (locations[\"meeting\"]? || locations[\"wireless\"]?) || locations[\"desk\"]?\n response[username] = location\n end\nend\nresponse.transform_values do |location|\n case location.location\n when \"meeting\"\n {building: zones[location.building], level: zones[location.level], room: systems[location.sys_id.not_nil!]}\n else\n {building: zones[location.building], level: zones[location.level]}\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"@zones = Hash(String, String).new do |hash, key|\n zone = (staff_api.zone(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg0|\n __arg0.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\n@systems = Hash(String, String).new do |hash, key|\n zone = (staff_api.get_system(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg2|\n __arg2.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\nbuildings = (setting?(Array(String), :buildings)) || [config.control_system.not_nil!.id]\n@buildings = buildings.map do |id|\n system(id)\nend\n"}}]},{"html_id":"drivers/Pattr/Location","path":"Pattr/Location.html","kind":"class","full_name":"Pattr::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},"ancestors":[{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"referencing:Array(String)-instance-method","name":"referencing","doc":"user emails / usernames of users we want to locate","summary":"

user emails / usernames of users we want to locate

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L19"},"def":{"name":"referencing","return_type":"Array(String)","visibility":"Public","body":"@referencing"}},{"html_id":"request:String-instance-method","name":"request","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L16"},"def":{"name":"request","return_type":"String","visibility":"Public","body":"@request"}}]},{"html_id":"drivers/Pattr/PlaceLocationResult","path":"Pattr/PlaceLocationResult.html","kind":"class","full_name":"Pattr::PlaceLocationResult","name":"PlaceLocationResult","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","doc":"zone ids","summary":"

zone ids

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L29"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L30"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"location:String-instance-method","name":"location","doc":"wireless, desk, meeting, booking","summary":"

wireless, desk, meeting, booking

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L26"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"sys_id:String|Nil-instance-method","name":"sys_id","doc":"system id (if it's a meeting room)","summary":"

system id (if it's a meeting room)

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L33"},"def":{"name":"sys_id","return_type":"String | ::Nil","visibility":"Public","body":"@sys_id"}}]},{"html_id":"drivers/Pattr/Request","path":"Pattr/Request.html","kind":"class","full_name":"Pattr::Request","name":"Request","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Pattr/Location","kind":"class","full_name":"Pattr::Location","name":"Location"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"request type hint","summary":"

request type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"request\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'request' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'request'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n Location.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'request' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"user:String-instance-method","name":"user","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L12"},"def":{"name":"user","return_type":"String","visibility":"Public","body":"@user"}}]}]},{"html_id":"drivers/Philips","path":"Philips.html","kind":"module","full_name":"Philips","name":"Philips","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Philips/Dynalite","path":"Philips/Dynalite.html","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"254 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(1.minute) do\n logger.debug do\n \"maintaining connection\"\n end\n get_current_preset(1)\nend"}},{"html_id":"decrement_area_level(area:UInt8)-instance-method","name":"decrement_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L124"},"def":{"name":"decrement_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 5, 0, 0, 255])"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L24"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(area:UInt8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L59"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 99, 0, 0, 255]\ndo_send(command, wait: true)\n"}},{"html_id":"get_light_level(area:Int32,channel:Int32=255)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, channel : Int32 = 255)","args_html":"(area : Int32, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L116"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"do_send(Bytes[28, area & 255, channel & 255, 97, 0, 0, 255], wait: true)"}},{"html_id":"increment_area_level(area:UInt8)-instance-method","name":"increment_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L120"},"def":{"name":"increment_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 6, 0, 0, 255])"}},{"html_id":"light_level(area:Int32,level:Float64,fade:Int32=1000,channel:Int32=255)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","args_html":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L78"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"cmd = 113\nfade = if fade <= 25500\n fade // 100\nelse\n if fade < 255000\n cmd = 114\n fade // 1000\n else\n cmd = 115\n (fade // 60000).clamp(1, 22)\n end\nend\narea_key = ((Area.new(area.to_u32, channel: channel == 255 ? nil : channel.to_u32)).append(\"level\")).to_s\nself[area_key] = level\nlevel = ((level.clamp(0.0, 100.0)) * LEVEL_PERCENTAGE).to_u8\nlevel = 255_u8 - level\ncommand = Bytes[28, area & 255, channel & 255, cmd, level, fade & 255, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"lighting(area:Int32,state:Bool,fade:Int32=1000)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, state : Bool, fade : Int32 = 1000)","args_html":"(area : Int32, state : Bool, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L71"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100.0 : 0.0\nlight_level(area, level, fade)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L215"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nget_light_level(area_id, area_channel.to_i)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L204"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\nget_current_preset(area_id.to_u8)\n"}},{"html_id":"link_area(area:UInt8,join:UInt8)-instance-method","name":"link_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt8, join : UInt8)","args_html":"(area : UInt8, join : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L134"},"def":{"name":"link_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, join, 20, 0, 0, 255])"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 35.milliseconds\ntransport.tokenizer = Tokenizer.new(8, Bytes[28])\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynalite.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L138"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data.hexstring}\"\nend\ncase data[3]\nwhen 0, 1, 2, 3, 10, 11, 12, 13\n number = data[3]\n if number > 3\n number = number - (10 + 4)\n end\n number = number + ((data[5] * 8) + 1)\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 98\n number = data[2] + 1\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 96\n level = data[4]\n level = 255 - level\n level = level / LEVEL_PERCENTAGE\n channel = data[2].to_u32\n area_key = ((Area.new(data[1].to_u32, channel: channel == 255_u32 ? nil : channel)).append(\"level\")).to_s\n self[area_key] = level\n task.try(&.success(level))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save_preset(area:UInt8,scene:UInt8)-instance-method","name":"save_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"args_string":"(area : UInt8, scene : UInt8)","args_html":"(area : UInt8, scene : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L65"},"def":{"name":"save_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"visibility":"Public","body":"num = (scene - 1) & 255\ncommand = Bytes[28, area, num, 9, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L209"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nlight_level(area_id, level, fade_time.to_i, area_channel.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L199"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\ntrigger(area_id, scene.to_i, fade_time.to_i)\n"}},{"html_id":"stop_all_fading(area:UInt8)-instance-method","name":"stop_all_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L111"},"def":{"name":"stop_all_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 122, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"stop_fading(area:UInt8,channel:UInt8=255_u8)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"args_string":"(area : UInt8, channel : UInt8 = 255_u8)","args_html":"(area : UInt8, channel : UInt8 = 255_u8)","location":{"filename":"src/philips/dynalite.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L106"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, channel, 118, 0, 0, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"trigger(area:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","doc":"fade_time in millisecond","summary":"

fade_time in millisecond

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(area : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L37"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade_centi = fade // 10\nself[Area.new(area.to_u32)] = scene\nscene = scene - 1\nbank = scene // 8\nscene = scene - (bank * 8)\nif scene >= 4\n scene = scene + 6\nend\ncommand = Bytes[28, area & 255, fade_centi & 255, scene & 255, (fade_centi >> 8) & 255, bank, 255]\nschedule.in((fade + 200).milliseconds) do\n get_light_level(area)\nend\ndo_send(command, name: \"preset_#{area}_#{scene}\")\n"}},{"html_id":"unlink_area(area:UInt8)-instance-method","name":"unlink_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L128"},"def":{"name":"unlink_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"link_area(area, 0_u8)"}}],"types":[{"html_id":"drivers/Philips/Dynalite/Area","path":"Philips/Dynalite/Area.html","kind":"alias","full_name":"Philips::Dynalite::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/Dynalite","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite"}}]},{"html_id":"drivers/Philips/DyNetText","path":"Philips/DyNetText.html","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynet_text.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- polling gateway\"\n end\n get_date\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L38"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"get_current_preset(area:UInt16,join:UInt8=255_u8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8)","args_html":"(area : UInt16, join : UInt8 = 255_u8)","location":{"filename":"src/philips/dynet_text.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L169"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(\"RequestCurrentPreset #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}\" : \"get_area#{area}_#{join}\"))"}},{"html_id":"get_date-instance-method","name":"get_date","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L152"},"def":{"name":"get_date","visibility":"Public","body":"do_send(\"RequestDate\", name: :date)"}},{"html_id":"get_light_level(area:UInt16,join:UInt8=255_u8,channel:UInt16=1_u16)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L183"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"RequestChannelLevel #{channel} #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}_level\" : \"get_area#{area}_#{join}_level\"))"}},{"html_id":"get_time-instance-method","name":"get_time","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L156"},"def":{"name":"get_time","visibility":"Public","body":"do_send(\"RequestTime\", name: :time)"}},{"html_id":"light_level(area:UInt16,level:Float64,join:UInt8=255_u8,fade:UInt32=1000_u32,channel:UInt16=0_u16)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L177"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"level = level.round_away.to_i\ndo_send(\"ChannelLevel #{channel} #{level.clamp(0, 100)} #{area} #{fade} #{join}\", name: \"level#{area}_#{channel}_#{join}\")\n"}},{"html_id":"lighting(area:UInt16,state:Bool,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L173"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"light_level(area, state ? 100.0 : 0.0, join, fade)"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L218"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 1_u32\nget_light_level(area_id, area_join, area_channel.to_u16)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L207"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\nget_current_preset(area_id, area_join)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynet_text.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L48"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip(\"\\u0000\\r\\n\\t \")\nif data.empty?\n return\nend\nlogger.debug do\n \"Dynalite sent: #{data}\"\nend\nif @ready\n components = (data.split(\", \")).map do |component|\n parts = component.downcase.split\n value = parts.pop\n key = parts.join(' ')\n {key, value}\n end.to_h\n process_response(data, components, task)\nelse\n if data =~ (/Connection Established/i)\n @ready = true\n self[:ready] = true\n do_send(\"Echo 0\", name: \"echo\")\n do_send(\"Verbose\", name: \"verbose\")\n do_send(\"ReplyOK 1\", name: \"replies\")\n do_send(\"Join 255\", name: \"join\")\n end\nend\n"}},{"html_id":"send_custom(data:String)-instance-method","name":"send_custom","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/philips/dynet_text.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L165"},"def":{"name":"send_custom","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"do_send(data)"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L212"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 0_u32\nlight_level(area_id, level, area_join, fade_time, area_channel.to_u16)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L202"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\ntrigger(area_id, scene.to_u16, area_join, fade_time)\n"}},{"html_id":"stop_fading(area:UInt16,join:UInt8=255_u8,channel:UInt16=0_u16)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L188"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"StopFade #{channel} #{area} #{join}\", name: \"stopfade#{area}_#{join}_#{channel}\")"}},{"html_id":"trigger(area:UInt16,scene:UInt16,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"trigger","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L160"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"do_send(\"Preset #{scene} #{area} #{fade} #{join}\", name: \"preset#{area}_#{join}\")"}}],"types":[{"html_id":"drivers/Philips/DyNetText/Area","path":"Philips/DyNetText/Area.html","kind":"alias","full_name":"Philips::DyNetText::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynet_text.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/DyNetText","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText"}}]}]},{"html_id":"drivers/Place","path":"Place.html","kind":"module","full_name":"Place","name":"Place","abstract":false,"locations":[{"filename":"src/place/area_config.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L4"},{"filename":"src/place/meet/help.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L3"},{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Place/AreaConfig","path":"Place/AreaConfig.html","kind":"class","full_name":"Place::AreaConfig","name":"AreaConfig","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(id:String,name,coordinates,building_id=nil,area_type:String=\"Feature\",feature_type:String=\"section\",capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"args_string":"(id : String, name, coordinates, building_id = nil, area_type : String = \"Feature\", feature_type : String = \"section\", capacity = nil)","args_html":"(id : String, name, coordinates, building_id = nil, area_type : String = "Feature", feature_type : String = "section", capacity = nil)","location":{"filename":"src/place/area_config.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, coordinates, building_id, area_type, feature_type, capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L33"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L33"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}},{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L46"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"self.properties[\"building_id\"]?.as?(String)"}},{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L50"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"(self.properties[\"capacity\"]?.as?(Int64 | Float64)).try(&.to_i)"}},{"html_id":"coordinates(map_width:Float64,map_height:Float64)-instance-method","name":"coordinates","abstract":false,"args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"args_string":"(map_width : Float64, map_height : Float64)","args_html":"(map_width : Float64, map_height : Float64)","location":{"filename":"src/place/area_config.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L62"},"def":{"name":"coordinates","args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"visibility":"Public","body":"@adjusted_coords = self.geometry.coordinates.map do |__arg1|\n x = __arg1[0]\n y = __arg1[1]\n {x * map_width, y * map_height}\nend"}},{"html_id":"coordinates-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L54"},"def":{"name":"coordinates","visibility":"Public","body":"if coords = @adjusted_coords\n coords\nelse\n self.geometry.coordinates\nend"}},{"html_id":"feature_type:String-instance-method","name":"feature_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L34"},"def":{"name":"feature_type","return_type":"String","visibility":"Public","body":"@feature_type"}},{"html_id":"feature_type=(feature_type:String)-instance-method","name":"feature_type=","abstract":false,"args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"args_string":"(feature_type : String)","args_html":"(feature_type : String)","location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L34"},"def":{"name":"feature_type=","args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"visibility":"Public","body":"@feature_type = feature_type"}},{"html_id":"geometry:Geometry-instance-method","name":"geometry","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L36"},"def":{"name":"geometry","return_type":"Geometry","visibility":"Public","body":"@geometry"}},{"html_id":"geometry=(geometry:Geometry)-instance-method","name":"geometry=","abstract":false,"args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"args_string":"(geometry : Geometry)","args_html":"(geometry : Geometry)","location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L36"},"def":{"name":"geometry=","args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"visibility":"Public","body":"@geometry = geometry"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L30"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"self.properties[\"name\"].as(String)"}},{"html_id":"polygon:Polygon-instance-method","name":"polygon","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L66"},"def":{"name":"polygon","return_type":"Polygon","visibility":"Public","body":"@polygon || (@polygon = Polygon.new(coordinates.map do |coords|\n Point.new(*coords)\nend))"}},{"html_id":"properties:Hash(String,JSON::Any::Type)-instance-method","name":"properties","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L37"},"def":{"name":"properties","return_type":"Hash(String, JSON::Any::Type)","visibility":"Public","body":"@properties"}},{"html_id":"properties=(properties:Hash(String,JSON::Any::Type))-instance-method","name":"properties=","abstract":false,"args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(properties : Hash(String, JSON::Any::Type))","args_html":"(properties : Hash(String, JSON::Any::Type))","location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L37"},"def":{"name":"properties=","args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"visibility":"Public","body":"@properties = properties"}}]},{"html_id":"drivers/Place/AreaManagement","path":"Place/AreaManagement.html","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","doc":"PlaceOS client config","summary":"

PlaceOS client config

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L81"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L151"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"is_inside?(x:Float64,y:Float64,area_id:String):Bool-instance-method","name":"is_inside?","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(x : Float64, y : Float64, area_id : String) : Bool","args_html":"(x : Float64, y : Float64, area_id : String) : Bool","location":{"filename":"src/place/area_management.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L565"},"def":{"name":"is_inside?","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"area = @areas[area_id]\narea.polygon.contains(x, y)\n"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L78"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"@level_details"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L97"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nspawn(same_thread: true) do\n update_scheduler\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L104"},"def":{"name":"on_unload","visibility":"Public","body":"@rate_limit.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L108"},"def":{"name":"on_update","visibility":"Public","body":"@include_sensors = (setting?(Bool, :include_sensors)) || false\n@desk_id_mappings = (setting?(Array(String), :desk_id_mappings)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@location_service = (setting?(String, :location_service)).presence || \"LocationServices\"\n@duplication_factor = (setting?(Float64, :duplication_factor)) || 0.8\n@sensor_discovery = {} of String => SensorMeta\n@rounding_precision = (setting?(UInt32, :rounding_precision)) || 2_u32\nif building_areas = setting?(Hash(String, Array(AreaSetting)), :areas)\n @level_areas.clear\n building_areas.each do |zone_id, areas|\n @level_areas[zone_id] = areas.map do |area|\n config = AreaConfig.new(area[:id], area[:name], area[:coordinates], area[:building])\n @areas[config.id] = config\n config\n end\n end\nend\nschedule.clear\nschedule.every(@poll_rate) do\n synchronize_all_levels\nend\nif @include_sensors\n schedule.in(@poll_rate * 3) do\n schedule.every(2.hours + (rand(300)).seconds, immediate: true) do\n write_sensor_discovery\n end\n end\nend\nunits = (setting?(Hash(String, String), :units)) || ({} of String => String)\n@units = units.transform_keys do |key|\n SensorType.parse(key)\nend\n"}},{"html_id":"request_level_locations(level_id:String,sensor_data:Hash(String,Array(SensorDetail))|Nil=nil):Nil-instance-method","name":"request_level_locations","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","args_html":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","location":{"filename":"src/place/area_management.cr","line_number":546,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L546"},"def":{"name":"request_level_locations","args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@update_lock.synchronize do\n zone = Zone.from_json((staff_api.zone(level_id)).get.to_json)\n if !(zone.tags.includes?(\"level\"))\n logger.warn do\n \"attempted to update location for #{zone.name} (#{level_id}) which is not tagged as a level\"\n end\n return\n end\n metadata = Metadata.from_json((staff_api.metadata(level_id)).get.to_json)\n update_level_details(@level_details, zone, metadata)\n update_level_locations(@level_counts, level_id, @level_details[level_id], sensor_data)\n update_overview\nend"}},{"html_id":"request_locations(sensor_data:Hash(String,Array(SensorDetail))|Nil=nil)-instance-method","name":"request_locations","abstract":false,"args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","args_html":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L534"},"def":{"name":"request_locations","args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"visibility":"Public","body":"@update_lock.synchronize do\n level_counts = {} of String => RawLevelDetails\n @level_details.each do |level_id, details|\n update_level_locations(level_counts, level_id, details, sensor_data)\n end\n @level_counts = level_counts\n update_overview\nend"}},{"html_id":"request_sensor_data(level_id:String|Nil=nil):Hash(String,Array(SensorDetail))-instance-method","name":"request_sensor_data","doc":"Queries all the sensors in a building and exposes the data","summary":"

Queries all the sensors in a building and exposes the data

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","args_html":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","location":{"filename":"src/place/area_management.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L193"},"def":{"name":"request_sensor_data","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"return_type":"Hash(String, Array(SensorDetail))","visibility":"Public","body":"sensors = if level_id\n location_service.sensors(zone_id: level_id).get.as_a\nelse\n location_service.sensors.get.as_a\nend\nlevels = Hash(String, Array(SensorDetail)).new do |h, k|\n h[k] = [] of SensorDetail\nend\nif sensors.empty?\n return levels\nend\ndetails = Array(SensorDetail).from_json(sensors.to_json)\nbuilding_id_local = building_id\nlocs = sensor_locations(level_id)\ndetails.each do |sensor|\n id = sensor.id ? \"#{sensor.mac}-#{sensor.id}\" : sensor.mac\n @sensor_discovery[id] = SensorMeta.new(sensor.name, sensor.type, sensor.level, sensor.x, sensor.y)\n sensor.module_id = sensor.binding = sensor.loc = nil\n if location = locs[id]?\n sensor.x = location.x\n sensor.y = location.y\n sensor.level = location.level\n sensor.building = building_id_local\n end\n if sensor.x && (level_id ? sensor.level == level_id : sensor.level)\n if ((curr_unit = sensor.unit) && (desired_unit = @units[sensor.type]?)) && (curr_unit != desired_unit)\n begin\n sensor.value = ((Units::Measurement.new(sensor.value, curr_unit)).convert_to(desired_unit)).to_f\n sensor.unit = desired_unit\n rescue error\n logger.warn(exception: error) do\n \"failed to convert #{sensor.value} #{curr_unit} => #{desired_unit}\"\n end\n end\n end\n levels[sensor.level] << sensor\n end\nend\nlevels.each do |level, the_sensors|\n self[\"#{level}:sensors\"] = {value: the_sensors, ts_hint: \"complex\", ts_map: {x: \"xloc\", y: \"yloc\"}, ts_tag_keys: {\"s2_cell_id\"}, ts_tags: {pos_building: building_id_local, pos_level: level}}\nend\nlevels\n"}},{"html_id":"sensor_locations(level_id:String|Nil=nil)-instance-method","name":"sensor_locations","doc":"returns the sensor location data that has been configured","summary":"

returns the sensor location data that has been configured

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil)","args_html":"(level_id : String | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L184"},"def":{"name":"sensor_locations","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if level_id\n @level_sensors[level_id]? || ({} of String => SensorMeta)\nelse\n @level_sensors.values.reduce({} of String => SensorMeta) do |acc, i|\n acc.merge!(i)\n end\nend"}},{"html_id":"synchronize_all_levels-instance-method","name":"synchronize_all_levels","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L635"},"def":{"name":"synchronize_all_levels","visibility":"Public","body":"@schedule_lock.synchronize do\n @update_all = true\nend"}},{"html_id":"update_available(level_ids:Array(String))-instance-method","name":"update_available","abstract":false,"args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"args_string":"(level_ids : Array(String))","args_html":"(level_ids : Array(String))","location":{"filename":"src/place/area_management.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L631"},"def":{"name":"update_available","args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@schedule_lock.synchronize do\n @update_levels.concat(level_ids)\nend"}},{"html_id":"write_sensor_discovery-instance-method","name":"write_sensor_discovery","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L179"},"def":{"name":"write_sensor_discovery","visibility":"Public","body":"staff_api.write_metadata(building_id, \"sensor-discovered\", @sensor_discovery)"}}],"types":[{"html_id":"drivers/Place/AreaManagement/AreaSetting","path":"Place/AreaManagement/AreaSetting.html","kind":"alias","full_name":"Place::AreaManagement::AreaSetting","name":"AreaSetting","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: String, name: String, building: String | Nil, coordinates: Array(Tuple(Float64, Float64)))","aliased_html":"{id: String, name: String, building: String?, coordinates: Array({Float64, Float64})}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/ChildMetadata","path":"Place/AreaManagement/ChildMetadata.html","kind":"alias","full_name":"Place::AreaManagement::ChildMetadata","name":"ChildMetadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L329"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(NamedTuple(zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)))","aliased_html":"Array({zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)})","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/LevelCapacity","path":"Place/AreaManagement/LevelCapacity.html","kind":"alias","full_name":"Place::AreaManagement::LevelCapacity","name":"LevelCapacity","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String))","aliased_html":"{total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Metadata","path":"Place/AreaManagement/Metadata.html","kind":"alias","full_name":"Place::AreaManagement::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L328"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, PlaceOS::Client::API::Models::Metadata)","aliased_html":"Hash(String, PlaceOS::Client::API::Models::Metadata)","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/RawLevelDetails","path":"Place/AreaManagement/RawLevelDetails.html","kind":"alias","full_name":"Place::AreaManagement::RawLevelDetails","name":"RawLevelDetails","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L61"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)), sensors: Hash(String, Float64))","aliased_html":"{wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: {total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}, sensors: Hash(String, Float64)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorDetail","path":"Place/AreaManagement/SensorDetail.html","kind":"alias","full_name":"Place::AreaManagement::SensorDetail","name":"SensorDetail","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L163"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::Detail","aliased_html":"PlaceOS::Driver::Interface::Sensor::Detail","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorMeta","path":"Place/AreaManagement/SensorMeta.html","kind":"struct","full_name":"Place::AreaManagement::SensorMeta","name":"SensorMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"},"constructors":[{"html_id":"new(name:Nil|String,type:PlaceOS::Driver::Interface::Sensor::SensorType|Nil,level:Nil|String,x:Float64|Nil,y:Float64|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"args_string":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","args_html":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L169"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, type, level, x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_management.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level:String|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L174"},"def":{"name":"level","return_type":"String | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:String|Nil)-instance-method","name":"level=","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"args_string":"(level : String | Nil)","args_html":"(level : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L174"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L173"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L173"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:SensorType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L172"},"def":{"name":"type","return_type":"SensorType | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:SensorType|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"args_string":"(type : SensorType | Nil)","args_html":"(type : SensorType | Nil)","location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L172"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"x:Float64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L175"},"def":{"name":"x","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64|Nil)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"args_string":"(x : Float64 | Nil)","args_html":"(x : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L175"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L176"},"def":{"name":"y","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"args_string":"(y : Float64 | Nil)","args_html":"(y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L176"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Place/AreaManagement/SensorType","path":"Place/AreaManagement/SensorType.html","kind":"alias","full_name":"Place::AreaManagement::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Zone","path":"Place/AreaManagement/Zone.html","kind":"alias","full_name":"Place::AreaManagement::Zone","name":"Zone","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Client::API::Models::Zone","aliased_html":"PlaceOS::Client::API::Models::Zone","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}}]},{"html_id":"drivers/Place/AutoDeskCheckin","path":"Place/AutoDeskCheckin.html","kind":"class","full_name":"Place::AutoDeskCheckin","name":"AutoDeskCheckin","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_check_in-instance-method","name":"fetch_and_check_in","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L33"},"def":{"name":"fetch_and_check_in","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nbooking_ids = (staff_api.query_bookings(@booking_category, period_start, period_end, @zones, checked_in: false)).get.as_a.map do |booking|\n booking[\"id\"].as_i64\nend\nsuccess = 0\nfailed = [] of Int64\nbooking_ids.each do |id|\n begin\n (staff_api.booking_check_in(id, true, \"auto-checkin\")).get\n success = success + 1\n rescue error\n failed << id\n logger.debug(exception: error) do\n \"failed to check-in booking #{id}\"\n end\n end\nend\n\"checked-in #{success} bookings, failed #{failed.size}: #{failed}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"@zones = setting(Array(String), :check_in_zones)\n@time_period = (setting(Int32, :hours_before_booking_start)).hours\n@booking_category = setting(String, :booking_category)\nschedule.clear\nschedule.every(5.minutes) do\n fetch_and_check_in\nend\n"}}]},{"html_id":"drivers/Place/Booking","path":"Place/Booking.html","kind":"class","full_name":"Place::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L7"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L7"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"approved:Bool|Nil-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L31"},"def":{"name":"approved","return_type":"Bool | ::Nil","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool|Nil)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"args_string":"(approved : Bool | Nil)","args_html":"(approved : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L31"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L36"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L36"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L35"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L35"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L19"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L16"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L12"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L12"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L11"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L11"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L10"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L10"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"changed-instance-method","name":"changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L52"},"def":{"name":"changed","visibility":"Public","body":"Time.unix(last_changed.not_nil!)"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L41"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"if (value = @checked_in).nil?\n @checked_in = (false)\nelse\n value\nend"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L41"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L29"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L43"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L43"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"extension_data:Hash(String,JSON::Any)-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L45"},"def":{"name":"extension_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @extension_data).nil?\n @extension_data = ({} of String => JSON::Any)\nelse\n value\nend"}},{"html_id":"extension_data=(extension_data:Hash(String,JSON::Any))-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"args_string":"(extension_data : Hash(String, JSON::Any))","args_html":"(extension_data : Hash(String, JSON::Any))","location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L45"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L9"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L47"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L33"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L33"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L32"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L32"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L30"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L30"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L17"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L17"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L13"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L13"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L42"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L42"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L24"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L24"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L23"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L23"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L25"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L25"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L27"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L27"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/BookingApprovalWorkflows","path":"Place/BookingApprovalWorkflows.html","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L433"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg9|\n _event = __arg9[0]\n entered = __arg9[1]\n expired > entered\nend\nexpired = 1.hour.ago.to_unix\n@group_email_notifications.reject! do |_, entered|\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n building_name = details[:name]\n approval_type = details[:approval]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, approval_type, building_name, building_key, support_email, attachments, months_from_now)\n end\nend\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L261"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @approval_lookup[zone_id]?\n if details\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details[:name], details[:approval], details[:support_email], attachments}\n end\nend\nnil\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":548,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L548"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (mailer.get_user_manager(staff_email)).get\n {(manager[\"email\"]? || manager[\"username\"]).as_s, manager[\"name\"].as_s}\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n {nil, nil}\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L55"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@remind_after = ((setting?(Int32, :remind_after)) || 24).hours\n@escalate_after = ((setting?(Int32, :escalate_after)) || 48).hours\n@notify_managers = (setting?(Bool, :notify_managers)) || false\n@approval_lookup = setting(Hash(String, SiteDetails), :approval_type)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\nschedule.clear\nschedule.every(5.minutes) do\n check_bookings\nend\nreminders = (setting?(Reminders, :reminders)) || {crons: [] of String, zones: {} of String => Array(String)}\nreminders[:crons].each do |cron|\n reminders[:zones].each do |timezone, zones|\n begin\n schedule.cron(cron, Time::Location.load(timezone)) do\n send_checkin_reminder(zones)\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to schedule reminder: #{zones} => #{timezone} : #{cron}\"\n end\n end\n end\nend\n"}},{"html_id":"send_checkin_reminder(zones:Array(String)|Nil=nil,timezone:String|Nil=nil)-instance-method","name":"send_checkin_reminder","abstract":false,"args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","args_html":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L604"},"def":{"name":"send_checkin_reminder","args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_now = Time.utc.in(timezone ? Time::Location.load(timezone) : @time_zone)\ntime_now = time_now.at_beginning_of_day + 12.hours\ntime_now = time_now.to_local_in(Time::Location::UTC)\nquery_start = time_now.to_unix\nquery_end = (time_now + 30.minutes).to_unix\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n if zones && (!(zones.includes?(building_zone)))\n next\n end\n building_name = details[:name]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_checkin_reminder(building_zone, building_name, building_key, support_email, attachments, query_start, query_end)\n end\nend\n"}},{"html_id":"users_with_invalid_desk_bookings(building_zone:String,ending:Int64)-instance-method","name":"users_with_invalid_desk_bookings","abstract":false,"args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"args_string":"(building_zone : String, ending : Int64)","args_html":"(building_zone : String, ending : Int64)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":557,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L557"},"def":{"name":"users_with_invalid_desk_bookings","args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"visibility":"Public","body":"meta_raw = (staff_api.metadata_children(building_zone, \"desks\")).get.as_a\nmetadata = {} of String => Hash(String, Array(String))\nmeta_raw.each do |zone|\n desks = {} of String => Array(String)\n zone_id = zone[\"zone\"][\"id\"].as_s\n zone[\"metadata\"][\"desks\"][\"details\"].as_a.each do |desk|\n desks[desk[\"id\"].as_s] = desk[\"groups\"].as_a.map() do |__arg12|\n __arg12.as_s.downcase\n end\n end\n metadata[zone_id] = desks\nend\nusers = [] of Tuple(String, String, String, Int64, Int64, String)\nbookings = staff_api.query_bookings(type: \"desk\", period_end: ending, zones: [building_zone], rejected: false).get.as_a\nbookings.each do |booking|\n user_email = booking[\"user_email\"].as_s\n level_id = (booking[\"zones\"].as_a.map(&.as_s).reject(building_zone)).first\n desk_id = booking[\"asset_id\"].as_s\n booking_id = booking[\"id\"].as_i64\n starting = booking[\"booking_start\"].as_i64\n if desks = metadata[level_id]?\n if groups = desks[desk_id]?\n if groups.empty?\n next\n end\n users_groups = (mailer.get_groups(user_email)).get.as_a.map do |g|\n g[\"name\"].as_s.downcase\n end\n overlap = users_groups & groups\n if overlap.empty?\n date_friendly = (Time.unix(starting)).to_s(@date_format)\n users << {user_email, desk_id, level_id, booking_id, starting, date_friendly}\n end\n end\n end\nend\nlogger.debug do\n \"Email,Desk ID,Zone,Booking id,Starting,Start date\\n#{users.map do |u|\n \"#{u[0]},#{u[1]},#{u[2]},#{u[3]},#{u[4]},#{u[5]}\"\n end.join(\"\\n\")}\"\nend\nnil\n"}}],"types":[{"html_id":"drivers/Place/BookingApprovalWorkflows/Reminders","path":"Place/BookingApprovalWorkflows/Reminders.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::Reminders","name":"Reminders","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(crons: Array(String), zones: Hash(String, Array(String)))","aliased_html":"{crons: Array(String), zones: Hash(String, Array(String))}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}},{"html_id":"drivers/Place/BookingApprovalWorkflows/SiteDetails","path":"Place/BookingApprovalWorkflows/SiteDetails.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::SiteDetails","name":"SiteDetails","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(approval: String, name: String, support_email: String, attachments: Hash(String, String) | Nil)","aliased_html":"{approval: String, name: String, support_email: String, attachments: Hash(String, String)?}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}}]},{"html_id":"drivers/Place/BookingApprover","path":"Place/BookingApprover.html","kind":"class","full_name":"Place::BookingApprover","name":"BookingApprover","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approver.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve_missed-instance-method","name":"approve_missed","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L78"},"def":{"name":"approve_missed","visibility":"Public","body":"booking_type = @approve_booking_types[0]? || \"desk\"\nbookings = Array(Booking).from_json(staff_api.query_bookings(type: booking_type, zones: [get_building_id], approved: false, period_end: 8.weeks.from_now.to_unix).get.to_json)\nbookings.each do |booking|\n booking.action = \"create\"\n approve_booking(booking)\nend\n\"found #{bookings.size} missed\"\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L37"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n approve_booking(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@approve_zones = (setting?(Array(String), :approve_zones)) || ([] of String)\n@approve_booking_types = (setting?(Array(String), :approve_booking_types)) || ([] of String)\nschedule.clear\nschedule.every(10.minutes) do\n approve_missed\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L96"},"def":{"name":"status","visibility":"Public","body":"{bookings_approved: @bookings_approved}"}}]},{"html_id":"drivers/Place/BookingCheckInHelper","path":"Place/BookingCheckInHelper.html","kind":"class","full_name":"Place::BookingCheckInHelper","name":"BookingCheckInHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_check_in_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"current_meeting:PlaceCalendar::Event|Nil-instance-method","name":"current_meeting","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L86"},"def":{"name":"current_meeting","return_type":"PlaceCalendar::Event | ::Nil","visibility":"Public","body":"@current_meeting"}},{"html_id":"ignore_long_meeting?:Bool-instance-method","name":"ignore_long_meeting?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L135"},"def":{"name":"ignore_long_meeting?","return_type":"Bool","visibility":"Public","body":"meeting = current_meeting\nif meeting\nelse\n return false\nend\nevent_end = meeting.event_end\nif event_end\nelse\n return true\nend\nignore_length = @ignore_longer_than\nif ignore_length\nelse\n return false\nend\nmeeting_length = event_end - meeting.event_start\nmeeting_length >= ignore_length\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L13"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"meeting_pending?:Bool-instance-method","name":"meeting_pending?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L84"},"def":{"name":"meeting_pending?","return_type":"Bool","visibility":"Public","body":"@meeting_pending"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L69"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L99"},"def":{"name":"on_update","visibility":"Public","body":"@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n@decline_message = setting?(String, :decline_message)\n@ignore_longer_than = (setting?(Int32, :ignore_longer_than)).try(&.minutes)\n@prompt_after = ((setting?(Int32, :prompt_after)) || 10).minutes\n@present_from = ((setting?(Int32, :present_from)) || 5).minutes\n@auto_cancel = (setting?(Bool, :auto_cancel)) || false\n@check_in_url = (setting?(String, :check_in_url)) || \"\"\n@no_show_url = (setting?(String, :no_show_url)) || \"\"\nif @check_in_url.presence\n @domain = (URI.parse(@check_in_url)).host.not_nil!\nend\nsubscriptions.clear\nbookings.subscribe(:current_booking) do |_sub, pending|\n event = ::Union(PlaceCalendar::Event, ::Nil).from_json(pending)\n update_current(event)\nend\nbookings.subscribe(:current_pending) do |_sub, pending|\n update_pending(pending == \"true\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nmonitor(\"#{config.control_system.not_nil!.id}/guest/bookings/prompted\") do |_sub, response|\n checkin_or_end_meeting(**NamedTuple(id: String, check_in: Bool).from_json(response))\nend\ntimezone = (setting?(String, :time_zone)) || config.control_system.not_nil!.timezone.presence\nif timezone\n @timezone = Time::Location.load(timezone)\nend\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L85"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}}]},{"html_id":"drivers/Place/BookingNotifier","path":"Place/BookingNotifier.html","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"calendar-instance-method","name":"calendar","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L60"},"def":{"name":"calendar","visibility":"Public","body":"system[:Calendar]"}},{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_notifier.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L301"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg2|\n _event = __arg2[0]\n entered = __arg2[1]\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @notify_lookup.each do |building_zone, details|\n building_name = details.name\n email = details.email\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, building_name, building_key, email, details.notify_booking_owner, details.notify_manager, attachments, months_from_now)\n end\nend\n"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L444"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_notifier.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L249"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @notify_lookup[zone_id]?\n if details\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details, attachments}\n end\nend\n{nil, nil, nil}\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_notifier.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L425"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (calendar.get_user_manager(staff_email)).get\n (manager[\"email\"]? || manager[\"username\"]).as_s\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n nil\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L56"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L64"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L106"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\n@notify_lookup = setting(Hash(String, SiteDetails), :notify)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\n@poll_bookings = setting(Bool, :poll_bookings)\n@poll_every_minutes = setting(Int32, :poll_every_minutes)\nschedule.clear\nif @poll_bookings\n schedule.every(@poll_every_minutes.minutes) do\n check_bookings\n end\nend\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L433"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/BookingNotifier/SiteDetails","path":"Place/BookingNotifier/SiteDetails.html","kind":"class","full_name":"Place::BookingNotifier::SiteDetails","name":"SiteDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/BookingNotifier","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_notifier.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Hash(String,String)-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L93"},"def":{"name":"attachments","return_type":"Hash(String, String)","visibility":"Public","body":"if (value = @attachments).nil?\n @attachments = ({} of String => String)\nelse\n value\nend"}},{"html_id":"email:Array(String)-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L92"},"def":{"name":"email","return_type":"Array(String)","visibility":"Public","body":"if (value = @email).nil?\n @email = ([] of String)\nelse\n value\nend"}},{"html_id":"include_network_credentials:Bool|Nil-instance-method","name":"include_network_credentials","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L96"},"def":{"name":"include_network_credentials","return_type":"Bool | ::Nil","visibility":"Public","body":"@include_network_credentials"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L91"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"network_group_ids:Array(String)-instance-method","name":"network_group_ids","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L103"},"def":{"name":"network_group_ids","return_type":"Array(String)","visibility":"Public","body":"if (value = @network_group_ids).nil?\n @network_group_ids = ([] of String)\nelse\n value\nend"}},{"html_id":"network_password_exclude:String|Nil-instance-method","name":"network_password_exclude","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L98"},"def":{"name":"network_password_exclude","return_type":"String | ::Nil","visibility":"Public","body":"@network_password_exclude"}},{"html_id":"network_password_length:Int32|Nil-instance-method","name":"network_password_length","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L97"},"def":{"name":"network_password_length","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_length"}},{"html_id":"network_password_minimum_lowercase:Int32|Nil-instance-method","name":"network_password_minimum_lowercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L99"},"def":{"name":"network_password_minimum_lowercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_lowercase"}},{"html_id":"network_password_minimum_numbers:Int32|Nil-instance-method","name":"network_password_minimum_numbers","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L101"},"def":{"name":"network_password_minimum_numbers","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_numbers"}},{"html_id":"network_password_minimum_symbols:Int32|Nil-instance-method","name":"network_password_minimum_symbols","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L102"},"def":{"name":"network_password_minimum_symbols","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_symbols"}},{"html_id":"network_password_minimum_uppercase:Int32|Nil-instance-method","name":"network_password_minimum_uppercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L100"},"def":{"name":"network_password_minimum_uppercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_uppercase"}},{"html_id":"notify_booking_owner:Bool|Nil-instance-method","name":"notify_booking_owner","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L95"},"def":{"name":"notify_booking_owner","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_booking_owner"}},{"html_id":"notify_manager:Bool|Nil-instance-method","name":"notify_manager","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L94"},"def":{"name":"notify_manager","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_manager"}}]}]},{"html_id":"drivers/Place/Bookings","path":"Place/Bookings.html","kind":"class","full_name":"Place::Bookings","name":"Bookings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUBSCRIPTION_LENGTH","name":"SUBSCRIPTION_LENGTH","value":"3.hours","doc":"the API reports that 6 days is the max:\nSubscription expiration can only be 10070 minutes in the future.","summary":"

the API reports that 6 days is the max: Subscription expiration can only be 10070 minutes in the future.

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"book_now(period_in_seconds:Int64,title:String|Nil=nil,owner:String|Nil=nil)-instance-method","name":"book_now","abstract":false,"args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"args_string":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","args_html":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L211"},"def":{"name":"book_now","args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"visibility":"Public","body":"title || (title = @default_title)\nstarting = Time.utc.to_unix\nending = starting + period_in_seconds\nif @next_pending || (status?(Bool, \"in_use\"))\n raise(\"the room is currently in use\")\nend\nif next_booking = upcoming\n if next_booking.event_start.to_unix < ending\n raise(\"unable to book due to clash\")\n end\nend\nlogger.debug do\n \"booking event #{title}, from #{starting}, to #{ending}, in #{@time_zone.name}, on #{@calendar_id}\"\nend\nroom_email = system.email.not_nil!\nif @application_permissions\n host_calendar = @calendar_id\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, true)]\n if owner && (!owner.empty?)\n attendees << (PlaceCalendar::Event::Attendee.new(owner, owner))\n end\nelse\n host_calendar = owner.presence || @calendar_id\n room_is_organizer = host_calendar == room_email\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, room_is_organizer)]\nend\nevent = calendar.create_event(title: title, event_start: starting, event_end: ending, description: \"\", attendees: attendees, location: status?(String, \"room_name\"), timezone: @time_zone.name, calendar_id: host_calendar)\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(2.seconds) do\n poll_events\n end\nend\nevent\n"}},{"html_id":"calendar_id:String-instance-method","name":"calendar_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L58"},"def":{"name":"calendar_id","return_type":"String","visibility":"Public","body":"@calendar_id"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/bookings.cr","line_number":474,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L474"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nsys_email = @calendar_id.downcase\nif (sys_email == mac_address.downcase) && (host = current.try(&.host))\n {location: \"meeting\", assigned_to: host, mac_address: sys_email}\nend\n"}},{"html_id":"checkin-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L184"},"def":{"name":"checkin","visibility":"Public","body":"if booking = pending\n start_meeting(booking.event_start.to_unix)\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L486"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\n[] of Nil\n"}},{"html_id":"end_meeting(meeting_start_time:Int64,notify:Bool=false,comment:String|Nil=nil):Nil-instance-method","name":"end_meeting","doc":"End either the current meeting early, or the pending meeting","summary":"

End either the current meeting early, or the pending meeting

","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","args_html":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","location":{"filename":"src/place/bookings.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L191"},"def":{"name":"end_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"cmeeting = current\nresult = if cmeeting && (cmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"deleting event #{cmeeting.title}, from #{@calendar_id}\"\n end\n calendar.delete_event(@calendar_id, cmeeting.id)\nelse\n nmeeting = upcoming\n if nmeeting && (nmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"declining event #{nmeeting.title}, from #{@calendar_id}\"\n end\n calendar.decline_event(@calendar_id, nmeeting.id, notify: notify, comment: comment)\n else\n raise(\"only the current or pending meeting can be cancelled\")\n end\nend\nresult.get\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(1.seconds) do\n poll_events\n end\nend\n"}},{"html_id":"is_stale?(timestamp:Int64|Nil):Bool-instance-method","name":"is_stale?","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"args_string":"(timestamp : Int64 | Nil) : Bool","args_html":"(timestamp : Int64 | Nil) : Bool","location":{"filename":"src/place/bookings.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L567"},"def":{"name":"is_stale?","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"if timestamp.nil?\n return self[:sensor_stale] = false\nend\nsensor_time = Time.unix(timestamp)\nstale_time = @sensor_stale_minutes.ago\nif sensor_time > stale_time\n self[:sensor_stale] = false\nelse\n @perform_sensor_search = true\n self[:sensor_stale] = true\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":445,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L445"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nemail = email.to_s.downcase\nusername = username.to_s.downcase\nmatching_events = [] of PlaceCalendar::Event\nif event = current\n emails = event.attendees.map() do |__arg1|\n __arg1.email.downcase\n end\n if host = event.host\n emails << host.downcase\n end\n if (emails.includes?(email)) || (emails.includes?(username))\n logger.debug do\n \"found user {#{email}, #{username}} in list of attendees\"\n end\n matching_events << event\n else\n if (!username.empty?) && emails.find(&.starts_with?(username))\n logger.debug do\n \"found email starting with username '#{username}' in list of attendees\"\n end\n matching_events << event\n end\n end\nend\nto_location_format(matching_events)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/bookings.cr","line_number":470,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L470"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(locate_user(email, username)).map(&.[](:mac))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L84"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@calendar_id = ((setting?(String, :calendar_id)).presence || system.email.not_nil!).downcase\n@perform_sensor_search = true\nschedule.in((Random.rand(30)).seconds + (Random.rand(30000)).milliseconds) do\n poll_events\nend\ncache_polling_period = ((setting?(UInt32, :cache_polling_period)) || 2_u32).minutes.total_milliseconds.to_i\ncache_polling_period = cache_polling_period + (Random.rand(5000))\ncache_random_period = cache_polling_period // 3\nschedule.every(cache_polling_period.milliseconds) do\n schedule.in((Random.rand(cache_random_period)).milliseconds) do\n poll_events\n end\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@default_title = (setting?(String, :book_now_default_title)).presence || \"Ad Hoc booking\"\nbook_now = setting?(Bool, :disable_book_now)\nnot_bookable = (setting?(Bool, :not_bookable)) || false\nself[:bookable] = bookable = not_bookable ? false : system.bookable\n@disable_book_now = book_now.nil? ? !bookable : !(!book_now)\n@disable_end_meeting = !(!(setting?(Bool, :disable_end_meeting)))\n@disable_book_now_host = (setting?(Bool, :disable_book_now_host)) || false\npending_period = (setting?(UInt32, :pending_period)) || 5_u32\n@pending_period = pending_period.minutes\npending_before = (setting?(UInt32, :pending_before)) || 5_u32\n@pending_before = pending_before.minutes\ncache_days = (setting?(UInt32, :cache_days)) || 30_u32\n@cache_days = cache_days.days\n@change_event_sync_delay = (setting?(UInt32, :change_event_sync_delay)) || 5_u32\n@last_booking_started = (setting?(Int64, :last_booking_started)) || 0_i64\n@include_cancelled_bookings = (setting?(Bool, :include_cancelled_bookings)) || false\n@application_permissions = (setting?(Bool, :application_permissions)) || false\n@sensor_stale_minutes = ((setting?(Int32, :sensor_stale_minutes)) || 8).minutes\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nschedule.cron(\"* * * * *\") do\n schedule.in((rand(1000)).milliseconds) do\n if list = self[:bookings]?\n check_current_booking(list.as_a)\n end\n end\nend\npush_notificaitons_configure\nself[:room_name] = ((setting?(String, :room_name)).presence || config.control_system.not_nil!.display_name.presence) || config.control_system.not_nil!.name\nself[:room_capacity] = (setting?(Int32, :room_capacity)) || config.control_system.not_nil!.capacity\nself[:default_title] = @default_title\nself[:disable_book_now_host] = @disable_book_now_host\nself[:disable_book_now] = @disable_book_now\nself[:disable_end_meeting] = @disable_end_meeting\nself[:pending_period] = pending_period\nself[:pending_before] = pending_before\nself[:control_ui] = setting?(String, :control_ui)\nself[:catering_ui] = setting?(String, :catering_ui)\nself[:room_image] = setting?(String, :room_image)\nself[:hide_meeting_details] = (setting?(Bool, :hide_meeting_details)) || false\nself[:hide_meeting_title] = (setting?(Bool, :hide_meeting_title)) || false\nself[:offline_color] = setting?(String, :offline_color)\nself[:offline_image] = setting?(String, :offline_image)\nself[:custom_qr_color] = setting?(String, :custom_qr_color)\nself[:custom_qr_url] = setting?(String, :custom_qr_url)\nself[:show_qr_code] = !((setting?(Bool, :hide_qr_code)) || false)\nself[:sensor_mac] = @sensor_mac = setting?(String, :sensor_mac)\nself[:min_duration] = (setting?(Int32, :min_duration)) || 15\nself[:max_duration] = (setting?(Int32, :max_duration)) || 480\nself[:enable_end_meeting_button] = (setting?(Bool, :enable_end_meeting_button)) || false\n"}},{"html_id":"poll_events:Nil-instance-method","name":"poll_events","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L257"},"def":{"name":"poll_events","return_type":"Nil","visibility":"Public","body":"begin\n if @polling\n return\n end\n @polling = true\n if @perform_sensor_search\n check_for_sensors\n end\n now = Time.local(@time_zone)\n start_of_day = now.at_beginning_of_day.to_unix\n cache_period = start_of_day + @cache_days.to_i\n logger.debug do\n \"polling events #{@calendar_id}, from #{start_of_day}, to #{cache_period}, in #{@time_zone.name}\"\n end\n events = (calendar.list_events(@calendar_id, start_of_day, cache_period, @time_zone.name, include_cancelled: @include_cancelled_bookings)).get.as_a.sort do |a, b|\n a[\"event_start\"].as_i64 <=> b[\"event_start\"].as_i64\n end\n self[:bookings] = events\n check_current_booking(events)\n events\nensure\n @polling = false\nend"}},{"html_id":"start_meeting(meeting_start_time:Int64):Nil-instance-method","name":"start_meeting","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"args_string":"(meeting_start_time : Int64) : Nil","args_html":"(meeting_start_time : Int64) : Nil","location":{"filename":"src/place/bookings.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L176"},"def":{"name":"start_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"starting meeting #{meeting_start_time}\"\nend\n@last_booking_started = meeting_start_time\ndefine_setting(:last_booking_started, meeting_start_time)\nself[:last_booking_started] = meeting_start_time\ncheck_current_booking(self[:bookings].as_a)\n"}},{"html_id":"sub_renewed_at:Time-instance-method","name":"sub_renewed_at","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":671,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L671"},"def":{"name":"sub_renewed_at","return_type":"Time","visibility":"Public","body":"@sub_renewed_at"}}],"types":[{"html_id":"drivers/Place/Bookings/NotifyEvent","path":"Place/Bookings/NotifyEvent.html","kind":"struct","full_name":"Place::Bookings::NotifyEvent","name":"NotifyEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L600"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L601"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_secret:String-instance-method","name":"client_secret","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L607"},"def":{"name":"client_secret","return_type":"String","visibility":"Public","body":"@client_secret"}},{"html_id":"event_type:NotifyType-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":603,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L603"},"def":{"name":"event_type","return_type":"NotifyType","visibility":"Public","body":"@event_type"}},{"html_id":"expiration_time:Time-instance-method","name":"expiration_time","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":610,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L610"},"def":{"name":"expiration_time","return_type":"Time","visibility":"Public","body":"@expiration_time"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L604"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_uri:String-instance-method","name":"resource_uri","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L605"},"def":{"name":"resource_uri","return_type":"String","visibility":"Public","body":"@resource_uri"}},{"html_id":"subscription_id:String-instance-method","name":"subscription_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L606"},"def":{"name":"subscription_id","return_type":"String","visibility":"Public","body":"@subscription_id"}}]},{"html_id":"drivers/Place/Bookings/NotifyType","path":"Place/Bookings/NotifyType.html","kind":"enum","full_name":"Place::Bookings::NotifyType","name":"NotifyType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L588"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Created","name":"Created","value":"0","doc":"resource event changes","summary":"

resource event changes

"},{"id":"Updated","name":"Updated","value":"1"},{"id":"Deleted","name":"Deleted","value":"2"},{"id":"Renew","name":"Renew","value":"3","doc":"subscription lifecycle event (MS only)","summary":"

subscription lifecycle event (MS only)

"},{"id":"Missed","name":"Missed","value":"4"},{"id":"Reauthorize","name":"Reauthorize","value":"5"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"created?-instance-method","name":"created?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":590,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L590"},"def":{"name":"created?","visibility":"Public","body":"self == Created"}},{"html_id":"deleted?-instance-method","name":"deleted?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L592"},"def":{"name":"deleted?","visibility":"Public","body":"self == Deleted"}},{"html_id":"missed?-instance-method","name":"missed?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L596"},"def":{"name":"missed?","visibility":"Public","body":"self == Missed"}},{"html_id":"reauthorize?-instance-method","name":"reauthorize?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":597,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L597"},"def":{"name":"reauthorize?","visibility":"Public","body":"self == Reauthorize"}},{"html_id":"renew?-instance-method","name":"renew?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":595,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L595"},"def":{"name":"renew?","visibility":"Public","body":"self == Renew"}},{"html_id":"updated?-instance-method","name":"updated?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L591"},"def":{"name":"updated?","visibility":"Public","body":"self == Updated"}}]},{"html_id":"drivers/Place/Bookings/ServiceName","path":"Place/Bookings/ServiceName.html","kind":"enum","full_name":"Place::Bookings::ServiceName","name":"ServiceName","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L583"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Google","name":"Google","value":"0"},{"id":"Office365","name":"Office365","value":"1"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"google?-instance-method","name":"google?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L584"},"def":{"name":"google?","visibility":"Public","body":"self == Google"}},{"html_id":"office365?-instance-method","name":"office365?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L585"},"def":{"name":"office365?","visibility":"Public","body":"self == Office365"}}]}]},{"html_id":"drivers/Place/Calendar","path":"Place/Calendar.html","kind":"class","full_name":"Place::Calendar","name":"Calendar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/CalendarCommon","path":"Place/CalendarCommon.html","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon","abstract":false,"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"locations":[{"filename":"src/place/calendar_common.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"including_types":[{"html_id":"drivers/Microsoft/GraphAPI","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI"},{"html_id":"drivers/Place/Calendar","kind":"class","full_name":"Place::Calendar","name":"Calendar"},{"html_id":"drivers/Place/WorkspaceAPI","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L290"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"accepting event #{event_id} on #{calendar_id}\"\nend\nclient(&.accept_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"access_token(user_id:String|Nil=nil)-instance-method","name":"access_token","abstract":false,"args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String | Nil = nil)","args_html":"(user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L164"},"def":{"name":"access_token","args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.info do\n \"access token requested #{user_id}\"\nend\nclient(&.access_token(user_id))\n"}},{"html_id":"calendar_service_name-instance-method","name":"calendar_service_name","doc":"returns: google or office365","summary":"

returns: google or office365

","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L356"},"def":{"name":"calendar_service_name","visibility":"Public","body":"@client.not_nil!.client_id"}},{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L299"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nclient(&.create_event(user_id, event, calendar_id))\n"}},{"html_id":"create_notifier(resource:String,notification_url:String,expiration_time:Int64,client_secret:String|Nil=nil,lifecycle_notification_url:String|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"create_notifier","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"args_string":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","args_html":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L361"},"def":{"name":"create_notifier","args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(expiration_time)\nclient(&.create_notifier(resource, notification_url, expires, client_secret, lifecycle_notification_url: lifecycle_notification_url))\n"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L272"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"declining event #{event_id} on #{calendar_id}\"\nend\nclient(&.decline_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L281"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nclient(&.delete_event(user_id, event_id, calendar_id: calendar_id, notify: notify))\n"}},{"html_id":"delete_notifier(subscription:PlaceCalendar::Subscription):Nil-instance-method","name":"delete_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"args_string":"(subscription : PlaceCalendar::Subscription) : Nil","args_html":"(subscription : PlaceCalendar::Subscription) : Nil","location":{"filename":"src/place/calendar_common.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L380"},"def":{"name":"delete_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"return_type":"Nil","visibility":"Public","body":"client(&.delete_notifier(subscription))"}},{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/calendar_common.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L123"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/calendar_common.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L119"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"get_event(calendar_id:String,event_id:String,user_id:String|Nil=nil)-instance-method","name":"get_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L265"},"def":{"name":"get_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"fetching event #{event_id} on #{calendar_id}\"\nend\nuser_id = (user_id || @service_account.presence) || calendar_id\nclient(&.get_event(user_id, id: event_id, calendar_id: calendar_id))\n"}},{"html_id":"get_group(group_id:String)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L223"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_group(group_id)).to_place_group\n end\nend\n"}},{"html_id":"get_groups(user_id:String)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L170"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nclient(&.get_groups(user_id))\n"}},{"html_id":"get_members(group_id:String)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L176"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nclient(&.get_members(group_id))\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L188"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nclient(&.get_user_by_email(user_id))\n"}},{"html_id":"get_user_manager(user_id:String)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L201"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_user_manager(user_id)).to_place_calendar\n end\nend\n"}},{"html_id":"in_flight_size-instance-method","name":"in_flight_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L115"},"def":{"name":"in_flight_size","visibility":"Public","body":"@flight_size"}},{"html_id":"list_calendars(user_id:String)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L194"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nclient(&.list_calendars(user_id))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,ical_uid:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L233"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"location = time_zone ? Time::Location.load(time_zone) : Time::Location.local\nperiod_start = (Time.unix(period_start)).in(location)\nperiod_end = (Time.unix(period_end)).in(location)\nuser_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"listing events for #{calendar_id}\"\nend\n_client = @client.not_nil!\nevents = if _client.client_id == (:google)\n (_client.calendar.as(PlaceCalendar::Google)).list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid, quotaUser: calendar_id[0..39])\nelse\n _client.list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid)\nend\nif ical_uid\n events = events.select do |e|\n e.ical_uid == ical_uid\n end\nend\nevents\n"}},{"html_id":"list_groups(query:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil)","args_html":"(query : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L212"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.list_groups(query)).value.map(&.to_place_group)\n end\nend\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L182"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nclient(&.list_users(query, limit))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L40"},"def":{"name":"on_unload","visibility":"Public","body":"@in_flight.close\n@channel.close\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L49"},"def":{"name":"on_update","visibility":"Public","body":"if proxy_config = setting?(NamedTuple(host: String, port: Int32, auth: NamedTuple(username: String, password: String) | ::Nil), :proxy)\n ConnectProxy.proxy_uri = \"http://#{proxy_config[:host]}:#{proxy_config[:port]}\"\n if proxy_auth = proxy_config[:auth]\n ConnectProxy.username = proxy_auth[:username]\n ConnectProxy.password = proxy_auth[:password]\n end\nend\nConnectProxy.verify_tls = !(!(setting?(Bool, :proxy_verify_tls)))\nConnectProxy.disable_crl_checks = !(!(setting?(Bool, :proxy_disable_crl)))\n@service_account = (setting?(String, :calendar_service_account)).presence\n@rate_limit = (setting?(Int32, :rate_limit)) || 10\n@wait_time = 1.second / @rate_limit\n@mailer_from = (setting?(String, :mailer_from)).presence || @service_account\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n@in_flight.close\n@channel.close\n@client = begin\n config = setting(GoogleParams, :calendar_config)\n cli = PlaceCalendar::Client.new(**config)\n @channel = Channel(Nil).new(9)\n @in_flight = Channel(Nil).new(10)\n spawn do\n rate_limiter\n end\n cli\nrescue\n config = setting(OfficeParams, :calendar_config)\n PlaceCalendar::Client.new(**config)\nend\n"}},{"html_id":"queue_size-instance-method","name":"queue_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L111"},"def":{"name":"queue_size","visibility":"Public","body":"@queue_size"}},{"html_id":"reauthorize_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"reauthorize_notifier","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L374"},"def":{"name":"reauthorize_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = new_expiration_time ? Time.unix(new_expiration_time) : nil\nclient(&.reauthorize_notifier(subscription, expires))\n"}},{"html_id":"renew_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64):PlaceCalendar::Subscription-instance-method","name":"renew_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L367"},"def":{"name":"renew_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(new_expiration_time)\nclient(&.renew_notifier(subscription, expires))\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L128"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"sender = case from\nin String\n from\nin Array(String)\n from.first? || @mailer_from.not_nil!\nin Nil\n @mailer_from.not_nil!\nend\nlogger.debug do\n \"an email was sent from: #{sender}, to: #{to}\"\nend\nclient do |__arg0|\n __arg0.calendar.send_mail(sender, to, subject, message_plaintext, message_html, resource_attachments, attachments, cc, bcc)\nend\n"}},{"html_id":"update_event(event:PlaceCalendar::Event,user_id:String|Nil=nil,calendar_id:String|Nil=nil)-instance-method","name":"update_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"args_string":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","args_html":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L346"},"def":{"name":"update_event","args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"updating event #{event.id} on #{event.host}\"\nend\nclient(&.update_event(user_id: user_id, event: event, calendar_id: calendar_id))\n"}}],"types":[{"html_id":"drivers/Place/CalendarCommon/GoogleParams","path":"Place/CalendarCommon/GoogleParams.html","kind":"alias","full_name":"Place::CalendarCommon::GoogleParams","name":"GoogleParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String)","aliased_html":"{scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}},{"html_id":"drivers/Place/CalendarCommon/OfficeParams","path":"Place/CalendarCommon/OfficeParams.html","kind":"alias","full_name":"Place::CalendarCommon::OfficeParams","name":"OfficeParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(tenant: String, client_id: String, client_secret: String, conference_type: String | Nil)","aliased_html":"{tenant: String, client_id: String, client_secret: String, conference_type: String?}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}}]},{"html_id":"drivers/Place/CalendarDelegated","path":"Place/CalendarDelegated.html","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L211"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nprocess((client(act_as_user)).post(\"/api/staff/v1/events\", body: event.to_json, headers: act_as(act_as_user)))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L178"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nif notify\n begin\n process((client(act_as_user)).post(\"/api/staff/v1/events/#{event_id}/decline\", params: params, headers: act_as(act_as_user)))\n rescue\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\n end\nelse\n params[\"notify\"] = \"false\"\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\nend\n"}},{"html_id":"get_group(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L129"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_groups(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L82"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/groups\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_members(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L88"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}/members\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L101"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user_manager(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L114"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/manager\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_calendars(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L107"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/calendars\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L149"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing events for #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nparams[\"period_start\"] = period_start.to_s\nparams[\"period_end\"] = period_end.to_s\nif include_cancelled\n params[\"include_cancelled\"] = \"true\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/events\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_groups(query:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L121"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L94"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/people\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L53"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L57"},"def":{"name":"on_update","visibility":"Public","body":"rate_limit = (setting?(Float64, :rate_limit)) || 3.0\n@limiter = RateLimiter.new(rate: rate_limit, max_burst: rate_limit.to_i)\n@api_key = api_key = setting(String, :api_key)\ntransport.before_request do |request|\n if request.headers[\"Authorization\"]?\n else\n request.headers[\"X-API-Key\"] = api_key\n end\nend\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n"}}],"types":[{"html_id":"drivers/Place/CalendarDelegated/User","path":"Place/CalendarDelegated/User.html","kind":"struct","full_name":"Place::CalendarDelegated::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":255,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L255"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/CalendarDelegated","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/calendar_delegated.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L256"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L259"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L260"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L258"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Chat","path":"Place/Chat.html","kind":"module","full_name":"Place::Chat","name":"Chat","abstract":false,"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L4"},{"filename":"src/place/chat/health_rooms_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Chat/ConferenceDetails","path":"Place/Chat/ConferenceDetails.html","kind":"struct","full_name":"Place::Chat::ConferenceDetails","name":"ConferenceDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(place_id:String,space_id:String,host_pin:String,guest_pin:String)-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"args_string":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","args_html":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L16"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, space_id, host_pin, guest_pin)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L14"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"guest_pin:String-instance-method","name":"guest_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L11"},"def":{"name":"guest_pin","return_type":"String","visibility":"Public","body":"@guest_pin"}},{"html_id":"host_pin:String-instance-method","name":"host_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L10"},"def":{"name":"host_pin","return_type":"String","visibility":"Public","body":"@host_pin"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L8"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L9"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}}]},{"html_id":"drivers/Place/Chat/HealthRooms","path":"Place/Chat/HealthRooms.html","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EXAMPLE_SMS_TEMPLATE","name":"EXAMPLE_SMS_TEMPLATE","value":"\"patient %{patient_name} is waiting in %{room_name} for an appointment at %{appointment_time}\""}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"instance_methods":[{"html_id":"guest_mark_as_contacted(rtc_user_id:String,session_id:String,contacted:Bool=true):Bool-instance-method","name":"guest_mark_as_contacted","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"args_string":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","args_html":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L808"},"def":{"name":"guest_mark_as_contacted","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"return_type":"Bool","visibility":"Public","body":"found = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n if participant = meeting.participants[rtc_user_id]?\n found = true\n participant.contacted = contacted\n end\n end\nend\nlogger.debug do\n \"[meet] marking guest #{rtc_user_id} as contacted: #{contacted} in session #{session_id}\"\nend\nif found\n update_meeting_state(session_id)\nend\nfound\n"}},{"html_id":"guest_move_session(rtc_user_id:String,session_id:String,new_session_id:String):Bool-instance-method","name":"guest_move_session","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","args_html":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L823"},"def":{"name":"guest_move_session","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"system_id = nil\nnew_meeting = nil\nif @recent_lock.synchronize do\n @recently_disconnected[rtc_user_id]?\nend\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as disconnected\"\n end\n raise(\"can't move disconnected users, please wait for reconnection or kick\")\nend\n@meeting_mutex.synchronize do\n if (meeting = @meetings[session_id]?) && (new_meeting = @meetings[new_session_id]?)\n if participant = meeting.remove(rtc_user_id)\n system_id = meeting.system_id\n new_meeting.add(participant)\n if meeting.empty?\n @meetings.delete(session_id)\n @room_mutex.synchronize do\n @rooms[system_id].try(&.delete(session_id))\n end\n end\n end\n end\nend\nif system_id && new_meeting\n logger.debug do\n \"[meet] moving user #{rtc_user_id} into #{new_session_id} from #{session_id}\"\n end\n update_meeting_state(session_id, system_id)\n update_meeting_state(new_session_id)\n conference = new_meeting.conference\n staff_api.transfer_user(rtc_user_id, new_session_id, {space_id: conference.space_id, guest_pin: conference.guest_pin})\nelse\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as could not find session\"\n end\nend\n!(!system_id)\n"}},{"html_id":"meeting_end(session_id:String)-instance-method","name":"meeting_end","doc":"removes the meeting from the list and kicks anyone left in the meeting","summary":"

removes the meeting from the list and kicks anyone left in the meeting

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L778"},"def":{"name":"meeting_end","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nsystem_id = nil\nmeeting = nil\nlogger.debug do\n \"[meet] ending meeting #{session_id} ended by #{placeos_user_id}\"\nend\n@meeting_mutex.synchronize do\n meeting = @meetings.delete(session_id)\n if meeting\n else\n raise(\"meeting not found\")\n end\n system_id = meeting.system_id\n @room_mutex.synchronize do\n if sessions = @rooms[system_id]?\n sessions.delete(session_id)\n if sessions.empty?\n @rooms.delete(system_id)\n end\n end\n end\nend\nmeeting.not_nil!.participants.keys.each do |rtc_user_id|\n staff_api.kick_user(rtc_user_id, session_id, \"meeting ended\")\nend\nupdate_meeting_state(session_id, system_id.as(String))\n"}},{"html_id":"meeting_join(rtc_user_id:String,session_id:String,type:String|Nil=nil,system_id:String|Nil=nil,text_chat_only:Bool|Nil=nil):ConferenceDetails-instance-method","name":"meeting_join","doc":"this is how staff members create a meeting room\nor join an existing meeting","summary":"

this is how staff members create a meeting room or join an existing meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","args_html":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","location":{"filename":"src/place/chat/health_rooms.cr","line_number":653,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L653"},"def":{"name":"meeting_join","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"return_type":"ConferenceDetails","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nuser_details = (staff_api.user(placeos_user_id)).get\nuser_name = user_details[\"name\"].as_s\nparticipant = Participant.new(user_id: rtc_user_id, name: user_name, email: user_details[\"email\"].as_s, type: type, staff_user_id: placeos_user_id, text_chat_only: text_chat_only)\n@recent_lock.synchronize do\n @recently_disconnected.delete(rtc_user_id)\nend\nmeeting = nil\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n system_id = meeting.system_id\n end\nend\nif system_id\nelse\n raise(\"must provide a system id if there is not an existing session\")\nend\nsystem_id = system_id.as(String)\ntimezone = meeting.try(&.timezone) || (timezone_system(system_id))\nlogger.debug do\n if meeting\n \"[meet] joining existing meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n else\n \"[meet] creating new meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n end\nend\nif meeting\nelse\n conference = pool_checkout_conference\nend\n@meeting_mutex.synchronize do\n meeting = if meet = @meetings[session_id]?\n system_id = meet.system_id\n meet.add(participant)\n meet\n else\n conference = conference || pool_checkout_conference\n meet = Meeting.new(system_id.as(String), session_id, conference, participant)\n meet.timezone = timezone\n meet\n end\n @meetings[session_id] = meeting\n conference = meeting.conference\n @room_mutex.synchronize do\n sessions = @rooms[system_id]? || ([] of SessionId)\n if sessions.includes?(session_id)\n else\n sessions << session_id\n end\n @rooms[system_id] = sessions\n end\nend\nupdate_meeting_state(session_id, system_id.as(String))\nconference.as(ConferenceDetails)\n"}},{"html_id":"meeting_kick(rtc_user_id:String,session_id:String)-instance-method","name":"meeting_kick","doc":"kicks an individual from a meeting","summary":"

kicks an individual from a meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String)","args_html":"(rtc_user_id : String, session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L766"},"def":{"name":"meeting_kick","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.warn do\n \"[meet] kicking user #{rtc_user_id} from session #{session_id}, kicked by: #{placeos_user_id}\"\nend\nstaff_api.kick_user(rtc_user_id, session_id, \"kicked by host\")\nuser_exited(rtc_user_id)\n"}},{"html_id":"meeting_leave(rtc_user_id:String,session_id:String):Nil-instance-method","name":"meeting_leave","doc":"the user is planning of leaving the meeting or has left","summary":"

the user is planning of leaving the meeting or has left

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String) : Nil","args_html":"(rtc_user_id : String, session_id : String) : Nil","location":{"filename":"src/place/chat/health_rooms.cr","line_number":758,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L758"},"def":{"name":"meeting_leave","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.debug do\n \"[meet] user leaving #{rtc_user_id} (#{placeos_user_id}) session #{session_id}\"\nend\nmeeting_remove_user(rtc_user_id, session_id, placeos_user_id)\n"}},{"html_id":"meeting_move_room(session_id:String,system_id:String):Bool-instance-method","name":"meeting_move_room","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(session_id : String, system_id : String) : Bool","args_html":"(session_id : String, system_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":615,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L615"},"def":{"name":"meeting_move_room","args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"old_system_id = nil\nmoved = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n old_system_id = meeting.system_id\n meeting.system_id = system_id\n moved = true\n @room_mutex.synchronize do\n if room_sessions = @rooms[old_system_id]?\n room_sessions.delete(session_id)\n if room_sessions.empty?\n @rooms.delete(old_system_id)\n self[old_system_id] = nil\n end\n sessions = @rooms[system_id]? || ([] of SessionId)\n sessions << session_id\n @rooms[system_id] = sessions\n end\n end\n end\nend\nlogger.debug do\n \"[meet] moving session: #{session_id} to system #{system_id} from #{old_system_id}\"\nend\nif moved\n update_meeting_state(session_id, system_id, old_system_id)\nend\nmoved\n"}},{"html_id":"meeting_state_request_save-instance-method","name":"meeting_state_request_save","doc":"use this to trigger a save","summary":"

use this to trigger a save

","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L88"},"def":{"name":"meeting_state_request_save","visibility":"Public","body":"@save_requested.send(nil)"}},{"html_id":"notify_config(system_id:String,timezone:String)-instance-method","name":"notify_config","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(system_id : String, timezone : String)","args_html":"(system_id : String, timezone : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":491,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L491"},"def":{"name":"notify_config","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"timezone = Time::Location.load(timezone)\nraw_settings = (staff_api.metadata(system_id, \"settings\")).get[\"settings\"]?.try(&.to_json)\nsettings = raw_settings ? RoomSettings.from_json(raw_settings, root: \"details\") : RoomSettings.new\ndefault_notifications = settings.notifications\nroom_users = settings.members.compact_map do |member|\n if member.available?\n else\n next\n end\n begin\n user_data = (staff_api.user(member.id)).get.as_h\n member.name = (user_data[\"nickname\"]? || user_data[\"name\"]).as_s\n member.email = user_data[\"email\"].as_s\n member.phone = user_data[\"phone\"]?.try(&.as_s)\n notify_settings = if user_settings = (staff_api.metadata(member.id, \"settings\")).get[\"settings\"]?.try(&.[]?(\"details\")).try(&.to_json)\n begin\n NotificationSettings.from_json(user_settings, root: \"notifications\")\n rescue parse_error\n logger.warn(exception: parse_error) do\n \"failed to parse user #{member.id} notification settings\"\n end\n default_notifications\n end\n else\n default_notifications\n end\n if notify_settings.enabled?\n else\n next\n end\n member.notifications = notify_settings\n member\n rescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain user #{member.id} metadata\"\n end\n nil\n end\nend\nsettings.members = room_users\nsettings.timezone = timezone\nsettings\n"}},{"html_id":"notify_inspect_meeting(session_id:String)-instance-method","name":"notify_inspect_meeting","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L481"},"def":{"name":"notify_inspect_meeting","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"meeting = @meeting_mutex.synchronize do\n @meetings[session_id]?.try(&.dup)\nend\nif meeting\nelse\n raise(\"meeting #{session_id} not found\")\nend\nsystem_info, room_settings = notify_load_notifications(meeting)\nmembers = room_settings.try do |__arg8|\n __arg8.members.map do |member|\n {member: member, notifications: member.notifications}\n end\nend\n{settings: room_settings, members: members}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n meeting_state_perform_save\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@update_mutex.synchronize do\n if @update_expected > 0\n @update_expected = @update_expected - 1\n logger.debug do\n \"[admin] updating settings...\"\n end\n return\n end\nend\nlogger.debug do\n \"[admin] updating settings...\"\nend\nis_spec = (setting?(Bool, :is_spec)) || false\ndomain = setting(String, :domain_id)\n@sms_source = setting?(String, :sms_source)\n@sms_template = (setting?(String, :sms_template)) || EXAMPLE_SMS_TEMPLATE\n@notify_no_time = (setting?(String, :notify_no_time)) || \"no time specified\"\n@pool_target_size = (setting?(Int32, :pool_size)) || 10\nsystem_id = config.control_system.not_nil!.id\n@disconnect_timeout = ((setting?(Int32, :disconnect_timeout)) || 3).minutes\n@timezone_default = nil\nschedule.clear\nschedule.every(@disconnect_timeout / 3) do\n cleanup_disconnected\nend\nschedule.every(5.minutes) do\n pool_cleanup\nend\nif is_spec\nelse\n schedule.in(1.second) do\n pool_cleanup\n end\nend\nmonitoring = \"#{domain}/chat/#{system_id}/guest/entry\"\nself[:monitoring] = monitoring\nsubscriptions.clear\nmeeting_state_restore\nmonitor(monitoring) do |_subscription, payload|\n new_guest(payload)\nend\nmonitor(\"#{domain}/chat/user/joined\") do |_subscription, payload|\n user_joined(payload)\nend\nmonitor(\"#{domain}/chat/user/exited\") do |_subscription, payload|\n logger.debug do\n \"[signal] user exited: #{payload}\"\n end\n user_id = (NamedTuple(user_id: String).from_json(payload))[:user_id]\n user_exited(user_id)\nend\nmonitor(\"#{domain}/chat/user/left\") do |_subscription, payload|\n user_left(payload)\nend\nlogger.debug do\n \"[admin] settings update success!\"\nend\n"}},{"html_id":"pool_checkout_conference:ConferenceDetails-instance-method","name":"pool_checkout_conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":939,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L939"},"def":{"name":"pool_checkout_conference","return_type":"ConferenceDetails","visibility":"Public","body":"meeting = @pool_lock.synchronize do\n if @pool_meet.size > 0\n @pool_size = @pool_size - 1\n @pool_meet.shift\n end\nend\nlogger.debug do\n \"[pool] Checking out meeting, available in pool? #{!meeting.nil?}\"\nend\nspawn do\n pool_ensure_size\nend\nmeeting || new_conference\n"}},{"html_id":"pool_clear_conferences:Nil-instance-method","name":"pool_clear_conferences","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":953,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L953"},"def":{"name":"pool_clear_conferences","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"[pool] Clearing #{@pool_size} meetings from pool\"\nend\n@pool_lock.synchronize do\n @pool_size = 0\n @pool_meet = [] of ConferenceDetails\nend\npool_ensure_size\n"}},{"html_id":"pool_ensure_size:Nil-instance-method","name":"pool_ensure_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":909,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L909"},"def":{"name":"pool_ensure_size","return_type":"Nil","visibility":"Public","body":"required = 0\n@pool_lock.synchronize do\n required = @pool_target_size - @pool_size\n @pool_size = @pool_target_size\nend\nlogger.debug do\n \"[pool] Maintaining meeting pool size, #{required} new meetings required\"\nend\nif required <= 0\n return\nend\ncreated = 0\nbegin\n required.times do\n meeting = new_conference\n @pool_lock.synchronize do\n @pool_meet << meeting\n end\n created = created + 1\n end\nrescue error\n logger.error(exception: error) do\n \"[pool] error creating pool meetings\"\n end\n if created != required\n diff = required - created\n @pool_lock.synchronize do\n @pool_size = @pool_size - diff\n end\n end\nend\n"}},{"html_id":"pool_size:Int32-instance-method","name":"pool_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L872"},"def":{"name":"pool_size","return_type":"Int32","visibility":"Public","body":"@pool_size"}},{"html_id":"pool_target_size:Int32-instance-method","name":"pool_target_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":873,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L873"},"def":{"name":"pool_target_size","return_type":"Int32","visibility":"Public","body":"@pool_target_size"}},{"html_id":"sessions_with_user(user_id:String):Array(String)-instance-method","name":"sessions_with_user","doc":"finds all the session_ids that includes the specified user_id","summary":"

finds all the session_ids that includes the specified user_id

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(String)","args_html":"(user_id : String) : Array(String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L399"},"def":{"name":"sessions_with_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"sessions = [] of String\n@meeting_mutex.synchronize do\n @meetings.each do |session_id, meeting|\n if meeting.participants.has_key?(user_id)\n sessions << session_id\n end\n end\nend\nsessions\n"}},{"html_id":"timezone_default:String-instance-method","name":"timezone_default","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L471"},"def":{"name":"timezone_default","return_type":"String","visibility":"Public","body":"if (value = @timezone_default).nil?\n @timezone_default = (system.timezone.presence || \"UTC\")\nelse\n value\nend"}},{"html_id":"timezone_system(system_id:String)-instance-method","name":"timezone_system","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":473,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L473"},"def":{"name":"timezone_system","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"begin\n (staff_api.get_system(system_id)).get[\"timezone\"]?.try() do |__arg6|\n __arg6.as_s.presence\n end || timezone_default\nrescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain timezone information for #{system_id}\"\n end\n timezone_default\nend"}}],"types":[{"html_id":"drivers/Place/Chat/HealthRooms/SessionId","path":"Place/Chat/HealthRooms/SessionId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SessionId","name":"SessionId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L602"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"session id == the webrtc session id","summary":"

session id == the webrtc session id

"},{"html_id":"drivers/Place/Chat/HealthRooms/SystemId","path":"Place/Chat/HealthRooms/SystemId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SystemId","name":"SystemId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L605"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"system id == room","summary":"

system id == room

"}]},{"html_id":"drivers/Place/Chat/Meeting","path":"Place/Chat/Meeting.html","kind":"class","full_name":"Place::Chat::Meeting","name":"Meeting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(system_id:String,session_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L139"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, session_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(system_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L128"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"add(participant:Participant):Participant-instance-method","name":"add","abstract":false,"args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(participant : Participant) : Participant","args_html":"(participant : Participant) : Participant","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L147"},"def":{"name":"add","args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"return_type":"Participant","visibility":"Public","body":"@participants[participant.user_id] = participant\n@participants[@created_by_user_id]?.try(&.contacted = true)\n@updated_at = Time.utc\nparticipant\n"}},{"html_id":"conference:ConferenceDetails-instance-method","name":"conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference","return_type":"ConferenceDetails","visibility":"Public","body":"@conference"}},{"html_id":"conference=(conference:ConferenceDetails)-instance-method","name":"conference=","abstract":false,"args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"args_string":"(conference : ConferenceDetails)","args_html":"(conference : ConferenceDetails)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference=","args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"visibility":"Public","body":"@conference = conference"}},{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L84"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"created_by_participant-instance-method","name":"created_by_participant","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L161"},"def":{"name":"created_by_participant","visibility":"Public","body":"@participants[created_by_user_id]"}},{"html_id":"created_by_user_id:String-instance-method","name":"created_by_user_id","doc":"webrtc_user_id that created the meeting","summary":"

webrtc_user_id that created the meeting

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L81"},"def":{"name":"created_by_user_id","return_type":"String","visibility":"Public","body":"@created_by_user_id"}},{"html_id":"creator_contacted?-instance-method","name":"creator_contacted?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L165"},"def":{"name":"creator_contacted?","visibility":"Public","body":"@participants[created_by_user_id]?.try(&.contacted)"}},{"html_id":"empty?:Bool-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L181"},"def":{"name":"empty?","return_type":"Bool","visibility":"Public","body":"@participants.empty?"}},{"html_id":"has_participant?(webrtc_user_id:String):Participant|Nil-instance-method","name":"has_participant?","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L169"},"def":{"name":"has_participant?","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"@participants[webrtc_user_id]?"}},{"html_id":"mark_participant_connected(webrtc_user_id:String,state:Bool):String|Nil-instance-method","name":"mark_participant_connected","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(webrtc_user_id : String, state : Bool) : String | Nil","args_html":"(webrtc_user_id : String, state : Bool) : String | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L173"},"def":{"name":"mark_participant_connected","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"return_type":"String | ::Nil","visibility":"Public","body":"if participant = has_participant?(webrtc_user_id)\n old_state = participant.connected\n participant.connected = state\n if old_state == state\n else\n return system_id\n end\nend"}},{"html_id":"notify_members_on_entry:Array(RoomMember)-instance-method","name":"notify_members_on_entry","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L110"},"def":{"name":"notify_members_on_entry","return_type":"Array(RoomMember)","visibility":"Public","body":"settings = room_settings\nif settings\nelse\n return [] of RoomMember\nend\npatient = participants[created_by_user_id]\nclinician_selected = patient.chat_to_user_id.presence\ncontact = filter_members(clinician_selected)\nif contact.empty? && clinician_selected\n contact = filter_members(nil)\nend\nif contact.empty?\n contact = settings.members\nend\ncontact\n"}},{"html_id":"participants:Hash(String,Participant)-instance-method","name":"participants","doc":"webrtc_user_id => participant","summary":"

webrtc_user_id => participant

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L75"},"def":{"name":"participants","return_type":"Hash(String, Participant)","visibility":"Public","body":"@participants"}},{"html_id":"remove(webrtc_user_id:String):Participant|Nil-instance-method","name":"remove","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L154"},"def":{"name":"remove","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"if participant = @participants.delete(webrtc_user_id)\n @updated_at = Time.utc\n participant\nend"}},{"html_id":"room_settings:RoomSettings|Nil-instance-method","name":"room_settings","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings","return_type":"RoomSettings | ::Nil","visibility":"Public","body":"@room_settings"}},{"html_id":"room_settings=(room_settings:RoomSettings|Nil)-instance-method","name":"room_settings=","abstract":false,"args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"args_string":"(room_settings : RoomSettings | Nil)","args_html":"(room_settings : RoomSettings | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings=","args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"visibility":"Public","body":"@room_settings = room_settings"}},{"html_id":"session_id:String-instance-method","name":"session_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L76"},"def":{"name":"session_id","return_type":"String","visibility":"Public","body":"@session_id"}},{"html_id":"system:PlaceOS::Driver::DriverModel::ControlSystem|Nil-instance-method","name":"system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system","return_type":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil","visibility":"Public","body":"@system"}},{"html_id":"system=(system:PlaceOS::Driver::DriverModel::ControlSystem|Nil)-instance-method","name":"system=","abstract":false,"args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"args_string":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","args_html":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system=","args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"visibility":"Public","body":"@system = system"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::Meeting#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L78"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:String|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"updated_at:Time-instance-method","name":"updated_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L87"},"def":{"name":"updated_at","return_type":"Time","visibility":"Public","body":"@updated_at"}}]},{"html_id":"drivers/Place/Chat/MeetingSummary","path":"Place/Chat/MeetingSummary.html","kind":"struct","full_name":"Place::Chat::MeetingSummary","name":"MeetingSummary","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pos_system:String,call_count:Int32,participant_count:Int32,waiting_count:Int32,longest_wait_time:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"args_string":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","args_html":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L67"},"def":{"name":"new","args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(pos_system, call_count, participant_count, waiting_count, longest_wait_time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"call_count:Int32-instance-method","name":"call_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L62"},"def":{"name":"call_count","return_type":"Int32","visibility":"Public","body":"@call_count"}},{"html_id":"longest_wait_time:Int64-instance-method","name":"longest_wait_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L65"},"def":{"name":"longest_wait_time","return_type":"Int64","visibility":"Public","body":"@longest_wait_time"}},{"html_id":"participant_count:Int32-instance-method","name":"participant_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L64"},"def":{"name":"participant_count","return_type":"Int32","visibility":"Public","body":"@participant_count"}},{"html_id":"pos_system:String-instance-method","name":"pos_system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L61"},"def":{"name":"pos_system","return_type":"String","visibility":"Public","body":"@pos_system"}},{"html_id":"waiting_count:Int32-instance-method","name":"waiting_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L63"},"def":{"name":"waiting_count","return_type":"Int32","visibility":"Public","body":"@waiting_count"}}]},{"html_id":"drivers/Place/Chat/NotificationSettings","path":"Place/Chat/NotificationSettings.html","kind":"struct","full_name":"Place::Chat::NotificationSettings","name":"NotificationSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L30"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"chosen_provider?:Bool-instance-method","name":"chosen_provider?","doc":"only alert if the user selected me","summary":"

only alert if the user selected me

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L34"},"def":{"name":"chosen_provider?","return_type":"Bool","visibility":"Public","body":"@chosen_provider"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L35"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"on_enter:NotifyEventSettings-instance-method","name":"on_enter","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L37"},"def":{"name":"on_enter","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_enter"}},{"html_id":"on_escalate:NotifyEventSettings-instance-method","name":"on_escalate","doc":"settings if the patient has been waiting for a long time","summary":"

settings if the patient has been waiting for a long time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L43"},"def":{"name":"on_escalate","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_escalate"}},{"html_id":"on_recurr:NotifyEventSettings-instance-method","name":"on_recurr","doc":"how often should it send notifications","summary":"

how often should it send notifications

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L39"},"def":{"name":"on_recurr","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_recurr"}},{"html_id":"on_waiting:NotifyEventSettings-instance-method","name":"on_waiting","doc":"do we only notify if the user has been waiting for a certain amount of time","summary":"

do we only notify if the user has been waiting for a certain amount of time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L41"},"def":{"name":"on_waiting","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_waiting"}}]},{"html_id":"drivers/Place/Chat/NotifyEventSettings","path":"Place/Chat/NotifyEventSettings.html","kind":"struct","full_name":"Place::Chat::NotifyEventSettings","name":"NotifyEventSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L15"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"browser?:Bool-instance-method","name":"browser?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L19"},"def":{"name":"browser?","return_type":"Bool","visibility":"Public","body":"@browser"}},{"html_id":"delay:Int32-instance-method","name":"delay","doc":"minutes before notification","summary":"

minutes before notification

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L24"},"def":{"name":"delay","return_type":"Int32","visibility":"Public","body":"@delay"}},{"html_id":"email?:Bool-instance-method","name":"email?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L20"},"def":{"name":"email?","return_type":"Bool","visibility":"Public","body":"@email"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L18"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"sms?:Bool-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L21"},"def":{"name":"sms?","return_type":"Bool","visibility":"Public","body":"@sms"}}]},{"html_id":"drivers/Place/Chat/OpeningHours","path":"Place/Chat/OpeningHours.html","kind":"struct","full_name":"Place::Chat::OpeningHours","name":"OpeningHours","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(opening_times:Tuple(String,String,Bool))-class-method","name":"new","abstract":false,"args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"args_string":"(opening_times : Tuple(String, String, Bool))","args_html":"(opening_times : Tuple(String, String, Bool))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L73"},"def":{"name":"new","args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(opening_times)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"closes:Time::Span-instance-method","name":"closes","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L85"},"def":{"name":"closes","return_type":"Time::Span","visibility":"Public","body":"@closes"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L86"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_open?(now:Time)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"now","external_name":"now","restriction":"Time"}],"args_string":"(now : Time)","args_html":"(now : Time)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L88"},"def":{"name":"is_open?","args":[{"name":"now","external_name":"now","restriction":"Time"}],"visibility":"Public","body":"if enabled\nelse\n return false\nend\nstart_of_day = now.at_beginning_of_day\nopening = start_of_day + opens\nif now >= opening\nelse\n return false\nend\nclosing = start_of_day + closes\nnow < closing\n"}},{"html_id":"opens:Time::Span-instance-method","name":"opens","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L84"},"def":{"name":"opens","return_type":"Time::Span","visibility":"Public","body":"@opens"}}]},{"html_id":"drivers/Place/Chat/Participant","path":"Place/Chat/Participant.html","kind":"class","full_name":"Place::Chat::Participant","name":"Participant","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(user_id:String,name:String,email:Nil|String=nil,phone:Nil|String=nil,type:Nil|String=nil,staff_user_id:Nil|String=nil,text_chat_only:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"args_string":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","args_html":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L54"},"def":{"name":"new","args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(user_id, name, email, phone, type, staff_user_id, text_chat_only)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"appointment_time:String|Nil-instance-method","name":"appointment_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L37"},"def":{"name":"appointment_time","return_type":"String | ::Nil","visibility":"Public","body":"@appointment_time"}},{"html_id":"captcha:String|Nil-instance-method","name":"captcha","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha","return_type":"String | ::Nil","visibility":"Public","body":"@captcha"}},{"html_id":"captcha=(captcha:String|Nil)-instance-method","name":"captcha=","abstract":false,"args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"args_string":"(captcha : String | Nil)","args_html":"(captcha : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha=","args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"visibility":"Public","body":"@captcha = captcha"}},{"html_id":"chat_to_user_id:String|Nil-instance-method","name":"chat_to_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@chat_to_user_id"}},{"html_id":"chat_to_user_id=(chat_to_user_id:String|Nil)-instance-method","name":"chat_to_user_id=","abstract":false,"args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"args_string":"(chat_to_user_id : String | Nil)","args_html":"(chat_to_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id=","args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@chat_to_user_id = chat_to_user_id"}},{"html_id":"connected:Bool-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected","return_type":"Bool","visibility":"Public","body":"@connected"}},{"html_id":"connected=(connected:Bool)-instance-method","name":"connected=","abstract":false,"args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool)","args_html":"(connected : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected=","args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"@connected = connected"}},{"html_id":"contacted:Bool-instance-method","name":"contacted","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted","return_type":"Bool","visibility":"Public","body":"@contacted"}},{"html_id":"contacted=(contacted:Bool)-instance-method","name":"contacted=","abstract":false,"args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"args_string":"(contacted : Bool)","args_html":"(contacted : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted=","args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"visibility":"Public","body":"@contacted = contacted"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"session_id:String|Nil-instance-method","name":"session_id","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id","return_type":"String | ::Nil","visibility":"Public","body":"@session_id"}},{"html_id":"session_id=(session_id:String|Nil)-instance-method","name":"session_id=","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"args_string":"(session_id : String | Nil)","args_html":"(session_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id=","args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@session_id = session_id"}},{"html_id":"staff_user_id:String|Nil-instance-method","name":"staff_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@staff_user_id"}},{"html_id":"staff_user_id=(staff_user_id:String|Nil)-instance-method","name":"staff_user_id=","abstract":false,"args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"args_string":"(staff_user_id : String | Nil)","args_html":"(staff_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id=","args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@staff_user_id = staff_user_id"}},{"html_id":"text_chat_only:Bool|Nil-instance-method","name":"text_chat_only","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@text_chat_only"}},{"html_id":"text_chat_only=(text_chat_only:Bool|Nil)-instance-method","name":"text_chat_only=","abstract":false,"args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(text_chat_only : Bool | Nil)","args_html":"(text_chat_only : Bool | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only=","args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@text_chat_only = text_chat_only"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"user_id:String-instance-method","name":"user_id","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Place/Chat/RoomMember","path":"Place/Chat/RoomMember.html","kind":"class","full_name":"Place::Chat::RoomMember","name":"RoomMember","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"admin?-instance-method","name":"admin?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L67"},"def":{"name":"admin?","visibility":"Public","body":"roles.includes?(\"admin\")"}},{"html_id":"available?:Bool-instance-method","name":"available?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L49"},"def":{"name":"available?","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"clinician?-instance-method","name":"clinician?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L63"},"def":{"name":"clinician?","visibility":"Public","body":"roles.includes?(\"clinician\")"}},{"html_id":"coordinator?-instance-method","name":"coordinator?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L59"},"def":{"name":"coordinator?","visibility":"Public","body":"roles.includes?(\"coordinator\")"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L51"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomMember#notifications cannot be nil\"))\nelse\n value\nend"}},{"html_id":"notifications=(notifications:NotificationSettings)-instance-method","name":"notifications=","abstract":false,"args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"args_string":"(notifications : NotificationSettings)","args_html":"(notifications : NotificationSettings)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L57"},"def":{"name":"notifications=","args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"visibility":"Public","body":"@notifications = notifications"}},{"html_id":"notifications?:NotificationSettings|Nil-instance-method","name":"notifications?","abstract":false,"def":{"name":"notifications?","return_type":"NotificationSettings | ::Nil","visibility":"Public","body":"@notifications"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"roles:Array(String)-instance-method","name":"roles","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L54"},"def":{"name":"roles","return_type":"Array(String)","visibility":"Public","body":"@roles"}}]},{"html_id":"drivers/Place/Chat/RoomSettings","path":"Place/Chat/RoomSettings.html","kind":"class","full_name":"Place::Chat::RoomSettings","name":"RoomSettings","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"doc":"Room metadata => settings key","summary":"

Room metadata => settings key

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L102"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L105"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"is_open?(timezone:Time::Location)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L132"},"def":{"name":"is_open?","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"if available\nelse\n return false\nend\nif open_24_7\n return true\nend\nnow = Time.local(timezone)\nindex = now.day_of_week.to_i - 1\n(OpeningHours.new(opening_hours[index])).is_open?(now)\n"}},{"html_id":"members:Array(RoomMember)-instance-method","name":"members","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members","return_type":"Array(RoomMember)","visibility":"Public","body":"@members"}},{"html_id":"members=(members:Array(RoomMember))-instance-method","name":"members=","abstract":false,"args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"args_string":"(members : Array(RoomMember))","args_html":"(members : Array(RoomMember))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members=","args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"visibility":"Public","body":"@members = members"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L107"},"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n @notifications = (NotificationSettings.new)\nelse\n value\nend"}},{"html_id":"open_24_7:Bool-instance-method","name":"open_24_7","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L106"},"def":{"name":"open_24_7","return_type":"Bool","visibility":"Public","body":"@open_24_7"}},{"html_id":"opening:Hash(Time::DayOfWeek,OpeningHours)-instance-method","name":"opening","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L123"},"def":{"name":"opening","return_type":"Hash(Time::DayOfWeek, OpeningHours)","visibility":"Public","body":"if (value = @opening).nil?\n @opening = (begin\n times = {} of Time::DayOfWeek => OpeningHours\n opening_hours.each_with_index do |times, index|\n index = index + 1\n times[Time::DayOfWeek.from_value(index)] = OpeningHours.new(times)\n end\n times\n end)\nelse\n value\nend"}},{"html_id":"opening_hours:Array(Tuple(String,String,Bool))-instance-method","name":"opening_hours","doc":"0 index == Monday\n open time, close time, enabled","summary":"

0 index == Monday open time, close time, enabled

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L118"},"def":{"name":"opening_hours","return_type":"Array(Tuple(String, String, Bool))","visibility":"Public","body":"if (value = @opening_hours).nil?\n @opening_hours = ([] of Tuple(String, String, Bool))\nelse\n value\nend"}},{"html_id":"timezone:Time::Location-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"Time::Location","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomSettings#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:Time::Location)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L114"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:Time::Location|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"Time::Location | ::Nil","visibility":"Public","body":"@timezone"}}]}]},{"html_id":"drivers/Place/Demo","path":"Place/Demo.html","kind":"module","full_name":"Place::Demo","name":"Demo","abstract":false,"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Demo/Display","path":"Place/Demo/Display.html","kind":"class","full_name":"Place::Demo::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/demo/display.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L50"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"self[:audio_mute] = state\nself[:volume] = state ? 0 : @volume\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/demo/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L26"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:power] = state"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L30"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[:power].as_bool"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/place/demo/display.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"self[:input] = input"}},{"html_id":"test_setting(key:String,payload:JSON::Any)-instance-method","name":"test_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(key : String, payload : JSON::Any)","args_html":"(key : String, payload : JSON::Any)","location":{"filename":"src/place/demo/display.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L44"},"def":{"name":"test_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"define_setting(key, payload)\npayload\n"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/place/demo/display.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L40"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"self[:volume] = @volume = level.to_f64"}},{"html_id":"volume?:Float64-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L38"},"def":{"name":"volume?","return_type":"Float64","visibility":"Public","body":"@volume"}}],"types":[{"html_id":"drivers/Place/Demo/Display/Input","path":"Place/Demo/Display/Input.html","kind":"enum","full_name":"Place::Demo::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Place/Demo/Display","kind":"class","full_name":"Place::Demo::Display","name":"Display"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L18"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L15"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L13"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L14"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L17"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L16"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]},{"html_id":"drivers/Place/Demo/LocationServices","path":"Place/Demo/LocationServices.html","kind":"class","full_name":"Place::Demo::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/location_services.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/demo/location_services.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L28"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"case rand(3)\nwhen 0\n [{location: \"wireless\", coordinates_from: \"bottom-left\", x: 27.113065326953013, y: 36.85052447328469, lon: 55.27498749637098, lat: 25.20090608906493, mac: \"66e0fd1279ce\", variance: 4.5194575835650745, last_seen: 1601555879, building: @building_zone, level: @level_zone, map_width: 1234.2, map_height: 123.8}]\nwhen 1\n [{location: \"meeting\", mac: \"meeting.room@resource.org.com\", event_id: \"meet-1234567\", map_id: \"map-1234\", sys_id: @system_id, ends_at: 1.hour.from_now, private: false, level: @level_zone, building: @building_zone}]\nelse\n [] of String\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@building_zone = setting(String, :building_zone)\n@level_zone = setting(String, :level_zone)\n@system_id = setting(String, :system_id)\n"}}]},{"html_id":"drivers/Place/Demo/RoomSensor","path":"Place/Demo/RoomSensor.html","kind":"class","full_name":"Place::Demo::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/room_sensor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n ::raise(NilAssertionError.new(\"Place::Demo::RoomSensor#count cannot be nil\"))\nelse\n value\nend"}},{"html_id":"count?:Int32|Nil-instance-method","name":"count?","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@capacity = (setting?(Int32, :capacity)) || 2\n@count || (@count = (setting?(Int32, :default_count)) || 0)\n@sensor_id = (setting?(String, :sensor_id)) || \"1234\"\n@timestamp = Time.utc.to_unix\nupdate_state\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/place/demo/room_sensor.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L71"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"demo-#{@sensor_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L52"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"demo-#{@sensor_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"set_sensor(new_count:Int32)-instance-method","name":"set_sensor","abstract":false,"args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"args_string":"(new_count : Int32)","args_html":"(new_count : Int32)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L34"},"def":{"name":"set_sensor","args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"visibility":"Public","body":"@timestamp = Time.utc.to_unix\n@count = new_count\nupdate_state\n"}}]},{"html_id":"drivers/Place/Demo/Switcher","path":"Place/Demo/Switcher.html","kind":"class","full_name":"Place::Demo::Switcher","name":"Switcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"inputs:Int32-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L17"},"def":{"name":"inputs","return_type":"Int32","visibility":"Public","body":"if (value = @inputs).nil?\n @inputs = (setting(Int32, :inputs))\nelse\n value\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = nil\n@outputs = nil\n"}},{"html_id":"outputs:Int32-instance-method","name":"outputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L18"},"def":{"name":"outputs","return_type":"Int32","visibility":"Public","body":"if (value = @outputs).nil?\n @outputs = (setting(Int32, :outputs))\nelse\n value\nend"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/place/demo/switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L32"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"switching #{map} on layer #{layer || SwitchLayer::All}\"\nend\nmap.each do |input, outputs|\n outputs.each do |outp|\n self[\"output#{outp}\"] = input\n end\nend\ntrue\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/place/demo/switcher.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L25"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"if input < 0 || input > inputs\n raise(\"invalid input #{input}, supported values 0 -> #{inputs}\")\nend\nlogger.debug do\n \"switching all outputs to input #{input}\"\nend\n(1..outputs).each do |outp|\n self[\"output#{outp}\"] = input\nend\ntrue\n"}}]}]},{"html_id":"drivers/Place/DeskBookingsLocations","path":"Place/DeskBookingsLocations.html","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L109"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nif user_details = @known_users[mac_address]?\n email, _name = user_details\n {location: \"booking\", assigned_to: email, mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L121"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif location && (location != \"booking\")\n return [] of Nil\nend\nbookings = [] of Booking\n@bookings.each_value(&.each do |booking|\n if zone_id.in?(booking.zones)\n else\n next\n end\n bookings << booking\nend)\nmap_bookings(bookings)\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L94"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nbookings = @bookings[email]? || ([] of Booking)\nmap_bookings(bookings)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L100"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nfound = [] of String\n@known_users.each do |user_id, __arg0|\n user_email = __arg0[0]\n _name = __arg0[1]\n if email == user_email\n found << user_id\n end\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking = Booking.from_json(payload)\n booking.user_email = booking.user_email.downcase\n booking_changed(booking)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@zone_filter = (setting?(Array(String), :zone_filter)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nmap_zones\nschedule.clear\nschedule.every(@poll_rate) do\n query_desk_bookings\nend\nschedule.in(5.seconds) do\n query_desk_bookings\nend\n"}},{"html_id":"query_desk_bookings:Nil-instance-method","name":"query_desk_bookings","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L209"},"def":{"name":"query_desk_bookings","return_type":"Nil","visibility":"Public","body":"bookings = [] of JSON::Any\n@zone_filter.each do |zone|\n bookings.concat(staff_api.query_bookings(type: @booking_type, zones: {zone}).get.as_a)\nend\nbookings = bookings.map do |booking|\n booking = Booking.from_json(booking.to_json)\n booking.user_email = booking.user_email.downcase\n booking\nend\nlogger.debug do\n \"queried desk bookings, found #{bookings.size}\"\nend\nnew_bookings = Hash(String, Array(Booking)).new do |hash, key|\n hash[key] = [] of Booking\nend\nbookings.each do |booking|\n if booking.rejected\n next\n end\n new_bookings[booking.user_email] << booking\n @known_users[booking.user_id] = {booking.user_email, booking.user_name}\nend\n@bookings = new_bookings\n"}}],"types":[{"html_id":"drivers/Place/DeskBookingsLocations/ZoneDetails","path":"Place/DeskBookingsLocations/ZoneDetails.html","kind":"class","full_name":"Place::DeskBookingsLocations::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L191"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/DeskBookingsLocations","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L192"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/DeskBookingWebhook","path":"Place/DeskBookingWebhook.html","kind":"class","full_name":"Place::DeskBookingWebhook","name":"DeskBookingWebhook","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_booking_webhook.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_post-instance-method","name":"fetch_and_post","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L54"},"def":{"name":"fetch_and_post","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nzones = [@building]\npayload = (staff_api.query_bookings(@booking_category, period_start, period_end, zones)).get.to_json\nheaders = HTTP::Headers.new\n@custom_headers.each do |key, value|\n headers[key] = value\nend\nheaders[\"Content-Type\"] = \"application/json; charset=UTF-8\"\nif @debug\n logger.debug do\n \"Posting: #{payload} \\n with Headers: #{headers}\"\n end\nend\nresponse = HTTP::Client.post(@post_uri, headers, body: payload)\nif response.status_code < 300\nelse\n raise(\"Request failed with #{response.status_code}: #{response.body}\")\nend\n\"#{response.status_code}: #{response.body}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n fetch_and_post\nend\nschedule.every(24.hours) do\n fetch_and_post\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@post_uri = setting(String, :post_uri)\n@building = setting(String, :building)\n@custom_headers = setting(Hash(String, String), :custom_headers)\n@time_period = (setting(Int32, :days_from_now)).days\n@booking_category = setting(String, :booking_category)\n@debug = setting(Bool, :debug)\nfetch_and_post\n"}}]},{"html_id":"drivers/Place/EventAttendanceRecorder","path":"Place/EventAttendanceRecorder.html","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"booking_id:String|Nil-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L22"},"def":{"name":"booking_id","return_type":"String | ::Nil","visibility":"Public","body":"@booking_id"}},{"html_id":"count:UInt64-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L18"},"def":{"name":"count","return_type":"UInt64","visibility":"Public","body":"@count"}},{"html_id":"last_known_count:Int32-instance-method","name":"last_known_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L27"},"def":{"name":"last_known_count","return_type":"Int32","visibility":"Public","body":"@last_known_count"}},{"html_id":"last_saved_count:Int32-instance-method","name":"last_saved_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L26"},"def":{"name":"last_saved_count","return_type":"Int32","visibility":"Public","body":"@last_saved_count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"@system_id = config.control_system.not_nil!.id\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@metadata_key = (setting?(String, :metadata_key)).presence || \"people_count\"\n@debounce_seconds = (setting?(Int32, :debounce_seconds)) || 0\n"}},{"html_id":"people_counts:Array(Int32)-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L25"},"def":{"name":"people_counts","return_type":"Array(Int32)","visibility":"Public","body":"@people_counts"}},{"html_id":"should_save:Bool-instance-method","name":"should_save","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L24"},"def":{"name":"should_save","return_type":"Bool","visibility":"Public","body":"@should_save"}},{"html_id":"status:String-instance-method","name":"status","doc":"Tracking meeting details","summary":"

Tracking meeting details

","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L21"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}],"types":[{"html_id":"drivers/Place/EventAttendanceRecorder/StaffEventChange","path":"Place/EventAttendanceRecorder/StaffEventChange.html","kind":"class","full_name":"Place::EventAttendanceRecorder::StaffEventChange","name":"StaffEventChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/EventAttendanceRecorder","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}}]}]},{"html_id":"drivers/Place/EventMailer","path":"Place/EventMailer.html","kind":"class","full_name":"Place::EventMailer","name":"EventMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/event_mailer.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L207"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"inspect_event_store:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"inspect_event_store","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L109"},"def":{"name":"inspect_event_store","visibility":"Public","body":"@events"}},{"html_id":"list_systems_in_zone(zone_id:String)-instance-method","name":"list_systems_in_zone","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/event_mailer.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L105"},"def":{"name":"list_systems_in_zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"staff_api.systems(zone_id: zone_id).get.as_a"}},{"html_id":"list_target_systems-instance-method","name":"list_target_systems","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L101"},"def":{"name":"list_target_systems","visibility":"Public","body":"@target_zones.flat_map do |zone_id|\n list_systems_in_zone(zone_id)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L63"},"def":{"name":"on_update","visibility":"Public","body":"@target_zones = (setting?(Array(String), :zone_ids_to_target)) || ([] of String)\n@target_module = (setting?(String, :module_to_target)) || \"Bookings_1\"\n@target_status = (setting?(String, :module_status_to_target)) || \"bookings\"\n@event_filter = (setting?(String, :event_filter)) || \"\"\n@email_template_group = (setting?(String, :email_template_group)) || \"events\"\n@email_template = (setting?(String, :email_template)) || \"welcome\"\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\nself[:events] = @events.clear\nsubscribe_to_all_modules\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L196"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}]},{"html_id":"drivers/Place/Geometry","path":"Place/Geometry.html","kind":"class","full_name":"Place::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(coordinates:Array(Tuple(Float64,Float64)),geo_type:String=\"Polygon\")-class-method","name":"new","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = \"Polygon\")","args_html":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = "Polygon")","location":{"filename":"src/place/area_config.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L8"},"def":{"name":"new","args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(coordinates, geo_type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"coordinates:Array(Tuple(Float64,Float64))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L13"},"def":{"name":"coordinates","return_type":"Array(Tuple(Float64, Float64))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Tuple(Float64,Float64)))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)))","args_html":"(coordinates : Array(Tuple(Float64, Float64)))","location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L13"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"geo_type:String-instance-method","name":"geo_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L12"},"def":{"name":"geo_type","return_type":"String","visibility":"Public","body":"@geo_type"}},{"html_id":"geo_type=(geo_type:String)-instance-method","name":"geo_type=","abstract":false,"args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"args_string":"(geo_type : String)","args_html":"(geo_type : String)","location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L12"},"def":{"name":"geo_type=","args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"visibility":"Public","body":"@geo_type = geo_type"}}]},{"html_id":"drivers/Place/Help","path":"Place/Help.html","kind":"alias","full_name":"Place::Help","name":"Help","abstract":false,"locations":[{"filename":"src/place/meet/help.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Place::HelpPage)","aliased_html":"Hash(String, Place::HelpPage)","const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/HelpPage","path":"Place/HelpPage.html","kind":"struct","full_name":"Place::HelpPage","name":"HelpPage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/help.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/help.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L10"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L8"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L9"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]},{"html_id":"drivers/Place/HTTPPinger","path":"Place/HTTPPinger.html","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/http_pinger.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DUMMY_CALLBACK","name":"DUMMY_CALLBACK","value":"Proc(Task, Nil).new do\n nil\nend"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_status:Bool-instance-method","name":"check_status","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L55"},"def":{"name":"check_status","return_type":"Bool","visibility":"Public","body":"begin\n response = http(@request_verb, \"/\", headers: @request_headers)\n if response.status_code == expected_response_code\n self[:last_successful_check] = Time.utc.to_unix\n self[:last_response_code] = response.status_code\n true\n else\n self[:last_response_code] = response.status_code\n @response_mismatch_count = @response_mismatch_count + 1\n self[:response_mismatch_count] = @response_mismatch_count\n queue.online = false\n false\n end\nrescue error\n logger.warn(exception: error) do\n \"HTTP service not responding\"\n end\n @response_failure_count = @response_failure_count + 1\n self[:response_failure_count] = @response_failure_count\n self[:last_error] = error.message\n false\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"check_status"}},{"html_id":"curl(verb:String,path:String,headers:Hash(String,String)={}ofString=>String,body:String|Nil=nil)-instance-method","name":"curl","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","args_html":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","location":{"filename":"src/place/http_pinger.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L80"},"def":{"name":"curl","args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = http(verb, path, body, headers: headers)\nlogger.debug do\n \"response #{response.status}: #{response.status_message}\\nheaders: #{response.headers}\\n#{response.body}\"\nend\ntask = PlaceOS::Driver::Task.new(queue, DUMMY_CALLBACK, 0, 0.seconds, 0, false, nil, nil)\ntask.success(response.body, response.status_code)\n"}},{"html_id":"expected_response_code:Int32-instance-method","name":"expected_response_code","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L26"},"def":{"name":"expected_response_code","return_type":"Int32","visibility":"Public","body":"@expected_response_code"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"transport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(((setting?(Int32, :ping_every)) || 60).seconds) do\n check_status\nend\n@request_verb = (setting?(String, :request_verb)) || \"GET\"\n@expected_response_code = (setting?(Int32, :expected_response_code)) || 200\nrequest_headers = HTTP::Headers.new\nheaders = (setting?(HeaderJSON, :request_headers)) || ({} of String => Array(String) | String)\nheaders.each do |key, value|\n request_headers.add(key, value)\nend\n@request_headers = request_headers\n"}},{"html_id":"request_verb:String-instance-method","name":"request_verb","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L27"},"def":{"name":"request_verb","return_type":"String","visibility":"Public","body":"@request_verb"}},{"html_id":"response_failure_count:UInt64-instance-method","name":"response_failure_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L24"},"def":{"name":"response_failure_count","return_type":"UInt64","visibility":"Public","body":"@response_failure_count"}},{"html_id":"response_mismatch_count:UInt64-instance-method","name":"response_mismatch_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L23"},"def":{"name":"response_mismatch_count","return_type":"UInt64","visibility":"Public","body":"@response_mismatch_count"}}],"types":[{"html_id":"drivers/Place/HTTPPinger/HeaderJSON","path":"Place/HTTPPinger/HeaderJSON.html","kind":"alias","full_name":"Place::HTTPPinger::HeaderJSON","name":"HeaderJSON","abstract":false,"locations":[{"filename":"src/place/http_pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Array(String) | String)","aliased_html":"Hash(String, Array(String) | String)","const":false,"namespace":{"html_id":"drivers/Place/HTTPPinger","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger"}}]},{"html_id":"drivers/Place/LocationServices","path":"Place/LocationServices.html","kind":"class","full_name":"Place::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/location_services.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, {} of String => String, nil}","doc":"===============================\nIP ADDRESS => MAC ADDRESS\n===============================","summary":"

=============================== IP ADDRESS => MAC ADDRESS ===============================

"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L31"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String)-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/place/location_services.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L136"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nowner = nil\n((system.implementing(Interface::Locatable)).check_ownership_of(mac_address)).get.each do |result|\n if result != nil\n owner = result\n break\n end\nend\nif owner.nil? && @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).check_ownership_of(mac_address))\n end\n end\n results.each do |sys_results|\n sys_results.get.each do |result|\n if result != nil\n owner = result\n break\n end\n end\n if owner.nil?\n else\n break\n end\n end\nend\nowner\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L172"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).device_locations(zone_id, location)).get.each do |locations|\n located.concat(locations.as_a)\nend\nlocated\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L54"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L63"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"ip_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"ip_mappings","doc":"Webhook handler for accepting IP address to username mappings\nThis data is typically obtained via domain controller logs","summary":"

Webhook handler for accepting IP address to username mappings This data is typically obtained via domain controller logs

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L281"},"def":{"name":"ip_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"IP mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nip_map = Array(Tuple(String, String, String, String | ::Nil)).from_json(body)\n(system.implementing(Interface::Locatable)).ip_username_mappings(ip_map)\nSUCCESS_RESPONSE\n"}},{"html_id":"locate_contacts(list_name:String)-instance-method","name":"locate_contacts","doc":"locates all the of the emergency contacts","summary":"

locates all the of the emergency contacts

","abstract":false,"args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"args_string":"(list_name : String)","args_html":"(list_name : String)","location":{"filename":"src/place/location_services.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L329"},"def":{"name":"locate_contacts","args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"visibility":"Public","body":"contacts = status(Hash(String, Array(NamedTuple(email: String, username: String))), :emergency_contacts)\nlist = contacts[list_name]\nresults = {} of String => Array(JSON::Any)\nlist.each do |person|\n email = person[:email]\n results[email] = locate_user(email, person[:username])\nend\nresults\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"Runs through all the services that support the Locatable interface\nrequests location information on the identifier for all of them\nconcatenates the results and returns them as a single array","summary":"

Runs through all the services that support the Locatable interface requests location information on the identifier for all of them concatenates the results and returns them as a single array

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L73"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).locate_user(email, username)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n results << {level_id, ((system(system_id)).implementing(Interface::Locatable)).locate_user(email, username)}\n end\n end\n results.each do |__arg4|\n level_id = __arg4[0]\n result = __arg4[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"mac_address_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L292"},"def":{"name":"mac_address_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"MAC mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nusername, macs, domain = Tuple(String, Array(String), String | ::Nil).from_json(body)\nusername = username.strip\nmacs = macs.compact_map do |mac|\n mac = (mac.strip.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase\n if mac.size == 12\n mac\n end\nend\nif username.empty? || macs.empty?\n return {HTTP::Status::NOT_ACCEPTABLE, {} of String => String, nil}\nend\n(system.implementing(Interface::Locatable)).mac_address_mappings(username, macs, domain)\nSUCCESS_RESPONSE\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L110"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nmacs = [] of String\n((system.implementing(Interface::Locatable)).macs_assigned_to(email, username)).get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\nend\nif @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).macs_assigned_to(email, username))\n end\n end\n results.each do |__arg8|\n __arg8.get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\n end\n end\nend\nmacs\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@emergency_contacts = (setting?(Hash(String, String), :emergency_contacts)) || Hash(String, String).new\n@search_building = (setting?(Bool, :search_building)) || false\n@building_id = nil\n@systems = nil\nschedule.clear\nif @search_building\n schedule.every(1.hour) do\n if @systems\n @systems = get_systems_list.not_nil!\n end\n end\nend\nif !@emergency_contacts.empty?\n schedule.every(6.hours, immediate: true) do\n update_contacts_list\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil)-instance-method","name":"sensor","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil)","args_html":"(mac : String, id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L230"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"querying sensor with mac: #{mac}, id: #{id.inspect}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensor(mac, id)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif located.empty?\nelse\n return located.first\nend\ndriver_ids = Set.new(drivers.map() do |__arg14|\n __arg14.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg15|\n __arg15.@module_id\n end)\n results << {level_id, drivers.sensor(mac, id)}\n end\n end\n results.each do |__arg16|\n level_id = __arg16[0]\n result = __arg16[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nif located.empty?\nelse\n located.first\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil)-instance-method","name":"sensors","doc":"sensor search + filtered search","summary":"

sensor search + filtered search

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L186"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching sensors of type: #{type.inspect}, mac: #{mac.inspect}, zone_id: #{zone_id}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensors(type, mac, zone_id)).get.each do |locations|\n located.concat(locations.as_a)\nend\ndriver_ids = Set.new(drivers.map() do |__arg10|\n __arg10.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n if zone_id && (zone_id != level_id)\n next\n end\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg11|\n __arg11.@module_id\n end)\n results << {level_id, drivers.sensors(type, mac, zone_id)}\n end\n end\n results.each do |__arg12|\n level_id = __arg12[0]\n result = __arg12[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L32"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}},{"html_id":"update_contacts_list-instance-method","name":"update_contacts_list","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L311"},"def":{"name":"update_contacts_list","visibility":"Public","body":"if @emergency_contacts.empty?\n self[:emergency_contacts] = nil\n return\nend\nif !(system.exists?(:Calendar))\n logger.warn do\n \"contacts requested however no directory service available\"\n end\n return\nend\ndirectory = system[:Calendar]\nself[:emergency_contacts] = @emergency_contacts.transform_values do |id|\n (directory.get_members(id)).get.as(JSON::Any)\nend\n"}}]},{"html_id":"drivers/Place/LogicExample","path":"Place/LogicExample.html","kind":"class","full_name":"Place::LogicExample","name":"LogicExample","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/logic_example.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"display_count-instance-method","name":"display_count","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L21"},"def":{"name":"display_count","visibility":"Public","body":"system.count(:Display)"}},{"html_id":"not_implemented-instance-method","name":"not_implemented","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L25"},"def":{"name":"not_implemented","visibility":"Public","body":"raise(\"not implemented\")"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L9"},"def":{"name":"on_update","visibility":"Public","body":"logger.info do\n \"woot! an update #{setting?(String, :name)}\"\nend"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/logic_example.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L17"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"main_lcd.power(state)"}},{"html_id":"power_state?-instance-method","name":"power_state?","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L13"},"def":{"name":"power_state?","visibility":"Public","body":"main_lcd[:power]"}}]},{"html_id":"drivers/Place/Meet","path":"Place/Meet.html","kind":"class","full_name":"Place::Meet","name":"Meet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LIGHT_MOD","name":"DEFAULT_LIGHT_MOD","value":"\"Lighting_1\""},{"id":"EXT_INIT","name":"EXT_INIT","value":"[:qsc_phone_dialing_init] of Symbol"},{"id":"EXT_POWER","name":"EXT_POWER","value":"[:qsc_phone_dialing_power] of Symbol"}],"included_modules":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"add_preset(preset:String,camera:String)-instance-method","name":"add_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":798,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L798"},"def":{"name":"add_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].save_position(preset, cam.index || 0)\n"}},{"html_id":"apply_camera_defaults-instance-method","name":"apply_camera_defaults","doc":"run on system power on","summary":"

run on system power on

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":779,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L779"},"def":{"name":"apply_camera_defaults","visibility":"Public","body":"(system.all(vc_camera_module)).power(true)"}},{"html_id":"apply_default_routes-instance-method","name":"apply_default_routes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L250"},"def":{"name":"apply_default_routes","visibility":"Public","body":"begin\n @default_routes.each do |output, input|\n route_signal(input, output)\n end\nrescue error\n logger.warn(exception: error) do\n \"error applying default routes\"\n end\nend"}},{"html_id":"init_vidconf-instance-method","name":"init_vidconf","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":773,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L773"},"def":{"name":"init_vidconf","visibility":"Public","body":"@vc_camera_in = setting?(String, :vc_camera_in)\n@vc_camera_module = setting?(String, :vc_camera_module)\n"}},{"html_id":"join_mode(mode_id:String,master:Bool=true)-instance-method","name":"join_mode","abstract":false,"args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"args_string":"(mode_id : String, master : Bool = true)","args_html":"(mode_id : String, master : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":890,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L890"},"def":{"name":"join_mode","args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"visibility":"Public","body":"mode = @join_modes[mode_id]\nif @join_selected\n old_mode = @join_modes[@join_selected]?\nend\njoin_settings = @join_settings.not_nil!\nthis_room = config.control_system.not_nil!.id\nbegin\n @join_lock.synchronize do\n if master\n notify_rooms = join_settings.type.fully_aware? ? join_settings.all_rooms : mode.room_ids\n if mode.linked?\n if notify_rooms.includes?(this_room)\n else\n raise(\"unable to perform join from this system\")\n end\n end\n @join_selected = mode.id\n @join_master = true\n if (old_mode && old_mode.linked?) && join_settings.type.independent?\n unlink(old_mode.room_ids - mode.room_ids)\n end\n if !mode.linked?\n return unlink(notify_rooms)\n end\n reset_remote_cache\n self[:join_confirmed] = @join_confirmed = false\n notify_rooms.each do |room_id|\n if room_id == this_room\n next\n end\n (((system(room_id)).get(\"System\", 1)).join_mode(mode_id, master: false)).get\n end\n persist_join_state\n self[:join_master] = master\n self[:joined] = @join_selected\n self[:join_confirmed] = @join_confirmed = true\n else\n @join_selected = mode.id\n @join_master = false\n reset_remote_cache\n persist_join_state\n self[:join_master] = master\n self[:joined] = mode.id\n self[:join_confirmed] = @join_confirmed = true\n end\n end\nensure\n update_available_ui\n mode.join_actions.each do |action|\n if master || (!action.master_only?)\n system[action.module_id].__send__(action.function_name, action.arguments, action.named_args)\n end\n end\n if (!@light_scenes.empty?) && master\n select_lighting_scene(@light_scenes.keys.first)\n end\nend\n"}},{"html_id":"lighting_independent:Bool-instance-method","name":"lighting_independent","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":571,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L571"},"def":{"name":"lighting_independent","return_type":"Bool","visibility":"Public","body":"@lighting_independent"}},{"html_id":"local_accessories:Array(Accessory)-instance-method","name":"local_accessories","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":668,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L668"},"def":{"name":"local_accessories","return_type":"Array(Accessory)","visibility":"Public","body":"@local_accessories"}},{"html_id":"local_help:Help-instance-method","name":"local_help","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L96"},"def":{"name":"local_help","return_type":"Help","visibility":"Public","body":"@local_help"}},{"html_id":"local_lighting_area:LightingArea|Nil-instance-method","name":"local_lighting_area","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L570"},"def":{"name":"local_lighting_area","return_type":"LightingArea | ::Nil","visibility":"Public","body":"@local_lighting_area"}},{"html_id":"local_mics:Array(Microphone)-instance-method","name":"local_mics","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":689,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L689"},"def":{"name":"local_mics","return_type":"Array(Microphone)","visibility":"Public","body":"@local_mics"}},{"html_id":"local_outputs:Array(String)-instance-method","name":"local_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L101"},"def":{"name":"local_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_outputs"}},{"html_id":"local_preview_outputs:Array(String)-instance-method","name":"local_preview_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L104"},"def":{"name":"local_preview_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_preview_outputs"}},{"html_id":"local_tabs:Array(Tab)-instance-method","name":"local_tabs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L97"},"def":{"name":"local_tabs","return_type":"Array(Tab)","visibility":"Public","body":"@local_tabs"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Sets the mute state on a signal node within the system.","summary":"

Sets the mute state on a signal node within the system.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/meet.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L547"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"input_or_output = index\naudio = @master_audio\nif audio\n logger.debug do\n \"setting master mute to #{state}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nmixer = system[audio.module_id]\nset_master_mute(mixer, audio, state)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L88"},"def":{"name":"on_load","visibility":"Public","body":"system.load_complete do\n init_previous_join_state\n on_update\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L110"},"def":{"name":"on_update","visibility":"Public","body":"if (Time.utc.to_unix - @ignore_update) < 3\n return\nend\nself[:name] = system.display_name.presence || system.name\nself[:local_help] = @local_help = (setting?(Help, :help)) || Help.new\nself[:local_tabs] = @local_tabs = (setting?(Array(Tab), :tabs)) || ([] of Tab)\nself[:local_outputs] = @local_outputs = (setting?(Array(String), :local_outputs)) || ([] of String)\nself[:local_preview_outputs] = @local_preview_outputs = (setting?(Array(String), :preview_outputs)) || ([] of String)\n@shutdown_devices = setting?(Array(String), :shutdown_devices)\n@local_vidconf = (setting?(String, :local_vidconf)) || \"VidConf_1\"\n@join_lock.synchronize do\n subscriptions.clear\n reset_remote_cache\n init_signal_routing\n init_projector_screens\n init_master_audio\n init_microphones\n init_accessories\n init_lighting\n init_vidconf\n init_joining\nend\n{% for func in EXT_INIT %}\n begin\n {{ func.id }}\n rescue error\n logger.warn(exception: error) { \"error in init function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\n"}},{"html_id":"power(state:Bool,unlink:Bool=false)-instance-method","name":"power","doc":"Sets the overall room power state.","summary":"

Sets the overall room power state.

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"args_string":"(state : Bool, unlink : Bool = false)","args_html":"(state : Bool, unlink : Bool = false)","location":{"filename":"src/place/meet.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L173"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"visibility":"Public","body":"if state == self[:active]?\n return\nend\nlogger.debug do\n \"Powering #{state ? \"up\" : \"down\"}\"\nend\nself[:active] = state\nremotes_before = remote_rooms\nsys = system\nif state\n apply_master_audio_default\n apply_camera_defaults\n apply_default_routes\n apply_mic_defaults\n if first_output = @tabs.first?.try do |__arg0|\n __arg0.inputs.first\n end\n selected_input(first_output)\n end\nelse\n if unlink\n unlink_systems\n end\n @local_outputs.each do |output|\n unroute(output)\n end\n @local_preview_outputs.each do |output|\n unroute(output)\n end\n if devices = @shutdown_devices\n devices.each do |device|\n sys[device].power(false)\n end\n else\n (sys.implementing(Interface::Powerable)).power(false)\n end\n if sys.exists?(@local_vidconf)\n sys[@local_vidconf].hangup\n end\nend\nremotes_before.each do |room|\n room.power(state, unlink)\nend\n{% for func in EXT_POWER %}\n begin\n {{ func.id }}(state, unlink)\n rescue error\n logger.warn(exception: error) { \"error in power state function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\nstate\n"}},{"html_id":"remove_preset(preset:String,camera:String)-instance-method","name":"remove_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L803"},"def":{"name":"remove_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].remove_position(preset, cam.index || 0)\n"}},{"html_id":"route(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L256"},"def":{"name":"route","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"route_signal(input, output, max_dist, simulate, follow_additional_routes)\nif links = @linked_outputs[output]?\n links.each do |_sys_id, remote_out|\n route_signal(input, remote_out, max_dist, simulate, follow_additional_routes)\n end\nend\nif !simulate\n remote_systems.each do |remote_system|\n room = remote_system.room_logic\n sys_id = remote_system.system_id\n if links = @linked_outputs[output]?\n if remote_out = links[sys_id]?\n room.route(input, remote_out, max_dist, true, follow_additional_routes)\n end\n end\n end\nend\n"}},{"html_id":"select_lighting_scene(scene:String,push_to_remotes:Bool=true)-instance-method","name":"select_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"args_string":"(scene : String, push_to_remotes : Bool = true)","args_html":"(scene : String, push_to_remotes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L635"},"def":{"name":"select_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"visibility":"Public","body":"scene_id = @light_scenes[scene.downcase]?\nif scene_id\nelse\n raise(ArgumentError.new(\"invalid scene '#{scene}', valid scenes are: #{@light_scenes.keys}\"))\nend\nsystem[@light_module].set_lighting_scene(scene_id, @light_area)\nif push_to_remotes && lighting_independent\n remote_rooms.each do |room|\n room.select_lighting_scene(scene, false)\n end\nend\n"}},{"html_id":"selected_camera(camera:String)-instance-method","name":"selected_camera","doc":"This is the camera input that is currently selected so we can switch between\ndifferent cameras","summary":"

This is the camera input that is currently selected so we can switch between different cameras

","abstract":false,"args":[{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(camera : String)","args_html":"(camera : String)","location":{"filename":"src/place/meet.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L785"},"def":{"name":"selected_camera","args":[{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"self[:selected_camera] = camera\ncam = camera_details(camera)\nsystem[cam.mod].power(true)\nif camera_in = @vc_camera_in\n route_signal(camera, camera_in)\nelse\n if camera_vc_in = cam.vc_camera_input\n system[@local_vidconf].camera_select(camera_vc_in)\n end\nend\n"}},{"html_id":"selected_input(name:String,simulate:Bool=false):Nil-instance-method","name":"selected_input","doc":"This is the currently selected input\nif the user selects an output then this will be routed to it","summary":"

This is the currently selected input if the user selects an output then this will be routed to it

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"args_string":"(name : String, simulate : Bool = false) : Nil","args_html":"(name : String, simulate : Bool = false) : Nil","location":{"filename":"src/place/meet.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L286"},"def":{"name":"selected_input","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"selected_tab = @tabs.find() do |__arg2|\n __arg2.inputs.includes?(name)\nend.try(&.name)\nif selected_tab || (!simulate)\n self[:selected_input] = name\n self[:selected_tab] = selected_tab || @tabs.first\n sys = system\n if sys.exists?(name)\n mod = sys[name]\n if mod.implements?(Interface::Powerable)\n mod.power(true)\n end\n end\nend\nif !simulate\n if @preview_outputs.empty?\n if @outputs.size == 1\n route_signal(name, @outputs.first)\n end\n else\n @preview_outputs.each do |output|\n route_signal(name, output)\n end\n end\n remote_rooms.each do |room|\n room.selected_input(name, true)\n end\nend\n"}},{"html_id":"unlink_internal_use-instance-method","name":"unlink_internal_use","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":971,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L971"},"def":{"name":"unlink_internal_use","visibility":"Public","body":"begin\n @join_lock.synchronize do\n if @join_modes[@join_selected]?.try() do |__arg11|\n __arg11.room_ids.empty?\n end\n else\n @join_selected = nil\n end\n @join_master = true\n self[:join_confirmed] = @join_confirmed = false\n self[:join_master] = true\n self[:joined] = @join_selected\n reset_remote_cache\n persist_join_state\n update_available_ui\n self[:join_confirmed] = @join_confirmed = true\n end\nrescue error\n logger.error(exception: error) do\n \"ui state failed to be applied unjoining room\"\n end\nend"}},{"html_id":"unlink_systems-instance-method","name":"unlink_systems","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":957,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L957"},"def":{"name":"unlink_systems","visibility":"Public","body":"begin\n if unlink_mode = @join_modes.find do |_id, mode|\n !mode.linked?\n end\n join_mode(unlink_mode[0])\n else\n currrent_selected = @join_selected\n if currrent_selected && (current_mode = @join_modes[currrent_selected]?)\n unlink(current_mode.room_ids)\n end\n unlink_internal_use\n end\nrescue error\n logger.warn(exception: error) do\n \"unlink failed\"\n end\nend"}},{"html_id":"unroute(output:String)-instance-method","name":"unroute","doc":"we want to unroute any signal going to the display\nor if it's a direct connection, we want to mute the display","summary":"

we want to unroute any signal going to the display or if it's a direct connection, we want to mute the display

","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"String"}],"args_string":"(output : String)","args_html":"(output : String)","location":{"filename":"src/place/meet.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L278"},"def":{"name":"unroute","args":[{"name":"output","external_name":"output","restriction":"String"}],"visibility":"Public","body":"begin\n route(\"MUTE\", output)\nrescue error\n logger.debug(exception: error) do\n \"failed to unroute #{output}\"\n end\nend"}},{"html_id":"volume(level:Int32|Float64,input_or_output:String)-instance-method","name":"volume","doc":"Set the volume of a signal node within the system.","summary":"

Set the volume of a signal node within the system.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"args_string":"(level : Int32 | Float64, input_or_output : String)","args_html":"(level : Int32 | Float64, input_or_output : String)","location":{"filename":"src/place/meet.cr","line_number":525,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L525"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"visibility":"Public","body":"audio = @master_audio\nif audio\n logger.debug do\n \"setting master volume to #{level}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = audio.min_level..audio.max_level\nlevel_actual = percentage * (range.end - range.begin)\nlevel_actual = (level_actual + range.begin.to_f).round(1)\nmixer = system[audio.module_id]\nset_master_volume(mixer, audio, level_actual)\n"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory","path":"Place/Meet/Accessory.html","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":651,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L651"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L652"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controls:Array(Control)-instance-method","name":"controls","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":665,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L665"},"def":{"name":"controls","return_type":"Array(Control)","visibility":"Public","body":"@controls"}},{"html_id":"module:String-instance-method","name":"module","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":664,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L664"},"def":{"name":"module","return_type":"String","visibility":"Public","body":"@module"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":663,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L663"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory/Control","path":"Place/Meet/Accessory/Control.html","kind":"struct","full_name":"Place::Meet::Accessory::Control","name":"Control","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L654"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet/Accessory","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L655"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L660"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"@arguments"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":659,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L659"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":658,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L658"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":657,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L657"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Meet/AudioFader","path":"Place/Meet/AudioFader.html","kind":"class","full_name":"Place::Meet::AudioFader","name":"AudioFader","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":396,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L396"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L397"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L399"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"default_level:Float64|Nil-instance-method","name":"default_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":407,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L407"},"def":{"name":"default_level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@default_level"}},{"html_id":"default_muted:Bool|Nil-instance-method","name":"default_muted","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L406"},"def":{"name":"default_muted","return_type":"Bool | ::Nil","visibility":"Public","body":"@default_muted"}},{"html_id":"implements_volume?-instance-method","name":"implements_volume?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L431"},"def":{"name":"implements_volume?","visibility":"Public","body":"level_id == \"\\e\""}},{"html_id":"level_feedback:String-instance-method","name":"level_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L415"},"def":{"name":"level_feedback","return_type":"String","visibility":"Public","body":"if (value = @level_feedback).nil?\n @level_feedback = (begin\n id = level_id\n \"fader#{id.is_a?(Array) ? id.first : id}\"\n end)\nelse\n value\nend"}},{"html_id":"level_feedback=(level_feedback:String)-instance-method","name":"level_feedback=","abstract":false,"args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"args_string":"(level_feedback : String)","args_html":"(level_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L415"},"def":{"name":"level_feedback=","args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"visibility":"Public","body":"@level_feedback = level_feedback"}},{"html_id":"level_feedback?:String?-instance-method","name":"level_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L425"},"def":{"name":"level_feedback?","visibility":"Public","body":"@level_feedback"}},{"html_id":"level_id:String|Array(String)|Nil-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L403"},"def":{"name":"level_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"level_id=(level_id:String|Array(String)|Nil)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(level_id : String | Array(String) | Nil)","args_html":"(level_id : String | Array(String) | Nil)","location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L403"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_index:Int32|Nil-instance-method","name":"level_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L409"},"def":{"name":"level_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level_index"}},{"html_id":"max_level:Float64-instance-method","name":"max_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":413,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L413"},"def":{"name":"max_level","return_type":"Float64","visibility":"Public","body":"if (value = @max_level).nil?\n @max_level = (100.0)\nelse\n value\nend"}},{"html_id":"min_level:Float64-instance-method","name":"min_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L412"},"def":{"name":"min_level","return_type":"Float64","visibility":"Public","body":"if (value = @min_level).nil?\n @min_level = (0.0)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L423"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"if (value = @module_id).nil?\n @module_id = (\"Mixer_1\")\nelse\n value\nend"}},{"html_id":"module_id=(module_id:String)-instance-method","name":"module_id=","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String)","args_html":"(module_id : String)","location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L423"},"def":{"name":"module_id=","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"visibility":"Public","body":"@module_id = module_id"}},{"html_id":"mute_feedback:String-instance-method","name":"mute_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L419"},"def":{"name":"mute_feedback","return_type":"String","visibility":"Public","body":"if (value = @mute_feedback).nil?\n @mute_feedback = (begin\n id = mute_id || level_id\n \"fader#{id.is_a?(Array) ? id.first : id}_mute\"\n end)\nelse\n value\nend"}},{"html_id":"mute_feedback=(mute_feedback:String)-instance-method","name":"mute_feedback=","abstract":false,"args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"args_string":"(mute_feedback : String)","args_html":"(mute_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L419"},"def":{"name":"mute_feedback=","args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"visibility":"Public","body":"@mute_feedback = mute_feedback"}},{"html_id":"mute_feedback?:String?-instance-method","name":"mute_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L425"},"def":{"name":"mute_feedback?","visibility":"Public","body":"@mute_feedback"}},{"html_id":"mute_id:String|Array(String)|Nil-instance-method","name":"mute_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":404,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L404"},"def":{"name":"mute_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"if (value = @mute_id).nil?\n @mute_id = (level_id)\nelse\n value\nend"}},{"html_id":"mute_index:Int32|Nil-instance-method","name":"mute_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L410"},"def":{"name":"mute_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mute_index"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L402"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"use_defaults?-instance-method","name":"use_defaults?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L427"},"def":{"name":"use_defaults?","visibility":"Public","body":"(@module_id.nil? && (level_id.nil? || level_id.try(&.empty?))) && (mute_id.nil? || mute_id.try(&.empty?))"}}]},{"html_id":"drivers/Place/Meet/CamDetails","path":"Place/Meet/CamDetails.html","kind":"class","full_name":"Place::Meet::CamDetails","name":"CamDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":762,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L762"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L763"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"index:String|Int32|Nil-instance-method","name":"index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L766"},"def":{"name":"index","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@index"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":765,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L765"},"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"vc_camera_input:String|Int32|Nil-instance-method","name":"vc_camera_input","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":767,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L767"},"def":{"name":"vc_camera_input","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@vc_camera_input"}}]},{"html_id":"drivers/Place/Meet/JoinAction","path":"Place/Meet/JoinAction.html","kind":"class","full_name":"Place::Meet::JoinAction","name":"JoinAction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L823"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":824,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L824"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":828,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L828"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":827,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L827"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"master_only?:Bool-instance-method","name":"master_only?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":830,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L830"},"def":{"name":"master_only?","return_type":"Bool","visibility":"Public","body":"if (value = @master_only).nil?\n @master_only = (true)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":826,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L826"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":829,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L829"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinDetail","path":"Place/Meet/JoinDetail.html","kind":"class","full_name":"Place::Meet::JoinDetail","name":"JoinDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":833,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L833"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":834,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L834"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":836,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L836"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"join_actions:Array(JoinAction)-instance-method","name":"join_actions","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":839,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L839"},"def":{"name":"join_actions","return_type":"Array(JoinAction)","visibility":"Public","body":"if (value = @join_actions).nil?\n @join_actions = ([] of JoinAction)\nelse\n value\nend"}},{"html_id":"linked?:Bool-instance-method","name":"linked?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":846,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L846"},"def":{"name":"linked?","return_type":"Bool","visibility":"Public","body":"if (value = @linked).nil?\n @linked = (!room_ids.empty?)\nelse\n value\nend"}},{"html_id":"merge_outputs?:Bool-instance-method","name":"merge_outputs?","doc":"Do we want to merge the outputs (all outputs on all screens)\nor do we want them as seperate displays","summary":"

Do we want to merge the outputs (all outputs on all screens) or do we want them as seperate displays

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":843,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L843"},"def":{"name":"merge_outputs?","return_type":"Bool","visibility":"Public","body":"@merge_outputs"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":837,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L837"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_ids:Array(String)-instance-method","name":"room_ids","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":838,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L838"},"def":{"name":"room_ids","return_type":"Array(String)","visibility":"Public","body":"@room_ids"}}]},{"html_id":"drivers/Place/Meet/JoinSetting","path":"Place/Meet/JoinSetting.html","kind":"class","full_name":"Place::Meet::JoinSetting","name":"JoinSetting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":849,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L849"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":850,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L850"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"all_rooms:Set(String)-instance-method","name":"all_rooms","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":857,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L857"},"def":{"name":"all_rooms","return_type":"Set(String)","visibility":"Public","body":"if (value = @all_rooms).nil?\n @all_rooms = (modes.reduce(Set(String).new) do |rooms, mode|\n rooms.concat(mode.room_ids)\n end)\nelse\n value\nend"}},{"html_id":"lock_remote:Bool-instance-method","name":"lock_remote","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":853,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L853"},"def":{"name":"lock_remote","return_type":"Bool","visibility":"Public","body":"if (value = @lock_remote).nil?\n @lock_remote = (false)\nelse\n value\nend"}},{"html_id":"modes:Array(JoinDetail)-instance-method","name":"modes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":854,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L854"},"def":{"name":"modes","return_type":"Array(JoinDetail)","visibility":"Public","body":"@modes"}},{"html_id":"type:JoinType-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":852,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L852"},"def":{"name":"type","return_type":"JoinType","visibility":"Public","body":"if (value = @type).nil?\n @type = (JoinType::Independent)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinType","path":"Place/Meet/JoinType.html","kind":"enum","full_name":"Place::Meet::JoinType","name":"JoinType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L815"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Independent","name":"Independent","value":"0","doc":"only rooms part of the join need to be notified","summary":"

only rooms part of the join need to be notified

"},{"id":"FullyAware","name":"FullyAware","value":"1","doc":"even rooms not part of the join, need to be notified","summary":"

even rooms not part of the join, need to be notified

"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"doc":"=========================\nRoom Joining Coordination\n=========================","summary":"

========================= Room Joining Coordination =========================

","instance_methods":[{"html_id":"fully_aware?-instance-method","name":"fully_aware?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":820,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L820"},"def":{"name":"fully_aware?","visibility":"Public","body":"self == FullyAware"}},{"html_id":"independent?-instance-method","name":"independent?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":817,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L817"},"def":{"name":"independent?","visibility":"Public","body":"self == Independent"}}]},{"html_id":"drivers/Place/Meet/LightingArea","path":"Place/Meet/LightingArea.html","kind":"alias","full_name":"Place::Meet::LightingArea","name":"LightingArea","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L565"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/LightingScene","path":"Place/Meet/LightingScene.html","kind":"alias","full_name":"Place::Meet::LightingScene","name":"LightingScene","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L566"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(name: String, id: UInt32, icon: String, opacity: Float64)","aliased_html":"{name: String, id: UInt32, icon: String, opacity: Float64}","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/Microphone","path":"Place/Meet/Microphone.html","kind":"alias","full_name":"Place::Meet::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":687,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L687"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Meet::AudioFader","aliased_html":"Place::Meet::AudioFader","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/RemoteSystem","path":"Place/Meet/RemoteSystem.html","kind":"struct","full_name":"Place::Meet::RemoteSystem","name":"RemoteSystem","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":1020,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1020"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(system_id:String,room_logic:PlaceOS::Driver::Proxy::Driver)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"args_string":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","args_html":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","location":{"filename":"src/place/meet.cr","line_number":1024,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1024"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, room_logic)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"room_logic:PlaceOS::Driver::Proxy::Driver-instance-method","name":"room_logic","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1022,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1022"},"def":{"name":"room_logic","return_type":"PlaceOS::Driver::Proxy::Driver","visibility":"Public","body":"@room_logic"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1021,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1021"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}}]}]},{"html_id":"drivers/Place/MQTT","path":"Place/MQTT.html","kind":"class","full_name":"Place::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L86"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L100"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\n@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L46"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\n@queue_size = (setting?(Int32, :queue_size)) || 1000\nif rate_limit = setting?(Int32, :rate_limit)\n @rate_limited = true\n @wait_time = (1.0 / rate_limit.to_f).seconds\nelse\n @rate_limited = false\nend\nexisting = @subs\n@subs = (setting?(Array(String), :subscriptions)) || ([] of String)\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n perform_operation do\n client.unsubscribe(sub)\n end\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\n end\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L115"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\nperform_operation do\n @mqtt.not_nil!.ping\nend\n"}},{"html_id":"publish(key:String,payload:String):Nil-instance-method","name":"publish","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(key : String, payload : String) : Nil","args_html":"(key : String, payload : String) : Nil","location":{"filename":"src/place/mqtt.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L109"},"def":{"name":"publish","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"publishing payload to #{key}\"\nend\nperform_operation do\n @mqtt.not_nil!.publish(key, payload)\nend\nnil\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/place/mqtt.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L120"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}}]},{"html_id":"drivers/Place/Pinger","path":"Place/Pinger.html","kind":"class","full_name":"Place::Pinger","name":"Pinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/pinger.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"period = (setting?(Int32, :ping_every)) || 60\nperiod = (period * 1000) + (rand(1000))\nschedule.clear\nschedule.every(period.milliseconds) do\n ping\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L29"},"def":{"name":"ping","visibility":"Public","body":"hostname = config.ip.not_nil!\npinger = ::Pinger.new(hostname, count: 3)\npinger.ping\npingable = pinger.pingable\nif !pingable\n self[:last_error] = (pinger.exception || pinger.warning) || \"unknown error\"\nend\nset_connected_state(pingable)\nself[:pingable] = pingable\n"}}]},{"html_id":"drivers/Place/QSCPhoneDialing","path":"Place/QSCPhoneDialing.html","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing","abstract":false,"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"doc":"Code for handling QSC phone dialing, if available","summary":"

Code for handling QSC phone dialing, if available

","instance_methods":[{"html_id":"qsc_dial_hangup-instance-method","name":"qsc_dial_hangup","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L73"},"def":{"name":"qsc_dial_hangup","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.hangup_id)\n"}},{"html_id":"qsc_dial_makecall-instance-method","name":"qsc_dial_makecall","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L67"},"def":{"name":"qsc_dial_makecall","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.dial_id)\n"}},{"html_id":"qsc_dial_pad(number:String)-instance-method","name":"qsc_dial_pad","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"}],"args_string":"(number : String)","args_html":"(number : String)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L46"},"def":{"name":"qsc_dial_pad","args":[{"name":"number","external_name":"number","restriction":"String"}],"visibility":"Public","body":"if number.size > 0\nelse\n return\nend\nchar = number[0]\ncase char\nwhen '\\b'\n if @dial_string.size == 0\n else\n @dial_string = @dial_string[0..-2]\n end\nwhen '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'\n @dial_string = \"#{@dial_string}#{char}\"\nelse\n logger.info do\n \"unsupported dial char provided #{char}\"\n end\nend\nqsc_dial_pad_sync\n"}},{"html_id":"qsc_dial_pad_clear:Nil-instance-method","name":"qsc_dial_pad_clear","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L62"},"def":{"name":"qsc_dial_pad_clear","return_type":"Nil","visibility":"Public","body":"@dial_string = \"\"\nqsc_dial_pad_sync\n"}}],"types":[{"html_id":"drivers/Place/QSCPhoneDialing/QscPhone","path":"Place/QSCPhoneDialing/QscPhone.html","kind":"class","full_name":"Place::QSCPhoneDialing::QscPhone","name":"QscPhone","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},"doc":"This data will be stored in the tab","summary":"

This data will be stored in the tab

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dial_id:String-instance-method","name":"dial_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L8"},"def":{"name":"dial_id","return_type":"String","visibility":"Public","body":"@dial_id"}},{"html_id":"dtmf_id:String-instance-method","name":"dtmf_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L13"},"def":{"name":"dtmf_id","return_type":"String","visibility":"Public","body":"@dtmf_id"}},{"html_id":"hangup_id:String-instance-method","name":"hangup_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L9"},"def":{"name":"hangup_id","return_type":"String","visibility":"Public","body":"@hangup_id"}},{"html_id":"number_id:String-instance-method","name":"number_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L7"},"def":{"name":"number_id","return_type":"String","visibility":"Public","body":"@number_id"}},{"html_id":"offhook_id:String-instance-method","name":"offhook_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L12"},"def":{"name":"offhook_id","return_type":"String","visibility":"Public","body":"@offhook_id"}},{"html_id":"ringing_id:String-instance-method","name":"ringing_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L11"},"def":{"name":"ringing_id","return_type":"String","visibility":"Public","body":"@ringing_id"}},{"html_id":"status_id:String-instance-method","name":"status_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L10"},"def":{"name":"status_id","return_type":"String","visibility":"Public","body":"@status_id"}}]}]},{"html_id":"drivers/Place/RoomBookingApproval","path":"Place/RoomBookingApproval.html","kind":"class","full_name":"Place::RoomBookingApproval","name":"RoomBookingApproval","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/room_booking_approval.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L68"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.accept_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L13"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L73"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.decline_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"find_bookings_for_approval:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"find_bookings_for_approval","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L49"},"def":{"name":"find_bookings_for_approval","return_type":"Hash(String, Array(PlaceCalendar::Event))","visibility":"Public","body":"results = {} of String => Array(PlaceCalendar::Event)\nsystems.each do |level_id, system_ids|\n system_ids.each do |system_id|\n sys = system(system_id)\n if sys.exists?(\"Bookings\", 1)\n if bookings = (sys.get(\"Bookings\", 1)).status?(Array(PlaceCalendar::Event), \"bookings\")\n bookings.select! do |event|\n event.status == \"tentative\"\n end\n if bookings.empty?\n else\n results[system_id] = bookings\n end\n end\n end\n end\nend\nself[:approval_required] = results\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L33"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L42"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@building_id = nil\n@systems = nil\nschedule.clear\nschedule.every(1.hour) do\n @systems = get_systems_list.not_nil!\nend\nschedule.every(5.minutes) do\n find_bookings_for_approval\nend\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L14"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Router","path":"Place/Router.html","kind":"module","full_name":"Place::Router","name":"Router","abstract":false,"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Router/Core","path":"Place/Router/Core.html","kind":"module","full_name":"Place::Router::Core","name":"Core","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L11"},{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Core routing methods and functionality. This exists as module to enable\ninclusion in other drivers, such as room logic, that provide auxillary\nfunctionality to signal distribution.","summary":"

Core routing methods and functionality.

","instance_methods":[{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"load_siggraph"}},{"html_id":"route_signal(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route_signal","doc":"Routes signal from *input* to *output*.\n\nPerforms all intermediate device interaction based on current system\nconfig.","summary":"

Routes signal from input to output.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/router/core.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L178"},"def":{"name":"route_signal","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"requesting route from #{input} to #{output}\"\nend\nsrc, dst = resolver.values_at(input, output)\ndst_node = siggraph[dst]\nsrc_node = siggraph[src]\npath = (siggraph.route(src, dst, max_dist)) || (raise(\"no route found\"))\nexecs = path.compact_map do |__arg6|\n node = __arg6[0]\n edge = __arg6[1]\n next_node = __arg6[2]\n logger.debug do\n \"#{node} → #{next_node}\"\n end\n if next_node.locked\n raise(\"#{next_node} is locked, aborting\")\n end\n case edge\n in SignalGraph::Edge::Static\n nil\n in SignalGraph::Edge::Active\n Promise.defer(same_thread: true, timeout: 1.second) do\n next_node.source = siggraph[src].source\n if !simulate\n mod = proxy_for(edge.mod)\n case func = edge.func\n in SignalGraph::Edge::Func::Mute\n dst_layer = dst_node.ref.layer.downcase\n case dst_layer\n when \"audio\", \"video\"\n mod.mute(func.state, func.index, dst_layer)\n else\n mod.mute(func.state, func.index)\n end\n in SignalGraph::Edge::Func::Select\n mod.switch_to(func.input)\n in SignalGraph::Edge::Func::Switch\n mod.switch({func.input => [func.output]}, func.layer)\n end\n end\n nil\n end\n end\nend\nif follow_additional_routes\n routes = {} of String => Tuple(String, String, Int32 | ::Nil, Bool, Bool)\n if following_outputs = dst_node[\"followers\"]?.try(&.as_a)\n logger.debug do\n \"routing #{following_outputs.size} additional followers\"\n end\n following_outputs.each do |output_follow|\n routes[output_follow.as_s] = {input, output_follow.as_s, max_dist, simulate, false}\n end\n end\n ignore_source_routes = dst_node[\"ignore_source_routes\"]?.try(&.as_bool) || false\n if (!ignore_source_routes) && (additional_routes = src_node[\"perform_routes\"]?.try(&.as_h))\n logger.debug do\n \"perfoming #{additional_routes.size} additional routes\"\n end\n additional_routes.each do |ad_output, ad_input|\n routes[ad_output] = {ad_input.as_s, ad_output, max_dist, simulate, false}\n end\n end\n spawn(same_thread: true) do\n routes.each_value do |route|\n route_signal(*route)\n end\n end\nend\nlogger.debug do\n \"awaiting responses\"\nend\nexecs.each do |promise|\n begin\n promise.get\n rescue error\n logger.warn(exception: error) do\n \"processing route\"\n end\n end\nend\n:ok\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/NodeRef","path":"Place/Router/Core/NodeRef.html","kind":"alias","full_name":"Place::Router::Core::NodeRef","name":"NodeRef","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Ref","aliased_html":"Place::Router::SignalGraph::Node::Ref","const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"}},{"html_id":"drivers/Place/Router/Core/Settings","path":"Place/Router/Core/Settings.html","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections","path":"Place/Router/Core/Settings/Connections.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Types for representing the settings format for defining connections.","summary":"

Types for representing the settings format for defining connections.

","class_methods":[{"html_id":"parse(map:Map,sys:String)-class-method","name":"parse","doc":"Parses a `Map` containing the system conectivity into a set of nodes and\nlinks that can be used for assembling the `SignalGraph`.","summary":"

Parses a Map containing the system conectivity into a set of nodes and links that can be used for assembling the SignalGraph.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(map : Map, sys : String)","args_html":"(map : Map, sys : String)","location":{"filename":"src/place/router/settings.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L105"},"def":{"name":"parse","args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"nodes = [] of SignalGraph::Node::Ref\nlinks = [] of ::Tuple(SignalGraph::Node::Ref, SignalGraph::Node::Ref)\naliases = {} of String => SignalGraph::Node::Ref\nmake_alias = ->(name : String, node : SignalGraph::Node::Ref) do\n if prev = aliases[name]?\n raise(\"invalid configuration: \\\"#{name}\\\" refers to both #{prev} and #{node}\")\n end\n aliases[name] = node\nend\nmap.each do |sink, inputs|\n if sink.is_a?(Alias)\n source = inputs\n if source.is_a?(DeviceOutput)\n else\n raise(\"invalid configuration: \\\"#{sink}\\\" must link to a DeviceOutput\")\n end\n onode = SignalGraph::Output.new(sys, source.mod, source.idx, source.output, source.layer)\n nodes << onode\n make_alias.call(sink.name, onode)\n else\n if inputs.is_a?(DeviceOutput)\n raise(\"invalid configuration: \\\"#{sink}\\\" must specify inputs as either a hash or array\")\n end\n nodes << (SignalGraph::Device.new(sys, sink.mod, sink.idx))\n if inputs.is_a?(Array)\n inputs = (inputs.each.with_index(1)).map(&.reverse)\n end\n inputs.each do |input, input_source|\n inode = SignalGraph::Input.new(sys, sink.mod, sink.idx, input)\n nodes << inode\n if input_source.is_a?(Alias)\n make_alias.call(input_source.name, inode)\n next\n end\n onode = case input_source\n in Device\n SignalGraph::Device.new(sys, input_source.mod, input_source.idx)\n in DeviceOutput\n SignalGraph::Output.new(sys, input_source.mod, input_source.idx, input_source.output, input_source.layer)\n end\n nodes << onode\n links << {onode, inode}\n end\n end\nend\n{nodes, links, aliases}\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Alias","path":"Place/Router/Core/Settings/Connections/Alias.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Alias","name":"Alias","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Alias used to refer to a signal node that does not have an accompanying\nmodule. This can be useful for declaring the concept of a device that is\nattached to an input (e.g. `\"*Laptop\"`). All alias' must be prefixed with\nan asterisk ('*') within connections settings.","summary":"

Alias used to refer to a signal node that does not have an accompanying module.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L73"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n new(name)\nend"}}],"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@name.clone)"}},{"html_id":"copy_with(name_name=@name)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"args_string":"(name _name = @name)","args_html":"(name _name = @name)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"copy_with","args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"visibility":"Public","body":"self.class.new(_name)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","path":"Place/Router/Core/Settings/Connections/Deserializable.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"instance_methods":[{"html_id":"from_json_object_key?(key:String)-instance-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L16"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"parse?(key)"}},{"html_id":"get_parts(module_id:String):Tuple(String,Int32|Nil)-instance-method","name":"get_parts","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Tuple(String, Int32 | Nil)","args_html":"(module_id : String) : Tuple(String, Int32 | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L20"},"def":{"name":"get_parts","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"::Tuple(String, Int32 | ::Nil)","visibility":"Public","body":"mod_name, match, index = module_id.rpartition('_')\nif match.empty?\n {module_id, 1}\nelse\n {mod_name, index.to_i?}\nend\n"}},{"html_id":"parse?(raw:String)-instance-method","name":"parse?","abstract":true,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L14"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":""}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Device","path":"Place/Router/Core/Settings/Connections/Device.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Module name of a device within the local system e.g. `\"Switcher_1\"`.","summary":"

Module name of a device within the local system e.g.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L34"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod, idx = get_parts(raw)\nif idx\n new(mod, idx)\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"args_string":"(mod : String, idx : Int32)","args_html":"(mod : String, idx : Int32)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx)","args_html":"(mod _mod = @mod, idx _idx = @idx)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/DeviceOutput","path":"Place/Router/Core/Settings/Connections/DeviceOutput.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Reference to a specific output on a device that has multiple outputs.\nThis is a concatenation of the `Device` reference a `.` and the output.\nFor example, output 3 of Switcher_1 is `\"Switcher_1.3\"`.","summary":"

Reference to a specific output on a device that has multiple outputs.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L47"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod_name, match, outp = raw.rpartition('.')\nif !match.empty?\n mod, idx = get_parts(mod_name)\n if idx\n outp_idx, match, layer = outp.rpartition('!')\n if match.empty?\n output = outp.to_i? || outp\n new(mod, idx, output, nil)\n else\n output = outp_idx.to_i? || outp_idx\n new(mod, idx, output, layer)\n end\n end\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32,output:String|Int32,layer:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"args_string":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","args_html":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","args_html":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx, _output, _layer)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"layer:String|Nil-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String | ::Nil","visibility":"Public","body":"@layer"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"output:String|Int32-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"String | Int32","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Input","path":"Place/Router/Core/Settings/Connections/Input.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Identifier for the input on Sink.","summary":"

Identifier for the input on Sink.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Map","path":"Place/Router/Core/Settings/Connections/Map.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Map","name":"Map","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Structure for a full connection map.\n\n```json\n{\n \"Display_1\": {\n \"hdmi\": \"Switcher_1.1\"\n },\n \"Switcher_1\": [\"*Foo\", \"*Bar\"],\n \"*FloorBox\": \"Switcher_1.2\"\n}\n```","summary":"

Structure for a full connection map.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Sink","path":"Place/Router/Core/Settings/Connections/Sink.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Sink","name":"Sink","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L85"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device that recieves the signal.","summary":"

The device that recieves the signal.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Source","path":"Place/Router/Core/Settings/Connections/Source.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Source","name":"Source","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device a signal is originating from.","summary":"

The device a signal is originating from.

"}]},{"html_id":"drivers/Place/Router/Core/Settings/IOMeta","path":"Place/Router/Core/Settings/IOMeta.html","kind":"alias","full_name":"Place::Router::Core::Settings::IOMeta","name":"IOMeta","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, JSON::Any))","aliased_html":"Hash(String, Hash(String, JSON::Any))","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Input/outputs and their associated metadata. Attributes specified here are\nprogated to the assocated input status keys. This allows information such as\nname, type etc to be exposed to UI's.","summary":"

Input/outputs and their associated metadata.

"}]},{"html_id":"drivers/Place/Router/Core/SignalNode","path":"Place/Router/Core/SignalNode.html","kind":"struct","full_name":"Place::Router::Core::SignalNode","name":"SignalNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/core.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"doc":"Wrapper for providng simple interaction with a signal node and it's\nassociated driver.","summary":"

Wrapper for providng simple interaction with a signal node and it's associated driver.

","constructors":[{"html_id":"new(label:Place::Router::SignalGraph::Node::Label,proxy:Future::Compute(PlaceOS::Driver::Proxy::Driver))-class-method","name":"new","abstract":false,"args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"args_string":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","args_html":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","location":{"filename":"src/place/router/core.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L20"},"def":{"name":"new","args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(label, proxy)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"proxy-instance-method","name":"proxy","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L25"},"def":{"name":"proxy","visibility":"Public","body":"@proxy.get"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/core.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L29"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}},{"html_id":"watch(&handler:self->)-instance-method","name":"watch","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L33"},"def":{"name":"watch","yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"visibility":"Public","body":"@label.watch do\n handler.call(self)\nend"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/place/router/core.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L23"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" @label.\n{{ call }}\n\n \n"}}]}]},{"html_id":"drivers/Place/Router/Digraph","path":"Place/Router/Digraph.html","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Labelled digraph. Holds node labels of type *N* and edge labels of type *E*.\n\nNodes are stored on UInt64 ID's. This provides an interface that should feel\nsimilar to `Indexable` for interacting with nodes labels. Similarly edges can\nbe placed and retrieved by using a dual index of {predescessor, successor}.\n\nOPTIMIZE: replace with a sparse matrix and graphBLAS operations.","summary":"

Labelled digraph.

","constructors":[{"html_id":"new(initial_capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"args_string":"(initial_capacity = nil)","args_html":"(initial_capacity = nil)","location":{"filename":"src/place/router/digraph.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L19"},"def":{"name":"new","args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"visibility":"Public","body":"_ = Digraph(N, E).allocate\n_.initialize(initial_capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](pred_id,succ_id)-instance-method","name":"[]","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id)","args_html":"(pred_id, succ_id)","location":{"filename":"src/place/router/digraph.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L68"},"def":{"name":"[]","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"visibility":"Public","body":"fetch(pred_id, succ_id) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} does not exist\"))\nend"}},{"html_id":"[](id)-instance-method","name":"[]","doc":"Retrieves the label attached to node *id*.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L42"},"def":{"name":"[]","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).attr"}},{"html_id":"[]=(pred_id,succ_id,attr)-instance-method","name":"[]=","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(pred_id, succ_id, attr)","args_html":"(pred_id, succ_id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L81"},"def":{"name":"[]=","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(pred_id, succ_id, attr) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} already exists\"))\nend"}},{"html_id":"[]=(id,attr)-instance-method","name":"[]=","doc":"Insert a new node.","summary":"

Insert a new node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(id, attr)","args_html":"(id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L53"},"def":{"name":"[]=","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(id, attr) do\n raise(Error.new(\"Node #{id} already exists\"))\nend"}},{"html_id":"breadth_first_search(from,&:UInt64->Bool|Nil)-instance-method","name":"breadth_first_search","doc":"Perform a breadth first search across the graph, starting at *from*.\n\nEach node id is yielded as it's traversed. The search will terminate when\nthis block returns true. If `nil` is returned the node is skipped, but the\ntraversal continues.\n\nResults are provided as a Hash that includes all reached nodes as the keys,\nand their predecessor as the associated value.","summary":"

Perform a breadth first search across the graph, starting at from.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""}],"args_string":"(from, & : UInt64 -> Bool | Nil)","args_html":"(from, & : UInt64 -> Bool | Nil)","location":{"filename":"src/place/router/digraph.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L106"},"def":{"name":"breadth_first_search","args":[{"name":"from","external_name":"from","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"","external_name":"","restriction":"(UInt64 -> Bool | ::Nil)"},"visibility":"Public","body":"paths = Hash(UInt64, UInt64).new\nqueue = Deque(UInt64).new(1, from)\nwhile pred_id = queue.shift?\n (node(pred_id)).succ.each_key do |succ_id|\n if paths.has_key?(succ_id)\n next\n end\n done = yield succ_id\n if done.nil?\n next\n end\n paths[succ_id] = pred_id\n if done\n return paths\n end\n queue << succ_id\n end\nend\n"}},{"html_id":"clear(*args,**options)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@nodes.clear(*args, **options)"}},{"html_id":"clear(*args,**options,&)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@nodes.clear(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"fetch(pred_id,succ_id,&):E-instance-method","name":"fetch","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id, &) : E","args_html":"(pred_id, succ_id, &) : E","location":{"filename":"src/place/router/digraph.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L75"},"def":{"name":"fetch","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"yields":2,"block_arity":2,"return_type":"E","visibility":"Public","body":"succ_id = check_node_exists(succ_id)\n(node(pred_id)).succ.fetch(succ_id) do\n yield pred_id, succ_id\nend\n"}},{"html_id":"fetch(id,&):N-instance-method","name":"fetch","doc":"Retrieves the label attached to node *id*. Yields if it does not exist.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id, &) : N","args_html":"(id, &) : N","location":{"filename":"src/place/router/digraph.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L47"},"def":{"name":"fetch","args":[{"name":"id","external_name":"id","restriction":""}],"yields":1,"block_arity":1,"return_type":"N","visibility":"Public","body":"node = node(id) do\n return yield id\nend\nnode.attr\n"}},{"html_id":"indegree(id)-instance-method","name":"indegree","doc":"The number of incomming edges to *id*.","summary":"

The number of incomming edges to id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L183"},"def":{"name":"indegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"id = check_node_exists(id)\n@nodes.reduce(0) do |count, __arg1|\n node = __arg1[1]\n if node.succ.has_key?(id)\n count = count + 1\n end\n count\nend\n"}},{"html_id":"insert(pred_id,succ_id,attr:E,&)-instance-method","name":"insert","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"args_string":"(pred_id, succ_id, attr : E, &)","args_html":"(pred_id, succ_id, attr : E, &)","location":{"filename":"src/place/router/digraph.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L88"},"def":{"name":"insert","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"yields":2,"block_arity":2,"visibility":"Public","body":"succ_id = check_node_exists(succ_id)\npred = node(pred_id)\nif pred.succ.has_key?(succ_id)\n yield pred_id, succ_id\nelse\n pred.succ[succ_id] = attr\nend\n"}},{"html_id":"insert(id,attr:N,&)-instance-method","name":"insert","doc":"Inserts a node. Yields if it already exists.","summary":"

Inserts a node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"args_string":"(id, attr : N, &)","args_html":"(id, attr : N, &)","location":{"filename":"src/place/router/digraph.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L58"},"def":{"name":"insert","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"yields":1,"block_arity":1,"visibility":"Public","body":"id = id.to_u64\nif @nodes.has_key?(id)\n yield id\nelse\n @nodes[id] = Node(N, E).new(attr, {} of UInt64 => E)\nend\n"}},{"html_id":"nodes:Enumerable(UInt64)-instance-method","name":"nodes","doc":"Provides all nodes present within the graph.\n\nNOTE: ordering of nodes is _not_ defined.","summary":"

Provides all nodes present within the graph.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L149"},"def":{"name":"nodes","return_type":"Enumerable(UInt64)","visibility":"Public","body":"@nodes.each_key"}},{"html_id":"outdegree(id)-instance-method","name":"outdegree","doc":"The outgoing edges from *id*.","summary":"

The outgoing edges from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L178"},"def":{"name":"outdegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).succ.size"}},{"html_id":"path(from,to,invert=false):Enumerable(UInt64)|Nil-instance-method","name":"path","doc":"Returns a list of node IDs that form the shortest path between the passed\nnodes or `nil` if no path exists.","summary":"

Returns a list of node IDs that form the shortest path between the passed nodes or nil if no path exists.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"args_string":"(from, to, invert = false) : Enumerable(UInt64) | Nil","args_html":"(from, to, invert = false) : Enumerable(UInt64) | Nil","location":{"filename":"src/place/router/digraph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L130"},"def":{"name":"path","args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"return_type":"Enumerable(UInt64) | ::Nil","visibility":"Public","body":"from = check_node_exists(from)\nto = check_node_exists(to)\npaths = breadth_first_search(from, &.==(to))\nif paths.nil?\n return\nend\nnodes = [to]\nwhile !(nodes.last == from)\n nodes << paths[nodes.last]\nend\ninvert ? nodes : nodes.reverse!\n"}},{"html_id":"sink?(id):Bool-instance-method","name":"sink?","doc":"Checks if a node has incoming edges only.","summary":"

Checks if a node has incoming edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L154"},"def":{"name":"sink?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(outdegree(id)).zero? && (!(indegree(id)).zero?)"}},{"html_id":"sinks:Enumerable(UInt64)-instance-method","name":"sinks","doc":"Provides all nodes with incoming edges only.","summary":"

Provides all nodes with incoming edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L159"},"def":{"name":"sinks","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n sink?(id)\nend"}},{"html_id":"source?(id):Bool-instance-method","name":"source?","doc":"Checks if a node has outgoing edges only.","summary":"

Checks if a node has outgoing edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L164"},"def":{"name":"source?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(!(outdegree(id)).zero?) && (indegree(id)).zero?"}},{"html_id":"sources:Enumerable(UInt64)-instance-method","name":"sources","doc":"Provides all nodes with outgoing edges only.\n\nOPTIMIZE: this is _very_ slow [O(V * E)], but works for testing purposes.\nSwitching the sparse matrix should assist so not worth optimising for this\nsetup.","summary":"

Provides all nodes with outgoing edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L173"},"def":{"name":"sources","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n source?(id)\nend"}},{"html_id":"subtree(id):Enumerable(UInt64)-instance-method","name":"subtree","doc":"Provides all nodes reachable from *id*.","summary":"

Provides all nodes reachable from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Enumerable(UInt64)","args_html":"(id) : Enumerable(UInt64)","location":{"filename":"src/place/router/digraph.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L192"},"def":{"name":"subtree","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Enumerable(UInt64)","visibility":"Public","body":"id = check_node_exists(id)\nSubtreeIterator.new(self, id)\n"}}],"types":[{"html_id":"drivers/Place/Router/Digraph/Error","path":"Place/Router/Digraph/Error.html","kind":"class","full_name":"Place::Router::Digraph::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"}},{"html_id":"drivers/Place/Router/Digraph/Node","path":"Place/Router/Digraph/Node.html","kind":"struct","full_name":"Place::Router::Digraph::Node(N, E)","name":"Node","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"},"constructors":[{"html_id":"new(attr:N,succ:Hash(UInt64,E))-class-method","name":"new","abstract":false,"args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"args_string":"(attr : N, succ : Hash(UInt64, E))","args_html":"(attr : N, succ : Hash(UInt64, E))","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"new","args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"visibility":"Public","body":"_ = Node(N, E).allocate\n_.initialize(attr, succ)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attr:N-instance-method","name":"attr","abstract":false,"def":{"name":"attr","return_type":"N","visibility":"Public","body":"@attr"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@attr.clone, @succ.clone)"}},{"html_id":"copy_with(attr_attr=@attr,succ_succ=@succ)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"args_string":"(attr _attr = @attr, succ _succ = @succ)","args_html":"(attr _attr = @attr, succ _succ = @succ)","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"copy_with","args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"visibility":"Public","body":"self.class.new(_attr, _succ)"}},{"html_id":"succ:Hash(UInt64,E)-instance-method","name":"succ","abstract":false,"def":{"name":"succ","return_type":"Hash(UInt64, E)","visibility":"Public","body":"@succ"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph","path":"Place/Router/SignalGraph.html","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L11"},{"filename":"src/place/router/signal_graph/edge.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L3"},{"filename":"src/place/router/signal_graph/mod.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L5"},{"filename":"src/place/router/signal_graph/node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L5"},{"filename":"src/place/router/signal_graph/watchable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Structures and types for mapping between sys,mod,idx,io referencing and the\nunderlying graph structure.\n\nThe SignalGraph class _does not_ perform any direct interaction with devices,\nbut does provide the ability to discover routes and available connectivity\nwhen may then be acted on.","summary":"

Structures and types for mapping between sys,mod,idx,io referencing and the underlying graph structure.

","class_methods":[{"html_id":"build(nodes:Enumerable(Node::Ref),links:Enumerable(Tuple(Node::Ref,Node::Ref)))-class-method","name":"build","doc":"Construct a graph from a pre-parsed configuration.\n\n*nodes* must contain the set of all signal nodes that form the device inputs\nand outputs across the system. This includes those at the \"edge\" of the\nsignal network (e.g. a input to a switcher) as well as inputs in use on\nintermediate devices (e.g. a input on a display, which in turn is attached to\nthe switcher above).\n\n*links* declares the interconnections between devices.\n\nModules associated with any of these nodes are then introspected for\nswitching, input selection and mute control based on the interfaces they\nexpose.","summary":"

Construct a graph from a pre-parsed configuration.

","abstract":false,"args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"args_string":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","args_html":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","location":{"filename":"src/place/router/signal_graph.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L93"},"def":{"name":"build","args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"visibility":"Public","body":"mod_io = Hash(Mod, ::Tuple(Set(Input), Set(Output))).new do |h, k|\n h[k] = {Set(Input).new, Set(Output).new}\nend\nsiggraph = new(initial_capacity: nodes.size)\nsiggraph.insert(Mute)\nnodes.each do |node|\n siggraph.insert(node)\n case node\n when Input\n inputs, _ = mod_io[node.mod]\n inputs << node\n when Output\n _, outputs = mod_io[node.mod]\n outputs << node\n end\nend\nlinks.each do |source, dest|\n siggraph.connect(source, dest)\nend\nmod_io.each do |mod, __arg0|\n inputs = __arg0[0]\n outputs = __arg0[1]\n siggraph.link(mod, inputs, outputs)\nend\nsiggraph.inputs.each do |node|\n node.source = node.ref\nend\nsiggraph\n"}}],"instance_methods":[{"html_id":"[](node:Node::Ref)-instance-method","name":"[]","doc":"Retrieves the labelled state for *node*.","summary":"

Retrieves the labelled state for node.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref)","args_html":"(node : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L130"},"def":{"name":"[]","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"visibility":"Public","body":"g[node.id]"}},{"html_id":"[](node_id)-instance-method","name":"[]","doc":"Retrieves the labelled state for the signal node at *node_id*.","summary":"

Retrieves the labelled state for the signal node at node_id.

","abstract":false,"args":[{"name":"node_id","external_name":"node_id","restriction":""}],"args_string":"(node_id)","args_html":"(node_id)","location":{"filename":"src/place/router/signal_graph.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L135"},"def":{"name":"[]","args":[{"name":"node_id","external_name":"node_id","restriction":""}],"visibility":"Public","body":"g[node_id]"}},{"html_id":"input?(node:Node::Ref):Bool-instance-method","name":"input?","doc":"Checks if *node* is a system input.","summary":"

Checks if node is a system input.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L161"},"def":{"name":"input?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.sink?(node.id)"}},{"html_id":"inputs(destination:Node::Ref)-instance-method","name":"inputs","doc":"Provide all signal nodes that can be routed to *destination*.","summary":"

Provide all signal nodes that can be routed to destination.

","abstract":false,"args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"args_string":"(destination : Node::Ref)","args_html":"(destination : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L172"},"def":{"name":"inputs","args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"visibility":"Public","body":"(g.subtree(destination.id)).map do |id|\n g[id]\nend"}},{"html_id":"inputs-instance-method","name":"inputs","doc":"Provide the signal nodes that form system inputs.","summary":"

Provide the signal nodes that form system inputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L166"},"def":{"name":"inputs","visibility":"Public","body":"g.sinks.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"output?(node:Node::Ref):Bool-instance-method","name":"output?","doc":"Checks if *node* is a system output.","summary":"

Checks if node is a system output.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L177"},"def":{"name":"output?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.source?(node.id)"}},{"html_id":"outputs-instance-method","name":"outputs","doc":"Provide the signal nodes that form system outputs.","summary":"

Provide the signal nodes that form system outputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L182"},"def":{"name":"outputs","visibility":"Public","body":"g.sources.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"route(source:Node::Ref,destination:Node::Ref,max_dist=nil)-instance-method","name":"route","doc":"Find the signal path that connects *source* to *dest*, or `nil` if this is\nnot possible.\n\nProvides an `Iterator` that provides labels across each node, the edge, and\nsubsequent node.","summary":"

Find the signal path that connects source to dest, or nil if this is not possible.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"args_string":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","args_html":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","location":{"filename":"src/place/router/signal_graph.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L144"},"def":{"name":"route","args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"visibility":"Public","body":"path = g.path(destination.id, source.id, invert: true)\nif path\nelse\n return nil\nend\nif max_dist && path.size > max_dist\n return nil\nend\n(path.each_cons(2, true)).map do |__arg1|\n succ = __arg1[0]\n pred = __arg1[1]\n {g[succ], g[pred, succ], g[pred]}\nend\n"}}],"types":[{"html_id":"drivers/Place/Router/SignalGraph/Device","path":"Place/Router/SignalGraph/Device.html","kind":"alias","full_name":"Place::Router::SignalGraph::Device","name":"Device","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Device","aliased_html":"Place::Router::SignalGraph::Node::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge","path":"Place/Router/SignalGraph/Edge.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Active","path":"Place/Router/SignalGraph/Edge/Active.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Active","name":"Active","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"new(mod:Mod,func:Func::Type)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"args_string":"(mod : Mod, func : Func::Type)","args_html":"(mod : Mod, func : Func::Type)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, func)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @func.clone)"}},{"html_id":"copy_with(mod_mod=@mod,func_func=@func)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"args_string":"(mod _mod = @mod, func _func = @func)","args_html":"(mod _mod = @mod, func _func = @func)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _func)"}},{"html_id":"func:Func::Type-instance-method","name":"func","abstract":false,"def":{"name":"func","return_type":"Func::Type","visibility":"Public","body":"@func"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","path":"Place/Router/SignalGraph/Edge/Func.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Mute","path":"Place/Router/SignalGraph/Edge/Func/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(state:Bool,index:Int32|String=0)-class-method","name":"new","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool, index : Int32 | String = 0)","args_html":"(state : Bool, index : Int32 | String = 0)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"new","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(state, index)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@state.clone, @index.clone)"}},{"html_id":"copy_with(state_state=@state,index_index=@index)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"args_string":"(state _state = @state, index _index = @index)","args_html":"(state _state = @state, index _index = @index)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"copy_with","args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"visibility":"Public","body":"self.class.new(_state, _index)"}},{"html_id":"index:Int32|String-instance-method","name":"index","abstract":false,"def":{"name":"index","return_type":"Int32 | String","visibility":"Public","body":"@index"}},{"html_id":"state:Bool-instance-method","name":"state","abstract":false,"def":{"name":"state","return_type":"Bool","visibility":"Public","body":"@state"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Select","path":"Place/Router/SignalGraph/Edge/Func/Select.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Select","name":"Select","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"args_string":"(input : Int32 | String)","args_html":"(input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone)"}},{"html_id":"copy_with(input_input=@input)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"args_string":"(input _input = @input)","args_html":"(input _input = @input)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"visibility":"Public","body":"self.class.new(_input)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Switch","path":"Place/Router/SignalGraph/Edge/Func/Switch.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String,output:Int32|String,layer:String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"args_string":"(input : Int32 | String, output : Int32 | String, layer : String)","args_html":"(input : Int32 | String, output : Int32 | String, layer : String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Type","path":"Place/Router/SignalGraph/Edge/Func/Type.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Func::Type","name":"Type","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch)","aliased_html":"Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Label","path":"Place/Router/SignalGraph/Edge/Label.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Label","name":"Label","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static)","aliased_html":"Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Static","path":"Place/Router/SignalGraph/Edge/Static.html","kind":"class","full_name":"Place::Router::SignalGraph::Edge::Static","name":"Static","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L8"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Input","path":"Place/Router/SignalGraph/Input.html","kind":"alias","full_name":"Place::Router::SignalGraph::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceInput","aliased_html":"Place::Router::SignalGraph::Node::DeviceInput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Mod","path":"Place/Router/SignalGraph/Mod.html","kind":"class","full_name":"Place::Router::SignalGraph::Mod","name":"Mod","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/mod.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"doc":"Reference to a PlaceOS module that provides IO nodes within the graph.","summary":"

Reference to a PlaceOS module that provides IO nodes within the graph.

","class_methods":[{"html_id":"parse?(ref)-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref)","args_html":"(ref)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L44"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"visibility":"Public","body":"if m = ref.match(/^(.+)\\/(.+)\\_(\\d+)$/)\n sys = m[1]\n mod = m[2]\n idx = m[3].to_i\n new(sys, mod, idx)\nend"}}],"constructors":[{"html_id":"new(sys:String,name:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"args_string":"(sys : String, name : String, idx : Int32)","args_html":"(sys : String, name : String, idx : Int32)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L14"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"==(other:self)-instance-method","name":"==","doc":"Returns `true` if this reference is the same as *other*. Invokes `same?`.","summary":"

Returns true if this reference is the same as other.

","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"self"}],"args_string":"(other : self)","args_html":"(other : self)","def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"self"}],"visibility":"Public","body":"if same?(other)\n return true\nend\nif @id == (other.@id)\nelse\n return false\nend\ntrue\n"}},{"html_id":"audio_muteable?-instance-method","name":"audio_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"audio_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::AudioMuteable\".in?(metadata.implements)"}},{"html_id":"camera?-instance-method","name":"camera?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"camera?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Camera\".in?(metadata.implements)"}},{"html_id":"door_security?-instance-method","name":"door_security?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"door_security?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::DoorSecurity\".in?(metadata.implements)"}},{"html_id":"electrical_relay?-instance-method","name":"electrical_relay?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"electrical_relay?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::ElectricalRelay\".in?(metadata.implements)"}},{"html_id":"hash(hasher)-instance-method","name":"hash","doc":"See `Object#hash(hasher)`","summary":"

See Object#hash(hasher)

","abstract":false,"args":[{"name":"hasher","external_name":"hasher","restriction":""}],"args_string":"(hasher)","args_html":"(hasher)","def":{"name":"hash","args":[{"name":"hasher","external_name":"hasher","restriction":""}],"visibility":"Public","body":"hasher = @id.hash(hasher)\nhasher\n"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L12"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L10"},"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"input_muteable?-instance-method","name":"input_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputMuteable\".in?(metadata.implements)"}},{"html_id":"input_selection?-instance-method","name":"input_selection?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_selection?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputSelection\".in?(metadata.implements)"}},{"html_id":"lighting?-instance-method","name":"lighting?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lighting?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lighting\".in?(metadata.implements)"}},{"html_id":"locatable?-instance-method","name":"locatable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"locatable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Locatable\".in?(metadata.implements)"}},{"html_id":"lockers?-instance-method","name":"lockers?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lockers?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lockers\".in?(metadata.implements)"}},{"html_id":"mailer?-instance-method","name":"mailer?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"mailer?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Mailer\".in?(metadata.implements)"}},{"html_id":"metadata-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L19"},"def":{"name":"metadata","visibility":"Public","body":"(PlaceOS::Driver::Proxy::System.driver_metadata?(id)).not_nil!"}},{"html_id":"moveable?-instance-method","name":"moveable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"moveable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Moveable\".in?(metadata.implements)"}},{"html_id":"muteable?-instance-method","name":"muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Muteable\".in?(metadata.implements)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L9"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"powerable?-instance-method","name":"powerable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"powerable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Powerable\".in?(metadata.implements)"}},{"html_id":"selectable?-instance-method","name":"selectable?","doc":"FIXME: drop if / after renaming InputSelection -> Selectable","summary":"

FIXME drop if / after renaming InputSelection -> Selectable

","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"selectable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Selectable\".in?(metadata.implements)"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sensor?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Sensor\".in?(metadata.implements)"}},{"html_id":"sms?-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sms?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::SMS\".in?(metadata.implements)"}},{"html_id":"stoppable?-instance-method","name":"stoppable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"stoppable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Stoppable\".in?(metadata.implements)"}},{"html_id":"switchable?-instance-method","name":"switchable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"switchable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Switchable\".in?(metadata.implements)"}},{"html_id":"sys:String-instance-method","name":"sys","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L8"},"def":{"name":"sys","return_type":"String","visibility":"Public","body":"@sys"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L40"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((((io << sys) << '/') << name) << '_') << idx"}},{"html_id":"video_muteable?-instance-method","name":"video_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"video_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::VideoMuteable\".in?(metadata.implements)"}},{"html_id":"zoomable?-instance-method","name":"zoomable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"zoomable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Zoomable\".in?(metadata.implements)"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node","path":"Place/Router/SignalGraph/Node.html","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","path":"Place/Router/SignalGraph/Node/Device.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to the default / central node for a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1\n │ │ │\n │ │ └module index\n │ └module name\n └system\n","summary":"

Reference to the default / central node for a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L150"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if mod = Mod.parse?(ref)\n new(mod)\nend"}}],"constructors":[{"html_id":"new(sys,name,idx)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"args_string":"(sys, name, idx)","args_html":"(sys, name, idx)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L139"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"args_string":"(mod : Place::Router::SignalGraph::Mod)","args_html":"(mod : Place::Router::SignalGraph::Mod)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L143"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L137"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L146"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","path":"Place/Router/SignalGraph/Node/DeviceInput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L207"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal input to a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1:hdmi\n │ │ │ │\n │ │ │ └input\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal input to a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L222"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, i = ref.rpartition(':')\nif mod = Mod.parse?(m)\n input = i.to_i? || i\n new(mod, input)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(sys, name, idx, input : Int32 | String)","args_html":"(sys, name, idx, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L211"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L215"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L209"},"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L208"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L218"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << ':') << input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","path":"Place/Router/SignalGraph/Node/DeviceOutput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal output from a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Switcher_1.1!video\n │ │ │ │ │_layer\n │ │ │ └output\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal output from a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L187"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, o = ref.rpartition('.')\nif mod = Mod.parse?(m)\n output = o.to_i? || o\n new(mod, output)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,output:Int32|String,layer)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"args_string":"(sys, name, idx, output : Int32 | String, layer)","args_html":"(sys, name, idx, output : Int32 | String, layer)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L173"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,output:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L178"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, output)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L171"},"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L169"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L170"},"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L182"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << '.') << output\nif @layer == DEFAULT_LAYER\nelse\n (io << '!') << @layer\nend\n"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","path":"Place/Router/SignalGraph/Node/Label.html","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Metadata tracked against each signal node.","summary":"

Metadata tracked against each signal node.

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(ref:Place::Router::SignalGraph::Node::Ref)-class-method","name":"new","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"args_string":"(ref : Place::Router::SignalGraph::Node::Ref)","args_html":"(ref : Place::Router::SignalGraph::Node::Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L12"},"def":{"name":"new","args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ref)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(key,value:JSON::Any)-instance-method","name":"[]=","doc":"Sets a metadata property of `self`.","summary":"

Sets a metadata property of self.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(key, value : JSON::Any)","args_html":"(key, value : JSON::Any)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Int)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"args_string":"(key, value : Int)","args_html":"(key, value : Int)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Float)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"args_string":"(key, value : Float)","args_html":"(key, value : Float)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Array)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"args_string":"(key, value : Array)","args_html":"(key, value : Array)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Hash)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"args_string":"(key, value : Hash)","args_html":"(key, value : Hash)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"locked:Bool-instance-method","name":"locked","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L27"},"def":{"name":"locked","return_type":"Bool","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool)-instance-method","name":"locked=","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"args_string":"(locked : Bool)","args_html":"(locked : Bool)","def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"visibility":"Public","body":"(previous_def(locked)).tap do\n notify\nend"}},{"html_id":"meta:Hash(String,JSON::Any)-instance-method","name":"meta","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L33"},"def":{"name":"meta","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @meta).nil?\n @meta = (Hash(String, JSON::Any).new)\nelse\n value\nend"}},{"html_id":"meta=(meta:Hash(String,JSON::Any))-instance-method","name":"meta=","abstract":false,"args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"args_string":"(meta : Hash(String, JSON::Any))","args_html":"(meta : Hash(String, JSON::Any))","def":{"name":"meta=","args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"(previous_def(meta)).tap do\n notify\nend"}},{"html_id":"ref:Ref-instance-method","name":"ref","doc":"The `Node::Ref` used when creating this node.","summary":"

The Node::Ref used when creating this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L20"},"def":{"name":"ref","return_type":"Ref","visibility":"Public","body":"@ref"}},{"html_id":"source:Ref|Nil-instance-method","name":"source","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L23"},"def":{"name":"source","return_type":"Ref | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:Ref|Nil)-instance-method","name":"source=","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"args_string":"(source : Ref | Nil)","args_html":"(source : Ref | Nil)","def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"visibility":"Public","body":"(previous_def(source)).tap do\n notify\nend"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L15"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","path":"Place/Router/SignalGraph/Node/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Virtual node representing (any) mute source.\n\nThis may be refernced simply as `MUTE`.","summary":"

Virtual node representing (any) mute source.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L247"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if ref.upcase.ends_with?(\"MUTE\")\n instance\nend"}}],"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L235"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}],"instance_methods":[{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L240"},"def":{"name":"id","visibility":"Public","body":"0_u64"}},{"html_id":"mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L244"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L252"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << \"MUTE\""}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","path":"Place/Router/SignalGraph/Node/Ref.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"subclasses":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Base structure for referring to a node within the graph.","summary":"

Base structure for referring to a node within the graph.

","class_methods":[{"html_id":"resolve?(key:String,sys=nil)-class-method","name":"resolve?","doc":"Resolves a string-based node *key* to a fully-qualified reference.\n\nIf a system component is not present within *key*, this is resolved\nwithin the context of *sys*. For example:\n\n Ref.resolve(\"Display_1:hdmi\", \"sys-abc123\")\n # => DeviceInput(sys: \"sys-abc123\", mod: {\"Display\", 1}, input: \"hdmi\")\n","summary":"

Resolves a string-based node key to a fully-qualified reference.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"args_string":"(key : String, sys = nil)","args_html":"(key : String, sys = nil)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L81"},"def":{"name":"resolve?","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"visibility":"Public","body":"ref = key.includes?('/') ? key : \"#{sys}/#{key}\"\n{% if true %}\n {% for type in @type.subclasses %}\n {{ type }}.parse?(ref) || \\\n {% end %}\n nil\n {% end %}\n"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"==(other:Ref)-instance-method","name":"==","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"Ref"}],"args_string":"(other : Ref)","args_html":"(other : Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L104"},"def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"Ref"}],"visibility":"Public","body":"id == other.id"}},{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L92"},"def":{"name":"id","visibility":"Public","body":"self.class.hash ^ self.hash"}},{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"initialize","visibility":"Public","body":""}},{"html_id":"layer-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L100"},"def":{"name":"layer","visibility":"Public","body":"DEFAULT_LAYER"}},{"html_id":"local(sys:String)-instance-method","name":"local","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(sys : String)","args_html":"(sys : String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L108"},"def":{"name":"local","args":[{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"to_s.lchop(\"#{sys}/\")"}},{"html_id":"mod-instance-method","name":"mod","abstract":true,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L96"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_json(json)-instance-method","name":"to_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":""}],"args_string":"(json)","args_html":"(json)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L112"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":""}],"visibility":"Public","body":"json.string(to_s)"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Output","path":"Place/Router/SignalGraph/Output.html","kind":"alias","full_name":"Place::Router::SignalGraph::Output","name":"Output","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceOutput","aliased_html":"Place::Router::SignalGraph::Node::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","path":"Place/Router/SignalGraph/Watchable.html","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/watchable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"instance_methods":[{"html_id":"notify:Nil-instance-method","name":"notify","doc":"Notify subscribers with current state.","summary":"

Notify subscribers with current state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L10"},"def":{"name":"notify","return_type":"Nil","visibility":"Public","body":"@subscribers.try(&.each(&.call(self)))"}},{"html_id":"watch(initial=true,&handler:self->):Nil-instance-method","name":"watch","doc":"Subscribe to updates.","summary":"

Subscribe to updates.

","abstract":false,"args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"args_string":"(initial = true, &handler : self -> ) : Nil","args_html":"(initial = true, &handler : self -> ) : Nil","location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L4"},"def":{"name":"watch","args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"return_type":"Nil","visibility":"Public","body":"subscribers << handler\nif initial\n handler.call(self)\nend\n"}}]}]}]},{"html_id":"drivers/Place/SensorShutdown","path":"Place/SensorShutdown.html","kind":"class","full_name":"Place::SensorShutdown","name":"SensorShutdown","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/sensor_shutdown.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"event_in_progress?:Bool-instance-method","name":"event_in_progress?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L22"},"def":{"name":"event_in_progress?","return_type":"Bool","visibility":"Public","body":"@event_in_progress"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"timeout_ad_hoc = (setting?(UInt32, :timeout_ad_hoc)) || 15_u32.minutes\ntimeout_booked = (setting?(UInt32, :timeout_booked)) || 30_u32.minutes\nsubscriptions.clear\nbookings.subscribe(:status) do |_sub, status|\n update_status(status != \"\\\"free\\\"\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nav_control.subscribe(:active) do |_sub, active|\n update_room_power_state(active == \"true\")\nend\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L23"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}},{"html_id":"room_powered_on?:Bool-instance-method","name":"room_powered_on?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L25"},"def":{"name":"room_powered_on?","return_type":"Bool","visibility":"Public","body":"@room_powered_on"}},{"html_id":"sensor_stale?:Bool-instance-method","name":"sensor_stale?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L24"},"def":{"name":"sensor_stale?","return_type":"Bool","visibility":"Public","body":"@sensor_stale"}},{"html_id":"timer_active?:Bool-instance-method","name":"timer_active?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L27"},"def":{"name":"timer_active?","return_type":"Bool","visibility":"Public","body":"@timer_active"}}]},{"html_id":"drivers/Place/Smtp","path":"Place/Smtp.html","kind":"class","full_name":"Place::Smtp","name":"Smtp","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/smtp.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/smtp.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L94"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/smtp.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L90"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"defaults = URI.parse(config.uri.not_nil!)\ntls_mode = if scheme = defaults.scheme\n scheme.ends_with?('s') ? EMail::Client::TLSMode::SMTPS : EMail::Client::TLSMode::STARTTLS\nelse\n EMail::Client::TLSMode::STARTTLS\nend\nport = defaults.port || 587\nhost = defaults.host || \"smtp.host\"\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@sender = (setting?(String, :sender)) || \"support@place.tech\"\n@host = (setting?(String, :host)) || host\n@port = (setting?(Int32, :port)) || port\n@tls_mode = (setting?(EMail::Client::TLSMode, :tls_mode)) || tls_mode\n@ssl_verify_ignore = (setting?(Bool, :ssl_verify_ignore)) || false\n@smtp_client = new_smtp_client\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil,reply_to:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/smtp.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L98"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"if to.is_a?(Array)\nelse\n to = {to}\nend\nif from.nil? || from.is_a?(Array)\nelse\n from = {from}\nend\nif cc.nil? || cc.is_a?(Array)\nelse\n cc = {cc}\nend\nif bcc.nil? || bcc.is_a?(Array)\nelse\n bcc = {bcc}\nend\nif reply_to.nil? || reply_to.is_a?(Array)\nelse\n reply_to = {reply_to}\nend\nmessage = EMail::Message.new\nmessage.subject(subject)\nmessage.sender(@sender)\nif from.nil? || from.empty?\n message.from(@sender)\nelse\n from.each do |_from|\n message.from(_from)\n end\nend\nto.each do |_to|\n message.to(_to)\nend\nbcc.each do |_bcc|\n message.bcc(_bcc)\nend\ncc.each do |_cc|\n message.cc(_cc)\nend\nif reply_to\n reply_to.each do |_reply|\n message.reply_to(_reply)\n end\nend\nif message_plaintext.presence.nil?\nelse\n message.message(message_plaintext.as(String))\nend\nif message_html.presence.nil?\nelse\n message.message_html(message_html.as(String))\nend\n{resource_attachments, attachments}.map(&.each).each.flatten.each do |attachment|\n attachment_io = IO::Memory.new\n Base64.decode(attachment[:content], attachment_io)\n attachment_io.rewind\n case attachment\n in Attachment\n message.attach(io: attachment_io, file_name: attachment[:file_name])\n in ResourceAttachment\n message.message_resource(io: attachment_io, file_name: attachment[:file_name], cid: attachment[:content_id])\n end\nend\nsent = false\n@send_lock.synchronize do\n smtp_client.start do\n sent = send(message)\n end\nend\nsent\n"}}]},{"html_id":"drivers/Place/SpecHelper","path":"Place/SpecHelper.html","kind":"class","full_name":"Place::SpecHelper","name":"SpecHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/spec_helper.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/spec_helper.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"implemented_in_driver-instance-method","name":"implemented_in_driver","doc":"This method will be exposed on the module","summary":"

This method will be exposed on the module

","abstract":false,"location":{"filename":"src/place/spec_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/spec_helper.cr#L5"},"def":{"name":"implemented_in_driver","visibility":"Public","body":"\"woot!\""}}]},{"html_id":"drivers/Place/StaffAPI","path":"Place/StaffAPI.html","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve(booking_id:String|Int64)-instance-method","name":"approve","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":518,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L518"},"def":{"name":"approve","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"approving booking #{booking_id}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/approve\", headers: authentication)\nif response.success?\nelse\n raise(\"issue approving booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_check_in(booking_id:String|Int64,state:Bool=true,utm_source:String|Nil=nil)-instance-method","name":"booking_check_in","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L534"},"def":{"name":"booking_check_in","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"checking in booking #{booking_id} to: #{state}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n form.add(\"state\", state.to_s)\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/check_in?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue checking in booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_delete(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"booking_delete","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L547"},"def":{"name":"booking_delete","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = delete(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_state(booking_id:String|Int64,state:String)-instance-method","name":"booking_state","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(booking_id : String | Int64, state : String)","args_html":"(booking_id : String | Int64, state : String)","location":{"filename":"src/place/staff_api.cr","line_number":526,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L526"},"def":{"name":"booking_state","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id} state to: #{state}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/update_state?state=#{state}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"chat_members(session_id:String):Array(String)-instance-method","name":"chat_members","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String) : Array(String)","args_html":"(session_id : String) : Array(String)","location":{"filename":"src/place/staff_api.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L187"},"def":{"name":"chat_members","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"SimpleRetry.try_to(max_attempts: 3, base_interval: 1.second, max_interval: 5.seconds) do\n response = get(\"/api/engine/v2/webrtc/members/#{session_id}\", headers: authentication)\n if response.success?\n else\n raise(\"webrtc service possibly unavailable\")\n end\n Array(String).from_json(response.not_nil!.body)\nend"}},{"html_id":"create_booking(booking_type:String,asset_id:String,user_id:String,user_email:String,user_name:String,zones:Array(String),booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,checked_in:Bool=false,approved:Bool|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,time_zone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,utm_source:String|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"create_booking","doc":"===================================\nBOOKINGS ACTIONS\n===================================","summary":"

=================================== BOOKINGS ACTIONS ===================================

","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":408,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L408"},"def":{"name":"create_booking","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"now = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nbooking_start || (booking_start = now.at_beginning_of_day.to_unix)\nbooking_end || (booking_end = now.at_end_of_day.to_unix)\nif checked_in\n checked_in_at = now.to_unix\nend\nlogger.debug do\n \"creating a #{booking_type} booking, starting #{booking_start}, asset #{asset_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"booking_type\" => booking_type, \"asset_id\" => asset_id, \"user_id\" => user_id, \"user_email\" => user_email, \"user_name\" => user_name, \"zones\" => zones, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"approved\" => approved, \"title\" => title, \"description\" => description, \"timezone\" => time_zone, \"extension_data\" => extension_data || (JSON.parse(\"{}\"))}.compact.to_json)\nif response.success?\nelse\n raise(\"issue creating #{booking_type} booking, starting #{booking_start}, asset #{asset_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"create_user(body_json:String)-instance-method","name":"create_user","abstract":false,"args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(body_json : String)","args_html":"(body_json : String)","location":{"filename":"src/place/staff_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L104"},"def":{"name":"create_user","args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/users\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to create user: #{response.status_code}\")\nend\nPlaceOS::Client::API::Models::User.from_json(response.body)\n"}},{"html_id":"delete_event(system_id:String,event_id:String)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(system_id : String, event_id : String)","args_html":"(system_id : String, event_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L314"},"def":{"name":"delete_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"response = delete(\"/api/staff/v1/events/#{event_id}?system_id=#{system_id}\", headers: authentication)\nif response.success? || (response.status_code == 404)\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"delete_user(id:String,force_removal:Bool=false):Nil-instance-method","name":"delete_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"args_string":"(id : String, force_removal : Bool = false) : Nil","args_html":"(id : String, force_removal : Bool = false) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L122"},"def":{"name":"delete_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = delete(\"/api/engine/v2/users/#{id}?force_removal=#{force_removal}\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to delete user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L655"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"getting booking #{booking_id}\"\nend\nresponse = get(\"/api/staff/v1/bookings/#{booking_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue getting booking #{booking_id}: #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_event(event_id:String,system_id:String|Nil=nil,calendar:String|Nil=nil)-instance-method","name":"get_event","doc":"gets an event from either the `system_id` or `calendar` if only one is provided\nif both are provided, it gets the event from `calendar` and the metadata from `system_id`\nNOTE:: the use of `calendar` will typically not work from a driver unless the X-API-Key\n has read access to it. From a driver perspective you should probably use a\n dedicated Calendar driver with application access and the query_metadata function\n below if metadata is required: `query_metadata(system_id: \"sys\", event_ref: [\"id\", \"uuid\"])`","summary":"

gets an event from either the system_id or calendar if only one is provided if both are provided, it gets the event from calendar and the metadata from system_id NOTE:: the use of calendar will typically not work from a driver unless the X-API-Key has read access to it.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"args_string":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","args_html":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L286"},"def":{"name":"get_event","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"visibility":"Public","body":"if calendar.presence || system_id.presence\nelse\n raise(ArgumentError.new(\"requires system_id or calendar param\"))\nend\nparams = URI::Params.build do |form|\n if calendar.presence\n form.add(\"calendar\", calendar.to_s)\n end\n if system_id.presence\n form.add(\"system_id\", system_id.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events/#{event_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L666"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting survey_invites (survey #{survey_id}, sent #{sent})\"\nend\nparams = URI::Params.new\nif survey_id\n params[\"survey_id\"] = survey_id.to_s\nend\nif sent.nil?\nelse\n params[\"sent\"] = sent.to_s\nend\nresponse = get(\"/api/staff/v1/surveys/invitations\", params, headers: authentication)\nif response.success?\nelse\n raise(\"issue getting survey invitations (survey #{survey_id}, sent #{sent}): #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_system(id:String,complete:Bool=false)-instance-method","name":"get_system","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"args_string":"(id : String, complete : Bool = false)","args_html":"(id : String, complete : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L39"},"def":{"name":"get_system","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"visibility":"Public","body":"response = get(\"/api/engine/v2/systems/#{id}?complete=#{complete}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for system id #{id}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing system #{id}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"guest_details(guest_id:String)-instance-method","name":"guest_details","doc":"===================================\nGuest details\n===================================","summary":"

=================================== Guest details ===================================

","abstract":false,"args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"args_string":"(guest_id : String)","args_html":"(guest_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L203"},"def":{"name":"guest_details","args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/guests/#{guest_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"kick_user(user_id:String,session_id:String,reason:String)-instance-method","name":"kick_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"args_string":"(user_id : String, session_id : String, reason : String)","args_html":"(user_id : String, session_id : String, reason : String)","location":{"filename":"src/place/staff_api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L180"},"def":{"name":"kick_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/webrtc/kick/#{user_id}/#{session_id}\", headers: authentication, body: {reason: reason}.to_json)\nresponse.status_code\n"}},{"html_id":"merge_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"merge_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":379,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L379"},"def":{"name":"merge_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.merge(id, key, payload, description)"}},{"html_id":"metadata(id:String,key:String|Nil=nil)-instance-method","name":"metadata","doc":"===================================\nZONE METADATA\n===================================","summary":"

=================================== ZONE METADATA ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L365"},"def":{"name":"metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.fetch(id, key)"}},{"html_id":"metadata_children(id:String,key:String|Nil=nil)-instance-method","name":"metadata_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":369,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L369"},"def":{"name":"metadata_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.children(id, key)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L26"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = (setting(String, :api_key)) || \"\"\nif @api_key.presence\n @access_expires = 30.years.from_now\nend\n@place_domain = URI.parse(config.uri.not_nil!)\n@host_header = (setting?(String, :host_header)) || @place_domain.host.not_nil!\n"}},{"html_id":"patch_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"patch_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L320"},"def":{"name":"patch_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"query_bookings(type:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,zones:Array(String)=[]ofString,user:String|Nil=nil,email:String|Nil=nil,state:String|Nil=nil,created_before:Int64|Nil=nil,created_after:Int64|Nil=nil,approved:Bool|Nil=nil,rejected:Bool|Nil=nil,checked_in:Bool|Nil=nil)-instance-method","name":"query_bookings","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","args_html":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L596"},"def":{"name":"query_bookings","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 30.minutes.from_now.to_unix)\nparams = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n form.add(\"type\", type)\n if zones.empty?\n else\n form.add(\"zones\", zones.join(\",\"))\n end\n if user.presence\n form.add(\"user\", user.to_s)\n end\n if email.presence\n form.add(\"email\", email.to_s)\n end\n if state.presence\n form.add(\"state\", state.to_s)\n end\n if created_before\n form.add(\"created_before\", created_before.to_s)\n end\n if created_after\n form.add(\"created_after\", created_after.to_s)\n end\n if approved.nil?\n else\n form.add(\"approved\", approved.to_s)\n end\n if rejected.nil?\n else\n form.add(\"rejected\", rejected.to_s)\n end\n if checked_in.nil?\n else\n form.add(\"checked_in\", checked_in.to_s)\n end\nend\nlogger.debug do\n \"requesting staff/v1/bookings: #{params}\"\nend\nbookings = [] of JSON::Any\nnext_request = \"/api/staff/v1/bookings?#{params}\"\nloop do\n response = get(next_request, headers: authentication)\n if response.success?\n else\n raise(\"issue loading list of bookings (zones #{zones}): #{response.status_code}\")\n end\n links = LinkHeader.new(response)\n new_bookings = (JSON.parse(response.body)).as_a\n bookings.concat(new_bookings)\n next_request = links[\"next\"]?\n if next_request.nil? || new_bookings.empty?\n break\n end\nend\nlogger.debug do\n \"bookings count: #{bookings.size}\"\nend\nbookings\n"}},{"html_id":"query_events(period_start:Int64,period_end:Int64,zones:Array(String)|Nil=nil,systems:Array(String)|Nil=nil,capacity:Int32|Nil=nil,features:String|Nil=nil,bookable:Bool|Nil=nil,include_cancelled:Bool|Nil=nil)-instance-method","name":"query_events","doc":"===================================\nCALENDAR EVENT ACTIONS (via staff api)\n===================================","summary":"

=================================== CALENDAR EVENT ACTIONS (via staff api) ===================================

","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L248"},"def":{"name":"query_events","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n if zones && (!zones.empty?)\n form.add(\"zone_ids\", zones.join(\",\"))\n end\n if systems && (!systems.empty?)\n form.add(\"system_ids\", systems.join(\",\"))\n end\n if capacity\n form.add(\"capacity\", capacity.to_s)\n end\n if features\n form.add(\"features\", features)\n end\n if !bookable.nil?\n form.add(\"bookable\", bookable.to_s)\n end\n if !include_cancelled.nil?\n form.add(\"include_cancelled\", include_cancelled.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_guests(period_start:Int64,period_end:Int64,zones:Array(String))-instance-method","name":"query_guests","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String))","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L225"},"def":{"name":"query_guests","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n form.add(\"zone_ids\", zones.join(\",\"))\nend\nresponse = get(\"/api/staff/v1/guests?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_metadata(period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,field_name:String|Nil=nil,value:String|Nil=nil,system_id:String|Nil=nil,event_ref:Array(String)|Nil=nil)-instance-method","name":"query_metadata","doc":"search for metadata that exists on events to obtain the event information\nfor response details see `EventMetadata__Assigner` in the OpenAPI docs\nhttps://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml","summary":"

search for metadata that exists on events to obtain the event information for response details see EventMetadata__Assigner in the OpenAPI docs https://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml

","abstract":false,"args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"args_string":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","args_html":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L335"},"def":{"name":"query_metadata","args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n if field_name.presence\n form.add(\"field_name\", field_name)\n end\n if value.presence\n form.add(\"value\", value)\n end\n if event_ref && (!event_ref.empty?)\n form.add(\"event_ref\", event_ref.join(\",\"))\n end\nend\nresponse = get(\"/api/staff/v1/events/extension_metadata/#{system_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_users(q:String|Nil=nil,limit:Int32=20,offset:Int32=0,authority_id:String|Nil=nil,include_deleted:Bool=false)-instance-method","name":"query_users","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","args_html":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L147"},"def":{"name":"query_users","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"visibility":"Public","body":"placeos_client.users.search(q: q, limit: limit, offset: offset, authority_id: authority_id, include_deleted: include_deleted)"}},{"html_id":"reject(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"reject","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":505,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L505"},"def":{"name":"reject","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"rejecting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/reject?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue rejecting booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"replace_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"replace_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L326"},"def":{"name":"replace_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = put(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"resource_token-instance-method","name":"resource_token","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L134"},"def":{"name":"resource_token","visibility":"Public","body":"response = post(\"/api/engine/v2/users/resource_token\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"revive_user(id:String):Nil-instance-method","name":"revive_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L128"},"def":{"name":"revive_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = post(\"/api/engine/v2/users/#{id}/revive\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to revive user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"signal(channel:String,payload:JSON::Any|Nil=nil)-instance-method","name":"signal","abstract":false,"args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"args_string":"(channel : String, payload : JSON::Any | Nil = nil)","args_html":"(channel : String, payload : JSON::Any | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L694"},"def":{"name":"signal","args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"placeos_client.root.signal(channel, payload)"}},{"html_id":"staff_details(email:String)-instance-method","name":"staff_details","doc":"Staff details returns the information from AD","summary":"

Staff details returns the information from AD

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/staff_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L84"},"def":{"name":"staff_details","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/people/#{email}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for staff #{email}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing staff #{email}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"systems(q:String|Nil=nil,zone_id:String|Nil=nil,capacity:Int32|Nil=nil,bookable:Bool|Nil=nil,features:String|Nil=nil,limit:Int32=1000,offset:Int32=0)-instance-method","name":"systems","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","args_html":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","location":{"filename":"src/place/staff_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L51"},"def":{"name":"systems","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"placeos_client.systems.search(q: q, limit: limit, offset: offset, zone_id: zone_id, capacity: capacity, bookable: bookable, features: features)"}},{"html_id":"systems_in_building(zone_id:String,ids_only:Bool=true)-instance-method","name":"systems_in_building","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"args_string":"(zone_id : String, ids_only : Bool = true)","args_html":"(zone_id : String, ids_only : Bool = true)","location":{"filename":"src/place/staff_api.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L71"},"def":{"name":"systems_in_building","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"visibility":"Public","body":"levels = zones(parent: zone_id)\nif ids_only\n hash = {} of String => Array(String)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id).map(&.id)\n end\nelse\n hash = {} of String => Array(::PlaceOS::Client::API::Models::System)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id)\n end\nend\nhash\n"}},{"html_id":"transfer_user(user_id:String,session_id:String,payload:JSON::Any)-instance-method","name":"transfer_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(user_id : String, session_id : String, payload : JSON::Any)","args_html":"(user_id : String, session_id : String, payload : JSON::Any)","location":{"filename":"src/place/staff_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L162"},"def":{"name":"transfer_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"status = 200\npayload_str = payload.to_json\nSimpleRetry.try_to(max_attempts: 5, base_interval: 1.second, max_interval: 10.seconds) do\n response = post(\"/api/engine/v2/webrtc/transfer/#{user_id}/#{session_id}\", headers: authentication, body: payload_str)\n status = response.status_code\n if response.success?\n else\n raise(\"client not yet connected\")\n end\nend\nstatus\n"}},{"html_id":"update_booking(booking_id:String|Int64,booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,asset_id:String|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,timezone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,approved:Bool|Nil=nil,checked_in:Bool|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L461"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id}\"\nend\ncase checked_in\nin true\n checked_in_at = Time.utc.to_unix\nin false\n checked_out_at = Time.utc.to_unix\nin nil\nend\nparams = URI::Params.build do |form|\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = patch(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"checked_out_at\" => checked_out_at, \"asset_id\" => asset_id, \"title\" => title, \"description\" => description, \"timezone\" => timezone, \"extension_data\" => extension_data}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_event(system_id:String,event:PlaceCalendar::Event)-instance-method","name":"update_event","doc":"NOTE:: https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit#\nThe service account making this request needs delegated access and hence you can only edit\nevents associated with a resource calendar","summary":"

NOTE : https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit# The service account making this request needs delegated access and hence you can only edit events associated with a resource calendar

","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"args_string":"(system_id : String, event : PlaceCalendar::Event)","args_html":"(system_id : String, event : PlaceCalendar::Event)","location":{"filename":"src/place/staff_api.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L307"},"def":{"name":"update_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event.id}?system_id=#{system_id}\", headers: authentication, body: event.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nPlaceCalendar::Event.from_json(response.body)\n"}},{"html_id":"update_guest(id:String,body_json:String):Nil-instance-method","name":"update_guest","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L216"},"def":{"name":"update_guest","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/staff/v1/guests/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update guest #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":677,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L677"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating survey invite #{token}\"\nend\nresponse = patch(\"/api/staff/v1/surveys/invitations/#{token}\", headers: authentication, body: {\"email\" => email, \"sent\" => sent}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating survey invite #{token}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_user(id:String,body_json:String):Nil-instance-method","name":"update_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L113"},"def":{"name":"update_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/engine/v2/users/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"user(id:String)-instance-method","name":"user","doc":"===================================\nUser details\n===================================","summary":"

=================================== User details ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/staff_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L99"},"def":{"name":"user","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"placeos_client.users.fetch(id)"}},{"html_id":"write_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"write_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L374"},"def":{"name":"write_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.update(id, key, payload, description)"}},{"html_id":"zone(zone_id:String)-instance-method","name":"zone","doc":"===================================\nZONE INFORMATION\n===================================","summary":"

=================================== ZONE INFORMATION ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L386"},"def":{"name":"zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"placeos_client.zones.fetch(zone_id)"}},{"html_id":"zones(q:String|Nil=nil,limit:Int32=1000,offset:Int32=0,parent:String|Nil=nil,tags:Array(String)|String|Nil=nil)-instance-method","name":"zones","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","args_html":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L390"},"def":{"name":"zones","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"visibility":"Public","body":"placeos_client.zones.search(q: q, limit: limit, offset: offset, parent_id: parent, tags: tags)"}}],"types":[{"html_id":"drivers/Place/StaffAPI/Booking","path":"Place/StaffAPI/Booking.html","kind":"class","full_name":"Place::StaffAPI::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":560,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L560"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/StaffAPI","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI"},"doc":"===================================\nBOOKINGS QUERY\n===================================","summary":"

=================================== BOOKINGS QUERY ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/staff_api.cr","line_number":561,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L561"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approved:Bool-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L581"},"def":{"name":"approved","return_type":"Bool","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"args_string":"(approved : Bool)","args_html":"(approved : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L581"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L584"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L584"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_id:String|Nil-instance-method","name":"approver_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L583"},"def":{"name":"approver_id","return_type":"String | ::Nil","visibility":"Public","body":"@approver_id"}},{"html_id":"approver_id=(approver_id:String|Nil)-instance-method","name":"approver_id=","abstract":false,"args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"args_string":"(approver_id : String | Nil)","args_html":"(approver_id : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L583"},"def":{"name":"approver_id=","args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_id = approver_id"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L585"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L585"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L568"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"@asset_id"}},{"html_id":"asset_id=(asset_id:String)-instance-method","name":"asset_id=","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L568"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_id:String-instance-method","name":"booked_by_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id","return_type":"String","visibility":"Public","body":"@booked_by_id"}},{"html_id":"booked_by_id=(booked_by_id:String)-instance-method","name":"booked_by_id=","abstract":false,"args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"args_string":"(booked_by_id : String)","args_html":"(booked_by_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id=","args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"visibility":"Public","body":"@booked_by_id = booked_by_id"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L573"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L573"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L572"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L572"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L570"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L570"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L579"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L579"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"created:Int64|Nil-instance-method","name":"created","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L593"},"def":{"name":"created","return_type":"Int64 | ::Nil","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64|Nil)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"args_string":"(created : Int64 | Nil)","args_html":"(created : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L593"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@created = created"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L577"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L577"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L563"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L563"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L592"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L592"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L591"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L591"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L580"},"def":{"name":"rejected","return_type":"Bool","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"args_string":"(rejected : Bool)","args_html":"(rejected : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L580"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L575"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L575"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L576"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L576"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L566"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L566"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L565"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L565"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L567"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L567"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L569"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L569"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Place/SurveyMailer","path":"Place/SurveyMailer.html","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L17"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@send_invites = (setting?(String, :send_invites)).presence\n@email_template = (setting?(String, :email_template)) || \"survey\"\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nif invites = @send_invites\n schedule.cron(invites, @time_zone) do\n send_survey_emails\n end\nend\n"}},{"html_id":"send_survey_emails-instance-method","name":"send_survey_emails","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L47"},"def":{"name":"send_survey_emails","visibility":"Public","body":"invites = Array(SurveyInvite).from_json(staff_api.get_survey_invites.get.to_json)\nsent_invites : Hash(String, Array(Int64)) = {} of String => Array(Int64)\ninvites.each do |invite|\n if invite.sent\n next\n end\n begin\n if (!(sent_surveys = sent_invites[invite.email]?)) || (!(sent_surveys.includes?(invite.survey_id)))\n __temp_610 = invite.email\n sent_invites[__temp_610]? || (sent_invites[__temp_610] = [] of Int64)\n sent_invites[invite.email] << invite.survey_id\n mailer.send_template(to: invite.email, template: {@email_template, \"invite\"}, args: {email: invite.email, token: invite.token, survey_id: invite.survey_id})\n end\n staff_api.update_survey_invite(invite.token, sent: true)\n rescue error\n logger.warn(exception: error) do\n \"failed to send survey email to #{invite.email}\"\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Place/SurveyMailer/SurveyInvite","path":"Place/SurveyMailer/SurveyInvite.html","kind":"struct","full_name":"Place::SurveyMailer::SurveyInvite","name":"SurveyInvite","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L77"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/SurveyMailer","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/survey_mailer.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L78"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L83"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L83"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L80"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L80"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sent:Bool|Nil-instance-method","name":"sent","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L84"},"def":{"name":"sent","return_type":"Bool | ::Nil","visibility":"Public","body":"@sent"}},{"html_id":"sent=(sent:Bool|Nil)-instance-method","name":"sent=","abstract":false,"args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(sent : Bool | Nil)","args_html":"(sent : Bool | Nil)","location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L84"},"def":{"name":"sent=","args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@sent = sent"}},{"html_id":"survey_id:Int64-instance-method","name":"survey_id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id","return_type":"Int64","visibility":"Public","body":"@survey_id"}},{"html_id":"survey_id=(survey_id:Int64)-instance-method","name":"survey_id=","abstract":false,"args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"args_string":"(survey_id : Int64)","args_html":"(survey_id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id=","args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"visibility":"Public","body":"@survey_id = survey_id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L82"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L82"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]},{"html_id":"drivers/Place/Tab","path":"Place/Tab.html","kind":"class","full_name":"Place::Tab","name":"Tab","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/tab.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(icon:String,name:String,inputs:Array(String),help:Nil|String=nil,controls:Nil|String=nil,merge_on_join:Bool|Nil=nil,presentation_source:Nil|String=nil,json_unmapped:Hash(String,JSON::Any)=Hash(String,JSON::Any).new)-class-method","name":"new","abstract":false,"args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","args_html":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","location":{"filename":"src/place/meet/tab.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L7"},"def":{"name":"new","args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(icon, name, inputs, help, controls, merge_on_join, presentation_source, json_unmapped)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/tab.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"clone:Tab-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L23"},"def":{"name":"clone","return_type":"Tab","visibility":"Public","body":"Tab.new(@icon, @name, inputs.dup, @help, @controls, @merge_on_join, @presentation_source, @json_unmapped.dup)"}},{"html_id":"controls:String|Nil-instance-method","name":"controls","doc":"such as: vidconf-controls","summary":"

such as: vidconf-controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L17"},"def":{"name":"controls","return_type":"String | ::Nil","visibility":"Public","body":"@controls"}},{"html_id":"help:String|Nil-instance-method","name":"help","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L14"},"def":{"name":"help","return_type":"String | ::Nil","visibility":"Public","body":"@help"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L10"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"inputs:Array(String)-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L12"},"def":{"name":"inputs","return_type":"Array(String)","visibility":"Public","body":"@inputs"}},{"html_id":"merge(tab:Tab):Tab-instance-method","name":"merge","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L27"},"def":{"name":"merge","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"input = (inputs.dup.concat(tab.inputs)).uniq!\nnew_unmapped = tab.json_unmapped.merge(json_unmapped)\nTab.new(@icon, @name, input, @help, @controls, @merge_on_join, @presentation_source, new_unmapped)\n"}},{"html_id":"merge!(tab:Tab):Tab-instance-method","name":"merge!","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L33"},"def":{"name":"merge!","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"@json_unmapped.merge!(tab.json_unmapped)\n(@inputs.concat(tab.inputs)).uniq!\nself\n"}},{"html_id":"merge_on_join:Bool|Nil-instance-method","name":"merge_on_join","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L18"},"def":{"name":"merge_on_join","return_type":"Bool | ::Nil","visibility":"Public","body":"@merge_on_join"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"presentation_source:String|Nil-instance-method","name":"presentation_source","doc":"For the VC controls","summary":"

For the VC controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L21"},"def":{"name":"presentation_source","return_type":"String | ::Nil","visibility":"Public","body":"@presentation_source"}}]},{"html_id":"drivers/Place/TransportAdaptor","path":"Place/TransportAdaptor.html","kind":"class","full_name":"Place::TransportAdaptor","name":"TransportAdaptor","abstract":false,"superclass":{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},"ancestors":[{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(driver:PlaceOS::Driver::Transport,queue:PlaceOS::Driver::Queue)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"args_string":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","args_html":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L4"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, queue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"close!:Nil-instance-method","name":"close!","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L11"},"def":{"name":"close!","return_type":"Nil","visibility":"Public","body":"@driver.disconnect"}},{"html_id":"closed?:Bool-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L15"},"def":{"name":"closed?","return_type":"Bool","visibility":"Public","body":"!@queue.online"}},{"html_id":"process(data:Bytes)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L23"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"(@tokenizer.extract(data)).each do |bytes|\n spawn do\n @on_message.try(&.call(bytes))\n end\nend"}},{"html_id":"send(message):Nil-instance-method","name":"send","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message) : Nil","args_html":"(message) : Nil","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L19"},"def":{"name":"send","args":[{"name":"message","external_name":"message","restriction":""}],"return_type":"Nil","visibility":"Public","body":"@driver.send(message)"}}]},{"html_id":"drivers/Place/UserGroupMappings","path":"Place/UserGroupMappings.html","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_user(id:String):Nil-instance-method","name":"check_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/user_group_mappings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L88"},"def":{"name":"check_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"checking groups of: #{id}\"\nend\nuser_json = (staff_api.user(id)).get\nsync_user(user_json)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"auth/login\") do |_subscription, payload|\n new_user_login(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@group_mappings = (setting?(Hash(String, Mapping), :group_mappings)) || ({} of String => Mapping)\n@group_prefixes = (setting?(Hash(String, Prefix), :group_prefix)) || ({} of String => Prefix)\n@group_prefixes = @group_prefixes.transform_keys(&.downcase)\n@authority_id = (setting?(String, :authority_id)) || \"authority-12345\"\n"}},{"html_id":"sync_all_users-instance-method","name":"sync_all_users","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L134"},"def":{"name":"sync_all_users","visibility":"Public","body":"begin\n if @syncing\n return \"currently syncing\"\n end\n @syncing = true\n limit = 100\n offset = 0\n issues_with = [] of String\n loop do\n users = staff_api.query_users(limit: limit, offset: offset, authority_id: @authority_id).get.as_a\n logger.debug do\n \"syncing users #{offset}->#{offset + limit}...\"\n end\n users.each do |user|\n begin\n sync_user(user)\n sleep(50.milliseconds)\n rescue error\n issues_with << user[\"email\"].as_s\n end\n end\n if users.size < limit\n break\n end\n offset = offset + limit\n end\n logger.debug do\n \"sync complete! issues with #{issues_with.size}:\\n#{issues_with}\"\n end\n issues_with\nensure\n @syncing = false\nend"}}],"types":[{"html_id":"drivers/Place/UserGroupMappings/Mapping","path":"Place/UserGroupMappings/Mapping.html","kind":"alias","full_name":"Place::UserGroupMappings::Mapping","name":"Mapping","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(place_id: String)","aliased_html":"{place_id: String}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/Prefix","path":"Place/UserGroupMappings/Prefix.html","kind":"alias","full_name":"Place::UserGroupMappings::Prefix","name":"Prefix","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(strip_prefix: Bool | Nil, place_id: String | Nil)","aliased_html":"{strip_prefix: Bool?, place_id: String?}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/UserLogin","path":"Place/UserGroupMappings/UserLogin.html","kind":"class","full_name":"Place::UserGroupMappings::UserLogin","name":"UserLogin","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/user_group_mappings.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"provider:String-instance-method","name":"provider","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider","return_type":"String","visibility":"Public","body":"@provider"}},{"html_id":"provider=(provider:String)-instance-method","name":"provider=","abstract":false,"args":[{"name":"provider","external_name":"provider","restriction":"String"}],"args_string":"(provider : String)","args_html":"(provider : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider=","args":[{"name":"provider","external_name":"provider","restriction":"String"}],"visibility":"Public","body":"@provider = provider"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]}]},{"html_id":"drivers/Place/VisitorMailer","path":"Place/VisitorMailer.html","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_zone:ZoneDetails-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L69"},"def":{"name":"building_zone","return_type":"ZoneDetails","visibility":"Public","body":"if (value = @building_zone).nil?\n ::raise(NilAssertionError.new(\"Place::VisitorMailer#building_zone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"building_zone?:ZoneDetails|Nil-instance-method","name":"building_zone?","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L69"},"def":{"name":"building_zone?","return_type":"ZoneDetails | ::Nil","visibility":"Public","body":"@building_zone"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L403"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L40"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/guest/attending\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\nmonitor(\"staff/guest/checkin\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting?(Bool, :debug)) || true\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@send_reminders = (setting?(String, :send_reminders)).presence\n@reminder_template = (setting?(String, :reminder_template)) || \"visitor\"\n@event_template = (setting?(String, :event_template)) || \"event\"\n@booking_template = (setting?(String, :booking_template)) || \"booking\"\n@disable_qr_code = (setting?(Bool, :disable_qr_code)) || false\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\n@booking_space_name = (setting?(String, :booking_space_name)).presence || \"Client Floor\"\nzones = config.control_system.not_nil!.zones\nschedule.clear\nif reminders = @send_reminders\n schedule.cron(reminders, @time_zone) do\n send_reminder_emails\n end\nend\nspawn(same_thread: true) do\n find_building(zones)\nend\n"}},{"html_id":"send_reminder_emails-instance-method","name":"send_reminder_emails","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L302"},"def":{"name":"send_reminder_emails","visibility":"Public","body":"now = 1.hour.ago.to_unix\nlater = 12.hours.from_now.to_unix\nguests = staff_api.query_guests(period_start: now, period_end: later, zones: {building_zone.id}).get.as_a\nguests.uniq! do |g|\n g[\"email\"].as_s.downcase\nend\nguests.each do |guest|\n begin\n if event = guest[\"event\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, event[\"host\"].as_s, event[\"title\"].as_s, event[\"event_start\"].as_i64, (event.dig(\"system\", \"id\")).as_s, event[\"id\"].as_s, ((event.dig?(\"system\", \"display_name\")) || (event.dig(\"system\", \"name\"))).as_s, event_end: event[\"event_end\"].as_i64)\n else\n if booking = guest[\"booking\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, booking[\"user_email\"].as_s, booking[\"title\"].as_s?, booking[\"booking_start\"].as_i64, booking[\"asset_id\"].as_s, booking[\"id\"].as_i64.to_s, @booking_space_name, event_end: booking[\"booking_end\"].as_i64)\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to send reminder email to #{guest[\"email\"]}\"\n end\n end\nend\n"}},{"html_id":"send_visitor_qr_email(template:String,visitor_email:String,visitor_name:String|Nil,host_email:String|Nil,event_title:String|Nil,event_start:Int64,resource_id:String,event_id:String,area_name:String,event_end:Int64|Nil=nil)-instance-method","name":"send_visitor_qr_email","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"args_string":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","args_html":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L231"},"def":{"name":"send_visitor_qr_email","args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"local_start_time = (Time.unix(event_start)).in(@time_zone)\nattach = if @disable_qr_code\n [] of NamedTuple(file_name: String, content: String, content_id: String)\nelse\n qr_png = mailer.generate_png_qrcode(text: \"VISIT:#{visitor_email},#{resource_id},#{event_id},#{host_email}\", size: 256).get.as_s\n [{file_name: \"qr.png\", content: qr_png, content_id: visitor_email}]\nend\nnetwork_username = network_password = \"\"\nif @send_network_credentials\n network_username, network_password = update_network_user_password(visitor_email, generate_password(length: @network_password_length, exclude: @network_password_exclude, minimum_lowercase: @network_password_minimum_lowercase, minimum_uppercase: @network_password_minimum_uppercase, minimum_numbers: @network_password_minimum_numbers, minimum_symbols: @network_password_minimum_symbols), @network_group_ids)\nend\nevent_time = if (end_timestamp = event_end) && (((Time.unix(end_timestamp)) - (Time.unix(event_start))) == 24.hours)\n \"all day\"\nelse\n local_start_time.to_s(@time_format)\nend\nmailer.send_template(visitor_email, {\"visitor_invited\", template}, {visitor_email: visitor_email, visitor_name: visitor_name, host_name: get_host_name(host_email), host_email: host_email, room_name: area_name, building_name: building_zone.display_name.presence || building_zone.name, event_title: event_title, event_start: local_start_time.to_s(@time_format), event_date: local_start_time.to_s(@date_format), event_time: event_time, network_username: network_username, network_password: network_password}, attach)\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":392,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L392"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","path":"Place/VisitorMailer/BookingGuest.html","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_id:Int64-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L171"},"def":{"name":"booking_id","return_type":"Int64","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:Int64)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"args_string":"(booking_id : Int64)","args_html":"(booking_id : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L171"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"event_id-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L174"},"def":{"name":"event_id","visibility":"Public","body":"booking_id.to_s"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L172"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"args_string":"(resource_id : String)","args_html":"(resource_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L172"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"visibility":"Public","body":"@resource_id = resource_id"}}]},{"html_id":"drivers/Place/VisitorMailer/EventGuest","path":"Place/VisitorMailer/EventGuest.html","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L156"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L157"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L160"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L160"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"resource:String-instance-method","name":"resource","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L161"},"def":{"name":"resource","return_type":"String","visibility":"Public","body":"@resource"}},{"html_id":"resource=(resource:String)-instance-method","name":"resource=","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"}],"args_string":"(resource : String)","args_html":"(resource : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L161"},"def":{"name":"resource=","args":[{"name":"resource","external_name":"resource","restriction":"String"}],"visibility":"Public","body":"@resource = resource"}},{"html_id":"resource_id-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L163"},"def":{"name":"resource_id","visibility":"Public","body":"system_id"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L159"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L159"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}}]},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","path":"Place/VisitorMailer/GuestNotification.html","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest"},{"html_id":"drivers/Place/VisitorMailer/EventGuest","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L134"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"action\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'action' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'action'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"booking_created\"\n BookingGuest.from_json(json)\nwhen \"booking_updated\"\n BookingGuest.from_json(json)\nwhen \"meeting_created\"\n EventGuest.from_json(json)\nwhen \"meeting_update\"\n EventGuest.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'action' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L141"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String)-instance-method","name":"action=","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String"}],"args_string":"(action : String)","args_html":"(action : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L141"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String"}],"visibility":"Public","body":"@action = action"}},{"html_id":"attendee_email:String-instance-method","name":"attendee_email","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L147"},"def":{"name":"attendee_email","return_type":"String","visibility":"Public","body":"@attendee_email"}},{"html_id":"attendee_email=(attendee_email:String)-instance-method","name":"attendee_email=","abstract":false,"args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"args_string":"(attendee_email : String)","args_html":"(attendee_email : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L147"},"def":{"name":"attendee_email=","args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"visibility":"Public","body":"@attendee_email = attendee_email"}},{"html_id":"attendee_name:String|Nil-instance-method","name":"attendee_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L146"},"def":{"name":"attendee_name","return_type":"String | ::Nil","visibility":"Public","body":"@attendee_name"}},{"html_id":"attendee_name=(attendee_name:String|Nil)-instance-method","name":"attendee_name=","abstract":false,"args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"args_string":"(attendee_name : String | Nil)","args_html":"(attendee_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L146"},"def":{"name":"attendee_name=","args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attendee_name = attendee_name"}},{"html_id":"checkin:Bool|Nil-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L143"},"def":{"name":"checkin","return_type":"Bool | ::Nil","visibility":"Public","body":"@checkin"}},{"html_id":"checkin=(checkin:Bool|Nil)-instance-method","name":"checkin=","abstract":false,"args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"args_string":"(checkin : Bool | Nil)","args_html":"(checkin : Bool | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L143"},"def":{"name":"checkin=","args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checkin = checkin"}},{"html_id":"event_starting:Int64-instance-method","name":"event_starting","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L145"},"def":{"name":"event_starting","return_type":"Int64","visibility":"Public","body":"@event_starting"}},{"html_id":"event_starting=(event_starting:Int64)-instance-method","name":"event_starting=","abstract":false,"args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"args_string":"(event_starting : Int64)","args_html":"(event_starting : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L145"},"def":{"name":"event_starting=","args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"visibility":"Public","body":"@event_starting = event_starting"}},{"html_id":"event_summary:String-instance-method","name":"event_summary","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L144"},"def":{"name":"event_summary","return_type":"String","visibility":"Public","body":"@event_summary"}},{"html_id":"event_summary=(event_summary:String)-instance-method","name":"event_summary=","abstract":false,"args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"args_string":"(event_summary : String)","args_html":"(event_summary : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L144"},"def":{"name":"event_summary=","args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"visibility":"Public","body":"@event_summary = event_summary"}},{"html_id":"ext_data:Hash(String,JSON::Any)|Nil-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L153"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any) | ::Nil","visibility":"Public","body":"@ext_data"}},{"html_id":"ext_data=(ext_data:Hash(String,JSON::Any)|Nil)-instance-method","name":"ext_data=","abstract":false,"args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"args_string":"(ext_data : Hash(String, JSON::Any) | Nil)","args_html":"(ext_data : Hash(String, JSON::Any) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L153"},"def":{"name":"ext_data=","args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"visibility":"Public","body":"@ext_data = ext_data"}},{"html_id":"host:String-instance-method","name":"host","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L148"},"def":{"name":"host","return_type":"String","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String)-instance-method","name":"host=","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String"}],"args_string":"(host : String)","args_html":"(host : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L148"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String"}],"visibility":"Public","body":"@host = host"}},{"html_id":"zones:Array(String)|Nil-instance-method","name":"zones","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L151"},"def":{"name":"zones","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String)|Nil)-instance-method","name":"zones=","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"args_string":"(zones : Array(String) | Nil)","args_html":"(zones : Array(String) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L151"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/VisitorMailer/SystemDetails","path":"Place/VisitorMailer/SystemDetails.html","kind":"class","full_name":"Place::VisitorMailer::SystemDetails","name":"SystemDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L362"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L363"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L367"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L367"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L365"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L365"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"map_id:String|Nil-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L368"},"def":{"name":"map_id","return_type":"String | ::Nil","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String|Nil)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil)","args_html":"(map_id : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L368"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L366"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L366"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Place/VisitorMailer/ZoneDetails","path":"Place/VisitorMailer/ZoneDetails.html","kind":"class","full_name":"Place::VisitorMailer::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L357"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L357"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:String|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L358"},"def":{"name":"location","return_type":"String | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(location : String | Nil)","args_html":"(location : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L358"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L359"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/visitor_mailer.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L359"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/WorkspaceAPI","path":"Place/WorkspaceAPI.html","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/google/workspace_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/google/workspace_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}}]},{"html_id":"drivers/Point","path":"Point.html","kind":"struct","full_name":"Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L19"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"distance_to(point:Point)-instance-method","name":"distance_to","doc":"pythagoras","summary":"

pythagoras

","abstract":false,"args":[{"name":"point","external_name":"point","restriction":"Point"}],"args_string":"(point : Point)","args_html":"(point : Point)","location":{"filename":"src/place/area_polygon.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L26"},"def":{"name":"distance_to","args":[{"name":"point","external_name":"point","restriction":"Point"}],"visibility":"Public","body":"a = point.x - @x\nb = point.y - @y\nMath.sqrt((a * a) + (b * b))\n"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L22"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L22"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L23"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L23"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/PointGrab","path":"PointGrab.html","kind":"module","full_name":"PointGrab","name":"PointGrab","abstract":false,"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/PointGrab/CogniPoint","path":"PointGrab/CogniPoint.html","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/PointGrab","kind":"module","full_name":"PointGrab","name":"PointGrab"},"instance_methods":[{"html_id":"area(site_id:String,building_id:String,floor_id:String,area_id:String)-instance-method","name":"area","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String, area_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String, area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L263"},"def":{"name":"area","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas/#{area_id}\", Area)"}},{"html_id":"areas(site_id:String,building_id:String,floor_id:String)-instance-method","name":"areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L257"},"def":{"name":"areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"areas = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas\", NamedTuple(areas: Array(Area)))\nareas[:areas]\n"}},{"html_id":"building(site_id:String,building_id:String)-instance-method","name":"building","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L168"},"def":{"name":"building","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}\", Building)"}},{"html_id":"building_areas(site_id:String,building_id:String)-instance-method","name":"building_areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L251"},"def":{"name":"building_areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/areas\", NamedTuple(floorsAreas: FloorAreas))\nfloors[:floorsAreas]\n"}},{"html_id":"buildings(site_id:String)-instance-method","name":"buildings","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L163"},"def":{"name":"buildings","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"buildings = get_request(\"/be/cp/v2/sites/#{site_id}/buildings\", NamedTuple(buildings: Array(Building)))\nbuildings[:buildings]\n"}},{"html_id":"customers-instance-method","name":"customers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L93"},"def":{"name":"customers","visibility":"Public","body":"customers = get_request(\"/be/cp/v2/customers\", NamedTuple(endCustomers: Array(Customer)))\ncustomers[:endCustomers]\n"}},{"html_id":"delete_subscription(id:String)-instance-method","name":"delete_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L342"},"def":{"name":"delete_subscription","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"token = get_token\n(delete(\"/be/cp/v2/telemetry/subscriptions/#{id}\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(site_id:String,building_id:String,floor_id:String)-instance-method","name":"floor","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L198"},"def":{"name":"floor","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}\", Floor)"}},{"html_id":"floors(site_id:String,building_id:String)-instance-method","name":"floors","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L193"},"def":{"name":"floors","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors\", NamedTuple(floors: Array(Building)))\nfloors[:floors]\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/be/cp/oauth2/token\", body: \"grant_type=client_credentials\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\", \"Authorization\" => \"Basic #{Base64.strict_encode(\"#{@user_id}:#{@app_key}\")}\"})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body.not_nil!)\n token = resp.token\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"handlers-instance-method","name":"handlers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L280"},"def":{"name":"handlers","visibility":"Public","body":"handlers = get_request(\"/be/cp/v2/resources/handlers\", NamedTuple(handlers: Array(Handler)))\nhandlers[:handlers]\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@user_id = setting(String, :user_id)\n@app_key = setting(String, :app_key)\n"}},{"html_id":"site(site_id:String)-instance-method","name":"site","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L147"},"def":{"name":"site","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}\", Site)"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L142"},"def":{"name":"sites","visibility":"Public","body":"sites = get_request(\"/be/cp/v2/sites\", NamedTuple(sites: Array(Site)))\nsites[:sites]\n"}},{"html_id":"subscribe(handler_uri:String,auth_token:String=UUID.random.to_s,events:NotificationType=NotificationType::Counting)-instance-method","name":"subscribe","abstract":false,"args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"args_string":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","args_html":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L307"},"def":{"name":"subscribe","args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"visibility":"Public","body":"URI.parse(handler_uri)\ntoken = get_token\nresponse = post(\"/be/cp/v2/telemetry/subscriptions\", body: {subscriptionType: \"PUSH\", notificationType: events.to_s.upcase, endpoint: handler_uri, token: auth_token}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n Subscription.from_json(body.not_nil!)\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"subscriptions-instance-method","name":"subscriptions","doc":"provides access to the modules subscriptions tracker","summary":"

provides access to the modules subscriptions tracker

","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L338"},"def":{"name":"subscriptions","visibility":"Public","body":"get_request(\"/be/cp/v2/telemetry/subscriptions\", Array(Subscription))"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}},{"html_id":"update_count(count_json:String)-instance-method","name":"update_count","abstract":false,"args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"args_string":"(count_json : String)","args_html":"(count_json : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L380"},"def":{"name":"update_count","args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"visibility":"Public","body":"count = CountUpdate.from_json(count_json)\nself[\"area_#{count.area_id}\"] = count.count\n"}},{"html_id":"update_subscription(id:String,started:Bool=true)-instance-method","name":"update_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"args_string":"(id : String, started : Bool = true)","args_html":"(id : String, started : Bool = true)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L352"},"def":{"name":"update_subscription","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"token = get_token\n(patch(\"/be/cp/v2/telemetry/subscriptions/#{id}\", body: {started: started}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}}],"macros":[{"html_id":"get_request(path,result_type)-macro","name":"get_request","abstract":false,"args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"args_string":"(path, result_type)","args_html":"(path, result_type)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L69"},"def":{"name":"get_request","args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"visibility":"Public","body":" begin\n \n%token\n = get_token\n \n%response\n = get(\n{{ path }}\n, headers: \n{\n \"Accept\" => \"application/json\",\n \"Authorization\" => \n%token\n\n })\n\n if \n%response\n.success?\n \n{{ result_type }}\n.from_json(\n%response\n.body.not_nil!)\n \nelse\n \nexpire_token! if \n%response\n.status_code == 401\n raise \"unexpected response #{\n%response\n.status_code}\\n#{\n%response\n.body}\"\n \nend\n \nend\n \n"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area","path":"PointGrab/CogniPoint/Area.html","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L202"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L203"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"applications:Array(Application)-instance-method","name":"applications","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications","return_type":"Array(Application)","visibility":"Public","body":"@applications"}},{"html_id":"applications=(applications:Array(Application))-instance-method","name":"applications=","abstract":false,"args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"args_string":"(applications : Array(Application))","args_html":"(applications : Array(Application))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications=","args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"visibility":"Public","body":"@applications = applications"}},{"html_id":"center_x:Float64-instance-method","name":"center_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x","return_type":"Float64","visibility":"Public","body":"@center_x"}},{"html_id":"center_x=(center_x:Float64)-instance-method","name":"center_x=","abstract":false,"args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"args_string":"(center_x : Float64)","args_html":"(center_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x=","args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"visibility":"Public","body":"@center_x = center_x"}},{"html_id":"center_y:Float64-instance-method","name":"center_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y","return_type":"Float64","visibility":"Public","body":"@center_y"}},{"html_id":"center_y=(center_y:Float64)-instance-method","name":"center_y=","abstract":false,"args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"args_string":"(center_y : Float64)","args_html":"(center_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y=","args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"visibility":"Public","body":"@center_y = center_y"}},{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"device_ids=(device_ids:Array(String))-instance-method","name":"device_ids=","abstract":false,"args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"args_string":"(device_ids : Array(String))","args_html":"(device_ids : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids=","args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@device_ids = device_ids"}},{"html_id":"frequency:Int32-instance-method","name":"frequency","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency","return_type":"Int32","visibility":"Public","body":"@frequency"}},{"html_id":"frequency=(frequency:Int32)-instance-method","name":"frequency=","abstract":false,"args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"args_string":"(frequency : Int32)","args_html":"(frequency : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency=","args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"visibility":"Public","body":"@frequency = frequency"}},{"html_id":"geo_positions:Array(GeoPosition)|Nil-instance-method","name":"geo_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions","return_type":"Array(GeoPosition) | ::Nil","visibility":"Public","body":"@geo_positions"}},{"html_id":"geo_positions=(geo_positions:Array(GeoPosition)|Nil)-instance-method","name":"geo_positions=","abstract":false,"args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"args_string":"(geo_positions : Array(GeoPosition) | Nil)","args_html":"(geo_positions : Array(GeoPosition) | Nil)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions=","args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"visibility":"Public","body":"@geo_positions = geo_positions"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"length=(length:Float64)-instance-method","name":"length=","abstract":false,"args":[{"name":"length","external_name":"length","restriction":"Float64"}],"args_string":"(length : Float64)","args_html":"(length : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length=","args":[{"name":"length","external_name":"length","restriction":"Float64"}],"visibility":"Public","body":"@length = length"}},{"html_id":"metric_positions:Array(MetricPositions)-instance-method","name":"metric_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions","return_type":"Array(MetricPositions)","visibility":"Public","body":"@metric_positions"}},{"html_id":"metric_positions=(metric_positions:Array(MetricPositions))-instance-method","name":"metric_positions=","abstract":false,"args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"args_string":"(metric_positions : Array(MetricPositions))","args_html":"(metric_positions : Array(MetricPositions))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions=","args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"visibility":"Public","body":"@metric_positions = metric_positions"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"rotation:Int32-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation","return_type":"Int32","visibility":"Public","body":"@rotation"}},{"html_id":"rotation=(rotation:Int32)-instance-method","name":"rotation=","abstract":false,"args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"args_string":"(rotation : Int32)","args_html":"(rotation : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation=","args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"visibility":"Public","body":"@rotation = rotation"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area/Application","path":"PointGrab/CogniPoint/Area/Application.html","kind":"class","full_name":"PointGrab::CogniPoint::Area::Application","name":"Application","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L222"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Area","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L223"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"application_type:String-instance-method","name":"application_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type","return_type":"String","visibility":"Public","body":"@application_type"}},{"html_id":"application_type=(application_type:String)-instance-method","name":"application_type=","abstract":false,"args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"args_string":"(application_type : String)","args_html":"(application_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type=","args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"visibility":"Public","body":"@application_type = application_type"}},{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Building","path":"PointGrab/CogniPoint/Building.html","kind":"class","full_name":"PointGrab::CogniPoint::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L151"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L152"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Site::Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location","return_type":"Site::Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Site::Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"args_string":"(location : Site::Location)","args_html":"(location : Site::Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/CountUpdate","path":"PointGrab/CogniPoint/CountUpdate.html","kind":"class","full_name":"PointGrab::CogniPoint::CountUpdate","name":"CountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L367"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"doc":"TODO:: this data is posted to the subscription endpoint\nwe need to implement webhooks for this to work properly","summary":"

TODO : this data is posted to the subscription endpoint we need to implement webhooks for this to work properly

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L368"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"devices:Array(String)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices","return_type":"Array(String)","visibility":"Public","body":"@devices"}},{"html_id":"devices=(devices:Array(String))-instance-method","name":"devices=","abstract":false,"args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"args_string":"(devices : Array(String))","args_html":"(devices : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices=","args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"visibility":"Public","body":"@devices = devices"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}},{"html_id":"timestamp:UInt64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp","return_type":"UInt64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:UInt64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"args_string":"(timestamp : UInt64)","args_html":"(timestamp : UInt64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Customer","path":"PointGrab/CogniPoint/Customer.html","kind":"class","full_name":"PointGrab::CogniPoint::Customer","name":"Customer","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Floor","path":"PointGrab/CogniPoint/Floor.html","kind":"class","full_name":"PointGrab::CogniPoint::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L172"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L173"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_number:String-instance-method","name":"floor_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number","return_type":"String","visibility":"Public","body":"@floor_number"}},{"html_id":"floor_number=(floor_number:String)-instance-method","name":"floor_number=","abstract":false,"args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"args_string":"(floor_number : String)","args_html":"(floor_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number=","args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"visibility":"Public","body":"@floor_number = floor_number"}},{"html_id":"floor_plan_url:String-instance-method","name":"floor_plan_url","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url","return_type":"String","visibility":"Public","body":"@floor_plan_url"}},{"html_id":"floor_plan_url=(floor_plan_url:String)-instance-method","name":"floor_plan_url=","abstract":false,"args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"args_string":"(floor_plan_url : String)","args_html":"(floor_plan_url : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url=","args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"visibility":"Public","body":"@floor_plan_url = floor_plan_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length_distance:Float64-instance-method","name":"length_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance","return_type":"Float64","visibility":"Public","body":"@length_distance"}},{"html_id":"length_distance=(length_distance:Float64)-instance-method","name":"length_distance=","abstract":false,"args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"args_string":"(length_distance : Float64)","args_html":"(length_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance=","args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"visibility":"Public","body":"@length_distance = length_distance"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"width_distance:Float64-instance-method","name":"width_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance","return_type":"Float64","visibility":"Public","body":"@width_distance"}},{"html_id":"width_distance=(width_distance:Float64)-instance-method","name":"width_distance=","abstract":false,"args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"args_string":"(width_distance : Float64)","args_html":"(width_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance=","args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"visibility":"Public","body":"@width_distance = width_distance"}}]},{"html_id":"drivers/PointGrab/CogniPoint/FloorAreas","path":"PointGrab/CogniPoint/FloorAreas.html","kind":"class","full_name":"PointGrab::CogniPoint::FloorAreas","name":"FloorAreas","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"areas:Array(Area)-instance-method","name":"areas","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas","return_type":"Array(Area)","visibility":"Public","body":"@areas"}},{"html_id":"areas=(areas:Array(Area))-instance-method","name":"areas=","abstract":false,"args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"args_string":"(areas : Array(Area))","args_html":"(areas : Array(Area))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas=","args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"visibility":"Public","body":"@areas = areas"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/GeoPosition","path":"PointGrab/CogniPoint/GeoPosition.html","kind":"class","full_name":"PointGrab::CogniPoint::GeoPosition","name":"GeoPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"latitude=(latitude:Float64)-instance-method","name":"latitude=","abstract":false,"args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"args_string":"(latitude : Float64)","args_html":"(latitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude=","args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"visibility":"Public","body":"@latitude = latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"longitude=(longitude:Float64)-instance-method","name":"longitude=","abstract":false,"args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"args_string":"(longitude : Float64)","args_html":"(longitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude=","args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"visibility":"Public","body":"@longitude = longitude"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Handler","path":"PointGrab/CogniPoint/Handler.html","kind":"class","full_name":"PointGrab::CogniPoint::Handler","name":"Handler","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L267"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L268"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_id:UInt32-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id","return_type":"UInt32","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:UInt32)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"args_string":"(app_id : UInt32)","args_html":"(app_id : UInt32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"end_point:String-instance-method","name":"end_point","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point","return_type":"String","visibility":"Public","body":"@end_point"}},{"html_id":"end_point=(end_point:String)-instance-method","name":"end_point=","abstract":false,"args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"args_string":"(end_point : String)","args_html":"(end_point : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point=","args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"visibility":"Public","body":"@end_point = end_point"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/PointGrab/CogniPoint/MetricPositions","path":"PointGrab/CogniPoint/MetricPositions.html","kind":"class","full_name":"PointGrab::CogniPoint::MetricPositions","name":"MetricPositions","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"pos_x:Float64-instance-method","name":"pos_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x","return_type":"Float64","visibility":"Public","body":"@pos_x"}},{"html_id":"pos_x=(pos_x:Float64)-instance-method","name":"pos_x=","abstract":false,"args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"args_string":"(pos_x : Float64)","args_html":"(pos_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x=","args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"visibility":"Public","body":"@pos_x = pos_x"}},{"html_id":"pos_y:Float64-instance-method","name":"pos_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y","return_type":"Float64","visibility":"Public","body":"@pos_y"}},{"html_id":"pos_y=(pos_y:Float64)-instance-method","name":"pos_y=","abstract":false,"args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"args_string":"(pos_y : Float64)","args_html":"(pos_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y=","args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"visibility":"Public","body":"@pos_y = pos_y"}}]},{"html_id":"drivers/PointGrab/CogniPoint/NotificationType","path":"PointGrab/CogniPoint/NotificationType.html","kind":"enum","full_name":"PointGrab::CogniPoint::NotificationType","name":"NotificationType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L302"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Counting","name":"Counting","value":"0"},{"id":"Traffic","name":"Traffic","value":"1"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"instance_methods":[{"html_id":"counting?-instance-method","name":"counting?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L303"},"def":{"name":"counting?","visibility":"Public","body":"self == Counting"}},{"html_id":"traffic?-instance-method","name":"traffic?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L304"},"def":{"name":"traffic?","visibility":"Public","body":"self == Traffic"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Site","path":"PointGrab/CogniPoint/Site.html","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"customer_id:String-instance-method","name":"customer_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id","return_type":"String","visibility":"Public","body":"@customer_id"}},{"html_id":"customer_id=(customer_id:String)-instance-method","name":"customer_id=","abstract":false,"args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"args_string":"(customer_id : String)","args_html":"(customer_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id=","args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"visibility":"Public","body":"@customer_id = customer_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Site/Location","path":"PointGrab/CogniPoint/Site/Location.html","kind":"class","full_name":"PointGrab::CogniPoint::Site::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L121"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Site","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"city=(city:String)-instance-method","name":"city=","abstract":false,"args":[{"name":"city","external_name":"city","restriction":"String"}],"args_string":"(city : String)","args_html":"(city : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city=","args":[{"name":"city","external_name":"city","restriction":"String"}],"visibility":"Public","body":"@city = city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"country=(country:String)-instance-method","name":"country=","abstract":false,"args":[{"name":"country","external_name":"country","restriction":"String"}],"args_string":"(country : String)","args_html":"(country : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country=","args":[{"name":"country","external_name":"country","restriction":"String"}],"visibility":"Public","body":"@country = country"}},{"html_id":"county:String-instance-method","name":"county","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county","return_type":"String","visibility":"Public","body":"@county"}},{"html_id":"county=(county:String)-instance-method","name":"county=","abstract":false,"args":[{"name":"county","external_name":"county","restriction":"String"}],"args_string":"(county : String)","args_html":"(county : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county=","args":[{"name":"county","external_name":"county","restriction":"String"}],"visibility":"Public","body":"@county = county"}},{"html_id":"geo_position:GeoPosition-instance-method","name":"geo_position","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position","return_type":"GeoPosition","visibility":"Public","body":"@geo_position"}},{"html_id":"geo_position=(geo_position:GeoPosition)-instance-method","name":"geo_position=","abstract":false,"args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"args_string":"(geo_position : GeoPosition)","args_html":"(geo_position : GeoPosition)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position=","args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"visibility":"Public","body":"@geo_position = geo_position"}},{"html_id":"house_number:String-instance-method","name":"house_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number","return_type":"String","visibility":"Public","body":"@house_number"}},{"html_id":"house_number=(house_number:String)-instance-method","name":"house_number=","abstract":false,"args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"args_string":"(house_number : String)","args_html":"(house_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number=","args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"visibility":"Public","body":"@house_number = house_number"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"state=(state:String)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"@state = state"}},{"html_id":"street:String-instance-method","name":"street","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street","return_type":"String","visibility":"Public","body":"@street"}},{"html_id":"street=(street:String)-instance-method","name":"street=","abstract":false,"args":[{"name":"street","external_name":"street","restriction":"String"}],"args_string":"(street : String)","args_html":"(street : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street=","args":[{"name":"street","external_name":"street","restriction":"String"}],"visibility":"Public","body":"@street = street"}},{"html_id":"zip:String-instance-method","name":"zip","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip","return_type":"String","visibility":"Public","body":"@zip"}},{"html_id":"zip=(zip:String)-instance-method","name":"zip=","abstract":false,"args":[{"name":"zip","external_name":"zip","restriction":"String"}],"args_string":"(zip : String)","args_html":"(zip : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip=","args":[{"name":"zip","external_name":"zip","restriction":"String"}],"visibility":"Public","body":"@zip = zip"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Subscription","path":"PointGrab/CogniPoint/Subscription.html","kind":"class","full_name":"PointGrab::CogniPoint::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L286"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L287"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"endpoint:String-instance-method","name":"endpoint","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint","return_type":"String","visibility":"Public","body":"@endpoint"}},{"html_id":"endpoint=(endpoint:String)-instance-method","name":"endpoint=","abstract":false,"args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"args_string":"(endpoint : String)","args_html":"(endpoint : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint=","args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"visibility":"Public","body":"@endpoint = endpoint"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"notification_type:String-instance-method","name":"notification_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type","return_type":"String","visibility":"Public","body":"@notification_type"}},{"html_id":"notification_type=(notification_type:String)-instance-method","name":"notification_type=","abstract":false,"args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"args_string":"(notification_type : String)","args_html":"(notification_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type=","args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"visibility":"Public","body":"@notification_type = notification_type"}},{"html_id":"started:Bool-instance-method","name":"started","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started","return_type":"Bool","visibility":"Public","body":"@started"}},{"html_id":"started=(started:Bool)-instance-method","name":"started=","abstract":false,"args":[{"name":"started","external_name":"started","restriction":"Bool"}],"args_string":"(started : Bool)","args_html":"(started : Bool)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started=","args":[{"name":"started","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"@started = started"}},{"html_id":"subscription_type:String-instance-method","name":"subscription_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type","return_type":"String","visibility":"Public","body":"@subscription_type"}},{"html_id":"subscription_type=(subscription_type:String)-instance-method","name":"subscription_type=","abstract":false,"args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"args_string":"(subscription_type : String)","args_html":"(subscription_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type=","args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"visibility":"Public","body":"@subscription_type = subscription_type"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}}]},{"html_id":"drivers/PointGrab/CogniPoint/TokenResponse","path":"PointGrab/CogniPoint/TokenResponse.html","kind":"class","full_name":"PointGrab::CogniPoint::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]}]},{"html_id":"drivers/Polygon","path":"Polygon.html","kind":"class","full_name":"Polygon","name":"Polygon","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(points:Array(Point))-class-method","name":"new","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/place/area_polygon.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L36"},"def":{"name":"new","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(points)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contains(testx:Float64,testy:Float64)-instance-method","name":"contains","abstract":false,"args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"args_string":"(testx : Float64, testy : Float64)","args_html":"(testx : Float64, testy : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L54"},"def":{"name":"contains","args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"visibility":"Public","body":"if ((testx < @xmin || testx > @xmax) || testy < @ymin) || testy > @ymax\n return false\nend\ninside = false\nprevious_index = @points.size - 1\n@points.each_with_index do |point, index|\n previous = @points[previous_index]\n if ((point.y > testy) != (previous.y > testy)) && (testx < ((((previous.x - point.x) * (testy - point.y)) / (previous.y - point.y)) + point.x))\n inside = !inside\n end\n previous_index = index\nend\ninside\n"}},{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L48"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"xmax:Float64-instance-method","name":"xmax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L51"},"def":{"name":"xmax","return_type":"Float64","visibility":"Public","body":"@xmax"}},{"html_id":"xmin:Float64-instance-method","name":"xmin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L49"},"def":{"name":"xmin","return_type":"Float64","visibility":"Public","body":"@xmin"}},{"html_id":"ymax:Float64-instance-method","name":"ymax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L52"},"def":{"name":"ymax","return_type":"Float64","visibility":"Public","body":"@ymax"}},{"html_id":"ymin:Float64-instance-method","name":"ymin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L50"},"def":{"name":"ymin","return_type":"Float64","visibility":"Public","body":"@ymin"}}]},{"html_id":"drivers/Qbic","path":"Qbic.html","kind":"module","full_name":"Qbic","name":"Qbic","abstract":false,"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qbic/TouchPanel","path":"Qbic/TouchPanel.html","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"USERNAME","name":"USERNAME","value":"\"admin\""}],"namespace":{"html_id":"drivers/Qbic","kind":"module","full_name":"Qbic","name":"Qbic"},"instance_methods":[{"html_id":"device_info-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L192"},"def":{"name":"device_info","visibility":"Public","body":"query(\"GET\", \"/v1/info/\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_all_leds-instance-method","name":"get_all_leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L220"},"def":{"name":"get_all_leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n self[:light_names] = leds\n leds.each do |name|\n get_led_state(name)\n end\n true\nend"}},{"html_id":"get_eddystone_uid-instance-method","name":"get_eddystone_uid","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L169"},"def":{"name":"get_eddystone_uid","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_uid\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_eddystone_url-instance-method","name":"get_eddystone_url","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L188"},"def":{"name":"get_eddystone_url","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_url\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_ibeacon-instance-method","name":"get_ibeacon","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L147"},"def":{"name":"get_ibeacon","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/ibeacon\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_led_state(name:String)-instance-method","name":"get_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L216"},"def":{"name":"get_led_state","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led/#{name}\") do |data|\n self[name] = JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L64"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nif refresh_token = @refresh_token\n response = post(\"/v1/oauth2/token\", body: {grant_type: \"refresh_token\", refresh_token: refresh_token}.to_json)\n if response.success?\n resp = AuthResponse.from_json(response.body.not_nil!)\n @expired = false\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\n @refresh_token = resp.refresh_token\n return @auth_token\n else\n logger.debug do\n \"refresh token request failed\"\n end\n end\nend\nresponse = post(\"/v1/oauth2/token\", body: {grant_type: \"password\", username: USERNAME, password: @password}.to_json)\ndata = response.body.not_nil!\nif response.success?\n resp = AuthResponse.from_json(data)\n @expired = false\n @refresh_token = resp.refresh_token\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\nelse\n resp = FailureResponse.from_json(data)\n raise(\"failed to obtain access token: #{resp.detail} (#{response.status})\")\nend\n"}},{"html_id":"leds-instance-method","name":"leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L212"},"def":{"name":"leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n self[:leds] = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@password = URI.encode_www_form(setting(String, :password))\ntransport.before_request do |request|\n request.headers[\"Content-Type\"] = \"application/json\"\n if token_expired?\n else\n request.headers[\"Authorization\"] = @auth_token\n end\nend\nschedule.clear\nschedule.every(1.minute) do\n logger.debug do\n \"polling to check connectivity\"\n end\n resp = get(\"/v1/public/info/\")\n if resp.success?\n logger.debug do\n resp.body\n end\n get_all_leds\n end\nend\n"}},{"html_id":"set_all_leds(red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_all_leds","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L239"},"def":{"name":"set_all_leds","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n leds.each do |name|\n set_led_state(name, red, green, blue)\n end\n true\nend"}},{"html_id":"set_eddystone_uid(enabled:Bool,namespace:String|Nil=nil,instance:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_uid","doc":"https://github.com/google/eddystone/tree/master/eddystone-uid","summary":"

https://github.com/google/eddystone/tree/master/eddystone-uid

","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L153"},"def":{"name":"set_eddystone_uid","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_uid\", {enabled: enabled ? \"enabled\" : \"disabled\", namespace: namespace, instance: instance, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_eddystone_url(enabled:Bool,url:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_url","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L174"},"def":{"name":"set_eddystone_url","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_url\", {enabled: enabled ? \"enabled\" : \"disabled\", url: url, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_ibeacon(enabled:Bool,major:UInt16|Nil=nil,minor:UInt16|Nil=nil,uuid:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_ibeacon","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L129"},"def":{"name":"set_ibeacon","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/ibeacon\", {enabled: enabled ? \"enabled\" : \"disabled\", major: major, minor: minor, uuid: uuid, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_led_state(name:String,red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","args_html":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L230"},"def":{"name":"set_led_state","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"value = {red: red, green: green, blue: blue}\nquery(\"POST\", \"/v1/led/#{name}\", value.to_json) do\n self[name] = value\nend\n"}},{"html_id":"set_setting(key:String,value:String|JSON::Any)-instance-method","name":"set_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"args_string":"(key : String, value : String | JSON::Any)","args_html":"(key : String, value : String | JSON::Any)","location":{"filename":"src/qbic/touch_panel.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L201"},"def":{"name":"set_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"visibility":"Public","body":"query(\"POST\", \"/v1/settings/#{key}\", {value: value}.to_json) do\n true\nend"}},{"html_id":"set_url(value:String)-instance-method","name":"set_url","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L208"},"def":{"name":"set_url","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"set_setting(\"content_url\", value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L196"},"def":{"name":"settings","visibility":"Public","body":"query(\"GET\", \"/v1/settings\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"token_expired?:Bool-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L60"},"def":{"name":"token_expired?","visibility":"Public","body":"@expired"}},{"html_id":"update_password(new_password:String)-instance-method","name":"update_password","abstract":false,"args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"args_string":"(new_password : String)","args_html":"(new_password : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L110"},"def":{"name":"update_password","args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"visibility":"Public","body":"if new_password.size >= 4 && new_password.size <= 16\nelse\n raise(\"password must be between 4 and 16 characters\")\nend\nquery(\"POST\", \"/v1/user/password\") do\n define_setting(:password, new_password)\nend\n"}},{"html_id":"wifi_scan-instance-method","name":"wifi_scan","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L118"},"def":{"name":"wifi_scan","visibility":"Public","body":"query(\"GET\", \"/v1/wifi/scan_results\") do |data|\n JSON.parse(data.not_nil!)\nend"}}],"types":[{"html_id":"drivers/Qbic/TouchPanel/AdvertiseMode","path":"Qbic/TouchPanel/AdvertiseMode.html","kind":"enum","full_name":"Qbic::TouchPanel::AdvertiseMode","name":"AdvertiseMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LowLatency","name":"LowLatency","value":"0"},{"id":"Balanced","name":"Balanced","value":"1"},{"id":"LowPower","name":"LowPower","value":"2"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"instance_methods":[{"html_id":"balanced?-instance-method","name":"balanced?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L124"},"def":{"name":"balanced?","visibility":"Public","body":"self == Balanced"}},{"html_id":"low_latency?-instance-method","name":"low_latency?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L123"},"def":{"name":"low_latency?","visibility":"Public","body":"self == LowLatency"}},{"html_id":"low_power?-instance-method","name":"low_power?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L125"},"def":{"name":"low_power?","visibility":"Public","body":"self == LowPower"}}]},{"html_id":"drivers/Qbic/TouchPanel/AuthResponse","path":"Qbic/TouchPanel/AuthResponse.html","kind":"class","full_name":"Qbic::TouchPanel::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"refresh_token:String-instance-method","name":"refresh_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token","return_type":"String","visibility":"Public","body":"@refresh_token"}},{"html_id":"refresh_token=(refresh_token:String)-instance-method","name":"refresh_token=","abstract":false,"args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"args_string":"(refresh_token : String)","args_html":"(refresh_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token=","args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"visibility":"Public","body":"@refresh_token = refresh_token"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]},{"html_id":"drivers/Qbic/TouchPanel/FailureResponse","path":"Qbic/TouchPanel/FailureResponse.html","kind":"class","full_name":"Qbic::TouchPanel::FailureResponse","name":"FailureResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"detail:String-instance-method","name":"detail","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail","return_type":"String","visibility":"Public","body":"@detail"}},{"html_id":"detail=(detail:String)-instance-method","name":"detail=","abstract":false,"args":[{"name":"detail","external_name":"detail","restriction":"String"}],"args_string":"(detail : String)","args_html":"(detail : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail=","args":[{"name":"detail","external_name":"detail","restriction":"String"}],"visibility":"Public","body":"@detail = detail"}}]}]}]},{"html_id":"drivers/Qsc","path":"Qsc.html","kind":"module","full_name":"Qsc","name":"Qsc","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qsc/QSysControl","path":"Qsc/QSysControl.html","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"about-instance-method","name":"about","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L138"},"def":{"name":"about","visibility":"Public","body":"do_send(\"sg\\n\", name: :status, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L54"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nif @username\n login\nend\nrecreate_change_groups\nschedule.every(40.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n about\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n"}},{"html_id":"fader(fader_ids:Ids,level:Val)-instance-method","name":"fader","doc":"Compatibility Methods","summary":"

Compatibility Methods

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L163"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = -100..20\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = (level_actual + range.begin.to_f).round(1)\n(ensure_array(fader_ids)).each do |f_id|\n if @history[f_id]? == (:percentage_fader)\n set_value(f_id, level, name: \"fader#{f_id}\")\n else\n set_value(f_id, level_actual, name: \"fader#{f_id}\", fader_type: :fader)\n end\nend\n"}},{"html_id":"faders(fader_ids:Ids,level:Val)-instance-method","name":"faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L181"},"def":{"name":"faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"fader(fader_ids, level)"}},{"html_id":"get_status(control_id:String,**options)-instance-method","name":"get_status","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String, **options)","args_html":"(control_id : String, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L112"},"def":{"name":"get_status","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\ndo_send(\"cg #{control_id}\\n\", **options)\n"}},{"html_id":"history:Hash(String,Symbol)-instance-method","name":"history","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L31"},"def":{"name":"history","return_type":"Hash(String, Symbol)","visibility":"Public","body":"@history"}},{"html_id":"login(username:String|Nil=nil,password:String|Nil=nil)-instance-method","name":"login","abstract":false,"args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil = nil, password : String | Nil = nil)","args_html":"(username : String | Nil = nil, password : String | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L142"},"def":{"name":"login","args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"username || (username = @username)\npassword || (password = @password)\ndo_send(\"login #{username} #{password}\\n\", name: :login, priority: 99)\n"}},{"html_id":"mute(mute_ids:Ids,state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool = true)","args_html":"(mute_ids : Ids, state : Bool = true)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L185"},"def":{"name":"mute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 1 : 0\n(ensure_array(mute_ids)).each do |m_id|\n set_value(m_id, level, fader_type: :mute)\nend\n"}},{"html_id":"mute_toggle(mute_id:Ids)-instance-method","name":"mute_toggle","abstract":false,"args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"args_string":"(mute_id : Ids)","args_html":"(mute_id : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L198"},"def":{"name":"mute_toggle","args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_id, !self[\"fader#{mute_id}_mute\"]?.try(&.as_bool))"}},{"html_id":"mutes(mute_ids:Ids,state:Bool)-instance-method","name":"mutes","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool)","args_html":"(mute_ids : Ids, state : Bool)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L190"},"def":{"name":"mutes","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(mute_ids, state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nqueue.retries = 1\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@static_change_groups = (setting?(Hash(String, Group), :change_groups)) || ({} of String => Group)\nif @connected\n if @username\n login\n end\n recreate_change_groups\nend\n"}},{"html_id":"phone_dial(control_id:String)-instance-method","name":"phone_dial","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L233"},"def":{"name":"phone_dial","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"trigger(control_id)\nschedule.in(200.milliseconds) do\n poll_change_group(:phone)\nend\n"}},{"html_id":"phone_hangup(control_id:String)-instance-method","name":"phone_hangup","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L238"},"def":{"name":"phone_hangup","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"phone_dial(control_id)"}},{"html_id":"phone_number(number:String,control_id:String)-instance-method","name":"phone_number","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(number : String, control_id : String)","args_html":"(number : String, control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L229"},"def":{"name":"phone_number","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"set_string(control_id, number)"}},{"html_id":"query_fader(fader_ids:Ids)-instance-method","name":"query_fader","doc":"For inter-module compatibility","summary":"

For inter-module compatibility

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L211"},"def":{"name":"query_fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: (@history[fad]? || (:fader)))\n"}},{"html_id":"query_faders(fader_ids:Ids)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L216"},"def":{"name":"query_faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |f_id|\n get_status(f_id, fader_type: ( @history[f_id]? || (:fader)))\nend"}},{"html_id":"query_mute(fader_ids:Ids)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L220"},"def":{"name":"query_mute","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: :mute)\n"}},{"html_id":"query_mutes(fader_ids:Ids)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L225"},"def":{"name":"query_mutes","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |fad|\n get_status(fad, fader_type: :mute)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L277"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nputs(\"GOT: #{data}\")\nif data == \"none\\r\\n\"\n return task.try(&.success)\nend\nlogger.debug do\n \"QSys sent: #{data}\"\nend\nresp = shellsplit(data)\ncase resp[0]\nwhen \"cv\"\n control_id = resp[1]\n string_rep = resp[2]\n value = resp[-2]\n position = resp[-1].to_f\n self[\"pos_#{control_id}\"] = position\n if string_rep.ends_with?('%')\n @history[control_id] = :percentage_fader\n end\n if type = @history[control_id]?\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :percentage_fader\n self[\"fader#{control_id}\"] = value.to_f\n when :mute\n self[\"fader#{control_id}_mute\"] = value.to_i == 1\n end\n else\n value = resp[2]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id} == #{value}\"\n end\n end\nwhen \"cvv\"\n control_id = resp[1]\n count = resp[2].to_i\n if type = @history[control_id]?\n next_count = count + 3\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :mute\n self[\"fader#{control_id}_mute\"] = value == 1\n end\n end\n else\n next_count = 2\n 1.upto(count) do |index|\n value = resp[next_count + index]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id}\"\n end\n next_count = count + 3\n count = resp[next_count].to_i\n end\n next_count = (next_count + count) + 1\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n self[\"pos_#{control_id}\"] = value\n end\nwhen \"sr\"\n self[:design_name] = resp[1]\n self[:is_primary] = resp[3] == \"1\"\n self[:is_active] = resp[4] == \"1\"\nwhen \"core_not_active\", \"bad_change_group_handle\", \"bad_command\", \"bad_id\", \"control_read_only\", \"too_many_change_groups\"\n return task.try(&.abort(\"Error response received: #{data}\"))\nwhen \"login_required\"\n if @username\n login\n end\n return task.try(&.abort(\"Login is required!\"))\nwhen \"login_success\"\n logger.debug do\n \"Login success!\"\n end\nwhen \"login_failed\"\n return task.try(&.abort(\"Invalid login details provided\"))\nwhen \"rc\"\n logger.warn do\n \"System is notifying us of a disconnect!\"\n end\nwhen \"cmvv\"\n logger.debug do\n \"received cmvv response\"\n end\nelse\n logger.warn do\n \"Unknown response received #{data}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_snapshot(name:String,index:Int32)-instance-method","name":"save_snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(name : String, index : Int32)","args_html":"(name : String, index : Int32)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L206"},"def":{"name":"save_snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(\"sss \\\"#{name}\\\" #{index}\\n\")"}},{"html_id":"set_position(control_id:String,position:Int32,ramp_time:Val|Nil=nil)-instance-method","name":"set_position","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","args_html":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L118"},"def":{"name":"set_position","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"visibility":"Public","body":"if ramp_time\n do_send(\"cspr \\\"#{control_id}\\\" #{position} #{ramp_time}\\n\")\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csp \\\"#{control_id}\\\" #{position}\\n\")\nend"}},{"html_id":"set_string(control_ids:Ids,text:String)-instance-method","name":"set_string","doc":"Used to set a dial number/string","summary":"

Used to set a dial number/string

","abstract":false,"args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(control_ids : Ids, text : String)","args_html":"(control_ids : Ids, text : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L149"},"def":{"name":"set_string","args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"(ensure_array(control_ids)).each do |id|\n (do_send(\"css \\\"#{id}\\\" \\\"#{text}\\\"\\n\")).get\n self[id] = text\nend"}},{"html_id":"set_value(control_id:String,value:Val,ramp_time:Val|Nil=nil,**options)-instance-method","name":"set_value","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","args_html":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L127"},"def":{"name":"set_value","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\nif ramp_time\n do_send(\"csvr \\\"#{control_id}\\\" #{value} #{ramp_time}\\n\", **options)\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csv \\\"#{control_id}\\\" #{value}\\n\", **options)\nend\n"}},{"html_id":"snapshot(name:String,index:Int32,ramp_time:Val=1.5)-instance-method","name":"snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"args_string":"(name : String, index : Int32, ramp_time : Val = 1.5)","args_html":"(name : String, index : Int32, ramp_time : Val = 1.5)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L202"},"def":{"name":"snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"visibility":"Public","body":"do_send(\"ssl \\\"#{name}\\\" #{index} #{ramp_time}\\n\")"}},{"html_id":"trigger(control_id:String)-instance-method","name":"trigger","doc":"Used to trigger dialing etc","summary":"

Used to trigger dialing etc

","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L157"},"def":{"name":"trigger","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Sending trigger to Qsys: ct #{control_id}\"\nend\ndo_send(\"ct \\\"#{control_id}\\\"\\n\")\n"}},{"html_id":"unmute(mute_ids:Ids)-instance-method","name":"unmute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"args_string":"(mute_ids : Ids)","args_html":"(mute_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L194"},"def":{"name":"unmute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_ids, false)"}}],"types":[{"html_id":"drivers/Qsc/QSysControl/Group","path":"Qsc/QSysControl/Group.html","kind":"alias","full_name":"Qsc::QSysControl::Group","name":"Group","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: Int32, controls: Set(String))","aliased_html":"{id: Int32, controls: Set(String)}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Ids","path":"Qsc/QSysControl/Ids.html","kind":"alias","full_name":"Qsc::QSysControl::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Val","path":"Qsc/QSysControl/Val.html","kind":"alias","full_name":"Qsc::QSysControl::Val","name":"Val","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}}]},{"html_id":"drivers/Qsc/QSysRemote","path":"Qsc/QSysRemote.html","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BoolVals","name":"BoolVals","value":"[\"true\", \"false\"]"},{"id":"DB_RANGE","name":"DB_RANGE","value":"-100..20"},{"id":"Delimiter","name":"Delimiter","value":"\"\\u0000\""},{"id":"Errors","name":"Errors","value":"{-32700 => \"Parse error. Invalid JSON was received by the server.\", -32600 => \"Invalid request. The JSON sent is not a valid Request object.\", -32601 => \"Method not found.\", -32602 => \"Invalid params.\", -32603 => \"Server error.\", 2 => \"Invalid Page Request ID\", 3 => \"Bad Page Request - could not create the requested Page Request\", 4 => \"Missing file\", 5 => \"Change Groups exhausted\", 6 => \"Unknown change croup\", 7 => \"Unknown component name\", 8 => \"Unknown control\", 9 => \"Illegal mixer channel index\", 10 => \"Logon required\"}"},{"id":"Faders","name":"Faders","value":"{matrix_in: {type: :\"Mixer.SetInputGain\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputGain\", pri: :Outputs}, matrix_crosspoint: {type: :\"Mixer.SetCrossPointGain\", pri: :Inputs, sec: :Outputs}}"},{"id":"JsonRpcVer","name":"JsonRpcVer","value":"\"2.0\""},{"id":"Mutes","name":"Mutes","value":"{matrix_in: {type: :\"Mixer.SetInputMute\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputMute\", pri: :Outputs}}"}],"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"auto_poll_change_group(group_id:String,every:Num,**options)-instance-method","name":"auto_poll_change_group","doc":"Where every is the number of seconds between polls","summary":"

Where every is the number of seconds between polls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"args_string":"(group_id : String, every : Num, **options)","args_html":"(group_id : String, every : Num, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L175"},"def":{"name":"auto_poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AutoPoll\", {:Id => group_id, :Rate => every}, **options)"}},{"html_id":"change_group_add_component(group_id:String,component_name:String,controls:Array(String),**options)-instance-method","name":"change_group_add_component","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, component_name : String, controls : Array(String), **options)","args_html":"(group_id : String, component_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L149"},"def":{"name":"change_group_add_component","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddComponentControl\", {:Id => group_id, :Component => {:Name => component_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}}, **options)"}},{"html_id":"change_group_add_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_add_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L135"},"def":{"name":"change_group_add_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddControl\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"change_group_remove_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_remove_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L142"},"def":{"name":"change_group_remove_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Remove\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"clear_change_group(group_id:String,**options)-instance-method","name":"clear_change_group","doc":"Removes all controls from change group","summary":"

Removes all controls from change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L170"},"def":{"name":"clear_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Clear\", {:Id => group_id}, **options)"}},{"html_id":"component_get(c_name:String,controls:Array(String),**options)-instance-method","name":"component_get","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(c_name : String, controls : Array(String), **options)","args_html":"(c_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L108"},"def":{"name":"component_get","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Get\", {:Name => c_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}, **options)"}},{"html_id":"component_set(c_name:String,values:Values,**options)-instance-method","name":"component_set","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"args_string":"(c_name : String, values : Values, **options)","args_html":"(c_name : String, values : Values, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L115"},"def":{"name":"component_set","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"values = ensure_array(values)\ndo_send(next_id, \"Component.Set\", {:Name => c_name, :Controls => values}, **options)\n"}},{"html_id":"component_trigger(component:String,trigger:String,**options)-instance-method","name":"component_trigger","abstract":false,"args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"args_string":"(component : String, trigger : String, **options)","args_html":"(component : String, trigger : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L124"},"def":{"name":"component_trigger","args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Trigger\", {:Name => component, :Controls => [{:Name => trigger}]}, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(20.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n no_op\nend\n@id = 0\n"}},{"html_id":"control_get(names:Array(String),**options)-instance-method","name":"control_get","abstract":false,"args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"args_string":"(names : Array(String), **options)","args_html":"(names : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L104"},"def":{"name":"control_get","args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Control.Get\", names, **options)"}},{"html_id":"control_set(name:String,value:Num|Bool,ramp:Num|Nil=nil,**options)-instance-method","name":"control_set","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"args_string":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","args_html":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L87"},"def":{"name":"control_set","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ramp\n params = {:Name => name, :Value => value, :Ramp => ramp}\nelse\n params = {:Name => name, :Value => value}\nend\ndo_send(next_id, \"Control.Set\", params, **options)\n"}},{"html_id":"destroy_change_group(group_id:String,**options)-instance-method","name":"destroy_change_group","doc":"Removes the change group","summary":"

Removes the change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L165"},"def":{"name":"destroy_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Destroy\", {:Id => group_id}, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(fader_ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",use_value:Bool=false,**options)-instance-method","name":"fader","doc":"value can either be a number to set actual numeric values like decibels\nor Bool to deal with mute state","summary":"

value can either be a number to set actual numeric values like decibels or Bool to deal with mute state

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"args_string":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", use_value : Bool = false, **options)","args_html":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", use_value : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L264"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"faders = ensure_array(fader_ids)\nif component && (val = value.as?(Num))\n val = val.to_f.clamp(0.0, 100.0)\n if @db_based_faders || use_value\n percentage = val / 100.0\n level_actual = percentage * (DB_RANGE.size - 1).to_f\n level_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\n fads = faders.map do |fad|\n {Name: fad, Value: level_actual}\n end\n else\n fads = faders.map do |fad|\n {Name: fad, Position: val}\n end\n end\n (component_set(component, fads, name: \"level_#{faders[0]}\")).get\n component_get(component, faders)\nelse\n reqs = faders.map do |fad|\n control_set(fad, value)\n end\n reqs.last.get\n control_get(faders)\nend\n"}},{"html_id":"faders(ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L290"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(ids, value, component, type, **options)"}},{"html_id":"get_components(**options)-instance-method","name":"get_components","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L131"},"def":{"name":"get_components","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.GetComponents\", **options)"}},{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L72"},"def":{"name":"get_status","visibility":"Public","body":"do_send(next_id, cmd: :StatusGet, params: 0, priority: 0)"}},{"html_id":"logon-instance-method","name":"logon","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L76"},"def":{"name":"logon","visibility":"Public","body":"do_send(cmd: :Logon, params: {:User => @username, :Password => @password}, priority: 99)"}},{"html_id":"matrix_fader(name:String,level:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_fader","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, level : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, level : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L213"},"def":{"name":"matrix_fader","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Faders[type]\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nlevel_actual = percentage * (DB_RANGE.size - 1).to_f\nlevel_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\nif sec = info[:sec]?\n params = {:Name => name, info[:pri] => index[0], sec => index[1], :Value => level_actual}\nelse\n params = {:Name => name, info[:pri] => index, :Value => level_actual}\nend\ndo_send(next_id, info[:type], params, **options)\n"}},{"html_id":"matrix_mute(name:String,value:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_mute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, value : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, value : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L252"},"def":{"name":"matrix_mute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Mutes[type]\ndo_send(next_id, info[:type], {:Name => name, info[:pri] => index, :Value => value}, **options)\n"}},{"html_id":"mixer(name:String,inouts:Hash(Int32,Int32|Array(Int32)),mute:Bool=false,**options)-instance-method","name":"mixer","doc":"Example usage:\nmixer 'Parade', {1 => [2,3,4], 3 => 6}, true","summary":"

Example usage: mixer 'Parade', {1 => [2,3,4], 3 => 6}, true

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"args_string":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","args_html":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L184"},"def":{"name":"mixer","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, outputs|\n outputs = ensure_array(outputs)\n do_send(next_id, \"Mixer.SetCrossPointMute\", {:Name => name, :Inputs => input.to_s, :Outputs => outputs.join(' '), :Value => mute}, **options)\nend"}},{"html_id":"mute(fader_id:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L294"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(fader_id, state, component, type, state, **options)"}},{"html_id":"mutes(ids:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L298"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(ids, state, component, type, **options)"}},{"html_id":"next_id-instance-method","name":"next_id","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L399"},"def":{"name":"next_id","visibility":"Public","body":"@id = @id + 1\n@id\n"}},{"html_id":"no_op-instance-method","name":"no_op","doc":"This command does nothing but is useful for making sure the socket is left open","summary":"

This command does nothing but is useful for making sure the socket is left open

","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L68"},"def":{"name":"no_op","visibility":"Public","body":"do_send(cmd: :NoOp, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Delimiter)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@db_based_faders = setting?(Bool, :db_based_faders)\n@username = setting?(String, :username)\n@password = setting?(String, :password)\nif @username && @password\n logon\nend\n"}},{"html_id":"poll_change_group(group_id:String,**options)-instance-method","name":"poll_change_group","doc":"Returns values for all the controls","summary":"

Returns values for all the controls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L160"},"def":{"name":"poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Poll\", {:Id => group_id}, **options)"}},{"html_id":"query_fader(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L306"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"faders = ensure_array(fader_id)\ncomponent ? component_get(component, faders) : control_get(faders)\n"}},{"html_id":"query_faders(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L311"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"query_mute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L315"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(fader_id, component, type)"}},{"html_id":"query_mutes(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L319"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L323"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nresponse = JSON.parse(data)\nlogger.debug do\n \"QSys sent:\"\nend\nlogger.debug do\n response\nend\nif err = response[\"error\"]?\n code = err[\"code\"]\n logger.warn do\n \"Error code #{code} - #{Errors[code]}\"\n end\n if code == 10\n if @username && @password\n logon.get\n return task.try(&.retry(\"Logged on and retrying command\"))\n else\n return task.try(&.abort(\"Login required but no username and/or password in settings\"))\n end\n end\n return task.try(&.abort(err[\"message\"]))\nend\nif result = response[\"result\"]?\nelse\n return task.try(&.success(\"Unknown response\"))\nend\ncase result\nwhen .as_h?\n if result[\"Controls\"]?\n process(result[\"Controls\"].as_a, result[\"Name\"]?)\n else\n if result[\"Platform\"]?\n result.as_h.each do |k, v|\n self[k.underscore] = v\n end\n end\n end\nwhen .as_a?\n process(result.as_a)\nend\ntask.try(&.success)\n"}},{"html_id":"unmute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L302"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(fader_id, false, component, type, **options)"}}],"types":[{"html_id":"drivers/Qsc/QSysRemote/Ids","path":"Qsc/QSysRemote/Ids.html","kind":"alias","full_name":"Qsc::QSysRemote::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Num","path":"Qsc/QSysRemote/Num.html","kind":"alias","full_name":"Qsc::QSysRemote::Num","name":"Num","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/PosTup","path":"Qsc/QSysRemote/PosTup.html","kind":"alias","full_name":"Qsc::QSysRemote::PosTup","name":"PosTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Position: Float64 | Int32)","aliased_html":"{Name: String, Position: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/ValTup","path":"Qsc/QSysRemote/ValTup.html","kind":"alias","full_name":"Qsc::QSysRemote::ValTup","name":"ValTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Value: Float64 | Int32)","aliased_html":"{Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Values","path":"Qsc/QSysRemote/Values.html","kind":"alias","full_name":"Qsc::QSysRemote::Values","name":"Values","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(NamedTuple(Name: String, Position: Float64 | Int32)) | Array(NamedTuple(Name: String, Value: Float64 | Int32)) | NamedTuple(Name: String, Position: Float64 | Int32) | NamedTuple(Name: String, Value: Float64 | Int32))","aliased_html":"Array({Name: String, Position: Float64 | Int32}) | Array({Name: String, Value: Float64 | Int32}) | {Name: String, Position: Float64 | Int32} | {Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}}]}]},{"html_id":"drivers/RHBAccess","path":"RHBAccess.html","kind":"module","full_name":"RHBAccess","name":"RHBAccess","abstract":false,"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/RHBAccess/AxiomRoomLogic","path":"RHBAccess/AxiomRoomLogic.html","kind":"class","full_name":"RHBAccess::AxiomRoomLogic","name":"AxiomRoomLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock-instance-method","name":"lock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L29"},"def":{"name":"lock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.lock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while LOCKING #{@door_ids}\"\n end\nelse\n self[\"locked_by_placeos_at\"] = Time.local\n status?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@door_ids = setting(Array(String), :axiom_door_ids)\n@cron_string = setting(String, :axiom_status_poll_cron)\nschedule.clear\nschedule.cron(@cron_string) do\n status?\nend\n"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L47"},"def":{"name":"status?","visibility":"Public","body":"begin\n result = @door_ids.map do |id|\n {id, (axiom.status?(id)).get}\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR requesting STATUS of #{@door_ids}\"\n end\nelse\n result.map do |id, status|\n self[id] = status[\"Status\"]\n end\n self[\"doors_locked\"] = result.count do |status|\n status.includes?(\"Locked\")\n end\nend"}},{"html_id":"unlock-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L38"},"def":{"name":"unlock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.unlock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while UNLOCKING #{@door_ids}\"\n end\nelse\n self[\"unlocked_by_placeos_at\"] = Time.local\n status?\nend"}}]},{"html_id":"drivers/RHBAccess/Axiomxa","path":"RHBAccess/Axiomxa.html","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock(id:String,permanent:Bool=false)-instance-method","name":"lock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L27"},"def":{"name":"lock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg0|\n __arg0.access_points.lock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"locked\", \"permanent\" => permanent.to_s}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@client = Client.new(base_url: host_name.to_s, username: setting(String, :username), password: setting(String, :password))\n"}},{"html_id":"status?(id:String)-instance-method","name":"status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L37"},"def":{"name":"status?","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = @client.try() do |__arg2|\n __arg2.access_points.status(id: id)\nend\nself[\"access_point_#{id}_status\"] = JSON.parse(response.not_nil!.body)\n"}},{"html_id":"unlock(id:String,permanent:Bool=false)-instance-method","name":"unlock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L32"},"def":{"name":"unlock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg1|\n __arg1.access_points.unlock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"unlocked\", \"permanent\" => permanent.to_s}\n"}}],"types":[{"html_id":"drivers/RHBAccess/Axiomxa/Client","path":"RHBAccess/Axiomxa/Client.html","kind":"alias","full_name":"RHBAccess::Axiomxa::Client","name":"Client","abstract":false,"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Axio::Client","aliased_html":"Axio::Client","const":false,"namespace":{"html_id":"drivers/RHBAccess/Axiomxa","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa"}}]}]},{"html_id":"drivers/Rhombus","path":"Rhombus.html","kind":"module","full_name":"Rhombus","name":"Rhombus","abstract":false,"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Rhombus/SecurityInterop","path":"Rhombus/SecurityInterop.html","kind":"class","full_name":"Rhombus::SecurityInterop","name":"SecurityInterop","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"door_event(json:String)-instance-method","name":"door_event","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L80"},"def":{"name":"door_event","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"new door event detected: #{json}\"\nend\nwebhook = Webhook.new(Interface::DoorSecurity::DoorEvent.from_json(json))\n@event_count = @event_count + 1_u64\n@subscriptions.each do |sub|\n begin\n logger.debug do\n \"notifying webhook of new door event: #{sub.webhook}\"\n end\n webhook.sign(sub.secret)\n response = HTTP::Client.post(sub.webhook, HTTP::Headers {\"Content-Type\" => \"application/json\"}, webhook.to_json)\n if response.success?\n else\n logger.warn do\n \"request #{sub.webhook} failed with status: #{response.status_code}\\n#{response.body}\"\n end\n end\n rescue error\n logger.error(exception: error) do\n \"failed to notify subscription: #{sub.webhook}\"\n end\n end\nend\nself[:event_count] = @event_count\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\norg_id = (setting?(String, :organization_id)) || \"event\"\nmonitor(\"security/#{org_id}/door\") do |_subscription, payload|\n door_event(payload)\nend\n@subscriptions = (setting?(Array(Subscription), :subscriptions)) || ([] of Subscription)\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n"}},{"html_id":"request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L35"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\n end\n if @debug_webhook\n logger.debug do\n body\n end\n end\n case method.downcase\n when \"post\"\n @subscriptions << (Subscription.from_json(body))\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::CREATED.to_i, {} of String => String, \"\"}\n when \"delete\"\n sub_webhook = (Subscription.from_json(body)).webhook\n @subscriptions.reject! do |sub|\n sub.webhook == sub_webhook\n end\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::ACCEPTED.to_i, {} of String => String, \"\"}\n when \"get\"\n all_doors = [] of JSON::Any\n security.door_list.get.each do |doors|\n all_doors.concat(doors.as_a)\n end\n {HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, {doors: all_doors}.to_json}\n when \"put\"\n door = (Interface::DoorSecurity::Door.from_json(body)).door_id\n case (security.unlock(door)).get.first.as_bool?\n in true\n {HTTP::Status::OK.to_i, {} of String => String, \"\"}\n in false\n {HTTP::Status::FORBIDDEN.to_i, {} of String => String, \"\"}\n in nil\n {HTTP::Status::NOT_IMPLEMENTED.to_i, {} of String => String, \"\"}\n end\n else\n {HTTP::Status::BAD_REQUEST.to_i, {\"Content-Type\" => \"application/json\"}, {error: \"unexpected HTTP request method: #{method}\"}.to_json}\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, error.message.to_s}\nend"}}]},{"html_id":"drivers/Rhombus/SecurityMock","path":"Rhombus/SecurityMock.html","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"card_holders:Array(CardUser)-instance-method","name":"card_holders","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L27"},"def":{"name":"card_holders","return_type":"Array(CardUser)","visibility":"Public","body":"@card_holders"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L26"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"@door_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"door_list_size = (setting?(Int32, :door_list_size)) || 30\nFaker.seed(door_list_size)\ndoors = Array(Door).new(door_list_size)\ndoor_list_size.times do\n doors << (Door.new(Faker::Business.credit_card_number, Faker::Commerce.department))\nend\n@door_list = doors\n@card_holders = (0..10).map do\n CardUser.new(Faker::Business.credit_card_number, Faker::Name.name, Faker::Internet.safe_email)\nend\nswipe_event_period = (setting?(Int32, :swipe_event_every)) || 30\nschedule.clear\nschedule.every(swipe_event_period.seconds) do\n door = doors.sample\n action = Action::Granted\n case rand(6)\n when 0, 1, 2\n user = card_holders.sample\n when 3\n action = Action::Denied\n user = card_holders.sample\n when 4\n action = Action::Tamper\n when 5\n action = Action::RequestToExit\n end\n publish(\"security/event/door\", DoorEvent.new(module_id: module_id, security_system: \"mock\", door_id: door.door_id, action: action, card_id: user.try(&.card_id), user_name: user.try(&.user_name), user_email: user.try(&.user_email)).to_json)\nend\n"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/rhombus/security_mock.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L83"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"self[:last_unlocked] = door_id\ntrue\n"}}],"types":[{"html_id":"drivers/Rhombus/SecurityMock/CardUser","path":"Rhombus/SecurityMock/CardUser.html","kind":"struct","full_name":"Rhombus::SecurityMock::CardUser","name":"CardUser","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus/SecurityMock","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock"},"constructors":[{"html_id":"new(card_id:String,user_name:String,user_email:String)-class-method","name":"new","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(card_id : String, user_name : String, user_email : String)","args_html":"(card_id : String, user_name : String, user_email : String)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"new","args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(card_id, user_name, user_email)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_mock.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@card_id.clone, @user_name.clone, @user_email.clone)"}},{"html_id":"copy_with(card_id_card_id=@card_id,user_name_user_name=@user_name,user_email_user_email=@user_email)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"args_string":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","args_html":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"copy_with","args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"visibility":"Public","body":"self.class.new(_card_id, _user_name, _user_email)"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Rhombus/Subscription","path":"Rhombus/Subscription.html","kind":"class","full_name":"Rhombus::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(webhook:String,secret:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"args_string":"(webhook : String, secret : Nil | String = nil)","args_html":"(webhook : String, secret : Nil | String = nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L12"},"def":{"name":"new","args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(webhook, secret)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"secret:String|Nil-instance-method","name":"secret","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L10"},"def":{"name":"secret","return_type":"String | ::Nil","visibility":"Public","body":"@secret"}},{"html_id":"webhook:String-instance-method","name":"webhook","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L9"},"def":{"name":"webhook","return_type":"String","visibility":"Public","body":"@webhook"}}]},{"html_id":"drivers/Rhombus/Webhook","path":"Rhombus/Webhook.html","kind":"class","full_name":"Rhombus::Webhook","name":"Webhook","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(event:PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)-class-method","name":"new","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"args_string":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","args_html":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L27"},"def":{"name":"new","args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"visibility":"Public","body":"_ = allocate\n_.initialize(event)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"action:PlaceOS::Driver::Interface::DoorSecurity::Action-instance-method","name":"action","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L22"},"def":{"name":"action","return_type":"PlaceOS::Driver::Interface::DoorSecurity::Action","visibility":"Public","body":"@action"}},{"html_id":"card_id:String|Nil-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L23"},"def":{"name":"card_id","return_type":"String | ::Nil","visibility":"Public","body":"@card_id"}},{"html_id":"door_id:String-instance-method","name":"door_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L19"},"def":{"name":"door_id","return_type":"String","visibility":"Public","body":"@door_id"}},{"html_id":"sign(secret:String|Nil)-instance-method","name":"sign","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"args_string":"(secret : String | Nil)","args_html":"(secret : String | Nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L37"},"def":{"name":"sign","args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"visibility":"Public","body":"if key = secret.presence\n @signature = OpenSSL::HMAC.hexdigest(:sha256, key, timestamp.to_rfc3339)\nelse\n @signature = nil\nend\nself\n"}},{"html_id":"signature:String|Nil-instance-method","name":"signature","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L21"},"def":{"name":"signature","return_type":"String | ::Nil","visibility":"Public","body":"@signature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L20"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"user_email:String|Nil-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L25"},"def":{"name":"user_email","return_type":"String | ::Nil","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String|Nil-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L24"},"def":{"name":"user_name","return_type":"String | ::Nil","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Samsung","path":"Samsung.html","kind":"module","full_name":"Samsung","name":"Samsung","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Samsung/Displays","path":"Samsung/Displays.html","kind":"module","full_name":"Samsung::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Samsung","kind":"module","full_name":"Samsung","name":"Samsung"},"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol","path":"Samsung/Displays/MDCProtocol.html","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEVICE_SETTINGS","name":"DEVICE_SETTINGS","value":"{network_standby: Bool, auto_off_timer: Bool, auto_power: Bool, volume: Num, contrast: Num, brightness: Num, sharpness: Num, colour: Num, tint: Num, red_gain: Num, green_gain: Num, blue_gain: Num}"},{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"auto_off_timer(value:Bool,**options)-instance-method","name":"auto_off_timer","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_off_timer","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_off_timer\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_off_timer\"), data, **options)\n"}},{"html_id":"auto_power(value:Bool,**options)-instance-method","name":"auto_power","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_power","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_power\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_power\"), data, **options)\n"}},{"html_id":"blue_gain(value:Num,**options)-instance-method","name":"blue_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"blue_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"blue_gain\"), data, **options)\n"}},{"html_id":"brightness(value:Num,**options)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"brightness\"), data, **options)\n"}},{"html_id":"colour(value:Num,**options)-instance-method","name":"colour","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"colour","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"colour\"), data, **options)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L82"},"def":{"name":"connected","visibility":"Public","body":"if self[:hard_off]?.try(&.as_bool)\nelse\n do_device_config\nend\nschedule.every(30.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Num,**options)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"contrast\"), data, **options)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L90"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L209"},"def":{"name":"do_device_config","visibility":"Public","body":"{% for name, kind in DEVICE_SETTINGS %}\n %value = setting?({{ kind }}, {{ name.id.stringify }})\n {{ name.id }}(%value) if %value\n {% end %}"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L175"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::Status, Bytes.empty, priority: 0)\nif self[:hard_off]?.try(&.as_bool)\nelse\n power?\nend\n"}},{"html_id":"green_gain(value:Num,**options)-instance-method","name":"green_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"green_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"green_gain\"), data, **options)\n"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L113"},"def":{"name":"hard_off","visibility":"Public","body":"if self[:power]?.try(&.as_bool)\n do_send(Command::PanelMute, 0)\nend\ndo_send(Command::HardOff, 0)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L124"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L140"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","doc":"Adds video mute state compatible with projectors","summary":"

Adds video mute state compatible with projectors

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L134"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1 : 0\ndo_send(Command::PanelMute, state)\n"}},{"html_id":"network_standby(value:Bool,**options)-instance-method","name":"network_standby","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"network_standby","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"network_standby\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"network_standby\"), data, **options)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L62"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L76"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\n@blank = (setting?(String, :blanking_input)).try(&->Input.parse(String))\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L96"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n do_send(Command::HardOff, 1)\n do_send(Command::PanelMute, 0)\nelse\n if (blanking_input = @blank) && self[:power]?\n switch_to(blanking_input)\n end\n do_send(Command::PanelMute, 1)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L118"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::PanelMute, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L221"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .status?\n self[:hard_off] = hard_off = values[0] == 0\n if hard_off\n self[:power] = false\n end\n self[:volume] = values[1]\n self[:audio_mute] = values[2] == 1\n self[:input] = Input.from_value(values[3])\n check_power_state\n when .panel_mute?\n self[:power] = value == 0\n check_power_state\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .brightness?\n self[:brightness] = value\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n if self[:screen_split]?.try(&.as_bool)\n else\n if current_input == @input_target\n @input_target = nil\n else\n if input_target = @input_target\n switch_to(input_target)\n end\n end\n end\n when .speaker?\n self[:speaker] = SpeakerMode.from_value(value)\n when .hard_off?\n if self[:hard_off]?.try(&.as_bool)\n else\n self[:hard_off] = hard_off = value == 0\n if hard_off\n self[:power] = false\n end\n end\n when .screen_split?\n self[:screen_split] = value >= 0\n when .software_version?\n self[:software_version] = values.join\n when .serial_number?\n self[:serial_number] = values.join\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"red_gain(value:Num,**options)-instance-method","name":"red_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"red_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"red_gain\"), data, **options)\n"}},{"html_id":"serial_number-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L157"},"def":{"name":"serial_number","visibility":"Public","body":"do_send(Command::SerialNumber)"}},{"html_id":"sharpness(value:Num,**options)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"sharpness\"), data, **options)\n"}},{"html_id":"software_version-instance-method","name":"software_version","doc":"check software version","summary":"

check software version

","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L153"},"def":{"name":"software_version","visibility":"Public","body":"do_send(Command::SoftwareVersion)"}},{"html_id":"speaker_select(mode:SpeakerMode,**options)-instance-method","name":"speaker_select","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"args_string":"(mode : SpeakerMode, **options)","args_html":"(mode : SpeakerMode, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L171"},"def":{"name":"speaker_select","args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Speaker, mode.value, **options)"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L161"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"tint(value:Num,**options)-instance-method","name":"tint","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"tint","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"tint\"), data, **options)\n"}},{"html_id":"volume(value:Num,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"volume\"), data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol/Command","path":"Samsung/Displays/MDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L299"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L316"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L323"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L324"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L311"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L305"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L331"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L307"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L304"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L310"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L301"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":312,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L312"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L313"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L322"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L302"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L315"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L309"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L318"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L325"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L327"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L306"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L314"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L326"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L321"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L300"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L328"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L329"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L308"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L303"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L317"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L319"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L320"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Input","path":"Samsung/Displays/MDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Num","path":"Samsung/Displays/MDCProtocol/Num.html","kind":"alias","full_name":"Samsung::Displays::MDCProtocol::Num","name":"Num","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L180"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"}},{"html_id":"drivers/Samsung/Displays/MDCProtocol/ResponseStatus","path":"Samsung/Displays/MDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L216"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L217"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L218"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/SpeakerMode","path":"Samsung/Displays/MDCProtocol/SpeakerMode.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::SpeakerMode","name":"SpeakerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L166"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Internal","name":"Internal","value":"0"},{"id":"External","name":"External","value":"1"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"external?-instance-method","name":"external?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L168"},"def":{"name":"external?","visibility":"Public","body":"self == External"}},{"html_id":"internal?-instance-method","name":"internal?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L167"},"def":{"name":"internal?","visibility":"Public","body":"self == Internal"}}]}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","path":"Samsung/Displays/ReducedMDCProtocol.html","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"clear_whiteboard-instance-method","name":"clear_whiteboard","doc":"if the user has been using the display as a whiteboard\nthen the display needs to switch input","summary":"

if the user has been using the display as a whiteboard then the display needs to switch input

","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L142"},"def":{"name":"clear_whiteboard","visibility":"Public","body":"target_input = @input_target\nclear_input = @whiteboard_clear_input\nif target_input && clear_input\n (switch_to(clear_input)).get\n switch_to(target_input)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L87"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L93"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L159"},"def":{"name":"do_device_config","visibility":"Public","body":"value = setting?(Int32 | Float64, :volume)\nif value\n volume(value)\nend\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L151"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n do_send(Command::Volume, Bytes.empty, priority: 0)\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L104"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::HardOff, 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L114"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.audio? || layer.audio_video?\n mute_audio(state)\nend"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L123"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L77"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\nif clear_input = setting?(String, :whiteboard_clear_input)\n @whiteboard_clear_input = Input.parse(clear_input)\nelse\n @whiteboard_clear_input = nil\nend\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L99"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\ndo_send(Command::HardOff, state ? 1 : 0)\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L108"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::HardOff, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n when .hard_off?\n self[:power] = value != 0\n check_power_state\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L135"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"volume(value:Int32|Float64,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"args_string":"(value : Int32 | Float64, **options)","args_html":"(value : Int32 | Float64, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L164"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Command","path":"Samsung/Displays/ReducedMDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L241"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L248"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L249"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L236"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L230"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L256"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L232"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L229"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L235"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L226"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L237"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L238"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L247"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L227"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L240"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L234"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L243"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L250"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L252"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L231"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L239"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L251"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L246"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L225"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L253"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L254"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L233"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L228"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L242"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L244"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L245"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Input","path":"Samsung/Displays/ReducedMDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/ResponseStatus","path":"Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L169"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L170"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L171"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Screen","path":"Screen.html","kind":"class","full_name":"Screen","name":"Screen","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}}]},{"html_id":"drivers/ScreenTechnics","path":"ScreenTechnics.html","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics","abstract":false,"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/ScreenTechnics/Connect","path":"ScreenTechnics/Connect.html","kind":"class","full_name":"ScreenTechnics::Connect","name":"Connect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_LOOKUP","name":"CMD_LOOKUP","value":"{30 => :up, 33 => :down, 1 => :status, 36 => :stop}"},{"id":"COMMANDS","name":"COMMANDS","value":"{up: 30, down: 33, status: 1, stop: 36}"},{"id":"STATUS","name":"STATUS","value":"{0 => :moving_top, 1 => :moving_bottom, 2 => :moving_preset_1, 3 => :moving_preset_2, 4 => :moving_top, 5 => :moving_bottom, 6 => :at_top, 7 => :at_bottom, 8 => :at_preset_1, 9 => :at_preset_2, 10 => :stopped, 11 => :error, 13 => :error_timeout, 14 => :error_current, 15 => :error_rattle, 16 => :at_bottom}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/ScreenTechnics","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(15.seconds, immediate: true) do\n (0...@count).each do |index|\n query_state(index)\n end\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"queue.clear\nschedule.clear\n"}},{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L68"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if down?(index)\n return\nend\nstop(index)\ndo_send(:down, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"down?(index:Int32=0)-instance-method","name":"down?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L75"},"def":{"name":"down?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_bottom\", \"at_bottom\"}.includes?(self[\"screen#{index}\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L55"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i\ncase position\nwhen MoveablePosition::Up\n up(index)\nwhen MoveablePosition::Down\n down(index)\nelse\n raise(\"invalid position requested\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 500.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@count = (setting?(Int32, :screen_count)) || 1"}},{"html_id":"query_state(index:Int32=0)-instance-method","name":"query_state","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L101"},"def":{"name":"query_state","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(:status, index, 32)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/screen_technics/connect.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L125"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Screen sent #{data}\"\nend\nparts = (data.split(/,/)).map do |__arg0|\n __arg0.strip.to_i\nend\ncmd = CMD_LOOKUP[parts[0] - 100]?\nif cmd\n index = parts[2] - 17\n case cmd\n when :up\n logger.debug do\n \"Screen#{index} moving up\"\n end\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = true\n when :down\n logger.debug do\n \"Screen#{index} moving down\"\n end\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = true\n when :stop\n logger.debug do\n \"Screen#{index} stopped\"\n end\n self[\"moving#{index}\"] = false\n screen = \"screen#{index}\"\n if {\"at_top\", \"at_bottom\"}.includes?(self[screen]?)\n else\n self[screen] = :stopped\n end\n when :status\n self[\"screen#{index}\"] = status = STATUS[parts[-1]]\n case status\n when :moving_top, :at_top\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = status == (:moving_top)\n when :moving_bottom, :at_bottom\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = status == (:moving_bottom)\n when :stopped\n self[\"moving#{index}\"] = false\n when :error, :error_timeout, :error_current, :error_rattle\n self[\"moving#{index}\"] = false\n end\n end\n task.try(&.success)\nelse\n error = \"Unknown command #{parts[0]}\"\n logger.debug do\n error\n end\n task.try(&.abort(error))\nend\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/screen_technics/connect.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L90"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i\ndo_send(:stop, index, name: \"stop#{index}\", clear_queue: emergency, priority: emergency ? (queue.priority + 50) : queue.priority)\n"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L79"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if up?(index)\n return\nend\nstop(index)\ndo_send(:up, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"up?(index:Int32=0)-instance-method","name":"up?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L86"},"def":{"name":"up?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_top\", \"at_top\"}.includes?(self[\"screen#{index}\"]?)"}}]}]},{"html_id":"drivers/SecureOS","path":"SecureOS.html","kind":"module","full_name":"SecureOS","name":"SecureOS","abstract":false,"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/SecureOS/AuthResponse","path":"SecureOS/AuthResponse.html","kind":"struct","full_name":"SecureOS::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:AuthToken-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L93"},"def":{"name":"data","return_type":"AuthToken","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L94"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/AuthToken","path":"SecureOS/AuthToken.html","kind":"struct","full_name":"SecureOS::AuthToken","name":"AuthToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L97"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L98"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L100"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/SecureOS/Camera","path":"SecureOS/Camera.html","kind":"struct","full_name":"SecureOS::Camera","name":"Camera","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L110"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L111"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L113"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L114"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"settings:JSON::Any-instance-method","name":"settings","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L115"},"def":{"name":"settings","return_type":"JSON::Any","visibility":"Public","body":"@settings"}},{"html_id":"status:JSON::Any-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L116"},"def":{"name":"status","return_type":"JSON::Any","visibility":"Public","body":"@status"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L117"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/CameraResponse","path":"SecureOS/CameraResponse.html","kind":"struct","full_name":"SecureOS::CameraResponse","name":"CameraResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L103"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L104"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Camera)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L106"},"def":{"name":"data","return_type":"Array(Camera)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L107"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/Error","path":"SecureOS/Error.html","kind":"struct","full_name":"SecureOS::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String-instance-method","name":"error","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L87"},"def":{"name":"error","return_type":"String","visibility":"Public","body":"@error"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L86"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"request_id:String|Int64|Nil-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L85"},"def":{"name":"request_id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@request_id"}}]},{"html_id":"drivers/SecureOS/ErrorWrapper","path":"SecureOS/ErrorWrapper.html","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Error-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L52"},"def":{"name":"data","return_type":"Error","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L51"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Event","path":"SecureOS/Event.html","kind":"struct","full_name":"SecureOS::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L73"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L72"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"parameters:JSON::Any|Nil-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L79"},"def":{"name":"parameters","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@parameters"}},{"html_id":"ticks:Int64|Nil-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L74"},"def":{"name":"ticks","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L77"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L71"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/EventWrapper","path":"SecureOS/EventWrapper.html","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Event-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L47"},"def":{"name":"data","return_type":"Event","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L46"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Response","path":"SecureOS/Response.html","kind":"class","full_name":"SecureOS::Response","name":"Response","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/SecureOS/ErrorWrapper","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper"},{"html_id":"drivers/SecureOS/EventWrapper","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper"},{"html_id":"drivers/SecureOS/StateWrapper","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"state\"\n StateWrapper.from_json(json)\nwhen \"event\"\n EventWrapper.from_json(json)\nwhen \"error\"\n ErrorWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/SecureOS/State","path":"SecureOS/State.html","kind":"struct","full_name":"SecureOS::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L59"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"states:Hash(String,Bool)-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L65"},"def":{"name":"states","return_type":"Hash(String, Bool)","visibility":"Public","body":"@states"}},{"html_id":"ticks:Int64-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L60"},"def":{"name":"ticks","return_type":"Int64","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L63"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L58"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/StateType","path":"SecureOS/StateType.html","kind":"enum","full_name":"SecureOS::StateType","name":"StateType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Attached","name":"Attached","value":"0"},{"id":"Armed","name":"Armed","value":"1"},{"id":"Alarmed","name":"Alarmed","value":"2"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L7"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"armed?-instance-method","name":"armed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L6"},"def":{"name":"armed?","visibility":"Public","body":"self == Armed"}},{"html_id":"attached?-instance-method","name":"attached?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L5"},"def":{"name":"attached?","visibility":"Public","body":"self == Attached"}}]},{"html_id":"drivers/SecureOS/StateWrapper","path":"SecureOS/StateWrapper.html","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:State-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L42"},"def":{"name":"data","return_type":"State","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L41"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/SubscribeRule","path":"SecureOS/SubscribeRule.html","kind":"struct","full_name":"SecureOS::SubscribeRule","name":"SubscribeRule","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(type:String,id:String,action:Symbol,states:Array(StateType)|Nil=nil,events:Array(String)|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"args_string":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","args_html":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, id, action, states, events)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Symbol-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L17"},"def":{"name":"action","return_type":"Symbol","visibility":"Public","body":"@action"}},{"html_id":"events:Array(String)|Nil-instance-method","name":"events","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L16"},"def":{"name":"events","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@events"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L14"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"states:Array(StateType)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L15"},"def":{"name":"states","return_type":"Array(StateType) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L13"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Watchlist","path":"SecureOS/Watchlist.html","kind":"struct","full_name":"SecureOS::Watchlist","name":"Watchlist","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L127"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L128"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L130"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L131"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/SecureOS/WatchlistResponse","path":"SecureOS/WatchlistResponse.html","kind":"struct","full_name":"SecureOS::WatchlistResponse","name":"WatchlistResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Watchlist)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L123"},"def":{"name":"data","return_type":"Array(Watchlist)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L124"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/WsApi","path":"SecureOS/WsApi.html","kind":"class","full_name":"SecureOS::WsApi","name":"WsApi","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"basic_auth:NamedTuple(username:String,password:String)-instance-method","name":"basic_auth","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth","return_type":"NamedTuple(username: String, password: String)","visibility":"Public","body":"if (value = @basic_auth).nil?\n ::raise(NilAssertionError.new(\"SecureOS::WsApi#basic_auth cannot be nil\"))\nelse\n value\nend"}},{"html_id":"basic_auth?:NamedTuple(username:String,password:String)|Nil-instance-method","name":"basic_auth?","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth?","return_type":"NamedTuple(username: String, password: String) | ::Nil","visibility":"Public","body":"@basic_auth"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"begin\n response = http_client.get(\"#{@rest_api_host}/api/v1/ws_auth\")\n if response.success?\n auth = AuthResponse.from_json(response.body)\n send({type: :auth, token: auth.data.token}.to_json, wait: false)\n else\n raise(\"Authentication failed\")\n end\n schedule.every(30.seconds) do\n send({type: :get_server_time}.to_json, name: :server_time)\n end\n schedule.every(5.minutes, immediate: true) do\n camera_list\n subscribe_all\n watchlist_list\n end\nrescue error\n logger.warn(exception: error) do\n \"Authentication failed\"\n end\n disconnect\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@rest_api_host = setting(String, :rest_api_host)\n@basic_auth = setting(NamedTuple(username: String, password: String), :basic_auth)\n@camera_types = setting(Array(String), :camera_types)\n@camera_states = setting(Array(StateType), :camera_states)\n@camera_events = setting(Array(String), :camera_events)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/secure_os/ws_api.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L169"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"SecureOS sent: #{raw_json}\"\nend\ntype_check = (JSON.parse(raw_json))[\"type\"]?\nif type_check\n response = Response.from_json(raw_json)\n case response\n in StateWrapper\n self[\"camera_#{response.data.id}_states\"] = response.data\n in EventWrapper\n self[\"camera_#{response.data.id}\"] = response.data\n in ErrorWrapper\n logger.warn do\n \"SecureOS error: #{response.data}\"\n end\n if response.data.error.in?({\"INVALID_AUTH_TOKEN\", \"UNAUTHORIZED\"})\n disconnect\n else\n self[\"last_error\"] = response.data\n end\n in Response\n end\nend\ntask.try(&.success)\n"}},{"html_id":"watchlist_add_lp(watchlist:String,license_plate:String,comment:String=\"\")-instance-method","name":"watchlist_add_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String, comment : String = \"\")","args_html":"(watchlist : String, license_plate : String, comment : String = "")","location":{"filename":"src/secure_os/ws_api.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L120"},"def":{"name":"watchlist_add_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/set\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate, comment: comment}.to_json)\n if response\n else\n logger.warn do\n \"Failed to add license plate to watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to add license plate to watchlist\"\n end\nend"}},{"html_id":"watchlist_remove_lp(watchlist:String,license_plate:String)-instance-method","name":"watchlist_remove_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String)","args_html":"(watchlist : String, license_plate : String)","location":{"filename":"src/secure_os/ws_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L140"},"def":{"name":"watchlist_remove_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/delete\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate}.to_json)\n if response\n else\n logger.warn do\n \"Failed to remove license plate from watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to remove license plate from watchlist\"\n end\nend"}}]}]},{"html_id":"drivers/Settings","path":"Settings.html","kind":"alias","full_name":"Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Core::Settings","aliased_html":"Place::Router::Core::Settings","const":false},{"html_id":"drivers/Sharp","path":"Sharp.html","kind":"module","full_name":"Sharp","name":"Sharp","abstract":false,"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sharp/PnSeries","path":"Sharp/PnSeries.html","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"AUDIO","name":"AUDIO","value":"{audio1: \"ASDP 2\", audio2: \"ASDP 3\", dvi: \"ASDP 1\", dvi_alt: \"ASDA 1\", hdmi: \"ASHP 0\", hdmi_3mm: \"ASHP 1\", hdmi_rca: \"ASHP 2\", vga: \"ASAP 1\", component: \"ASCA 1\"}"},{"id":"AUDIO_RESPONSE","name":"AUDIO_RESPONSE","value":"AUDIO.to_h.invert"},{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"OPERATION_CODE","name":"OPERATION_CODE","value":"{video_input: \"INPS\", volume_status: \"VOLM\", mute_status: \"MUTE\", power_on_delay: \"PWOD\", contrast_status: \"CONT\", brightness_status: \"VLMP\", model_number: \"INF1\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sharp","kind":"module","full_name":"Sharp","name":"Sharp"},"instance_methods":[{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L127"},"def":{"name":"auto_adjust","visibility":"Public","body":"do_send(\"AGIN 1\", timeout: 20.seconds)"}},{"html_id":"brightness(val:Int32|Float64)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L131"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nbrightness = (percentage * @brightness_max.to_f).round_away.to_i\ndo_send(\"VLMP#{brightness.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"brightness_status(priority:Int32=0,**options)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VLMP\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"send_credentials\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Display\"\n end\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32|Float64)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L139"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\ncontrast = (percentage * @contrast_max.to_f).round_away.to_i\nmultiplier = (self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1\ncontrast = contrast * multiplier\ndo_send(\"CONT#{contrast.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"contrast_status(priority:Int32=0,**options)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"CONT\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L61"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L197"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n if self[:model_number]?\n else\n model_number\n end\n power_on_delay\n mute_status\nend"}},{"html_id":"model_number(priority:Int32=0,**options)-instance-method","name":"model_number","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"model_number","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INF1\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sharp/pn_series.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L165"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"Sharp LCD requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"Sharp LCD, requested to mute #{state}\"\n end\n do_send(\"MUTE #{state ? '1' : '0'}\")\n mute_status(50)\nend"}},{"html_id":"mute_status(priority:Int32=0,**options)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"MUTE\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sharp/pn_series.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L65"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"delay = self[:power_on_delay]?.try(&.as_i) || 5\nif state != (!(!self[:power]?.try(&.as_bool)))\n if state\n logger.debug do\n \"-- Sharp LCD, requested to power on\"\n end\n do_send(\"POWR 1\", name: :POWR, timeout: delay.seconds + 15.seconds)\n self[:warming] = true\n self[:power] = true\n do_send(\"POWR????\", name: :POWR, timeout: 10.seconds)\n else\n logger.debug do\n \"-- Sharp LCD, requested to power off\"\n end\n do_send(\"POWR 0\", name: :POWR, timeout: 15.seconds)\n self[:power] = false\n end\nend\npower?\nmute_status(0)\nvolume_status(0)\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L88"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(\"POWR????\", **options, name: :POWR, timeout: 10.seconds)).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0,**options)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"PWOD\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sharp/pn_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L219"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-3])\nlogger.debug do\n \"-- Sharp LCD, received: #{data}\"\nend\nif data == \"Password:OK\"\n return task.try(&.success(\"Login successful\"))\nelse\n if data == \"Password:Login incorrect\"\n schedule.in(5.seconds) do\n send_credentials\n end\n return task.try(&.success(\"Sharp LCD, bad login or logged off. Attempting login..\"))\n else\n if data == \"OK\"\n return task.try(&.success)\n else\n if data == \"WAIT\"\n logger.debug do\n \"-- Sharp LCD, wait\"\n end\n return\n else\n if data == \"ERR\"\n return task.try(&.abort(\"-- Sharp LCD, error\"))\n else\n if data.size < 8\n return task.try(&.abort(\"Sharp sent out of order response: #{data}\"))\n end\n end\n end\n end\n end\nend\ncommand, value = data.split\ncase command\nwhen \"POWR\"\n self[:warming] = false\n self[:power] = value.to_i > 0\nwhen \"INPS\"\n input = Input.from_value?(value.to_i)\n self[:input] = input || \"unknown\"\n logger.debug do\n \"-- Sharp LCD, input #{self[:input]} == #{value}\"\n end\nwhen \"VOLM\"\n vol_percent = (value.to_i.to_f / @volume_max.to_f) * 100.0\n if self[:audio_mute]?.try(&.as_bool)\n else\n self[:volume] = vol_percent.round(2)\n end\nwhen \"MUTE\"\n self[:audio_mute] = ( mute = value.to_i == 1)\n if mute\n self[:volume] = 0\n else\n volume_status(90)\n end\nwhen \"CONT\"\n val = value.to_i / ((self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1)\n contrast = (val.to_f / @contrast_max.to_f) * 100.0\n self[:contrast] = contrast.round(2)\nwhen \"VLMP\"\n brightness = (value.to_i.to_f / @brightness_max.to_f) * 100.0\n self[:brightness] = brightness.round(2)\nwhen \"PWOD\"\n self[:power_on_delay] = value.to_i\nwhen \"INF1\"\n self[:model_number] = value\n logger.debug do\n \"-- Sharp LCD, model number #{self[:model_number]}\"\n end\n determine_contrast_mode\nwhen \"ASDP\", \"ASDA\", \"ASHP\", \"ASAP\", \"ASCA\"\n self[:audio_input] = AUDIO_RESPONSE[data] || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"reset-instance-method","name":"reset","doc":"Resets the brightness and contrast settings","summary":"

Resets the brightness and contrast settings

","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L94"},"def":{"name":"reset","visibility":"Public","body":"do_send(\"ARST 2\")"}},{"html_id":"switch_audio(input:String)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/sharp/pn_series.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L119"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch audio to: #{input}\"\nend\ndo_send(AUDIO[input], name: \"audio\")\nmute_status(40)\nvolume_status(40)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sharp/pn_series.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L98"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch to: #{input}\"\nend\n(do_send(input.data, name: :input, delay: 2.seconds, timeout: 20.seconds)).get\nvideo_input(40)\nbrightness_status(40)\ncontrast_status(40)\n"}},{"html_id":"video_input(priority:Int32=0,**options)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INPS\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L150"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"@vol_status.try(&.cancel)\n@vol_status = schedule.in(2.seconds) do\n @vol_status = nil\n volume_status\nend\nval = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ndo_send(\"VOLM#{vol_actual.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"volume_status(priority:Int32=0,**options)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VOLM\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}}],"types":[{"html_id":"drivers/Sharp/PnSeries/Input","path":"Sharp/PnSeries/Input.html","kind":"enum","full_name":"Sharp::PnSeries::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L13"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Sharp/PnSeries","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L21"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"data-instance-method","name":"data","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L23"},"def":{"name":"data","visibility":"Public","body":"\"INPS\" + (self.value.to_s.rjust(4, '0'))"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L18"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L16"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L17"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L15"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L20"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L19"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Shure","path":"Shure.html","kind":"module","full_name":"Shure","name":"Shure","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Shure/Microphone","path":"Shure/Microphone.html","kind":"module","full_name":"Shure::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Shure","kind":"module","full_name":"Shure","name":"Shure"},"types":[{"html_id":"drivers/Shure/Microphone/MXA","path":"Shure/Microphone/MXA.html","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"}],"namespace":{"html_id":"drivers/Shure/Microphone","kind":"module","full_name":"Shure::Microphone","name":"Microphone"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L17"},"def":{"name":"connected","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\" >\")\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Mics\"\n end\n do_poll\nend\nquery_all\nif (setting?(Bool, :send_meter_levels)) != true\n set_meter_rate(0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L29"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L192"},"def":{"name":"do_poll","visibility":"Public","body":"query_device_id"}},{"html_id":"flash-instance-method","name":"flash","doc":"flash the LED for 30 seconds","summary":"

flash the LED for 30 seconds

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L81"},"def":{"name":"flash","visibility":"Public","body":"do_send(\"SET FLASH ON\")"}},{"html_id":"led(on:Bool=true)-instance-method","name":"led","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L101"},"def":{"name":"led","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"led_state_muted(on)\nled_state_unmuted(on)\n"}},{"html_id":"led_colour_muted(colour:Colour)-instance-method","name":"led_colour_muted","doc":"Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE","summary":"

Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE

","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L111"},"def":{"name":"led_colour_muted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_MUTED\", colour.to_s.upcase, name: :muted_color)"}},{"html_id":"led_colour_unmuted(colour:Colour)-instance-method","name":"led_colour_unmuted","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L119"},"def":{"name":"led_colour_unmuted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_UNMUTED\", colour.to_s.upcase, name: :unmuted_color)"}},{"html_id":"led_state_muted(on:Bool=true)-instance-method","name":"led_state_muted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L136"},"def":{"name":"led_state_muted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_MUTED\", state)\n"}},{"html_id":"led_state_unmuted(on:Bool=true)-instance-method","name":"led_state_unmuted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L127"},"def":{"name":"led_state_unmuted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_UNMUTED\", state)\n"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L56"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? \"ON\" : \"OFF\"\ndo_send(\"SET DEVICE_AUDIO_MUTE\", val, name: :mute)\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","doc":"part of the mutable interface","summary":"

part of the mutable interface

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L66"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L75"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"if number.in?(1..10)\nelse\n raise(\"must be a number between 1-10, was #{number}\")\nend\ndo_send(\"SET PRESET\", number.to_s, name: :preset)\n"}},{"html_id":"query_all-instance-method","name":"query_all","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L33"},"def":{"name":"query_all","visibility":"Public","body":"do_send(\"GET 0 ALL\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L37"},"def":{"name":"query_device_id","visibility":"Public","body":"do_send(\"GET DEVICE_ID\", name: :device_id)"}},{"html_id":"query_firmware-instance-method","name":"query_firmware","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L41"},"def":{"name":"query_firmware","visibility":"Public","body":"do_send(\"GET FW_VER\", name: :firmware)"}},{"html_id":"query_led_colour_muted-instance-method","name":"query_led_colour_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L106"},"def":{"name":"query_led_colour_muted","visibility":"Public","body":"do_send(\"GET LED_COLOR_MUTED\")"}},{"html_id":"query_led_colour_unmuted-instance-method","name":"query_led_colour_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L115"},"def":{"name":"query_led_colour_unmuted","visibility":"Public","body":"do_send(\"GET LED_COLOR_UNMUTED\")"}},{"html_id":"query_led_state-instance-method","name":"query_led_state","doc":"LED Setup","summary":"

LED Setup

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L97"},"def":{"name":"query_led_state","visibility":"Public","body":"do_send(\"GET DEV_LED_IN_STATE\")"}},{"html_id":"query_led_state_muted-instance-method","name":"query_led_state_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L132"},"def":{"name":"query_led_state_muted","visibility":"Public","body":"do_send(\"GET LED_STATE_MUTED\")"}},{"html_id":"query_led_state_unmuted-instance-method","name":"query_led_state_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L123"},"def":{"name":"query_led_state_unmuted","visibility":"Public","body":"do_send(\"GET LED_STATE_UNMUTED\")"}},{"html_id":"query_mute-instance-method","name":"query_mute","doc":"Mute commands","summary":"

Mute commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L52"},"def":{"name":"query_mute","visibility":"Public","body":"do_send(\"GET DEVICE_AUDIO_MUTE\")"}},{"html_id":"query_preset-instance-method","name":"query_preset","doc":"Preset commands","summary":"

Preset commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L71"},"def":{"name":"query_preset","visibility":"Public","body":"do_send(\"GET PRESET\")"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L141"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(bytes)\nlogger.debug do\n \"-- received: #{data}\"\nend\ndata = ((data.split(\"< \", 2))[1].gsub(/[\\{\\}]/, '\"')).rchop(\" >\")\nresp = (shellsplit(data)).map(&.strip)\nif resp[0] == \"SAMPLE\"\n resp[1..-1].each_with_index do |level, index|\n self[\"output#{index + 1}\"] = level.to_i\n end\n return\nend\nif resp[1] == \"ERR\"\n return task.try(&.abort)\nend\nif resp[1] =~ (/^[0-9]+$/)\n chann = resp[1]\n param = resp[2].try(&.downcase)\n value = resp[3].try(&.downcase)\n self[\"#{param}_#{chann}\"] = value\n return task.try(&.success)\nend\nparam = resp[1].downcase\nvalue = resp[2]\ncase param\nwhen \"device_audio_mute\"\n self[:muted] = value == \"ON\"\nwhen \"dev_led_state_muted\"\n self[:led_muted] = value == \"ON\"\nwhen \"dev_led_state_unmuted\"\n self[:led_unmuted] = value == \"ON\"\nelse\n self[param] = case value\n when \"ON\"\n true\n when \"OFF\"\n false\n when .to_i?\n value.to_i\n else\n value\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_meter_rate(rate:Int32)-instance-method","name":"set_meter_rate","doc":"rate in milliseconds","summary":"

rate in milliseconds

","abstract":false,"args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"args_string":"(rate : Int32)","args_html":"(rate : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L46"},"def":{"name":"set_meter_rate","args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"visibility":"Public","body":"if (rate == 0) || rate >= 100\nelse\n raise(\"rate must be a number greater than 100, was #{rate}\")\nend\ndo_send(\"SET METER_RATE\", rate.to_s, name: :meter_rate)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L61"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}}],"types":[{"html_id":"drivers/Shure/Microphone/MXA/Colour","path":"Shure/Microphone/MXA/Colour.html","kind":"enum","full_name":"Shure::Microphone::MXA::Colour","name":"Colour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"RED","name":"RED","value":"0"},{"id":"GREEN","name":"GREEN","value":"1"},{"id":"BLUE","name":"BLUE","value":"2"},{"id":"PINK","name":"PINK","value":"3"},{"id":"PURPLE","name":"PURPLE","value":"4"},{"id":"YELLOW","name":"YELLOW","value":"5"},{"id":"ORANGE","name":"ORANGE","value":"6"},{"id":"WHITE","name":"WHITE","value":"7"}],"namespace":{"html_id":"drivers/Shure/Microphone/MXA","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L88"},"def":{"name":"blue?","visibility":"Public","body":"self == BLUE"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L87"},"def":{"name":"green?","visibility":"Public","body":"self == GREEN"}},{"html_id":"orange?-instance-method","name":"orange?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L92"},"def":{"name":"orange?","visibility":"Public","body":"self == ORANGE"}},{"html_id":"pink?-instance-method","name":"pink?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L89"},"def":{"name":"pink?","visibility":"Public","body":"self == PINK"}},{"html_id":"purple?-instance-method","name":"purple?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L90"},"def":{"name":"purple?","visibility":"Public","body":"self == PURPLE"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L86"},"def":{"name":"red?","visibility":"Public","body":"self == RED"}},{"html_id":"white?-instance-method","name":"white?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L93"},"def":{"name":"white?","visibility":"Public","body":"self == WHITE"}},{"html_id":"yellow?-instance-method","name":"yellow?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L91"},"def":{"name":"yellow?","visibility":"Public","body":"self == YELLOW"}}]}]}]}]},{"html_id":"drivers/Siemens","path":"Siemens.html","kind":"module","full_name":"Siemens","name":"Siemens","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Siemens/Desigo","path":"Siemens/Desigo.html","kind":"class","full_name":"Siemens::Desigo","name":"Desigo","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Siemens","kind":"module","full_name":"Siemens","name":"Siemens"},"instance_methods":[{"html_id":"commands(id:String)-instance-method","name":"commands","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L47"},"def":{"name":"commands","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"commands = @client.try() do |__arg3|\n __arg3.commands.get(id: id)\nend\nself[\"commands#{id}\"] = commands\n"}},{"html_id":"execute(id:String,property_name:String,command_id:String,command_inputs_for_execution:String)-instance-method","name":"execute","doc":"Because of the introspect failing on generics,\nwe can pass in the `command_inputs_for_execution` as a JSON string.\n\"[{\\\"Name\\\": \\\"Value\\\", \\\"DataType\\\": \\\"ExtendedEnum\\\", \\\"Value\\\": \\\"1\\\"}]\"","summary":"

Because of the introspect failing on generics, we can pass in the command_inputs_for_execution as a JSON string.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"args_string":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","args_html":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","location":{"filename":"src/siemens/desigo.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L55"},"def":{"name":"execute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"visibility":"Public","body":"return_value = @client.try() do |__arg4|\n __arg4.commands.execute(id: id, property_name: property_name, command_id: command_id, command_inputs_for_execution: JSON.parse(command_inputs_for_execution))\nend\nself[\"execute#{id}_property#{property_name}_command#{command_id}\"] = return_value\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"base_url = config.uri.not_nil!.to_s\nusername = setting(String, :username)\npassword = setting(String, :password)\n@client = Client.new(base_url: base_url, username: username, password: password)\nspawn do\n loop do\n @client.try() do |__arg0|\n __arg0.heartbeat.signal\n end\n sleep(60)\n end\nend\n"}},{"html_id":"property_values(id:String)-instance-method","name":"property_values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L37"},"def":{"name":"property_values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"property_values = @client.try() do |__arg1|\n __arg1.property_values.get(id: id)\nend\nself[\"property_values#{id}\"] = property_values\n"}},{"html_id":"values(id:String)-instance-method","name":"values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L42"},"def":{"name":"values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"values = @client.try() do |__arg2|\n __arg2.values.get(id: id)\nend\nself[\"values#{id}\"] = values\n"}}],"types":[{"html_id":"drivers/Siemens/Desigo/Client","path":"Siemens/Desigo/Client.html","kind":"alias","full_name":"Siemens::Desigo::Client","name":"Client","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Desigo::Client","aliased_html":"Desigo::Client","const":false,"namespace":{"html_id":"drivers/Siemens/Desigo","kind":"class","full_name":"Siemens::Desigo","name":"Desigo"}}]}]},{"html_id":"drivers/SigGraph","path":"SigGraph.html","kind":"alias","full_name":"SigGraph","name":"SigGraph","abstract":false,"locations":[{"filename":"src/place/router/signal_graph_spec.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph_spec.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/SignalGraph","path":"SignalGraph.html","kind":"alias","full_name":"SignalGraph","name":"SignalGraph","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/Sony","path":"Sony.html","kind":"module","full_name":"Sony","name":"Sony","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sony/Camera","path":"Sony/Camera.html","kind":"module","full_name":"Sony::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Camera/CGI","path":"Sony/Camera/CGI.html","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L302"},"def":{"name":"home","visibility":"Public","body":"action(\"/command/presetposition.cgi?HomePos=ptz-recall\", name: \"position\") do\n query_status\nend"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L156"},"def":{"name":"info?","visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=system\", priority: 0) do |response|\n response.each do |key, value|\n if {\"ModelName\", \"Serial\", \"SoftVersion\", \"ModelForm\", \"CGIVersion\"}.includes?(key)\n self[key.underscore] = value\n end\n end\n response\nend"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Implement Camera interface","summary":"

Implement Camera interface

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L252"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\npan_speed = pan_speed.to_i\ntilt_speed = tilt_speed.to_i\nrange = -100..100\nin_range(range, pan_speed)\nin_range(range, tilt_speed)\nif @invert_controls && (tilt_speed != 0)\n tilt_speed = -tilt_speed\nend\naction(\"/command/ptzf.cgi?ContinuousPanTiltZoom=#{pan_speed.to_s(16)},#{tilt_speed.to_s(16)},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = ((pan_speed != 0) || (tilt_speed != 0))\n if !@moving\n query_status\n end\n @moving\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"Implement Moveable interface","summary":"

Implement Moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L194"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\ncase position\nwhen MoveablePosition::Up, MoveablePosition::Down, MoveablePosition::Left, MoveablePosition::Right\n if @invert_controls && (position.up? || position.down?)\n position = position.up? ? MoveablePosition::Down : MoveablePosition::Up\n end\n action(\"/command/ptzf.cgi?Move=#{position.to_s.downcase},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = true\n end\nwhen MoveablePosition::In\n zoom(ZoomDirection::In)\nwhen MoveablePosition::Out\n zoom(ZoomDirection::Out)\nelse\n raise(\"unsupported direction: #{position}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"@pantilt_speed = -100..100\nself[:pan_speed] = self[:tilt_speed] = {min: -100, max: 100, stop: 0}\nself[:has_discrete_zoom] = true\nschedule.every(60.seconds) do\n query_status\nend\nschedule.in(5.seconds) do\n query_status\n info?\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"self[:invert_controls] = @invert_controls = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32,zoom:Int32|Nil=nil):Nil-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"args_string":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","args_html":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L227"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"in_range(@pan_range, pan)\nin_range(@tilt_range, tilt)\nif zoom\n in_range(@zoom_range, zoom)\n action(\"/command/ptzf.cgi?AbsolutePTZF=#{pan.to_s(16)},#{tilt.to_s(16)},#{zoom.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n self[:zoom] = @zoom_raw = zoom.not_nil!\n end\nelse\n action(\"/command/ptzf.cgi?AbsolutePanTilt=#{pan.to_s(16)},#{tilt.to_s(16)},#{@max_speed.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n end\nend\n"}},{"html_id":"query_status(priority:Int32=0)-instance-method","name":"query_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L93"},"def":{"name":"query_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=ptzf\", priority: priority) do |response|\n response.each do |key, value|\n case key\n when \"AbsolutePTZF\"\n parts = value.split(\",\")\n self[:pan] = @pan = twos_complement(parts[0].to_i(16))\n self[:tilt] = @tilt = twos_complement(parts[1].to_i(16))\n @zoom_raw = parts[2].to_i(16)\n when \"PanMovementRange\"\n parts = value.split(\",\")\n pan_min = twos_complement(parts[0].to_i(16))\n pan_max = twos_complement(parts[1].to_i(16))\n @pan_range = pan_min..pan_max\n self[:pan_range] = {min: pan_min, max: pan_max}\n when \"TiltMovementRange\"\n parts = value.split(\",\")\n tilt_min = twos_complement(parts[0].to_i(16))\n tilt_max = twos_complement(parts[1].to_i(16))\n @tilt_range = tilt_min..tilt_max\n self[:tilt_range] = {min: tilt_min, max: tilt_max}\n when \"ZoomMovementRange\"\n parts = value.split(\",\")\n zoom_min = parts[0].to_i(16)\n zoom_max = parts[1].to_i(16)\n @zoom_range = zoom_min..zoom_max\n self[:zoom_range] = {min: zoom_min, max: zoom_max}\n when \"PtzfStatus\"\n parts = (value.split(\",\")).map do |state|\n Movement.parse(state)\n end[0..2]\n self[:moving] = @moving = parts.includes?(Movement::Moving)\n when \"PanTiltMaxVelocity\"\n @max_speed = value.to_i(16)\n end\n end\n self[:zoom] = @zoom_raw.not_nil!.to_f * (100.0 / @zoom_range.end.to_f)\n response\nend"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L308"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(**preset)\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L325"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L317"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"Implement Stoppable interface","summary":"

Implement Stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L178"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i + 1\naction(\"/command/ptzf.cgi?Move=stop,motor,image#{index}\", priority: 999, name: \"moving\", clear_queue: emergency) do\n if @zooming\n zoom(ZoomDirection::Stop)\n end\n self[:moving] = @moving = false\n query_status\nend\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L287"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nif direction.stop?\n action(\"/command/ptzf.cgi?Move=stop,zoom,image#{index}\", priority: 999, name: \"zooming\") do\n self[:zooming] = @zooming = false\n end\nelse\n action(\"/command/ptzf.cgi?Move=#{direction.out? ? \"wide\" : \"near\"},0,image#{index}\", name: \"zooming\") do\n self[:zooming] = @zooming = true\n end\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L272"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nposition = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_range.end.to_f).to_i\naction(\"/command/ptzf.cgi?AbsoluteZoom=#{zoom_value.to_s(16)}\", name: \"zooming\") do\n @zoom_raw = zoom_value\n self[:zoom] = @zoom = position\nend\n"}}],"macros":[{"html_id":"in_range(range,value)-macro","name":"in_range","abstract":false,"args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(range, value)","args_html":"(range, value)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L218"},"def":{"name":"in_range","args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":" \n{{ value }}\n = if \n{{ range }}\n.includes? \n{{ value }}\n\n \n{{ value }}\n\n \nelse\n \n{{ value }}\n < \n{{ range }}\n.begin ? \n{{ range }}\n.begin : \n{{ range }}\n.end\n \nend\n \n{{ value }}\n = twos_complement(\n{{ value }}\n)\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/CGI/Movement","path":"Sony/Camera/CGI/Movement.html","kind":"enum","full_name":"Sony::Camera::CGI::Movement","name":"Movement","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Idle","name":"Idle","value":"0"},{"id":"Moving","name":"Moving","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Sony/Camera/CGI","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI"},"instance_methods":[{"html_id":"idle?-instance-method","name":"idle?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L26"},"def":{"name":"idle?","visibility":"Public","body":"self == Idle"}},{"html_id":"moving?-instance-method","name":"moving?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L27"},"def":{"name":"moving?","visibility":"Public","body":"self == Moving"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L28"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA","path":"Sony/Camera/VISCA.html","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","doc":"clear the interface","summary":"

clear the interface

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L67"},"def":{"name":"connected","visibility":"Public","body":"reset_sequence_number\nsend_cmd(Bytes[0, 1], name: :if_clear, priority: 98)\n"}},{"html_id":"encode_position(value:UInt16):String-instance-method","name":"encode_position","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"args_string":"(value : UInt16) : String","args_html":"(value : UInt16) : String","location":{"filename":"src/sony/camera/visca.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L124"},"def":{"name":"encode_position","args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"return_type":"String","visibility":"Public","body":"io = IO::Memory.new\nio.write_bytes(value, IO::ByteFormat::BigEndian)\nbytes = io.to_slice.hexstring.rjust(4, '0')\n\"0#{bytes[0]}0#{bytes[1]}0#{bytes[2]}0#{bytes[3]}\"\n"}},{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L85"},"def":{"name":"home","visibility":"Public","body":"send_cmd(Bytes[6, 4], name: :pantilt)"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L89"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan_neg, pan_value, pan_zero = joyspeed(pan_speed, @max_pan_tilt_speed)\ntilt_neg, tilt_value, tilt_zero = joyspeed(tilt_speed, @max_pan_tilt_speed)\npan_direction = pan_zero ? \"03\" : (pan_neg ? \"01\" : \"02\")\ntilt_direction = tilt_zero ? \"03\" : (tilt_neg ? \"02\" : \"01\")\nbytes = \"0601#{pan_value}#{tilt_value}#{pan_direction}#{tilt_direction}\"\nresp = send_cmd(bytes.hexbytes, name: :joystick)\nif pan_zero && tilt_zero\n spawn(same_thread: true) do\n resp.get\n schedule.in(1.seconds) do\n pantilt?\n end\n end\nend\nresp\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L172"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","doc":"we want to tokenize the stream, ensure we only process a single packet at a time\nand that we have the complete message","summary":"

we want to tokenize the stream, ensure we only process a single packet at a time and that we have the complete message

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.size < 4\n next 0\n end\n ((IO::Memory.new(bytes[2..3])).read_bytes(UInt16, IO::ByteFormat::BigEndian)).to_i + 8\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@presets = (setting?(Presets, :camera_presets)) || @presets\n@max_pan_tilt_speed = (setting?(UInt8, :max_pan_tilt_speed)) || 15_u8\n@zoom_speed = (setting?(UInt8, :zoom_speed)) || 3_u8\n@zoom_max = (setting?(UInt16, :zoom_max)) || 16384_u16\n@camera_address = 128_u8 | ((setting?(UInt8, :camera_no)) || 1_u8)\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan_pos:UInt16-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L39"},"def":{"name":"pan_pos","return_type":"UInt16","visibility":"Public","body":"@pan_pos"}},{"html_id":"pantilt(pan:UInt16,tilt:UInt16,speed:UInt8)-instance-method","name":"pantilt","doc":"moves to an absolute position","summary":"

moves to an absolute position

","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"args_string":"(pan : UInt16, tilt : UInt16, speed : UInt8)","args_html":"(pan : UInt16, tilt : UInt16, speed : UInt8)","location":{"filename":"src/sony/camera/visca.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L138"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"visibility":"Public","body":"speed = speed.clamp(0_u8, @max_pan_tilt_speed)\nbytes = \"0602#{Bytes[speed].hexstring.rjust(2, '0')}00#{encode_position(pan)}#{encode_position(tilt)}\"\nsend_cmd(bytes.hexbytes, name: :pantilt)\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L221"},"def":{"name":"pantilt?","visibility":"Public","body":"send_inq(Bytes[6, 18], name: :pantilt_query, priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/camera/visca.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L74"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"payload = state ? Bytes[4, 0, 2] : Bytes[4, 0, 3]\nsend_cmd(payload, name: :power)\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L79"},"def":{"name":"power?","visibility":"Public","body":"send_inq(Bytes[4, 0], name: :power_query)"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L144"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n pantilt(pan_pos, tilt_pos, @max_pan_tilt_speed)\n zoom_to(zoom_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task,sequence:UInt32|Nil=nil):Nil-instance-method","name":"received","doc":"process incoming data, tokenised so we know each data packet is exactly one message","summary":"

process incoming data, tokenised so we know each data packet is exactly one message

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"args_string":"(data, task, sequence : UInt32 | Nil = nil) : Nil","args_html":"(data, task, sequence : UInt32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/visca.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L336"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"Camera sent: 0x#{data.hexstring}\"\nend\nif sequence.nil?\n logger.info do\n \"unexpected packet received, ignoring as no sequence pending\"\n end\n return\nend\nio = IO::Memory.new(data)\npacket = io.read_bytes(Packet)\npayload = packet.payload\ncase packet.type\nwhen .device_control?\n case payload[-1]\n when 1_u8\n reset_sequence_number(directly: true)\n logger.info do\n \"sequence number error, resetting sequence\"\n end\n when 2_u8\n task.try(&.abort(\"bad request\"))\n end\n return\nwhen .device_reply?\n if task && (task.name == \"reset_sequence_number\")\n task.success\n else\n task.try(&.retry(\"sequence number reset, retrying task\"))\n end\n return\nwhen .reply?\n if sequence != packet.sequence\n logger.info do\n \"unexpected sequence number, ignoring\"\n end\n return\n end\nelse\n logger.info do\n \"unexpected packet type #{packet.type}, ignoring\"\n end\n return\nend\ncheck_command = payload[1] & 240_u8\ncase check_command\nwhen 64_u8\n logger.debug do\n \"ignoring command accepted message\"\n end\n return\nwhen 80_u8\n logger.debug do\n \"command complete message\"\n end\nwhen 96_u8\n case payload[2]\n when 2_u8\n task.try(&.abort(\"syntax error in request\"))\n when 3_u8\n schedule.in(50.milliseconds) do\n task.try(&.retry(\"camera busy\"))\n end\n when 4_u8\n task.try(&.abort(\"request was cancelled by the user\"))\n when 5_u8\n task.try(&.success)\n when 65_u8\n task.try(&.abort(\"request could not be performed\"))\n end\n return\nend\ncase task.try(&.name)\nwhen \"zoom_query\"\n @zoom_raw = zoom_value = decode_position(payload[2..5])\n self[:zoom] = @zoom_pos = zoom_value.to_f * (100.0 / @zoom_max.to_f)\nwhen \"pantilt_query\"\n @pan_pos = decode_position(payload[2..5])\n @tilt_pos = decode_position(payload[6..9])\nwhen \"zoom_to\"\n zoom?\nwhen \"pantilt\"\n pantilt?\nwhen \"power_query\"\n self[:power] = payload[-2] == 2_u8\nend\ntask.try(&.success)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L159"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"reset_sequence_number(directly:Bool=false)-instance-method","name":"reset_sequence_number","abstract":false,"args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"args_string":"(directly : Bool = false)","args_html":"(directly : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L320"},"def":{"name":"reset_sequence_number","args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"visibility":"Public","body":"packet = Packet.new\npacket.type = :device_control\npacket.sequence = @sequence = 1_u32\npacket.payload = Bytes[1_u8]\nif directly\n return transport.send(packet)\nend\nqueue(name: :reset_sequence_number, priority: 99) do |task|\n transport.send(packet, task) do |data|\n received(data, task, @sequence)\n end\nend\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L154"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"send_cmd(bytes:String)-instance-method","name":"send_cmd","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L259"},"def":{"name":"send_cmd","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_cmd(bytes.hexbytes)"}},{"html_id":"send_inq(bytes:String)-instance-method","name":"send_inq","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L287"},"def":{"name":"send_inq","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_inq(bytes.hexbytes)"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L227"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"zoom(:stop)"}},{"html_id":"tilt_pos:UInt16-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L38"},"def":{"name":"tilt_pos","return_type":"UInt16","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L203"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"speed_byte = case direction\nin .stop?\n schedule.in(500.milliseconds) do\n zoom?\n end\n 0_u8\nin .out?\n 32_u8 | @zoom_speed\nin .in?\n 48_u8 | @zoom_speed\nend\nsend_cmd(Bytes[4, 7, speed_byte], name: :zoom)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L217"},"def":{"name":"zoom?","visibility":"Public","body":"send_inq(Bytes[4, 71], name: :zoom_query, priority: 0)"}},{"html_id":"zoom_raw:UInt16-instance-method","name":"zoom_raw","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L36"},"def":{"name":"zoom_raw","return_type":"UInt16","visibility":"Public","body":"@zoom_raw"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L194"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_max.to_f).to_u16\nbytes = \"0447#{encode_position(zoom_value)}\"\nsend_cmd(bytes.hexbytes, name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet","path":"Sony/Camera/VISCA/Packet.html","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Sony::Camera::VISCA::Packet]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: \"basic\", name: size, cls: UInt16, onlyif: nil, verify: nil, value: -> do\n payload.size.to_u16\nend}, {type: \"basic\", name: sequence, cls: UInt32, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: payload, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"},"doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L235"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"payload:Bytes-instance-method","name":"payload","abstract":false,"def":{"name":"payload","return_type":"Bytes","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:Bytes)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"args_string":"(payload : Bytes)","args_html":"(payload : Bytes)","def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"visibility":"Public","body":"@payload = payload"}},{"html_id":"sequence:UInt32-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt32","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt32)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"args_string":"(sequence : UInt32)","args_html":"(sequence : UInt32)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt16-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt16","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt16)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"args_string":"(size : UInt16)","args_html":"(size : UInt16)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"}],"args_string":"(type : Type)","args_html":"(type : Type)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet/Type","path":"Sony/Camera/VISCA/Packet/Type.html","kind":"enum","full_name":"Sony::Camera::VISCA::Packet::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L237"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"256_u16"},{"id":"Inquiry","name":"Inquiry","value":"272_u16"},{"id":"Reply","name":"Reply","value":"273_u16"},{"id":"DeviceSetting","name":"DeviceSetting","value":"288_u16","doc":"VISCA device setting","summary":"

VISCA device setting

"},{"id":"DeviceControl","name":"DeviceControl","value":"512_u16","doc":"reset: 0x01\nerror: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)","summary":"

reset: 0x01 error: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)

"},{"id":"DeviceReply","name":"DeviceReply","value":"513_u16","doc":"Acknowledge for reset","summary":"

Acknowledge for reset

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA/Packet","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet"},"instance_methods":[{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L238"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"device_control?-instance-method","name":"device_control?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L246"},"def":{"name":"device_control?","visibility":"Public","body":"self == DeviceControl"}},{"html_id":"device_reply?-instance-method","name":"device_reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L249"},"def":{"name":"device_reply?","visibility":"Public","body":"self == DeviceReply"}},{"html_id":"device_setting?-instance-method","name":"device_setting?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L242"},"def":{"name":"device_setting?","visibility":"Public","body":"self == DeviceSetting"}},{"html_id":"inquiry?-instance-method","name":"inquiry?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L239"},"def":{"name":"inquiry?","visibility":"Public","body":"self == Inquiry"}},{"html_id":"reply?-instance-method","name":"reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L240"},"def":{"name":"reply?","visibility":"Public","body":"self == Reply"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA/Presets","path":"Sony/Camera/VISCA/Presets.html","kind":"alias","full_name":"Sony::Camera::VISCA::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/sony/camera/visca.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(UInt16, UInt16, Float64))","aliased_html":"Hash(String, {UInt16, UInt16, Float64})","const":false,"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"}}]}]},{"html_id":"drivers/Sony/Displays","path":"Sony/Displays.html","kind":"module","full_name":"Sony::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Displays/Bravia","path":"Sony/Displays/Bravia.html","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{ir_code: \"IRCC\", power: \"POWR\", volume: \"VOLU\", audio_mute: \"AMUT\", mute: \"PMUT\", channel: \"CHNN\", tv_input: \"ISRC\", input: \"INPT\", toggle_mute: \"TPMU\", pip: \"PIPI\", toggle_pip: \"TPIP\", position_pip: \"TPPP\", broadcast_address: \"BADR\", mac_address: \"MADR\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Displays","kind":"module","full_name":"Sony::Displays","name":"Displays"},"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L102"},"def":{"name":"audio_mute?","visibility":"Public","body":"query(Command::AudioMute, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L116"},"def":{"name":"do_poll","visibility":"Public","body":"if self[:power]?\n input?\n mute?\n audio_mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L48"},"def":{"name":"input?","visibility":"Public","body":"query(Command::Input, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/displays/bravia.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L76"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"request(Command::Mute, state)\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L89"},"def":{"name":"mute?","visibility":"Public","body":"query(Command::Mute, priority: 0)"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/sony/displays/bravia.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L93"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::AudioMute, state)\naudio_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"self[:volume_min] = 0\nself[:volume_max] = 100\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/displays/bravia.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L67"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::Power, state)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L72"},"def":{"name":"power?","visibility":"Public","body":"query(Command::Power)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/displays/bravia.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L137"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"parsed_data = convert_binary(data[3..6])\ncmd = Command.from_response?(parsed_data)\nif cmd.nil?\n return task.try(&.abort(\"unrecognised command: #{parsed_data}\"))\nend\nparam = data[7..-1]\nif param.first? == MessageType::Error.value\n return task.try(&.abort(\"error\"))\nend\ncase MessageType.from_value?(data[2])\nwhen MessageType::Answer\n update_status(cmd, param)\n task.try(&.success)\nwhen MessageType::Notify\n update_status(cmd, param)\nelse\n logger.debug do\n \"Unhandled device response: #{begin\n data[2].chr\n rescue\n data[2]\n end}\"\n end\n task.try(&.abort(\"Unhandled device response\"))\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/displays/bravia.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L41"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching input to #{input}\"\nend\nrequest(Command::Input, input.to_param)\nself[:input] = input.to_s\ninput?\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L85"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L98"},"def":{"name":"unmute_audio","visibility":"Public","body":"mute_audio(false)"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/sony/displays/bravia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L106"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"level = (level.to_f.clamp(0.0, 100.0)).round_away.to_i\nrequest(Command::Volume, level)\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L112"},"def":{"name":"volume?","visibility":"Public","body":"query(Command::Volume, priority: 0)"}}],"types":[{"html_id":"drivers/Sony/Displays/Bravia/Command","path":"Sony/Displays/Bravia/Command.html","kind":"enum","full_name":"Sony::Displays::Bravia::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IrCode","name":"IrCode","value":"0"},{"id":"Power","name":"Power","value":"1"},{"id":"Volume","name":"Volume","value":"2"},{"id":"AudioMute","name":"AudioMute","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Channel","name":"Channel","value":"5"},{"id":"TvInput","name":"TvInput","value":"6"},{"id":"Input","name":"Input","value":"7"},{"id":"ToggleMute","name":"ToggleMute","value":"8"},{"id":"Pip","name":"Pip","value":"9"},{"id":"TogglePip","name":"TogglePip","value":"10"},{"id":"PositionPip","name":"PositionPip","value":"11"},{"id":"BroadcastAddress","name":"BroadcastAddress","value":"12"},{"id":"MacAddress","name":"MacAddress","value":"13"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"class_methods":[{"html_id":"from_response?(message)-class-method","name":"from_response?","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message)","args_html":"(message)","location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"from_response?","args":[{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"case message\nwhen \"IRCC\"\n IrCode\nwhen \"POWR\"\n Power\nwhen \"VOLU\"\n Volume\nwhen \"AMUT\"\n AudioMute\nwhen \"PMUT\"\n Mute\nwhen \"CHNN\"\n Channel\nwhen \"ISRC\"\n TvInput\nwhen \"INPT\"\n Input\nwhen \"TPMU\"\n ToggleMute\nwhen \"PIPI\"\n Pip\nwhen \"TPIP\"\n TogglePip\nwhen \"TPPP\"\n PositionPip\nwhen \"BADR\"\n BroadcastAddress\nwhen \"MADR\"\n MacAddress\nend"}}],"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"audio_mute?","visibility":"Public","body":"self == AudioMute"}},{"html_id":"broadcast_address?-instance-method","name":"broadcast_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"broadcast_address?","visibility":"Public","body":"self == BroadcastAddress"}},{"html_id":"channel?-instance-method","name":"channel?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"channel?","visibility":"Public","body":"self == Channel"}},{"html_id":"function-instance-method","name":"function","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"function","visibility":"Public","body":"case self\nin IrCode\n \"IRCC\"\nin Power\n \"POWR\"\nin Volume\n \"VOLU\"\nin AudioMute\n \"AMUT\"\nin Mute\n \"PMUT\"\nin Channel\n \"CHNN\"\nin TvInput\n \"ISRC\"\nin Input\n \"INPT\"\nin ToggleMute\n \"TPMU\"\nin Pip\n \"PIPI\"\nin TogglePip\n \"TPIP\"\nin PositionPip\n \"TPPP\"\nin BroadcastAddress\n \"BADR\"\nin MacAddress\n \"MADR\"\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"ir_code?-instance-method","name":"ir_code?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"ir_code?","visibility":"Public","body":"self == IrCode"}},{"html_id":"mac_address?-instance-method","name":"mac_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"mac_address?","visibility":"Public","body":"self == MacAddress"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"position_pip?-instance-method","name":"position_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"position_pip?","visibility":"Public","body":"self == PositionPip"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"toggle_mute?-instance-method","name":"toggle_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_mute?","visibility":"Public","body":"self == ToggleMute"}},{"html_id":"toggle_pip?-instance-method","name":"toggle_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_pip?","visibility":"Public","body":"self == TogglePip"}},{"html_id":"tv_input?-instance-method","name":"tv_input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"tv_input?","visibility":"Public","body":"self == TvInput"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}}]},{"html_id":"drivers/Sony/Displays/Bravia/Input","path":"Sony/Displays/Bravia/Input.html","kind":"enum","full_name":"Sony::Displays::Bravia::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L20"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Tv0","name":"Tv0","value":"0_u32"},{"id":"Hdmi0","name":"Hdmi0","value":"100000000_u32"},{"id":"Mirror0","name":"Mirror0","value":"500000000_u32"},{"id":"Vga0","name":"Vga0","value":"600000000_u32"},{"id":"Tv1","name":"Tv1","value":"1_u32"},{"id":"Hdmi1","name":"Hdmi1","value":"100000001_u32"},{"id":"Mirror1","name":"Mirror1","value":"500000001_u32"},{"id":"Vga1","name":"Vga1","value":"600000001_u32"},{"id":"Tv2","name":"Tv2","value":"2_u32"},{"id":"Hdmi2","name":"Hdmi2","value":"100000002_u32"},{"id":"Mirror2","name":"Mirror2","value":"500000002_u32"},{"id":"Vga2","name":"Vga2","value":"600000002_u32"},{"id":"Tv3","name":"Tv3","value":"3_u32"},{"id":"Hdmi3","name":"Hdmi3","value":"100000003_u32"},{"id":"Mirror3","name":"Mirror3","value":"500000003_u32"},{"id":"Vga3","name":"Vga3","value":"600000003_u32"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"constructors":[{"html_id":"from_param(value:String):self-class-method","name":"from_param","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String) : self","args_html":"(value : String) : self","location":{"filename":"src/sony/displays/bravia.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L28"},"def":{"name":"from_param","args":[{"name":"value","external_name":"value","restriction":"String"}],"return_type":"self","visibility":"Public","body":"begin\n from_value(UInt32.new(value))\nrescue\n raise(\"Unknown enum #{self} value: #{value}\")\nend"}}],"instance_methods":[{"html_id":"hdmi0?-instance-method","name":"hdmi0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi0?","visibility":"Public","body":"self == Hdmi0"}},{"html_id":"hdmi1?-instance-method","name":"hdmi1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi1?","visibility":"Public","body":"self == Hdmi1"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"mirror0?-instance-method","name":"mirror0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror0?","visibility":"Public","body":"self == Mirror0"}},{"html_id":"mirror1?-instance-method","name":"mirror1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror1?","visibility":"Public","body":"self == Mirror1"}},{"html_id":"mirror2?-instance-method","name":"mirror2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror2?","visibility":"Public","body":"self == Mirror2"}},{"html_id":"mirror3?-instance-method","name":"mirror3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror3?","visibility":"Public","body":"self == Mirror3"}},{"html_id":"to_param:String-instance-method","name":"to_param","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L34"},"def":{"name":"to_param","return_type":"String","visibility":"Public","body":"value.to_s.rjust(5, '0')"}},{"html_id":"tv0?-instance-method","name":"tv0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv0?","visibility":"Public","body":"self == Tv0"}},{"html_id":"tv1?-instance-method","name":"tv1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv1?","visibility":"Public","body":"self == Tv1"}},{"html_id":"tv2?-instance-method","name":"tv2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv2?","visibility":"Public","body":"self == Tv2"}},{"html_id":"tv3?-instance-method","name":"tv3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv3?","visibility":"Public","body":"self == Tv3"}},{"html_id":"vga0?-instance-method","name":"vga0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga0?","visibility":"Public","body":"self == Vga0"}},{"html_id":"vga1?-instance-method","name":"vga1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga1?","visibility":"Public","body":"self == Vga1"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga2?","visibility":"Public","body":"self == Vga2"}},{"html_id":"vga3?-instance-method","name":"vga3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga3?","visibility":"Public","body":"self == Vga3"}}]},{"html_id":"drivers/Sony/Displays/Bravia/MessageType","path":"Sony/Displays/Bravia/MessageType.html","kind":"enum","full_name":"Sony::Displays::Bravia::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L125"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Answer","name":"Answer","value":"65_u8"},{"id":"Control","name":"Control","value":"67_u8"},{"id":"Enquiry","name":"Enquiry","value":"69_u8"},{"id":"Notify","name":"Notify","value":"78_u8"},{"id":"Error","name":"Error","value":"70_u8"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L126"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"control?-instance-method","name":"control?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L127"},"def":{"name":"control?","visibility":"Public","body":"self == Control"}},{"html_id":"control_character-instance-method","name":"control_character","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L132"},"def":{"name":"control_character","visibility":"Public","body":"value.chr"}},{"html_id":"enquiry?-instance-method","name":"enquiry?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L128"},"def":{"name":"enquiry?","visibility":"Public","body":"self == Enquiry"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L130"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"notify?-instance-method","name":"notify?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L129"},"def":{"name":"notify?","visibility":"Public","body":"self == Notify"}}]}]}]},{"html_id":"drivers/Sony/Projector","path":"Sony/Projector.html","kind":"module","full_name":"Sony::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Projector/Fh","path":"Sony/Projector/Fh.html","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INPUTS_LOOKUP","name":"INPUTS_LOOKUP","value":"{\"hdmi1\" => Inputs::HDMI, \"dvi1\" => Inputs::DVI, \"video1\" => Inputs::Video, \"svideo1\" => Inputs::SVideo, \"rgb1\" => Inputs::RGB, \"hdbaset1\" => Inputs::HDBaseT, \"input_a\" => Inputs::InputA, \"input_b\" => Inputs::InputB, \"input_c\" => Inputs::InputC, \"input_d\" => Inputs::InputD, \"input_e\" => Inputs::InputE}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"brightness\", val.clamp(0, 100))"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness?","visibility":"Public","body":"get(\"brightness\")"}},{"html_id":"color(val:Int32)-instance-method","name":"color","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"color","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"color\", val.clamp(0, 100))"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"color?","visibility":"Public","body":"get(\"color\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"contrast\", val.clamp(0, 100))"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast?","visibility":"Public","body":"get(\"contrast\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(val:Int32)-instance-method","name":"hue","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"hue","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"hue\", val.clamp(0, 100))"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"hue?","visibility":"Public","body":"get(\"hue\")"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L99"},"def":{"name":"input?","visibility":"Public","body":"(get(\"input\")).get\nself[:input].as_s\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/fh.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L66"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"(set(\"blank\", state ? \"on\" : \"off\")).get\nself[:mute] = state\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L75"},"def":{"name":"mute?","visibility":"Public","body":"(get(\"blank\")).get\nself[:mute].as_bool\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/fh.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(set(\"power\", state ? \"on\" : \"off\")).get\nself[:power] = state\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L61"},"def":{"name":"power?","visibility":"Public","body":"get(\"power_status\")\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(response,task)-instance-method","name":"received","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(response, task)","args_html":"(response, task)","location":{"filename":"src/sony/projector/fh.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L120"},"def":{"name":"received","args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(response, task)"}},{"html_id":"sharpness(val:Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"sharpness\", val.clamp(0, 100))"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness?","visibility":"Public","body":"get(\"sharpness\")"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/sony/projector/fh.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L94"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"(set(\"input\", input.to_message)).get\nself[:input] = input.readable\n"}}],"types":[{"html_id":"drivers/Sony/Projector/Fh/Inputs","path":"Sony/Projector/Fh/Inputs.html","kind":"enum","full_name":"Sony::Projector::Fh::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"DVI","name":"DVI","value":"1"},{"id":"Video","name":"Video","value":"2"},{"id":"SVideo","name":"SVideo","value":"3"},{"id":"RGB","name":"RGB","value":"4"},{"id":"HDBaseT","name":"HDBaseT","value":"5"},{"id":"InputA","name":"InputA","value":"6"},{"id":"InputB","name":"InputB","value":"7"},{"id":"InputC","name":"InputC","value":"8"},{"id":"InputD","name":"InputD","value":"9"},{"id":"InputE","name":"InputE","value":"10"}],"namespace":{"html_id":"drivers/Sony/Projector/Fh","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L18"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L13"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L19"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L20"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L21"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L22"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"input_e?-instance-method","name":"input_e?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L23"},"def":{"name":"input_e?","visibility":"Public","body":"self == InputE"}},{"html_id":"readable:String-instance-method","name":"readable","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L34"},"def":{"name":"readable","return_type":"String","visibility":"Public","body":"to_s.downcase"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L17"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L16"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"to_message:String-instance-method","name":"to_message","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L25"},"def":{"name":"to_message","return_type":"String","visibility":"Public","body":"case self\nin HDMI, DVI, Video, SVideo, RGB, HDBaseT\n to_s.downcase + \"1\"\nin InputA, InputB, InputC, InputD, InputE\n to_s.underscore\nend"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L15"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Sony/Projector/PjTalk","path":"Sony/Projector/PjTalk.html","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CATEGORY","name":"ERROR_CATEGORY","value":"{1_u8 => :item_error, 2_u8 => :community_error, 16_u8 => :request_error, 32_u8 => :network_error, 240_u8 => :comms_error, 241_u8 => :ram_error}"},{"id":"ERRORS","name":"ERRORS","value":"{item_error: {1_u8 => \"Invalid Item\", 2_u8 => \"Invalid Item Request\", 3_u8 => \"Invalid Length\", 4_u8 => \"Invalid Data\", 17_u8 => \"Short Data\", 128_u8 => \"Not Applicable Item\"}, community_error: {1_u8 => \"Different Community\"}, request_error: {1_u8 => \"Invalid Version\", 2_u8 => \"Invalid Category\", 3_u8 => \"Invalid Request\", 17_u8 => \"Short Header\", 18_u8 => \"Short Community\", 19_u8 => \"Short Command\"}, network_error: {1_u8 => \"Timeout\"}, comms_error: {1_u8 => \"Timeout\", 16_u8 => \"Check Sum Error\", 32_u8 => \"Framing Error\", 48_u8 => \"Parity Error\", 64_u8 => \"Over Run Error\", 80_u8 => \"Other Comm Error\", 240_u8 => \"Unknown Response\"}, ram_error: {16_u8 => \"Read Error\", 32_u8 => \"Write Error\"}, unknown: {} of UInt8 => String}"},{"id":"METHODS","name":"METHODS","value":"[:contrast, :brightness, :color, :hue, :sharpness]"},{"id":"PJTALK_HEADER","name":"PJTALK_HEADER","value":"Bytes[2, 10]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(:get, :brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"color?","visibility":"Public","body":"do_send(:get, :color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L39"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(:get, :contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L177"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n input?\n mute?\n do_send(:get, :error_status, priority: 0)\n lamp_time?\nend"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"hue?","visibility":"Public","body":"do_send(:get, :hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L93"},"def":{"name":"input?","visibility":"Public","body":"do_send(:get, :input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L97"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(:get, :lamp_timer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L101"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(:set, :mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L110"},"def":{"name":"mute?","visibility":"Public","body":"do_send(:get, :mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.to_slice\n bytes.size < 10 ? -1 : 10 + bytes[9]\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@community = (setting?(String, :community)) || \"SONY\""}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L47"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:set, :power_on, name: :power)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:set, :power_off, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L61"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(:get, :power_status, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L191"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\nresponse_status = ResponseStatus.from_value(data[6])\npjt_command = Command.from_bytes(data[7..8])\npjt_length = data[9]\npjt_data = pjt_length > 0 ? data[10..-1] : Bytes.new(0)\nif response_status.no_good?\n category = ERROR_CATEGORY[pjt_data[0]]? || (:unknown)\n message = ERRORS[category][pjt_data[1]]? || \"unknown: category #{pjt_data[1].to_s(16)}, reason #{pjt_data[1].to_s(16)}\"\n self[:last_error] = \"#{category}: #{message}\"\n logger.debug do\n \"Command #{pjt_command} failed with #{category}: #{message}\"\n end\n return task.try(&.abort)\nend\ncase pjt_command\nwhen .power_on?\n self[:power] = true\nwhen .power_off?\n self[:power] = false\nwhen .lamp_timer?\n self[:lamp_usage] = (pjt_data[-2].to_u16 << 8) + pjt_data[-1]\nwhen .power_status?\n case pjt_data[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\nwhen .mute?\n self[:mute] = pjt_data[-1] == 1\nwhen .input?\n self[:input] = Input.from_bytes(pjt_data)\nwhen .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[pjt_command.to_s.downcase] = pjt_data[-1]\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(:get, :sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L86"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(:set, :input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/PjTalk/Command","path":"Sony/Projector/PjTalk/Command.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L130"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L148"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L138"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L139"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L137"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L135"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L140"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L133"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L142"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L134"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L132"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L131"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L136"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L141"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L144"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/CommandType","path":"Sony/Projector/PjTalk/CommandType.html","kind":"enum","full_name":"Sony::Projector::PjTalk::CommandType","name":"CommandType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L153"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L155"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L154"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/Input","path":"Sony/Projector/PjTalk/Input.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L79"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L67"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L68"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L69"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L70"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L71"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L73"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L75"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L72"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/ResponseStatus","path":"Sony/Projector/PjTalk/ResponseStatus.html","kind":"enum","full_name":"Sony::Projector::PjTalk::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"NoGood","name":"NoGood","value":"0_u8"},{"id":"Okay","name":"Okay","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"no_good?-instance-method","name":"no_good?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L187"},"def":{"name":"no_good?","visibility":"Public","body":"self == NoGood"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L188"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Sony/Projector/SerialControl","path":"Sony/Projector/SerialControl.html","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"154_u8"},{"id":"ERRORS","name":"ERRORS","value":"{0 => \"No Error\", 1 => \"Lamp Error\", 2 => \"Fan Error\", 4 => \"Cover Error\", 8 => \"Temperature Error\", 16 => \"D5V Error\", 32 => \"Power Error\", 64 => \"Warning Error\", 128 => \"NVM Data ERROR\"}"},{"id":"INDICATOR","name":"INDICATOR","value":"169_u8"},{"id":"METHODS","name":"METHODS","value":"[\"Contrast\", \"Brightness\", \"Color\", \"Hue\", \"Sharpness\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(Type::Get, Command::Brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"color?","visibility":"Public","body":"do_send(Type::Get, Command::Color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(Type::Get, Command::Contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"hue?","visibility":"Public","body":"do_send(Type::Get, Command::Hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"do_send(Type::Get, Command::Input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L81"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(Type::Get, Command::LampTimer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(Type::Set, Command::Mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L94"},"def":{"name":"mute?","visibility":"Public","body":"do_send(Type::Get, Command::Mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[DELIMITER])"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L30"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(Type::Set, Command::PowerOn, name: :power)\n do_send(Type::Set, Command::PowerOn, name: :power, delay: 3.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(Type::Set, Command::PowerOff, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L45"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(Type::Get, Command::PowerStatus, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L177"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\ncmd = data[1..2]\ntype = data[3]\nresp = data[4..5]\nchecksum = data[1..5].reduce do |a, b|\n a = a | b\nend\nif data[6] == checksum\nelse\n return task.try(&.abort(\"Checksum should be 0x#{checksum.to_s(base: 16, upcase: true)}\"))\nend\nif type == 3\n if cmd == Bytes[0, 0]\n return task.try(&.success)\n else\n return task.try(&.abort(\"Command failed with 0x#{cmd.join(&.to_s(base: 16, upcase: true))}\"))\n end\nelse\n case command = Command.from_bytes(cmd)\n when .power_on?\n self[:power] = true\n when .power_off?\n self[:power] = false\n when .lamp_timer?\n self[:lamp_usage] = (resp[-2].to_u16 << 8) + resp[-1]\n when .power_status?\n case resp[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\n when .mute?\n self[:mute] = resp[-1] == 1\n when .input?\n self[:input] = Input.from_bytes(resp)\n when .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[command.to_s.downcase] = resp[-1]\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(Type::Get, Command::Sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L70"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(Type::Set, Command::Input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/SerialControl/Command","path":"Sony/Projector/SerialControl/Command.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L153"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L143"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L144"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L142"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L140"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L145"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L138"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L147"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L139"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L137"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L136"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L141"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L146"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L149"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Input","path":"Sony/Projector/SerialControl/Input.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L50"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L63"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L51"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L52"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L53"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L54"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L55"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L57"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L59"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L56"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Type","path":"Sony/Projector/SerialControl/Type.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L158"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L160"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L159"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]}]}]}]},{"html_id":"drivers/StaffAPI","path":"StaffAPI.html","kind":"class","full_name":"StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L5"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"survey_id || (survey_id = 1)\ninvites = [{id: 1, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 2, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 3, survey_id: survey_id, token: \"QWERTY\", email: \"user2@spec.test\", sent: false}, {id: 4, survey_id: survey_id, token: \"QWERTY\", email: \"user3@spec.test\", sent: nil}, {id: 5, survey_id: survey_id, token: \"QWERTY\", email: \"user4@spec.test\", sent: true}]\nJSON.parse(invites.to_json)\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L49"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"true"}}]},{"html_id":"drivers/Steinel","path":"Steinel.html","kind":"module","full_name":"Steinel","name":"Steinel","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Steinel/HPD2","path":"Steinel/HPD2.html","kind":"class","full_name":"Steinel::HPD2","name":"HPD2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{illuminance: SensorType::Illuminance, temperature: SensorType::Temperature, humidity: SensorType::Humidity, presence: SensorType::Presence, people: SensorType::PeopleCount, illuminance_zones: SensorType::Illuminance, presence_zones: SensorType::Presence, people_zones: SensorType::PeopleCount}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Steinel","kind":"module","full_name":"Steinel","name":"Steinel"},"instance_methods":[{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L102"},"def":{"name":"get_status","visibility":"Public","body":"response = get(\"/api/sensorstatus.php\")\nlogger.debug do\n \"received #{response.body}\"\nend\nif response.success?\n status = SensorStatus.from_json(response.body.not_nil!)\n time = Time.utc.to_unix\n mod_id = module_id\n humidity = Interface::Sensor::Detail.new(SensorType::Humidity, status.humidity.to_f, time, @mac, \"humidity\", \"Humidity\", module_id: mod_id, binding: \"humidity\")\n self[:humidity] = status.humidity.to_f\n temperature = Interface::Sensor::Detail.new(SensorType::Temperature, status.temperature.to_f, time, @mac, \"temperature\", \"Temperature\", module_id: mod_id, binding: \"temperature\", unit: \"Cel\")\n self[:temperature] = status.temperature.to_f\n pres = status.person_presence.zero? ? 0.0 : 1.0\n presence = Interface::Sensor::Detail.new(SensorType::Presence, pres, time, @mac, \"presence\", \"Person Presence\", module_id: mod_id, binding: \"presence\")\n self[:presence] = pres\n people = Interface::Sensor::Detail.new(SensorType::PeopleCount, status.detected_persons.to_f, time, @mac, \"people\", \"Detected Persons\", module_id: mod_id, binding: \"people\")\n self[:people] = status.detected_persons\n illuminance = Interface::Sensor::Detail.new(SensorType::Illuminance, status.global_illuminance_lux, time, @mac, \"illuminance\", \"Illuminance\", module_id: mod_id, binding: \"illuminance\", unit: \"lx\")\n self[:illuminance] = status.global_illuminance_lux\n self[:presence_zones] = status.person_presence_zone.map do |value|\n value.zero? ? 0.0 : 1.0\n end\n presence_zones = status.person_presence_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Presence, value.zero? ? 0.0 : 1.0, time, @mac, \"presence-#{index}\", \"Person Presence in Zone#{index}\")\n end\n self[:people_zones] = status.detected_persons_zone\n people_zones = status.detected_persons_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::PeopleCount, value.to_f, time, @mac, \"people-#{index}\", \"Detected People in Zone#{index}\")\n end\n self[:illuminance_zones] = status.lux_zone\n illuminance_zones = status.lux_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Illuminance, value, time, @mac, \"illuminance-#{index}\", \"Illuminance in Zone#{index}\", unit: \"lx\")\n end\n @state = {humidity: humidity, temperature: temperature, presence: presence, people: people, illuminance: illuminance, presence_zones: presence_zones, people_zones: people_zones, illuminance_zones: illuminance_zones}\n status\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nschedule.every(5.seconds) do\n get_status\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/steinel/hpd2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L42"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n case id\n when \"humidity\"\n state[:humidity]\n when \"temperature\"\n state[:temperature]\n when \"presence\"\n state[:presence]\n when \"people\"\n state[:people]\n when \"illuminance\"\n state[:illuminance]\n end\n else\n if index = index_str.to_i?\n case id\n when \"presence\"\n state[:presence_zones][index]?\n when \"people\"\n state[:people_zones][index]?\n when \"illuminance\"\n state[:illuminance_zones][index]?\n end\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/steinel/hpd2.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L87"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return state.values.to_a.flatten\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Interface::Sensor::Detail | Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << state[key]\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"state:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))-instance-method","name":"state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L22"},"def":{"name":"state","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail))","visibility":"Public","body":"if (value = @state).nil?\n ::raise(NilAssertionError.new(\"Steinel::HPD2#state cannot be nil\"))\nelse\n value\nend"}},{"html_id":"state?:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))|Nil-instance-method","name":"state?","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L22"},"def":{"name":"state?","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail)) | ::Nil","visibility":"Public","body":"@state"}}],"types":[{"html_id":"drivers/Steinel/HPD2/SensorStatus","path":"Steinel/HPD2/SensorStatus.html","kind":"class","full_name":"Steinel::HPD2::SensorStatus","name":"SensorStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/steinel/hpd2.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_version:String-instance-method","name":"app_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version","return_type":"String","visibility":"Public","body":"@app_version"}},{"html_id":"app_version=(app_version:String)-instance-method","name":"app_version=","abstract":false,"args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"args_string":"(app_version : String)","args_html":"(app_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version=","args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"visibility":"Public","body":"@app_version = app_version"}},{"html_id":"arm_sensor_cpu_usage:String-instance-method","name":"arm_sensor_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage","return_type":"String","visibility":"Public","body":"@arm_sensor_cpu_usage"}},{"html_id":"arm_sensor_cpu_usage=(arm_sensor_cpu_usage:String)-instance-method","name":"arm_sensor_cpu_usage=","abstract":false,"args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"args_string":"(arm_sensor_cpu_usage : String)","args_html":"(arm_sensor_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage=","args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@arm_sensor_cpu_usage = arm_sensor_cpu_usage"}},{"html_id":"average_fps5:Float64-instance-method","name":"average_fps5","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5","return_type":"Float64","visibility":"Public","body":"@average_fps5"}},{"html_id":"average_fps50:Float64-instance-method","name":"average_fps50","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50","return_type":"Float64","visibility":"Public","body":"@average_fps50"}},{"html_id":"average_fps50=(average_fps50:Float64)-instance-method","name":"average_fps50=","abstract":false,"args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"args_string":"(average_fps50 : Float64)","args_html":"(average_fps50 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50=","args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"visibility":"Public","body":"@average_fps50 = average_fps50"}},{"html_id":"average_fps5=(average_fps5:Float64)-instance-method","name":"average_fps5=","abstract":false,"args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"args_string":"(average_fps5 : Float64)","args_html":"(average_fps5 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5=","args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"visibility":"Public","body":"@average_fps5 = average_fps5"}},{"html_id":"detected_persons:Int32-instance-method","name":"detected_persons","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons","return_type":"Int32","visibility":"Public","body":"@detected_persons"}},{"html_id":"detected_persons=(detected_persons:Int32)-instance-method","name":"detected_persons=","abstract":false,"args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"args_string":"(detected_persons : Int32)","args_html":"(detected_persons : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons=","args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"visibility":"Public","body":"@detected_persons = detected_persons"}},{"html_id":"detected_persons_zone:Array(Int32)-instance-method","name":"detected_persons_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone","return_type":"Array(Int32)","visibility":"Public","body":"@detected_persons_zone"}},{"html_id":"detected_persons_zone=(detected_persons_zone:Array(Int32))-instance-method","name":"detected_persons_zone=","abstract":false,"args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"args_string":"(detected_persons_zone : Array(Int32))","args_html":"(detected_persons_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone=","args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@detected_persons_zone = detected_persons_zone"}},{"html_id":"detection_zones_present:Int32-instance-method","name":"detection_zones_present","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present","return_type":"Int32","visibility":"Public","body":"@detection_zones_present"}},{"html_id":"detection_zones_present=(detection_zones_present:Int32)-instance-method","name":"detection_zones_present=","abstract":false,"args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"args_string":"(detection_zones_present : Int32)","args_html":"(detection_zones_present : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present=","args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"visibility":"Public","body":"@detection_zones_present = detection_zones_present"}},{"html_id":"final:String-instance-method","name":"final","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L241"},"def":{"name":"final","return_type":"String","visibility":"Public","body":"@final"}},{"html_id":"final=(final:String)-instance-method","name":"final=","abstract":false,"args":[{"name":"final","external_name":"final","restriction":"String"}],"args_string":"(final : String)","args_html":"(final : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L241"},"def":{"name":"final=","args":[{"name":"final","external_name":"final","restriction":"String"}],"visibility":"Public","body":"@final = final"}},{"html_id":"fpga_version:String-instance-method","name":"fpga_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version","return_type":"String","visibility":"Public","body":"@fpga_version"}},{"html_id":"fpga_version=(fpga_version:String)-instance-method","name":"fpga_version=","abstract":false,"args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"args_string":"(fpga_version : String)","args_html":"(fpga_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version=","args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"visibility":"Public","body":"@fpga_version = fpga_version"}},{"html_id":"frame_processing_time_ms:Int32-instance-method","name":"frame_processing_time_ms","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms","return_type":"Int32","visibility":"Public","body":"@frame_processing_time_ms"}},{"html_id":"frame_processing_time_ms=(frame_processing_time_ms:Int32)-instance-method","name":"frame_processing_time_ms=","abstract":false,"args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"args_string":"(frame_processing_time_ms : Int32)","args_html":"(frame_processing_time_ms : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms=","args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"visibility":"Public","body":"@frame_processing_time_ms = frame_processing_time_ms"}},{"html_id":"git_revision:String-instance-method","name":"git_revision","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision","return_type":"String","visibility":"Public","body":"@git_revision"}},{"html_id":"git_revision=(git_revision:String)-instance-method","name":"git_revision=","abstract":false,"args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"args_string":"(git_revision : String)","args_html":"(git_revision : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision=","args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"visibility":"Public","body":"@git_revision = git_revision"}},{"html_id":"global_illuminance_lux:Float64-instance-method","name":"global_illuminance_lux","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux","return_type":"Float64","visibility":"Public","body":"@global_illuminance_lux"}},{"html_id":"global_illuminance_lux=(global_illuminance_lux:Float64)-instance-method","name":"global_illuminance_lux=","abstract":false,"args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"args_string":"(global_illuminance_lux : Float64)","args_html":"(global_illuminance_lux : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux=","args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"visibility":"Public","body":"@global_illuminance_lux = global_illuminance_lux"}},{"html_id":"global_light_value:Int32-instance-method","name":"global_light_value","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value","return_type":"Int32","visibility":"Public","body":"@global_light_value"}},{"html_id":"global_light_value=(global_light_value:Int32)-instance-method","name":"global_light_value=","abstract":false,"args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"args_string":"(global_light_value : Int32)","args_html":"(global_light_value : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value=","args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"visibility":"Public","body":"@global_light_value = global_light_value"}},{"html_id":"humidity:String-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity","return_type":"String","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:String)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"args_string":"(humidity : String)","args_html":"(humidity : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"ir_led_on:Int32-instance-method","name":"ir_led_on","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on","return_type":"Int32","visibility":"Public","body":"@ir_led_on"}},{"html_id":"ir_led_on=(ir_led_on:Int32)-instance-method","name":"ir_led_on=","abstract":false,"args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"args_string":"(ir_led_on : Int32)","args_html":"(ir_led_on : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on=","args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"visibility":"Public","body":"@ir_led_on = ir_led_on"}},{"html_id":"knx_address:String-instance-method","name":"knx_address","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address","return_type":"String","visibility":"Public","body":"@knx_address"}},{"html_id":"knx_address=(knx_address:String)-instance-method","name":"knx_address=","abstract":false,"args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"args_string":"(knx_address : String)","args_html":"(knx_address : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address=","args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"visibility":"Public","body":"@knx_address = knx_address"}},{"html_id":"knx_detected:String-instance-method","name":"knx_detected","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected","return_type":"String","visibility":"Public","body":"@knx_detected"}},{"html_id":"knx_detected=(knx_detected:String)-instance-method","name":"knx_detected=","abstract":false,"args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"args_string":"(knx_detected : String)","args_html":"(knx_detected : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected=","args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"visibility":"Public","body":"@knx_detected = knx_detected"}},{"html_id":"knx_led_state:String-instance-method","name":"knx_led_state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state","return_type":"String","visibility":"Public","body":"@knx_led_state"}},{"html_id":"knx_led_state=(knx_led_state:String)-instance-method","name":"knx_led_state=","abstract":false,"args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"args_string":"(knx_led_state : String)","args_html":"(knx_led_state : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state=","args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"visibility":"Public","body":"@knx_led_state = knx_led_state"}},{"html_id":"knx_program_mode:String-instance-method","name":"knx_program_mode","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode","return_type":"String","visibility":"Public","body":"@knx_program_mode"}},{"html_id":"knx_program_mode=(knx_program_mode:String)-instance-method","name":"knx_program_mode=","abstract":false,"args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"args_string":"(knx_program_mode : String)","args_html":"(knx_program_mode : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode=","args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"visibility":"Public","body":"@knx_program_mode = knx_program_mode"}},{"html_id":"knx_sap_number:String-instance-method","name":"knx_sap_number","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number","return_type":"String","visibility":"Public","body":"@knx_sap_number"}},{"html_id":"knx_sap_number=(knx_sap_number:String)-instance-method","name":"knx_sap_number=","abstract":false,"args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"args_string":"(knx_sap_number : String)","args_html":"(knx_sap_number : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number=","args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"visibility":"Public","body":"@knx_sap_number = knx_sap_number"}},{"html_id":"knx_version:String-instance-method","name":"knx_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version","return_type":"String","visibility":"Public","body":"@knx_version"}},{"html_id":"knx_version=(knx_version:String)-instance-method","name":"knx_version=","abstract":false,"args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"args_string":"(knx_version : String)","args_html":"(knx_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version=","args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"visibility":"Public","body":"@knx_version = knx_version"}},{"html_id":"lux_zone:Array(Float64)-instance-method","name":"lux_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone","return_type":"Array(Float64)","visibility":"Public","body":"@lux_zone"}},{"html_id":"lux_zone=(lux_zone:Array(Float64))-instance-method","name":"lux_zone=","abstract":false,"args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"args_string":"(lux_zone : Array(Float64))","args_html":"(lux_zone : Array(Float64))","location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone=","args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"visibility":"Public","body":"@lux_zone = lux_zone"}},{"html_id":"model_name:String-instance-method","name":"model_name","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name","return_type":"String","visibility":"Public","body":"@model_name"}},{"html_id":"model_name=(model_name:String)-instance-method","name":"model_name=","abstract":false,"args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"args_string":"(model_name : String)","args_html":"(model_name : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name=","args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"visibility":"Public","body":"@model_name = model_name"}},{"html_id":"person_presence:Int32-instance-method","name":"person_presence","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence","return_type":"Int32","visibility":"Public","body":"@person_presence"}},{"html_id":"person_presence=(person_presence:Int32)-instance-method","name":"person_presence=","abstract":false,"args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"args_string":"(person_presence : Int32)","args_html":"(person_presence : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence=","args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"visibility":"Public","body":"@person_presence = person_presence"}},{"html_id":"person_presence_zone:Array(Int32)-instance-method","name":"person_presence_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone","return_type":"Array(Int32)","visibility":"Public","body":"@person_presence_zone"}},{"html_id":"person_presence_zone=(person_presence_zone:Array(Int32))-instance-method","name":"person_presence_zone=","abstract":false,"args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"args_string":"(person_presence_zone : Array(Int32))","args_html":"(person_presence_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone=","args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@person_presence_zone = person_presence_zone"}},{"html_id":"running_time:String-instance-method","name":"running_time","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time","return_type":"String","visibility":"Public","body":"@running_time"}},{"html_id":"running_time=(running_time:String)-instance-method","name":"running_time=","abstract":false,"args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"args_string":"(running_time : String)","args_html":"(running_time : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time=","args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"visibility":"Public","body":"@running_time = running_time"}},{"html_id":"temperature:String-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature","return_type":"String","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:String)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"args_string":"(temperature : String)","args_html":"(temperature : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"uptime:String-instance-method","name":"uptime","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime","return_type":"String","visibility":"Public","body":"@uptime"}},{"html_id":"uptime=(uptime:String)-instance-method","name":"uptime=","abstract":false,"args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"args_string":"(uptime : String)","args_html":"(uptime : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime=","args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"visibility":"Public","body":"@uptime = uptime"}},{"html_id":"web_server_cpu_usage:String-instance-method","name":"web_server_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage","return_type":"String","visibility":"Public","body":"@web_server_cpu_usage"}},{"html_id":"web_server_cpu_usage=(web_server_cpu_usage:String)-instance-method","name":"web_server_cpu_usage=","abstract":false,"args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"args_string":"(web_server_cpu_usage : String)","args_html":"(web_server_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage=","args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@web_server_cpu_usage = web_server_cpu_usage"}}]},{"html_id":"drivers/Steinel/HPD2/SensorType","path":"Steinel/HPD2/SensorType.html","kind":"alias","full_name":"Steinel::HPD2::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"}}]}]},{"html_id":"drivers/Stripe","path":"Stripe.html","kind":"module","full_name":"Stripe","name":"Stripe","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Stripe/API","path":"Stripe/API.html","kind":"class","full_name":"Stripe::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Stripe","kind":"module","full_name":"Stripe","name":"Stripe"},"instance_methods":[{"html_id":"add_payment_method(type:String,billing_details:Hash(String,String)|Nil=nil,metadata:Hash(String,String)|Nil=nil,acss_debit:Hash(String,String)|Nil=nil,affirm:Hash(String,String)|Nil=nil,afterpay_clearpay:Hash(String,String)|Nil=nil,alipay:Hash(String,String)|Nil=nil,au_becs_debit:Hash(String,String)|Nil=nil,bacs_debit:Hash(String,String)|Nil=nil,bancontact:Hash(String,String)|Nil=nil,blik:Hash(String,String)|Nil=nil,boleto:Hash(String,String)|Nil=nil,card:Hash(String,String)|Nil=nil,customer_balance:Hash(String,String)|Nil=nil,eps:Hash(String,String)|Nil=nil,fpx:Hash(String,String)|Nil=nil,giropay:Hash(String,String)|Nil=nil,ideal:Hash(String,String)|Nil=nil,interac_present:Hash(String,String)|Nil=nil,klarna:Hash(String,String)|Nil=nil,konbini:Hash(String,String)|Nil=nil,link:Hash(String,String)|Nil=nil,oxxo:Hash(String,String)|Nil=nil,p24:Hash(String,String)|Nil=nil,paynow:Hash(String,String)|Nil=nil,promptpay:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,sepa_debit:Hash(String,String)|Nil=nil,sofort:Hash(String,String)|Nil=nil,us_bank_account:Hash(String,String)|Nil=nil,wechat_pay:Hash(String,String)|Nil=nil)-instance-method","name":"add_payment_method","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","args_html":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L26"},"def":{"name":"add_payment_method","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"payment_method = @client.not_nil!.payment_methods.create(type, billing_details, metadata, acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, customer_balance, eps, fpx, giropay, ideal, interac_present, klarna, konbini, link, oxxo, p24, paynow, promptpay, radar_options, sepa_debit, sofort, us_bank_account, wechat_pay)\nself[\"payment_method\"] = payment_method\n"}},{"html_id":"cancel_payment_intent(id:String,cancellation_reason:String|Nil=nil)-instance-method","name":"cancel_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"args_string":"(id : String, cancellation_reason : String | Nil = nil)","args_html":"(id : String, cancellation_reason : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L83"},"def":{"name":"cancel_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client.not_nil!.payment_intents.cancel(id: id, cancellation_reason: cancellation_reason)\nself[\"payment_intent\"] = nil\n"}},{"html_id":"confirm_payment_intent(id:String,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,capture_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"confirm_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L78"},"def":{"name":"confirm_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.confirm(id: id, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, capture_method: capture_method, error_on_requires_action: error_on_requires_action, mandate: mandate, mandate_data: mandate_data, off_session: off_session, payment_method_data: payment_method_data, payment_method_options: payment_method_options, payment_method_types: payment_method_types, radar_options: radar_options, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"create_payment_intent(amount:Int32,currency:String,automatic_payment_methods:Hash(String,String)|Nil=nil,confirm:Bool|Nil=nil,customer:String|Nil=nil,description:String|Nil=nil,metadata:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,statement_descriptor:String|Nil=nil,statement_descriptor_suffix:String|Nil=nil,application_fee_amount:Int32|Nil=nil,capture_method:String|Nil=nil,confrimation_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,on_behalf_of:String|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,transfer_data:Hash(String,String)|Nil=nil,transfer_group:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"create_payment_intent","abstract":false,"args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L73"},"def":{"name":"create_payment_intent","args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.create(amount: amount, currency: currency, automatic_payment_methods: automatic_payment_methods, confirm: confirm, customer: customer, description: description, metadata: metadata, off_session: off_session, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, statement_descriptor: statement_descriptor, statement_descriptor_suffix: statement_descriptor_suffix, application_fee_amount: application_fee_amount, capture_method: capture_method, confrimation_method: confrimation_method, error_on_requires_action: error_on_requires_action, mandate_data: mandate_data, on_behalf_of: on_behalf_of, payment_method_data: payment_method_data, payment_method_types: payment_method_types, payment_method_options: payment_method_options, radar_options: radar_options, return_url: return_url, transfer_data: transfer_data, transfer_group: transfer_group, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"get_product_price(active:Bool|Nil=nil,currency:String|Nil=nil,product:String|Nil=nil,type:String|Nil=nil,created:Hash(String,String)|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,lookup_keys:Array(String)|Nil=nil,recurring:Hash(String,String)|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"get_product_price","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L68"},"def":{"name":"get_product_price","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"product_prices = @client.not_nil!.prices.list(active: active, currency: currency, product: product, type: type, created: created, ending_before: ending_before, limit: limit, lookup_keys: lookup_keys, recurring: recurring, starting_after: starting_after)\nself[\"product_prices\"] = product_prices\n"}},{"html_id":"list_payment_methods(type:String,customer:String|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"list_payment_methods","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","args_html":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L63"},"def":{"name":"list_payment_methods","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"payment_methods = @client.not_nil!.payment_methods.list(type: type, customer: customer, ending_before: ending_before, limit: limit, starting_after: starting_after)\nself[\"payment_methods\"] = payment_methods\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L19"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\napi_key = setting(String, :api_key)\n@client = Stripetease::Client.new(base_url: host_name, api_key: api_key)\n"}}],"types":[{"html_id":"drivers/Stripe/API/Client","path":"Stripe/API/Client.html","kind":"alias","full_name":"Stripe::API::Client","name":"Client","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Stripetease::Client","aliased_html":"Stripetease::Client","const":false,"namespace":{"html_id":"drivers/Stripe/API","kind":"class","full_name":"Stripe::API","name":"API"}}]}]},{"html_id":"drivers/TwentyFiveLivePro","path":"TwentyFiveLivePro.html","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L4"},{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L4"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L3"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L3"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/TwentyFiveLivePro/API","path":"TwentyFiveLivePro/API.html","kind":"class","full_name":"TwentyFiveLivePro::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"availability(id:Int32,start_date:String,end_date:String,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"availability","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L93"},"def":{"name":"availability","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nbody = {\"spaces\" => [{\"spaceId\" => id, \"dates\" => {\"startDt\" => start_date, \"endDt\" => end_date}}]}\nresponse = post(\"/external/spaceAvailability.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"}, body: body.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Availability.from_json(response.body)\n"}},{"html_id":"get_event_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_event_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L256"},"def":{"name":"get_event_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/event/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::EventDetail.from_json(response.body)\n"}},{"html_id":"get_organization_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_organization_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L180"},"def":{"name":"get_organization_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/organization/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::OrganizationDetail.from_json(response.body)\n"}},{"html_id":"get_resource_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_resource_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L119"},"def":{"name":"get_resource_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/resource/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ResourceDetail.from_json(response.body)\n"}},{"html_id":"get_space_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_space_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L32"},"def":{"name":"get_space_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/space/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::SpaceDetail.from_json(response.body)\n"}},{"html_id":"list_events(space_id:Int32=1,page:Int32=1,items_per_page:Int32=100,since:String|Nil=nil,paginate:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","args_html":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L270"},"def":{"name":"list_events","args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"events = [] of Models::Event\nloop do\n params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if since\n form.add(\"created_since\", since)\n end\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/event/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nevents\n"}},{"html_id":"list_organizations(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_organizations","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L194"},"def":{"name":"list_organizations","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"organizations = [] of Models::Organization\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/organization/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\norganizations\n"}},{"html_id":"list_reservations(space_id:Int32,start_date:String,end_date:String)-instance-method","name":"list_reservations","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(space_id : Int32, start_date : String, end_date : String)","args_html":"(space_id : Int32, start_date : String, end_date : String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L241"},"def":{"name":"list_reservations","args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"start_dt\", start_date)\n form.add(\"end_dt\", end_date)\nend\nresponse = get(\"/reservations.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Reservations.from_json(response.body)\n"}},{"html_id":"list_resources(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_resources","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L133"},"def":{"name":"list_resources","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"resources = [] of Models::Resource\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/resource/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nresources\n"}},{"html_id":"list_spaces(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_spaces","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L46"},"def":{"name":"list_spaces","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"spaces = [] of Models::Space\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/space/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nspaces\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/TwentyFiveLivePro/Date","path":"TwentyFiveLivePro/Date.html","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L13"},"def":{"name":"duration","visibility":"Public","body":"end_date - start_date"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","path":"TwentyFiveLivePro/Date/Converter.html","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Date","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L24"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_rfc3339(value.read_string)"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L20"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_rfc3339)"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models","path":"TwentyFiveLivePro/Models.html","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L5"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L4"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L4"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"reservations:Reservations-instance-method","name":"reservations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations","return_type":"Reservations","visibility":"Public","body":"@reservations"}},{"html_id":"reservations=(reservations:Reservations)-instance-method","name":"reservations=","abstract":false,"args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"args_string":"(reservations : Reservations)","args_html":"(reservations : Reservations)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations=","args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"visibility":"Public","body":"@reservations = reservations"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Attribute","path":"TwentyFiveLivePro/Models/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","path":"TwentyFiveLivePro/Models/Availability.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","path":"TwentyFiveLivePro/Models/Availability/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:String-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id","return_type":"String","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:String)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"args_string":"(request_id : String)","args_html":"(request_id : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","path":"TwentyFiveLivePro/Models/Availability/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data/Space","path":"TwentyFiveLivePro/Models/Availability/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"available=(available:Bool)-instance-method","name":"available=","abstract":false,"args":[{"name":"available","external_name":"available","restriction":"Bool"}],"args_string":"(available : Bool)","args_html":"(available : Bool)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available=","args":[{"name":"available","external_name":"available","restriction":"Bool"}],"visibility":"Public","body":"@available = available"}},{"html_id":"conflict_type:Int64|Nil-instance-method","name":"conflict_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conflict_type"}},{"html_id":"conflict_type=(conflict_type:Int64|Nil)-instance-method","name":"conflict_type=","abstract":false,"args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"args_string":"(conflict_type : Int64 | Nil)","args_html":"(conflict_type : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type=","args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conflict_type = conflict_type"}},{"html_id":"dates:Array(Hash(String,JSON::Any))-instance-method","name":"dates","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates","return_type":"Array(Hash(String, JSON::Any))","visibility":"Public","body":"@dates"}},{"html_id":"dates=(dates:Array(Hash(String,JSON::Any)))-instance-method","name":"dates=","abstract":false,"args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"args_string":"(dates : Array(Hash(String, JSON::Any)))","args_html":"(dates : Array(Hash(String, JSON::Any)))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates=","args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"visibility":"Public","body":"@dates = dates"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_types:Array(Expanded::Conflict)|Nil-instance-method","name":"conflict_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types","return_type":"Array(Expanded::Conflict) | ::Nil","visibility":"Public","body":"@conflict_types"}},{"html_id":"conflict_types=(conflict_types:Array(Expanded::Conflict)|Nil)-instance-method","name":"conflict_types=","abstract":false,"args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"args_string":"(conflict_types : Array(Expanded::Conflict) | Nil)","args_html":"(conflict_types : Array(Expanded::Conflict) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types=","args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"visibility":"Public","body":"@conflict_types = conflict_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Category","path":"TwentyFiveLivePro/Models/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"inherit_code:Int64|Nil-instance-method","name":"inherit_code","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code","return_type":"Int64 | ::Nil","visibility":"Public","body":"@inherit_code"}},{"html_id":"inherit_code=(inherit_code:Int64|Nil)-instance-method","name":"inherit_code=","abstract":false,"args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"args_string":"(inherit_code : Int64 | Nil)","args_html":"(inherit_code : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code=","args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@inherit_code = inherit_code"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Event","path":"TwentyFiveLivePro/Models/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","path":"TwentyFiveLivePro/Models/EventDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","path":"TwentyFiveLivePro/Models/EventDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"args_string":"(id : Int64 | Nil)","args_html":"(id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Event)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items","return_type":"Array(Event)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Event))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"args_string":"(items : Array(Event))","args_html":"(items : Array(Event))","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"priority:Int64-instance-method","name":"priority","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority","return_type":"Int64","visibility":"Public","body":"@priority"}},{"html_id":"priority=(priority:Int64)-instance-method","name":"priority=","abstract":false,"args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"args_string":"(priority : Int64)","args_html":"(priority : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority=","args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"visibility":"Public","body":"@priority = priority"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"event_types:Array(Expanded::EventType)|Nil-instance-method","name":"event_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types","return_type":"Array(Expanded::EventType) | ::Nil","visibility":"Public","body":"@event_types"}},{"html_id":"event_types=(event_types:Array(Expanded::EventType)|Nil)-instance-method","name":"event_types=","abstract":false,"args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"args_string":"(event_types : Array(Expanded::EventType) | Nil)","args_html":"(event_types : Array(Expanded::EventType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types=","args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"visibility":"Public","body":"@event_types = event_types"}},{"html_id":"organizations:Array(Expanded::Organization)|Nil-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations","return_type":"Array(Expanded::Organization) | ::Nil","visibility":"Public","body":"@organizations"}},{"html_id":"organizations=(organizations:Array(Expanded::Organization)|Nil)-instance-method","name":"organizations=","abstract":false,"args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"args_string":"(organizations : Array(Expanded::Organization) | Nil)","args_html":"(organizations : Array(Expanded::Organization) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations=","args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"visibility":"Public","body":"@organizations = organizations"}},{"html_id":"parent_nodes:Array(Expanded::ParentNode)|Nil-instance-method","name":"parent_nodes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes","return_type":"Array(Expanded::ParentNode) | ::Nil","visibility":"Public","body":"@parent_nodes"}},{"html_id":"parent_nodes=(parent_nodes:Array(Expanded::ParentNode)|Nil)-instance-method","name":"parent_nodes=","abstract":false,"args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"args_string":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","args_html":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes=","args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"visibility":"Public","body":"@parent_nodes = parent_nodes"}},{"html_id":"resources:Array(Expanded::Resource)|Nil-instance-method","name":"resources","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources","return_type":"Array(Expanded::Resource) | ::Nil","visibility":"Public","body":"@resources"}},{"html_id":"resources=(resources:Array(Expanded::Resource)|Nil)-instance-method","name":"resources=","abstract":false,"args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"args_string":"(resources : Array(Expanded::Resource) | Nil)","args_html":"(resources : Array(Expanded::Resource) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources=","args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"visibility":"Public","body":"@resources = resources"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"spaces:Array(Expanded::Space)|Nil-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces","return_type":"Array(Expanded::Space) | ::Nil","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Expanded::Space)|Nil)-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"args_string":"(spaces : Array(Expanded::Space) | Nil)","args_html":"(spaces : Array(Expanded::Space) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"states:Array(Expanded::State)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states","return_type":"Array(Expanded::State) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"states=(states:Array(Expanded::State)|Nil)-instance-method","name":"states=","abstract":false,"args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"args_string":"(states : Array(Expanded::State) | Nil)","args_html":"(states : Array(Expanded::State) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states=","args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"visibility":"Public","body":"@states = states"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","path":"TwentyFiveLivePro/Models/Expanded.html","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Attribute","path":"TwentyFiveLivePro/Models/Expanded/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}},{"html_id":"attribute_name:String-instance-method","name":"attribute_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name","return_type":"String","visibility":"Public","body":"@attribute_name"}},{"html_id":"attribute_name=(attribute_name:String)-instance-method","name":"attribute_name=","abstract":false,"args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"args_string":"(attribute_name : String)","args_html":"(attribute_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name=","args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"visibility":"Public","body":"@attribute_name = attribute_name"}},{"html_id":"attribute_type:String|Nil-instance-method","name":"attribute_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type","return_type":"String | ::Nil","visibility":"Public","body":"@attribute_type"}},{"html_id":"attribute_type=(attribute_type:String|Nil)-instance-method","name":"attribute_type=","abstract":false,"args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"args_string":"(attribute_type : String | Nil)","args_html":"(attribute_type : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type=","args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attribute_type = attribute_type"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Category","path":"TwentyFiveLivePro/Models/Expanded/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"category_name:String-instance-method","name":"category_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name","return_type":"String","visibility":"Public","body":"@category_name"}},{"html_id":"category_name=(category_name:String)-instance-method","name":"category_name=","abstract":false,"args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"args_string":"(category_name : String)","args_html":"(category_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name=","args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"visibility":"Public","body":"@category_name = category_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Conflict","path":"TwentyFiveLivePro/Models/Expanded/Conflict.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_type_description:String-instance-method","name":"conflict_type_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description","return_type":"String","visibility":"Public","body":"@conflict_type_description"}},{"html_id":"conflict_type_description=(conflict_type_description:String)-instance-method","name":"conflict_type_description=","abstract":false,"args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"args_string":"(conflict_type_description : String)","args_html":"(conflict_type_description : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description=","args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"visibility":"Public","body":"@conflict_type_description = conflict_type_description"}},{"html_id":"conflict_type_id:Int64-instance-method","name":"conflict_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id","return_type":"Int64","visibility":"Public","body":"@conflict_type_id"}},{"html_id":"conflict_type_id=(conflict_type_id:Int64)-instance-method","name":"conflict_type_id=","abstract":false,"args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"args_string":"(conflict_type_id : Int64)","args_html":"(conflict_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id=","args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"visibility":"Public","body":"@conflict_type_id = conflict_type_id"}},{"html_id":"conflict_type_name:String-instance-method","name":"conflict_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name","return_type":"String","visibility":"Public","body":"@conflict_type_name"}},{"html_id":"conflict_type_name=(conflict_type_name:String)-instance-method","name":"conflict_type_name=","abstract":false,"args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"args_string":"(conflict_type_name : String)","args_html":"(conflict_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name=","args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"visibility":"Public","body":"@conflict_type_name = conflict_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Contact","path":"TwentyFiveLivePro/Models/Expanded/Contact.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64|Nil-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64|Nil)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"args_string":"(contact_id : Int64 | Nil)","args_html":"(contact_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"etag:String|Nil-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag","return_type":"String | ::Nil","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String|Nil)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"args_string":"(etag : String | Nil)","args_html":"(etag : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"family_name:String|Nil-instance-method","name":"family_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name","return_type":"String | ::Nil","visibility":"Public","body":"@family_name"}},{"html_id":"family_name=(family_name:String|Nil)-instance-method","name":"family_name=","abstract":false,"args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"args_string":"(family_name : String | Nil)","args_html":"(family_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name=","args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family_name = family_name"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/EventType","path":"TwentyFiveLivePro/Models/Expanded/EventType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::EventType","name":"EventType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"type_id:Int64-instance-method","name":"type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id","return_type":"Int64","visibility":"Public","body":"@type_id"}},{"html_id":"type_id=(type_id:Int64)-instance-method","name":"type_id=","abstract":false,"args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"args_string":"(type_id : Int64)","args_html":"(type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id=","args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"visibility":"Public","body":"@type_id = type_id"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Feature","path":"TwentyFiveLivePro/Models/Expanded/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"feature_name:String-instance-method","name":"feature_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name","return_type":"String","visibility":"Public","body":"@feature_name"}},{"html_id":"feature_name=(feature_name:String)-instance-method","name":"feature_name=","abstract":false,"args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"args_string":"(feature_name : String)","args_html":"(feature_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name=","args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"visibility":"Public","body":"@feature_name = feature_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Layout","path":"TwentyFiveLivePro/Models/Expanded/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name","return_type":"String","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"args_string":"(layout_name : String)","args_html":"(layout_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"visibility":"Public","body":"@layout_name = layout_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Organization","path":"TwentyFiveLivePro/Models/Expanded/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/OrganizationType","path":"TwentyFiveLivePro/Models/Expanded/OrganizationType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::OrganizationType","name":"OrganizationType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"organization_type_name:String-instance-method","name":"organization_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name","return_type":"String","visibility":"Public","body":"@organization_type_name"}},{"html_id":"organization_type_name=(organization_type_name:String)-instance-method","name":"organization_type_name=","abstract":false,"args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"args_string":"(organization_type_name : String)","args_html":"(organization_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name=","args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"visibility":"Public","body":"@organization_type_name = organization_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/ParentNode","path":"TwentyFiveLivePro/Models/Expanded/ParentNode.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::ParentNode","name":"ParentNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_dt:String-instance-method","name":"end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt","return_type":"String","visibility":"Public","body":"@end_dt"}},{"html_id":"end_dt=(end_dt:String)-instance-method","name":"end_dt=","abstract":false,"args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"args_string":"(end_dt : String)","args_html":"(end_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt=","args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"visibility":"Public","body":"@end_dt = end_dt"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"locator:String-instance-method","name":"locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator","return_type":"String","visibility":"Public","body":"@locator"}},{"html_id":"locator=(locator:String)-instance-method","name":"locator=","abstract":false,"args":[{"name":"locator","external_name":"locator","restriction":"String"}],"args_string":"(locator : String)","args_html":"(locator : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator=","args":[{"name":"locator","external_name":"locator","restriction":"String"}],"visibility":"Public","body":"@locator = locator"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"start_dt:String-instance-method","name":"start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt","return_type":"String","visibility":"Public","body":"@start_dt"}},{"html_id":"start_dt=(start_dt:String)-instance-method","name":"start_dt=","abstract":false,"args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"args_string":"(start_dt : String)","args_html":"(start_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt=","args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"visibility":"Public","body":"@start_dt = start_dt"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Resource","path":"TwentyFiveLivePro/Models/Expanded/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"resource_id:Int64-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id","return_type":"Int64","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:Int64)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"args_string":"(resource_id : Int64)","args_html":"(resource_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Role","path":"TwentyFiveLivePro/Models/Expanded/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}},{"html_id":"role_name:String-instance-method","name":"role_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name","return_type":"String","visibility":"Public","body":"@role_name"}},{"html_id":"role_name=(role_name:String)-instance-method","name":"role_name=","abstract":false,"args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"args_string":"(role_name : String)","args_html":"(role_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name=","args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"visibility":"Public","body":"@role_name = role_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Space","path":"TwentyFiveLivePro/Models/Expanded/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name","return_type":"String","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"args_string":"(space_formal_name : String)","args_html":"(space_formal_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/State","path":"TwentyFiveLivePro/Models/Expanded/State.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"state:Int64-instance-method","name":"state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state","return_type":"Int64","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int64)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int64"}],"args_string":"(state : Int64)","args_html":"(state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int64"}],"visibility":"Public","body":"@state = state"}},{"html_id":"state_name:String-instance-method","name":"state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name","return_type":"String","visibility":"Public","body":"@state_name"}},{"html_id":"state_name=(state_name:String)-instance-method","name":"state_name=","abstract":false,"args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"args_string":"(state_name : String)","args_html":"(state_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name=","args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"visibility":"Public","body":"@state_name = state_name"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Feature","path":"TwentyFiveLivePro/Models/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"quantity:Int64-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity","return_type":"Int64","visibility":"Public","body":"@quantity"}},{"html_id":"quantity=(quantity:Int64)-instance-method","name":"quantity=","abstract":false,"args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"args_string":"(quantity : Int64)","args_html":"(quantity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity=","args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"visibility":"Public","body":"@quantity = quantity"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Layout","path":"TwentyFiveLivePro/Models/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default_layout:Bool-instance-method","name":"default_layout","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout","return_type":"Bool","visibility":"Public","body":"@default_layout"}},{"html_id":"default_layout=(default_layout:Bool)-instance-method","name":"default_layout=","abstract":false,"args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"args_string":"(default_layout : Bool)","args_html":"(default_layout : Bool)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout=","args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"visibility":"Public","body":"@default_layout = default_layout"}},{"html_id":"layout_capacity:Int64-instance-method","name":"layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity","return_type":"Int64","visibility":"Public","body":"@layout_capacity"}},{"html_id":"layout_capacity=(layout_capacity:Int64)-instance-method","name":"layout_capacity=","abstract":false,"args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"args_string":"(layout_capacity : Int64)","args_html":"(layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity=","args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@layout_capacity = layout_capacity"}},{"html_id":"layout_diagram_id:Int64|Nil-instance-method","name":"layout_diagram_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_diagram_id"}},{"html_id":"layout_diagram_id=(layout_diagram_id:Int64|Nil)-instance-method","name":"layout_diagram_id=","abstract":false,"args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_diagram_id : Int64 | Nil)","args_html":"(layout_diagram_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id=","args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_diagram_id = layout_diagram_id"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_photo_id:Int64|Nil-instance-method","name":"layout_photo_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_photo_id"}},{"html_id":"layout_photo_id=(layout_photo_id:Int64|Nil)-instance-method","name":"layout_photo_id=","abstract":false,"args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_photo_id : Int64 | Nil)","args_html":"(layout_photo_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id=","args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_photo_id = layout_photo_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Organization","path":"TwentyFiveLivePro/Models/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String|Nil-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title","return_type":"String | ::Nil","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String|Nil)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"args_string":"(organization_title : String | Nil)","args_html":"(organization_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64|Nil-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64|Nil)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"args_string":"(organization_type_id : Int64 | Nil)","args_html":"(organization_type_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","path":"TwentyFiveLivePro/Models/OrganizationDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Organization)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items","return_type":"Array(Organization)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Organization))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"args_string":"(items : Array(Organization))","args_html":"(items : Array(Organization))","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title","return_type":"String","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"args_string":"(organization_title : String)","args_html":"(organization_title : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_categories:Array(Expanded::Category)|Nil-instance-method","name":"organization_categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@organization_categories"}},{"html_id":"organization_categories=(organization_categories:Array(Expanded::Category)|Nil)-instance-method","name":"organization_categories=","abstract":false,"args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(organization_categories : Array(Expanded::Category) | Nil)","args_html":"(organization_categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories=","args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@organization_categories = organization_categories"}},{"html_id":"organization_types:Array(Expanded::OrganizationType)|Nil-instance-method","name":"organization_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types","return_type":"Array(Expanded::OrganizationType) | ::Nil","visibility":"Public","body":"@organization_types"}},{"html_id":"organization_types=(organization_types:Array(Expanded::OrganizationType)|Nil)-instance-method","name":"organization_types=","abstract":false,"args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"args_string":"(organization_types : Array(Expanded::OrganizationType) | Nil)","args_html":"(organization_types : Array(Expanded::OrganizationType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types=","args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"visibility":"Public","body":"@organization_types = organization_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","path":"TwentyFiveLivePro/Models/PaginatedResponse.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_item_count:Int64-instance-method","name":"current_item_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count","return_type":"Int64","visibility":"Public","body":"@current_item_count"}},{"html_id":"current_item_count=(current_item_count:Int64)-instance-method","name":"current_item_count=","abstract":false,"args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"args_string":"(current_item_count : Int64)","args_html":"(current_item_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count=","args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"visibility":"Public","body":"@current_item_count = current_item_count"}},{"html_id":"items_per_page:Int64-instance-method","name":"items_per_page","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page","return_type":"Int64","visibility":"Public","body":"@items_per_page"}},{"html_id":"items_per_page=(items_per_page:Int64)-instance-method","name":"items_per_page=","abstract":false,"args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"args_string":"(items_per_page : Int64)","args_html":"(items_per_page : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page=","args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"visibility":"Public","body":"@items_per_page = items_per_page"}},{"html_id":"page_index:Int64-instance-method","name":"page_index","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index","return_type":"Int64","visibility":"Public","body":"@page_index"}},{"html_id":"page_index=(page_index:Int64)-instance-method","name":"page_index=","abstract":false,"args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"args_string":"(page_index : Int64)","args_html":"(page_index : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index=","args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"visibility":"Public","body":"@page_index = page_index"}},{"html_id":"paginate_key:Int64-instance-method","name":"paginate_key","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key","return_type":"Int64","visibility":"Public","body":"@paginate_key"}},{"html_id":"paginate_key=(paginate_key:Int64)-instance-method","name":"paginate_key=","abstract":false,"args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"args_string":"(paginate_key : Int64)","args_html":"(paginate_key : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key=","args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"visibility":"Public","body":"@paginate_key = paginate_key"}},{"html_id":"paging_link_template:String-instance-method","name":"paging_link_template","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template","return_type":"String","visibility":"Public","body":"@paging_link_template"}},{"html_id":"paging_link_template=(paging_link_template:String)-instance-method","name":"paging_link_template=","abstract":false,"args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"args_string":"(paging_link_template : String)","args_html":"(paging_link_template : String)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template=","args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"visibility":"Public","body":"@paging_link_template = paging_link_template"}},{"html_id":"total_items:Int64-instance-method","name":"total_items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items","return_type":"Int64","visibility":"Public","body":"@total_items"}},{"html_id":"total_items=(total_items:Int64)-instance-method","name":"total_items=","abstract":false,"args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"args_string":"(total_items : Int64)","args_html":"(total_items : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items=","args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"visibility":"Public","body":"@total_items = total_items"}},{"html_id":"total_pages:Int64-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages","return_type":"Int64","visibility":"Public","body":"@total_pages"}},{"html_id":"total_pages=(total_pages:Int64)-instance-method","name":"total_pages=","abstract":false,"args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"args_string":"(total_pages : Int64)","args_html":"(total_pages : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages=","args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"visibility":"Public","body":"@total_pages = total_pages"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","path":"TwentyFiveLivePro/Models/Reservations.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"engine:String|Nil-instance-method","name":"engine","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine","return_type":"String | ::Nil","visibility":"Public","body":"@engine"}},{"html_id":"engine=(engine:String|Nil)-instance-method","name":"engine=","abstract":false,"args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"args_string":"(engine : String | Nil)","args_html":"(engine : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine=","args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"visibility":"Public","body":"@engine = engine"}},{"html_id":"reservation:Array(Data)-instance-method","name":"reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation","return_type":"Array(Data)","visibility":"Public","body":"@reservation"}},{"html_id":"reservation=(reservation:Array(Data))-instance-method","name":"reservation=","abstract":false,"args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"args_string":"(reservation : Array(Data))","args_html":"(reservation : Array(Data))","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation=","args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"visibility":"Public","body":"@reservation = reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","path":"TwentyFiveLivePro/Models/Reservations/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_end_dt:Date-instance-method","name":"event_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt","return_type":"Date","visibility":"Public","body":"@event_end_dt"}},{"html_id":"event_end_dt=(event_end_dt:Date)-instance-method","name":"event_end_dt=","abstract":false,"args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"args_string":"(event_end_dt : Date)","args_html":"(event_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt=","args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"visibility":"Public","body":"@event_end_dt = event_end_dt"}},{"html_id":"event_id:Int64-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id","return_type":"Int64","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:Int64)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"args_string":"(event_id : Int64)","args_html":"(event_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"event_locator:String|Nil-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator","return_type":"String | ::Nil","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String|Nil)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"args_string":"(event_locator : String | Nil)","args_html":"(event_locator : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"event_name:String|Nil-instance-method","name":"event_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_name"}},{"html_id":"event_name=(event_name:String|Nil)-instance-method","name":"event_name=","abstract":false,"args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"args_string":"(event_name : String | Nil)","args_html":"(event_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name=","args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_name = event_name"}},{"html_id":"event_start_dt:Date-instance-method","name":"event_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt","return_type":"Date","visibility":"Public","body":"@event_start_dt"}},{"html_id":"event_start_dt=(event_start_dt:Date)-instance-method","name":"event_start_dt=","abstract":false,"args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"args_string":"(event_start_dt : Date)","args_html":"(event_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt=","args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"visibility":"Public","body":"@event_start_dt = event_start_dt"}},{"html_id":"event_title:String|Nil-instance-method","name":"event_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title","return_type":"String | ::Nil","visibility":"Public","body":"@event_title"}},{"html_id":"event_title=(event_title:String|Nil)-instance-method","name":"event_title=","abstract":false,"args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"args_string":"(event_title : String | Nil)","args_html":"(event_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title=","args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_title = event_title"}},{"html_id":"event_type_class:String|Nil-instance-method","name":"event_type_class","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_class"}},{"html_id":"event_type_class=(event_type_class:String|Nil)-instance-method","name":"event_type_class=","abstract":false,"args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"args_string":"(event_type_class : String | Nil)","args_html":"(event_type_class : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class=","args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_class = event_type_class"}},{"html_id":"event_type_name:String|Nil-instance-method","name":"event_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_name"}},{"html_id":"event_type_name=(event_type_name:String|Nil)-instance-method","name":"event_type_name=","abstract":false,"args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"args_string":"(event_type_name : String | Nil)","args_html":"(event_type_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name=","args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_name = event_type_name"}},{"html_id":"expected_count:Int64-instance-method","name":"expected_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count","return_type":"Int64","visibility":"Public","body":"@expected_count"}},{"html_id":"expected_count=(expected_count:Int64)-instance-method","name":"expected_count=","abstract":false,"args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"args_string":"(expected_count : Int64)","args_html":"(expected_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count=","args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"visibility":"Public","body":"@expected_count = expected_count"}},{"html_id":"last_mod_dt:Date-instance-method","name":"last_mod_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt","return_type":"Date","visibility":"Public","body":"@last_mod_dt"}},{"html_id":"last_mod_dt=(last_mod_dt:Date)-instance-method","name":"last_mod_dt=","abstract":false,"args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"args_string":"(last_mod_dt : Date)","args_html":"(last_mod_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt=","args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"visibility":"Public","body":"@last_mod_dt = last_mod_dt"}},{"html_id":"last_mod_user:String|Nil-instance-method","name":"last_mod_user","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user","return_type":"String | ::Nil","visibility":"Public","body":"@last_mod_user"}},{"html_id":"last_mod_user=(last_mod_user:String|Nil)-instance-method","name":"last_mod_user=","abstract":false,"args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"args_string":"(last_mod_user : String | Nil)","args_html":"(last_mod_user : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user=","args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_mod_user = last_mod_user"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String|Nil-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name","return_type":"String | ::Nil","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String|Nil)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"args_string":"(organization_name : String | Nil)","args_html":"(organization_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"post_event_dt:Date-instance-method","name":"post_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt","return_type":"Date","visibility":"Public","body":"@post_event_dt"}},{"html_id":"post_event_dt=(post_event_dt:Date)-instance-method","name":"post_event_dt=","abstract":false,"args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"args_string":"(post_event_dt : Date)","args_html":"(post_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt=","args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"visibility":"Public","body":"@post_event_dt = post_event_dt"}},{"html_id":"pre_event_dt:Date-instance-method","name":"pre_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt","return_type":"Date","visibility":"Public","body":"@pre_event_dt"}},{"html_id":"pre_event_dt=(pre_event_dt:Date)-instance-method","name":"pre_event_dt=","abstract":false,"args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"args_string":"(pre_event_dt : Date)","args_html":"(pre_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt=","args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"visibility":"Public","body":"@pre_event_dt = pre_event_dt"}},{"html_id":"profile_description:String-instance-method","name":"profile_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description","return_type":"String","visibility":"Public","body":"@profile_description"}},{"html_id":"profile_description=(profile_description:String)-instance-method","name":"profile_description=","abstract":false,"args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"args_string":"(profile_description : String)","args_html":"(profile_description : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description=","args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"visibility":"Public","body":"@profile_description = profile_description"}},{"html_id":"profile_id:Int64-instance-method","name":"profile_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id","return_type":"Int64","visibility":"Public","body":"@profile_id"}},{"html_id":"profile_id=(profile_id:Int64)-instance-method","name":"profile_id=","abstract":false,"args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"args_string":"(profile_id : Int64)","args_html":"(profile_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id=","args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"visibility":"Public","body":"@profile_id = profile_id"}},{"html_id":"profile_name:String|Nil-instance-method","name":"profile_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name","return_type":"String | ::Nil","visibility":"Public","body":"@profile_name"}},{"html_id":"profile_name=(profile_name:String|Nil)-instance-method","name":"profile_name=","abstract":false,"args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"args_string":"(profile_name : String | Nil)","args_html":"(profile_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name=","args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@profile_name = profile_name"}},{"html_id":"registered_count:Int64-instance-method","name":"registered_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count","return_type":"Int64","visibility":"Public","body":"@registered_count"}},{"html_id":"registered_count=(registered_count:Int64)-instance-method","name":"registered_count=","abstract":false,"args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"args_string":"(registered_count : Int64)","args_html":"(registered_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count=","args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"visibility":"Public","body":"@registered_count = registered_count"}},{"html_id":"registration_label:String|Nil-instance-method","name":"registration_label","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label","return_type":"String | ::Nil","visibility":"Public","body":"@registration_label"}},{"html_id":"registration_label=(registration_label:String|Nil)-instance-method","name":"registration_label=","abstract":false,"args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"args_string":"(registration_label : String | Nil)","args_html":"(registration_label : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label=","args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"visibility":"Public","body":"@registration_label = registration_label"}},{"html_id":"registration_url:String-instance-method","name":"registration_url","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url","return_type":"String","visibility":"Public","body":"@registration_url"}},{"html_id":"registration_url=(registration_url:String)-instance-method","name":"registration_url=","abstract":false,"args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"args_string":"(registration_url : String)","args_html":"(registration_url : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url=","args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"visibility":"Public","body":"@registration_url = registration_url"}},{"html_id":"reservation_comment_id:String|Nil-instance-method","name":"reservation_comment_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comment_id"}},{"html_id":"reservation_comment_id=(reservation_comment_id:String|Nil)-instance-method","name":"reservation_comment_id=","abstract":false,"args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"args_string":"(reservation_comment_id : String | Nil)","args_html":"(reservation_comment_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id=","args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comment_id = reservation_comment_id"}},{"html_id":"reservation_comments:String|Nil-instance-method","name":"reservation_comments","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comments"}},{"html_id":"reservation_comments=(reservation_comments:String|Nil)-instance-method","name":"reservation_comments=","abstract":false,"args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"args_string":"(reservation_comments : String | Nil)","args_html":"(reservation_comments : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments=","args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comments = reservation_comments"}},{"html_id":"reservation_end_dt:Date-instance-method","name":"reservation_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt","return_type":"Date","visibility":"Public","body":"@reservation_end_dt"}},{"html_id":"reservation_end_dt=(reservation_end_dt:Date)-instance-method","name":"reservation_end_dt=","abstract":false,"args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"args_string":"(reservation_end_dt : Date)","args_html":"(reservation_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt=","args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_end_dt = reservation_end_dt"}},{"html_id":"reservation_id:Int64-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id","return_type":"Int64","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:Int64)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"args_string":"(reservation_id : Int64)","args_html":"(reservation_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"reservation_start_dt:Date-instance-method","name":"reservation_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt","return_type":"Date","visibility":"Public","body":"@reservation_start_dt"}},{"html_id":"reservation_start_dt=(reservation_start_dt:Date)-instance-method","name":"reservation_start_dt=","abstract":false,"args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"args_string":"(reservation_start_dt : Date)","args_html":"(reservation_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt=","args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_start_dt = reservation_start_dt"}},{"html_id":"reservation_state:Int64-instance-method","name":"reservation_state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state","return_type":"Int64","visibility":"Public","body":"@reservation_state"}},{"html_id":"reservation_state=(reservation_state:Int64)-instance-method","name":"reservation_state=","abstract":false,"args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"args_string":"(reservation_state : Int64)","args_html":"(reservation_state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state=","args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"visibility":"Public","body":"@reservation_state = reservation_state"}},{"html_id":"reservation_state_name:String|Nil-instance-method","name":"reservation_state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_state_name"}},{"html_id":"reservation_state_name=(reservation_state_name:String|Nil)-instance-method","name":"reservation_state_name=","abstract":false,"args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"args_string":"(reservation_state_name : String | Nil)","args_html":"(reservation_state_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name=","args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_state_name = reservation_state_name"}},{"html_id":"space_reservation:Space-instance-method","name":"space_reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation","return_type":"Space","visibility":"Public","body":"@space_reservation"}},{"html_id":"space_reservation=(space_reservation:Space)-instance-method","name":"space_reservation=","abstract":false,"args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"args_string":"(space_reservation : Space)","args_html":"(space_reservation : Space)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation=","args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"visibility":"Public","body":"@space_reservation = space_reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data/Space","path":"TwentyFiveLivePro/Models/Reservations/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual_count:String|Nil-instance-method","name":"actual_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count","return_type":"String | ::Nil","visibility":"Public","body":"@actual_count"}},{"html_id":"actual_count=(actual_count:String|Nil)-instance-method","name":"actual_count=","abstract":false,"args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"args_string":"(actual_count : String | Nil)","args_html":"(actual_count : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count=","args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"visibility":"Public","body":"@actual_count = actual_count"}},{"html_id":"default_layout_capacity:String|Nil-instance-method","name":"default_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity","return_type":"String | ::Nil","visibility":"Public","body":"@default_layout_capacity"}},{"html_id":"default_layout_capacity=(default_layout_capacity:String|Nil)-instance-method","name":"default_layout_capacity=","abstract":false,"args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"args_string":"(default_layout_capacity : String | Nil)","args_html":"(default_layout_capacity : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity=","args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default_layout_capacity = default_layout_capacity"}},{"html_id":"formal_name:String|Nil-instance-method","name":"formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@formal_name"}},{"html_id":"formal_name=(formal_name:String|Nil)-instance-method","name":"formal_name=","abstract":false,"args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"args_string":"(formal_name : String | Nil)","args_html":"(formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name=","args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@formal_name = formal_name"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String|Nil-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name","return_type":"String | ::Nil","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String|Nil)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"args_string":"(layout_name : String | Nil)","args_html":"(layout_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@layout_name = layout_name"}},{"html_id":"selected_layout_capacity:Int64-instance-method","name":"selected_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity","return_type":"Int64","visibility":"Public","body":"@selected_layout_capacity"}},{"html_id":"selected_layout_capacity=(selected_layout_capacity:Int64)-instance-method","name":"selected_layout_capacity=","abstract":false,"args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"args_string":"(selected_layout_capacity : Int64)","args_html":"(selected_layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity=","args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@selected_layout_capacity = selected_layout_capacity"}},{"html_id":"shared:String|Nil-instance-method","name":"shared","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared","return_type":"String | ::Nil","visibility":"Public","body":"@shared"}},{"html_id":"shared=(shared:String|Nil)-instance-method","name":"shared=","abstract":false,"args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"args_string":"(shared : String | Nil)","args_html":"(shared : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared=","args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"visibility":"Public","body":"@shared = shared"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_instruction_id:String|Nil-instance-method","name":"space_instruction_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_instruction_id"}},{"html_id":"space_instruction_id=(space_instruction_id:String|Nil)-instance-method","name":"space_instruction_id=","abstract":false,"args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"args_string":"(space_instruction_id : String | Nil)","args_html":"(space_instruction_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id=","args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instruction_id = space_instruction_id"}},{"html_id":"space_instructions:String|Nil-instance-method","name":"space_instructions","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions","return_type":"String | ::Nil","visibility":"Public","body":"@space_instructions"}},{"html_id":"space_instructions=(space_instructions:String|Nil)-instance-method","name":"space_instructions=","abstract":false,"args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"args_string":"(space_instructions : String | Nil)","args_html":"(space_instructions : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions=","args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instructions = space_instructions"}},{"html_id":"space_name:String|Nil-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String|Nil)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"args_string":"(space_name : String | Nil)","args_html":"(space_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_name = space_name"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Resource","path":"TwentyFiveLivePro/Models/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","path":"TwentyFiveLivePro/Models/ResourceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","path":"TwentyFiveLivePro/Models/ResourceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Resource)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items","return_type":"Array(Resource)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Resource))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"args_string":"(items : Array(Resource))","args_html":"(items : Array(Resource))","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Role","path":"TwentyFiveLivePro/Models/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id","return_type":"Int64","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"args_string":"(contact_id : Int64)","args_html":"(contact_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Space","path":"TwentyFiveLivePro/Models/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","path":"TwentyFiveLivePro/Models/SpaceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","path":"TwentyFiveLivePro/Models/SpaceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Space)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items","return_type":"Array(Space)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Space))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"args_string":"(items : Array(Space))","args_html":"(items : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"args_string":"(attributes : Array(Attribute) | Nil)","args_html":"(attributes : Array(Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"args_string":"(categories : Array(Category) | Nil)","args_html":"(categories : Array(Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"features:Array(Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features","return_type":"Array(Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"args_string":"(features : Array(Feature) | Nil)","args_html":"(features : Array(Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"layouts:Array(Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts","return_type":"Array(Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"args_string":"(layouts : Array(Layout) | Nil)","args_html":"(layouts : Array(Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"roles:Array(Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles","return_type":"Array(Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"args_string":"(roles : Array(Role) | Nil)","args_html":"(roles : Array(Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L70"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"features:Array(Expanded::Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features","return_type":"Array(Expanded::Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Expanded::Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"args_string":"(features : Array(Expanded::Feature) | Nil)","args_html":"(features : Array(Expanded::Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"layouts:Array(Expanded::Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts","return_type":"Array(Expanded::Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Expanded::Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"args_string":"(layouts : Array(Expanded::Layout) | Nil)","args_html":"(layouts : Array(Expanded::Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}}]}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/RoomSchedule","path":"TwentyFiveLivePro/RoomSchedule.html","kind":"class","full_name":"TwentyFiveLivePro::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L36"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local\n todays_events = fetch_events(today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y%m%d\"))\n todays_events.sort_by() do |__arg1|\n __arg1.date.duration\n end.reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.date.start_date\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by? do |__arg2|\n __arg2.date.start_date\n end\n previous_event = past_events.max_by? do |__arg3|\n __arg3.date.end_date\n end\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String,since:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"args_string":"(start_date : String, end_date : String, since : String)","args_html":"(start_date : String, end_date : String, since : String)","location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L80"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"visibility":"Public","body":"relevant_events = [] of Models::Event\nevents = Array(Models::Event).from_json((twenty_five_live_pro.list_events(1, 100, since, nil)).get.not_nil!.to_json)\nevents.each do |event|\n details = Models::EventDetail.from_json((twenty_five_live_pro.get_event_details(event.id, [\"all\"], [\"all\"])).get.not_nil!.to_json)\n if expanded_info = details.content.expanded_info\n if spaces = expanded_info.spaces\n if spaces.empty?\n next\n end\n if @space_id == spaces.first.space_id\n if event_data = details.content.data\n if event_items = event_data.items\n if event_items.empty?\n next\n end\n event_items.each do |event_item|\n if date = event_item.date\n if (date.start_date.to_rfc3339.includes?(start_date)) && (date.end_date.to_rfc3339.includes?(start_date))\n relevant_events.push(Models::Event.from_json(event_item.to_json))\n end\n end\n end\n end\n end\n end\n end\n end\nend\nrelevant_events\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@space_id = setting(String, :twenty_five_live_pro_space_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/Union","path":"Union.html","kind":"struct","full_name":"Union(*T)","name":"Union","abstract":false,"superclass":{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},"ancestors":[{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/http-params-serializable/src/http-params-serializable/ext/union.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/http-params-serializable/src/http-params-serializable/ext/union.cr#L2"},{"filename":"src/place/router/settings.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"FIXME: submit as PR to crystal standard lib to support this neatly","summary":"

FIXME submit as PR to crystal standard lib to support this neatly

","class_methods":[{"html_id":"from_json_object_key?(key:String)-class-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L171"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"{% for t in T %}\n instance = {{ t }}.from_json_object_key? key\n return instance unless instance.nil?\n {% end %}\nraise(JSON::ParseException.new(\"Couldn't parse #{self} from #{key}\", 176, 0))\n"}}]},{"html_id":"drivers/Vecos","path":"Vecos.html","kind":"module","full_name":"Vecos","name":"Vecos","abstract":false,"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L3"},{"filename":"src/vecos/releezme/booking.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L3"},{"filename":"src/vecos/releezme/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L3"},{"filename":"src/vecos/releezme/locker.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L3"},{"filename":"src/vecos/releezme/locker_bank.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L3"},{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L4"},{"filename":"src/vecos/releezme/locker_group.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L3"},{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L3"},{"filename":"src/vecos/releezme/locker_users.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L3"},{"filename":"src/vecos/releezme/paging.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L3"},{"filename":"src/vecos/releezme/section.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Vecos/Allocation","path":"Vecos/Allocation.html","kind":"struct","full_name":"Vecos::Allocation","name":"Allocation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/allocation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_by_locker_action_on_release?:Bool-instance-method","name":"allocated_by_locker_action_on_release?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L33"},"def":{"name":"allocated_by_locker_action_on_release?","return_type":"Bool","visibility":"Public","body":"@allocated_by_locker_action_on_release"}},{"html_id":"allocated_for_package?:Bool-instance-method","name":"allocated_for_package?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L30"},"def":{"name":"allocated_for_package?","return_type":"Bool","visibility":"Public","body":"@allocated_for_package"}},{"html_id":"dynamically_allocated?:Bool-instance-method","name":"dynamically_allocated?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L18"},"def":{"name":"dynamically_allocated?","return_type":"Bool","visibility":"Public","body":"@dynamically_allocated"}},{"html_id":"expiring:Time-instance-method","name":"expiring","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L24"},"def":{"name":"expiring","return_type":"Time","visibility":"Public","body":"@expiring"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L12"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"self_releasable?:Bool-instance-method","name":"self_releasable?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L15"},"def":{"name":"self_releasable?","return_type":"Bool","visibility":"Public","body":"@self_releasable"}},{"html_id":"shared_to_user?:Bool-instance-method","name":"shared_to_user?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L27"},"def":{"name":"shared_to_user?","return_type":"Bool","visibility":"Public","body":"@shared_to_user"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L21"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L9"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Booking","path":"Vecos/Booking.html","kind":"struct","full_name":"Vecos::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/booking.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/booking.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ending:Time-instance-method","name":"ending","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L26"},"def":{"name":"ending","return_type":"Time","visibility":"Public","body":"@ending"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L20"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L17"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L11"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L23"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}}]},{"html_id":"drivers/Vecos/Location","path":"Vecos/Location.html","kind":"struct","full_name":"Vecos::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/location.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"time_zone:String|Nil-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L14"},"def":{"name":"time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Vecos/Locker","path":"Vecos/Locker.html","kind":"struct","full_name":"Vecos::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blocked:Bool-instance-method","name":"blocked","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L20"},"def":{"name":"blocked","return_type":"Bool","visibility":"Public","body":"@blocked"}},{"html_id":"door_number:Int32-instance-method","name":"door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L35"},"def":{"name":"door_number","return_type":"Int32","visibility":"Public","body":"@door_number"}},{"html_id":"door_number_prefix:String-instance-method","name":"door_number_prefix","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L32"},"def":{"name":"door_number_prefix","return_type":"String","visibility":"Public","body":"@door_number_prefix"}},{"html_id":"dynamic_allocated:Bool|Nil-instance-method","name":"dynamic_allocated","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L41"},"def":{"name":"dynamic_allocated","return_type":"Bool | ::Nil","visibility":"Public","body":"@dynamic_allocated"}},{"html_id":"expires_date_time_utc:Time|Nil-instance-method","name":"expires_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L62"},"def":{"name":"expires_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@expires_date_time_utc"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L29"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_detected:Bool-instance-method","name":"is_detected","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L26"},"def":{"name":"is_detected","return_type":"Bool","visibility":"Public","body":"@is_detected"}},{"html_id":"is_shareable:Bool|Nil-instance-method","name":"is_shareable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L56"},"def":{"name":"is_shareable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shareable"}},{"html_id":"is_shared:Bool|Nil-instance-method","name":"is_shared","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L53"},"def":{"name":"is_shared","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shared"}},{"html_id":"is_usable:Bool-instance-method","name":"is_usable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L23"},"def":{"name":"is_usable","return_type":"Bool","visibility":"Public","body":"@is_usable"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_brick_id:String-instance-method","name":"locker_brick_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L17"},"def":{"name":"locker_brick_id","return_type":"String","visibility":"Public","body":"@locker_brick_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L11"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"number_of_allocations:Int32|Nil-instance-method","name":"number_of_allocations","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L47"},"def":{"name":"number_of_allocations","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_allocations"}},{"html_id":"number_of_digits_for_door_number:Int32-instance-method","name":"number_of_digits_for_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L68"},"def":{"name":"number_of_digits_for_door_number","return_type":"Int32","visibility":"Public","body":"@number_of_digits_for_door_number"}},{"html_id":"open_time:Int32-instance-method","name":"open_time","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L44"},"def":{"name":"open_time","return_type":"Int32","visibility":"Public","body":"@open_time"}},{"html_id":"self_release_allowed:Bool|Nil-instance-method","name":"self_release_allowed","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L38"},"def":{"name":"self_release_allowed","return_type":"Bool | ::Nil","visibility":"Public","body":"@self_release_allowed"}},{"html_id":"sequence_number:Int32-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L59"},"def":{"name":"sequence_number","return_type":"Int32","visibility":"Public","body":"@sequence_number"}},{"html_id":"shared_to_user:Bool|Nil-instance-method","name":"shared_to_user","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L50"},"def":{"name":"shared_to_user","return_type":"Bool | ::Nil","visibility":"Public","body":"@shared_to_user"}},{"html_id":"start_date_time_utc:Time|Nil-instance-method","name":"start_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L65"},"def":{"name":"start_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@start_date_time_utc"}}]},{"html_id":"drivers/Vecos/LockerBank","path":"Vecos/LockerBank.html","kind":"struct","full_name":"Vecos::LockerBank","name":"LockerBank","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L29"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L17"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"published:Bool-instance-method","name":"published","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L20"},"def":{"name":"published","return_type":"Bool","visibility":"Public","body":"@published"}},{"html_id":"random_allocation:Bool|Nil-instance-method","name":"random_allocation","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L23"},"def":{"name":"random_allocation","return_type":"Bool | ::Nil","visibility":"Public","body":"@random_allocation"}},{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L14"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}},{"html_id":"service_mode:Bool-instance-method","name":"service_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L26"},"def":{"name":"service_mode","return_type":"Bool","visibility":"Public","body":"@service_mode"}}]},{"html_id":"drivers/Vecos/LockerBankAndLockerGroup","path":"Vecos/LockerBankAndLockerGroup.html","kind":"struct","full_name":"Vecos::LockerBankAndLockerGroup","name":"LockerBankAndLockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"locker_bank:LockerBank-instance-method","name":"locker_bank","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L9"},"def":{"name":"locker_bank","return_type":"LockerBank","visibility":"Public","body":"@locker_bank"}},{"html_id":"locker_group:LockerGroup-instance-method","name":"locker_group","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L12"},"def":{"name":"locker_group","return_type":"LockerGroup","visibility":"Public","body":"@locker_group"}}]},{"html_id":"drivers/Vecos/LockerGroup","path":"Vecos/LockerGroup.html","kind":"struct","full_name":"Vecos::LockerGroup","name":"LockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"lock_mode:Int32-instance-method","name":"lock_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L14"},"def":{"name":"lock_mode","return_type":"Int32","visibility":"Public","body":"@lock_mode"}},{"html_id":"locker_booking_feature_enabled:Bool-instance-method","name":"locker_booking_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L17"},"def":{"name":"locker_booking_feature_enabled","return_type":"Bool","visibility":"Public","body":"@locker_booking_feature_enabled"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"postal_service_feature_enabled:Bool-instance-method","name":"postal_service_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L20"},"def":{"name":"postal_service_feature_enabled","return_type":"Bool","visibility":"Public","body":"@postal_service_feature_enabled"}}]},{"html_id":"drivers/Vecos/LockerGroupStatus","path":"Vecos/LockerGroupStatus.html","kind":"struct","full_name":"Vecos::LockerGroupStatus","name":"LockerGroupStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_dynamic_lockers:Int32-instance-method","name":"allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L26"},"def":{"name":"allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_dynamic_lockers"}},{"html_id":"allocated_static_lockers:Int32-instance-method","name":"allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L38"},"def":{"name":"allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_static_lockers"}},{"html_id":"available_dynamic_lockers:Int32-instance-method","name":"available_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L23"},"def":{"name":"available_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@available_dynamic_lockers"}},{"html_id":"available_static_lockers:Int32-instance-method","name":"available_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L35"},"def":{"name":"available_static_lockers","return_type":"Int32","visibility":"Public","body":"@available_static_lockers"}},{"html_id":"blocked_allocated_dynamic_lockers:Int32-instance-method","name":"blocked_allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L29"},"def":{"name":"blocked_allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_dynamic_lockers"}},{"html_id":"blocked_allocated_static_lockers:Int32-instance-method","name":"blocked_allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L41"},"def":{"name":"blocked_allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_static_lockers"}},{"html_id":"blocked_unallocated_dynamic_lockers:Int32-instance-method","name":"blocked_unallocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L32"},"def":{"name":"blocked_unallocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_dynamic_lockers"}},{"html_id":"blocked_unallocated_static_lockers:Int32-instance-method","name":"blocked_unallocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L44"},"def":{"name":"blocked_unallocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_static_lockers"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L8"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_group_name:String-instance-method","name":"locker_group_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L11"},"def":{"name":"locker_group_name","return_type":"String","visibility":"Public","body":"@locker_group_name"}},{"html_id":"public_lockers:Int32-instance-method","name":"public_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L20"},"def":{"name":"public_lockers","return_type":"Int32","visibility":"Public","body":"@public_lockers"}},{"html_id":"unusable_lockers:Int32-instance-method","name":"unusable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L17"},"def":{"name":"unusable_lockers","return_type":"Int32","visibility":"Public","body":"@unusable_lockers"}},{"html_id":"usable_lockers:Int32-instance-method","name":"usable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L14"},"def":{"name":"usable_lockers","return_type":"Int32","visibility":"Public","body":"@usable_lockers"}}]},{"html_id":"drivers/Vecos/LockerUsers","path":"Vecos/LockerUsers.html","kind":"struct","full_name":"Vecos::LockerUsers","name":"LockerUsers","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_users.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L17"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L11"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L14"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L20"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Paging","path":"Vecos/Paging.html","kind":"struct","full_name":"Vecos::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/paging.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/paging.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"first_item_on_page:Int32-instance-method","name":"first_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L8"},"def":{"name":"first_item_on_page","return_type":"Int32","visibility":"Public","body":"@first_item_on_page"}},{"html_id":"has_next_page:Bool-instance-method","name":"has_next_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L11"},"def":{"name":"has_next_page","return_type":"Bool","visibility":"Public","body":"@has_next_page"}},{"html_id":"has_previous_page:Bool-instance-method","name":"has_previous_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L14"},"def":{"name":"has_previous_page","return_type":"Bool","visibility":"Public","body":"@has_previous_page"}},{"html_id":"is_first_page:Bool-instance-method","name":"is_first_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L17"},"def":{"name":"is_first_page","return_type":"Bool","visibility":"Public","body":"@is_first_page"}},{"html_id":"is_last_page:Bool-instance-method","name":"is_last_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L20"},"def":{"name":"is_last_page","return_type":"Bool","visibility":"Public","body":"@is_last_page"}},{"html_id":"last_item_on_page:Int32-instance-method","name":"last_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L23"},"def":{"name":"last_item_on_page","return_type":"Int32","visibility":"Public","body":"@last_item_on_page"}},{"html_id":"page_count:Int32-instance-method","name":"page_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L26"},"def":{"name":"page_count","return_type":"Int32","visibility":"Public","body":"@page_count"}},{"html_id":"page_number:Int32-instance-method","name":"page_number","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L29"},"def":{"name":"page_number","return_type":"Int32","visibility":"Public","body":"@page_number"}},{"html_id":"page_size:Int32-instance-method","name":"page_size","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L32"},"def":{"name":"page_size","return_type":"Int32","visibility":"Public","body":"@page_size"}},{"html_id":"total_item_count:Int32-instance-method","name":"total_item_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L35"},"def":{"name":"total_item_count","return_type":"Int32","visibility":"Public","body":"@total_item_count"}}]},{"html_id":"drivers/Vecos/Releezme","path":"Vecos/Releezme.html","kind":"class","full_name":"Vecos::Releezme","name":"Releezme","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"bank(bank_id:String)-instance-method","name":"bank","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L174"},"def":{"name":"bank","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"LockerBank.from_json(fetch_item(\"/api/lockerbanks/#{bank_id}\"))"}},{"html_id":"bank_group_lockers_available(bank_id:String,group_id:String)-instance-method","name":"bank_group_lockers_available","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String)","args_html":"(bank_id : String, group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L187"},"def":{"name":"bank_group_lockers_available","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/#{group_id}/availablelockers?pageSize=200\")"}},{"html_id":"bank_groups(bank_id:String)-instance-method","name":"bank_groups","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L178"},"def":{"name":"bank_groups","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockergroups?pageSize=200\")"}},{"html_id":"bank_locker_allocations(bank_id:String)-instance-method","name":"bank_locker_allocations","doc":"NOTE:: Only accessible to System Control Clients","summary":"

NOTE : Only accessible to System Control Clients

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L192"},"def":{"name":"bank_locker_allocations","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/allocations?pageSize=200\")"}},{"html_id":"bank_lockers(bank_id:String)-instance-method","name":"bank_lockers","doc":"returns all the lockers in the bank without paging (but paging json is included)","summary":"

returns all the lockers in the bank without paging (but paging json is included)

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L183"},"def":{"name":"bank_lockers","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockers?pageSize=200\")"}},{"html_id":"banks-instance-method","name":"banks","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L170"},"def":{"name":"banks","visibility":"Public","body":"fetch_pages(\"/api/lockerbanks?pageSize=200\")"}},{"html_id":"bearer_token:String-instance-method","name":"bearer_token","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L110"},"def":{"name":"bearer_token","visibility":"Public","body":"@bearer_token"}},{"html_id":"book_locker(starting:Int64,ending:Int64,user_id:String,locker_id:String|Nil=nil,group_id:String|Nil=nil,bank_id:String|Nil=nil,timezone:String=\"UTC\")-instance-method","name":"book_locker","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"args_string":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = \"UTC\")","args_html":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = "UTC")","location":{"filename":"src/vecos/releezme.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L248"},"def":{"name":"book_locker","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"tz = Time::Location.load(timezone)\nresponse = post(\"/api/bookings\", body: {\"StartDateTimeUtc\" => ((Time.unix(starting)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"EndDateTimeUtc\" => ((Time.unix(ending)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"LockerGroupId\" => group_id, \"LockerBankId\" => bank_id, \"LockerId\" => locker_id, \"ExternalUserId\" => user_id}.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"bookings(user_id:String)-instance-method","name":"bookings","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L216"},"def":{"name":"bookings","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings?#{params}\")\n"}},{"html_id":"bookings_availability(user_id:String,starting:Int64,ending:Int64,section_id:String|Nil=nil,location_id:String|Nil=nil,bank_id:String|Nil=nil,group_id:String|Nil=nil,locker_id:String|Nil=nil)-instance-method","name":"bookings_availability","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","args_html":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L224"},"def":{"name":"bookings_availability","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"startDateTimeUtc\", (Time.unix(starting)).to_rfc3339)\n form.add(\"endDateTimeUtc\", (Time.unix(ending)).to_rfc3339)\n if section_id.presence\n form.add(\"sectionId\", section_id.as(String))\n end\n if location_id.presence\n form.add(\"locationId\", location_id.as(String))\n end\n if bank_id.presence\n form.add(\"lockerBankId\", bank_id.as(String))\n end\n if bank_id.presence && group_id.presence\n form.add(\"lockerBankId\", group_id.as(String))\n end\n if locker_id.presence\n form.add(\"lockerId\", locker_id.as(String))\n end\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings/availability?#{params}\")\n"}},{"html_id":"can_allocate_locker?(user_id:String):String-instance-method","name":"can_allocate_locker?","doc":"check if a user can be allocated a new locker","summary":"

check if a user can be allocated a new locker

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : String","args_html":"(user_id : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L278"},"def":{"name":"can_allocate_locker?","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = get(\"/api/lockers/canallocate?#{params}\")\nresponse.body\n"}},{"html_id":"can_share_locker_with?(locker_id:String,owner_id:String,search:String)-instance-method","name":"can_share_locker_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, search : String)","args_html":"(locker_id : String, owner_id : String, search : String)","location":{"filename":"src/vecos/releezme.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L343"},"def":{"name":"can_share_locker_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"searchString\", search)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"companies-instance-method","name":"companies","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L118"},"def":{"name":"companies","visibility":"Public","body":"(JSON.parse(fetch_item(\"/api/companies\")))[\"Companies\"]"}},{"html_id":"fetch_item(location:String):String-instance-method","name":"fetch_item","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L101"},"def":{"name":"fetch_item","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get(location)\nif response.status_code == 401\n @expires = 1.minute.ago\nend\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nresponse.body\n"}},{"html_id":"fetch_pages(location:String):Array(JSON::Any)-instance-method","name":"fetch_pages","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : Array(JSON::Any)","args_html":"(location : String) : Array(JSON::Any)","location":{"filename":"src/vecos/releezme.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L75"},"def":{"name":"fetch_pages","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"Array(JSON::Any)","visibility":"Public","body":"append = location.includes?('?') ? '&' : '?'\nnext_page = \"#{location}#{append}pageNumber=#{1}\"\ndata = [] of JSON::Any\nloop do\n response = get(next_page)\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = (JSON.parse(response.body)).as_h\n pages = if has_paging = payload.delete(\"Paging\")\n Paging.from_json(has_paging.to_json)\n end\n data.concat(payload[payload.keys.first].as_a)\n if pages && pages.has_next_page\n else\n break\n end\n next_page = \"#{location}#{append}pageNumber=#{pages.page_number + 1}\"\nend\ndata\n"}},{"html_id":"group(group_id:String)-instance-method","name":"group","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L204"},"def":{"name":"group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"Array(LockerGroup).from_json(fetch_item(\"/api/lockergroups/#{group_id}\"))"}},{"html_id":"group_locker_banks(group_id:String)-instance-method","name":"group_locker_banks","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L208"},"def":{"name":"group_locker_banks","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockergroups/#{group_id}/lockerbanks?pageSize=200\")"}},{"html_id":"groups-instance-method","name":"groups","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L200"},"def":{"name":"groups","visibility":"Public","body":"fetch_pages(\"/api/lockergroups?pageSize=200\")"}},{"html_id":"location(location_id:String)-instance-method","name":"location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L131"},"def":{"name":"location","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"Location.from_json(fetch_item(\"/api/locations/#{location_id}\"))"}},{"html_id":"location_sections(location_id:String)-instance-method","name":"location_sections","doc":"typically these are floors in the building","summary":"

typically these are floors in the building

","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L136"},"def":{"name":"location_sections","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/locations/#{location_id}/sections?pageSize=200\")"}},{"html_id":"locations-instance-method","name":"locations","doc":"typically these are buildings","summary":"

typically these are buildings

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L127"},"def":{"name":"locations","visibility":"Public","body":"fetch_pages(\"/api/locations?pageSize=200\")"}},{"html_id":"locker_allocate(locker_id:String,user_id:String)-instance-method","name":"locker_allocate","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, user_id : String)","args_html":"(locker_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L286"},"def":{"name":"locker_allocate","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_allocate_random(bank_id:String,group_id:String,user_id:String)-instance-method","name":"locker_allocate_random","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String, user_id : String)","args_html":"(bank_id : String, group_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":295,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L295"},"def":{"name":"locker_allocate_random","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"lockerBankId\", bank_id)\n form.add(\"lockerGroupId\", group_id)\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_release(locker_id:String,user_id:String|Nil=nil):Nil-instance-method","name":"locker_release","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, user_id : String | Nil = nil) : Nil","args_html":"(locker_id : String, user_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L306"},"def":{"name":"locker_release","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"params = URI::Params.build do |form|\n if user_id.presence\n form.add(\"externalUserId\", user_id)\n end\nend\nresponse = post(\"/api/lockers/#{locker_id}/release?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"locker_shared_with?(locker_id:String,owner_id:String)-instance-method","name":"locker_shared_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String)","args_html":"(locker_id : String, owner_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L351"},"def":{"name":"locker_shared_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"locker_unlock(locker_id:String,pin_code:String|Nil=nil)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, pin_code : String | Nil = nil)","args_html":"(locker_id : String, pin_code : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L314"},"def":{"name":"locker_unlock","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"pin_route = pin_code ? nil : \"/withoutpincode\"\nresponse = post(\"/api/lockers/#{locker_id}/pincode/unlock#{pin_route}\", body: pin_code)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"lockers_allocated_to(user_id:String)-instance-method","name":"lockers_allocated_to","doc":"the lockers that are currently allocated to the specified user\nthe user ID is typically email - defined by the client","summary":"

the lockers that are currently allocated to the specified user the user ID is typically email - defined by the client

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L269"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/lockers/allocated?#{params}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"client_id = setting(String, :client_id)\nclient_secret = setting(String, :client_secret)\nusername = setting(String, :username)\npassword = setting(String, :password)\nreleezme_authentication_domain = setting(String, :releezme_authentication_domain)\ntransport.before_request do |req|\n access_token = get_access_token(client_id, client_secret, username, password, releezme_authentication_domain)\n req.headers[\"Authorization\"] = access_token\n req.headers[\"Content-Type\"] = \"application/json\"\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"section(section_id:String)-instance-method","name":"section","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L149"},"def":{"name":"section","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"Section.from_json(fetch_item(\"/api/locations/#{section_id}\"))"}},{"html_id":"section_banks_allocatable(section_id:String,user_id:String)-instance-method","name":"section_banks_allocatable","doc":"banks and groups in the banks that the user can allocate to themselves","summary":"

banks and groups in the banks that the user can allocate to themselves

","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(section_id : String, user_id : String)","args_html":"(section_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L158"},"def":{"name":"section_banks_allocatable","args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/sections/#{section_id}/lockerbanklockergroups/allocatable?#{params}\")\n"}},{"html_id":"section_locker_banks(section_id:String)-instance-method","name":"section_locker_banks","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L153"},"def":{"name":"section_locker_banks","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/sections/#{section_id}/lockerbanks?pageSize=200\")"}},{"html_id":"sections-instance-method","name":"sections","doc":"all floors from all buildings in one request","summary":"

all floors from all buildings in one request

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L145"},"def":{"name":"sections","visibility":"Public","body":"fetch_pages(\"/api/sections?pageSize=200\")"}},{"html_id":"share_locker_with(locker_id:String,owner_id:String,user_id:String):Bool-instance-method","name":"share_locker_with","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, user_id : String) : Bool","args_html":"(locker_id : String, owner_id : String, user_id : String) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L324"},"def":{"name":"share_locker_with","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"sharedUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/share?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"unshare_locker(locker_id:String,owner_id:String,shared_with_internal_id:String|Nil=nil):Bool-instance-method","name":"unshare_locker","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","args_html":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L334"},"def":{"name":"unshare_locker","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/unshare/#{shared_with_internal_id}?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}}]},{"html_id":"drivers/Vecos/ReleezmeLocations","path":"Vecos/ReleezmeLocations.html","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L72"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L275"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of lockers on this level","summary":"

array of lockers on this level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L281"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for lockers in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nreleexme_section_id = @floor_mappings[zone_id]\nbanks = Array(Vecos::LockerBank).from_json((releezme.section_locker_banks(releexme_section_id)).get.to_json)\nif @door_number_lookup && @last_mapped < 3.hour.ago\n @last_mapped = Time.utc\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n self[locker.full_door_number.downcase] = locker.id\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nelse\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L64"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L262"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"releezme incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"locker_allocate(user_id:String,bank_id:String|Int64,locker_id:String|Int64|Nil=nil,expires_at:Int64|Nil=nil):PlaceLocker-instance-method","name":"locker_allocate","doc":"allocates a locker now, the allocation may expire","summary":"

allocates a locker now, the allocation may expire

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","args_html":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","location":{"filename":"src/vecos/releezme_locations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L136"},"def":{"name":"locker_allocate","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"return_type":"PlaceLocker","visibility":"Public","body":"user_id = get_user_key(user_id)\nlocker_id = locker_id ? lookup_id(locker_id.to_s) : nil\nif expires_at\n timezone = system.timezone || \"UTC\"\n booking = if locker_id\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, locker_id, timezone: timezone)).get\n else\n group_id = get_group_id(user_id, bank_id)\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, group_id: group_id, bank_id: bank_id, timezone: timezone)).get\n end\n PlaceLocker.new(Vecos::Booking.from_json(booking.to_json))\nelse\n if locker_id\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate(locker_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n else\n group_id = get_group_id(user_id, bank_id)\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate_random(bank_id, group_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n end\nend\n"}},{"html_id":"locker_release(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil):Nil-instance-method","name":"locker_release","doc":"return the locker to the pool","summary":"

return the locker to the pool

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L173"},"def":{"name":"locker_release","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\nif owner_id\n owner_id = get_user_key(owner_id)\nend\n(releezme.locker_release(locker_id, owner_id)).get\n"}},{"html_id":"locker_share(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,share_with:String):Nil-instance-method","name":"locker_share","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L194"},"def":{"name":"locker_share","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.share_locker_with(locker_id, get_user_key(owner_id), get_user_key(share_with))).get\n"}},{"html_id":"locker_shared_with(bank_id:String|Int64,locker_id:String|Int64,owner_id:String):Array(String)-instance-method","name":"locker_shared_with","doc":"a list of user-ids that the locker is shared with.\nthis can be placeos user ids or emails","summary":"

a list of user-ids that the locker is shared with.

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L229"},"def":{"name":"locker_shared_with","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nshared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\nshared_with.map do |user|\n user.email || user.user_id\nend\n"}},{"html_id":"locker_unlock(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil,open_time:Int32=60,pin_code:String|Nil=nil):Nil-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L241"},"def":{"name":"locker_unlock","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.locker_unlock(locker_id, pin_code)).get\n"}},{"html_id":"locker_unshare(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,shared_with_id:String|Nil=nil):Nil-instance-method","name":"locker_unshare","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L205"},"def":{"name":"locker_unshare","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nif shared_with_id\n shared_with_external_id = get_user_key(shared_with_id)\n shared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\n shared_user = shared_with.find do |user|\n user.user_id == shared_with_external_id\n end\n if shared_user\n else\n return\n end\n shared_with_id = shared_user.id\nend\n(releezme.unshare_locker(locker_id, owner_id, shared_with_id)).get\n"}},{"html_id":"lockers_allocated_to(user_id:String):Array(PlaceLocker)-instance-method","name":"lockers_allocated_to","doc":"a list of lockers that are allocated to the user","summary":"

a list of lockers that are allocated to the user

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(PlaceLocker)","args_html":"(user_id : String) : Array(PlaceLocker)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L187"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(PlaceLocker)","visibility":"Public","body":"user_id = get_user_key(user_id)\nlockers = Array(Vecos::Locker).from_json((releezme.lockers_allocated_to(user_id)).get.to_json)\nlockers.map do |locker|\n PlaceLocker.new(locker, true)\nend\n"}},{"html_id":"lookup_id(locker_id:String):String-instance-method","name":"lookup_id","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"args_string":"(locker_id : String) : String","args_html":"(locker_id : String) : String","location":{"filename":"src/vecos/releezme_locations.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L74"},"def":{"name":"lookup_id","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"if @door_number_lookup\n (status?(String, locker_id.downcase)) || locker_id\nelse\n locker_id\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L269"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@door_number_lookup = (setting?(Bool, :door_number_lookup)) || false\n@user_id_key = (setting?(String, :user_id_key)) || \"email\"\n@floor_mappings = (setting(Hash(String, Mapping), :vecos_floor_mappings)).transform_values(&.section_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\nif @door_number_lookup\n schedule.clear\n schedule.in((rand(10)).seconds) do\n @floor_mappings.each_key do |zone_id|\n device_locations(zone_id)\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Vecos/ReleezmeLocations/Mapping","path":"Vecos/ReleezmeLocations/Mapping.html","kind":"struct","full_name":"Vecos::ReleezmeLocations::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos/ReleezmeLocations","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L60"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}}]},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers/PlaceLocker","path":"PlaceOS/Driver/Interface/Lockers/PlaceLocker.html","kind":"class","full_name":"PlaceOS::Driver::Interface::Lockers::PlaceLocker","name":"PlaceLocker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/placeos-driver/src/placeos-driver/interface/lockers.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/placeos-driver/src/placeos-driver/interface/lockers.cr#L9"},{"filename":"src/vecos/releezme_locations.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},"doc":"inherit this to extend with additional locker information","summary":"

inherit this to extend with additional locker information

","constructors":[{"html_id":"new(locker:Vecos::Locker,allocated:Bool=false,building:Nil|String=nil,level:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"args_string":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","args_html":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L87"},"def":{"name":"new","args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(locker, allocated, building, level)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(booking:Vecos::Booking)-class-method","name":"new","abstract":false,"args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"args_string":"(booking : Vecos::Booking)","args_html":"(booking : Vecos::Booking)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L106"},"def":{"name":"new","args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"visibility":"Public","body":"_ = allocate\n_.initialize(booking)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"group_id:String|Nil-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L116"},"def":{"name":"group_id","return_type":"String | ::Nil","visibility":"Public","body":"@group_id"}},{"html_id":"locker_uid:String|Nil-instance-method","name":"locker_uid","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L117"},"def":{"name":"locker_uid","return_type":"String | ::Nil","visibility":"Public","body":"@locker_uid"}}]}]},{"html_id":"drivers/Vecos/Section","path":"Vecos/Section.html","kind":"struct","full_name":"Vecos::Section","name":"Section","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/section.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/section.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L14"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Vergesense","path":"Vergesense.html","kind":"module","full_name":"Vergesense","name":"Vergesense","abstract":false,"locations":[{"filename":"src/vergesense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Vergesense Data Models","summary":"

Vergesense Data Models

","types":[{"html_id":"drivers/Vergesense/Building","path":"Vergesense/Building.html","kind":"struct","full_name":"Vergesense::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L10"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"address=(address:String|Nil)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"args_string":"(address : String | Nil)","args_html":"(address : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L10"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@address = address"}},{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L8"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Vergesense/BuildingWithFloors","path":"Vergesense/BuildingWithFloors.html","kind":"struct","full_name":"Vergesense::BuildingWithFloors","name":"BuildingWithFloors","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L17"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"floors=(floors:Array(Floor))-instance-method","name":"floors=","abstract":false,"args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"args_string":"(floors : Array(Floor))","args_html":"(floors : Array(Floor))","location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L17"},"def":{"name":"floors=","args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"visibility":"Public","body":"@floors = floors"}}]},{"html_id":"drivers/Vergesense/Environment","path":"Vergesense/Environment.html","kind":"struct","full_name":"Vergesense::Environment","name":"Environment","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"humidity:Sensor-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L43"},"def":{"name":"humidity","return_type":"Sensor","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:Sensor)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"args_string":"(humidity : Sensor)","args_html":"(humidity : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L43"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"iaq:Sensor|Nil-instance-method","name":"iaq","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L44"},"def":{"name":"iaq","return_type":"Sensor | ::Nil","visibility":"Public","body":"@iaq"}},{"html_id":"iaq=(iaq:Sensor|Nil)-instance-method","name":"iaq=","abstract":false,"args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"args_string":"(iaq : Sensor | Nil)","args_html":"(iaq : Sensor | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L44"},"def":{"name":"iaq=","args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"visibility":"Public","body":"@iaq = iaq"}},{"html_id":"sensor:String-instance-method","name":"sensor","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L40"},"def":{"name":"sensor","return_type":"String","visibility":"Public","body":"@sensor"}},{"html_id":"sensor=(sensor:String)-instance-method","name":"sensor=","abstract":false,"args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"args_string":"(sensor : String)","args_html":"(sensor : String)","location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L40"},"def":{"name":"sensor=","args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"visibility":"Public","body":"@sensor = sensor"}},{"html_id":"temperature:Sensor-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L45"},"def":{"name":"temperature","return_type":"Sensor","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Sensor)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"args_string":"(temperature : Sensor)","args_html":"(temperature : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L45"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/Floor","path":"Vergesense/Floor.html","kind":"struct","full_name":"Vergesense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L25"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L25"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"floor_ref_id:String-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id","return_type":"String","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"args_string":"(floor_ref_id : String)","args_html":"(floor_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L27"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L27"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/Vergesense/Geometry","path":"Vergesense/Geometry.html","kind":"struct","full_name":"Vergesense::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"coordinates:Array(Array(Array(Float64)))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L95"},"def":{"name":"coordinates","return_type":"Array(Array(Array(Float64)))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Array(Array(Float64))))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"args_string":"(coordinates : Array(Array(Array(Float64))))","args_html":"(coordinates : Array(Array(Array(Float64))))","location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L95"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L94"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L94"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Vergesense/LocationService","path":"Vergesense/LocationService.html","kind":"class","full_name":"Vergesense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L90"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L95"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfloor = @occupancy_mappings[zone_id]?\nif floor\nelse\n return [] of Nil\nend\ndesk_types = @desk_space_types\nfloor.spaces.compact_map do |space|\n loc_type = space.space_type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n people_count = space.people.try(&.count)\n if @return_empty_spaces || (people_count && people_count > 0)\n if env = space.environment\n humidity = env.humidity.value\n temperature = env.temperature.value\n iaq = env.iaq.try(&.value)\n end\n {location: loc_type, at_location: people_count || 0, map_id: space.name, level: zone_id, building: @building_mappings[zone_id]?, capacity: space.capacity, vergesense_space_id: space.ref_id, vergesense_space_type: space.space_type, area_humidity: humidity, area_temperature: temperature, area_air_quality: iaq, signs_of_life: space.signs_of_life}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L80"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vergesense/location_service.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L85"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(String), :desk_space_types)) || [\"desk\"]\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.values.map do |z|\n level = z[:level_id]\n @building_mappings[level] = z[:building_id]\n level\nend\nbind_floor_status\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L138"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id\n else\n return nil\n end\n zone_id, _, space_id = mac.rpartition('-')\n if zone_id.empty? || space_id.empty?\n return nil\n end\n floor = @occupancy_mappings[zone_id]?\n if floor\n else\n return nil\n end\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(zone_id, floor, floor_space, :people_count)\n when \"presence\"\n build_sensor_details(zone_id, floor, floor_space, :presence)\n when \"humidity\"\n build_sensor_details(zone_id, floor, floor_space, :humidity)\n when \"temp\"\n build_sensor_details(zone_id, floor, floor_space, :temperature)\n when \"air\"\n build_sensor_details(zone_id, floor, floor_space, :air_quality)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/vergesense/location_service.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L172"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n level_zone, _, space_id = mac.rpartition('-')\n if (zone_id && (zone_id != level_zone)) || space_id.empty?\n return NO_MATCH\n end\n zone_id = level_zone\nend\nif zone_id && (!(@occupancy_mappings.has_key?(zone_id)))\n return NO_MATCH\nend\nif space_id\n floor = @occupancy_mappings[zone_id]\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return NO_MATCH\n end\n spaces = [{zone_id, floor, floor_space}]\nelse\n if zone_id\n floor = @occupancy_mappings[zone_id]\n spaces = floor.spaces.map do |space|\n {zone_id, floor, space}\n end\n else\n spaces = @occupancy_mappings.flat_map do |__arg2|\n zone = __arg2[0]\n floor = __arg2[1]\n floor.spaces.map do |space|\n {zone, floor, space}\n end\n end\n end\nend\nif sensor_type\n spaces.compact_map do |__arg3|\n zone = __arg3[0]\n floor = __arg3[1]\n space = __arg3[2]\n build_sensor_details(zone.not_nil!, floor, space, sensor_type)\n end\nelse\n spaces.flat_map do |__arg4|\n zone = __arg4[0]\n floor = __arg4[1]\n space = __arg4[2]\n space_sensors(zone.not_nil!, floor, space)\n end.compact\nend\n"}}]},{"html_id":"drivers/Vergesense/MqttExport","path":"Vergesense/MqttExport.html","kind":"class","full_name":"Vergesense::MqttExport","name":"MqttExport","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/mqtt_export.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L46"},"def":{"name":"inspect_state","visibility":"Public","body":"{vergesense_subscriptions: @subscriptions, people_counts: @previous_counts}"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L31"},"def":{"name":"on_update","visibility":"Public","body":"@mqtt_root_topic = (setting(String, :mqtt_root_topic)) || \"/t/root-topic\"\n@floors_to_export = (setting(Array(String), :floors_to_export)) || ([] of String)\n@debug = (setting(Bool, :debug)) || false\nsubscriptions.clear\n@subscriptions = 0\n@floors_to_export.each do |floor|\n system.subscribe(:Vergesense_1, floor) do |_subscription, vergesense_floor_json|\n vergesense_to_mqtt(Floor.from_json(vergesense_floor_json))\n end\n @subscriptions = @subscriptions + 1\nend\n"}}]},{"html_id":"drivers/Vergesense/People","path":"Vergesense/People.html","kind":"struct","full_name":"Vergesense::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:UInt32|Nil-instance-method","name":"count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L101"},"def":{"name":"count","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"count=(count:UInt32|Nil)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"args_string":"(count : UInt32 | Nil)","args_html":"(count : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L101"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@count = count"}}]},{"html_id":"drivers/Vergesense/Report","path":"Vergesense/Report.html","kind":"struct","full_name":"Vergesense::Report","name":"Report","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person_count:Int32|Nil-instance-method","name":"person_count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L52"},"def":{"name":"person_count","return_type":"Int32 | ::Nil","visibility":"Public","body":"@person_count"}},{"html_id":"person_count=(person_count:Int32|Nil)-instance-method","name":"person_count=","abstract":false,"args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"args_string":"(person_count : Int32 | Nil)","args_html":"(person_count : Int32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L52"},"def":{"name":"person_count=","args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@person_count = person_count"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L51"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L51"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/RoomSensor","path":"Vergesense/RoomSensor.html","kind":"class","full_name":"Vergesense::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"if (value = @floor_name).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#floor_name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_name?:String|Nil-instance-method","name":"floor_name?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsystem.subscribe(:Vergesense, 1, \"init_complete\") do |_sub, value|\n if value == \"true\"\n subscribe_to_sensor\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/vergesense/room_sensor.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L100"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"verg-#{@space_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nwhen \"humidity\"\n build_sensor_details(:humidity)\nwhen \"temperature\"\n build_sensor_details(:temperature)\nwhen \"air_quality\"\n build_sensor_details(:air_quality)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/vergesense/room_sensor.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L81"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"verg-#{@space_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"space:Space-instance-method","name":"space","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space","return_type":"Space","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:Space|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space?","return_type":"Space | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/Vergesense/Sensor","path":"Vergesense/Sensor.html","kind":"struct","full_name":"Vergesense::Sensor","name":"Sensor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"units:String-instance-method","name":"units","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L33"},"def":{"name":"units","return_type":"String","visibility":"Public","body":"@units"}},{"html_id":"units=(units:String)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"String"}],"args_string":"(units : String)","args_html":"(units : String)","location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L33"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"String"}],"visibility":"Public","body":"@units = units"}},{"html_id":"value:Float64-instance-method","name":"value","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L34"},"def":{"name":"value","return_type":"Float64","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Float64)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64"}],"args_string":"(value : Float64)","args_html":"(value : Float64)","location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L34"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Float64"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Vergesense/Space","path":"Vergesense/Space.html","kind":"class","full_name":"Vergesense::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String|Nil-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String|Nil)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"args_string":"(building_ref_id : String | Nil)","args_html":"(building_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L64"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L64"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"environment:Environment|Nil-instance-method","name":"environment","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L69"},"def":{"name":"environment","return_type":"Environment | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:Environment|Nil)-instance-method","name":"environment=","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"args_string":"(environment : Environment | Nil)","args_html":"(environment : Environment | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L69"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"floor_key-instance-method","name":"floor_key","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L82"},"def":{"name":"floor_key","visibility":"Public","body":"\"#{building_ref_id}-#{floor_ref_id}\".strip"}},{"html_id":"floor_ref_id:String|Nil-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String|Nil)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"args_string":"(floor_ref_id : String | Nil)","args_html":"(floor_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"last_reports:Array(Report)|Nil-instance-method","name":"last_reports","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L68"},"def":{"name":"last_reports","return_type":"Array(Report) | ::Nil","visibility":"Public","body":"@last_reports"}},{"html_id":"last_reports=(last_reports:Array(Report)|Nil)-instance-method","name":"last_reports=","abstract":false,"args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"args_string":"(last_reports : Array(Report) | Nil)","args_html":"(last_reports : Array(Report) | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L68"},"def":{"name":"last_reports=","args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"visibility":"Public","body":"@last_reports = last_reports"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"motion_detected:Bool|Nil-instance-method","name":"motion_detected","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected","return_type":"Bool | ::Nil","visibility":"Public","body":"@motion_detected"}},{"html_id":"motion_detected=(motion_detected:Bool|Nil)-instance-method","name":"motion_detected=","abstract":false,"args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"args_string":"(motion_detected : Bool | Nil)","args_html":"(motion_detected : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected=","args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@motion_detected = motion_detected"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L63"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L63"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"people:People|Nil-instance-method","name":"people","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L67"},"def":{"name":"people","return_type":"People | ::Nil","visibility":"Public","body":"@people"}},{"html_id":"people=(people:People|Nil)-instance-method","name":"people=","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"args_string":"(people : People | Nil)","args_html":"(people : People | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L67"},"def":{"name":"people=","args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"visibility":"Public","body":"@people = people"}},{"html_id":"ref_id-instance-method","name":"ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L86"},"def":{"name":"ref_id","visibility":"Public","body":"(self.space_ref_id || self.floor_ref_id) || self.space_type"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"signs_of_life?:Bool|Nil-instance-method","name":"signs_of_life?","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L73"},"def":{"name":"signs_of_life?","return_type":"Bool | ::Nil","visibility":"Public","body":"if report = last_reports.try(&.first?)\n if report.timestamp >= 2.hours.ago\n report.signs_of_life\n end\nend"}},{"html_id":"space_ref_id:String|Nil-instance-method","name":"space_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_ref_id"}},{"html_id":"space_ref_id=(space_ref_id:String|Nil)-instance-method","name":"space_ref_id=","abstract":false,"args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"args_string":"(space_ref_id : String | Nil)","args_html":"(space_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id=","args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_ref_id = space_ref_id"}},{"html_id":"space_type:String|Nil-instance-method","name":"space_type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L62"},"def":{"name":"space_type","return_type":"String | ::Nil","visibility":"Public","body":"@space_type"}},{"html_id":"space_type=(space_type:String|Nil)-instance-method","name":"space_type=","abstract":false,"args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"args_string":"(space_type : String | Nil)","args_html":"(space_type : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L62"},"def":{"name":"space_type=","args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_type = space_type"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L70"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time|Nil)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"args_string":"(timestamp : Time | Nil)","args_html":"(timestamp : Time | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L70"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/VergesenseAPI","path":"Vergesense/VergesenseAPI.html","kind":"class","full_name":"Vergesense::VergesenseAPI","name":"VergesenseAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/vergesense_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_key(space_id:String)-instance-method","name":"floor_key","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L85"},"def":{"name":"floor_key","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@spaces[space_id]"}},{"html_id":"init_sync-instance-method","name":"init_sync","doc":"Performs initial sync by loading buildings / floors / spaces","summary":"

Performs initial sync by loading buildings / floors / spaces

","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L45"},"def":{"name":"init_sync","visibility":"Public","body":"begin\n @sync_lock.synchronize do\n init_buildings\n if @buildings\n init_floors\n init_spaces\n init_floors_status\n self[\"init_complete\"] = true\n end\n end\nrescue e\n logger.error do\n \"failed to perform vergesense API sync\\n#{e.inspect_with_backtrace}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.in(200.milliseconds) do\n init_sync\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :vergesense_api_key)\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@poll_every = (setting?(Int32, :poll_every)).try(&.seconds)\nschedule.clear\nif poll_time = @poll_every\n schedule.every(poll_time) do\n init_sync\n end\nend\n"}},{"html_id":"space_report_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"space_report_api","doc":"Webhook endpoint for space_report API, expects version 2","summary":"

Webhook endpoint for space_report API, expects version 2

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L65"},"def":{"name":"space_report_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"space_report API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nbegin\n remote_space = Space.from_json(body)\n logger.debug do\n \"parsed vergesense payload\"\n end\n update_floor_space(remote_space)\n update_single_floor_status(remote_space.floor_key, @floors[remote_space.floor_key]?)\nrescue e\n logger.error do\n \"failed to parse vergesense space_report API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]}]},{"html_id":"drivers/Whispir","path":"Whispir.html","kind":"module","full_name":"Whispir","name":"Whispir","abstract":false,"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Whispir/Messages","path":"Whispir/Messages.html","kind":"class","full_name":"Whispir::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/Whispir","kind":"module","full_name":"Whispir","name":"Whispir"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/whispir/messages.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L33"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponse = post(\"/messages?apikey=#{@api_key}\", body: {to: phone_numbers.join(\";\"), subject: \"PlaceOS Notification\", body: message}.to_json, headers: {\"Content-Type\" => \"application/vnd.whispir.message-v1+json\", \"Accept\" => \"application/vnd.whispir.message-v1+json\", \"x-api-key\" => @api_key})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nlocation = response.headers[\"Location\"]?\nlogger.debug do\n \"message sent: #{location}\"\nend\nlocation\n"}}]}]},{"html_id":"drivers/WilliamsAV","path":"WilliamsAV.html","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV","abstract":false,"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM","path":"WilliamsAV/WaveCastFM.html","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TYPES","name":"TYPES","value":"{Command::TDU8_REBOOT => Type::TT_U8, Command::TDU8_RESTORE_DEFAULTS => Type::TT_U8, Command::TDU8_VU_METER_VALUE => Type::TT_U8, Command::TDU8_INPUT_GAIN => Type::TT_U8, Command::TDU8_INPUT_SOURCE => Type::TT_U8, Command::TDU8_PRESET => Type::TT_U8, Command::TDU8_HIGH_PASS => Type::TT_U8, Command::TDU8_LOW_PASS => Type::TT_U8, Command::TDU8_COMPRESSION => Type::TT_U8, Command::TDU8_USE_DHCP => Type::TT_U8, Command::TDU8_AUDIO_TX_MODE => Type::TT_U8, Command::TDU8_TTL => Type::TT_U8, Command::TDU8_SECURE_MODE => Type::TT_U8, Command::TDU8_PANEL_LOCK => Type::TT_U8, Command::TDU32_RF_TIMEOUT => Type::TT_U32, Command::TDU8_RF_CHANNEL => Type::TT_U8, Command::TDU8_RF_17_CHANNEL_MODE => Type::TT_U8, Command::TDU8_RF_POWER => Type::TT_U8, Command::TDSTR_SERVER_NAME => Type::TT_STRING, Command::TDSTR_STATIC_IP_ADDR => Type::TT_STRING, Command::TDSTR_STATIC_SUBNET_MASK => Type::TT_STRING, Command::TDSTR_STATIC_GATEWAY_ADDR => Type::TT_STRING, Command::TDSTR_MULTICAST_ADDR => Type::TT_STRING, Command::TDSTR_JOIN_CODE => Type::TT_STRING}"}],"namespace":{"html_id":"drivers/WilliamsAV","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"query_state"}},{"html_id":"enable_join_code(state:Bool)-instance-method","name":"enable_join_code","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L161"},"def":{"name":"enable_join_code","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_SECURE_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"input_gain(value:UInt8)-instance-method","name":"input_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L187"},"def":{"name":"input_gain","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 50_u8)\nwrite(Command::TDU8_INPUT_GAIN, value)\n"}},{"html_id":"input_source(value:InputSource)-instance-method","name":"input_source","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"args_string":"(value : InputSource)","args_html":"(value : InputSource)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L202"},"def":{"name":"input_source","args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"visibility":"Public","body":"write(Command::TDU8_INPUT_SOURCE, value.to_u8)"}},{"html_id":"lock_front_panel(state:Bool)-instance-method","name":"lock_front_panel","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L230"},"def":{"name":"lock_front_panel","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_PANEL_LOCK, state ? 1_u8 : 0_u8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute) do\n query_state\nend\n"}},{"html_id":"preset(value:Preset)-instance-method","name":"preset","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Preset"}],"args_string":"(value : Preset)","args_html":"(value : Preset)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L214"},"def":{"name":"preset","args":[{"name":"value","external_name":"value","restriction":"Preset"}],"visibility":"Public","body":"write(Command::TDU8_PRESET, value.to_u8)"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L92"},"def":{"name":"query_state","visibility":"Public","body":"response = get(\"/TBL-READ?All\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\ncount = 0\n(response.body.split('\\n')).each do |line|\n if line.presence\n else\n next\n end\n parts = (line.split(\",\")).map!(&.strip)\n begin\n type = Type.parse(parts[0])\n command = (Command.parse?(parts[1])) || parts[1]\n value_raw = parts[2]\n value = case type\n in Type::TT_FLOAT\n value_raw.to_f\n in Type::TT_U8, Type::TT_U32, Type::TT_S8, Type::TT_S32\n value_raw.to_i\n in Type::TT_STRING\n value_raw\n end\n set_status(command, value)\n count = count + 1\n rescue error\n raise(\"error parsing response line\\n#{error.inspect_with_backtrace}\")\n end\nend\n\"#{count} values updated\"\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L171"},"def":{"name":"reboot","visibility":"Public","body":"write(Command::TDU8_REBOOT, 1_u8)"}},{"html_id":"restore_defaults-instance-method","name":"restore_defaults","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L176"},"def":{"name":"restore_defaults","visibility":"Public","body":"write(Command::TDU8_RESTORE_DEFAULTS, 1_u8)"}},{"html_id":"set_join_code(pin:String)-instance-method","name":"set_join_code","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L166"},"def":{"name":"set_join_code","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_JOIN_CODE, pin)"}},{"html_id":"set_multicast_address(ip_address:String)-instance-method","name":"set_multicast_address","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L235"},"def":{"name":"set_multicast_address","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_MULTICAST_ADDR, ip_address)"}},{"html_id":"set_ttl(value:UInt8)-instance-method","name":"set_ttl","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L224"},"def":{"name":"set_ttl","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 30_u8)\nwrite(Command::TDU8_TTL, value)\n"}},{"html_id":"set_vu_meter(value:UInt8,overload:Bool=false)-instance-method","name":"set_vu_meter","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"args_string":"(value : UInt8, overload : Bool = false)","args_html":"(value : UInt8, overload : Bool = false)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L181"},"def":{"name":"set_vu_meter","args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"visibility":"Public","body":"if overload\nelse\n value = value.clamp(0_u8, 9_u8)\nend\nwrite(Command::TDU8_VU_METER_VALUE, value)\n"}},{"html_id":"transmit_multicast(state:Bool)-instance-method","name":"transmit_multicast","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L219"},"def":{"name":"transmit_multicast","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_AUDIO_TX_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"write(command:Command,value:UInt8|UInt32|String)-instance-method","name":"write","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"args_string":"(command : Command, value : UInt8 | UInt32 | String)","args_html":"(command : Command, value : UInt8 | UInt32 | String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L145"},"def":{"name":"write","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"visibility":"Public","body":"body_data = URI::Params.build do |form|\n form.add(\"type\", TYPES[command].to_s)\n form.add(\"id\", command.to_s)\n form.add(\"value\", value.to_s)\nend.to_s\nlogger.debug do\n \"updating setting: #{body_data}\"\nend\nresponse = post(\"/TBL-WRITE\", body: body_data)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nset_status(command, value)\n"}}],"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM/Command","path":"WilliamsAV/WaveCastFM/Command.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TDU8_REBOOT","name":"TDU8_REBOOT","value":"0"},{"id":"TDU8_RESTORE_DEFAULTS","name":"TDU8_RESTORE_DEFAULTS","value":"1"},{"id":"TDU8_VU_METER_VALUE","name":"TDU8_VU_METER_VALUE","value":"2"},{"id":"TDU8_INPUT_GAIN","name":"TDU8_INPUT_GAIN","value":"3"},{"id":"TDU8_INPUT_SOURCE","name":"TDU8_INPUT_SOURCE","value":"4"},{"id":"TDU8_PRESET","name":"TDU8_PRESET","value":"5"},{"id":"TDU8_HIGH_PASS","name":"TDU8_HIGH_PASS","value":"6"},{"id":"TDU8_LOW_PASS","name":"TDU8_LOW_PASS","value":"7"},{"id":"TDU8_COMPRESSION","name":"TDU8_COMPRESSION","value":"8"},{"id":"TDU8_USE_DHCP","name":"TDU8_USE_DHCP","value":"9"},{"id":"TDU8_AUDIO_TX_MODE","name":"TDU8_AUDIO_TX_MODE","value":"10"},{"id":"TDU8_TTL","name":"TDU8_TTL","value":"11"},{"id":"TDU8_SECURE_MODE","name":"TDU8_SECURE_MODE","value":"12"},{"id":"TDU8_PANEL_LOCK","name":"TDU8_PANEL_LOCK","value":"13"},{"id":"TDU32_RF_TIMEOUT","name":"TDU32_RF_TIMEOUT","value":"14"},{"id":"TDU8_RF_CHANNEL","name":"TDU8_RF_CHANNEL","value":"15"},{"id":"TDU8_RF_17_CHANNEL_MODE","name":"TDU8_RF_17_CHANNEL_MODE","value":"16"},{"id":"TDU8_RF_POWER","name":"TDU8_RF_POWER","value":"17"},{"id":"TDSTR_SERVER_NAME","name":"TDSTR_SERVER_NAME","value":"18"},{"id":"TDSTR_STATIC_IP_ADDR","name":"TDSTR_STATIC_IP_ADDR","value":"19"},{"id":"TDSTR_STATIC_SUBNET_MASK","name":"TDSTR_STATIC_SUBNET_MASK","value":"20"},{"id":"TDSTR_STATIC_GATEWAY_ADDR","name":"TDSTR_STATIC_GATEWAY_ADDR","value":"21"},{"id":"TDSTR_MULTICAST_ADDR","name":"TDSTR_MULTICAST_ADDR","value":"22"},{"id":"TDSTR_JOIN_CODE","name":"TDSTR_JOIN_CODE","value":"23"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tdstr_join_code?-instance-method","name":"tdstr_join_code?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L53"},"def":{"name":"tdstr_join_code?","visibility":"Public","body":"self == TDSTR_JOIN_CODE"}},{"html_id":"tdstr_multicast_addr?-instance-method","name":"tdstr_multicast_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L52"},"def":{"name":"tdstr_multicast_addr?","visibility":"Public","body":"self == TDSTR_MULTICAST_ADDR"}},{"html_id":"tdstr_server_name?-instance-method","name":"tdstr_server_name?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L48"},"def":{"name":"tdstr_server_name?","visibility":"Public","body":"self == TDSTR_SERVER_NAME"}},{"html_id":"tdstr_static_gateway_addr?-instance-method","name":"tdstr_static_gateway_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L51"},"def":{"name":"tdstr_static_gateway_addr?","visibility":"Public","body":"self == TDSTR_STATIC_GATEWAY_ADDR"}},{"html_id":"tdstr_static_ip_addr?-instance-method","name":"tdstr_static_ip_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L49"},"def":{"name":"tdstr_static_ip_addr?","visibility":"Public","body":"self == TDSTR_STATIC_IP_ADDR"}},{"html_id":"tdstr_static_subnet_mask?-instance-method","name":"tdstr_static_subnet_mask?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L50"},"def":{"name":"tdstr_static_subnet_mask?","visibility":"Public","body":"self == TDSTR_STATIC_SUBNET_MASK"}},{"html_id":"tdu32_rf_timeout?-instance-method","name":"tdu32_rf_timeout?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L44"},"def":{"name":"tdu32_rf_timeout?","visibility":"Public","body":"self == TDU32_RF_TIMEOUT"}},{"html_id":"tdu8_audio_tx_mode?-instance-method","name":"tdu8_audio_tx_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L40"},"def":{"name":"tdu8_audio_tx_mode?","visibility":"Public","body":"self == TDU8_AUDIO_TX_MODE"}},{"html_id":"tdu8_compression?-instance-method","name":"tdu8_compression?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L38"},"def":{"name":"tdu8_compression?","visibility":"Public","body":"self == TDU8_COMPRESSION"}},{"html_id":"tdu8_high_pass?-instance-method","name":"tdu8_high_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L36"},"def":{"name":"tdu8_high_pass?","visibility":"Public","body":"self == TDU8_HIGH_PASS"}},{"html_id":"tdu8_input_gain?-instance-method","name":"tdu8_input_gain?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L33"},"def":{"name":"tdu8_input_gain?","visibility":"Public","body":"self == TDU8_INPUT_GAIN"}},{"html_id":"tdu8_input_source?-instance-method","name":"tdu8_input_source?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L34"},"def":{"name":"tdu8_input_source?","visibility":"Public","body":"self == TDU8_INPUT_SOURCE"}},{"html_id":"tdu8_low_pass?-instance-method","name":"tdu8_low_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L37"},"def":{"name":"tdu8_low_pass?","visibility":"Public","body":"self == TDU8_LOW_PASS"}},{"html_id":"tdu8_panel_lock?-instance-method","name":"tdu8_panel_lock?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L43"},"def":{"name":"tdu8_panel_lock?","visibility":"Public","body":"self == TDU8_PANEL_LOCK"}},{"html_id":"tdu8_preset?-instance-method","name":"tdu8_preset?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L35"},"def":{"name":"tdu8_preset?","visibility":"Public","body":"self == TDU8_PRESET"}},{"html_id":"tdu8_reboot?-instance-method","name":"tdu8_reboot?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L30"},"def":{"name":"tdu8_reboot?","visibility":"Public","body":"self == TDU8_REBOOT"}},{"html_id":"tdu8_restore_defaults?-instance-method","name":"tdu8_restore_defaults?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L31"},"def":{"name":"tdu8_restore_defaults?","visibility":"Public","body":"self == TDU8_RESTORE_DEFAULTS"}},{"html_id":"tdu8_rf_17_channel_mode?-instance-method","name":"tdu8_rf_17_channel_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L46"},"def":{"name":"tdu8_rf_17_channel_mode?","visibility":"Public","body":"self == TDU8_RF_17_CHANNEL_MODE"}},{"html_id":"tdu8_rf_channel?-instance-method","name":"tdu8_rf_channel?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L45"},"def":{"name":"tdu8_rf_channel?","visibility":"Public","body":"self == TDU8_RF_CHANNEL"}},{"html_id":"tdu8_rf_power?-instance-method","name":"tdu8_rf_power?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L47"},"def":{"name":"tdu8_rf_power?","visibility":"Public","body":"self == TDU8_RF_POWER"}},{"html_id":"tdu8_secure_mode?-instance-method","name":"tdu8_secure_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L42"},"def":{"name":"tdu8_secure_mode?","visibility":"Public","body":"self == TDU8_SECURE_MODE"}},{"html_id":"tdu8_ttl?-instance-method","name":"tdu8_ttl?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L41"},"def":{"name":"tdu8_ttl?","visibility":"Public","body":"self == TDU8_TTL"}},{"html_id":"tdu8_use_dhcp?-instance-method","name":"tdu8_use_dhcp?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L39"},"def":{"name":"tdu8_use_dhcp?","visibility":"Public","body":"self == TDU8_USE_DHCP"}},{"html_id":"tdu8_vu_meter_value?-instance-method","name":"tdu8_vu_meter_value?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L32"},"def":{"name":"tdu8_vu_meter_value?","visibility":"Public","body":"self == TDU8_VU_METER_VALUE"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/InputSource","path":"WilliamsAV/WaveCastFM/InputSource.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::InputSource","name":"InputSource","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L192"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"AnalogLineIn","name":"AnalogLineIn","value":"1"},{"id":"Mic","name":"Mic","value":"2"},{"id":"PhantomMic","name":"PhantomMic","value":"3"},{"id":"AES","name":"AES","value":"4"},{"id":"S_PDIF","name":"S_PDIF","value":"5"},{"id":"TestTone","name":"TestTone","value":"6"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"aes?-instance-method","name":"aes?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L196"},"def":{"name":"aes?","visibility":"Public","body":"self == AES"}},{"html_id":"analog_line_in?-instance-method","name":"analog_line_in?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L193"},"def":{"name":"analog_line_in?","visibility":"Public","body":"self == AnalogLineIn"}},{"html_id":"mic?-instance-method","name":"mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L194"},"def":{"name":"mic?","visibility":"Public","body":"self == Mic"}},{"html_id":"phantom_mic?-instance-method","name":"phantom_mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L195"},"def":{"name":"phantom_mic?","visibility":"Public","body":"self == PhantomMic"}},{"html_id":"s_pdif?-instance-method","name":"s_pdif?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L197"},"def":{"name":"s_pdif?","visibility":"Public","body":"self == S_PDIF"}},{"html_id":"test_tone?-instance-method","name":"test_tone?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L198"},"def":{"name":"test_tone?","visibility":"Public","body":"self == TestTone"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Preset","path":"WilliamsAV/WaveCastFM/Preset.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Preset","name":"Preset","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L206"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Voice","name":"Voice","value":"1"},{"id":"Music","name":"Music","value":"2"},{"id":"HearingAssist","name":"HearingAssist","value":"3"},{"id":"Custom","name":"Custom","value":"4"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"custom?-instance-method","name":"custom?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L210"},"def":{"name":"custom?","visibility":"Public","body":"self == Custom"}},{"html_id":"hearing_assist?-instance-method","name":"hearing_assist?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L209"},"def":{"name":"hearing_assist?","visibility":"Public","body":"self == HearingAssist"}},{"html_id":"music?-instance-method","name":"music?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L208"},"def":{"name":"music?","visibility":"Public","body":"self == Music"}},{"html_id":"voice?-instance-method","name":"voice?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L207"},"def":{"name":"voice?","visibility":"Public","body":"self == Voice"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Type","path":"WilliamsAV/WaveCastFM/Type.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L56"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TT_FLOAT","name":"TT_FLOAT","value":"0"},{"id":"TT_U8","name":"TT_U8","value":"1"},{"id":"TT_U32","name":"TT_U32","value":"2"},{"id":"TT_S8","name":"TT_S8","value":"3"},{"id":"TT_S32","name":"TT_S32","value":"4"},{"id":"TT_STRING","name":"TT_STRING","value":"5"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tt_float?-instance-method","name":"tt_float?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L57"},"def":{"name":"tt_float?","visibility":"Public","body":"self == TT_FLOAT"}},{"html_id":"tt_s32?-instance-method","name":"tt_s32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L61"},"def":{"name":"tt_s32?","visibility":"Public","body":"self == TT_S32"}},{"html_id":"tt_s8?-instance-method","name":"tt_s8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L60"},"def":{"name":"tt_s8?","visibility":"Public","body":"self == TT_S8"}},{"html_id":"tt_string?-instance-method","name":"tt_string?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L62"},"def":{"name":"tt_string?","visibility":"Public","body":"self == TT_STRING"}},{"html_id":"tt_u32?-instance-method","name":"tt_u32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L59"},"def":{"name":"tt_u32?","visibility":"Public","body":"self == TT_U32"}},{"html_id":"tt_u8?-instance-method","name":"tt_u8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L58"},"def":{"name":"tt_u8?","visibility":"Public","body":"self == TT_U8"}}]}]}]},{"html_id":"drivers/Winmate","path":"Winmate.html","kind":"module","full_name":"Winmate","name":"Winmate","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Winmate/LedLightBar","path":"Winmate/LedLightBar.html","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COLOUR_LOOKUP","name":"COLOUR_LOOKUP","value":"{16 => Led::Red, 17 => Led::Green, 18 => Led::Blue}"},{"id":"COLOURS","name":"COLOURS","value":"{Led::Red => 16_u8, Led::Green => 17_u8, Led::Blue => 18_u8}"},{"id":"COMMANDS","name":"COMMANDS","value":"{set: 97_u8, get: 96_u8}"},{"id":"DEFAULT_COLOURS","name":"DEFAULT_COLOURS","value":"{\"red\" => {red: 255_u8, green: 0_u8, blue: 0_u8}, \"green\" => {red: 0_u8, green: 255_u8, blue: 0_u8}, \"blue\" => {red: 0_u8, green: 0_u8, blue: 255_u8}, \"orange\" => {red: 200_u8, green: 0_u8, blue: 0_u8}, \"off\" => {red: 0_u8, green: 0_u8, blue: 0_u8}}"}],"namespace":{"html_id":"drivers/Winmate","kind":"module","full_name":"Winmate","name":"Winmate"},"instance_methods":[{"html_id":"colour(colour:String)-instance-method","name":"colour","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"String"}],"args_string":"(colour : String)","args_html":"(colour : String)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L72"},"def":{"name":"colour","args":[{"name":"colour","external_name":"colour","restriction":"String"}],"visibility":"Public","body":"colours = @colours[colour]\nself[:colour_name] = colour\ncolours.each do |component, intensity|\n led = Led.parse(component.to_s)\n set(led, intensity)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L53"},"def":{"name":"connected","visibility":"Public","body":"@buffer = String.new\ntransport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n bytes[0].to_i\nend\ndo_poll\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Polling Winmate LED\"\n end\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L68"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L121"},"def":{"name":"do_poll","visibility":"Public","body":"query(:red, priority: 0)\nquery(:green, priority: 0)\nquery(:blue, priority: 0)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"colours = (setting?(Colours, :colours)) || Colours.new\n@colours = colours.merge(DEFAULT_COLOURS)\n"}},{"html_id":"query(led:Led,**options)-instance-method","name":"query","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"}],"args_string":"(led : Led, **options)","args_html":"(led : Led, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L104"},"def":{"name":"query","args":[{"name":"led","external_name":"led","restriction":"Led"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(**options.merge({command: :get, colour: led}))"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L127"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received: #{bytes.hexstring}\"\nend\nif check_checksum(bytes)\nelse\n logger.warn do\n \"Error processing response. Possibly incorrect baud rate configured\"\n end\n return task.try(&.abort)\nend\nindicator = bytes[1]\ncolour = COLOUR_LOOKUP[indicator]?\nif colour\n self[colour.to_s.downcase] = bytes[2]\n task.try(&.success(bytes[2]))\nelse\n if indicator == 12\n else\n return task.try(&.abort)\n end\n task.try(&.success)\nend\n"}},{"html_id":"set(led:Led,value:UInt8,**options)-instance-method","name":"set","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(led : Led, value : UInt8, **options)","args_html":"(led : Led, value : UInt8, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L111"},"def":{"name":"set","args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[led.to_s.downcase] = value\ndo_send(**options.merge({command: :set, colour: led, value: value}))\n"}}],"types":[{"html_id":"drivers/Winmate/LedLightBar/Colours","path":"Winmate/LedLightBar/Colours.html","kind":"alias","full_name":"Winmate::LedLightBar::Colours","name":"Colours","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, NamedTuple(red: UInt8, green: UInt8, blue: UInt8))","aliased_html":"Hash(String, {red: UInt8, green: UInt8, blue: UInt8})","const":false,"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"}},{"html_id":"drivers/Winmate/LedLightBar/Led","path":"Winmate/LedLightBar/Led.html","kind":"enum","full_name":"Winmate::LedLightBar::Led","name":"Led","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L84"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L83"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L82"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]}]}]},{"html_id":"drivers/Xovis","path":"Xovis.html","kind":"module","full_name":"Xovis","name":"Xovis","abstract":false,"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Xovis/SensorAPI","path":"Xovis/SensorAPI.html","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{\"line-counts\" => SensorType::QueueSize, \"zone-occupancy-counts\" => SensorType::PeopleCount, \"zone-in-out-counts\" => SensorType::Counter}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Xovis","kind":"module","full_name":"Xovis","name":"Xovis"},"instance_methods":[{"html_id":"capacity_data-instance-method","name":"capacity_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L150"},"def":{"name":"capacity_data","visibility":"Public","body":"response = get(\"/api/info/persistence\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlast_checked = Time.utc.to_unix\n{\"line\", \"zone-occupancy\", \"zone-in-out\"}.each do |count_name|\n xml_key_name = \"//count-#{count_name}-storage\"\n if count_data = (document.xpath_nodes(xml_key_name)).first?\n count_type = (count_name.split(\"-\", 2))[0]\n capacity = xpath_text(document, \"#{xml_key_name}/capacity\", &.to_i)\n key = \"#{count_name}-counts\"\n @state[key] = self[key] = (document.xpath_nodes(\"#{xml_key_name}/count-#{count_type}s/count-#{count_type}\")).map_with_index do |zone, index|\n attrs = {} of String => String | Int32 | Int64 | Nil\n zone.children.each do |child|\n content = child.text.strip\n attrs[child.name] = case child.name\n when \"entry-count\"\n content.to_i\n when \"first-entry\", \"last-entry\"\n content.empty? ? nil : (Time.parse!(content, \"%Y-%m-%dT%H:%M:%S%z\")).to_unix\n when \"text\"\n next\n else\n content\n end\n end\n last_entry = attrs[\"last-entry\"].as(Int64 | ::Nil)\n sensor = case count_name\n when \"line\"\n SensorDetail.new(SensorType::QueueSize, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"line-#{index}\", attrs[\"name\"].as(String))\n when \"zone-occupancy\"\n SensorDetail.new(SensorType::PeopleCount, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-occupancy-#{index}\", \"Occupancy #{attrs[\"name\"].as(String)}\")\n when \"zone-in-out\"\n SensorDetail.new(SensorType::Counter, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-in-out-#{index}\", \"In Out #{attrs[\"name\"].as(String)}\")\n else\n next\n end\n sensor.capacity = capacity\n sensor.last_entry = last_entry\n sensor.first_entry = attrs[\"first-entry\"].as(Int64 | ::Nil)\n sensor\n end.compact\n end\nend\ntrue\n"}},{"html_id":"count_data-instance-method","name":"count_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L130"},"def":{"name":"count_data","visibility":"Public","body":"response = get(\"/api/count-data\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlines = {} of String => NamedTuple(name: String, id: String, type: String, sensor: String, data: Hash(String, String | Int32 | Float32))\nlines_xml = document.xpath_nodes(\"//lines/line\")\nself[:lines] = lines_xml.map do |line|\n attrs = {} of String => String | Hash(String, Int32)\n counts = {} of String => Int32\n line.attributes.each do |attr|\n attrs[attr.name] = attr.content\n end\n line.children.each do |child|\n if child.name == \"text\"\n next\n end\n counts[child.name] = child.text.to_i\n end\n attrs[\"counts\"] = counts\n attrs\nend\n"}},{"html_id":"device_status-instance-method","name":"device_status","doc":"Combined `/info` and `/info/status`","summary":"

Combined /info and /info/status

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L202"},"def":{"name":"device_status","visibility":"Public","body":"response = get(\"/api/info/sensor-status\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nparse_type_info(document, \"version\")\nparse_type_info(document, \"temperature\")\nif sensor = parse_text_info(document, \"sensor\")\n @mac = sensor[\"serial-number\"]? || @mac\nend\nparse_text_info(document, \"illumination\")\nparse_text_info(document, \"configuration\")\nparse_text_info(document, \"operation\")\ntrue\n"}},{"html_id":"get_logs-instance-method","name":"get_logs","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L109"},"def":{"name":"get_logs","visibility":"Public","body":"response = get(\"/api/info/log\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining logs: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_token-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L102"},"def":{"name":"get_token","visibility":"Public","body":"response = get(\"/api/auth/token\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"is_alive?-instance-method","name":"is_alive?","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L122"},"def":{"name":"is_alive?","visibility":"Public","body":"begin\n response = get(\"/api/info/alive\", headers: {\"Accept\" => \"text/xml\"})\n check_success(response)\n true\nrescue\n false\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@poll_rate = ((setting?(Int32, :poll_rate)) || 15).seconds\n@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nquery_capacity = setting?(Bool, :query_capacity)\nquery_counts = setting?(Bool, :query_counts)\nschedule.clear\nschedule.every(@poll_rate) do\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\nschedule.every(5.minutes) do\n device_status\nend\nschedule.in(@poll_rate / 3) do\n device_status\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\n"}},{"html_id":"reset_count-instance-method","name":"reset_count","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L116"},"def":{"name":"reset_count","visibility":"Public","body":"response = get(\"/api/count-data/reset\", headers: {\"Accept\" => \"text/xml\"})\ncheck_success(response)\ntrue\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/xovis/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L58"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n return nil\n end\n index = index_str.to_i\n if sensors = @state[\"#{sensor}-counts\"]?\n sensors[index]?\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/xovis/sensor_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L85"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return @state.values.flatten.map do |__arg0|\n __arg0.as(Interface::Sensor::Detail)\n end\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << @state[key].map do |__arg1|\n __arg1.as(Interface::Sensor::Detail)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}}],"types":[{"html_id":"drivers/Xovis/SensorAPI/SensorDetail","path":"Xovis/SensorAPI/SensorDetail.html","kind":"class","full_name":"Xovis::SensorAPI::SensorDetail","name":"SensorDetail","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Xovis/SensorAPI","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"args_string":"(capacity : Int32 | Nil)","args_html":"(capacity : Int32 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"first_entry:Int64|Nil-instance-method","name":"first_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@first_entry"}},{"html_id":"first_entry=(first_entry:Int64|Nil)-instance-method","name":"first_entry=","abstract":false,"args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"args_string":"(first_entry : Int64 | Nil)","args_html":"(first_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry=","args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@first_entry = first_entry"}},{"html_id":"last_entry:Int64|Nil-instance-method","name":"last_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_entry"}},{"html_id":"last_entry=(last_entry:Int64|Nil)-instance-method","name":"last_entry=","abstract":false,"args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"args_string":"(last_entry : Int64 | Nil)","args_html":"(last_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry=","args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_entry = last_entry"}}]}]}]},{"html_id":"drivers/XYSense","path":"XYSense.html","kind":"module","full_name":"XYSense","name":"XYSense","abstract":false,"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/XYSense/LocationService","path":"XYSense/LocationService.html","kind":"class","full_name":"XYSense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/XYSense","kind":"module","full_name":"XYSense","name":"XYSense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/xy_sense/location_service.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L191"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L196"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\n@occupancy_mappings[zone_id].compact_map do |space_name, space|\n capacity = space.details.capacity\n if capacity == 1\n if space.headcount > 0\n else\n next\n end\n if location.presence && (location != \"desk\")\n next\n end\n {location: :desk, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n else\n if location.presence && (location != \"area\")\n next\n end\n {location: :area, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n end\nend\n"}},{"html_id":"floor_subscriptions-instance-method","name":"floor_subscriptions","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L138"},"def":{"name":"floor_subscriptions","visibility":"Public","body":"@floor_subscriptions.keys"}},{"html_id":"level_state_change(zone_id:String,spaces:Array(Occupancy))-instance-method","name":"level_state_change","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"args_string":"(zone_id : String, spaces : Array(Occupancy))","args_html":"(zone_id : String, spaces : Array(Occupancy))","location":{"filename":"src/xy_sense/location_service.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L161"},"def":{"name":"level_state_change","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"visibility":"Public","body":"begin\n area_occupancy = {} of String => Occupancy\n spaces.each do |space|\n space.details = @space_details[space.space_id]\n space_name = space.details.name\n if space_name\n else\n logger.warn do\n \"missing space name for id #{space.details.id}\"\n end\n next\n end\n area_occupancy[space_name] = space\n end\n @occupancy_mappings[zone_id] = area_occupancy\n area_manager.update_available({zone_id})\nrescue error\n logger.error(exception: error) do\n \"error updating level #{zone_id} space changes\"\n end\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L181"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L186"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@floor_mappings = setting(Hash(String, NamedTuple(zone_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.map do |_, detail|\n detail[:zone_id]\nend\nschedule.clear\nschedule.every(30.minutes) do\n sync_floor_states\nend\n"}},{"html_id":"sync_floor_states-instance-method","name":"sync_floor_states","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L142"},"def":{"name":"sync_floor_states","visibility":"Public","body":"logger.debug do\n \"-- updating space details...\"\nend\ndetails = update_space_details\nlogger.debug do\n \"-- details:\\n#{details}\"\nend\nlogger.debug do\n \"-- grabbing floor details...\"\nend\nxy = xy_sense\n@change_lock.synchronize do\n floor_subscriptions.each do |zone_id|\n level_state_change(zone_id, xy.status(Array(Occupancy), zone_id))\n end\nend\nlogger.debug do\n \"-- floor states synced!\"\nend\n@occupancy_mappings\n"}},{"html_id":"update_space_details-instance-method","name":"update_space_details","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L83"},"def":{"name":"update_space_details","visibility":"Public","body":"@change_lock.synchronize do\n floors = xy_sense.status(Hash(String, FloorDetails), :floors)\n space_details = {} of String => SpaceDetails\n floors.each do |floor_id, floor|\n mapping = @floor_mappings[floor_id]?\n if mapping\n else\n next\n end\n floor.spaces.each do |space|\n space_details[space.id] = space\n end\n end\n @space_details = space_details\nend"}}],"types":[{"html_id":"drivers/XYSense/LocationService/FloorDetails","path":"XYSense/LocationService/FloorDetails.html","kind":"class","full_name":"XYSense::LocationService::FloorDetails","name":"FloorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"doc":"===================================\nBindings into xy-sense data\n===================================","summary":"

=================================== Bindings into xy-sense data ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"floor_name=(floor_name:String)-instance-method","name":"floor_name=","abstract":false,"args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"args_string":"(floor_name : String)","args_html":"(floor_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name=","args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"visibility":"Public","body":"@floor_name = floor_name"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_name:String-instance-method","name":"location_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name","return_type":"String","visibility":"Public","body":"@location_name"}},{"html_id":"location_name=(location_name:String)-instance-method","name":"location_name=","abstract":false,"args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"args_string":"(location_name : String)","args_html":"(location_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name=","args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"visibility":"Public","body":"@location_name = location_name"}},{"html_id":"spaces:Array(SpaceDetails)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces","return_type":"Array(SpaceDetails)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(SpaceDetails))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"args_string":"(spaces : Array(SpaceDetails))","args_html":"(spaces : Array(SpaceDetails))","location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/XYSense/LocationService/Occupancy","path":"XYSense/LocationService/Occupancy.html","kind":"class","full_name":"XYSense::LocationService::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L64"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L65"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"collected:Time-instance-method","name":"collected","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected","return_type":"Time","visibility":"Public","body":"@collected"}},{"html_id":"collected=(collected:Time)-instance-method","name":"collected=","abstract":false,"args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"args_string":"(collected : Time)","args_html":"(collected : Time)","location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected=","args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"visibility":"Public","body":"@collected = collected"}},{"html_id":"details:SpaceDetails-instance-method","name":"details","abstract":false,"def":{"name":"details","return_type":"SpaceDetails","visibility":"Public","body":"if (value = @details).nil?\n ::raise(NilAssertionError.new(\"XYSense::LocationService::Occupancy#details cannot be nil\"))\nelse\n value\nend"}},{"html_id":"details=(details:SpaceDetails)-instance-method","name":"details=","abstract":false,"args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"args_string":"(details : SpaceDetails)","args_html":"(details : SpaceDetails)","location":{"filename":"src/xy_sense/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L75"},"def":{"name":"details=","args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"visibility":"Public","body":"@details = details"}},{"html_id":"details?:SpaceDetails|Nil-instance-method","name":"details?","abstract":false,"def":{"name":"details?","return_type":"SpaceDetails | ::Nil","visibility":"Public","body":"@details"}},{"html_id":"headcount:Int32-instance-method","name":"headcount","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount","return_type":"Int32","visibility":"Public","body":"@headcount"}},{"html_id":"headcount=(headcount:Int32)-instance-method","name":"headcount=","abstract":false,"args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"args_string":"(headcount : Int32)","args_html":"(headcount : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount=","args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"visibility":"Public","body":"@headcount = headcount"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:String)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L67"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/XYSense/LocationService/SpaceDetails","path":"XYSense/LocationService/SpaceDetails.html","kind":"class","full_name":"XYSense::LocationService::SpaceDetails","name":"SpaceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L61"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String"}],"args_string":"(category : String)","args_html":"(category : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L61"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String"}],"visibility":"Public","body":"@category = category"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L59"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]}]}]},{"html_id":"drivers/Zencontrol","path":"Zencontrol.html","kind":"module","full_name":"Zencontrol","name":"Zencontrol","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI","path":"Zencontrol/AdvancedTPI.html","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CODES","name":"ERROR_CODES","value":"{1_u8 => \"The checksum check failed\", 2_u8 => \"A short on the DALI line was detected\", 3_u8 => \"A receive error occured\", 4_u8 => \"The command in the request is unrecognised\", 176_u8 => \"The command requested relies on a paid feature that hasn't been purchsed\", 177_u8 => \"Invalid arguments supplied for the given command in the re quest\", 178_u8 => \"The command couldn't be processed\", 179_u8 => \"The queue or buffer that's required to process the command in the request\\n is full or broken\", 180_u8 => \"The command in the request may stream multiple responses back, but this\\n feature isn't available for some reason\", 181_u8 => \"The DALI related request couldn't be processed due to an error\", 182_u8 => \"There are an insufficient number of the required resource remaining service\\n the request\", 183_u8 => \"An unexpected result occurred\"}"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L61"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L103"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(170_u8, area_id.to_u8)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L81"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(173_u8, area_id.to_u8)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n logger.debug do\n \"Received: #{bytes.hexstring}\"\n end\n bytes.size < 3 ? 0 : ( bytes[2].to_i + 4)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :api_version)) || 4_u8"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L187"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\nio = IO::Memory.new(data)\nresponse = io.read_bytes(ResponseFrame)\ncase response.type\nwhen .okay?, .no_answer?\nwhen .answer?\n if (request = task.try(&.request_payload)) && (request.sequence == response.sequence)\n case request.command\n when 173_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[area.to_s] = response.bytes[0]\n when 170_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[(area.append(\"level\")).to_s] = response.bytes[0]\n else\n logger.debug do\n \"unknown answer for #{request.command.to_s(16)}\\n - req: #{request.to_slice.hexstring}\\n - resp: #{response.to_slice.hexstring}\"\n end\n end\n end\nwhen .error?\n error_code = response.bytes[0]\n error_message = ERROR_CODES[error_code]?\n logger.error do\n \"request failed with code #{error_code}, message: #{error_message}\"\n end\n return task.try(&.abort(error_message))\nend\nif request = task.try(&.request_payload)\n if request.sequence == response.sequence\n return task.try(&.success)\n else\n return\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L89"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u32\nbasic_request(162_u8, area_id.to_u8, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L70"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nself[area.to_s] = scene\nbasic_request(161_u8, area_id.to_u8, scene)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L55"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI/Area","path":"Zencontrol/AdvancedTPI/Area.html","kind":"alias","full_name":"Zencontrol::AdvancedTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"}},{"html_id":"drivers/Zencontrol/AdvancedTPI/BasicRequest","path":"Zencontrol/AdvancedTPI/BasicRequest.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::BasicRequest","name":"BasicRequest","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::BasicRequest]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"basic\", name: version, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: command, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: address, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bitfield\", name: 20, cls: Zencontrol::AdvancedTPI::BasicRequest, onlyif: nil, verify: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: nil, value: -> do\n (((((version ^ sequence) ^ command) ^ address) ^ ((data >> 16) & 255).to_u8) ^ ((data >> 8) & 255).to_u8) ^ (data & 255).to_u8\nend}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L114"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"address:UInt8-instance-method","name":"address","abstract":false,"def":{"name":"address","return_type":"UInt8","visibility":"Public","body":"@address"}},{"html_id":"address=(address:UInt8)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"args_string":"(address : UInt8)","args_html":"(address : UInt8)","def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"visibility":"Public","body":"@address = address"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"command:UInt8-instance-method","name":"command","abstract":false,"def":{"name":"command","return_type":"UInt8","visibility":"Public","body":"@command"}},{"html_id":"command=(command:UInt8)-instance-method","name":"command=","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"args_string":"(command : UInt8)","args_html":"(command : UInt8)","def":{"name":"command=","args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"visibility":"Public","body":"@command = command"}},{"html_id":"data:UInt32-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"UInt32","visibility":"Public","body":"@data"}},{"html_id":"data=(data:UInt32)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"args_string":"(data : UInt32)","args_html":"(data : UInt32)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"visibility":"Public","body":"@data = data"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"version:UInt8-instance-method","name":"version","abstract":false,"def":{"name":"version","return_type":"UInt8","visibility":"Public","body":"@version"}},{"html_id":"version=(version:UInt8)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"args_string":"(version : UInt8)","args_html":"(version : UInt8)","def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"visibility":"Public","body":"@version = version"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseFrame","path":"Zencontrol/AdvancedTPI/ResponseFrame.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::ResponseFrame","name":"ResponseFrame","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::ResponseFrame]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: ResponseType}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: size, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: bytes, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: -> do\n sum = (type.to_u8 ^ sequence) ^ size\n checksum == (bytes.reduce(sum) do |acc, i|\n i ^ acc\n end)\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L175"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"bytes:Bytes-instance-method","name":"bytes","abstract":false,"def":{"name":"bytes","return_type":"Bytes","visibility":"Public","body":"@bytes"}},{"html_id":"bytes=(bytes:Bytes)-instance-method","name":"bytes=","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"args_string":"(bytes : Bytes)","args_html":"(bytes : Bytes)","def":{"name":"bytes=","args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"visibility":"Public","body":"@bytes = bytes"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt8-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt8","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt8)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"args_string":"(size : UInt8)","args_html":"(size : UInt8)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:ResponseType-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"ResponseType","visibility":"Public","body":"@type"}},{"html_id":"type=(type:ResponseType)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"args_string":"(type : ResponseType)","args_html":"(type : ResponseType)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_response_frame(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_response_frame","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_response_frame","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::ResponseFrame = Zencontrol::AdvancedTPI::ResponseFrame.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseType","path":"Zencontrol/AdvancedTPI/ResponseType.html","kind":"enum","full_name":"Zencontrol::AdvancedTPI::ResponseType","name":"ResponseType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L167"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Okay","name":"Okay","value":"160"},{"id":"Answer","name":"Answer","value":"161"},{"id":"NoAnswer","name":"NoAnswer","value":"162"},{"id":"Error","name":"Error","value":"163"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L169"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L171"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"no_answer?-instance-method","name":"no_answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L170"},"def":{"name":"no_answer?","visibility":"Public","body":"self == NoAnswer"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L168"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Zencontrol/ClassicTPI","path":"Zencontrol/ClassicTPI.html","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BROADCAST","name":"BROADCAST","value":"Bytes[255, 255, 255, 255, 255, 255]"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L52"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L88"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[(area.append(\"level\")).to_s]?\nend"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L70"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[area.to_s]?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :version)) || 1_u8\ncontroller = setting?(String, :controller_id)\nif controller\n @controller = (controller.rjust(12, '0')).hexbytes\nelse\n @controller = BROADCAST\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L101"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L76"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u8\narea_id = ((area.id.as(UInt32)).clamp(0, 127)).to_u8\nself[(area.append(\"level\")).to_s] = level\ndo_send(area_id, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L61"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nscene = (scene.clamp(0, 15)) + 16\narea_id = ((area.id.as(UInt32)).clamp(0, 127)) + 128\nself[area.to_s] = scene\ndo_send(area_id.to_u8, scene.to_u8)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L46"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/ClassicTPI/Area","path":"Zencontrol/ClassicTPI/Area.html","kind":"alias","full_name":"Zencontrol::ClassicTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/ClassicTPI","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI"}}]}]}]}} \ No newline at end of file +{"repository_name":"drivers","body":"# PlaceOS Drivers\n\n[![CI](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml/badge.svg)](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml)\n\nManage and test [PlaceOS](https://place.technology) drivers.\n\n## Development\n\n### `harness`\n\n`harness` is a helper for easing development of PlaceOS Drivers.\n\n```\nUsage: ./harness [-h|--help] [command]\n\nHelper script for interfacing with the PlaceOS Driver spec runner\n\nCommand:\n report check all drivers' compilation status\n up starts the harness\n down stops the harness\n build builds drivers and uploads them to S3\n format formats driver code\n help display this message\n```\n\nTo spin up the test harness, clone the repository and run...\n\n```shell-session\n$ ./harness up\n```\n\nPoint a browser to [localhost:8085](http://localhost:8085), and you're good to go.\n\nWhen the environment is not in use, remember to run...\n\n```shell-session\n$ ./harness down\n```\n\nBefore committing, please run...\n\n```shell-session\n$ ./harness format\n```\n\n## Documentation\n\n- [Existing Driver Docs](https://placeos.github.io/drivers/)\n- [Writing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver)\n- [Testing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver/testing-drivers)\n- [Sending Emails](docs/guide-event-emails.md)\n- [Environment Setup](docs/setup.md)\n- [Runtime Debugging](docs/runtime-debugging.md)\n- [Directory Structure](docs/directory_structure.md)\n- [PlaceOS Spec Runner HTTP API](docs/http-api.md)\n\n## Contributing\n\n1. [Fork it](https://github.com/PlaceOS/drivers/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","program":{"html_id":"drivers/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"}],"locations":[],"repository_name":"drivers","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"CAPTURE_STATUS","name":"CAPTURE_STATUS","value":"\" \\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n 2014-02-12T15:30:00.000Z\\n 3000\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n \\n John Doe\\n \\n \\n
\\n \\n Some other capture\\n 2014-02-13T15:30:00.000Z\\n 1500\\n
Some other capture
\\n \\n \\n Steve\\n \\n \\n
\\n
\""},{"id":"DEFAULT_PASSWORD_EXCLUDE","name":"DEFAULT_PASSWORD_EXCLUDE","value":"\"0Oo1Il`'\\\\/\""},{"id":"DEFAULT_PASSWORD_LENGTH","name":"DEFAULT_PASSWORD_LENGTH","value":"6","doc":"Password defaults","summary":"

Password defaults

"},{"id":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","name":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","name":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","name":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","value":"0"},{"id":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","name":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","value":"0"},{"id":"DESK_LOC","name":"DESK_LOC","value":"{\"location\" => \"desk\", \"at_location\" => true, \"map_id\" => \"desk-4-1006\", \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"},{"id":"EXAMPLE_COLOCATION","name":"EXAMPLE_COLOCATION","value":"\"[\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1b\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 7662\\n }\\n ]\\n },\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1e\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 2386\\n }\\n ]\\n }\\n ]\""},{"id":"EXAMPLE_RESPONSE","name":"EXAMPLE_RESPONSE","value":"\"{\\\"content\\\": #{EXAMPLE_COLOCATION}}\""},{"id":"PASSWORD_LOWERCASE_CHARACTERS","name":"PASSWORD_LOWERCASE_CHARACTERS","value":"('a'..'z').to_a"},{"id":"PASSWORD_NUMBER_CHARACTERS","name":"PASSWORD_NUMBER_CHARACTERS","value":"('0'..'9').to_a"},{"id":"PASSWORD_SYMBOL_CHARACTERS","name":"PASSWORD_SYMBOL_CHARACTERS","value":"['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '{', '}', '[', ']', '|', '\\\\', ':', ';', '\"', '\\'', '<', '>', ',', '.', '?', '/', '`', '~']"},{"id":"PASSWORD_UPPERCASE_CHARACTERS","name":"PASSWORD_UPPERCASE_CHARACTERS","value":"('A'..'Z').to_a"},{"id":"RAW_GUEST_RESPONSE","name":"RAW_GUEST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Guest\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": false,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RAW_HASH_RESPONSE","name":"RAW_HASH_RESPONSE","value":"\"{\\n \\\"host\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJCWXpoYmV4W\\\",\\n \\\"short\\\": \\\"abc1234\\\"\\n }],\\n \\\"guest\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJaVVJsejNsb1\\\",\\n \\\"short\\\": \\\"def1234\\\"\\n }],\\n \\\"baseUrl\\\": \\\"https://somedomain.com/chat/\\\"\\n}\""},{"id":"RAW_HOST_RESPONSE","name":"RAW_HOST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Host\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": true,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RETVAL","name":"RETVAL","value":"\"{\\n \\\"space_id\\\":\\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"host_token\\\":\\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"guest_token\\\":\\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"host_url\\\": \\\"https://somedomain.com/chat/abc1234\\\",\\n \\\"guest_url\\\": \\\"https://somedomain.com/chat/def1234\\\"\\n}\""},{"id":"SPACES_RESPONSE","name":"SPACES_RESPONSE","value":"[{\"id\" => 96978, \"location\" => {\"id\" => 775, \"scalingFactor\" => nil, \"raw\" => true, \"policy\" => true}, \"name\" => \"WS7-01\", \"srf\" => {\"x\" => 91, \"y\" => 2169, \"z\" => 0}, \"marker\" => {\"type\" => \"CIRCLE\", \"data\" => \"20\"}, \"category\" => {\"id\" => 297, \"name\" => \"Assigned Desks\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => true, \"iconUrl\" => nil, \"colorScheme\" => \"#ffb3b3\", \"orderingIndex\" => 113}, \"sensingPolicyId\" => 247, \"department\" => {\"id\" => 498, \"name\" => \"Sales\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => nil}, \"subCategory\" => {\"id\" => 194, \"name\" => \"None\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => 194}, \"device\" => {\"id\" => 2016090160, \"displayName\" => \"1609010160\", \"updatedAt\" => nil, \"floorId\" => nil, \"shape\" => nil, \"coord\" => nil, \"blessId\" => 1609010160, \"blessQr\" => nil, \"accessedAt\" => \"2021-03-11T08:06:01.000+0000\", \"installedOn\" => nil, \"licenseeId\" => nil, \"hardware\" => nil, \"network\" => nil, \"itemId\" => nil}, \"markerUniqueId\" => \"K_2493713878097_18542\", \"live\" => false, \"capacity\" => 1, \"counter\" => \"NO_COUNTER\", \"serial\" => 1, \"locationId\" => 775, \"counted\" => true}].to_json"},{"id":"SYSTEM_STATUS","name":"SYSTEM_STATUS","value":"\" \\n 2014-02-12T15:02:19.037Z\\n \\n 3.0\\n \\n \\n Audio Only (Podcast). Balanced between file size & quality\\n Display Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n DualDisplay (Podcast/Vodcast/EchoPlayer). Optimized for file size & bandwidth\\n Dual Video (Podcast/Vodcast/EchoPlayer) -Balance between file size & quality\\n Dual Video (Podcast/Vodcast/EchoPlayer) -High Quality\\n Video Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n media\\n 2014-02-12T23:00:00.000Z\\n 3000\\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n John Doe\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n archive\\n \\n \\n \\n balanced\\n stereo\\n -6\\n 44100\\n 0\\n false\\n \\n \\n 1\\n dvi\\n 50\\n 50\\n 50\\n 10.0\\n 960\\n 720\\n true\\n true\\n \\n \\n 2\\n composite\\n 50\\n 50\\n 50\\n 29.97\\n 704\\n 480\\n true\\n false\\n ntsc\\n \\n \\n audio\\n aac\\n true\\n \\n 128000\\n lc\\n \\n \\n \\n graphics1\\n h264\\n \\n vbr\\n 736000\\n 1104000\\n base\\n 50\\n \\n \\n \\n graphics2\\n h264\\n \\n vbr\\n 1056000\\n 1584000\\n base\\n 150\\n \\n \\n \\n audio-archive\\n \\n file\\n audio.aac\\n \\n \\n \\n graphics1-archive\\n \\n file\\n display.h264\\n \\n \\n \\n graphics2-archive\\n \\n file\\n video.h264\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\""},{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"WIRELESS_LOC","name":"WIRELESS_LOC","value":"{\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => 16.764784482481577, \"y\" => 25.435735950388988, \"lng\" => 55.274935030154325, \"lat\" => 25.201036346211698, \"variance\" => 7.944837533996209, \"last_seen\" => 1601526474, \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"}],"included_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"extended_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"class_methods":[{"html_id":"create_request(mode:String,device_name:String,modbus_device:String,md5:String,file_time:String,file_descriptor:String,file_name:String,file:String|Nil)-class-method","name":"create_request","doc":"Some of these fields may not be present in every request but\nhaving them there doesn't hurt anything so why bother removing them","summary":"

Some of these fields may not be present in every request but having them there doesn't hurt anything so why bother removing them

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"args_string":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","args_html":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","location":{"filename":"src/leviton/acquisuite_spec.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite_spec.cr#L87"},"def":{"name":"create_request","args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"visibility":"Public","body":"if file.nil?\n file = \"fileplaceholder\"\nend\n\"--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODE\\\"\\n\\n#{mode}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICENAME\\\"\\n\\n#{device_name}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICE\\\"\\n\\n#{modbus_device}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MD5CHECKSUM\\\"\\n\\n#{md5}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"FILETIME\\\"\\n\\n#{file_time}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"#{file_descriptor}\\\"; filename=\\\"#{file_name}\\\"\\nContent-Type: application/octet-stream;\\n\\n#{file}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY--\\n\"\n"}},{"html_id":"generate_password(length:Int32|Nil=DEFAULT_PASSWORD_LENGTH,exclude:String|Nil=DEFAULT_PASSWORD_EXCLUDE,minimum_lowercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_LOWERCASE,minimum_uppercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_UPPERCASE,minimum_numbers:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_NUMBERS,minimum_symbols:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_SYMBOLS):String-class-method","name":"generate_password","abstract":false,"args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"args_string":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","args_html":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","location":{"filename":"src/place/password_generator_helper.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/password_generator_helper.cr#L14"},"def":{"name":"generate_password","args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"return_type":"String","visibility":"Public","body":"length || (length = DEFAULT_PASSWORD_LENGTH)\nexclude || (exclude = DEFAULT_PASSWORD_EXCLUDE)\nminimum_lowercase || (minimum_lowercase = DEFAULT_PASSWORD_MINIMUM_LOWERCASE)\nminimum_uppercase || (minimum_uppercase = DEFAULT_PASSWORD_MINIMUM_UPPERCASE)\nminimum_numbers || (minimum_numbers = DEFAULT_PASSWORD_MINIMUM_NUMBERS)\nminimum_symbols || (minimum_symbols = DEFAULT_PASSWORD_MINIMUM_SYMBOLS)\nminimums = ((minimum_lowercase + minimum_uppercase) + minimum_numbers) + minimum_symbols\nif length < minimums\n length = minimums\nend\ncharacters = [] of Char\nif minimum_lowercase > 0\n characters = PASSWORD_LOWERCASE_CHARACTERS\nend\nif minimum_uppercase > 0\n characters = characters + PASSWORD_UPPERCASE_CHARACTERS\nend\nif minimum_numbers > 0\n characters = characters + PASSWORD_NUMBER_CHARACTERS\nend\nif minimum_symbols > 0\n characters = characters + PASSWORD_SYMBOL_CHARACTERS\nend\ncharacters = characters - exclude.chars\nif characters.empty?\n characters = (PASSWORD_LOWERCASE_CHARACTERS + PASSWORD_NUMBER_CHARACTERS) - DEFAULT_PASSWORD_EXCLUDE.chars\nend\npassword = [] of Char\nminimum_lowercase.times do\n password << (PASSWORD_LOWERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_uppercase.times do\n password << (PASSWORD_UPPERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_numbers.times do\n password << (PASSWORD_NUMBER_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_symbols.times do\n password << (PASSWORD_SYMBOL_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\n(length - minimums).times do\n password << characters.sample(random: Random::Secure)\nend\npassword.shuffle(random: Random::Secure).join\n"}}],"types":[{"html_id":"drivers/AmberTech","path":"AmberTech.html","kind":"module","full_name":"AmberTech","name":"AmberTech","abstract":false,"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AmberTech/Devices","path":"AmberTech/Devices.html","kind":"class","full_name":"AmberTech::Devices","name":"Devices","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_ip:String-instance-method","name":"current_ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L37"},"def":{"name":"current_ip","return_type":"String","visibility":"Public","body":"@current_ip"}},{"html_id":"device_info:Array(DevInfo)-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L34"},"def":{"name":"device_info","return_type":"Array(DevInfo)","visibility":"Public","body":"@device_info"}}]},{"html_id":"drivers/AmberTech/DevInfo","path":"AmberTech/DevInfo.html","kind":"class","full_name":"AmberTech::DevInfo","name":"DevInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L16"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L17"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"ip_gateway:String-instance-method","name":"ip_gateway","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L23"},"def":{"name":"ip_gateway","return_type":"String","visibility":"Public","body":"@ip_gateway"}},{"html_id":"ip_subnet:String-instance-method","name":"ip_subnet","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L20"},"def":{"name":"ip_subnet","return_type":"String","visibility":"Public","body":"@ip_subnet"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"pass:String|Nil-instance-method","name":"pass","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L25"},"def":{"name":"pass","return_type":"String | ::Nil","visibility":"Public","body":"@pass"}},{"html_id":"pass2:String|Nil-instance-method","name":"pass2","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L26"},"def":{"name":"pass2","return_type":"String | ::Nil","visibility":"Public","body":"@pass2"}},{"html_id":"status:Status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L27"},"def":{"name":"status","return_type":"Status","visibility":"Public","body":"@status"}},{"html_id":"ver:String-instance-method","name":"ver","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L15"},"def":{"name":"ver","return_type":"String","visibility":"Public","body":"@ver"}}]},{"html_id":"drivers/AmberTech/Grandview","path":"AmberTech/Grandview.html","kind":"class","full_name":"AmberTech::Grandview","name":"Grandview","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L109"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:down)"}},{"html_id":"down?-instance-method","name":"down?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L113"},"def":{"name":"down?","visibility":"Public","body":"{\"closed\", \"closing\"}.includes?(self[\"status\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moveable interface","summary":"

moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L30"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"command = case position\nwhen .up?, .close?, .in?\n \"/Close.js?a=100\"\nwhen .down?, .open?, .out?\n \"/Open.js?a=100\"\nelse\n raise(\"unsupported move option: #{position}\")\nend\nqueue(name: \"move\") do |task|\n response = get(command, headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 2.seconds\nschedule.every(1.minute) do\n status\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L59"},"def":{"name":"status","visibility":"Public","body":"if queue.online\n queue(name: \"status\", priority: 0) do |task|\n response = perform_status_request\n if response.success?\n task.success(parse_status(response))\n else\n task.abort(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n end\nelse\n response = perform_status_request\n if response.success?\n parse_status(response)\n end\nend"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"stoppable interface","summary":"

stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/amber_tech/grandview.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L49"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"queue(name: \"stop\", priority: 999, clear_queue: emergency) do |task|\n response = get(\"/Stop.js?a=100\", headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","doc":"compatibility with Screen Technics","summary":"

compatibility with Screen Technics

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L101"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:up)"}},{"html_id":"up?-instance-method","name":"up?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L105"},"def":{"name":"up?","visibility":"Public","body":"{\"opened\", \"opening\"}.includes?(self[\"status\"]?)"}}]},{"html_id":"drivers/AmberTech/Status","path":"AmberTech/Status.html","kind":"enum","full_name":"AmberTech::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stop","name":"Stop","value":"0"},{"id":"Opening","name":"Opening","value":"1"},{"id":"Opened","name":"Opened","value":"2"},{"id":"Closing","name":"Closing","value":"3"},{"id":"Closed","name":"Closed","value":"4"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L9"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"closing?-instance-method","name":"closing?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L8"},"def":{"name":"closing?","visibility":"Public","body":"self == Closing"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L7"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}},{"html_id":"opening?-instance-method","name":"opening?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L6"},"def":{"name":"opening?","visibility":"Public","body":"self == Opening"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L5"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/AmberTech/StatusResp","path":"AmberTech/StatusResp.html","kind":"class","full_name":"AmberTech::StatusResp","name":"StatusResp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L41"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:Status|String-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L43"},"def":{"name":"status","return_type":"Status | String","visibility":"Public","body":"@status"}}]}]},{"html_id":"drivers/Amx","path":"Amx.html","kind":"module","full_name":"Amx","name":"Amx","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Amx/Svsi","path":"Amx/Svsi.html","kind":"module","full_name":"Amx::Svsi","name":"Svsi","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Amx","kind":"module","full_name":"Amx","name":"Amx"},"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","path":"Amx/Svsi/NSeriesDecoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"OutputModes","name":"OutputModes","value":"[\"auto\", \"1080p59.94\", \"1080p60\", \"720p60\", \"4K30\", \"4K25\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L41"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L49"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L208"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"live(state:Bool=true)-instance-method","name":"live","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L86"},"def":{"name":"live","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? do_send(Command::Live) : local(self[:playlist].as_i)"}},{"html_id":"local(playlist:Int32=0)-instance-method","name":"local","abstract":false,"args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"args_string":"(playlist : Int32 = 0)","args_html":"(playlist : Int32 = 0)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L90"},"def":{"name":"local","args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Local, playlist)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L72"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\n do_send(Command::Mute, name: :mute)\n do_send(Command::SetAudio, 0)\nelse\n do_send(Command::SetAudio, @previous_stream || 0)\n do_send(Command::Unmute, name: :mute)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"output_resolution(mode:String)-instance-method","name":"output_resolution","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L108"},"def":{"name":"output_resolution","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if OutputModes.includes?(mode)\nelse\n logger.error do\n \"\\\"#{mode}\\\" is not a valid resolution\"\n end\n return\nend\ndo_send(Command::ModeSet, mode)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nprop, value = data.split(':')\ncase Response.from_mapped_value?(prop.downcase)\nin Response::Stream\n self[:video] = @stream = value.to_i\nin Response::StreamAudio\n stream_id = value.to_i\n self[:audio_actual] = stream_id\n self[:audio] = stream_id == 0 ? ( @mute ? 0 : @stream) : stream_id\nin Response::Name\n self[:device_name] = value\nin Response::Playmode\n self[:local_playback] = value == \"local\"\nin Response::Playlist\n self[:playlist] = value.to_i\nin Response::Mute\n self[:mute] = @mute = value == \"1\"\nin Response::ScalerBypass\n self[:scaler_active] = value != \"no\"\nin Response::Mode\n self[:output_res] = value\nin Response::InputRes\n self[:input_res] = value\nin Nil\n raise(\"Unexpected response: #{prop}\")\nend\ntask.try(&.success)\n"}},{"html_id":"scaler(state:Bool)-instance-method","name":"scaler","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L94"},"def":{"name":"scaler","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"action = state ? Command::ScalerEnable : Command::ScalerDisable\ndo_send(action, name: :scaler)\n"}},{"html_id":"switch_audio(stream_id:Int32)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L62"},"def":{"name":"switch_audio","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"@previous_stream = stream_id\nunmute\n"}},{"html_id":"switch_kvm(ip_address:String,video_follow:Bool=true)-instance-method","name":"switch_kvm","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"args_string":"(ip_address : String, video_follow : Bool = true)","args_html":"(ip_address : String, video_follow : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L67"},"def":{"name":"switch_kvm","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"visibility":"Public","body":"host = \"#{ip_address},#{video_follow ? 1 : 0}\"\ndo_send(Command::SwitchKVM, host)\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L53"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"switch_video(input)\nswitch_audio(0)\n"}},{"html_id":"switch_video(stream_id:Int32)-instance-method","name":"switch_video","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L58"},"def":{"name":"switch_video","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Set, stream_id)"}},{"html_id":"videowall(width:Int32,height:Int32,x_pos:Int32,y_pos:Int32,scale:VideowallScalingMode=VideowallScalingMode::Auto)-instance-method","name":"videowall","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"args_string":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","args_html":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L116"},"def":{"name":"videowall","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"if width > 1 && height > 1\n videowall_size(width, height)\n videowall_position(x_pos, y_pos)\n videowall_scaling(scale)\n videowall_enable\nelse\n videowall_disable\nend"}},{"html_id":"videowall_disable-instance-method","name":"videowall_disable","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L138"},"def":{"name":"videowall_disable","visibility":"Public","body":"videowall_enable(false)"}},{"html_id":"videowall_enable(state:Bool=true)-instance-method","name":"videowall_enable","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L133"},"def":{"name":"videowall_enable","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? \"on\" : \"off\"\ndo_send(Command::SetSettings, \"wallEnable\", state)\n"}},{"html_id":"videowall_position(x:Int32,y:Int32)-instance-method","name":"videowall_position","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(x : Int32, y : Int32)","args_html":"(x : Int32, y : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L147"},"def":{"name":"videowall_position","args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallMonPosV\", x)\ndo_send(Command::SetSettings, \"wallMonPosH\", y)\n"}},{"html_id":"videowall_scaling(scaling_mode:VideowallScalingMode)-instance-method","name":"videowall_scaling","abstract":false,"args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"args_string":"(scaling_mode : VideowallScalingMode)","args_html":"(scaling_mode : VideowallScalingMode)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L158"},"def":{"name":"videowall_scaling","args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallStretch\", scaling_mode)"}},{"html_id":"videowall_size(width:Int32,height:Int32)-instance-method","name":"videowall_size","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(width : Int32, height : Int32)","args_html":"(width : Int32, height : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L142"},"def":{"name":"videowall_size","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallHorMons\", width)\ndo_send(Command::SetSettings, \"wallVerMons\", height)\n"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Command","path":"Amx/Svsi/NSeriesDecoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"Set","name":"Set","value":"1"},{"id":"SetSettings","name":"SetSettings","value":"2"},{"id":"SwitchKVM","name":"SwitchKVM","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Unmute","name":"Unmute","value":"5"},{"id":"SetAudio","name":"SetAudio","value":"6"},{"id":"Live","name":"Live","value":"7"},{"id":"Local","name":"Local","value":"8"},{"id":"ScalerEnable","name":"ScalerEnable","value":"9"},{"id":"ScalerDisable","name":"ScalerDisable","value":"10"},{"id":"ModeSet","name":"ModeSet","value":"11"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mode_set?-instance-method","name":"mode_set?","abstract":false,"def":{"name":"mode_set?","visibility":"Public","body":"self == ModeSet"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"scaler_disable?-instance-method","name":"scaler_disable?","abstract":false,"def":{"name":"scaler_disable?","visibility":"Public","body":"self == ScalerDisable"}},{"html_id":"scaler_enable?-instance-method","name":"scaler_enable?","abstract":false,"def":{"name":"scaler_enable?","visibility":"Public","body":"self == ScalerEnable"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"def":{"name":"set?","visibility":"Public","body":"self == Set"}},{"html_id":"set_audio?-instance-method","name":"set_audio?","abstract":false,"def":{"name":"set_audio?","visibility":"Public","body":"self == SetAudio"}},{"html_id":"set_settings?-instance-method","name":"set_settings?","abstract":false,"def":{"name":"set_settings?","visibility":"Public","body":"self == SetSettings"}},{"html_id":"switch_kvm?-instance-method","name":"switch_kvm?","abstract":false,"def":{"name":"switch_kvm?","visibility":"Public","body":"self == SwitchKVM"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Response","path":"Amx/Svsi/NSeriesDecoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stream","name":"Stream","value":"0"},{"id":"StreamAudio","name":"StreamAudio","value":"1"},{"id":"Name","name":"Name","value":"2"},{"id":"Playmode","name":"Playmode","value":"3"},{"id":"Playlist","name":"Playlist","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"ScalerBypass","name":"ScalerBypass","value":"6"},{"id":"Mode","name":"Mode","value":"7"},{"id":"InputRes","name":"InputRes","value":"8"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"input_res?-instance-method","name":"input_res?","abstract":false,"def":{"name":"input_res?","visibility":"Public","body":"self == InputRes"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playlist?-instance-method","name":"playlist?","abstract":false,"def":{"name":"playlist?","visibility":"Public","body":"self == Playlist"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"scaler_bypass?-instance-method","name":"scaler_bypass?","abstract":false,"def":{"name":"scaler_bypass?","visibility":"Public","body":"self == ScalerBypass"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}},{"html_id":"stream_audio?-instance-method","name":"stream_audio?","abstract":false,"def":{"name":"stream_audio?","visibility":"Public","body":"self == StreamAudio"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/VideowallScalingMode","path":"Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::VideowallScalingMode","name":"VideowallScalingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L152"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Fit","name":"Fit","value":"1"},{"id":"Stretch","name":"Stretch","value":"2"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L153"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"fit?-instance-method","name":"fit?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L154"},"def":{"name":"fit?","visibility":"Public","body":"self == Fit"}},{"html_id":"stretch?-instance-method","name":"stretch?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L155"},"def":{"name":"stretch?","visibility":"Public","body":"self == Stretch"}}]}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","path":"Amx/Svsi/NSeriesEncoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L8"},{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CommonCommands","name":"CommonCommands","value":"[:monitor, :monitornotify, :live, :local, :serial, :readresponse, :sendir, :sendirraw, :audioon, :audiooff, :enablehdmiaudio, :disablehdmiaudio, :autohdmiaudio, :record, :dsrecord, :dvrswitch1, :dvrswitch2, :mpeg, :mpegall, :deletempegfile, :play, :stop, :pause, :unpause, :fastforward, :rewind, :deletefile, :stepforward, :stepreverse, :stoprecord, :recordhold, :recordrelease, :playhold, :playrelease, :deleteallplaylist, :deleteallmpegs, :remotecopy, :wpswitch, :wpaudioin, :wpactive, :wpinactive, :wpaudioon, :wpaudiooff, :wpmodeon, :wpmodeoff, :wparrange, :wpbackground, :wpcrop, :wppriority, :wpbordon, :wpbordoff, :wppreset, :atrswitch, :atrmute, :atrunmute, :atrtxmute, :atrtxunmute, :atrhpvol, :atrlovol, :atrlovolup, :atrlovoldown, :atrhpvolup, :atrhpvoldown, :openrelay, :closerelay, :videowall, :script, :goto, :tcpclient, :udpclient, :reboot, :gc_serial, :gc_openrelay, :gc_closerelay, :gc_ir]"},{"id":"Modes","name":"Modes","value":"(1..8).map(&.to_s)"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"atrhpvol(ip_address:String,*args,**options)-instance-method","name":"atrhpvol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvol\", ip_address, *args, **options)"}},{"html_id":"atrhpvoldown(ip_address:String,*args,**options)-instance-method","name":"atrhpvoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvoldown\", ip_address, *args, **options)"}},{"html_id":"atrhpvolup(ip_address:String,*args,**options)-instance-method","name":"atrhpvolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvolup\", ip_address, *args, **options)"}},{"html_id":"atrlovol(ip_address:String,*args,**options)-instance-method","name":"atrlovol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovol\", ip_address, *args, **options)"}},{"html_id":"atrlovoldown(ip_address:String,*args,**options)-instance-method","name":"atrlovoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovoldown\", ip_address, *args, **options)"}},{"html_id":"atrlovolup(ip_address:String,*args,**options)-instance-method","name":"atrlovolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovolup\", ip_address, *args, **options)"}},{"html_id":"atrmute(ip_address:String,*args,**options)-instance-method","name":"atrmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrmute\", ip_address, *args, **options)"}},{"html_id":"atrswitch(ip_address:String,*args,**options)-instance-method","name":"atrswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrswitch\", ip_address, *args, **options)"}},{"html_id":"atrtxmute(ip_address:String,*args,**options)-instance-method","name":"atrtxmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxmute\", ip_address, *args, **options)"}},{"html_id":"atrtxunmute(ip_address:String,*args,**options)-instance-method","name":"atrtxunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxunmute\", ip_address, *args, **options)"}},{"html_id":"atrunmute(ip_address:String,*args,**options)-instance-method","name":"atrunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrunmute\", ip_address, *args, **options)"}},{"html_id":"audiofollow(output:InOut,*args,**options)-instance-method","name":"audiofollow","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"audiofollow","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiofollow\", get_output(output), *args, **options)"}},{"html_id":"audiooff(ip_address:String,*args,**options)-instance-method","name":"audiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiooff\", ip_address, *args, **options)"}},{"html_id":"audioon(ip_address:String,*args,**options)-instance-method","name":"audioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audioon\", ip_address, *args, **options)"}},{"html_id":"autocc(input:InOut,*args,**options)-instance-method","name":"autocc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"autocc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autocc\", get_input(input), *args, **options)"}},{"html_id":"autohdmiaudio(ip_address:String,*args,**options)-instance-method","name":"autohdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"autohdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autohdmiaudio\", ip_address, *args, **options)"}},{"html_id":"closerelay(ip_address:String,*args,**options)-instance-method","name":"closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"closerelay\", ip_address, *args, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L40"},"def":{"name":"connected","visibility":"Public","body":"@lookup.each_key do |ip_address|\n monitor(ip_address, priority: 0)\n monitornotify(ip_address, priority: 0)\nend\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Maintaining Connection --\"\n end\n monitornotify(@list.first, priority: 0)\nend\n"}},{"html_id":"cropref(output:InOut,*args,**options)-instance-method","name":"cropref","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"cropref","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"cropref\", get_output(output), *args, **options)"}},{"html_id":"deleteallmpegs(ip_address:String,*args,**options)-instance-method","name":"deleteallmpegs","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallmpegs","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallmpegs\", ip_address, *args, **options)"}},{"html_id":"deleteallplaylist(ip_address:String,*args,**options)-instance-method","name":"deleteallplaylist","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallplaylist","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallplaylist\", ip_address, *args, **options)"}},{"html_id":"deletefile(ip_address:String,*args,**options)-instance-method","name":"deletefile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletefile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletefile\", ip_address, *args, **options)"}},{"html_id":"deletempegfile(ip_address:String,*args,**options)-instance-method","name":"deletempegfile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletempegfile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletempegfile\", ip_address, *args, **options)"}},{"html_id":"disablecc(input:InOut,*args,**options)-instance-method","name":"disablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"disablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablecc\", get_input(input), *args, **options)"}},{"html_id":"disablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"disablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"disablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L48"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L111"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"do_send(*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L201"},"def":{"name":"do_send","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"cmd = args.join(' ')\nlogger.debug do\n \"sending #{cmd}\"\nend\nsend(\"#{cmd}\\r\\n\", **options)\n"}},{"html_id":"dsrecord(ip_address:String,*args,**options)-instance-method","name":"dsrecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dsrecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dsrecord\", ip_address, *args, **options)"}},{"html_id":"dvioff(output:InOut,*args,**options)-instance-method","name":"dvioff","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvioff","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvioff\", get_output(output), *args, **options)"}},{"html_id":"dvion(output:InOut,*args,**options)-instance-method","name":"dvion","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvion","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvion\", get_output(output), *args, **options)"}},{"html_id":"dvrswitch1(ip_address:String,*args,**options)-instance-method","name":"dvrswitch1","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch1","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch1\", ip_address, *args, **options)"}},{"html_id":"dvrswitch2(ip_address:String,*args,**options)-instance-method","name":"dvrswitch2","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch2","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch2\", ip_address, *args, **options)"}},{"html_id":"enablecc(input:InOut,*args,**options)-instance-method","name":"enablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"enablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablecc\", get_input(input), *args, **options)"}},{"html_id":"enablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"enablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"enablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"fastforward(ip_address:String,*args,**options)-instance-method","name":"fastforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"fastforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"fastforward\", ip_address, *args, **options)"}},{"html_id":"gc_closerelay(ip_address:String,*args,**options)-instance-method","name":"gc_closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_closerelay\", ip_address, *args, **options)"}},{"html_id":"gc_ir(ip_address:String,*args,**options)-instance-method","name":"gc_ir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_ir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_ir\", ip_address, *args, **options)"}},{"html_id":"gc_openrelay(ip_address:String,*args,**options)-instance-method","name":"gc_openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_openrelay\", ip_address, *args, **options)"}},{"html_id":"gc_serial(ip_address:String,*args,**options)-instance-method","name":"gc_serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_serial\", ip_address, *args, **options)"}},{"html_id":"getStatus(output:InOut,*args,**options)-instance-method","name":"getStatus","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"getStatus","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"getStatus\", get_output(output), *args, **options)"}},{"html_id":"goto(ip_address:String,*args,**options)-instance-method","name":"goto","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"goto","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"goto\", ip_address, *args, **options)"}},{"html_id":"live(ip_address:String,*args,**options)-instance-method","name":"live","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"live","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"live\", ip_address, *args, **options)"}},{"html_id":"local(ip_address:String,*args,**options)-instance-method","name":"local","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"local","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"local\", ip_address, *args, **options)"}},{"html_id":"media_source(mode:String)-instance-method","name":"media_source","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L58"},"def":{"name":"media_source","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if mode == \"live\"\n do_send(Command::Live)\nelse\n if Modes.includes?(mode)\n do_send(Command::Local, mode)\n else\n raise(\"invalid mode #{mode}\")\n end\nend"}},{"html_id":"modeoff(input:InOut,*args,**options)-instance-method","name":"modeoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"modeoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"modeoff\", get_input(input), *args, **options)"}},{"html_id":"monitor(ip_address:String,*args,**options)-instance-method","name":"monitor","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitor","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitor\", ip_address, *args, **options)"}},{"html_id":"monitornotify(ip_address:String,*args,**options)-instance-method","name":"monitornotify","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitornotify","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitornotify\", ip_address, *args, **options)"}},{"html_id":"mpeg(ip_address:String,*args,**options)-instance-method","name":"mpeg","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpeg","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpeg\", ip_address, *args, **options)"}},{"html_id":"mpegall(ip_address:String,*args,**options)-instance-method","name":"mpegall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpegall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpegall\", ip_address, *args, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L155"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"address = index.is_a?(Int32) && (val = @encoders[index]? || @decoders[index]?) ? val : index.as(String)\nif state\n if layer.audio_video? || layer.video?\n dvioff(address)\n end\n if layer.audio_video? || layer.audio?\n audiooff(address)\n end\nelse\n if layer.audio_video? || layer.video?\n dvion(address)\n end\n if layer.audio_video? || layer.audio?\n audioon(address)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = (setting?(Hash(String, String), :inputs)) || ({} of String => String)\n@outputs = (setting?(Hash(String, String), :outputs)) || ({} of String => String)\n@encoders = @inputs.keys\n@decoders = @outputs.keys\n@lookup = @inputs.merge(@outputs)\n@list = @encoders + @decoders\n"}},{"html_id":"openrelay(ip_address:String,*args,**options)-instance-method","name":"openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"openrelay\", ip_address, *args, **options)"}},{"html_id":"pause(ip_address:String,*args,**options)-instance-method","name":"pause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"pause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"pause\", ip_address, *args, **options)"}},{"html_id":"play(ip_address:String,*args,**options)-instance-method","name":"play","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"play","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"play\", ip_address, *args, **options)"}},{"html_id":"playhold(ip_address:String,*args,**options)-instance-method","name":"playhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playhold\", ip_address, *args, **options)"}},{"html_id":"playrelease(ip_address:String,*args,**options)-instance-method","name":"playrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playrelease\", ip_address, *args, **options)"}},{"html_id":"readresponse(ip_address:String,*args,**options)-instance-method","name":"readresponse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"readresponse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"readresponse\", ip_address, *args, **options)"}},{"html_id":"reboot(ip_address:String,*args,**options)-instance-method","name":"reboot","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"reboot","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"reboot\", ip_address, *args, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L170"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nresp = data.split(':')\ncase resp.size\nwhen 13\n self[resp[0]] = {communications: resp[1] == \"1\", dvioff: resp[2] == \"1\", scaler: resp[3] == \"1\", source_detected: resp[4] == \"1\", mode: resp[5], audio_enabled: resp[6] == \"1\", video_stream: resp[7].to_i, audio_stream: resp[8] == \"follow video\" ? resp[8] : resp[8].to_i, playlist: resp[9], colorspace: resp[10], hdmiaudio: resp[11], resolution: resp[12]}\nwhen 10\n self[resp[0]] = resp\nelse\n logger.warn do\n \"unknown response type: #{resp}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"record(ip_address:String,*args,**options)-instance-method","name":"record","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"record","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"record\", ip_address, *args, **options)"}},{"html_id":"recordhold(ip_address:String,*args,**options)-instance-method","name":"recordhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordhold\", ip_address, *args, **options)"}},{"html_id":"recordrelease(ip_address:String,*args,**options)-instance-method","name":"recordrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordrelease\", ip_address, *args, **options)"}},{"html_id":"remotecopy(ip_address:String,*args,**options)-instance-method","name":"remotecopy","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"remotecopy","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"remotecopy\", ip_address, *args, **options)"}},{"html_id":"rewind(ip_address:String,*args,**options)-instance-method","name":"rewind","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"rewind","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"rewind\", ip_address, *args, **options)"}},{"html_id":"script(ip_address:String,*args,**options)-instance-method","name":"script","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"script","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"script\", ip_address, *args, **options)"}},{"html_id":"sendir(ip_address:String,*args,**options)-instance-method","name":"sendir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendir\", ip_address, *args, **options)"}},{"html_id":"sendirraw(ip_address:String,*args,**options)-instance-method","name":"sendirraw","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendirraw","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendirraw\", ip_address, *args, **options)"}},{"html_id":"serial(ip_address:String,*args,**options)-instance-method","name":"serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"serial\", ip_address, *args, **options)"}},{"html_id":"serialhex(ip_address:String,wait_time:Int32=1,*data,**options)-instance-method","name":"serialhex","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"args_string":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","args_html":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L85"},"def":{"name":"serialhex","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":2,"visibility":"Public","body":"do_send(\"serialhex\", wait_time, ip_address, *data, **options)"}},{"html_id":"stepforward(ip_address:String,*args,**options)-instance-method","name":"stepforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepforward\", ip_address, *args, **options)"}},{"html_id":"stepreverse(ip_address:String,*args,**options)-instance-method","name":"stepreverse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepreverse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepreverse\", ip_address, *args, **options)"}},{"html_id":"stop(ip_address:String,*args,**options)-instance-method","name":"stop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stop\", ip_address, *args, **options)"}},{"html_id":"stoprecord(ip_address:String,*args,**options)-instance-method","name":"stoprecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stoprecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stoprecord\", ip_address, *args, **options)"}},{"html_id":"switch(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L103"},"def":{"name":"switch","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n dvion(output_actual, **options)\n audioon(output_actual, **options)\n audiofollow(output_actual, **options)\n self[\"video#{output_actual}\"] = input_actual\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switch, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n output_actual = get_output(o)\n dvioff(output_actual, **options)\n audiooff(output_actual, **options)\n end\n end\nend"}},{"html_id":"switch_audio(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L131"},"def":{"name":"switch_audio","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n audioon(input_actual, **options)\n audioon(output_actual, **options)\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switchaudio, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n audiooff(get_output(o), **options)\n end\n end\nend"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L52"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::VideoSource, input, **options)"}},{"html_id":"tcpclient(ip_address:String,*args,**options)-instance-method","name":"tcpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"tcpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"tcpclient\", ip_address, *args, **options)"}},{"html_id":"udpclient(ip_address:String,*args,**options)-instance-method","name":"udpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"udpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"udpclient\", ip_address, *args, **options)"}},{"html_id":"uncompressedoff(input:InOut,*args,**options)-instance-method","name":"uncompressedoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"uncompressedoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"uncompressedoff\", get_input(input), *args, **options)"}},{"html_id":"unpause(ip_address:String,*args,**options)-instance-method","name":"unpause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"unpause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"unpause\", ip_address, *args, **options)"}},{"html_id":"videowall(ip_address:String,*args,**options)-instance-method","name":"videowall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"videowall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"videowall\", ip_address, *args, **options)"}},{"html_id":"volume(output:InOut,*args,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"volume","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"volume\", get_output(output), *args, **options)"}},{"html_id":"wpactive(ip_address:String,*args,**options)-instance-method","name":"wpactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpactive\", ip_address, *args, **options)"}},{"html_id":"wparrange(ip_address:String,*args,**options)-instance-method","name":"wparrange","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wparrange","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wparrange\", ip_address, *args, **options)"}},{"html_id":"wpaudioin(ip_address:String,*args,**options)-instance-method","name":"wpaudioin","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioin","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioin\", ip_address, *args, **options)"}},{"html_id":"wpaudiooff(ip_address:String,*args,**options)-instance-method","name":"wpaudiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudiooff\", ip_address, *args, **options)"}},{"html_id":"wpaudioon(ip_address:String,*args,**options)-instance-method","name":"wpaudioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioon\", ip_address, *args, **options)"}},{"html_id":"wpbackground(ip_address:String,*args,**options)-instance-method","name":"wpbackground","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbackground","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbackground\", ip_address, *args, **options)"}},{"html_id":"wpbordoff(ip_address:String,*args,**options)-instance-method","name":"wpbordoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordoff\", ip_address, *args, **options)"}},{"html_id":"wpbordon(ip_address:String,*args,**options)-instance-method","name":"wpbordon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordon\", ip_address, *args, **options)"}},{"html_id":"wpcrop(ip_address:String,*args,**options)-instance-method","name":"wpcrop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpcrop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpcrop\", ip_address, *args, **options)"}},{"html_id":"wpinactive(ip_address:String,*args,**options)-instance-method","name":"wpinactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpinactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpinactive\", ip_address, *args, **options)"}},{"html_id":"wpmodeoff(ip_address:String,*args,**options)-instance-method","name":"wpmodeoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeoff\", ip_address, *args, **options)"}},{"html_id":"wpmodeon(ip_address:String,*args,**options)-instance-method","name":"wpmodeon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeon\", ip_address, *args, **options)"}},{"html_id":"wppreset(ip_address:String,*args,**options)-instance-method","name":"wppreset","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppreset","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppreset\", ip_address, *args, **options)"}},{"html_id":"wppriority(ip_address:String,*args,**options)-instance-method","name":"wppriority","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppriority","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppriority\", ip_address, *args, **options)"}},{"html_id":"wpswitch(ip_address:String,*args,**options)-instance-method","name":"wpswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpswitch\", ip_address, *args, **options)"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Command","path":"Amx/Svsi/NSeriesEncoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"VideoSource","name":"VideoSource","value":"1"},{"id":"Live","name":"Live","value":"2"},{"id":"Local","name":"Local","value":"3"},{"id":"Disable","name":"Disable","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"Unmute","name":"Unmute","value":"6"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"disable?-instance-method","name":"disable?","abstract":false,"def":{"name":"disable?","visibility":"Public","body":"self == Disable"}},{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}},{"html_id":"video_source?-instance-method","name":"video_source?","abstract":false,"def":{"name":"video_source?","visibility":"Public","body":"self == VideoSource"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/InOut","path":"Amx/Svsi/NSeriesEncoder/InOut.html","kind":"alias","full_name":"Amx::Svsi::NSeriesEncoder::InOut","name":"InOut","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Int32 | String)","aliased_html":"Int32 | String","const":false,"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"}},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Input","path":"Amx/Svsi/NSeriesEncoder/Input.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmionly","name":"Hdmionly","value":"0"},{"id":"Vgaonly","name":"Vgaonly","value":"1"},{"id":"Hdmivga","name":"Hdmivga","value":"2"},{"id":"Vgahdmi","name":"Vgahdmi","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"hdmionly?-instance-method","name":"hdmionly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L12"},"def":{"name":"hdmionly?","visibility":"Public","body":"self == Hdmionly"}},{"html_id":"hdmivga?-instance-method","name":"hdmivga?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L14"},"def":{"name":"hdmivga?","visibility":"Public","body":"self == Hdmivga"}},{"html_id":"vgahdmi?-instance-method","name":"vgahdmi?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L15"},"def":{"name":"vgahdmi?","visibility":"Public","body":"self == Vgahdmi"}},{"html_id":"vgaonly?-instance-method","name":"vgaonly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L13"},"def":{"name":"vgaonly?","visibility":"Public","body":"self == Vgaonly"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Response","path":"Amx/Svsi/NSeriesEncoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L82"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Name","name":"Name","value":"0"},{"id":"Stream","name":"Stream","value":"1"},{"id":"Playmode","name":"Playmode","value":"2"},{"id":"Mute","name":"Mute","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L86"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L83"},"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L85"},"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L84"},"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}}]}]},{"html_id":"drivers/Amx/Svsi/VirtualSwitcher","path":"Amx/Svsi/VirtualSwitcher.html","kind":"class","full_name":"Amx::Svsi::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L22"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nconnect(map) do |mod, stream|\n if layer.all? || layer.audio?\n mod.switch_audio(stream)\n end\n if layer.all? || layer.video?\n mod.switch_video(stream)\n end\nend\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L18"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"decoders.each(&.switch_to(input))"}}]}]}]},{"html_id":"drivers/Ashrae","path":"Ashrae.html","kind":"module","full_name":"Ashrae","name":"Ashrae","abstract":false,"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Ashrae/BACnet","path":"Ashrae/BACnet.html","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L157"},"def":{"name":"connected","visibility":"Public","body":"bbmd_ip = setting?(String, :bbmd_ip)\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"device(device_id:UInt32)-instance-method","name":"device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L205"},"def":{"name":"device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device_details((get_device(device_id)).not_nil!)"}},{"html_id":"devices-instance-method","name":"devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L209"},"def":{"name":"devices","visibility":"Public","body":"device_registry.devices.map do |device|\n device_details(device)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L55"},"def":{"name":"on_load","visibility":"Public","body":"server = UDPSocket.new\nserver.bind(\"0.0.0.0\", 47808)\nserver.write_timeout = 200.milliseconds\n@udp_server = server\nqueue.timeout = 2.seconds\nclient = ::BACnet::Client::IPv4.new(0, 2.seconds)\nclient.on_transmit do |message, address|\n if address.address == Socket::IPAddress::BROADCAST\n if @bbmd_forwarding.size == 4\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::ForwardedNPDU\n message.data_link.address.ip1 = @bbmd_forwarding[0]\n message.data_link.address.ip2 = @bbmd_forwarding[1]\n message.data_link.address.ip3 = @bbmd_forwarding[2]\n message.data_link.address.ip4 = @bbmd_forwarding[3]\n message.data_link.address.port = 47808_u16\n end\n logger.debug do\n \"sending broadcase message #{message.inspect}\"\n end\n devices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\n devices.each do |dev|\n begin\n server.send(message, to: dev.address)\n rescue error\n logger.warn(exception: error) do\n \"error sending message to #{dev.address}\"\n end\n end\n end\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::DistributeBroadcastToNetwork\n payload = DispatchProtocol.new\n payload.message = DispatchProtocol::MessageType::WRITE\n payload.ip_address = @bbmd_ip.address\n payload.id_or_port = @bbmd_ip.port.to_u64\n payload.data = message.to_slice\n transport.send(payload.to_slice)\n else\n server.send(message, to: address)\n end\nend\n@bacnet_client = client\nregistry = ::BACnet::Client::DeviceRegistry.new(client, logger)\nregistry.on_new_device do |device|\n new_device_found(device)\nend\n@device_registry = registry\nspawn do\n process_data(server, client)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L128"},"def":{"name":"on_unload","visibility":"Public","body":"udp_server.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L132"},"def":{"name":"on_update","visibility":"Public","body":"bbmd_ip = (setting?(String, :bbmd_ip)) || \"\"\nbbmd_forwarding = (setting?(String, :bbmd_forwarding)) || \"\"\n@bbmd_forwarding = (bbmd_forwarding.strip.split(\".\")).select(&.presence).map(&.to_u8)\nif bbmd_ip.presence\n @bbmd_ip = Socket::IPAddress.new(bbmd_ip, 47808)\nend\n@verbose_debug = (setting?(Bool, :verbose_debug)) || false\nschedule.clear\nschedule.in(5.seconds) do\n query_known_devices\nend\npoll_period = (setting?(UInt32, :poll_period)) || 3\nschedule.every(poll_period.minutes) do\n logger.debug do\n \"--- Polling all known bacnet devices\"\n end\n keys = @mutex.synchronize do\n @devices.keys\n end\n keys.each do |device_id|\n poll_device(device_id)\n end\nend\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"packets_processed:UInt64-instance-method","name":"packets_processed","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L153"},"def":{"name":"packets_processed","visibility":"Public","body":"@packets_processed"}},{"html_id":"perform_discovery:Nil-instance-method","name":"perform_discovery","doc":"Performs a WhoIs discovery against the BACnet network","summary":"

Performs a WhoIs discovery against the BACnet network

","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L258"},"def":{"name":"perform_discovery","return_type":"Nil","visibility":"Public","body":"bacnet_client.who_is"}},{"html_id":"poll_device(device_id:UInt32)-instance-method","name":"poll_device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L232"},"def":{"name":"poll_device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device = get_device(device_id)\nif device\nelse\n return false\nend\nclient = bacnet_client\nobjects = @mutex.synchronize do\n device.objects.dup\nend\nobjects.each do |obj|\n if obj.object_type.in?(::BACnet::Client::DeviceRegistry::OBJECTS_WITH_VALUES)\n else\n next\n end\n name = object_binding(device_id, obj)\n queue(name: name, priority: 0, timeout: 500.milliseconds) do |task|\n spawn_action(task) do\n obj.sync_value(client)\n self[name] = object_value(obj)\n end\n end\n Fiber.yield\nend\ntrue\n"}},{"html_id":"query_known_devices-instance-method","name":"query_known_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L213"},"def":{"name":"query_known_devices","visibility":"Public","body":"sent = [] of UInt32\n@seen_devices.each_value do |info|\n sent << info.id.not_nil!\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\nend\ndevices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\ndevices.each do |info|\n if id = info.id\n if id.in?(sent)\n next\n end\n sent << id\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\n end\nend\n\"inspected #{sent.size} devices\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/ashrae/bacnet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L406"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"protocol = (IO::Memory.new(data)).read_bytes(DispatchProtocol)\nlogger.debug do\n \"received message: #{protocol.message} #{protocol.ip_address}:#{protocol.id_or_port} (size #{protocol.data_size})\"\nend\nif protocol.message.received?\n message = (IO::Memory.new(protocol.data)).read_bytes(::BACnet::Message::IPv4)\n if @verbose_debug\n logger.debug do\n \"dispatch sent:\\n#{message.inspect}\"\n end\n end\n bacnet_client.received(message, @bbmd_ip)\n app = message.application\n is_iam = false\n is_cov = case app\n when ::BACnet::ConfirmedRequest\n app.service.cov_notification?\n when ::BACnet::UnconfirmedRequest\n is_iam = app.service.i_am?\n app.service.cov_notification?\n else\n false\n end\n network = message.network\n if network && is_cov\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n if network.source_specifier\n addr = network.source_address\n net = network.source.network\n end\n device = message.objects.find do |obj|\n obj.tag == 1\n end.not_nil!.to_object_id.instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, net, addr)\n end\n if network && is_iam\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n details = ::BACnet::Client::Message::IAm.parse(message)\n device = details[:object_id].instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, details[:network], details[:address])\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_seen_devices-instance-method","name":"save_seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L631"},"def":{"name":"save_seen_devices","visibility":"Public","body":"define_setting(:known_devices, @seen_devices.values)"}},{"html_id":"seen_devices:Hash(UInt32,Ashrae::DeviceAddress)-instance-method","name":"seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":463,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L463"},"def":{"name":"seen_devices","visibility":"Public","body":"@seen_devices"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/ashrae/bacnet.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L601"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ndevice_id = mac.to_u32?\nif device_id\nelse\n return nil\nend\ndevice = get_device(device_id)\nif device\nelse\n return nil\nend\nobj_type_string, instance_id_string = id.split('[', 2)\ninstance_id = instance_id_string.rchop.to_u32?\nif instance_id\nelse\n return nil\nend\nobject_type = ObjectType.parse?(obj_type_string)\nif object_type\nelse\n return nil\nend\nobject = get_object_details(device_id, instance_id, object_type)\nif object.changed < 1.minutes.ago\n begin\n object.sync_value(bacnet_client)\n rescue error\n logger.warn(exception: error) do\n \"failed to obtain latest value for sensor at #{mac}.#{id}\"\n end\n end\nend\nto_sensor(device_id, device, object)\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/ashrae/bacnet.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L577"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n if mac\n device_id = mac.to_u32?\n if device_id\n else\n return NO_MATCH\n end\n device = get_device(device_id)\n if device\n else\n return NO_MATCH\n end\n return device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n matches = @mutex.synchronize do\n @devices.map do |__arg4|\n device_id = __arg4[0]\n device = __arg4[1]\n device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"update_value(device_id:UInt32,instance_id:UInt32,object_type:ObjectType)-instance-method","name":"update_value","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","args_html":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","location":{"filename":"src/ashrae/bacnet.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L264"},"def":{"name":"update_value","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"obj = get_object_details(device_id, instance_id, object_type)\nname = object_binding(device_id, obj)\nqueue(name: name, priority: 50) do |task|\n spawn_action(task) do\n obj.sync_value(bacnet_client)\n self[name] = object_value(obj)\n end\nend\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L29"},"def":{"name":"websocket_headers","visibility":"Public","body":"dispatcher_key = setting?(String, :dispatcher_key)\nHTTP::Headers {\"Authorization\" => \"Bearer #{dispatcher_key}\", \"X-Module-ID\" => module_id}\n"}},{"html_id":"write_binary(device_id:UInt32,instance_id:UInt32,value:Bool,object_type:ObjectType=ObjectType::BinaryValue)-instance-method","name":"write_binary","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L371"},"def":{"name":"write_binary","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"val = value ? 1 : 0\nobject = get_object_details(device_id, instance_id, object_type)\nval = ::BACnet::Object.new.set_value(val)\nval.short_tag = 9_u8\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, val, network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_double(device_id:UInt32,instance_id:UInt32,value:Float64,object_type:ObjectType=ObjectType::LargeAnalogValue)-instance-method","name":"write_double","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L299"},"def":{"name":"write_double","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_real(device_id:UInt32,instance_id:UInt32,value:Float32,object_type:ObjectType=ObjectType::AnalogValue)-instance-method","name":"write_real","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L281"},"def":{"name":"write_real","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_signed_int(device_id:UInt32,instance_id:UInt32,value:Int64,object_type:ObjectType=ObjectType::IntegerValue)-instance-method","name":"write_signed_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L335"},"def":{"name":"write_signed_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_string(device_id:UInt32,instance_id:UInt32,value:String,object_type:ObjectType=ObjectType::CharacterStringValue)-instance-method","name":"write_string","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L353"},"def":{"name":"write_string","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_unsigned_int(device_id:UInt32,instance_id:UInt32,value:UInt64,object_type:ObjectType=ObjectType::PositiveIntegerValue)-instance-method","name":"write_unsigned_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L317"},"def":{"name":"write_unsigned_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}}],"types":[{"html_id":"drivers/Ashrae/BACnet/DeviceInfo","path":"Ashrae/BACnet/DeviceInfo.html","kind":"alias","full_name":"Ashrae::BACnet::DeviceInfo","name":"DeviceInfo","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::Client::DeviceRegistry::DeviceInfo","aliased_html":"BACnet::Client::DeviceRegistry::DeviceInfo","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}},{"html_id":"drivers/Ashrae/BACnet/ObjectType","path":"Ashrae/BACnet/ObjectType.html","kind":"alias","full_name":"Ashrae::BACnet::ObjectType","name":"ObjectType","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L262"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::ObjectIdentifier::ObjectType","aliased_html":"BACnet::ObjectIdentifier::ObjectType","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}}]},{"html_id":"drivers/Ashrae/BACnetDataPoints","path":"Ashrae/BACnetDataPoints.html","kind":"class","full_name":"Ashrae::BACnetDataPoints","name":"BACnetDataPoints","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\npoints = setting(Hash(String, String), :points)\npoints.each do |__arg0|\n key = __arg0[0]\n status = __arg0[1]\n bacnet.subscribe(status) do |_sub, payload|\n self[key] = JSON.parse(payload)\n end\nend\n"}}]},{"html_id":"drivers/Ashrae/DeviceAddress","path":"Ashrae/DeviceAddress.html","kind":"class","full_name":"Ashrae::DeviceAddress","name":"DeviceAddress","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"constructors":[{"html_id":"new(ip:String,id:UInt32|Nil,net:UInt16|Nil,addr:Nil|String)-class-method","name":"new","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"args_string":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","args_html":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L8"},"def":{"name":"new","args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ip, id, net, addr)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"addr:String|Nil-instance-method","name":"addr","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L14"},"def":{"name":"addr","return_type":"String | ::Nil","visibility":"Public","body":"@addr"}},{"html_id":"address-instance-method","name":"address","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L16"},"def":{"name":"address","visibility":"Public","body":"Socket::IPAddress.new(@ip, 47808)"}},{"html_id":"id:UInt32|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L12"},"def":{"name":"id","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"identifier-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L20"},"def":{"name":"identifier","visibility":"Public","body":"::BACnet::ObjectIdentifier.new(:device, @id.not_nil!)"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L11"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"net:UInt16|Nil-instance-method","name":"net","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L13"},"def":{"name":"net","return_type":"UInt16 | ::Nil","visibility":"Public","body":"@net"}}]},{"html_id":"drivers/Ashrae/DispatchProtocol","path":"Ashrae/DispatchProtocol.html","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Ashrae::DispatchProtocol]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: message, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: MessageType}, {type: \"string\", name: ip_address, cls: String, onlyif: nil, verify: nil, length: nil, value: nil, encoding: nil}, {type: \"basic\", name: id_or_port, cls: UInt64, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: data_size, cls: UInt32, onlyif: nil, verify: nil, value: -> do\n data.size\nend}, {type: \"bytes\", name: data, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n data_size\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L26"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Bytes)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data_size:UInt32-instance-method","name":"data_size","abstract":false,"def":{"name":"data_size","return_type":"UInt32","visibility":"Public","body":"@data_size"}},{"html_id":"data_size=(data_size:UInt32)-instance-method","name":"data_size=","abstract":false,"args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"args_string":"(data_size : UInt32)","args_html":"(data_size : UInt32)","def":{"name":"data_size=","args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"visibility":"Public","body":"@data_size = data_size"}},{"html_id":"id_or_port:UInt64-instance-method","name":"id_or_port","abstract":false,"def":{"name":"id_or_port","return_type":"UInt64","visibility":"Public","body":"@id_or_port"}},{"html_id":"id_or_port=(id_or_port:UInt64)-instance-method","name":"id_or_port=","abstract":false,"args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"args_string":"(id_or_port : UInt64)","args_html":"(id_or_port : UInt64)","def":{"name":"id_or_port=","args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"visibility":"Public","body":"@id_or_port = id_or_port"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"message:MessageType-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"MessageType","visibility":"Public","body":"@message"}},{"html_id":"message=(message:MessageType)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"args_string":"(message : MessageType)","args_html":"(message : MessageType)","def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"visibility":"Public","body":"@message = message"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}}],"types":[{"html_id":"drivers/Ashrae/DispatchProtocol/MessageType","path":"Ashrae/DispatchProtocol/MessageType.html","kind":"enum","full_name":"Ashrae::DispatchProtocol::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L28"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"OPENED","name":"OPENED","value":"0"},{"id":"CLOSED","name":"CLOSED","value":"1"},{"id":"RECEIVED","name":"RECEIVED","value":"2"},{"id":"WRITE","name":"WRITE","value":"3"},{"id":"CLOSE","name":"CLOSE","value":"4"}],"namespace":{"html_id":"drivers/Ashrae/DispatchProtocol","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol"},"instance_methods":[{"html_id":"close?-instance-method","name":"close?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L33"},"def":{"name":"close?","visibility":"Public","body":"self == CLOSE"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L30"},"def":{"name":"closed?","visibility":"Public","body":"self == CLOSED"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L29"},"def":{"name":"opened?","visibility":"Public","body":"self == OPENED"}},{"html_id":"received?-instance-method","name":"received?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L31"},"def":{"name":"received?","visibility":"Public","body":"self == RECEIVED"}},{"html_id":"write?-instance-method","name":"write?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L32"},"def":{"name":"write?","visibility":"Public","body":"self == WRITE"}}]}]}]},{"html_id":"drivers/Aver","path":"Aver.html","kind":"module","full_name":"Aver","name":"Aver","abstract":false,"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Aver/Auth","path":"Aver/Auth.html","kind":"struct","full_name":"Aver::Auth","name":"Auth","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L14"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/Aver/AxisSelect","path":"Aver/AxisSelect.html","kind":"enum","full_name":"Aver::AxisSelect","name":"AxisSelect","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pan","name":"Pan","value":"0"},{"id":"Tilt","name":"Tilt","value":"1"},{"id":"Zoom","name":"Zoom","value":"2"},{"id":"Focus","name":"Focus","value":"3"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L8"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L5"},"def":{"name":"pan?","visibility":"Public","body":"self == Pan"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L6"},"def":{"name":"tilt?","visibility":"Public","body":"self == Tilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L7"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Aver/Cam520Pro","path":"Aver/Cam520Pro.html","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"send(\"token:#{authenticate}\")\nschedule.clear\nschedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.minutes) do\n keep_alive\nend\npan?\ntilt?\nzoom?\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L67"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L129"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\nif pan_speed.abs >= tilt_speed.abs\n axis = AxisSelect::Pan\n stop = AxisSelect::Tilt\n dir = pan_speed >= 0.0 ? 0 : 1\n cmd = pan_speed.zero? ? 2 : 1\nelse\n stop = AxisSelect::Pan\n axis = AxisSelect::Tilt\n dir = tilt_speed >= 0.0 ? 0 : 1\n cmd = tilt_speed.zero? ? 2 : 1\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: stop.to_i, dir: dir, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: axis.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L95"},"def":{"name":"keep_alive","visibility":"Public","body":"send(\"alive\")"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L289"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\ntransport.before_request do |request|\n logger.debug do\n \"performing request: #{request.method} #{request.path}\\n#{String.new((request.body.as(IO::Memory)).to_slice)}\"\n end\n if request.path != \"/login_name\"\n bearer = bearer_token.presence || authenticate\n request.headers[\"Authorization\"] = \"Bearer #{bearer}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\nif @username != \"spec\"\n device_host = URI.parse(config.uri.not_nil!)\n device_host.port = nil\n transport.http_uri_override = device_host\nend\n@zoom_max = setting(Int32, :zoom_max)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L216"},"def":{"name":"pan?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_p_s\"}.to_json)\n@pan_pos = parse(response, Int32)\n"}},{"html_id":"pan_direct(position:Int32)-instance-method","name":"pan_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L196"},"def":{"name":"pan_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_p\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"pan_pos:Int32-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L99"},"def":{"name":"pan_pos","return_type":"Int32","visibility":"Public","body":"@pan_pos"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"dummy interface as no power command, camera is always on","summary":"

dummy interface as no power command, camera is always on

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/aver/cam520_pro.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L347"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L170"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n zoom_native(zoom_pos)\n pan_direct(pan_pos)\n tilt_direct(tilt_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task):Nil-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task) : Nil","args_html":"(data, task) : Nil","location":{"filename":"src/aver/cam520_pro.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L103"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"return_type":"Nil","visibility":"Public","body":"begin\n data = String.new(data)\n logger.debug do\n \"Camera sent: #{data}\"\n end\n payload = (Event.from_json(data)).data\n case payload\n in Option\n value = payload.value.to_i\n case payload.option\n in .ptz_ps?\n @pan_pos = value\n in .ptz_ts?\n @tilt_pos = value\n in .ptz_zs?\n @zoom_pos = value\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n end\n in Event\n raise(\"not possible\")\n end\nensure\n task.try(&.success)\nend"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L186"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L181"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/aver/cam520_pro.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L310"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"spawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Tilt.to_i, dir: 0, cmd: 2}.to_json)\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Pan.to_i, dir: 0, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: 0, cmd: 2}.to_json)\nparse(response, Nil)\n"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L225"},"def":{"name":"tilt?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_t_s\"}.to_json)\n@tilt_pos = parse(response, Int32)\n"}},{"html_id":"tilt_direct(position:Int32)-instance-method","name":"tilt_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L206"},"def":{"name":"tilt_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_t\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"tilt_pos:Int32-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L100"},"def":{"name":"tilt_pos","return_type":"Int32","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L243"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .stop?\n dir = 0\n cmd = 2\nin .out?\n dir = 1\n cmd = 1\nin .in?\n dir = 0\n cmd = 1\nend\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L276"},"def":{"name":"zoom?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_z_s\"}.to_json)\n@zoom_pos = value = parse(response, Int32)\nself[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n"}},{"html_id":"zoom_native(position:Int32)-instance-method","name":"zoom_native","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L266"},"def":{"name":"zoom_native","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_z\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"zoom_pos:Int32-instance-method","name":"zoom_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L101"},"def":{"name":"zoom_pos","return_type":"Int32","visibility":"Public","body":"@zoom_pos"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L237"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_native((percentage * @zoom_max.to_f).to_i)\n"}}],"macros":[{"html_id":"parse(response,klass=::Union(Nil,::Nil))-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"args_string":"(response, klass = ::Union(Nil, ::Nil))","args_html":"(response, klass = ::Union(Nil, ::Nil))","location":{"filename":"src/aver/cam520_pro.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L79"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"visibility":"Public","body":" check_success(\n{{ response }}\n)\n HttpResponse(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!).data\n \n"}}],"types":[{"html_id":"drivers/Aver/Cam520Pro/Presets","path":"Aver/Cam520Pro/Presets.html","kind":"alias","full_name":"Aver::Cam520Pro::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L167"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(Int32, Int32, Int32))","aliased_html":"Hash(String, {Int32, Int32, Int32})","const":false,"namespace":{"html_id":"drivers/Aver/Cam520Pro","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro"}}]},{"html_id":"drivers/Aver/Event","path":"Aver/Event.html","kind":"struct","full_name":"Aver::Event","name":"Event","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Aver/EventOption","kind":"struct","full_name":"Aver::EventOption","name":"EventOption"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"event\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'event' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'event'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"option\"\n EventOption.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'event' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L28"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]},{"html_id":"drivers/Aver/EventOption","path":"Aver/EventOption.html","kind":"struct","full_name":"Aver::EventOption","name":"EventOption","abstract":false,"superclass":{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Option-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L51"},"def":{"name":"data","return_type":"Option","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Aver/HttpResponse","path":"Aver/HttpResponse.html","kind":"struct","full_name":"Aver::HttpResponse(Data)","name":"HttpResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L20"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L22"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"msg:String-instance-method","name":"msg","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L21"},"def":{"name":"msg","return_type":"String","visibility":"Public","body":"@msg"}}]},{"html_id":"drivers/Aver/Option","path":"Aver/Option.html","kind":"struct","full_name":"Aver::Option","name":"Option","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"option:OptionType-instance-method","name":"option","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L44"},"def":{"name":"option","return_type":"OptionType","visibility":"Public","body":"@option"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L45"},"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Aver/OptionType","path":"Aver/OptionType.html","kind":"enum","full_name":"Aver::OptionType","name":"OptionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PtzPS","name":"PtzPS","value":"0"},{"id":"PtzTS","name":"PtzTS","value":"1"},{"id":"PtzZS","name":"PtzZS","value":"2"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"ptz_ps?-instance-method","name":"ptz_ps?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L36"},"def":{"name":"ptz_ps?","visibility":"Public","body":"self == PtzPS"}},{"html_id":"ptz_ts?-instance-method","name":"ptz_ts?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L37"},"def":{"name":"ptz_ts?","visibility":"Public","body":"self == PtzTS"}},{"html_id":"ptz_zs?-instance-method","name":"ptz_zs?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L38"},"def":{"name":"ptz_zs?","visibility":"Public","body":"self == PtzZS"}}]}]},{"html_id":"drivers/AWS","path":"AWS.html","kind":"module","full_name":"AWS","name":"AWS","abstract":false,"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AWS/SnsSms","path":"AWS/SnsSms.html","kind":"class","full_name":"AWS::SnsSms","name":"SnsSms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/AWS","kind":"module","full_name":"AWS","name":"AWS"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"access_key = setting(String, :aws_access_key)\nsecret = setting(String, :aws_secret)\nuri_parts = (URI.parse(config.uri.not_nil!)).host.not_nil!.split('.')\nservice = uri_parts[0]\nregion = uri_parts[1]\n@signer = Awscr::Signer::Signers::V4.new(service, region, access_key, secret)\ntransport.before_request do |request|\n signer.sign(request)\nend\n"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/aws/sns_sms.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L40"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponses = phone_numbers.map do |number|\n params = URI::Params.build do |form|\n form.add(\"Action\", \"Publish\")\n form.add(\"PhoneNumber\", number)\n form.add(\"Message\", message)\n if source\n if source =~ (/^\\+?\\d{5,14}$/)\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.MM.SMS.OriginationNumber\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source)\n else\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.SNS.SMS.SenderID\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source.gsub(' ', '-'))\n end\n end\n end\n post(\"/?#{params}\", headers: HTTP::Headers {\"Accept\" => \"application/json\"})\nend\nresponses.each do |response|\n if response.success?\n else\n raise(\"request failed with #{response.status_code}: #{response.body}\")\n end\nend\nnil\n"}},{"html_id":"signer:Awscr::Signer::Signers::V4-instance-method","name":"signer","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L25"},"def":{"name":"signer","return_type":"Awscr::Signer::Signers::V4","visibility":"Public","body":"if (value = @signer).nil?\n ::raise(NilAssertionError.new(\"AWS::SnsSms#signer cannot be nil\"))\nelse\n value\nend"}},{"html_id":"signer?:Awscr::Signer::Signers::V4|Nil-instance-method","name":"signer?","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L25"},"def":{"name":"signer?","return_type":"Awscr::Signer::Signers::V4 | ::Nil","visibility":"Public","body":"@signer"}}]}]},{"html_id":"drivers/Biamp","path":"Biamp.html","kind":"module","full_name":"Biamp","name":"Biamp","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L3"},{"filename":"src/biamp/tesira.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Biamp/Nexia","path":"Biamp/Nexia.html","kind":"class","full_name":"Biamp::Nexia","name":"Nexia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/nexia.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L19"},"def":{"name":"connected","visibility":"Public","body":"send(Bytes[255, 254, 1], wait: false)\nschedule.every(60.seconds, true) do\n query_device_id\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(id:Int32,level:Float64|Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L78"},"def":{"name":"fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = get_range(type)\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = level_actual + range.begin.to_f\nsend(Command[:SETD, device_id, type.mapped_value, id, index, level_actual], name: \"fader_#{id}\")\n"}},{"html_id":"mixer(id:Int32,inouts:Hash(Int32,Array(Int32))|Array(Int32),mute:Bool=false,type:Mixer=Mixer::Matrix)-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"args_string":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","args_html":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","location":{"filename":"src/biamp/nexia.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L44"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"visibility":"Public","body":"value = mute ? 0 : 1\nif inouts.is_a?(Hash)\n inouts.each do |input, outputs|\n outputs.each do |output|\n send(Command[:SET, device_id, type.mapped_value, id, input, output, value])\n end\n end\nelse\n inouts.each do |input|\n send(Command[:SET, device_id, Mixer::Auto.mapped_value, id, input, value])\n end\nend\n"}},{"html_id":"mute(id:Int32,state:Bool=true,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L106"},"def":{"name":"mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"value = state ? 1 : 0\nsend(Command[:SETD, device_id, type.mapped_value, id, index, value], name: \"mute_#{id}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 30.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\", \"\\xFF\\xFE\\u0001\")\n"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/biamp/nexia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L34"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"send(Command[:RECALL, 0, \"PRESET\", number], name: \"preset_#{number}\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L30"},"def":{"name":"query_device_id","visibility":"Public","body":"send(Command[:GETD, 0, \"DEVID\"])"}},{"html_id":"query_fader(id:Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"query_fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L90"},"def":{"name":"query_fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"query_mute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L115"},"def":{"name":"query_mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/nexia.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L119"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"case response = Response.parse(data)\nin Response::FullPath\n logger.debug do\n \"Device responded #{response.message}\"\n end\n result = process_full_path_response(response)\n task.try(&.success(result))\nin Response::OK\n logger.info do\n \"OK\"\n end\n task.try(&.success)\nin Response::Error\n logger.warn do\n \"Device error: #{data}\"\n end\n task.try(&.abort(response.message))\nin Response::Invalid\n logger.error do\n \"Invalid response structure\"\n end\n task.try(&.abort(response.data))\nend"}},{"html_id":"unmute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"unmute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L111"},"def":{"name":"unmute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"mute(id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Nexia/Faders","path":"Biamp/Nexia/Faders.html","kind":"enum","full_name":"Biamp::Nexia::Faders","name":"Faders","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"MatrixCrosspoint","name":"MatrixCrosspoint","value":"3"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"4"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"5"},{"id":"AutoIn","name":"AutoIn","value":"6"},{"id":"AutoOut","name":"AutoOut","value":"7"},{"id":"IoIn","name":"IoIn","value":"8"},{"id":"IoOut","name":"IoOut","value":"9"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_crosspoint?-instance-method","name":"matrix_crosspoint?","abstract":false,"def":{"name":"matrix_crosspoint?","visibility":"Public","body":"self == MatrixCrosspoint"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mixer","path":"Biamp/Nexia/Mixer.html","kind":"enum","full_name":"Biamp::Nexia::Mixer","name":"Mixer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Matrix","name":"Matrix","value":"0"},{"id":"Standard","name":"Standard","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"matrix?-instance-method","name":"matrix?","abstract":false,"def":{"name":"matrix?","visibility":"Public","body":"self == Matrix"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mutes","path":"Biamp/Nexia/Mutes.html","kind":"enum","full_name":"Biamp::Nexia::Mutes","name":"Mutes","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"AutoIn","name":"AutoIn","value":"3"},{"id":"AutoOut","name":"AutoOut","value":"4"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"5"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"6"},{"id":"IoIn","name":"IoIn","value":"7"},{"id":"IoOut","name":"IoOut","value":"8"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]}]},{"html_id":"drivers/Biamp/NTP","path":"Biamp/NTP.html","kind":"module","full_name":"Biamp::NTP","name":"NTP","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"doc":"Biamp ATP/NTP protocol utilities.\nhttps://support.biamp.com/Audia-Nexia/Control/Audia-Nexia_Text_Protocol","summary":"

Biamp ATP/NTP protocol utilities.

","types":[{"html_id":"drivers/Biamp/NTP/Command","path":"Biamp/NTP/Command.html","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"constructors":[{"html_id":"new(type:Type,device:Int32,attribute:String,instance:Int32|Nil=nil,index_1:Int32|Nil=nil,index_2:Int32|Nil=nil,value:String|Int32|Float64|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"args_string":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","args_html":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, device, attribute, instance, index_1, index_2, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@type.clone, @device.clone, @attribute.clone, @instance.clone, @index_1.clone, @index_2.clone, @value.clone)"}},{"html_id":"copy_with(type_type=@type,device_device=@device,attribute_attribute=@attribute,instance_instance=@instance,index_1_index_1=@index_1,index_2_index_2=@index_2,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","args_html":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"copy_with","args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_type, _device, _attribute, _instance, _index_1, _index_2, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"index_1:Int32|Nil-instance-method","name":"index_1","abstract":false,"def":{"name":"index_1","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_1"}},{"html_id":"index_2:Int32|Nil-instance-method","name":"index_2","abstract":false,"def":{"name":"index_2","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_2"}},{"html_id":"instance:Int32|Nil-instance-method","name":"instance","abstract":false,"def":{"name":"instance","return_type":"Int32 | ::Nil","visibility":"Public","body":"@instance"}},{"html_id":"to_io(io:IO,format=nil)-instance-method","name":"to_io","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"args_string":"(io : IO, format = nil)","args_html":"(io : IO, format = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L33"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"visibility":"Public","body":"io << type\n{device, attribute, instance, index_1, index_2, value}.each do |field|\n if field.nil?\n next\n end\n (io << ' ') << field\nend\nio << '\\n'\n"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"value:String|Int32|Float64|Nil-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String | Int32 | Float64 | Nil","visibility":"Public","body":"@value"}}],"macros":[{"html_id":"[](type,*params)-macro","name":"[]","abstract":false,"args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"args_string":"(type, *params)","args_html":"(type, *params)","location":{"filename":"src/biamp/ntp.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L12"},"def":{"name":"[]","args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"splat_index":1,"visibility":"Public","body":" \n{% if (type == (:GET)) || (type == (:GETD)) %}\n {{ @type.name }}.new({{ type }}, {{ params.splat }})\n {% else %}\n {{ @type.name }}.new({{ type }}, {{ params[0...-1].splat }}, value: {{ params[-1] }})\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Biamp/NTP/Command/Type","path":"Biamp/NTP/Command/Type.html","kind":"enum","full_name":"Biamp::NTP::Command::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L19"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SET","name":"SET","value":"0"},{"id":"SETD","name":"SETD","value":"1"},{"id":"GET","name":"GET","value":"2"},{"id":"GETD","name":"GETD","value":"3"},{"id":"INC","name":"INC","value":"4"},{"id":"INCD","name":"INCD","value":"5"},{"id":"DEC","name":"DEC","value":"6"},{"id":"DECD","name":"DECD","value":"7"},{"id":"RECALL","name":"RECALL","value":"8"},{"id":"DIAL","name":"DIAL","value":"9"}],"namespace":{"html_id":"drivers/Biamp/NTP/Command","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command"},"instance_methods":[{"html_id":"dec?-instance-method","name":"dec?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L27"},"def":{"name":"dec?","visibility":"Public","body":"self == DEC"}},{"html_id":"decd?-instance-method","name":"decd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L28"},"def":{"name":"decd?","visibility":"Public","body":"self == DECD"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L30"},"def":{"name":"dial?","visibility":"Public","body":"self == DIAL"}},{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L23"},"def":{"name":"get?","visibility":"Public","body":"self == GET"}},{"html_id":"getd?-instance-method","name":"getd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L24"},"def":{"name":"getd?","visibility":"Public","body":"self == GETD"}},{"html_id":"inc?-instance-method","name":"inc?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L25"},"def":{"name":"inc?","visibility":"Public","body":"self == INC"}},{"html_id":"incd?-instance-method","name":"incd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L26"},"def":{"name":"incd?","visibility":"Public","body":"self == INCD"}},{"html_id":"recall?-instance-method","name":"recall?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L29"},"def":{"name":"recall?","visibility":"Public","body":"self == RECALL"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L21"},"def":{"name":"set?","visibility":"Public","body":"self == SET"}},{"html_id":"setd?-instance-method","name":"setd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L22"},"def":{"name":"setd?","visibility":"Public","body":"self == SETD"}}]}]},{"html_id":"drivers/Biamp/NTP/Response","path":"Biamp/NTP/Response.html","kind":"module","full_name":"Biamp::NTP::Response","name":"Response","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"class_methods":[{"html_id":"parse(data:Bytes)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L55"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"case data[0]\nwhen '#'\n response = String.new(data)\n if response.includes?(\" -ERR\")\n Error.new(response)\n else\n fields = response[1..].split\n type = Command::Type.parse(fields[0])\n device = fields[1].to_i\n attribute = fields[2]\n params = fields[3..]\n value = type.getd? ? fields[-1] : fields[-2]\n FullPath.new(response, type, device, attribute, params, value)\n end\nwhen '+'\n OK.new\nwhen '-'\n Error.new(String.new(data))\nelse\n Invalid.new(data)\nend"}}],"types":[{"html_id":"drivers/Biamp/NTP/Response/Error","path":"Biamp/NTP/Response/Error.html","kind":"struct","full_name":"Biamp::NTP::Response::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone)"}},{"html_id":"copy_with(message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(message _message = @message)","args_html":"(message _message = @message)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_message)"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Biamp/NTP/Response/FullPath","path":"Biamp/NTP/Response/FullPath.html","kind":"struct","full_name":"Biamp::NTP::Response::FullPath","name":"FullPath","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String,type:Command::Type,device:Int32,attribute:String,params:Array(String),value:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","args_html":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message, type, device, attribute, params, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone, @type.clone, @device.clone, @attribute.clone, @params.clone, @value.clone)"}},{"html_id":"copy_with(message_message=@message,type_type=@type,device_device=@device,attribute_attribute=@attribute,params_params=@params,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","args_html":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_message, _type, _device, _attribute, _params, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)-instance-method","name":"params","abstract":false,"def":{"name":"params","return_type":"Array(String)","visibility":"Public","body":"@params"}},{"html_id":"type:Command::Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Command::Type","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Biamp/NTP/Response/Invalid","path":"Biamp/NTP/Response/Invalid.html","kind":"struct","full_name":"Biamp::NTP::Response::Invalid","name":"Invalid","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(data:Bytes)-class-method","name":"new","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"new","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"_ = allocate\n_.initialize(data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@data.clone)"}},{"html_id":"copy_with(data_data=@data)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"args_string":"(data _data = @data)","args_html":"(data _data = @data)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"copy_with","args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"visibility":"Public","body":"self.class.new(_data)"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Biamp/NTP/Response/OK","path":"Biamp/NTP/Response/OK.html","kind":"struct","full_name":"Biamp::NTP::Response::OK","name":"OK","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"clone","visibility":"Public","body":"self.class.new()"}},{"html_id":"copy_with-instance-method","name":"copy_with","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"copy_with","visibility":"Public","body":"self.class.new()"}}]}]}]},{"html_id":"drivers/Biamp/Tesira","path":"Biamp/Tesira.html","kind":"class","full_name":"Biamp::Tesira","name":"Tesira","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/tesira.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"FADERS","name":"FADERS","value":"{\"fader\" => \"level\", \"matrix_in\" => \"inputLevel\", \"matrix_out\" => \"outputLevel\", \"matrix_crosspoint\" => \"crosspointLevel\", \"level\" => \"fader\", \"inputLevel\" => \"matrix_in\", \"outputLevel\" => \"matrix_out\", \"crosspointLevel\" => \"matrix_crosspoint\"}"},{"id":"MIXERS","name":"MIXERS","value":"{\"matrix\" => \"crosspointLevelState\", \"mixer\" => \"crosspoint\"}"},{"id":"MUTES","name":"MUTES","value":"{\"fader\" => \"mute\", \"matrix_in\" => \"inputMute\", \"matrix_out\" => \"outputMute\", \"mute\" => \"fader\", \"inputMute\" => \"matrix_in\", \"outputMute\" => \"matrix_out\"}"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"@telnet = telnet = Telnet.new do |telnet_response|\n transport.send(telnet_response)\nend\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\nif setting(Bool, :no_password)\n do_send((setting(String, :username)) || \"admin\", wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\nend\ndo_send(\"SESSION set verbose false\", priority: 96)\nschedule.clear\nschedule.every(60.seconds) do\n do_send(\"DEVICE get serialNumber\", priority: 95)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"transport.tokenizer = nil\nschedule.clear\n"}},{"html_id":"fader(fader_id:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L103"},"def":{"name":"fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader_type = FADERS[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, fader_type, i, level), priority: 30, name: \"fade_#{fad}_#{i}\")\n self[\"#{fader_type}_#{fad}_#{i}\"] = level\n end\nend\n"}},{"html_id":"faders(ids:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L118"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader(ids, level, index, type)"}},{"html_id":"get_aliases-instance-method","name":"get_aliases","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L66"},"def":{"name":"get_aliases","visibility":"Public","body":"do_send(\"SESSION get aliases\")"}},{"html_id":"mixer(id:String,inouts:Hash(Int32,Int32|Array(Int32))|Array(Int32),mute:Bool=false,type:String=\"matrix\")-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"args_string":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = \"matrix\")","args_html":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = "matrix")","location":{"filename":"src/biamp/tesira.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L75"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mixer_type = MIXERS[type] || type\nif inouts.is_a?(Hash)\n inouts.each do |input, outs|\n outputs = ensure_array(outs)\n outputs.each do |output|\n do_send(build(id, :set, mixer_type, input, output, mute), priority: 30, name: \"mixmute_#{input}_#{output}\")\n end\n end\nelse\n inouts.each do |input|\n do_send(build(id, :set, mixer_type, input, mute), priority: 30, name: \"mixmute_#{input}\")\n end\nend\n"}},{"html_id":"mute(fader_id:Ids,value:Bool=true,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L131"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, mute_type, i, value), priority: 30, name: \"mute_#{fad}_#{i}\")\n self[\"#{mute_type}_#{fad}_#{i}_mute\"] = value\n end\nend\n"}},{"html_id":"mutes(ids:Ids,muted:Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L145"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(ids, muted, index, type)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 30.milliseconds\n"}},{"html_id":"preset(number_or_name:String|Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"args_string":"(number_or_name : String | Int32)","args_html":"(number_or_name : String | Int32)","location":{"filename":"src/biamp/tesira.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L50"},"def":{"name":"preset","args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"visibility":"Public","body":"if number_or_name.is_a?(Int32)\n do_send(\"DEVICE recallPreset #{number_or_name}\", priority: 30, name: \"preset_#{number_or_name}\")\nelse\n do_send(build(:DEVICE, :recallPresetByName, number_or_name), priority: 30, name: \"preset_#{number_or_name}\")\nend"}},{"html_id":"query_fader(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L153"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fad_type = FADERS[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, fad_type, index))\n"}},{"html_id":"query_faders(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L162"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(ids, index, type)"}},{"html_id":"query_mute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L166"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, mute_type, index))\n"}},{"html_id":"query_mutes(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L175"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_mute(ids, index, type)"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L62"},"def":{"name":"reboot","visibility":"Public","body":"do_send(\"DEVICE reboot\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/tesira.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L179"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Tesira responded -> data: #{data}\"\nend\nresult = data.split(\" \")\nif result[0] == \"-\"\n task.try(&.abort)\nend\nif data =~ (/login:|server/i)\n transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nend\ntask.try(&.success)\n"}},{"html_id":"start_audio-instance-method","name":"start_audio","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L58"},"def":{"name":"start_audio","visibility":"Public","body":"do_send(\"DEVICE startAudio\")"}},{"html_id":"unmute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L149"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(fader_id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Tesira/Ids","path":"Biamp/Tesira/Ids.html","kind":"alias","full_name":"Biamp::Tesira::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}},{"html_id":"drivers/Biamp/Tesira/Num","path":"Biamp/Tesira/Num.html","kind":"alias","full_name":"Biamp::Tesira::Num","name":"Num","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}}]}]},{"html_id":"drivers/Bose","path":"Bose.html","kind":"module","full_name":"Bose","name":"Bose","abstract":false,"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Bose/ControlSpaceSerial","path":"Bose/ControlSpaceSerial.html","kind":"class","full_name":"Bose::ControlSpaceSerial","name":"ControlSpaceSerial","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Bose","kind":"module","full_name":"Bose","name":"Bose"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L20"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n do_send(\"GS\", priority: 99)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L27"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_parameter_group-instance-method","name":"get_parameter_group","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L41"},"def":{"name":"get_parameter_group","visibility":"Public","body":"do_send(\"GS\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[13])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L17"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/bose/control_space_serial.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L45"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).rchop\nlogger.debug do\n \"ControlSpace sent: #{data}\"\nend\nparts = data.split(\" \")\ncase parts[0]\nwhen \"S\"\n self[:parameter_group] = parts[1].to_i(16)\nend\ntask.try(&.success)\n"}},{"html_id":"set_parameter_group(id:UInt8)-instance-method","name":"set_parameter_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"args_string":"(id : UInt8)","args_html":"(id : UInt8)","location":{"filename":"src/bose/control_space_serial.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L36"},"def":{"name":"set_parameter_group","args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"visibility":"Public","body":"(do_send(\"SS #{(id.to_s(16)).upcase}\", wait: false, name: \"set_pgroup\")).get\nself[:parameter_group] = id\n"}}]}]},{"html_id":"drivers/Cisco","path":"Cisco.html","kind":"module","full_name":"Cisco","name":"Cisco","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L4"},{"filename":"src/cisco/webex/api/messages.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L1"},{"filename":"src/cisco/webex/api/people.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L1"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L1"},{"filename":"src/cisco/webex/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L1"},{"filename":"src/cisco/webex/command.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L1"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L1"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L1"},{"filename":"src/cisco/webex/constants.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L1"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L1"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L1"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L1"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L1"},{"filename":"src/cisco/webex/models/device.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L1"},{"filename":"src/cisco/webex/models/event.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L1"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L1"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L1"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L1"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L1"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L1"},{"filename":"src/cisco/webex/models/message.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L1"},{"filename":"src/cisco/webex/models/peek.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L1"},{"filename":"src/cisco/webex/models/person.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L1"},{"filename":"src/cisco/webex/models/room.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L1"},{"filename":"src/cisco/webex/session.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L1"},{"filename":"src/cisco/webex/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L1"},{"filename":"src/cisco/webex/utils.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint","path":"Cisco/CollaborationEndpoint.html","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"bind_feedback(path:String,status_key:String)-instance-method","name":"bind_feedback","doc":"Bind arbitary device feedback to a status variable.","summary":"

Bind arbitary device feedback to a status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L425"},"def":{"name":"bind_feedback","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"register_feedback(path) do |value_path, value|\n if value_path == path\n self[status_key] = value\n else\n key_path = value_path.sub(path, \"\")\n hash = @status_keys[status_key]\n hash[key_path] = value\n self[status_key] = hash\n end\nend"}},{"html_id":"bind_status(path:String,status_key:String)-instance-method","name":"bind_status","doc":"Bind device status to a module status variable.","summary":"

Bind device status to a module status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":439,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L439"},"def":{"name":"bind_status","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"bind_path = \"Status/#{path.tr(\" \", \"/\")}\"\nbind_feedback(\"/#{bind_path}\", status_key)\npayload = xstatus(path)\nif (payload.size == 1) && (payload.has_key?(bind_path))\n self[status_key] = payload[bind_path]\nelse\n self[status_key] = @status_keys[status_key] = payload.transform_keys do |key|\n key.sub(path, \"\")\n end\nend\npayload\n"}},{"html_id":"clear_event(path:String)-instance-method","name":"clear_event","doc":"Clear external event subscribtions for a specific device path.","summary":"

Clear external event subscribtions for a specific device path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L481"},"def":{"name":"clear_event","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Clearing event subscription for #{path}\"\nend\nunregister_feedback(path)\n"}},{"html_id":"clear_feedback_subscriptions(connected:Bool=true)-instance-method","name":"clear_feedback_subscriptions","abstract":false,"args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool = true)","args_html":"(connected : Bool = true)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L409"},"def":{"name":"clear_feedback_subscriptions","args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"Unsubscribing all feedback\"\nend\n@status_keys.clear\nfeedback.clear\n@feedback_paths.clear\nif connected\n do_send(XAPI.xfeedback(:deregister_all))\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L74"},"def":{"name":"connected","visibility":"Public","body":"reset_connection_flags\nschedule.every(2.minutes) do\n ensure_feedback_registered\nend\nschedule.every(30.seconds) do\n if @last_received > 40.seconds.ago.to_unix\n heartbeat(timeout: 35)\n else\n disconnect\n end\nend\nschedule.in(10.seconds) do\n if @ready || @init_called\n else\n init_connection\n end\n schedule.in(15.seconds) do\n if (!@ready) || self[\"configuration\"]?.nil?\n disconnect\n end\n end\nend\nbegin\n transport.send(\"xPreferences OutputMode JSON\\n\")\nrescue\nend\nqueue.clear(abort_current: true)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L95"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nreset_connection_flags\nclear_feedback_subscriptions(false)\nqueue.clear(abort_current: true)\nself[:ready] = false\n"}},{"html_id":"ensure_feedback_registered-instance-method","name":"ensure_feedback_registered","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L107"},"def":{"name":"ensure_feedback_registered","visibility":"Public","body":"send(\"xPreferences OutputMode JSON\\n\", priority: 0, wait: false, name: \"output_json\")\nresults = @feedback_paths.map do |path|\n request = XAPI.xfeedback(:register, path)\n do_send(request, priority: 0, name: path)\nend\nspawn(same_thread: true) do\n success = 0\n results.each do |task|\n begin\n if task.get.state.success?\n success = success + 1\n end\n rescue\n end\n end\n logger.debug do\n \"FEEDBACK REGISTERED #{success}\"\n end\n if success > 0\n else\n disconnect\n end\nend\n@feedback_paths.size\n"}},{"html_id":"feedback_paths:Array(String)-instance-method","name":"feedback_paths","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L34"},"def":{"name":"feedback_paths","return_type":"Array(String)","visibility":"Public","body":"@feedback_paths"}},{"html_id":"generate_request_uuid-instance-method","name":"generate_request_uuid","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L103"},"def":{"name":"generate_request_uuid","visibility":"Public","body":"UUID.random.to_s"}},{"html_id":"on_event(path:String,mod_id:String,channel:String)-instance-method","name":"on_event","doc":"Subscribe another module to async device events.\nCallback methods must be of arity 1 and public.","summary":"

Subscribe another module to async device events.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"args_string":"(path : String, mod_id : String, channel : String)","args_html":"(path : String, mod_id : String, channel : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L471"},"def":{"name":"on_event","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Registering callback for #{path} to #{mod_id}/#{channel}\"\nend\nregister_feedback(path) do |event_path, value|\n event_json = {event_path => value}.to_json\n logger.debug do\n \"Publishing #{path} event to #{mod_id}/#{channel} with payload #{event_json}\"\n end\n publish(\"#{mod_id}/#{channel}\", event_json)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 80.milliseconds\nqueue.timeout = 3.seconds\n@peripheral_id = setting?(String, :peripheral_id)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"if @ignore_update\n @ignore_update = false\n return\nend\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\ndisconnect\n"}},{"html_id":"peripheral_id:String-instance-method","name":"peripheral_id","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L20"},"def":{"name":"peripheral_id","return_type":"String","visibility":"Public","body":"if (value = @peripheral_id).nil?\n @peripheral_id = (begin\n uuid = generate_request_uuid\n @ignore_update = true\n define_setting(:peripheral_id, uuid)\n uuid\n end)\nelse\n value\nend"}},{"html_id":"push_config-instance-method","name":"push_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L455"},"def":{"name":"push_config","visibility":"Public","body":"if config = setting?(Config, :configuration)\n xconfigurations(config)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L332"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n @last_received = Time.utc.to_unix\n payload = String.new(data)\n logger.debug do\n \"<- #{payload}\"\n end\n if transport.tokenizer.nil? && (payload =~ XAPI::LOGIN_COMPLETE)\n queue.clear(abort_current: true)\n sleep(500.milliseconds)\n transport.send(\"xPreferences OutputMode JSON\\n\")\n logger.info do\n \"initializing connection\"\n end\n spawn(same_thread: true) do\n init_connection\n end\n return\n end\n response = XAPI.parse(payload)\n if task.nil?\n return feedback.notify(response)\n end\n if task.xapi_request_id == response[\"ResultId\"]?\n command_result = task.xapi_callback.try(&.call(response))\n if command_result.nil?\n feedback.notify(response)\n end\n command_result == (:abort) ? task.abort : task.success(command_result)\n else\n feedback.notify(response)\n end\nrescue error : JSON::ParseException\n payload = (String.new(data)).strip\n case payload\n when \"OK\"\n task.try(&.success(payload))\n when \"Command not recognized.\"\n logger.error do\n \"Command not recognized: `#{task.try(&.request_payload)}`\"\n end\n task.try(&.abort(payload))\n else\n logger.debug do\n \"Malformed device response: #{error}\\n#{payload}\"\n end\n task.try(&.abort(\"Malformed device response: #{error}\"))\n end\nend"}},{"html_id":"register_feedback(path:String,&update_handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"register_feedback","doc":"Subscribe to feedback from the device.","summary":"

Subscribe to feedback from the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L376"},"def":{"name":"register_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"update_handler","external_name":"update_handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"if !@ready\n if feedback.contains?(path)\n else\n @feedback_paths << path\n @feedback_paths.uniq!\n feedback.insert(path, &update_handler)\n end\n return true\nend\nlogger.debug do\n \"Subscribing to device feedback for #{path}\"\nend\nif feedback.contains?(path)\nelse\n @feedback_paths << path\n @feedback_paths.uniq!\n request = XAPI.xfeedback(:register, path)\n result = do_send(request, name: path)\nend\nfeedback.insert(path, &update_handler)\nresult.try(&.get) || true\n"}},{"html_id":"sync_config-instance-method","name":"sync_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L461"},"def":{"name":"sync_config","visibility":"Public","body":"bind_feedback(\"/Configuration\", \"configuration\")\nsend(\"xConfiguration *\\n\", wait: false)\n"}},{"html_id":"unregister_feedback(path:String)-instance-method","name":"unregister_feedback","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L401"},"def":{"name":"unregister_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"if path == \"/\"\n return clear_feedback_subscriptions\nend\nlogger.debug do\n \"Unsubscribing feedback for #{path}\"\nend\nfeedback.remove(path)\n@feedback_paths.delete(path)\ndo_send(XAPI.xfeedback(:deregister, path))\n"}},{"html_id":"xcommand(command:String,multiline_body:String|Nil=nil,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-instance-method","name":"xcommand","doc":"Execute an xCommand on the device.","summary":"

Execute an xCommand on the device.

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L140"},"def":{"name":"xcommand","args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"request = XAPI.xcommand(command, **kwargs.merge({hash_args: hash_args}))\nname = if kwargs.empty?\n command\nelse\n if kwargs.size == 1\n \"#{command} #{kwargs.keys.to_a.first}\"\n end\nend\npriority = kwargs[:priority]? || queue.priority\ndo_send(request, multiline_body, name: name, priority: priority) do |response|\n result_key = (((command.split(' ')).last(2)).join(\"\")) + \"Result\"\n command_result = response[\"CommandResponse/#{result_key}/status\"]?\n failure_result = response[\"CommandResponse/Result/Reason\"]?\n result = command_result || failure_result\n if result\n if result == \"OK\"\n result\n else\n failure_result || (failure_result = response[\"CommandResponse/#{result_key}/Reason\"]?)\n logger.error do\n failure_result.inspect\n end\n :abort\n end\n else\n logger.warn do\n \"Unexpected response format\"\n end\n :abort\n end\nend\n"}},{"html_id":"xconfiguration(path:String,hash_args:Hash(String,JSONBasic)={}ofString=>JSONBasic,**kwargs)-instance-method","name":"xconfiguration","doc":"Apply a single configuration on the device.","summary":"

Apply a single configuration on the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"args_string":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L186"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"promises = hash_args.map do |setting, value|\n apply_configuration(path, setting, value)\nend\nkwargs.each do |setting, value|\n promise = apply_configuration(path, setting, value)\n promises << promise\nend\n(Promise.all(promises)).get.first\n"}},{"html_id":"xconfigurations(config:Config)-instance-method","name":"xconfigurations","doc":"Push a configuration settings to the device.","summary":"

Push a configuration settings to the device.

","abstract":false,"args":[{"name":"config","external_name":"config","restriction":"Config"}],"args_string":"(config : Config)","args_html":"(config : Config)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L135"},"def":{"name":"xconfigurations","args":[{"name":"config","external_name":"config","restriction":"Config"}],"visibility":"Public","body":"config.each do |path, settings|\n xconfiguration(path, settings)\nend"}},{"html_id":"xstatus(path:String)-instance-method","name":"xstatus","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L229"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"request = XAPI.xstatus(path)\npromise = Promise.new(Hash(String, Enumerable::JSONComplex))\ntask = do_send(request) do |response|\n prefix = \"Status/#{(XAPI.tokenize(path)).join('/')}\"\n results = {} of String => Enumerable::JSONComplex\n response.each do |key, value|\n if key.starts_with?(prefix)\n results[key] = value\n end\n end\n if !results.empty?\n promise.resolve(results)\n results\n else\n if error = response[\"Status/status\"]? || response[\"CommandResponse/Status/status\"]?\n reason = response[\"Status/Reason\"]? || response[\"CommandResponse/Status/Reason\"]?\n xpath = response[\"Status/XPath\"]? || response[\"CommandResponse/Status/XPath\"]?\n error_msg = \"#{reason} (#{xpath})\"\n promise.reject(RuntimeError.new(error_msg))\n logger.error do\n error_msg\n end\n :abort\n else\n results[prefix] = nil\n promise.resolve(results)\n results\n end\n end\nend\nspawn(same_thread: true) do\n task.get\n if task.state == (:abort)\n promise.reject(RuntimeError.new(\"failed to obtain status: #{path}\"))\n end\nend\npromise.get\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","path":"Cisco/CollaborationEndpoint/Cameras.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"camera_move(camera_id:Int32,pan:Interface::Camera::PanDirection|Nil=nil,pan_speed:Int32|Nil=nil,tilt:Interface::Camera::TiltDirection|Nil=nil,tilt_speed:Int32|Nil=nil,zoom:Interface::Zoomable::ZoomDirection|Nil=nil,zoom_speed:Int32|Nil=nil,focus:FocusDirection|Nil=nil)-instance-method","name":"camera_move","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"args_string":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","args_html":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L43"},"def":{"name":"camera_move","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif pan_speed\n if (1..15).includes?(pan_speed)\n else\n raise(ArgumentError.new(\"\\\"pan_speed\\\" must be within #{1..15}, was #{pan_speed}\"))\n end\nend\nif tilt_speed\n if (1..15).includes?(tilt_speed)\n else\n raise(ArgumentError.new(\"\\\"tilt_speed\\\" must be within #{1..15}, was #{tilt_speed}\"))\n end\nend\nif zoom_speed\n if (1..15).includes?(zoom_speed)\n else\n raise(ArgumentError.new(\"\\\"zoom_speed\\\" must be within #{1..15}, was #{zoom_speed}\"))\n end\nend\nxcommand(\"Camera Ramp\", camera_id: camera_id, pan: pan, pan_speed: pan_speed, tilt: tilt, tilt_speed: tilt_speed, zoom: zoom, zoom_speed: zoom_speed, focus: focus)\n"}},{"html_id":"camera_position_reset(camera_id:Int32,axis:CameraAxis|Nil=nil)-instance-method","name":"camera_position_reset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"args_string":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","args_html":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L40"},"def":{"name":"camera_position_reset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nxcommand(\"Camera PositionReset\", camera_id: camera_id, axis: axis)\n"}},{"html_id":"camera_preset(preset_id:Int32)-instance-method","name":"camera_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L16"},"def":{"name":"camera_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Activate\", preset_id: preset_id)\n"}},{"html_id":"camera_remove_preset(preset_id:Int32)-instance-method","name":"camera_remove_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L24"},"def":{"name":"camera_remove_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Remove\", preset_id: preset_id)\n"}},{"html_id":"camera_store_preset(camera_id:Int32,preset_id:Int32,name:String|Nil=nil,take_snapshot:Bool|Nil=nil,default_position:Bool|Nil=nil)-instance-method","name":"camera_store_preset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"args_string":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","args_html":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L18"},"def":{"name":"camera_store_preset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Store\", camera_id: camera_id, preset_id: preset_id, name: name, take_snapshot: take_snapshot, default_position: default_position)\n"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L107"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"pan_speed = pan_speed.clamp(-100.0, 100.0)\ntilt_speed = tilt_speed.clamp(-100.0, 100.0)\npan = if pan_speed.zero?\n pan_speed = nil\n PanDirection::Stop\nelse\n pan_speed.negative? ? PanDirection::Left : PanDirection::Right\nend\ntilt = if tilt_speed.zero?\n tilt_speed = nil\n TiltDirection::Stop\nelse\n tilt_speed.negative? ? TiltDirection::Down : TiltDirection::Up\nend\ncam = index.to_i\nif cam.zero?\n cam = 1\nend\nif pan_speed\n percentage = pan_speed.abs / 100.0\n pan_speed_actual = (percentage * 15.0).round.to_i\nend\nif tilt_speed\n percentage = tilt_speed.abs / 100.0\n tilt_speed_actual = (percentage * 15.0).round.to_i\nend\ncamera_move(camera_id: cam, pan: pan, pan_speed: pan_speed_actual, tilt: tilt, tilt_speed: tilt_speed_actual, zoom: ZoomDirection::Stop)\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L68"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncase position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0.0, tilt_speed: position.down? ? -50.0 : 50.0, index: cam)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -50.0 : 50.0, tilt_speed: 0.0, index: cam)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out, cam)\nend\n"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L148"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npreset = presets[position]?\nif preset\nelse\n raise(\"preset '#{position}' not found on camera #{index}\")\nend\ncamera_preset(preset_id: preset)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L179"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npresets.delete(name)\nif presets.empty?\n @presets.delete(cam)\nelse\n @presets[cam] = presets\nend\nsave_presets\ntrue\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L159"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\nin_use = @presets.values.flat_map(&.values)\nnext_available = ((1..35).to_a - in_use).first\npresets[name] = next_available\ncamera_store_preset(camera_id: cam, preset_id: next_available, name: name).get\n@presets[cam] = presets\nsave_presets\ntrue\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L56"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, pan: PanDirection::Stop, tilt: TiltDirection::Stop, zoom: ZoomDirection::Stop)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L96"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, zoom: direction, zoom_speed: 6)\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L92"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"raise(\"direct zoom unsupported on this camera\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/CameraAxis","path":"Cisco/CollaborationEndpoint/Cameras/CameraAxis.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::CameraAxis","name":"CameraAxis","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L27"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"0"},{"id":"Focus","name":"Focus","value":"1"},{"id":"PanTilt","name":"PanTilt","value":"2"},{"id":"Zoom","name":"Zoom","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L28"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L29"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan_tilt?-instance-method","name":"pan_tilt?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L30"},"def":{"name":"pan_tilt?","visibility":"Public","body":"self == PanTilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L31"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/FocusDirection","path":"Cisco/CollaborationEndpoint/Cameras/FocusDirection.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::FocusDirection","name":"FocusDirection","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L34"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Far","name":"Far","value":"0"},{"id":"Near","name":"Near","value":"1"},{"id":"Stop","name":"Stop","value":"2"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"far?-instance-method","name":"far?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L35"},"def":{"name":"far?","visibility":"Public","body":"self == Far"}},{"html_id":"near?-instance-method","name":"near?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L36"},"def":{"name":"near?","visibility":"Public","body":"self == Near"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L37"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/Interface","path":"Cisco/CollaborationEndpoint/Cameras/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Cameras::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Config","path":"Cisco/CollaborationEndpoint/Config.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Config","name":"Config","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L132"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","aliased_html":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Feedback","path":"Cisco/CollaborationEndpoint/Feedback.html","kind":"class","full_name":"Cisco::CollaborationEndpoint::Feedback","name":"Feedback","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L2"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L44"},"def":{"name":"clear","visibility":"Public","body":"@callbacks = Hash(String, Array(Proc(String, Enumerable::JSONComplex, Nil))).new do |h, k|\n h[k] = [] of Proc(String, Enumerable::JSONComplex, Nil)\nend"}},{"html_id":"contains?(path:String)-instance-method","name":"contains?","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L23"},"def":{"name":"contains?","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"found = false\n@callbacks.each_key do |key|\n if path.starts_with?(key)\n found = true\n break\n end\nend\nfound\n"}},{"html_id":"insert(path:String,&handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"insert","doc":"Insert a response handler block to be notified of updates effecting the\nspecified feedback path.","summary":"

Insert a response handler block to be notified of updates effecting the specified feedback path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L18"},"def":{"name":"insert","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"handler","external_name":"handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"@callbacks[path] << handler\nself\n"}},{"html_id":"notify(path:String,value:Enumerable::JSONComplex)-instance-method","name":"notify","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"args_string":"(path : String, value : Enumerable::JSONComplex)","args_html":"(path : String, value : Enumerable::JSONComplex)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L34"},"def":{"name":"notify","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"visibility":"Public","body":"@callbacks.each do |key, callbacks|\n if path.starts_with?(key)\n callbacks.each(&.call(path, value))\n end\nend"}},{"html_id":"notify(payload:Hash(String,Enumerable::JSONComplex))-instance-method","name":"notify","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"args_string":"(payload : Hash(String, Enumerable::JSONComplex))","args_html":"(payload : Hash(String, Enumerable::JSONComplex))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L40"},"def":{"name":"notify","args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"visibility":"Public","body":"payload.each do |key, value|\n notify(\"/#{key}\", value)\nend"}},{"html_id":"remove(path:String)-instance-method","name":"remove","doc":"Nuke a subtree below the path","summary":"

Nuke a subtree below the path

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L9"},"def":{"name":"remove","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"remove = [] of String\n@callbacks.each_key do |key|\n if key.starts_with?(path)\n remove << key\n end\nend\nremove.each do |key|\n @callbacks.delete(key)\nend\nself\n"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/JSONBasic","path":"Cisco/CollaborationEndpoint/JSONBasic.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","path":"Cisco/CollaborationEndpoint/Powerable.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"half_wake-instance-method","name":"half_wake","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L14"},"def":{"name":"half_wake","visibility":"Public","body":"xcommand(\"Standby HalfWake\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L18"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? powerup : half_wake\nself[:power] = state\n"}},{"html_id":"power_state(state:Interface::Powerable::PowerState)-instance-method","name":"power_state","doc":"override this to implement `PowerState::FullOff` if it is available for the device","summary":"

override this to implement PowerState::FullOff if it is available for the device

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"args_string":"(state : Interface::Powerable::PowerState)","args_html":"(state : Interface::Powerable::PowerState)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L23"},"def":{"name":"power_state","args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"visibility":"Public","body":"case state\nin .on?\n power(true)\nin .off?\n power(false)\nin .full_off?\n standby\n self[:power] = false\nend\nself[:power_state] = state\n"}},{"html_id":"powerup-instance-method","name":"powerup","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L13"},"def":{"name":"powerup","visibility":"Public","body":"xcommand(\"Standby Deactivate\")"}},{"html_id":"reset_standby_timer(delay:Int32)-instance-method","name":"reset_standby_timer","abstract":false,"args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"args_string":"(delay : Int32)","args_html":"(delay : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L16"},"def":{"name":"reset_standby_timer","args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"visibility":"Public","body":"if (1..480).includes?(delay)\nelse\n raise(ArgumentError.new(\"delay must be within #{1..480}, was #{delay}\"))\nend\nxcommand(\"Standby ResetTimer\", delay: delay)\n"}},{"html_id":"standby-instance-method","name":"standby","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L15"},"def":{"name":"standby","visibility":"Public","body":"xcommand(\"Standby Activate\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/Interface","path":"Cisco/CollaborationEndpoint/Powerable/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Powerable::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/PowerOff","path":"Cisco/CollaborationEndpoint/Powerable/PowerOff.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Powerable::PowerOff","name":"PowerOff","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L36"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Restart","name":"Restart","value":"0"},{"id":"Shutdown","name":"Shutdown","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},"instance_methods":[{"html_id":"restart?-instance-method","name":"restart?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L37"},"def":{"name":"restart?","visibility":"Public","body":"self == Restart"}},{"html_id":"shutdown?-instance-method","name":"shutdown?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L38"},"def":{"name":"shutdown?","visibility":"Public","body":"self == Shutdown"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","path":"Cisco/CollaborationEndpoint/Presentation.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"presentation_start(presentation_source:Int32|Nil=nil,sending_mode:SendingMode|Nil=nil,connector_id:Int32|Nil=nil,instance:Int32|Nil=nil)-instance-method","name":"presentation_start","abstract":false,"args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"args_string":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","args_html":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L24"},"def":{"name":"presentation_start","args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if presentation_source\n if (1..2).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..2}, was #{presentation_source}\"))\n end\nend\nif connector_id\n if (1..2).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..2}, was #{connector_id}\"))\n end\nend\nif instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nxcommand(\"Presentation Start\", presentation_source: presentation_source, sending_mode: sending_mode, connector_id: connector_id, instance: instance)\n"}},{"html_id":"presentation_stop(instance:Int32|Nil=nil,presentation_source:Int32|Nil=nil)-instance-method","name":"presentation_stop","abstract":false,"args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"args_string":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","args_html":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L29"},"def":{"name":"presentation_stop","args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nif presentation_source\n if (1..4).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..4}, was #{presentation_source}\"))\n end\nend\nxcommand(\"Presentation Stop\", instance: instance, presentation_source: presentation_source)\n"}},{"html_id":"send_presentation_to(remote:Bool)-instance-method","name":"send_presentation_to","abstract":false,"args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"args_string":"(remote : Bool)","args_html":"(remote : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L51"},"def":{"name":"send_presentation_to","args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"visibility":"Public","body":"@sending_mode = remote ? SendingMode::LocalRemote : SendingMode::LocalOnly\nself[:present_to_remote] = remote\nif input = @presenting_input\n presentation_start(presentation_source: input, sending_mode: @sending_mode)\nend\n"}},{"html_id":"switch_to(input:PresentationInputs)-instance-method","name":"switch_to","doc":"Provide compatabilty with the router module for activating presentation.","summary":"

Provide compatabilty with the router module for activating presentation.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"args_string":"(input : PresentationInputs)","args_html":"(input : PresentationInputs)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"visibility":"Public","body":"if input.none?\n @presenting_input = nil\n presentation_stop\nelse\n source = input.to_s[5..-1].to_i\n @presenting_input = source\n presentation_start(presentation_source: source, sending_mode: @sending_mode)\nend\nself[:presenting_input] = @presenting_input\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/PresentationInputs","path":"Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::PresentationInputs","name":"PresentationInputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"},{"id":"Input3","name":"Input3","value":"3"},{"id":"Input4","name":"Input4","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"input3?-instance-method","name":"input3?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L9"},"def":{"name":"input3?","visibility":"Public","body":"self == Input3"}},{"html_id":"input4?-instance-method","name":"input4?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L10"},"def":{"name":"input4?","visibility":"Public","body":"self == Input4"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/SendingMode","path":"Cisco/CollaborationEndpoint/Presentation/SendingMode.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::SendingMode","name":"SendingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LocalRemote","name":"LocalRemote","value":"0"},{"id":"LocalOnly","name":"LocalOnly","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"local_only?-instance-method","name":"local_only?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L18"},"def":{"name":"local_only?","visibility":"Public","body":"self == LocalOnly"}},{"html_id":"local_remote?-instance-method","name":"local_remote?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L17"},"def":{"name":"local_remote?","visibility":"Public","body":"self == LocalRemote"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presets","path":"Cisco/CollaborationEndpoint/Presets.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Int32, Hash(String, Int32))","aliased_html":"Hash(Int32, Hash(String, Int32))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"Camera idx => Preset name => Preset id","summary":"

Camera idx => Preset name => Preset id

"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Toogle","path":"Cisco/CollaborationEndpoint/Toogle.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L15"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"used by many of the commands","summary":"

used by many of the commands

","instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L17"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L16"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","path":"Cisco/CollaborationEndpoint/UIExtensions.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"msg_alert(text:String,title:String|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"msg_alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L7"},"def":{"name":"msg_alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message Alert Display\", text: text, title: title, duration: duration)\n"}},{"html_id":"msg_alert_clear-instance-method","name":"msg_alert_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L6"},"def":{"name":"msg_alert_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"msg_prompt(text:String,options:Array(JSON::Any::Type),title:String|Nil=nil,feedback_id:String|Nil=nil,duration:Int64|Nil=nil)-instance-method","name":"msg_prompt","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"args_string":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","args_html":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L14"},"def":{"name":"msg_prompt","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"option_map = {} of String => JSON::Any::Type\n(\"Option.1\"..\"Option.5\").each_with_index do |key, i|\n if i >= options.size\n break\n end\n option_map[key] = options[i]\nend\nxcommand(\"UserInterface Message Prompt Display\", hash_args: Hash(String, JSON::Any::Type) {\"text\" => text, \"title\" => title, \"feedback_id\" => feedback_id, \"duration\" => duration}.merge(option_map))\n"}},{"html_id":"msg_prompt_clear-instance-method","name":"msg_prompt_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L12"},"def":{"name":"msg_prompt_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Prompt Clear\")"}},{"html_id":"msg_text(text:String,feedback_id:String,title:String|Nil=nil,duration:Int32|Nil=nil,input_type:TextInputType|Nil=nil,keyboard_state:TextKeyboardState|Nil=nil,place_holder:String|Nil=nil,submit_text:String|Nil=nil)-instance-method","name":"msg_text","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"args_string":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","args_html":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L45"},"def":{"name":"msg_text","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message TextInput Display\", text: text, feedback_id: feedback_id, title: title, duration: duration, input_type: input_type, keyboard_state: keyboard_state, place_holder: place_holder, submit_text: submit_text)\n"}},{"html_id":"msg_text_clear-instance-method","name":"msg_text_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L44"},"def":{"name":"msg_text_clear","visibility":"Public","body":"xcommand(\"UserInterface Message TextInput Clear\")"}},{"html_id":"ui_extensions_clear-instance-method","name":"ui_extensions_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L73"},"def":{"name":"ui_extensions_clear","visibility":"Public","body":"xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"ui_extensions_deploy(id:String,xml_def:String)-instance-method","name":"ui_extensions_deploy","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L65"},"def":{"name":"ui_extensions_deploy","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface Extensions Set\", xml_def, config_id: id)"}},{"html_id":"ui_extensions_list-instance-method","name":"ui_extensions_list","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L69"},"def":{"name":"ui_extensions_list","visibility":"Public","body":"xcommand(\"UserInterface Extensions List\")"}},{"html_id":"ui_set_value(widget:String,value:JSON::Any::Type|Nil=nil)-instance-method","name":"ui_set_value","abstract":false,"args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"args_string":"(widget : String, value : JSON::Any::Type | Nil = nil)","args_html":"(widget : String, value : JSON::Any::Type | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L55"},"def":{"name":"ui_set_value","args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"visibility":"Public","body":"if value.nil?\n xcommand(\"UserInterface Extensions Widget UnsetValue\", widget_id: widget)\nelse\n xcommand(\"UserInterface Extensions Widget SetValue\", value: value, widget_id: widget)\nend"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextInputType","path":"Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextInputType","name":"TextInputType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L32"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SingleLine","name":"SingleLine","value":"0"},{"id":"Numeric","name":"Numeric","value":"1"},{"id":"Password","name":"Password","value":"2"},{"id":"PIN","name":"PIN","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"numeric?-instance-method","name":"numeric?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L34"},"def":{"name":"numeric?","visibility":"Public","body":"self == Numeric"}},{"html_id":"password?-instance-method","name":"password?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L35"},"def":{"name":"password?","visibility":"Public","body":"self == Password"}},{"html_id":"pin?-instance-method","name":"pin?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L36"},"def":{"name":"pin?","visibility":"Public","body":"self == PIN"}},{"html_id":"single_line?-instance-method","name":"single_line?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L33"},"def":{"name":"single_line?","visibility":"Public","body":"self == SingleLine"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState","path":"Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextKeyboardState","name":"TextKeyboardState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L39"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L41"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L40"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","path":"Cisco/CollaborationEndpoint/XAPI.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L3"},{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BOOL_OR","name":"BOOL_OR","value":"->(term : String) do\n ->(val : String) do\n val == term ? term : BOOLEAN.call(val)\n end\nend"},{"id":"BOOLEAN","name":"BOOLEAN","value":"->(val : String) do\n TRUTHY.includes?(val.downcase)\nend"},{"id":"COMMAND_RESPONSE","name":"COMMAND_RESPONSE","value":"Regex.union(INVALID_COMMAND, SUCCESS)"},{"id":"FALSEY","name":"FALSEY","value":"{\"false\", \"unavailable\", \"off\", \"inactive\"}"},{"id":"INVALID_COMMAND","name":"INVALID_COMMAND","value":"/(?<=Command not recognized\\.)[\\r\\n]+/","doc":"Regexp's for tokenizing the xAPI command and response structure.","summary":"

Regexp's for tokenizing the xAPI command and response structure.

"},{"id":"LOGIN_COMPLETE","name":"LOGIN_COMPLETE","value":"/Login successful/"},{"id":"PARSERS","name":"PARSERS","value":"{\"TTPAR_OnOff\" => BOOLEAN, \"TTPAR_OnOffAuto\" => BOOL_OR.call(\"Auto\"), \"TTPAR_OnOffCurrent\" => BOOL_OR.call(\"Current\"), \"TTPAR_MuteEnabled\" => BOOLEAN}"},{"id":"SUCCESS","name":"SUCCESS","value":"/(?<=OK)[\\r\\n]+/"},{"id":"TRUTHY","name":"TRUTHY","value":"{\"true\", \"available\", \"standby\", \"on\", \"active\"}"}],"including_types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"class_methods":[{"html_id":"create_action(__action__:ActionType,*args,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,priority:Int32|Nil=nil,**kwargs)-class-method","name":"create_action","doc":"Serialize an xAPI action into transmittable command.","summary":"

Serialize an xAPI action into transmittable command.

","abstract":false,"args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"args_string":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","args_html":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L45"},"def":{"name":"create_action","args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"splat_index":1,"visibility":"Public","body":"[__action__.to_s.camelcase(lower: true), args.compact_map(&.to_s), hash_args.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend, kwargs.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend.to_a.compact!].flatten.join(\" \")"}},{"html_id":"parse(data:String)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L31"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"(JSON.parse(data)).as_h.flatten_xapi_json"}},{"html_id":"tokenize(path:String)-class-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L101"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split(/[\\s\\/\\\\]/)).reject(&.empty?)"}},{"html_id":"value_convert(value:String,valuespace:String|Nil=nil)-class-method","name":"value_convert","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"args_string":"(value : String, valuespace : String | Nil = nil)","args_html":"(value : String, valuespace : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L15"},"def":{"name":"value_convert","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"begin\n parser = PARSERS[valuespace]?\n if parser\n else\n return value.to_i64\n end\n parser.call(value)\nrescue\n check = value.downcase\n if check.in?(TRUTHY)\n true\n else\n if check.in?(FALSEY)\n false\n else\n value\n end\n end\nend"}},{"html_id":"xcommand(path:String,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-class-method","name":"xcommand","doc":"Serialize an xCommand into transmittable command.","summary":"

Serialize an xCommand into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L71"},"def":{"name":"xcommand","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"create_action(ActionType::XCommand, path, **kwargs.merge({hash_args: hash_args}))"}},{"html_id":"xconfiguration(path:String,setting:String,value:JSON::Any::Type)-class-method","name":"xconfiguration","doc":"Serialize an xConfiguration action into a transmittable command.","summary":"

Serialize an xConfiguration action into a transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"args_string":"(path : String, setting : String, value : JSON::Any::Type)","args_html":"(path : String, setting : String, value : JSON::Any::Type)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L80"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"visibility":"Public","body":"create_action(ActionType::XConfiguration, path, hash_args: {setting => value})"}},{"html_id":"xfeedback(action:FeedbackAction,path:String|Nil=nil)-class-method","name":"xfeedback","doc":"Serialize a xFeedback subscription request.","summary":"

Serialize a xFeedback subscription request.

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(action : FeedbackAction, path : String | Nil = nil)","args_html":"(action : FeedbackAction, path : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L92"},"def":{"name":"xfeedback","args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"if path\n xpath = tokenize(path)\n create_action(ActionType::XFeedback, action, \"/#{xpath.join('/')}\")\nelse\n create_action(ActionType::XFeedback, action)\nend"}},{"html_id":"xstatus(path:String)-class-method","name":"xstatus","doc":"Serialize an xStatus request into transmittable command.","summary":"

Serialize an xStatus request into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L87"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"create_action(ActionType::XStatus, path)"}}],"macros":[{"html_id":"command(cmd_name,**params)-macro","name":"command","abstract":false,"args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"args_string":"(cmd_name, **params)","args_html":"(cmd_name, **params)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L106"},"def":{"name":"command","args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":" \n{% for cmd, name in cmd_name %}\n def {{ name.id }}(\n {% for param, klass in params %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {% if klass.is_a?(RangeLiteral) %}\n {{ param.id }} : Int32{% if optional %}? = nil{% end %},\n {% else %}\n {{ param.id }} : {{ klass }}{% if optional %}? = nil{% end %},\n {% end %}\n {% end %}\n )\n {% for param, klass in params %}\n {% if klass.is_a?(RangeLiteral) %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n {% if optional %} if {{ param.id }}{% end %}\n raise ArgumentError.new(\"#{ {{ param.stringify }} } must be within #{ {{ klass }} }, was #{ {{ param.id }} }\") unless ({{ klass }}).includes?({{ param.id }})\n {% if optional %}end{% end %}\n {% end %}\n {% end %}\n\n # send the command\n xcommand(\n {{ cmd }},\n {% for param, klass in params %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {{ param.id }}: {{ param.id }},\n {% end %}\n )\n end\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/ActionType","path":"Cisco/CollaborationEndpoint/XAPI/ActionType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::ActionType","name":"ActionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"XConfiguration","name":"XConfiguration","value":"0"},{"id":"XCommand","name":"XCommand","value":"1"},{"id":"XStatus","name":"XStatus","value":"2"},{"id":"XFeedback","name":"XFeedback","value":"3"},{"id":"XPreferences","name":"XPreferences","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"x_command?-instance-method","name":"x_command?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L31"},"def":{"name":"x_command?","visibility":"Public","body":"self == XCommand"}},{"html_id":"x_configuration?-instance-method","name":"x_configuration?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L30"},"def":{"name":"x_configuration?","visibility":"Public","body":"self == XConfiguration"}},{"html_id":"x_feedback?-instance-method","name":"x_feedback?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L33"},"def":{"name":"x_feedback?","visibility":"Public","body":"self == XFeedback"}},{"html_id":"x_preferences?-instance-method","name":"x_preferences?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L34"},"def":{"name":"x_preferences?","visibility":"Public","body":"self == XPreferences"}},{"html_id":"x_status?-instance-method","name":"x_status?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L32"},"def":{"name":"x_status?","visibility":"Public","body":"self == XStatus"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/FeedbackAction","path":"Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::FeedbackAction","name":"FeedbackAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L37"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Register","name":"Register","value":"0"},{"id":"Deregister","name":"Deregister","value":"1"},{"id":"DeregisterAll","name":"DeregisterAll","value":"2"},{"id":"List","name":"List","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"deregister?-instance-method","name":"deregister?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L39"},"def":{"name":"deregister?","visibility":"Public","body":"self == Deregister"}},{"html_id":"deregister_all?-instance-method","name":"deregister_all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L40"},"def":{"name":"deregister_all?","visibility":"Public","body":"self == DeregisterAll"}},{"html_id":"list?-instance-method","name":"list?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L41"},"def":{"name":"list?","visibility":"Public","body":"self == List"}},{"html_id":"register?-instance-method","name":"register?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L38"},"def":{"name":"register?","visibility":"Public","body":"self == Register"}}]}]}]},{"html_id":"drivers/Cisco/DNASpaces","path":"Cisco/DNASpaces.html","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L9"},{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IOT_SENSORS","name":"IOT_SENSORS","value":"{SensorType::Presence, SensorType::PeopleCount, SensorType::Humidity, SensorType::AirQuality, SensorType::SoundPressure, SensorType::Temperature}"},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"activate-instance-method","name":"activate","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L104"},"def":{"name":"activate","visibility":"Public","body":"if @activation_token.empty?\n return\nend\nresponse = get(\"/client/v1/partner/partnerPublicKey/\")\nif response.success?\nelse\n raise(\"failed to obtain partner public key, code #{response.status_code}\")\nend\nlogger.debug do\n \"public key requested: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: Array(ActivactionPublicKey)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining partner public key: #{payload[:message]}\")\nend\npublic_key = payload[:data][0].public_key\npayload, header = JWT.decode(@activation_token, public_key, JWT::Algorithm::RS256, @verify_activation_key)\napp_id = payload[\"appId\"].as_s\nref_id = payload[\"activationRefId\"].as_s\ntenant_id = payload[\"tenantId\"].as_i64.to_s\nresponse = post(\"/client/v1/partner/activateOnPremiseApp\", headers: {\"Content-Type\" => \"application/json\", \"Authorization\" => \"Bearer #{@activation_token}\"}, body: {appId: app_id, activationRefId: ref_id}.to_json)\nif response.success?\nelse\n raise(\"failed to obtain API key, code #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"application activated: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: NamedTuple(apiKey: String)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining API key: #{payload[:message]}\")\nend\napi_key = payload[:data][:apiKey]\nlogger.debug do\n \"saving API key: #{tenant_id}, #{api_key}\"\nend\ndefine_setting(:tenant_id, tenant_id)\ndefine_setting(:dna_spaces_api_key, api_key)\ndefine_setting(:dna_spaces_activation_key, \"\")\nlogger.debug do\n \"settings saved! Starting stream\"\nend\n@api_key = api_key\n@tenant_id = tenant_id\nif !@streaming\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":513,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L513"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"if location = locate_mac(mac_address)\n {location: \"wireless\", assigned_to: format_username(location.raw_user_id), mac_address: format_mac(mac_address)}\nend"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L244"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago.to_unix\nremove_keys = [] of String\nlocations do |locs|\n locs.each do |mac, location|\n if location.last_seen < old\n remove_keys << mac\n end\n end\n remove_keys.each do |mac|\n locs.delete(mac)\n end\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":524,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L524"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of Nil\nend\nfloors = [] of String\nadjustments = {} of String => Tuple(Float64, Float64, Float64, Float64)\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n offset_x = (data[\"offset_x\"]? || 0.0).as(Float64)\n offset_y = (data[\"offset_y\"]? || 0.0).as(Float64)\n map_width = (data[\"map_width\"]? || -1.0).as(Float64)\n map_height = (data[\"map_height\"]? || -1.0).as(Float64)\n adjustments[floor_id] = {offset_x, offset_y, map_width, map_height}\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of Nil\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago.to_unix\nmatching = locations(&.compact_map do |mac, loc|\n if loc.last_seen < oldest_location\n too_old = too_old + 1\n next\n end\n if (floors & loc.location_mappings.values).empty?\n wrong_floor = wrong_floor + 1\n next\n end\n loc.device.mac_address = mac\n loc\nend)\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.map_id).flat_map do |map_id, locations|\n map_width = -1.0\n map_height = -1.0\n offset_x = 0.0\n offset_y = 0.0\n locations.first.location_mappings.each_value do |location_id|\n if level_data = adjustments[location_id]?\n offset_x, offset_y, map_width, map_height = level_data\n break\n end\n end\n if (map_width == -1.0) || (map_height == -1.0)\n if map_size = get_map_details(map_id)\n map_width = map_width > -1.0 ? map_width : ( map_size.length - offset_x)\n map_height = map_height > -1.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n locations.map do |loc|\n lat = loc.latitude\n lon = loc.longitude\n {location: :wireless, coordinates_from: \"top-left\", x: loc.x_pos - offset_x, y: loc.y_pos - offset_y, lon: lon, lat: lat, s2_cell_id: (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), mac: loc.device.mac_address, variance: loc.unc, last_seen: loc.last_seen, map_width: map_width, map_height: map_height, ssid: loc.ssid, manufacturer: loc.device.manufacturer, os: loc.device.os}\n end\nend\n"}},{"html_id":"devices(&)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L194"},"def":{"name":"devices","yields":1,"block_arity":1,"visibility":"Public","body":"@dev_lock.synchronize do\n yield @devices\nend"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":614,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L614"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L618"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_location_info(location_id:String)-instance-method","name":"get_location_info","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L168"},"def":{"name":"get_location_info","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/partners/v1/locations/#{location_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\nif response.success?\nelse\n raise(\"failed to obtain location id #{location_id}, code #{response.status_code}\")\nend\nLocationInfo.from_json(response.body.not_nil!)\n"}},{"html_id":"get_map_details(map_id:String)-instance-method","name":"get_map_details","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L226"},"def":{"name":"get_map_details","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"map = @map_lock.synchronize do\n @map_details[map_id]?\nend\nif !map\n response = get(\"/api/partners/v1/maps/#{map_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\n if !response.success?\n message = \"failed to obtain map id #{map_id}, code #{response.status_code}\"\n logger.warn do\n message\n end\n return nil\n end\n map = (MapInfo.from_json(response.body.not_nil!)).dimension\n @map_lock.synchronize do\n @map_details[map_id] = map\n end\nend\nmap\n"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L216"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"MAC Locations: #{locations(&.keys)}\"\nend\n{tracking: locations(&.size), events_received: @events_received}\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L210"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"formatted_address = format_mac(address)\nlocations do |locs|\n locs[formatted_address]?\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"=============================\nLocatable interface\n=============================","summary":"

============================= Locatable interface =============================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L427"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"if macs = user_lookup(username.presence || email.presence.not_nil!)\n location_max_age = @max_location_age.ago.to_unix\n macs.compact_map do |mac|\n if location = locate_mac(mac)\n if location.last_seen > location_max_age\n location.device.mac_address = mac\n location\n end\n end\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end.map do |location|\n lat = location.latitude\n lon = location.longitude\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"top-left\", \"x\" => location.x_pos, \"y\" => location.y_pos, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), \"mac\" => location.device.mac_address, \"variance\" => location.unc, \"last_seen\" => location.last_seen, \"dna_floor_id\" => location.map_id, \"ssid\" => location.ssid, \"manufacturer\" => location.device.manufacturer, \"os\" => location.device.os}\n map_width = 0.0\n map_height = 0.0\n offset_x = 0.0\n offset_y = 0.0\n location.location_mappings.each_value do |location_id|\n if level_data = @floorplan_mappings[location_id]?\n level_data.each do |key, value|\n case key\n when \"offset_x\"\n offset_x = value.as(Float64)\n loc[\"x\"] = location.x_pos - offset_x\n when \"offset_y\"\n offset_y = value.as(Float64)\n loc[\"y\"] = location.y_pos - offset_y\n when \"map_width\"\n map_width = value.as(Float64)\n when \"map_height\"\n map_height = value.as(Float64)\n else\n loc[key] = value\n end\n end\n break\n end\n end\n if map_width > 0.0 && map_height > 0.0\n loc[\"map_width\"] = map_width\n loc[\"map_height\"] = map_height\n else\n if map_size = get_map_details(location.map_id)\n loc[\"map_width\"] = map_width > 0.0 ? map_width : ( map_size.length - offset_x)\n loc[\"map_height\"] = map_height > 0.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n loc\n end\nelse\n [] of Nil\nend"}},{"html_id":"locations(&)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L190"},"def":{"name":"locations","yields":1,"block_arity":1,"visibility":"Public","body":"@loc_lock.synchronize do\n yield @locations\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L508"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(user_lookup(username.presence || email.presence.not_nil!)).try(&.to_a) || ([] of String)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nif !@api_key.empty?\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L56"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close\n@stream_active = false\nupdate_monitoring_status(running: false)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L73"},"def":{"name":"on_update","visibility":"Public","body":"@max_location_age = ((setting?(UInt32, :max_location_age)) || 10).minutes\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@debug_stream = (setting?(Bool, :debug_stream)) || false\n@verify_activation_key = (setting?(Bool, :verify_activation_key)) || false\nschedule.clear\nschedule.every(30.minutes) do\n cleanup_caches\nend\nschedule.every(5.minutes) do\n update_monitoring_status\nend\nschedule.in(5.seconds) do\n update_monitoring_status\nend\n@activation_token = (setting?(String, :dna_spaces_activation_key)) || \"\"\nif @activation_token.empty?\n @api_key = setting(String, :dna_spaces_api_key)\n @tenant_id = (setting(String | Int64, :tenant_id)).to_s\nelse\n @api_key = (setting?(String, :dna_spaces_api_key)) || \"\"\n @tenant_id = (setting?(String | Int64, :tenant_id)).try(&.to_s) || \"\"\n if @api_key.empty?\n schedule.in(5.seconds) do\n activate\n end\n end\nend\nif (!@streaming) && (!@api_key.empty?)\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"seen_locations-instance-method","name":"seen_locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L180"},"def":{"name":"seen_locations","visibility":"Public","body":"@description_lock.synchronize do\n @location_descriptions.dup\nend"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L117"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nmac = format_mac(mac)\ndevice = devices do |dev|\n dev[mac]?\nend\nif device\nelse\n return nil\nend\nfilter = SensorType.parse(id)\ncase device\nin IotTelemetry\n (to_sensors(nil, filter, device)).first?\nin DeviceLocationUpdate\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L88"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nfilter = type ? SensorType.parse(type) : nil\nif filter && (!(filter.in?(IOT_SENSORS)))\n return NO_MATCH\nend\nif mac\n mac = format_mac(mac)\n device = devices do |dev|\n dev[mac]?\n end\n if device\n else\n return NO_MATCH\n end\n return case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\ndevice_values = devices(&.values)\ndevice_values.flat_map do |device|\n case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\n"}},{"html_id":"update_monitoring_status(running:Bool=true):Nil-instance-method","name":"update_monitoring_status","doc":"This provides the DNA Spaces dashboard with stream consumption status","summary":"

This provides the DNA Spaces dashboard with stream consumption status

","abstract":false,"args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"args_string":"(running : Bool = true) : Nil","args_html":"(running : Bool = true) : Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L629"},"def":{"name":"update_monitoring_status","args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = put(\"/api/partners/v1/monitoring/status\", headers: {\"Content-Type\" => \"application/json\", \"X-API-KEY\" => @api_key}, body: {data: {overallStatus: {status: running ? \"up\" : \"down\", notices: [] of Nil}, instanceDetails: {ipAddress: \"\", instanceId: module_id}, cloudFirehose: {status: @stream_active ? \"connected\" : \"disconnected\", lastReceived: @last_received}, localFirehose: {status: \"disconnected\", lastReceived: 0}, subsystems: [] of Nil}}.to_json)\nif response.success?\nelse\n raise(\"failed to update status, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"user_lookup(&)-instance-method","name":"user_lookup","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L201"},"def":{"name":"user_lookup","yields":1,"block_arity":1,"visibility":"Public","body":"@user_loc.synchronize do\n yield @user_lookup\nend"}},{"html_id":"user_lookup(user_id:String)-instance-method","name":"user_lookup","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L205"},"def":{"name":"user_lookup","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"formatted_user = format_username(user_id)\nuser_lookup do |lookup|\n lookup[formatted_user]?\nend\n"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/ActivactionPublicKey","path":"Cisco/DNASpaces/ActivactionPublicKey.html","kind":"class","full_name":"Cisco::DNASpaces::ActivactionPublicKey","name":"ActivactionPublicKey","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"public_key-instance-method","name":"public_key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L11"},"def":{"name":"public_key","visibility":"Public","body":"\"-----BEGIN PUBLIC KEY-----\\n#{@public_key}\\n-----END PUBLIC KEY-----\\n\""}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L6"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivaction","path":"Cisco/DNASpaces/AppActivaction.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivaction","name":"AppActivaction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"instance_name:String-instance-method","name":"instance_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L20"},"def":{"name":"instance_name","return_type":"String","visibility":"Public","body":"@instance_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L13"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"reference_id:String-instance-method","name":"reference_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L17"},"def":{"name":"reference_id","return_type":"String","visibility":"Public","body":"@reference_id"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L10"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L7"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","path":"Cisco/DNASpaces/AppActivactionWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L108"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L109"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:AppActivaction-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L112"},"def":{"name":"payload","return_type":"AppActivaction","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/BlePayload","path":"Cisco/DNASpaces/BlePayload.html","kind":"class","full_name":"Cisco::DNASpaces::BlePayload","name":"BlePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data","return_type":"String","visibility":"Public","body":"@data"}},{"html_id":"data=(data:String)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"@data = data"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdate","path":"Cisco/DNASpaces/BleRssiUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdate","name":"BleRssiUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L48"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"notification:RssiNotification-instance-method","name":"notification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L47"},"def":{"name":"notification","return_type":"RssiNotification","visibility":"Public","body":"@notification"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","path":"Cisco/DNASpaces/BleRssiUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L122"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L123"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:BleRssiUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L126"},"def":{"name":"payload","return_type":"BleRssiUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Device","path":"Cisco/DNASpaces/Device.html","kind":"class","full_name":"Cisco::DNASpaces::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_id:String-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L7"},"def":{"name":"device_id","return_type":"String","visibility":"Public","body":"@device_id"}},{"html_id":"email-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L16"},"def":{"name":"email","visibility":"Public","body":"@email.try(&.downcase)"}},{"html_id":"email_raw:String?-instance-method","name":"email_raw","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L20"},"def":{"name":"email_raw","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L27"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L24"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L30"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L42"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L13"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L43"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os_version:String|Nil-instance-method","name":"os_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L46"},"def":{"name":"os_version","return_type":"String | ::Nil","visibility":"Public","body":"@os_version"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L33"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L12"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L47"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCount","path":"Cisco/DNASpaces/DeviceCount.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCount","name":"DeviceCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"associated_count:Int32-instance-method","name":"associated_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L9"},"def":{"name":"associated_count","return_type":"Int32","visibility":"Public","body":"@associated_count"}},{"html_id":"estimated_capacity_percentage:Float64-instance-method","name":"estimated_capacity_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L21"},"def":{"name":"estimated_capacity_percentage","return_type":"Float64","visibility":"Public","body":"@estimated_capacity_percentage"}},{"html_id":"estimated_density:Float64-instance-method","name":"estimated_density","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L18"},"def":{"name":"estimated_density","return_type":"Float64","visibility":"Public","body":"@estimated_density"}},{"html_id":"estimated_probing_count:Int32-instance-method","name":"estimated_probing_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L12"},"def":{"name":"estimated_probing_count","return_type":"Int32","visibility":"Public","body":"@estimated_probing_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L6"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"probing_randomized_percentage:Float64-instance-method","name":"probing_randomized_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L15"},"def":{"name":"probing_randomized_percentage","return_type":"Float64","visibility":"Public","body":"@probing_randomized_percentage"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","path":"Cisco/DNASpaces/DeviceCountWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L116"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceCount-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L119"},"def":{"name":"payload","return_type":"DeviceCount","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntry","path":"Cisco/DNASpaces/DeviceEntry.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntry","name":"DeviceEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"days_sinc_last_visit:Int32-instance-method","name":"days_sinc_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L25"},"def":{"name":"days_sinc_last_visit","return_type":"Int32","visibility":"Public","body":"@days_sinc_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L22"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L16"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L13"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L19"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","path":"Cisco/DNASpaces/DeviceEntryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L53"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceEntry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L56"},"def":{"name":"payload","return_type":"DeviceEntry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExit","path":"Cisco/DNASpaces/DeviceExit.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExit","name":"DeviceExit","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L34"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L22"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L19"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L28"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L25"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L31"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L37"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L16"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","path":"Cisco/DNASpaces/DeviceExitWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L60"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceExit-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L63"},"def":{"name":"payload","return_type":"DeviceExit","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdate","path":"Cisco/DNASpaces/DeviceLocationUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdate","name":"DeviceLocationUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L33"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L21"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L38"},"def":{"name":"has_position?","visibility":"Public","body":"true"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L34"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L46"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L35"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L12"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L9"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L36"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"@unc"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L15"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L27"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L30"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","path":"Cisco/DNASpaces/DeviceLocationUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L81"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceLocationUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L84"},"def":{"name":"payload","return_type":"DeviceLocationUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresence","path":"Cisco/DNASpaces/DevicePresence.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresence","name":"DevicePresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_devices_count:Int32-instance-method","name":"active_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L50"},"def":{"name":"active_devices_count","return_type":"Int32","visibility":"Public","body":"@active_devices_count"}},{"html_id":"days_since_last_visit:Int32-instance-method","name":"days_since_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L23"},"def":{"name":"days_since_last_visit","return_type":"Int32","visibility":"Public","body":"@days_since_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L11"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L44"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L29"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L26"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_date_time:String-instance-method","name":"exit_date_time","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L35"},"def":{"name":"exit_date_time","return_type":"String","visibility":"Public","body":"@exit_date_time"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L32"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_devices_count:Int32-instance-method","name":"inactive_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L53"},"def":{"name":"inactive_devices_count","return_type":"Int32","visibility":"Public","body":"@inactive_devices_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L12"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L7"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L17"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L14"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L41"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L47"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L38"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L20"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L10"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","path":"Cisco/DNASpaces/DevicePresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L94"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L95"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DevicePresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L98"},"def":{"name":"payload","return_type":"DevicePresence","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Dimension","path":"Cisco/DNASpaces/Dimension.html","kind":"class","full_name":"Cisco::DNASpaces::Dimension","name":"Dimension","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L8"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L6"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"offset_x:Float64-instance-method","name":"offset_x","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L11"},"def":{"name":"offset_x","return_type":"Float64","visibility":"Public","body":"@offset_x"}},{"html_id":"offset_y:Float64-instance-method","name":"offset_y","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L14"},"def":{"name":"offset_y","return_type":"Float64","visibility":"Public","body":"@offset_y"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L7"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/Cisco/DNASpaces/Events","path":"Cisco/DNASpaces/Events.html","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper"},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper"},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive"},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper"},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is used to map the various events into a simpler data structure","summary":"

This is used to map the various events into a simpler data structure

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"event type hint","summary":"

event type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"eventType\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'eventType' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'eventType'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"KEEP_ALIVE\"\n KeepAlive.from_json(json)\nwhen \"DEVICE_ENTRY\"\n DeviceEntryWrapper.from_json(json)\nwhen \"DEVICE_EXIT\"\n DeviceExitWrapper.from_json(json)\nwhen \"PROFILE_UPDATE\"\n ProfileUpdateWrapper.from_json(json)\nwhen \"LOCATION_CHANGE\"\n LocationChangeWrapper.from_json(json)\nwhen \"DEVICE_LOCATION_UPDATE\"\n DeviceLocationUpdateWrapper.from_json(json)\nwhen \"TP_PEOPLE_COUNT_UPDATE\"\n PeopleCountUpdateWrapper.from_json(json)\nwhen \"DEVICE_PRESENCE\"\n DevicePresenceWrapper.from_json(json)\nwhen \"USER_PRESENCE\"\n UserPresenceWrapper.from_json(json)\nwhen \"APP_ACTIVATION\"\n AppActivactionWrapper.from_json(json)\nwhen \"DEVICE_COUNT\"\n DeviceCountWrapper.from_json(json)\nwhen \"BLE_RSSI_UPDATE\"\n BleRssiUpdateWrapper.from_json(json)\nwhen \"IOT_TELEMETRY\"\n IotTelemetryWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'eventType' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L41"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"record_timestamp:Int64-instance-method","name":"record_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L32"},"def":{"name":"record_timestamp","return_type":"Int64","visibility":"Public","body":"@record_timestamp"}},{"html_id":"record_uid:String-instance-method","name":"record_uid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L29"},"def":{"name":"record_uid","return_type":"String","visibility":"Public","body":"@record_uid"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L35"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L38"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotDeviceInfo","path":"Cisco/DNASpaces/IotDeviceInfo.html","kind":"class","full_name":"Cisco::DNASpaces::IotDeviceInfo","name":"IotDeviceInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_name:String-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name","return_type":"String","visibility":"Public","body":"@device_name"}},{"html_id":"device_name=(device_name:String)-instance-method","name":"device_name=","abstract":false,"args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"args_string":"(device_name : String)","args_html":"(device_name : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name=","args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"visibility":"Public","body":"@device_name = device_name"}},{"html_id":"firmware_version:String-instance-method","name":"firmware_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version","return_type":"String","visibility":"Public","body":"@firmware_version"}},{"html_id":"firmware_version=(firmware_version:String)-instance-method","name":"firmware_version=","abstract":false,"args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"args_string":"(firmware_version : String)","args_html":"(firmware_version : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version=","args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"visibility":"Public","body":"@firmware_version = firmware_version"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer","return_type":"String","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"args_string":"(manufacturer : String)","args_html":"(manufacturer : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L26"},"def":{"name":"os","visibility":"Public","body":"type"}},{"html_id":"raw_id:String-instance-method","name":"raw_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id","return_type":"String","visibility":"Public","body":"@raw_id"}},{"html_id":"raw_id=(raw_id:String)-instance-method","name":"raw_id=","abstract":false,"args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"args_string":"(raw_id : String)","args_html":"(raw_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id=","args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"visibility":"Public","body":"@raw_id = raw_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotPosition","path":"Cisco/DNASpaces/IotPosition.html","kind":"class","full_name":"Cisco::DNASpaces::IotPosition","name":"IotPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L44"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L45"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L46"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"time_located:Int64-instance-method","name":"time_located","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located","return_type":"Int64","visibility":"Public","body":"@time_located"}},{"html_id":"time_located=(time_located:Int64)-instance-method","name":"time_located=","abstract":false,"args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"args_string":"(time_located : Int64)","args_html":"(time_located : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located=","args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"visibility":"Public","body":"@time_located = time_located"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L38"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L41"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetry","path":"Cisco/DNASpaces/IotTelemetry.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetry","name":"IotTelemetry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"air_pressure-instance-method","name":"air_pressure","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L165"},"def":{"name":"air_pressure","visibility":"Public","body":"if pressure = @air_pressure_actual\n pressure[:pressure]\nend"}},{"html_id":"air_pressure_actual:NamedTuple(pressure:Float64)|Nil-instance-method","name":"air_pressure_actual","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L127"},"def":{"name":"air_pressure_actual","return_type":"NamedTuple(pressure: Float64) | ::Nil","visibility":"Public","body":"@air_pressure_actual"}},{"html_id":"air_quality-instance-method","name":"air_quality","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L147"},"def":{"name":"air_quality","visibility":"Public","body":"if index = @air_quality_index\n index[:airQualityIndex]\nend"}},{"html_id":"air_quality_index:NamedTuple(airQualityIndex:Float64)|Nil-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L118"},"def":{"name":"air_quality_index","return_type":"NamedTuple(airQualityIndex: Float64) | ::Nil","visibility":"Public","body":"@air_quality_index"}},{"html_id":"ambient_noise-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L143"},"def":{"name":"ambient_noise","visibility":"Public","body":"tele_presence_data.try(&.ambient_noise)"}},{"html_id":"confidence_factor(*args,**options)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.confidence_factor(*args, **options)"}},{"html_id":"confidence_factor(*args,**options,&)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.confidence_factor(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"detected_position:IotPosition|Nil-instance-method","name":"detected_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L98"},"def":{"name":"detected_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@detected_position"}},{"html_id":"device:IotDeviceInfo-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L95"},"def":{"name":"device","return_type":"IotDeviceInfo","visibility":"Public","body":"@device"}},{"html_id":"device_rtc:Int64-instance-method","name":"device_rtc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L106"},"def":{"name":"device_rtc","return_type":"Int64","visibility":"Public","body":"@device_rtc"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L191"},"def":{"name":"has_position?","visibility":"Public","body":"!(!(@detected_position || @placed_position))"}},{"html_id":"humidity-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L159"},"def":{"name":"humidity","visibility":"Public","body":"if humidity = @humidity_percent\n humidity[:humidityInPercentage]\nend"}},{"html_id":"humidity_percent:NamedTuple(humidityInPercentage:Float64)|Nil-instance-method","name":"humidity_percent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L124"},"def":{"name":"humidity_percent","return_type":"NamedTuple(humidityInPercentage: Float64) | ::Nil","visibility":"Public","body":"@humidity_percent"}},{"html_id":"last_seen-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L215"},"def":{"name":"last_seen","visibility":"Public","body":"tele_presence_data.try(&.time_stamp) || position.time_located"}},{"html_id":"last_seen=(time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":""}],"args_string":"(time)","args_html":"(time)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L219"},"def":{"name":"last_seen=","args":[{"name":"time","external_name":"time","restriction":""}],"visibility":"Public","body":"if tele_data = tele_presence_data\n tele_data.time_stamp = time\nelse\n position.time_located = time\nend"}},{"html_id":"latitude(*args,**options)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.latitude(*args, **options)"}},{"html_id":"latitude(*args,**options,&)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.latitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L103"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L181"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude(*args,**options)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.longitude(*args, **options)"}},{"html_id":"longitude(*args,**options,&)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.longitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id(*args,**options)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.map_id(*args, **options)"}},{"html_id":"map_id(*args,**options,&)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.map_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id=(id)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L207"},"def":{"name":"map_id=","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"position.map_id = id"}},{"html_id":"people_count-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L135"},"def":{"name":"people_count","visibility":"Public","body":"tele_presence_data.try(&.people_count)"}},{"html_id":"pir_trigger:NamedTuple(timestamp:Int64)|Nil-instance-method","name":"pir_trigger","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L130"},"def":{"name":"pir_trigger","return_type":"NamedTuple(timestamp: Int64) | ::Nil","visibility":"Public","body":"@pir_trigger"}},{"html_id":"pir_triggered-instance-method","name":"pir_triggered","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L171"},"def":{"name":"pir_triggered","visibility":"Public","body":"if pir_trigger = @pir_trigger\n pir_trigger[:timestamp]\nend"}},{"html_id":"placed_position:IotPosition|Nil-instance-method","name":"placed_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L101"},"def":{"name":"placed_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@placed_position"}},{"html_id":"position:IotPosition-instance-method","name":"position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L195"},"def":{"name":"position","return_type":"IotPosition","visibility":"Public","body":"(@detected_position || @placed_position).not_nil!"}},{"html_id":"presence-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L139"},"def":{"name":"presence","visibility":"Public","body":"tele_presence_data.try(&.presence)"}},{"html_id":"raw_header:Int64-instance-method","name":"raw_header","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L109"},"def":{"name":"raw_header","return_type":"Int64","visibility":"Public","body":"@raw_header"}},{"html_id":"raw_payload:String-instance-method","name":"raw_payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L112"},"def":{"name":"raw_payload","return_type":"String","visibility":"Public","body":"@raw_payload"}},{"html_id":"raw_user_id-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L227"},"def":{"name":"raw_user_id","visibility":"Public","body":"\"\""}},{"html_id":"sequence_num:Int64-instance-method","name":"sequence_num","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L115"},"def":{"name":"sequence_num","return_type":"Int64","visibility":"Public","body":"@sequence_num"}},{"html_id":"ssid-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L235"},"def":{"name":"ssid","visibility":"Public","body":"\"IoT\""}},{"html_id":"tele_presence_data:TpData|Nil-instance-method","name":"tele_presence_data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L133"},"def":{"name":"tele_presence_data","return_type":"TpData | ::Nil","visibility":"Public","body":"@tele_presence_data"}},{"html_id":"temperature-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L153"},"def":{"name":"temperature","visibility":"Public","body":"if temp = @temperature_celsius\n temp[:temperatureInCelsius]\nend"}},{"html_id":"temperature_celsius:NamedTuple(temperatureInCelsius:Float64)|Nil-instance-method","name":"temperature_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L121"},"def":{"name":"temperature_celsius","return_type":"NamedTuple(temperatureInCelsius: Float64) | ::Nil","visibility":"Public","body":"@temperature_celsius"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L231"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"3.0"}},{"html_id":"visit_id-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L211"},"def":{"name":"visit_id","visibility":"Public","body":"\"unknown for IoT\""}},{"html_id":"x_pos(*args,**options)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.x_pos(*args, **options)"}},{"html_id":"x_pos(*args,**options,&)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.x_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"y_pos(*args,**options)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.y_pos(*args, **options)"}},{"html_id":"y_pos(*args,**options,&)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.y_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","path":"Cisco/DNASpaces/IotTelemetryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L129"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L130"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:IotTelemetry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L133"},"def":{"name":"payload","return_type":"IotTelemetry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","path":"Cisco/DNASpaces/KeepAlive.html","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L45"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L47"},"def":{"name":"payload","visibility":"Public","body":"nil"}}]},{"html_id":"drivers/Cisco/DNASpaces/Location","path":"Cisco/DNASpaces/Location.html","kind":"class","full_name":"Cisco::DNASpaces::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"descriptions(mappings={}ofString=>String)-instance-method","name":"descriptions","doc":"Maps location_ids to location names","summary":"

Maps location_ids to location names

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L25"},"def":{"name":"descriptions","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.descriptions(mappings))\nmappings[location_id] = name\nmappings\n"}},{"html_id":"details(mappings={}ofString=>String)-instance-method","name":"details","doc":"Maps tag names to location_ids","summary":"

Maps tag names to location_ids

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L18"},"def":{"name":"details","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.details(mappings))\ntags.each do |tag|\n mappings[tag] = location_id\nend\nmappings\n"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L7"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"parent:Location|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L15"},"def":{"name":"parent","return_type":"Location | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L13"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange","path":"Cisco/DNASpaces/LocationChange.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_type:String-instance-method","name":"change_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L7"},"def":{"name":"change_type","return_type":"String","visibility":"Public","body":"@change_type"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L8"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/LocationChange/LocationDetails","path":"Cisco/DNASpaces/LocationChange/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L25"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L22"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L24"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L27"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L28"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"metadata:Array(Metadata)-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L30"},"def":{"name":"metadata","return_type":"Array(Metadata)","visibility":"Public","body":"@metadata"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L23"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L21"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange/Metadata","path":"Cisco/DNASpaces/LocationChange/Metadata.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L13"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"values:Array(String)-instance-method","name":"values","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L14"},"def":{"name":"values","return_type":"Array(String)","visibility":"Public","body":"@values"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","path":"Cisco/DNASpaces/LocationChangeWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L74"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:LocationChange-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L77"},"def":{"name":"payload","return_type":"LocationChange","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationDetails","path":"Cisco/DNASpaces/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L12"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L9"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L11"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L14"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L15"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L10"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L7"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationInfo","path":"Cisco/DNASpaces/LocationInfo.html","kind":"class","full_name":"Cisco::DNASpaces::LocationInfo","name":"LocationInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"details:LocationDetails-instance-method","name":"details","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L165"},"def":{"name":"details","return_type":"LocationDetails","visibility":"Public","body":"@details"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L162"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}]},{"html_id":"drivers/Cisco/DNASpaces/MapInfo","path":"Cisco/DNASpaces/MapInfo.html","kind":"class","full_name":"Cisco::DNASpaces::MapInfo","name":"MapInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dimension:Cisco::DNASpaces::Dimension-instance-method","name":"dimension","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L29"},"def":{"name":"dimension","return_type":"Cisco::DNASpaces::Dimension","visibility":"Public","body":"@dimension"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L21"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_height:Float64-instance-method","name":"image_height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L27"},"def":{"name":"image_height","return_type":"Float64","visibility":"Public","body":"@image_height"}},{"html_id":"image_width:Float64-instance-method","name":"image_width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L24"},"def":{"name":"image_width","return_type":"Float64","visibility":"Public","body":"@image_width"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdate","path":"Cisco/DNASpaces/PeopleCountUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdate","name":"PeopleCountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is triggered from telepresence devices","summary":"

This is triggered from telepresence devices

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L25"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L19"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L22"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L9"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L13"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L10"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L28"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L16"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L31"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"tp_device_id:String-instance-method","name":"tp_device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L8"},"def":{"name":"tp_device_id","return_type":"String","visibility":"Public","body":"@tp_device_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","path":"Cisco/DNASpaces/PeopleCountUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L88"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:PeopleCountUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L91"},"def":{"name":"payload","return_type":"PeopleCountUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","path":"Cisco/DNASpaces/ProfileUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L67"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:Device-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L70"},"def":{"name":"payload","return_type":"Device","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiMeasurement","path":"Cisco/DNASpaces/RssiMeasurement.html","kind":"class","full_name":"Cisco::DNASpaces::RssiMeasurement","name":"RssiMeasurement","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"antenna_id:Int32-instance-method","name":"antenna_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id","return_type":"Int32","visibility":"Public","body":"@antenna_id"}},{"html_id":"antenna_id=(antenna_id:Int32)-instance-method","name":"antenna_id=","abstract":false,"args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"args_string":"(antenna_id : Int32)","args_html":"(antenna_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id=","args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"visibility":"Public","body":"@antenna_id = antenna_id"}},{"html_id":"band_id:Int32-instance-method","name":"band_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id","return_type":"Int32","visibility":"Public","body":"@band_id"}},{"html_id":"band_id=(band_id:Int32)-instance-method","name":"band_id=","abstract":false,"args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"args_string":"(band_id : Int32)","args_html":"(band_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id=","args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"visibility":"Public","body":"@band_id = band_id"}},{"html_id":"if_slot_id:Int32-instance-method","name":"if_slot_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id","return_type":"Int32","visibility":"Public","body":"@if_slot_id"}},{"html_id":"if_slot_id=(if_slot_id:Int32)-instance-method","name":"if_slot_id=","abstract":false,"args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"args_string":"(if_slot_id : Int32)","args_html":"(if_slot_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id=","args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"visibility":"Public","body":"@if_slot_id = if_slot_id"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiNotification","path":"Cisco/DNASpaces/RssiNotification.html","kind":"class","full_name":"Cisco::DNASpaces::RssiNotification","name":"RssiNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"measurements:Array(RssiMeasurement)-instance-method","name":"measurements","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements","return_type":"Array(RssiMeasurement)","visibility":"Public","body":"@measurements"}},{"html_id":"measurements=(measurements:Array(RssiMeasurement))-instance-method","name":"measurements=","abstract":false,"args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"args_string":"(measurements : Array(RssiMeasurement))","args_html":"(measurements : Array(RssiMeasurement))","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements=","args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"visibility":"Public","body":"@measurements = measurements"}},{"html_id":"payload:BlePayload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload","return_type":"BlePayload","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:BlePayload)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"args_string":"(payload : BlePayload)","args_html":"(payload : BlePayload)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"visibility":"Public","body":"@payload = payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/TpData","path":"Cisco/DNASpaces/TpData.html","kind":"class","full_name":"Cisco::DNASpaces::TpData","name":"TpData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"active_calls=(active_calls:Int32)-instance-method","name":"active_calls=","abstract":false,"args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"args_string":"(active_calls : Int32)","args_html":"(active_calls : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls=","args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"visibility":"Public","body":"@active_calls = active_calls"}},{"html_id":"air_quality_index:Float64-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index","return_type":"Float64","visibility":"Public","body":"@air_quality_index"}},{"html_id":"air_quality_index=(air_quality_index:Float64)-instance-method","name":"air_quality_index=","abstract":false,"args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"args_string":"(air_quality_index : Float64)","args_html":"(air_quality_index : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index=","args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"visibility":"Public","body":"@air_quality_index = air_quality_index"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"ambient_noise=(ambient_noise:Int32)-instance-method","name":"ambient_noise=","abstract":false,"args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"args_string":"(ambient_noise : Int32)","args_html":"(ambient_noise : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise=","args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"visibility":"Public","body":"@ambient_noise = ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"dryness_score=(dryness_score:Int32)-instance-method","name":"dryness_score=","abstract":false,"args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"args_string":"(dryness_score : Int32)","args_html":"(dryness_score : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score=","args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"visibility":"Public","body":"@dryness_score = dryness_score"}},{"html_id":"humidity_in_percentage:Float64-instance-method","name":"humidity_in_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage","return_type":"Float64","visibility":"Public","body":"@humidity_in_percentage"}},{"html_id":"humidity_in_percentage=(humidity_in_percentage:Float64)-instance-method","name":"humidity_in_percentage=","abstract":false,"args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"args_string":"(humidity_in_percentage : Float64)","args_html":"(humidity_in_percentage : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage=","args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"visibility":"Public","body":"@humidity_in_percentage = humidity_in_percentage"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"people_count=(people_count:Int32)-instance-method","name":"people_count=","abstract":false,"args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"args_string":"(people_count : Int32)","args_html":"(people_count : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count=","args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"visibility":"Public","body":"@people_count = people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L88"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"presentation_state=(presentation_state:Int32)-instance-method","name":"presentation_state=","abstract":false,"args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"args_string":"(presentation_state : Int32)","args_html":"(presentation_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state=","args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"visibility":"Public","body":"@presentation_state = presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"standby_state=(standby_state:Int32)-instance-method","name":"standby_state=","abstract":false,"args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"args_string":"(standby_state : Int32)","args_html":"(standby_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state=","args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"visibility":"Public","body":"@standby_state = standby_state"}},{"html_id":"temperature_in_celsius:Float64-instance-method","name":"temperature_in_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius","return_type":"Float64","visibility":"Public","body":"@temperature_in_celsius"}},{"html_id":"temperature_in_celsius=(temperature_in_celsius:Float64)-instance-method","name":"temperature_in_celsius=","abstract":false,"args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"args_string":"(temperature_in_celsius : Float64)","args_html":"(temperature_in_celsius : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius=","args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"visibility":"Public","body":"@temperature_in_celsius = temperature_in_celsius"}},{"html_id":"time_stamp:Int64-instance-method","name":"time_stamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp","return_type":"Int64","visibility":"Public","body":"@time_stamp"}},{"html_id":"time_stamp=(time_stamp:Int64)-instance-method","name":"time_stamp=","abstract":false,"args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"args_string":"(time_stamp : Int64)","args_html":"(time_stamp : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp=","args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"visibility":"Public","body":"@time_stamp = time_stamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence","path":"Cisco/DNASpaces/UserPresence.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_users_count:UserCount-instance-method","name":"active_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L79"},"def":{"name":"active_users_count","return_type":"UserCount","visibility":"Public","body":"@active_users_count"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L64"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L61"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L70"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L67"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_users_count:UserCount-instance-method","name":"inactive_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L82"},"def":{"name":"inactive_users_count","return_type":"UserCount","visibility":"Public","body":"@inactive_users_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L52"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L46"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L55"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L76"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"user:User-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L51"},"def":{"name":"user","return_type":"User","visibility":"Public","body":"@user"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L73"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L58"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L49"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/UserPresence/User","path":"Cisco/DNASpaces/UserPresence/User.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L13"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L16"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L20"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L17"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L23"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L15"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L26"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L14"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence/UserCount","path":"Cisco/DNASpaces/UserPresence/UserCount.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::UserCount","name":"UserCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"total_users:Int64-instance-method","name":"total_users","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L42"},"def":{"name":"total_users","return_type":"Int64","visibility":"Public","body":"@total_users"}},{"html_id":"users_with_user_id:Int64-instance-method","name":"users_with_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L36"},"def":{"name":"users_with_user_id","return_type":"Int64","visibility":"Public","body":"@users_with_user_id"}},{"html_id":"users_without_user_id:Int64-instance-method","name":"users_without_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L39"},"def":{"name":"users_without_user_id","return_type":"Int64","visibility":"Public","body":"@users_without_user_id"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","path":"Cisco/DNASpaces/UserPresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L102"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:UserPresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L105"},"def":{"name":"payload","return_type":"UserPresence","visibility":"Public","body":"@payload"}}]}]},{"html_id":"drivers/Cisco/Ise","path":"Cisco/Ise.html","kind":"module","full_name":"Cisco::Ise","name":"Ise","abstract":false,"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Ise/Guests","path":"Cisco/Ise/Guests.html","kind":"class","full_name":"Cisco::Ise::Guests","name":"Guests","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/vnd.com.cisco.ise.identity.guestuser.2.0+xml\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_guest(event_start:Int64,attendee_email:String,attendee_name:String,company_name:String|Nil=nil,phone_number:String=\"0123456789\",sms_service_provider:String|Nil=nil,guest_type:String|Nil=nil,portal_id:String|Nil=nil)-instance-method","name":"create_guest","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"args_string":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = \"0123456789\", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","args_html":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = "0123456789", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L53"},"def":{"name":"create_guest","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"guest_names = attendee_name.split\nfirst_name_index_end = guest_names.size > 1 ? -2 : -1\nfirst_name = guest_names[0..first_name_index_end].join(' ')\nlast_name = guest_names[-1]\nusername = genererate_username(first_name, last_name)\nif setting?(Bool, :test)\n return {\"username\" => username, \"password\" => UUID.random.to_s[0..3]}.merge(@custom_data)\nend\nsms_service_provider || (sms_service_provider = @sms_service_provider)\nguest_type || (guest_type = @guest_type)\nportal_id || (portal_id = @portal_id)\ntime_object = (Time.unix(event_start)).in(@timezone)\nfrom_date = time_object.at_beginning_of_day.to_s(TIME_FORMAT)\nto_date = time_object.at_end_of_day.to_s(TIME_FORMAT)\ncompany_name || (company_name = ((attendee_email.split('@'))[1].split('.'))[0].capitalize)\nxml_string = \"\\n \"\nif @location\n xml_string = xml_string + \"\\n \"\nend\nxml_string = xml_string + \"\\n \\n #{from_date}\"\nif @location\n xml_string = xml_string + \"\\n #{@location}\"\nend\nxml_string = xml_string + \"\\n #{to_date}\\n 1\\n \\n \\n #{company_name}\\n #{attendee_email}\\n #{first_name}\\n #{last_name}\\n English\\n #{phone_number}\"\nif sms_service_provider\n xml_string = xml_string + \"\\n #{sms_service_provider}\"\nend\nxml_string = xml_string + \"\\n #{username}\\n \\n #{guest_type}\\n #{portal_id}\\n \"\nresponse = post(\"/guestuser/\", body: xml_string, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\nguest_id = (response.headers[\"Location\"].split('/')).last\n(guest_crendentials(guest_id)).merge(@custom_data)\n"}},{"html_id":"guest_crendentials(id:String)-instance-method","name":"guest_crendentials","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L140"},"def":{"name":"guest_crendentials","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/guestuser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nparsed_body = XML.parse(response.body)\nguest_user = parsed_body.first_element_child.not_nil!\nguest_info = guest_user.children.find do |c|\n c.name == \"guestInfo\"\nend.not_nil!\n{\"username\" => guest_info.children.find do |c|\n c.name == \"userName\"\nend.not_nil!.content, \"password\" => guest_info.children.find do |c|\n c.name == \"password\"\nend.not_nil!.content}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@basic_auth = \"Basic #{Base64.strict_encode(\"#{setting?(String, :username)}:#{setting?(String, :password)}\")}\"\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@location = setting?(String, :location)\n@sms_service_provider = setting?(String, :sms_service_provider)\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, JSON::Any::Type), :custom_data)) || ({} of String => JSON::Any::Type)\n"}},{"html_id":"test2-instance-method","name":"test2","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L164"},"def":{"name":"test2","visibility":"Public","body":"xml_string = \"\\n\\n\\n08/06/2014 23:22\\n08/07/2014 23:22\\n1\\n\\n\\nNew Company\\njohn@example.com\\nJohn\\nDoe\\nEnglish\\n9999998877\\nGlobal Default\\nautoguestuser1\\n\\nDaily\\nsponsor\\nportal101\\ninterview\\n\"\ntest_xml(xml_string)\n"}},{"html_id":"test_json(json:String)-instance-method","name":"test_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L190"},"def":{"name":"test_json","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: json, headers: {\"Accept\" => \"application/json\", \"Content-Type\" => \"application/json\", \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"test_xml(xml_string:String)-instance-method","name":"test_xml","abstract":false,"args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"args_string":"(xml_string : String)","args_html":"(xml_string : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L155"},"def":{"name":"test_xml","args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: (XML.parse(xml_string)).to_s, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}}]},{"html_id":"drivers/Cisco/Ise/Models","path":"Cisco/Ise/Models.html","kind":"module","full_name":"Cisco::Ise::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"types":[{"html_id":"drivers/Cisco/Ise/Models/InternalUser","path":"Cisco/Ise/Models/InternalUser.html","kind":"class","full_name":"Cisco::Ise::Models::InternalUser","name":"InternalUser","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Ise/Models","kind":"module","full_name":"Cisco::Ise::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_password:Bool-instance-method","name":"change_password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password","return_type":"Bool","visibility":"Public","body":"@change_password"}},{"html_id":"change_password=(change_password:Bool)-instance-method","name":"change_password=","abstract":false,"args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"args_string":"(change_password : Bool)","args_html":"(change_password : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password=","args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"visibility":"Public","body":"@change_password = change_password"}},{"html_id":"custom_attributes:Hash(String,String)-instance-method","name":"custom_attributes","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes","return_type":"Hash(String, String)","visibility":"Public","body":"@custom_attributes"}},{"html_id":"custom_attributes=(custom_attributes:Hash(String,String))-instance-method","name":"custom_attributes=","abstract":false,"args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"args_string":"(custom_attributes : Hash(String, String))","args_html":"(custom_attributes : Hash(String, String))","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes=","args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@custom_attributes = custom_attributes"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"enabled=(enabled:Bool)-instance-method","name":"enabled=","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"args_string":"(enabled : Bool)","args_html":"(enabled : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled=","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"visibility":"Public","body":"@enabled = enabled"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"identity_groups:String|Nil-instance-method","name":"identity_groups","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups","return_type":"String | ::Nil","visibility":"Public","body":"@identity_groups"}},{"html_id":"identity_groups=(identity_groups:String|Nil)-instance-method","name":"identity_groups=","abstract":false,"args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"args_string":"(identity_groups : String | Nil)","args_html":"(identity_groups : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups=","args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"visibility":"Public","body":"@identity_groups = identity_groups"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"password:String|Nil-instance-method","name":"password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password","return_type":"String | ::Nil","visibility":"Public","body":"@password"}},{"html_id":"password=(password:String|Nil)-instance-method","name":"password=","abstract":false,"args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(password : String | Nil)","args_html":"(password : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password=","args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"@password = password"}},{"html_id":"password_store:String-instance-method","name":"password_store","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store","return_type":"String","visibility":"Public","body":"@password_store"}},{"html_id":"password_store=(password_store:String)-instance-method","name":"password_store=","abstract":false,"args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"args_string":"(password_store : String)","args_html":"(password_store : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store=","args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"visibility":"Public","body":"@password_store = password_store"}}]}]},{"html_id":"drivers/Cisco/Ise/NetworkAccess","path":"Cisco/Ise/NetworkAccess.html","kind":"class","full_name":"Cisco::Ise::NetworkAccess","name":"NetworkAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/network_access.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/json\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_internal_user(email:String,name:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,password:String|Nil=nil,identity_groups:Array(String)=[]ofString)-instance-method","name":"create_internal_user","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","args_html":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L79"},"def":{"name":"create_internal_user","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"name || (name = email)\npassword || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = Models::InternalUser.from_json({name: name, email: email, password: password, firstName: first_name, lastName: last_name, description: description, identityGroups: identity_groups.join(\",\")}.to_json)\nif @debug\n logger.debug do\n \"Creating Internal User: #{internal_user.to_json}\"\n end\nend\nresponse = post(\"/internaluser/\", body: {\"InternalUser\" => internal_user}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"Failed to create internal user, code #{response.status_code}\\n#{response.body}\")\nend\nuser = get_internal_user_by_name(name)\nuser.password = password\nuser\n"}},{"html_id":"get_internal_user_by_email(email:String)-instance-method","name":"get_internal_user_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L160"},"def":{"name":"get_internal_user_by_email","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/?filter=email.CONTAINS.#{email}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\nresources = parsed_body[\"SearchResult\"].as_h[\"resources\"].as_a\nif resources.empty?\n raise(\"returned body has no resources\")\nend\nget_internal_user_by_id(resources.first.as_h[\"id\"].to_s)\n"}},{"html_id":"get_internal_user_by_id(id:String)-instance-method","name":"get_internal_user_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L126"},"def":{"name":"get_internal_user_by_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by id, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"get_internal_user_by_name(name:String)-instance-method","name":"get_internal_user_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L143"},"def":{"name":"get_internal_user_by_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/name/#{name}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by name, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L49"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L53"},"def":{"name":"on_update","visibility":"Public","body":"username = setting?(String, :username)\npassword = setting?(String, :password)\n@basic_auth = [\"Basic\", Base64.strict_encode([username, password].join(\":\"))].join(\" \")\n@debug = (setting?(Bool, :debug)) || false\n@test_mode = (setting?(Bool, :test)) || false\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@sms_service_provider = setting?(String, :sms_service_provider)\n@password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, String), :custom_data)) || ({} of String => String)\nif @debug\n logger.debug do\n \"Basic auth details: #{@basic_auth}\"\n end\nend\n"}},{"html_id":"update_internal_user_identity_groups_by_email(email:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, identity_groups : Array(String))","args_html":"(email : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L262"},"def":{"name":"update_internal_user_identity_groups_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_email(email)\nupdate_internal_user_identity_groups_by_id(internal_user.id.to_s, identity_groups)\n"}},{"html_id":"update_internal_user_identity_groups_by_id(id:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(id : String, identity_groups : Array(String))","args_html":"(id : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L236"},"def":{"name":"update_internal_user_identity_groups_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_id(id)\nresponse = put(\"/internaluser/#{internal_user.id}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_identity_groups_by_name(name:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(name : String, identity_groups : Array(String))","args_html":"(name : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L250"},"def":{"name":"update_internal_user_identity_groups_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"response = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_email(email:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(email : String, password : String | Nil = nil)","args_html":"(email : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L222"},"def":{"name":"update_internal_user_password_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = get_internal_user_by_email(email)\nupdate_internal_user_password_by_id(internal_user.id.to_s, password)\n"}},{"html_id":"update_internal_user_password_by_id(id:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(id : String, password : String | Nil = nil)","args_html":"(id : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L180"},"def":{"name":"update_internal_user_password_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/#{id}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_name(name:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(name : String, password : String | Nil = nil)","args_html":"(name : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L201"},"def":{"name":"update_internal_user_password_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}}]}]},{"html_id":"drivers/Cisco/Meraki","path":"Cisco/Meraki.html","kind":"module","full_name":"Cisco::Meraki","name":"Meraki","abstract":false,"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L6"},{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L4"},{"filename":"src/cisco/meraki/scanning_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"\"%FT%T%z\""}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"doc":"Meraki MQTT Data Models","summary":"

Meraki MQTT Data Models

","types":[{"html_id":"drivers/Cisco/Meraki/AlertType","path":"Cisco/Meraki/AlertType.html","kind":"enum","full_name":"Cisco::Meraki::AlertType","name":"AlertType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L365"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PortConnected","name":"PortConnected","value":"0"},{"id":"PortDisconnected","name":"PortDisconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"port_connected?-instance-method","name":"port_connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L366"},"def":{"name":"port_connected?","visibility":"Public","body":"self == PortConnected"}},{"html_id":"port_disconnected?-instance-method","name":"port_disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L367"},"def":{"name":"port_disconnected?","visibility":"Public","body":"self == PortDisconnected"}}]},{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","path":"Cisco/Meraki/CameraAnalytics.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601_MS","name":"ISO8601_MS","value":"\"%FT%T.%3N%z\""}],"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ts:Time-instance-method","name":"ts","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts","return_type":"Time","visibility":"Public","body":"@ts"}},{"html_id":"ts=(ts:Time)-instance-method","name":"ts=","abstract":false,"args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"args_string":"(ts : Time)","args_html":"(ts : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts=","args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"visibility":"Public","body":"@ts = ts"}},{"html_id":"zones:Hash(Int64,PeopleCount)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones","return_type":"Hash(Int64, PeopleCount)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Hash(Int64,PeopleCount))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"args_string":"(zones : Hash(Int64, PeopleCount))","args_html":"(zones : Hash(Int64, PeopleCount))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"visibility":"Public","body":"@zones = zones"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraAnalytics/PeopleCount","path":"Cisco/Meraki/CameraAnalytics/PeopleCount.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics::PeopleCount","name":"PeopleCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person:Int32-instance-method","name":"person","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person","return_type":"Int32","visibility":"Public","body":"@person"}},{"html_id":"person=(person:Int32)-instance-method","name":"person=","abstract":false,"args":[{"name":"person","external_name":"person","restriction":"Int32"}],"args_string":"(person : Int32)","args_html":"(person : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person=","args":[{"name":"person","external_name":"person","restriction":"Int32"}],"visibility":"Public","body":"@person = person"}}]}]},{"html_id":"drivers/Cisco/Meraki/CameraZone","path":"Cisco/Meraki/CameraZone.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L302"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L303"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"distance:Float64-instance-method","name":"distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance","return_type":"Float64","visibility":"Public","body":"@distance"}},{"html_id":"distance=(distance:Float64)-instance-method","name":"distance=","abstract":false,"args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"args_string":"(distance : Float64)","args_html":"(distance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance=","args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"visibility":"Public","body":"@distance = distance"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L315"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"label:String-instance-method","name":"label","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L317"},"def":{"name":"label","return_type":"String","visibility":"Public","body":"@label"}},{"html_id":"mid_point-instance-method","name":"mid_point","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L325"},"def":{"name":"mid_point","visibility":"Public","body":"mid_x = (region.x0.to_f64 + region.x1.to_f64) / 2.0\nmid_y = (region.y0.to_f64 + region.y1.to_f64) / 2.0\n{mid_x, mid_y}\n"}},{"html_id":"region:Region-instance-method","name":"region","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L320"},"def":{"name":"region","return_type":"Region","visibility":"Public","body":"@region"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L316"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L331"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"if (value = @x).nil?\n @x = (begin\n xpos, @y = mid_point\n xpos\n end)\nelse\n value\nend"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L336"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"if (value = @y).nil?\n @y = (begin\n @x, ypos = mid_point\n ypos\n end)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraZone/Region","path":"Cisco/Meraki/CameraZone/Region.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone::Region","name":"Region","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L305"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraZone","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L306"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x0:String-instance-method","name":"x0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L308"},"def":{"name":"x0","return_type":"String","visibility":"Public","body":"@x0"}},{"html_id":"x1:String-instance-method","name":"x1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L310"},"def":{"name":"x1","return_type":"String","visibility":"Public","body":"@x1"}},{"html_id":"y0:String-instance-method","name":"y0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L309"},"def":{"name":"y0","return_type":"String","visibility":"Public","body":"@y0"}},{"html_id":"y1:String-instance-method","name":"y1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L311"},"def":{"name":"y1","return_type":"String","visibility":"Public","body":"@y1"}}]}]},{"html_id":"drivers/Cisco/Meraki/CaptivePortal","path":"Cisco/Meraki/CaptivePortal.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"JSON_HEADERS","name":"JSON_HEADERS","value":"{\"Content-Type\" => \"application/json\"}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"challenge(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"challenge","doc":"Webhook for providing guest access","summary":"

Webhook for providing guest access

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L98"},"def":{"name":"challenge","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"guest access attempt: #{method},\\nheaders #{headers},\\nbody #{body}\"\n end\n challenge = ChallengePayload.from_json(body)\n check_code = challenge.code\n guest_codes = generate_guest_data(challenge.email, Time.utc.to_unix, challenge.timezone)\n matched = (guest_codes.scan(/.{#{@code_length}}/)).count do |code|\n code[0] == check_code\n end > 0\n if matched\n challenge.expires = @access_duration.from_now\n @guests[format_mac(challenge.client_mac)] = challenge\n @granted = @granted + 1_u64\n self[:granted_access] = @granted\n redirect_url = \"#{challenge.base_grant_url}?duration=#{@access_duration.to_i}&continue_url=#{challenge.user_continue || @success_url}\"\n response = {redirect_to: redirect_url}.to_json\n logger.debug do\n \"successful joined network #{challenge.inspect}\"\n end\n {HTTP::Status::OK, JSON_HEADERS, response}\n else\n @denied = @denied + 1_u64\n self[:denied_access] = @denied\n logger.debug do\n \"failed wifi access attempt by #{challenge.inspect}\"\n end\n {HTTP::Status::NOT_ACCEPTABLE, JSON_HEADERS, \"{}\"}\n end\nrescue error\n @errors = @errors + 1_u64\n self[:errors] = @errors\n last_error = error.inspect_with_backtrace\n self[:last_error] = last_error\n logger.error do\n \"failed to parse wifi challenge payload\\n#{error}\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR, EMPTY_HEADERS, nil}\nend"}},{"html_id":"generate_guest_data(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_data","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L62"},"def":{"name":"generate_guest_data","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_zone = time_zone.presence ? Time::Location.load(time_zone.not_nil!) : @default_timezone\ndate = ((Time.unix(time)).in(time_zone)).to_s(@date_format)\nguest_string = \"#{email.downcase}-#{date}-#{@wifi_secret}\"\n((OpenSSL::Digest.new(\"SHA256\")).update(guest_string)).final.hexstring\n"}},{"html_id":"generate_guest_token(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_token","doc":"Splits the SHA256 into code length and then randomly selects one","summary":"

Splits the SHA256 into code length and then randomly selects one

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L71"},"def":{"name":"generate_guest_token","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"(((generate_guest_data(email, time, time_zone)).scan(/.{#{@code_length}}/)).sample(1))[0][0]"}},{"html_id":"guests:Hash(String,Cisco::Meraki::CaptivePortal::ChallengePayload)-instance-method","name":"guests","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L53"},"def":{"name":"guests","visibility":"Public","body":"@guests"}},{"html_id":"lookup(mac:String)-instance-method","name":"lookup","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L58"},"def":{"name":"lookup","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@guests[format_mac(mac)]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@wifi_secret = (setting?(String, :wifi_secret)) || \"anything really\"\n@date_format = (setting?(String, :date_format)) || \"%Y%m%d\"\n@success_url = (setting?(String, :success_url)) || \"https://place.technology/\"\n@access_duration = ((setting?(Int32, :access_duration)) || 12).hours\n@code_length = (setting?(Int32, :code_length)) || 4\ntime_zone = (setting?(String, :default_timezone)).presence\nif time_zone\n @default_timezone = Time::Location.load(time_zone)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CaptivePortal/ChallengePayload","path":"Cisco/Meraki/CaptivePortal/ChallengePayload.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal::ChallengePayload","name":"ChallengePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CaptivePortal","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"base_grant_url:String-instance-method","name":"base_grant_url","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url","return_type":"String","visibility":"Public","body":"@base_grant_url"}},{"html_id":"base_grant_url=(base_grant_url:String)-instance-method","name":"base_grant_url=","abstract":false,"args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"args_string":"(base_grant_url : String)","args_html":"(base_grant_url : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url=","args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"visibility":"Public","body":"@base_grant_url = base_grant_url"}},{"html_id":"client_ip:String-instance-method","name":"client_ip","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip","return_type":"String","visibility":"Public","body":"@client_ip"}},{"html_id":"client_ip=(client_ip:String)-instance-method","name":"client_ip=","abstract":false,"args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"args_string":"(client_ip : String)","args_html":"(client_ip : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip=","args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"visibility":"Public","body":"@client_ip = client_ip"}},{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"code:String-instance-method","name":"code","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code","return_type":"String","visibility":"Public","body":"@code"}},{"html_id":"code=(code:String)-instance-method","name":"code=","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"}],"args_string":"(code : String)","args_html":"(code : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"String"}],"visibility":"Public","body":"@code = code"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expires:Time|Nil-instance-method","name":"expires","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires","return_type":"Time | ::Nil","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time|Nil)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"args_string":"(expires : Time | Nil)","args_html":"(expires : Time | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@expires = expires"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_continue:String|Nil-instance-method","name":"user_continue","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue","return_type":"String | ::Nil","visibility":"Public","body":"@user_continue"}},{"html_id":"user_continue=(user_continue:String|Nil)-instance-method","name":"user_continue=","abstract":false,"args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"args_string":"(user_continue : String | Nil)","args_html":"(user_continue : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue=","args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user_continue = user_continue"}}]}]},{"html_id":"drivers/Cisco/Meraki/Client","path":"Cisco/Meraki/Client.html","kind":"class","full_name":"Cisco::Meraki::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"first_seen:String-instance-method","name":"first_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen","return_type":"String","visibility":"Public","body":"@first_seen"}},{"html_id":"first_seen=(first_seen:String)-instance-method","name":"first_seen=","abstract":false,"args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"args_string":"(first_seen : String)","args_html":"(first_seen : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen=","args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"visibility":"Public","body":"@first_seen = first_seen"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"ip:String|Nil-instance-method","name":"ip","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip","return_type":"String | ::Nil","visibility":"Public","body":"@ip"}},{"html_id":"ip6:String|Nil-instance-method","name":"ip6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6","return_type":"String | ::Nil","visibility":"Public","body":"@ip6"}},{"html_id":"ip6=(ip6:String|Nil)-instance-method","name":"ip6=","abstract":false,"args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"args_string":"(ip6 : String | Nil)","args_html":"(ip6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6=","args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6 = ip6"}},{"html_id":"ip6_local:String|Nil-instance-method","name":"ip6_local","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local","return_type":"String | ::Nil","visibility":"Public","body":"@ip6_local"}},{"html_id":"ip6_local=(ip6_local:String|Nil)-instance-method","name":"ip6_local=","abstract":false,"args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"args_string":"(ip6_local : String | Nil)","args_html":"(ip6_local : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local=","args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6_local = ip6_local"}},{"html_id":"ip=(ip:String|Nil)-instance-method","name":"ip=","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"args_string":"(ip : String | Nil)","args_html":"(ip : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip=","args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip = ip"}},{"html_id":"last_seen:Time-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen","return_type":"Time","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"args_string":"(last_seen : Time)","args_html":"(last_seen : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"recent_device_mac:String|Nil-instance-method","name":"recent_device_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_mac"}},{"html_id":"recent_device_mac=(recent_device_mac:String|Nil)-instance-method","name":"recent_device_mac=","abstract":false,"args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"args_string":"(recent_device_mac : String | Nil)","args_html":"(recent_device_mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac=","args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_mac = recent_device_mac"}},{"html_id":"recent_device_serial:String|Nil-instance-method","name":"recent_device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_serial"}},{"html_id":"recent_device_serial=(recent_device_serial:String|Nil)-instance-method","name":"recent_device_serial=","abstract":false,"args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"args_string":"(recent_device_serial : String | Nil)","args_html":"(recent_device_serial : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial=","args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_serial = recent_device_serial"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}},{"html_id":"switch_port:Int32-instance-method","name":"switch_port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L151"},"def":{"name":"switch_port","return_type":"Int32","visibility":"Public","body":"if (value = @switch_port).nil?\n @switch_port = ((@switchport.as(String)).to_i)\nelse\n value\nend"}},{"html_id":"switchport:String|Nil-instance-method","name":"switchport","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport","return_type":"String | ::Nil","visibility":"Public","body":"@switchport"}},{"html_id":"switchport=(switchport:String|Nil)-instance-method","name":"switchport=","abstract":false,"args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"args_string":"(switchport : String | Nil)","args_html":"(switchport : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport=","args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"visibility":"Public","body":"@switchport = switchport"}},{"html_id":"time_added:Time-instance-method","name":"time_added","abstract":false,"def":{"name":"time_added","return_type":"Time","visibility":"Public","body":"if (value = @time_added).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::Client#time_added cannot be nil\"))\nelse\n value\nend"}},{"html_id":"time_added=(time_added:Time)-instance-method","name":"time_added=","abstract":false,"args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"args_string":"(time_added : Time)","args_html":"(time_added : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L148"},"def":{"name":"time_added=","args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"visibility":"Public","body":"@time_added = time_added"}},{"html_id":"time_added?:Time|Nil-instance-method","name":"time_added?","abstract":false,"def":{"name":"time_added?","return_type":"Time | ::Nil","visibility":"Public","body":"@time_added"}},{"html_id":"user:String|Nil-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"vlan:String|Nil-instance-method","name":"vlan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan","return_type":"String | ::Nil","visibility":"Public","body":"@vlan"}},{"html_id":"vlan=(vlan:String|Nil)-instance-method","name":"vlan=","abstract":false,"args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"args_string":"(vlan : String | Nil)","args_html":"(vlan : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan=","args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"visibility":"Public","body":"@vlan = vlan"}}]},{"html_id":"drivers/Cisco/Meraki/ConnectionType","path":"Cisco/Meraki/ConnectionType.html","kind":"enum","full_name":"Cisco::Meraki::ConnectionType","name":"ConnectionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L360"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Wired","name":"Wired","value":"0"},{"id":"Wireless","name":"Wireless","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"wired?-instance-method","name":"wired?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L361"},"def":{"name":"wired?","visibility":"Public","body":"self == Wired"}},{"html_id":"wireless?-instance-method","name":"wireless?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L362"},"def":{"name":"wireless?","visibility":"Public","body":"self == Wireless"}}]},{"html_id":"drivers/Cisco/Meraki/CountType","path":"Cisco/Meraki/CountType.html","kind":"enum","full_name":"Cisco::Meraki::CountType","name":"CountType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"People","name":"People","value":"0"},{"id":"Vehicles","name":"Vehicles","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"people?-instance-method","name":"people?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L44"},"def":{"name":"people?","visibility":"Public","body":"self == People"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L46"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicles?-instance-method","name":"vehicles?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L45"},"def":{"name":"vehicles?","visibility":"Public","body":"self == Vehicles"}}]},{"html_id":"drivers/Cisco/Meraki/Crossing","path":"Cisco/Meraki/Crossing.html","kind":"struct","full_name":"Cisco::Meraki::Crossing","name":"Crossing","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event:CrossingEvent-instance-method","name":"event","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L95"},"def":{"name":"event","return_type":"CrossingEvent","visibility":"Public","body":"@event"}},{"html_id":"label:String|Nil-instance-method","name":"label","doc":"getter object_id : Int64","summary":"

getter object_id : Int64

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L94"},"def":{"name":"label","return_type":"String | ::Nil","visibility":"Public","body":"@label"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L92"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"type:CrossingObject-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L96"},"def":{"name":"type","return_type":"CrossingObject","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingEvent","path":"Cisco/Meraki/CrossingEvent.html","kind":"enum","full_name":"Cisco::Meraki::CrossingEvent","name":"CrossingEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CrossingIn","name":"CrossingIn","value":"0"},{"id":"CrossingOut","name":"CrossingOut","value":"1"},{"id":"Expired","name":"Expired","value":"2"},{"id":"Appeared","name":"Appeared","value":"3"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"appeared?-instance-method","name":"appeared?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L85"},"def":{"name":"appeared?","visibility":"Public","body":"self == Appeared"}},{"html_id":"crossing_in?-instance-method","name":"crossing_in?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L82"},"def":{"name":"crossing_in?","visibility":"Public","body":"self == CrossingIn"}},{"html_id":"crossing_out?-instance-method","name":"crossing_out?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L83"},"def":{"name":"crossing_out?","visibility":"Public","body":"self == CrossingOut"}},{"html_id":"expired?-instance-method","name":"expired?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L84"},"def":{"name":"expired?","visibility":"Public","body":"self == Expired"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingObject","path":"Cisco/Meraki/CrossingObject.html","kind":"enum","full_name":"Cisco::Meraki::CrossingObject","name":"CrossingObject","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Person","name":"Person","value":"0"},{"id":"Vehicle","name":"Vehicle","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"person?-instance-method","name":"person?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L76"},"def":{"name":"person?","visibility":"Public","body":"self == Person"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L78"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicle?-instance-method","name":"vehicle?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L77"},"def":{"name":"vehicle?","visibility":"Public","body":"self == Vehicle"}}]},{"html_id":"drivers/Cisco/Meraki/Dashboard","path":"Cisco/Meraki/Dashboard.html","kind":"class","full_name":"Cisco::Meraki::Dashboard","name":"Dashboard","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/dashboard.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK.to_i, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"fetch(location:String)-instance-method","name":"fetch","doc":"Perform fetch with the required API request limits in place","summary":"

Perform fetch with the required API request limits in place

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L69"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"req(location, &.body)"}},{"html_id":"fetch_all(location:String)-instance-method","name":"fetch_all","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L74"},"def":{"name":"fetch_all","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"responses = [] of String\nreq_all_pages(location) do |response|\n responses << response.body\nend\nresponses\n"}},{"html_id":"get_zones(camera_serial:String)-instance-method","name":"get_zones","abstract":false,"args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"args_string":"(camera_serial : String)","args_html":"(camera_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L183"},"def":{"name":"get_zones","args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{camera_serial}/camera/analytics/zones\") do |response|\n Array(CameraZone).from_json(response.body)\nend"}},{"html_id":"networks(organization_id:String)-instance-method","name":"networks","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L142"},"def":{"name":"networks","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"nets = [] of Network\nreq_all_pages(\"/api/v1/organizations/#{organization_id}/networks?perPage=1000\") do |response|\n nets.concat(Array(Network).from_json(response.body))\nend\nnets\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L38"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@scanning_validator = (setting?(String, :meraki_validator)) || \"\"\n@scanning_secret = (setting?(String, :meraki_secret)) || \"\"\n@api_key = (setting?(String, :meraki_api_key)) || \"\"\n@scanning_api_filter = (setting?(MessageType, :scanning_api_filter)) || MessageType::WiFi\n@rate_limit = (setting?(Int32, :rate_limit)) || 4\n@wait_time = 1.second / @rate_limit\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n"}},{"html_id":"organizations-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L135"},"def":{"name":"organizations","visibility":"Public","body":"req(\"/api/v1/organizations?perPage=1000\") do |response|\n Array(Organization).from_json(response.body)\nend"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil,statuses:String=\"Online\")-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = \"Online\")","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = "Online")","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L151"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"perPage\", \"1000\")\n form.add(\"timespan\", timespan.to_s)\n form.add(\"statuses[]\", statuses)\n if connection\n form.add(\"recentDeviceConnections[]\", connection.to_s)\n end\nend\nclients = [] of Client\nreq_all_pages(\"/api/v1/networks/#{network_id}/clients?#{params}\") do |response|\n clients.concat(Array(Client).from_json(response.body))\nend\nif device_serial\n clients.select! do |client|\n client.recent_device_serial == device_serial\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nelse\n clients.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nend\n"}},{"html_id":"port_status(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"port_status","doc":"a webhook for obtaining changes in port status","summary":"

a webhook for obtaining changes in port status

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L228"},"def":{"name":"port_status","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Webhook Alert received: #{method},\\nheaders #{headers},\\nbody #{body}\"\nend\nself[:port_update] = WebhookAlert.from_json(body)\nSUCCESS_RESPONSE\n"}},{"html_id":"ports_statuses(device_serial:String)-instance-method","name":"ports_statuses","abstract":false,"args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"args_string":"(device_serial : String)","args_html":"(device_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L177"},"def":{"name":"ports_statuses","args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{device_serial}/switch/ports/statuses\") do |response|\n Array(PortStatusResponse).from_json(response.body)\nend"}},{"html_id":"scanning_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"scanning_api","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L190"},"def":{"name":"scanning_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nif method == \"GET\"\n return {HTTP::Status::OK.to_i, EMPTY_HEADERS, @scanning_validator}\nend\nif !(body.starts_with?(\"{\\\"version\\\":\\\"3.0\\\"\"))\n logger.warn do\n \"unknown scanning API message received:\\n#{body[0..96]}\"\n end\n return SUCCESS_RESPONSE\nend\nbegin\n seen = DevicesSeen.from_json(body)\n logger.debug do\n \"parsed meraki payload\"\n end\n if (!@scanning_api_filter.none?) && (seen.message_type != @scanning_api_filter)\n logger.debug do\n \"ignoring message type: #{seen.message_type}\"\n end\n return SUCCESS_RESPONSE\n end\n if seen.secret == @scanning_secret\n else\n raise(\"secret mismatch, sent: #{seen.secret}\")\n end\n self[seen.data.network_id] = seen.data.observations\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]},{"html_id":"drivers/Cisco/Meraki/Data","path":"Cisco/Meraki/Data.html","kind":"class","full_name":"Cisco::Meraki::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L276"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L277"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"network_id=(network_id:String)-instance-method","name":"network_id=","abstract":false,"args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"args_string":"(network_id : String)","args_html":"(network_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id=","args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"visibility":"Public","body":"@network_id = network_id"}},{"html_id":"observations:Array(Observation)-instance-method","name":"observations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations","return_type":"Array(Observation)","visibility":"Public","body":"@observations"}},{"html_id":"observations=(observations:Array(Observation))-instance-method","name":"observations=","abstract":false,"args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"args_string":"(observations : Array(Observation))","args_html":"(observations : Array(Observation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations=","args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"visibility":"Public","body":"@observations = observations"}}]},{"html_id":"drivers/Cisco/Meraki/DeskMappings","path":"Cisco/Meraki/DeskMappings.html","kind":"struct","full_name":"Cisco::Meraki::DeskMappings","name":"DeskMappings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L342"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L343"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L346"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}},{"html_id":"ports:Hash(Int32,String)-instance-method","name":"ports","doc":"port_id => desk_id","summary":"

port_id => desk_id

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L349"},"def":{"name":"ports","return_type":"Hash(Int32, String)","visibility":"Public","body":"@ports"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L345"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}}]},{"html_id":"drivers/Cisco/Meraki/DetectedDesks","path":"Cisco/Meraki/DetectedDesks.html","kind":"class","full_name":"Cisco::Meraki::DetectedDesks","name":"DetectedDesks","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api_version:Int32-instance-method","name":"api_version","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L17"},"def":{"name":"api_version","return_type":"Int32","visibility":"Public","body":"@api_version"}},{"html_id":"desks:Array(Tuple(Float64,Float64,Float64,Float64,Float64,Float64,Float64))-instance-method","name":"desks","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L26"},"def":{"name":"desks","return_type":"Array(Tuple(Float64, Float64, Float64, Float64, Float64, Float64, Float64))","visibility":"Public","body":"@desks"}},{"html_id":"time_string:String|Nil-instance-method","name":"time_string","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L24"},"def":{"name":"time_string","return_type":"String | ::Nil","visibility":"Public","body":"@time_string"}},{"html_id":"time_unix:Int64|Nil-instance-method","name":"time_unix","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L21"},"def":{"name":"time_unix","return_type":"Int64 | ::Nil","visibility":"Public","body":"@time_unix"}}]},{"html_id":"drivers/Cisco/Meraki/DeviceLocation","path":"Cisco/Meraki/DeviceLocation.html","kind":"class","full_name":"Cisco::Meraki::DeviceLocation","name":"DeviceLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"calculate_location(floor:FloorPlan,device:NetworkDevice,time:Time):DeviceLocation-class-method","name":"calculate_location","abstract":false,"args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","args_html":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L173"},"def":{"name":"calculate_location","args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"return_type":"DeviceLocation","visibility":"Public","body":"distance = Geo.calculate_xy(floor.top_left, floor.bottom_left, floor.bottom_right, device, floor.to_distance)\nDeviceLocation.new(distance.x, distance.y, device.lng, device.lat, 25_f64, floor.id, floor.name, time)\n"}},{"html_id":"new(x:Float64|String|Nil,y:Float64|String|Nil,lng:Float64|Nil,lat:Float64|Nil,variance:Float64,floor_plan_id:Nil|String,floor_plan_name:Nil|String,time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"args_string":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","args_html":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L165"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y, lng, lat, variance, floor_plan_id, floor_plan_name, time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client:Client|Nil-instance-method","name":"client","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client","return_type":"Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"client=(client:Client|Nil)-instance-method","name":"client=","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"args_string":"(client : Client | Nil)","args_html":"(client : Client | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"visibility":"Public","body":"@client = client"}},{"html_id":"floor_plan:FloorPlanLocation|Nil-instance-method","name":"floor_plan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan","return_type":"FloorPlanLocation | ::Nil","visibility":"Public","body":"@floor_plan"}},{"html_id":"floor_plan=(floor_plan:FloorPlanLocation|Nil)-instance-method","name":"floor_plan=","abstract":false,"args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"args_string":"(floor_plan : FloorPlanLocation | Nil)","args_html":"(floor_plan : FloorPlanLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan=","args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"visibility":"Public","body":"@floor_plan = floor_plan"}},{"html_id":"floor_plan_id-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L237"},"def":{"name":"floor_plan_id","visibility":"Public","body":"wifi_floor_plan_id || floor_plan.try(&.id)"}},{"html_id":"floor_plan_name-instance-method","name":"floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L241"},"def":{"name":"floor_plan_name","visibility":"Public","body":"wifi_floor_plan_name || floor_plan.try(&.name)"}},{"html_id":"get_x:Float64|Nil-instance-method","name":"get_x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L221"},"def":{"name":"get_x","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = x || floor_plan.try(&.x)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"get_y:Float64|Nil-instance-method","name":"get_y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L229"},"def":{"name":"get_y","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = y || floor_plan.try(&.y)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64|Nil)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"args_string":"(lat : Float64 | Nil)","args_html":"(lat : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64|Nil)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"args_string":"(lng : Float64 | Nil)","args_html":"(lng : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"nearest_ap_tags:Array(String)-instance-method","name":"nearest_ap_tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags","return_type":"Array(String)","visibility":"Public","body":"if (value = @nearest_ap_tags).nil?\n @nearest_ap_tags = ([] of String)\nelse\n value\nend"}},{"html_id":"nearest_ap_tags=(nearest_ap_tags:Array(String))-instance-method","name":"nearest_ap_tags=","abstract":false,"args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"args_string":"(nearest_ap_tags : Array(String))","args_html":"(nearest_ap_tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags=","args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"visibility":"Public","body":"@nearest_ap_tags = nearest_ap_tags"}},{"html_id":"rssi_records:Array(RSSI)-instance-method","name":"rssi_records","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records","return_type":"Array(RSSI)","visibility":"Public","body":"@rssi_records"}},{"html_id":"rssi_records=(rssi_records:Array(RSSI))-instance-method","name":"rssi_records=","abstract":false,"args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"args_string":"(rssi_records : Array(RSSI))","args_html":"(rssi_records : Array(RSSI))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records=","args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"visibility":"Public","body":"@rssi_records = rssi_records"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}},{"html_id":"variance:Float64-instance-method","name":"variance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance","return_type":"Float64","visibility":"Public","body":"@variance"}},{"html_id":"variance=(variance:Float64)-instance-method","name":"variance=","abstract":false,"args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"args_string":"(variance : Float64)","args_html":"(variance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance=","args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"visibility":"Public","body":"@variance = variance"}},{"html_id":"wifi_floor_plan_id:String|Nil-instance-method","name":"wifi_floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_id=(wifi_floor_plan_id:String|Nil)-instance-method","name":"wifi_floor_plan_id=","abstract":false,"args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_id : String | Nil)","args_html":"(wifi_floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id=","args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_id = wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_name:String|Nil-instance-method","name":"wifi_floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_name"}},{"html_id":"wifi_floor_plan_name=(wifi_floor_plan_name:String|Nil)-instance-method","name":"wifi_floor_plan_name=","abstract":false,"args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_name : String | Nil)","args_html":"(wifi_floor_plan_name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name=","args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_name = wifi_floor_plan_name"}},{"html_id":"x:Float64|String|Nil-instance-method","name":"x","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x","return_type":"Float64 | String | Nil","visibility":"Public","body":"@x"}},{"html_id":"x!-instance-method","name":"x!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L213"},"def":{"name":"x!","visibility":"Public","body":"get_x.not_nil!"}},{"html_id":"x=(x:Float64|String|Nil)-instance-method","name":"x=","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"args_string":"(x : Float64 | String | Nil)","args_html":"(x : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|String|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y","return_type":"Float64 | String | Nil","visibility":"Public","body":"@y"}},{"html_id":"y!-instance-method","name":"y!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L217"},"def":{"name":"y!","visibility":"Public","body":"get_y.not_nil!"}},{"html_id":"y=(y:Float64|String|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"args_string":"(y : Float64 | String | Nil)","args_html":"(y : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/DevicesSeen","path":"Cisco/Meraki/DevicesSeen.html","kind":"class","full_name":"Cisco::Meraki::DevicesSeen","name":"DevicesSeen","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L290"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L291"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"message_type:MessageType-instance-method","name":"message_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type","return_type":"MessageType","visibility":"Public","body":"@message_type"}},{"html_id":"message_type=(message_type:MessageType)-instance-method","name":"message_type=","abstract":false,"args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"args_string":"(message_type : MessageType)","args_html":"(message_type : MessageType)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type=","args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"visibility":"Public","body":"@message_type = message_type"}},{"html_id":"secret:String-instance-method","name":"secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret","return_type":"String","visibility":"Public","body":"@secret"}},{"html_id":"secret=(secret:String)-instance-method","name":"secret=","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String"}],"args_string":"(secret : String)","args_html":"(secret : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret=","args":[{"name":"secret","external_name":"secret","restriction":"String"}],"visibility":"Public","body":"@secret = secret"}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"String"}],"visibility":"Public","body":"@version = version"}}]},{"html_id":"drivers/Cisco/Meraki/Entrances","path":"Cisco/Meraki/Entrances.html","kind":"class","full_name":"Cisco::Meraki::Entrances","name":"Entrances","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L72"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n @count = ((counts[:person] || counts[:vehicle]) || 0)\nelse\n value\nend"}},{"html_id":"count_type:CountType-instance-method","name":"count_type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L61"},"def":{"name":"count_type","return_type":"CountType","visibility":"Public","body":"if (value = @count_type).nil?\n @count_type = (if counts[:person]\n CountType::People\n else\n if counts[:vehicle]\n CountType::Vehicles\n else\n CountType::Unknown\n end\n end)\nelse\n value\nend"}},{"html_id":"counts:NamedTuple(person:Int32|Nil,vehicle:Int32|Nil)-instance-method","name":"counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L55"},"def":{"name":"counts","return_type":"NamedTuple(person: Int32 | ::Nil, vehicle: Int32 | ::Nil)","visibility":"Public","body":"@counts"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L53"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Cisco/Meraki/FloorMapping","path":"Cisco/Meraki/FloorMapping.html","kind":"class","full_name":"Cisco::Meraki::FloorMapping","name":"FloorMapping","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:String|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L10"},"def":{"name":"building_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"camera_serials:Array(String)-instance-method","name":"camera_serials","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L8"},"def":{"name":"camera_serials","return_type":"Array(String)","visibility":"Public","body":"@camera_serials"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L9"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlan","path":"Cisco/Meraki/FloorPlan.html","kind":"class","full_name":"Cisco::Meraki::FloorPlan","name":"FloorPlan","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_left:Geo::Point-instance-method","name":"bottom_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left","return_type":"Geo::Point","visibility":"Public","body":"@bottom_left"}},{"html_id":"bottom_left=(bottom_left:Geo::Point)-instance-method","name":"bottom_left=","abstract":false,"args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"args_string":"(bottom_left : Geo::Point)","args_html":"(bottom_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left=","args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_left = bottom_left"}},{"html_id":"bottom_right:Geo::Point-instance-method","name":"bottom_right","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right","return_type":"Geo::Point","visibility":"Public","body":"@bottom_right"}},{"html_id":"bottom_right=(bottom_right:Geo::Point)-instance-method","name":"bottom_right=","abstract":false,"args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"args_string":"(bottom_right : Geo::Point)","args_html":"(bottom_right : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right=","args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_right = bottom_right"}},{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Float64)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Float64"}],"args_string":"(height : Float64)","args_html":"(height : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Float64"}],"visibility":"Public","body":"@height = height"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"to_distance-instance-method","name":"to_distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L74"},"def":{"name":"to_distance","visibility":"Public","body":"Geo::Distance.new(width, height)"}},{"html_id":"top_left:Geo::Point-instance-method","name":"top_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left","return_type":"Geo::Point","visibility":"Public","body":"@top_left"}},{"html_id":"top_left=(top_left:Geo::Point)-instance-method","name":"top_left=","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"args_string":"(top_left : Geo::Point)","args_html":"(top_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left=","args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@top_left = top_left"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlanLocation","path":"Cisco/Meraki/FloorPlanLocation.html","kind":"class","full_name":"Cisco::Meraki::FloorPlanLocation","name":"FloorPlanLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L79"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo","path":"Cisco/Meraki/Geo.html","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo","abstract":false,"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EarthRadiusApprox","name":"EarthRadiusApprox","value":"6371000.7900","doc":"radius in meters, approx as we're using a perfect sphere the same volume as the earth","summary":"

radius in meters, approx as we're using a perfect sphere the same volume as the earth

"},{"id":"Radians","name":"Radians","value":"Math::PI / 180_f64"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"class_methods":[{"html_id":"calculate_xy(top_left:Point,bottom_left:Point,bottom_right:Point,position,distance:Distance)-class-method","name":"calculate_xy","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"args_string":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","args_html":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L29"},"def":{"name":"calculate_xy","args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"visibility":"Public","body":"y_base = geo_distance(top_left, bottom_left)\na = geo_distance(top_left, position)\nc = geo_distance(bottom_left, position)\nx_raw = triangle_height(a, y_base, c)\nx_base = geo_distance(bottom_left, bottom_right)\na = geo_distance(bottom_left, position)\nc = geo_distance(bottom_right, position)\ny_raw = triangle_height(a, x_base, c)\npercentage_height = y_raw / y_base\npercentage_width = x_raw / x_base\nDistance.new(distance.x * percentage_width, distance.y * percentage_height)\n"}},{"html_id":"geo_distance(start:Point,ending)-class-method","name":"geo_distance","doc":"https://www.movable-type.co.uk/scripts/latlong.html\nreturns the distance in meters","summary":"

https://www.movable-type.co.uk/scripts/latlong.html returns the distance in meters

","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"args_string":"(start : Point, ending)","args_html":"(start : Point, ending)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L54"},"def":{"name":"geo_distance","args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"visibility":"Public","body":"lat_diff = (ending.lat - start.lat) * Radians\nlng_diff = (ending.lng - start.lng) * Radians\nstart_lat_radian = start.lat * Radians\nend_lng_radian = ending.lng * Radians\na = ((Math.sin(lat_diff / 2_f64)) * (Math.sin(lat_diff / 2_f64))) + ((((Math.cos(start_lat_radian)) * (Math.cos(end_lng_radian))) * (Math.sin(lng_diff / 2_f64))) * (Math.sin(lng_diff / 2_f64)))\nc = 2_f64 * (Math.atan2(Math.sqrt(a), Math.sqrt(1_f64 - a)))\nEarthRadiusApprox * c\n"}},{"html_id":"triangle_height(a:Float64,base:Float64,c:Float64)-class-method","name":"triangle_height","doc":"https://www.omnicalculator.com/math/triangle-height","summary":"

https://www.omnicalculator.com/math/triangle-height

","abstract":false,"args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"args_string":"(a : Float64, base : Float64, c : Float64)","args_html":"(a : Float64, base : Float64, c : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L70"},"def":{"name":"triangle_height","args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"visibility":"Public","body":"(0.5 * (Math.sqrt(((((a + base) + c) * ((base + c) - a)) * ((a - base) + c)) * ((a + base) - c)))) / base"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Geo/Distance","path":"Cisco/Meraki/Geo/Distance.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Distance","name":"Distance","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L22"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo/Point","path":"Cisco/Meraki/Geo/Point.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(lat:Float64,lng:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"args_string":"(lat : Float64, lng : Float64)","args_html":"(lat : Float64, lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L12"},"def":{"name":"new","args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(lat, lng)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]}]},{"html_id":"drivers/Cisco/Meraki/LatestRecord","path":"Cisco/Meraki/LatestRecord.html","kind":"class","full_name":"Cisco::Meraki::LatestRecord","name":"LatestRecord","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"nearest_ap_mac:String-instance-method","name":"nearest_ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac","return_type":"String","visibility":"Public","body":"@nearest_ap_mac"}},{"html_id":"nearest_ap_mac=(nearest_ap_mac:String)-instance-method","name":"nearest_ap_mac=","abstract":false,"args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"args_string":"(nearest_ap_mac : String)","args_html":"(nearest_ap_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac=","args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"visibility":"Public","body":"@nearest_ap_mac = nearest_ap_mac"}},{"html_id":"nearest_ap_rssi:Int32-instance-method","name":"nearest_ap_rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi","return_type":"Int32","visibility":"Public","body":"@nearest_ap_rssi"}},{"html_id":"nearest_ap_rssi=(nearest_ap_rssi:Int32)-instance-method","name":"nearest_ap_rssi=","abstract":false,"args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"args_string":"(nearest_ap_rssi : Int32)","args_html":"(nearest_ap_rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi=","args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"visibility":"Public","body":"@nearest_ap_rssi = nearest_ap_rssi"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations","path":"Cisco/Meraki/Locations.html","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"building_zone:String-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L94"},"def":{"name":"building_zone","return_type":"String","visibility":"Public","body":"@building_zone"}},{"html_id":"camera_analytics(serial:String)-instance-method","name":"camera_analytics","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L711"},"def":{"name":"camera_analytics","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{serial}/camera/analytics/live\") do |response|\n CameraAnalytics.from_json(response)\nend"}},{"html_id":"cameras:Array(Cisco::Meraki::NetworkDevice)-instance-method","name":"cameras","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":726,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L726"},"def":{"name":"cameras","visibility":"Public","body":"@cameras"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L418"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = user_mac_mappings(&.[]?(lookup))\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":638,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L638"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing IP and location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago\nremove_keys = [] of String\n@ip_lookup.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_lookup.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => MAC mappings\"\nend\nremove_keys.clear\n@ip_usernames.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_usernames.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => Username mappings\"\nend\nremove_keys.clear\n@client_details.each do |mac, client|\n if client.time_added < old\n remove_keys << mac\n end\nend\nremove_keys.each do |mac|\n @client_details.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} client details\"\nend\nremove_keys.clear\n@locations.each do |mac, location|\n if location.time < old\n if client = @client_details[mac]?\n if client.time_added < old\n remove_keys << mac\n end\n else\n remove_keys << mac\n end\n end\nend\nremove_keys.each do |mac|\n @locations.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\n"}},{"html_id":"desk_details:Hash(String,DetectedDesks)-instance-method","name":"desk_details","doc":"serial => desks detected","summary":"

serial => desks detected

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L221"},"def":{"name":"desk_details","return_type":"Hash(String, DetectedDesks)","visibility":"Public","body":"@desk_details"}},{"html_id":"desk_locations(zone_id:String)-instance-method","name":"desk_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1260"},"def":{"name":"desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"serials = @zone_lookup[zone_id]? || ([] of String)\nreturn_empty_spaces = @return_empty_spaces\nexpiry_time = desk_data_expiry_time\nserials.compact_map do |serial|\n desks = @desk_mappings[serial]?\n if desks\n else\n next\n end\n if desk_details[serial]?\n else\n next\n end\n floor = @floor_lookup[serial]\n illumination = lux[serial]?\n desks.compact_map do |desk|\n desk_id = desk.label\n occupied = is_occupied?(desk_id, expiry_time)\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: desk_id, level: floor.level_id, building: floor.building_id, capacity: 1, area_lux: illumination, merakimv: serial}\n end\nend.flatten\n"}},{"html_id":"desk_mappings:Hash(String,Array(CameraZone))-instance-method","name":"desk_mappings","doc":"Camera serial => [desk location]","summary":"

Camera serial => [desk location]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1258"},"def":{"name":"desk_mappings","return_type":"Hash(String, Array(CameraZone))","visibility":"Public","body":"@desk_mappings"}},{"html_id":"desk_occupancy:Hash(String,Array(Tuple(Int64,Bool)))-instance-method","name":"desk_occupancy","doc":"=================\nCamera Desk data:\n=================\ndesk_id => [{time, occupied}]","summary":"

================= Camera Desk data: ================= desk_id => [{time, occupied}]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1195"},"def":{"name":"desk_occupancy","return_type":"Hash(String, Array(Tuple(Int64, Bool)))","visibility":"Public","body":"@desk_occupancy"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":510,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L510"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\ncase location.presence\nwhen \"wireless\"\n wireless_locations(zone_id)\nwhen \"desk\"\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(cam_locs[0]) | typeof(desk_locs[0])).new(cam_locs.size + desk_locs.size)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nwhen nil\n wireless_locs = wireless_locations(zone_id)\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(wireless_locs[0]) | typeof(cam_locs[0]) | typeof(desk_locs[0])).new((wireless_locs.size + cam_locs.size) + desk_locs.size)\n combind.concat(wireless_locs)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nelse\n [] of String\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":935,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L935"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L400"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"hostname_ownership(hostname:String,username:String|Nil):Nil-instance-method","name":"hostname_ownership","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(hostname : String, username : String | Nil) : Nil","args_html":"(hostname : String, username : String | Nil) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1006,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1006"},"def":{"name":"hostname_ownership","args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"macs = @mac_hostnames.compact_map do |__arg7|\n mac = __arg7[0]\n host = __arg7[1]\n host == hostname ? mac : nil\nend\nif username && username.presence\n user_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(mac, username, storage)\n end\n end\nelse\n macs.each do |mac|\n @mac_hostnames.delete(mac)\n end\nend\n"}},{"html_id":"inspect_foorplans:Hash(String,Cisco::Meraki::FloorPlan)-instance-method","name":"inspect_foorplans","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L269"},"def":{"name":"inspect_foorplans","visibility":"Public","body":"@floorplan_sizes"}},{"html_id":"inspect_network_devices:Hash(String,Cisco::Meraki::NetworkDevice)-instance-method","name":"inspect_network_devices","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L274"},"def":{"name":"inspect_network_devices","visibility":"Public","body":"@network_devices"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L279"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"IP Mappings: #{@ip_lookup.keys}\\n\\nMAC Locations: #{@locations.keys}\\n\\nClient Details: #{@client_details.keys}\"\nend\n{ip_mappings: @ip_lookup.size, tracking: @locations.size, client_details: @client_details.size}\n"}},{"html_id":"ip_username_mappings(ip_map:Array(Tuple(String,String,String,String|Nil))):Nil-instance-method","name":"ip_username_mappings","abstract":false,"args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"args_string":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","args_html":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":943,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L943"},"def":{"name":"ip_username_mappings","args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"return_type":"Nil","visibility":"Public","body":"now = Time.utc\nuser_mac_mappings do |storage|\n ip_map.each do |__arg6|\n ip = __arg6[0]\n username = __arg6[1]\n domain = __arg6[2]\n hostname = __arg6[3]\n username = format_username(username)\n @ip_usernames[ip] = Lookup.new(now, username)\n if lookup = @ip_lookup[ip]?\n map_user_mac(lookup.mac, username, storage)\n end\n end\nend\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L264"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@locations[format_mac(address)]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"returns locations based on most recently seen\nversus most accurate location","summary":"

returns locations based on most recently seen versus most accurate location

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L431"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n location_max_age = @max_location_age.ago\n (Array(String).from_json(macs)).compact_map do |mac|\n if location = locate_mac(mac)\n client = @client_details[mac]?\n if @regex_filter_device_os\n if client && client.os\n if (/#{@regex_filter_device_os}/).match(client.os.not_nil!)\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS does not match regex filter\"\n end\n next\n end\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS is UNKNOWN\"\n end\n next\n end\n end\n location.client = client\n location.mac = mac\n if client && client.time_added > location_max_age\n location\n else\n if location.time > location_max_age\n location\n end\n end\n end\n end.sort! do |a, b|\n b.time <=> a.time\n end.map do |location|\n lat = location.lat\n lon = location.lng\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => location.x, \"y\" => location.y, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, \"mac\" => location.mac, \"variance\" => location.variance, \"last_seen\" => location.time.to_unix, \"meraki_floor_id\" => location.floor_plan_id, \"meraki_floor_name\" => location.floor_plan_name}\n if level_data = @floorplan_mappings[location.floor_plan_id]?\n level_data.each do |k, v|\n loc[k] = v\n end\n end\n if map_size = @floorplan_sizes[location.floor_plan_id]?\n loc[\"map_width\"] = map_size.width\n loc[\"map_height\"] = map_size.height\n end\n if client = location.client\n if client.manufacturer\n loc[\"manufacturer\"] = client.manufacturer\n end\n if client.os\n loc[\"os\"] = client.os\n end\n if client.ssid\n loc[\"ssid\"] = client.ssid\n end\n end\n loc\n end\nelse\n [] of Nil\nend\n"}},{"html_id":"locateable-instance-method","name":"locateable","doc":"Returns the list of users who can be located","summary":"

Returns the list of users who can be located

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L288"},"def":{"name":"locateable","visibility":"Public","body":"too_old = @max_location_age.ago\n@client_details.compact_map do |mac, client|\n location = @locations[mac]?\n if location && ((location.time > too_old) || (client.time_added > too_old))\n client.user\n end\nend\n"}},{"html_id":"lookup_ip(address:String)-instance-method","name":"lookup_ip","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L260"},"def":{"name":"lookup_ip","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@ip_lookup[address.downcase]?"}},{"html_id":"lux:Hash(String,Float64)-instance-method","name":"lux","doc":"serial => lux","summary":"

serial => lux

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L224"},"def":{"name":"lux","return_type":"Hash(String, Float64)","visibility":"Public","body":"@lux"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":958,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L958"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"mac_hostnames:Hash(String,String)-instance-method","name":"mac_hostnames","doc":"User lookup helpers using device hostnames","summary":"

User lookup helpers using device hostnames

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":981,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L981"},"def":{"name":"mac_hostnames","return_type":"Hash(String, String)","visibility":"Public","body":"@mac_hostnames"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L409"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"map_users_to_macs(network_id:String|Nil=nil)-instance-method","name":"map_users_to_macs","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L310"},"def":{"name":"map_users_to_macs","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"mapping users to device MACs\"\nend\nclients = poll_clients(network_id)\nnew_devices = 0\nupdated_dev = 0\nnow = Time.utc\nlogger.debug do\n \"mapping found #{clients.size} devices\"\nend\nuser_mac_mappings do |storage|\n clients.each do |client|\n user_mac = format_mac(client.mac)\n client.time_added = now\n if hostname = client.description\n @mac_hostnames[user_mac] = hostname\n end\n user_id = client.user\n if user_id\n @ignore_usernames.each do |name|\n if user_id.starts_with?(name)\n client.user = user_id = nil\n break\n end\n end\n end\n if user_id.nil?\n if known_id = storage[user_mac]?\n client.user = known_id\n end\n end\n @client_details[user_mac] = client\n if user_id\n else\n next\n end\n was_update, was_new = map_user_mac(user_mac, user_id, storage)\n if was_update\n updated_dev = updated_dev + 1\n end\n if was_new\n new_devices = new_devices + 1\n end\n end\nend\nlogger.debug do\n \"mapping assigned #{new_devices} new devices, #{updated_dev} user updated\"\nend\nnil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L84"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L116"},"def":{"name":"on_update","visibility":"Public","body":"@default_network = (setting?(String, :default_network_id)) || \"\"\n@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@acceptable_confidence = (setting?(Float64, :acceptable_confidence)) || 5.0\n@maximum_uncertainty = (setting?(Float64, :maximum_uncertainty)) || 25.0\n@override_min_variance = (setting?(Float64, :override_min_variance)) || 0.0\n@regex_filter_device_os = setting?(String, :regex_filter_device_os)\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\n@confidence_time = @max_location_age / 3\n@drift_location_age = @max_location_age - @confidence_time\n@time_multiplier = 1.0 / (@drift_location_age.to_i - @confidence_time.to_i).to_f64\n@confidence_multiplier = 1.0 / (@maximum_uncertainty.to_i - @acceptable_confidence.to_i).to_f64\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\ndisable_username_lookup = (setting?(Bool, :disable_username_lookup)) || false\nschedule.clear\ninit_wired_port_mappings\nif @default_network.presence\n schedule.every(59.seconds) do\n update_sensor_cache\n end\n if disable_username_lookup\n else\n schedule.every(2.minutes) do\n map_users_to_macs\n end\n end\n schedule.every(29.minutes) do\n sync_floorplan_sizes\n end\n schedule.in(30.milliseconds) do\n sync_floorplan_sizes\n update_sensor_cache\n end\nend\nschedule.every(30.minutes) do\n cleanup_caches\nend\nsubscriptions.clear\nif @default_network.presence\n dashboard.subscribe(@default_network) do |_subscription, new_value|\n parse_new_locations(new_value)\n end\nend\nzones = config.control_system.not_nil!.zones\nspawn(same_thread: true) do\n find_building(zones)\nend\nif system.exists?(:MerakiMQTT)\n mqtt_module = system[:MerakiMQTT]\n mqtt_module.subscribe(:floor_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @floor_lookup = Hash(String, FloorMapping).from_json(new_value)\n if @zone_lookup.empty?\n else\n update_desk_mappings\n end\n end\n mqtt_module.subscribe(:zone_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @zone_lookup = Hash(String, Array(String)).from_json(new_value)\n if @floor_lookup.empty?\n else\n update_desk_mappings\n end\n end\n schedule.every(10.minutes) do\n update_desk_mappings\n end\n mqtt_module.subscribe(:camera_updated) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n _time, camera_serial = Tuple(Int64, String).from_json(new_value)\n if @desk_mappings.has_key?(camera_serial)\n check_camera_status(mqtt_module, camera_serial)\n end\n end\nend\n"}},{"html_id":"parse_new_locations(payload:String):Nil-instance-method","name":"parse_new_locations","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(payload : String) : Nil","args_html":"(payload : String) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L763"},"def":{"name":"parse_new_locations","args":[{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"if @debug_payload\n logger.debug do\n payload\n end\nend\nlocations_updated = 0\nbegin\n observations = Array(Observation).from_json(payload)\n logger.debug do\n \"parsed meraki payload\"\n end\n ignore_older = @max_location_age.ago.in(Time::Location::UTC)\n drift_older = @drift_location_age.ago.in(Time::Location::UTC)\n current_time = Time.utc\n observations.each do |observation|\n client_mac = format_mac(observation.client_mac)\n existing = @locations[client_mac]?\n if @debug_webhook\n logger.debug do\n \"parsing new observation for #{client_mac}\"\n end\n end\n if @regex_filter_device_os\n client = @client_details[format_mac(observation.client_mac)]?\n if client.nil? || (/#{@regex_filter_device_os}/).match(client.os || \"\").nil?\n if @debug_webhook\n logger.debug do\n \"FILTERED OUT #{client_mac}: OS \\\"#{observation.os}\\\" did not match \\\"#{@regex_filter_device_os}\\\"\"\n end\n end\n next\n end\n end\n location = parse(existing, ignore_older, drift_older, observation)\n if location\n @locations[client_mac] = location\n locations_updated = locations_updated + 1\n end\n update_ipv4(observation.ipv4, client_mac, current_time)\n update_ipv6(observation.ipv6.try(&.downcase), client_mac, current_time)\n end\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{payload}\"\n end\nend\nlogger.debug do\n \"updated #{locations_updated} locations\"\nend\n"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil)-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L297"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nArray(Client).from_json((dashboard.poll_clients(network_id, timespan, connection, device_serial)).get.to_json)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1163"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ncam_state = @camera_analytics[format_mac(mac)]?\nif cam_state\nelse\n return nil\nend\narea_str, _, sensor_type = id.rpartition('-')\nfilter = case sensor_type\nwhen \"people\"\n SensorType::PeopleCount\nwhen \"presence\"\n SensorType::Presence\nelse\n return nil\nend\narea_id = area_str.to_i64?\nif area_id\nelse\n return nil\nend\nzone_count = cam_state[:details].zones[area_id]?.try(&.person)\nif zone_count\nelse\n return nil\nend\n(to_sensors(nil, filter, **cam_state)).find do |sensor|\n sensor.id == id\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1148"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (!(type.in?({\"Presence\", \"PeopleCount\"})))\n return NO_MATCH\nend\nfilter = type ? SensorType.parse(type) : nil\nif mac\n cam_state = @camera_analytics[format_mac(mac)]?\n if cam_state\n else\n return NO_MATCH\n end\n return to_sensors(zone_id, filter, **cam_state)\nend\n@camera_analytics.values.flat_map do |cam_data|\n to_sensors(zone_id, filter, **cam_data)\nend\n"}},{"html_id":"sync_floorplan_sizes(network_id:String|Nil=nil)-instance-method","name":"sync_floorplan_sizes","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L676"},"def":{"name":"sync_floorplan_sizes","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"syncing floor plan sizes for network #{network_id}\"\nend\nfloor_plans = {} of String => FloorPlan\nreq_all(\"/api/v1/networks/#{network_id}/floorPlans?perPage=1000\") do |response|\n (Array(FloorPlan).from_json(response)).each do |plan|\n floor_plans[plan.id] = plan\n end\n nil\nend\n@floorplan_sizes = floor_plans\nnetwork_devices = {} of String => NetworkDevice\ncameras = [] of NetworkDevice\nreq_all(\"/api/v1/networks/#{network_id}/devices?perPage=1000\") do |response|\n (Array(NetworkDevice).from_json(response)).each do |device|\n if device.firmware.starts_with?(\"cam\")\n cameras << device\n end\n if device.floor_plan_id\n else\n next\n end\n network_devices[format_mac(device.mac)] = device\n end\n nil\nend\n@network_devices = network_devices\n@cameras = cameras\n{floor_plans, network_devices}\n"}},{"html_id":"update_desk_mappings-instance-method","name":"update_desk_mappings","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1297"},"def":{"name":"update_desk_mappings","visibility":"Public","body":"desk_mappings = Hash(String, Array(CameraZone)).new\n@floor_lookup.keys.each do |serial|\n begin\n desk_mappings[serial] = (Array(CameraZone).from_json((dashboard.get_zones(serial)).get.to_json)).reject!() do |__arg12|\n __arg12.id == \"0\"\n end\n rescue error\n logger.warn(exception: error) do\n \"fetching zones for camera: #{serial}\"\n end\n end\nend\n@desk_mappings = desk_mappings\nmqtt_module = system[:MerakiMQTT]\ndesk_mappings.keys.each do |camera_serial|\n check_camera_status(mqtt_module, camera_serial)\nend\n"}},{"html_id":"update_sensor_cache-instance-method","name":"update_sensor_cache","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L728"},"def":{"name":"update_sensor_cache","visibility":"Public","body":"analytics = {} of String => CamAnalytics\ncameras.each do |cam|\n begin\n mappings = @floorplan_mappings[cam.floor_plan_id]?\n counts = camera_analytics(cam.serial)\n mac = format_mac(cam.mac)\n if mappings\n analytics[mac] = {camera: cam, details: counts, building: mappings[\"building\"]?.as(String | ::Nil), level: mappings[\"level\"]?.as(String | ::Nil)}\n else\n analytics[mac] = {camera: cam, details: counts, building: nil.as(String | ::Nil), level: nil.as(String | ::Nil)}\n end\n counts.zones.each do |area_id, count|\n self[\"people-#{mac}-#{area_id}\"] = count.person\n self[\"presence-#{mac}-#{area_id}\"] = count.person > 0\n end\n rescue error\n logger.debug(exception: error) do\n \"failed to obtain analytics for #{cam.name} (serial: #{cam.serial})\"\n end\n end\nend\n@camera_analytics = analytics\n"}},{"html_id":"wired_desk_locations(zone_id:String)-instance-method","name":"wired_desk_locations","doc":"grabs the wired desk data for a level","summary":"

grabs the wired desk data for a level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1064,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1064"},"def":{"name":"wired_desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"return_empty_spaces = @return_empty_spaces\nserials = if zone_id == @building_zone\n @level_serials.values.flatten\nelse\n @level_serials[zone_id]? || ([] of String)\nend\nserials.compact_map do |serial|\n ports = @port_status[serial]?\n if ports\n else\n next\n end\n ports.map do |__arg8|\n port_num = __arg8[0]\n port = __arg8[1]\n occupied = port.status.connected? ? 1 : 0\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: port.desk_id, level: port.level_id, building: @building_zone, capacity: 1, mac: port.mac, port: port_num, switch: port.switch_serial}\n end\nend.flatten\n"}},{"html_id":"wireless_locations(zone_id:String)-instance-method","name":"wireless_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L534"},"def":{"name":"wireless_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"floors = [] of String\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of String\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago\nmatching = @locations.compact_map do |mac, loc|\n client = @client_details[mac]?\n loc.client = client\n if loc.time < oldest_location\n if client\n if client.time_added < oldest_location\n too_old = too_old + 1\n next\n end\n else\n too_old = too_old + 1\n next\n end\n end\n if !(floors.includes?(loc.floor_plan_id))\n wrong_floor = wrong_floor + 1\n next\n end\n loc.mac = mac\n loc\nend\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.floor_plan_id).flat_map do |floor_id, locations|\n map_width = -1.0\n map_height = -1.0\n if map_size = @floorplan_sizes[floor_id]?\n map_width = map_size.width\n map_height = map_size.height\n else\n if mappings = @floorplan_mappings[floor_id]?\n map_width = (mappings[\"width\"]? || map_width).as(Float64)\n map_height = (mappings[\"height\"]? || map_width).as(Float64)\n end\n end\n locations.compact_map do |loc|\n lat = loc.lat\n lon = loc.lng\n if client = @client_details[loc.mac]?\n manufacturer = client.manufacturer\n os = client.os\n ssid = client.ssid\n end\n if (x = loc.x) && (y = loc.y)\n if x.is_a?(Float64) && y.is_a?(Float64)\n if (loc.x.as(Float64)).nan? || (loc.y.as(Float64)).nan?\n logger.warn do\n \"ignoring bad location for #{loc.mac}, NaN\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, unexpected value #{loc.x.inspect}\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, no coordinates provided\"\n end\n next\n end\n {location: :wireless, coordinates_from: \"bottom-left\", x: loc.x, y: loc.y, lon: lon, lat: lat, s2_cell_id: lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, mac: loc.mac, variance: loc.variance, last_seen: loc.time.to_unix, map_width: map_width, map_height: map_height, manufacturer: manufacturer, os: os, ssid: ssid}\n end\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Locations/CamAnalytics","path":"Cisco/Meraki/Locations/CamAnalytics.html","kind":"alias","full_name":"Cisco::Meraki::Locations::CamAnalytics","name":"CamAnalytics","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L717"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String | Nil, level: String | Nil)","aliased_html":"{camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String?, level: String?}","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}},{"html_id":"drivers/Cisco/Meraki/Locations/Lookup","path":"Cisco/Meraki/Locations/Lookup.html","kind":"struct","full_name":"Cisco::Meraki::Locations::Lookup","name":"Lookup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"},"constructors":[{"html_id":"new(time:Time,mac:String)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"args_string":"(time : Time, mac : String)","args_html":"(time : Time, mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L252"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time, mac)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations/WiredDesks","path":"Cisco/Meraki/Locations/WiredDesks.html","kind":"alias","full_name":"Cisco::Meraki::Locations::WiredDesks","name":"WiredDesks","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(Int32, String))","aliased_html":"Hash(String, Hash(Int32, String))","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}}]},{"html_id":"drivers/Cisco/Meraki/LuxLevel","path":"Cisco/Meraki/LuxLevel.html","kind":"class","full_name":"Cisco::Meraki::LuxLevel","name":"LuxLevel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lux:Float64-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L40"},"def":{"name":"lux","return_type":"Float64","visibility":"Public","body":"@lux"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L38"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"if (value = @timestamp).nil?\n @timestamp = (Time.utc.to_unix)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/MessageType","path":"Cisco/Meraki/MessageType.html","kind":"enum","full_name":"Cisco::Meraki::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L284"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"WiFi","name":"WiFi","value":"1"},{"id":"Bluetooth","name":"Bluetooth","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"bluetooth?-instance-method","name":"bluetooth?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L287"},"def":{"name":"bluetooth?","visibility":"Public","body":"self == Bluetooth"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L285"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"wi_fi?-instance-method","name":"wi_fi?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L286"},"def":{"name":"wi_fi?","visibility":"Public","body":"self == WiFi"}}]},{"html_id":"drivers/Cisco/Meraki/MQTT","path":"Cisco/Meraki/MQTT.html","kind":"class","full_name":"Cisco::Meraki::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LUX_ID","name":"LUX_ID","value":"\"lux\""},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SUBS","name":"SUBS","value":"{\"/merakimv/+/net.meraki.detector\", \"/merakimv/+/light\", \"/merakimv/+/0\", \"/merakimv/+/crossing/+\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L149"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\nend\n"}},{"html_id":"crossing_people:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_people","doc":"Serial => count","summary":"

Serial => count

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L192"},"def":{"name":"crossing_people","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_people).nil?\n @crossing_people = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"crossing_vehicle:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_vehicle","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L196"},"def":{"name":"crossing_vehicle","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_vehicle).nil?\n @crossing_vehicle = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L163"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"lux:Hash(String,Tuple(Float64,Int64))-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L200"},"def":{"name":"lux","return_type":"Hash(String, Tuple(Float64, Int64))","visibility":"Public","body":"@lux"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L85"},"def":{"name":"on_unload","visibility":"Public","body":""}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L88"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\nzone_lookup = Hash(String, Array(String)).new do |h, k|\n h[k] = [] of String\nend\nfloor_lookup = {} of String => FloorMapping\nfloor_mappings = (setting?(Array(FloorMapping), :floor_mappings)) || ([] of FloorMapping)\nfloor_mappings.each do |mapping|\n mapping.camera_serials.each do |serial|\n zone_lookup[mapping.level_id] << serial\n if mapping.building_id\n zone_lookup[mapping.building_id.not_nil!] << serial\n end\n floor_lookup[serial] = mapping\n end\nend\nself[:floor_lookup] = @floor_lookup = floor_lookup\nself[:zone_lookup] = zone_lookup\nexisting = @subs\n@subs = SUBS.to_a\n@line_crossing = line_crossing_combined = (setting?(Hash(String, Array(String)), :line_crossing_combined)) || ({} of String => Array(String))\nline_crossing_mapping = {} of String => String\nline_crossing_combined.each do |name, serials|\n serials.each do |serial|\n line_crossing_mapping[serial] = name\n end\nend\n@crossing_lookup = line_crossing_mapping\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif !(setting?(Bool, :disable_line_crossing_reset))\n time_zone = (setting?(String, :timezone)).presence || \"America/New_York\"\n tz = Time::Location.load(time_zone)\n schedule.cron(\"30 3 * * *\", tz) do\n crossing_people.each_key do |key|\n self[\"camera_mvx-#{key}_person\"] = 0\n end\n crossing_people.clear\n crossing_vehicle.each_key do |key|\n self[\"camera_mvx-#{key}_vehicle\"] = 0\n end\n crossing_vehicle.clear\n end\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n client.unsubscribe(sub)\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"people_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L179"},"def":{"name":"people_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @people_counts).nil?\n @people_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L168"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\n@mqtt.not_nil!.ping\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L173"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L254"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif id == \"lux\"\n (add_lux_values([] of Detail, mac)).first?\nelse\n if id.starts_with?(\"zone\")\n zone, count_type = id.split('_', 2)\n zone = zone[4..-1]\n sensor_type = SensorType::PeopleCount\n lookup = case count_type\n when \"people\"\n people_counts\n when \"vehicles\"\n sensor_type = SensorType::Counter\n vehicle_counts\n end\n if lookup\n if counts = lookup[mac]?\n if count = counts[zone]?\n to_sensor(sensor_type, mac, \"zone#{zone}_#{count_type}\", count[0], count[1])\n end\n end\n end\n else\n nil\n end\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L291"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n serial_filter = nil\n if zone_id && (!@floor_lookup.empty?)\n serial_filter = [] of String\n @floor_lookup.each do |serial, floor|\n if {floor.level_id, floor.building_id}.includes?(zone_id)\n serial_filter << serial\n end\n end\n end\n sensors = [] of Detail\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n case filter\n when nil\n add_lux_values(sensors, mac, serial_filter)\n add_people_counts(sensors, mac, serial_filter)\n add_vehicle_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .people_count?\n add_people_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n when .counter?\n add_vehicle_counts(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .illuminance?\n add_lux_values(sensors, mac, serial_filter)\n else\n sensors\n end\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"vehicle_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"vehicle_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L185"},"def":{"name":"vehicle_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @vehicle_counts).nil?\n @vehicle_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/Network","path":"Cisco/Meraki/Network.html","kind":"class","full_name":"Cisco::Meraki::Network","name":"Network","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"enrollment_string:String|Nil-instance-method","name":"enrollment_string","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string","return_type":"String | ::Nil","visibility":"Public","body":"@enrollment_string"}},{"html_id":"enrollment_string=(enrollment_string:String|Nil)-instance-method","name":"enrollment_string=","abstract":false,"args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"args_string":"(enrollment_string : String | Nil)","args_html":"(enrollment_string : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string=","args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@enrollment_string = enrollment_string"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"organization_id:String-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id","return_type":"String","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:String)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"product_types:Array(String)-instance-method","name":"product_types","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types","return_type":"Array(String)","visibility":"Public","body":"@product_types"}},{"html_id":"product_types=(product_types:Array(String))-instance-method","name":"product_types=","abstract":false,"args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"args_string":"(product_types : Array(String))","args_html":"(product_types : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types=","args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"visibility":"Public","body":"@product_types = product_types"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"time_zone=(time_zone:String)-instance-method","name":"time_zone=","abstract":false,"args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"args_string":"(time_zone : String)","args_html":"(time_zone : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone=","args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"visibility":"Public","body":"@time_zone = time_zone"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/NetworkDevice","path":"Cisco/Meraki/NetworkDevice.html","kind":"class","full_name":"Cisco::Meraki::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"floor_plan_id:String|Nil-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_plan_id"}},{"html_id":"floor_plan_id=(floor_plan_id:String|Nil)-instance-method","name":"floor_plan_id=","abstract":false,"args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(floor_plan_id : String | Nil)","args_html":"(floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id=","args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_plan_id = floor_plan_id"}},{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"location:DeviceLocation|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location","return_type":"DeviceLocation | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:DeviceLocation|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"args_string":"(location : DeviceLocation | Nil)","args_html":"(location : DeviceLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"model:String-instance-method","name":"model","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:String)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"@serial = serial"}}]},{"html_id":"drivers/Cisco/Meraki/Observation","path":"Cisco/Meraki/Observation.html","kind":"class","full_name":"Cisco::Meraki::Observation","name":"Observation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"ipv4:String|Nil-instance-method","name":"ipv4","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4","return_type":"String | ::Nil","visibility":"Public","body":"@ipv4"}},{"html_id":"ipv4=(ipv4:String|Nil)-instance-method","name":"ipv4=","abstract":false,"args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"args_string":"(ipv4 : String | Nil)","args_html":"(ipv4 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4=","args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv4 = ipv4"}},{"html_id":"ipv6:String|Nil-instance-method","name":"ipv6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6","return_type":"String | ::Nil","visibility":"Public","body":"@ipv6"}},{"html_id":"ipv6=(ipv6:String|Nil)-instance-method","name":"ipv6=","abstract":false,"args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"args_string":"(ipv6 : String | Nil)","args_html":"(ipv6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6=","args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv6 = ipv6"}},{"html_id":"latest_record:LatestRecord-instance-method","name":"latest_record","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record","return_type":"LatestRecord","visibility":"Public","body":"@latest_record"}},{"html_id":"latest_record=(latest_record:LatestRecord)-instance-method","name":"latest_record=","abstract":false,"args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"args_string":"(latest_record : LatestRecord)","args_html":"(latest_record : LatestRecord)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record=","args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"visibility":"Public","body":"@latest_record = latest_record"}},{"html_id":"locations:Array(DeviceLocation)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations","return_type":"Array(DeviceLocation)","visibility":"Public","body":"@locations"}},{"html_id":"locations=(locations:Array(DeviceLocation))-instance-method","name":"locations=","abstract":false,"args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"args_string":"(locations : Array(DeviceLocation))","args_html":"(locations : Array(DeviceLocation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations=","args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"visibility":"Public","body":"@locations = locations"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}}]},{"html_id":"drivers/Cisco/Meraki/Organization","path":"Cisco/Meraki/Organization.html","kind":"class","full_name":"Cisco::Meraki::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api:NamedTuple(enabled:Bool)-instance-method","name":"api","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api","return_type":"NamedTuple(enabled: Bool)","visibility":"Public","body":"@api"}},{"html_id":"api=(api:NamedTuple(enabled:Bool))-instance-method","name":"api=","abstract":false,"args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"args_string":"(api : NamedTuple(enabled: Bool))","args_html":"(api : NamedTuple(enabled: Bool))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api=","args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"visibility":"Public","body":"@api = api"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/PortState","path":"Cisco/Meraki/PortState.html","kind":"enum","full_name":"Cisco::Meraki::PortState","name":"PortState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L400"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Connected","name":"Connected","value":"0"},{"id":"Disconnected","name":"Disconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected?-instance-method","name":"connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L401"},"def":{"name":"connected?","visibility":"Public","body":"self == Connected"}},{"html_id":"disconnected?-instance-method","name":"disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L402"},"def":{"name":"disconnected?","visibility":"Public","body":"self == Disconnected"}}]},{"html_id":"drivers/Cisco/Meraki/PortStatusResponse","path":"Cisco/Meraki/PortStatusResponse.html","kind":"class","full_name":"Cisco::Meraki::PortStatusResponse","name":"PortStatusResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":405,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L405"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L406"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_id:String-instance-method","name":"desk_id","abstract":false,"def":{"name":"desk_id","return_type":"String","visibility":"Public","body":"if (value = @desk_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#desk_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"desk_id=(desk_id:String)-instance-method","name":"desk_id=","abstract":false,"args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"args_string":"(desk_id : String)","args_html":"(desk_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L427"},"def":{"name":"desk_id=","args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"visibility":"Public","body":"@desk_id = desk_id"}},{"html_id":"desk_id?:String|Nil-instance-method","name":"desk_id?","abstract":false,"def":{"name":"desk_id?","return_type":"String | ::Nil","visibility":"Public","body":"@desk_id"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":414,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L414"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_uplink?:Bool-instance-method","name":"is_uplink?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L418"},"def":{"name":"is_uplink?","return_type":"Bool","visibility":"Public","body":"@is_uplink"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"if (value = @level_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#level_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"level_id=(level_id:String)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"args_string":"(level_id : String)","args_html":"(level_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":430,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L430"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_id?:String|Nil-instance-method","name":"level_id?","abstract":false,"def":{"name":"level_id?","return_type":"String | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"port:Int32-instance-method","name":"port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L412"},"def":{"name":"port","return_type":"Int32","visibility":"Public","body":"if (value = @port).nil?\n @port = (port_id.to_i)\nelse\n value\nend"}},{"html_id":"port_id:String-instance-method","name":"port_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L409"},"def":{"name":"port_id","return_type":"String","visibility":"Public","body":"@port_id"}},{"html_id":"status:PortState-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L415"},"def":{"name":"status","return_type":"PortState","visibility":"Public","body":"@status"}},{"html_id":"switch_serial:String-instance-method","name":"switch_serial","abstract":false,"def":{"name":"switch_serial","return_type":"String","visibility":"Public","body":"if (value = @switch_serial).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#switch_serial cannot be nil\"))\nelse\n value\nend"}},{"html_id":"switch_serial=(switch_serial:String)-instance-method","name":"switch_serial=","abstract":false,"args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"args_string":"(switch_serial : String)","args_html":"(switch_serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L421"},"def":{"name":"switch_serial=","args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"visibility":"Public","body":"@switch_serial = switch_serial"}},{"html_id":"switch_serial?:String|Nil-instance-method","name":"switch_serial?","abstract":false,"def":{"name":"switch_serial?","return_type":"String | ::Nil","visibility":"Public","body":"@switch_serial"}}]},{"html_id":"drivers/Cisco/Meraki/RSSI","path":"Cisco/Meraki/RSSI.html","kind":"class","full_name":"Cisco::Meraki::RSSI","name":"RSSI","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}}]},{"html_id":"drivers/Cisco/Meraki/WebhookAlert","path":"Cisco/Meraki/WebhookAlert.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alert_data:PortData-instance-method","name":"alert_data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":387,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L387"},"def":{"name":"alert_data","return_type":"PortData","visibility":"Public","body":"@alert_data"}},{"html_id":"alert_type:AlertType-instance-method","name":"alert_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":384,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L384"},"def":{"name":"alert_type","return_type":"AlertType","visibility":"Public","body":"@alert_type"}},{"html_id":"device_serial:String-instance-method","name":"device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L390"},"def":{"name":"device_serial","return_type":"String","visibility":"Public","body":"@device_serial"}},{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":381,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L381"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L395"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"alert_data.port_num"}},{"html_id":"shared_secret:String-instance-method","name":"shared_secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":393,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L393"},"def":{"name":"shared_secret","return_type":"String","visibility":"Public","body":"@shared_secret"}}],"types":[{"html_id":"drivers/Cisco/Meraki/WebhookAlert/PortData","path":"Cisco/Meraki/WebhookAlert/PortData.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert::PortData","name":"PortData","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L373"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/WebhookAlert","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L374"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L377"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"@port_num"}}]}]},{"html_id":"drivers/Cisco/Meraki/ZoneDetails","path":"Cisco/Meraki/ZoneDetails.html","kind":"struct","full_name":"Cisco::Meraki::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Cisco/RoomKit","path":"Cisco/RoomKit.html","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L45"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}],"instance_methods":[{"html_id":"autofocus_diagnostics_start(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_start","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L248"},"def":{"name":"autofocus_diagnostics_start","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Start\", camera_id: camera_id)\n"}},{"html_id":"autofocus_diagnostics_stop(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_stop","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L252"},"def":{"name":"autofocus_diagnostics_stop","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Stop\", camera_id: camera_id)\n"}},{"html_id":"bookings(days:Int32|Nil=nil,day_offset:Int32|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L163"},"def":{"name":"bookings","args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if days\n if (1..365).includes?(days)\n else\n raise(ArgumentError.new(\"\\\"days\\\" must be within #{1..365}, was #{days}\"))\n end\nend\nif day_offset\n if (0..365).includes?(day_offset)\n else\n raise(ArgumentError.new(\"\\\"day_offset\\\" must be within #{0..365}, was #{day_offset}\"))\n end\nend\nxcommand(\"Bookings List\", days: days, day_offset: day_offset, limit: limit, offset: offset)\n"}},{"html_id":"call_accept(call_id:Int32|Nil=nil)-instance-method","name":"call_accept","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L169"},"def":{"name":"call_accept","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Accept\", call_id: call_id)"}},{"html_id":"call_place_on_hold(call_id:Int32|Nil=nil)-instance-method","name":"call_place_on_hold","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L172"},"def":{"name":"call_place_on_hold","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Hold\", call_id: call_id)"}},{"html_id":"call_reject(call_id:Int32|Nil=nil)-instance-method","name":"call_reject","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L170"},"def":{"name":"call_reject","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Reject\", call_id: call_id)"}},{"html_id":"call_resume(call_id:Int32|Nil=nil)-instance-method","name":"call_resume","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L173"},"def":{"name":"call_resume","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Resume\", call_id: call_id)"}},{"html_id":"camera_select(connector_id:Int32|Nil=nil,layout:VideoLayout|Nil=nil,source_id:Int32|Nil=nil)-instance-method","name":"camera_select","abstract":false,"args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"args_string":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","args_html":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L202"},"def":{"name":"camera_select","args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if connector_id\n if (1..3).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..3}, was #{connector_id}\"))\n end\nend\nif source_id\n if (1..3).includes?(source_id)\n else\n raise(ArgumentError.new(\"\\\"source_id\\\" must be within #{1..3}, was #{source_id}\"))\n end\nend\nxcommand(\"Video Input SetMainVideoSource\", connector_id: connector_id, layout: layout, source_id: source_id)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L60"},"def":{"name":"connected","visibility":"Public","body":"super()\nschedule.in(40.seconds) do\n if self[\"calls\"]?.nil?\n disconnect\n end\nend\n"}},{"html_id":"dial(number:String,protocol:DialProtocol|Nil=nil,call_rate:Int32|Nil=nil,call_type:CallType|Nil=nil)-instance-method","name":"dial","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"args_string":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","args_html":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L191"},"def":{"name":"dial","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"visibility":"Public","body":"if call_rate\n if (64..6000).includes?(call_rate)\n else\n raise(ArgumentError.new(\"\\\"call_rate\\\" must be within #{64..6000}, was #{call_rate}\"))\n end\nend\nxcommand(\"Dial\", number: number, protocol: protocol, call_rate: call_rate, call_type: call_type)\n"}},{"html_id":"dtmf_send(d_t_m_f_string:String,call_id:Int32|Nil=nil)-instance-method","name":"dtmf_send","abstract":false,"args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","args_html":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L175"},"def":{"name":"dtmf_send","args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if call_id\n if (0..65534).includes?(call_id)\n else\n raise(ArgumentError.new(\"\\\"call_id\\\" must be within #{0..65534}, was #{call_id}\"))\n end\nend\nxcommand(\"Call DTMFSend\", d_t_m_f_string: d_t_m_f_string, call_id: call_id)\n"}},{"html_id":"hangup(call_id:Int32|Nil=nil)-instance-method","name":"hangup","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L171"},"def":{"name":"hangup","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Disconnect\", call_id: call_id)"}},{"html_id":"mic_mute(state:Bool=true)-instance-method","name":"mic_mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L298"},"def":{"name":"mic_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? mic_mute_on : mic_mute_off"}},{"html_id":"mic_mute_off-instance-method","name":"mic_mute_off","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L121"},"def":{"name":"mic_mute_off","visibility":"Public","body":"xcommand(\"Audio Microphones Unmute\")"}},{"html_id":"mic_mute_on-instance-method","name":"mic_mute_on","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L120"},"def":{"name":"mic_mute_on","visibility":"Public","body":"xcommand(\"Audio Microphones Mute\")"}},{"html_id":"mic_mute_toggle-instance-method","name":"mic_mute_toggle","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L122"},"def":{"name":"mic_mute_toggle","visibility":"Public","body":"xcommand(\"Audio Microphones ToggleMute\")"}},{"html_id":"phonebook_search(search_string:String,phonebook_type:PhonebookType|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"phonebook_search","abstract":false,"args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L276"},"def":{"name":"phonebook_search","args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Phonebook Search\", search_string: search_string, phonebook_type: phonebook_type, limit: limit, offset: offset)"}},{"html_id":"play_sound(sound:Sound,loop:Toogle|Nil=nil)-instance-method","name":"play_sound","abstract":false,"args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"args_string":"(sound : Sound, loop : Toogle | Nil = nil)","args_html":"(sound : Sound, loop : Toogle | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L158"},"def":{"name":"play_sound","args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"visibility":"Public","body":"xcommand(\"Audio Sound Play\", sound: sound, loop: loop)"}},{"html_id":"presentation_mode(value:PresentationMode)-instance-method","name":"presentation_mode","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"args_string":"(value : PresentationMode)","args_html":"(value : PresentationMode)","location":{"filename":"src/cisco/room_kit.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L302"},"def":{"name":"presentation_mode","args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"visibility":"Public","body":"case value\nin .remote?\n presentation_start(sending_mode: :LocalRemote)\nin .local?\n @presentation_mode = PresentationMode::Local\n presentation_start(sending_mode: :LocalOnly)\nin .none?\n @presentation_mode = PresentationMode::None\n presentation_stop\nend"}},{"html_id":"reboot(action:PowerOff|Nil=nil)-instance-method","name":"reboot","abstract":false,"args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"args_string":"(action : PowerOff | Nil = nil)","args_html":"(action : PowerOff | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L288"},"def":{"name":"reboot","args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"visibility":"Public","body":"xcommand(\"SystemUnit Boot\", action: action)"}},{"html_id":"selfview(mode:Toogle|Nil=nil,full_screen_mode:Toogle|Nil=nil,p_i_p_position:PiPPosition|Nil=nil,on_monitor_role:MonitorRole|Nil=nil)-instance-method","name":"selfview","abstract":false,"args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"args_string":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","args_html":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L241"},"def":{"name":"selfview","args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Selfview Set\", mode: mode, full_screen_mode: full_screen_mode, p_i_p_position: p_i_p_position, on_monitor_role: on_monitor_role)"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/room_kit.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L340"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == config.ip\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/room_kit.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L322"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"show_camera_pip(visible:Bool)-instance-method","name":"show_camera_pip","abstract":false,"args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(visible : Bool)","args_html":"(visible : Bool)","location":{"filename":"src/cisco/room_kit.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L293"},"def":{"name":"show_camera_pip","args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"mode = visible ? Toogle::On : Toogle::Off\nselfview(mode: mode)\n"}},{"html_id":"speaker_track(state:Bool=true)-instance-method","name":"speaker_track","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L267"},"def":{"name":"speaker_track","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? speaker_track_activate : speaker_track_deactivate"}},{"html_id":"speaker_track_activate-instance-method","name":"speaker_track_activate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L262"},"def":{"name":"speaker_track_activate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Activate\")"}},{"html_id":"speaker_track_deactivate-instance-method","name":"speaker_track_deactivate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L265"},"def":{"name":"speaker_track_deactivate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Deactivate\")"}},{"html_id":"speaker_track_diagnostics_start-instance-method","name":"speaker_track_diagnostics_start","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L256"},"def":{"name":"speaker_track_diagnostics_start","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Start\")"}},{"html_id":"speaker_track_diagnostics_stop-instance-method","name":"speaker_track_diagnostics_stop","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L259"},"def":{"name":"speaker_track_diagnostics_stop","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Stop\")"}},{"html_id":"stop_sound-instance-method","name":"stop_sound","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L161"},"def":{"name":"stop_sound","visibility":"Public","body":"xcommand(\"Audio Sound Stop\")"}},{"html_id":"video_layout(layout_family:LayoutFamily,target:LayoutTarget|Nil=nil)-instance-method","name":"video_layout","abstract":false,"args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"args_string":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","args_html":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L220"},"def":{"name":"video_layout","args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Layout LayoutFamily Set\", layout_family: layout_family, target: target)"}},{"html_id":"webview_clear-instance-method","name":"webview_clear","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L285"},"def":{"name":"webview_clear","visibility":"Public","body":"xcommand(\"UserInterface WebView Clear\")"}},{"html_id":"webview_display(url:String)-instance-method","name":"webview_display","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/room_kit.cr","line_number":282,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L282"},"def":{"name":"webview_display","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface WebView Display\", url: url)"}}],"types":[{"html_id":"drivers/Cisco/RoomKit/CallType","path":"Cisco/RoomKit/CallType.html","kind":"enum","full_name":"Cisco::RoomKit::CallType","name":"CallType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L187"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L188"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Cisco/RoomKit/DialProtocol","path":"Cisco/RoomKit/DialProtocol.html","kind":"enum","full_name":"Cisco::RoomKit::DialProtocol","name":"DialProtocol","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L179"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"H320","name":"H320","value":"0"},{"id":"H323","name":"H323","value":"1"},{"id":"Sip","name":"Sip","value":"2"},{"id":"Spark","name":"Spark","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"h320?-instance-method","name":"h320?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L180"},"def":{"name":"h320?","visibility":"Public","body":"self == H320"}},{"html_id":"h323?-instance-method","name":"h323?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L181"},"def":{"name":"h323?","visibility":"Public","body":"self == H323"}},{"html_id":"sip?-instance-method","name":"sip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L182"},"def":{"name":"sip?","visibility":"Public","body":"self == Sip"}},{"html_id":"spark?-instance-method","name":"spark?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L183"},"def":{"name":"spark?","visibility":"Public","body":"self == Spark"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutFamily","path":"Cisco/RoomKit/LayoutFamily.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutFamily","name":"LayoutFamily","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L207"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Equal","name":"Equal","value":"1"},{"id":"Overlay","name":"Overlay","value":"2"},{"id":"Prominent","name":"Prominent","value":"3"},{"id":"Single","name":"Single","value":"4"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L208"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L209"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"overlay?-instance-method","name":"overlay?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L210"},"def":{"name":"overlay?","visibility":"Public","body":"self == Overlay"}},{"html_id":"prominent?-instance-method","name":"prominent?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L211"},"def":{"name":"prominent?","visibility":"Public","body":"self == Prominent"}},{"html_id":"single?-instance-method","name":"single?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L212"},"def":{"name":"single?","visibility":"Public","body":"self == Single"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutTarget","path":"Cisco/RoomKit/LayoutTarget.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutTarget","name":"LayoutTarget","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L215"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Local","name":"Local","value":"0"},{"id":"Remote","name":"Remote","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L216"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L217"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/MonitorRole","path":"Cisco/RoomKit/MonitorRole.html","kind":"enum","full_name":"Cisco::RoomKit::MonitorRole","name":"MonitorRole","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L234"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"First","name":"First","value":"0"},{"id":"Second","name":"Second","value":"1"},{"id":"Third","name":"Third","value":"2"},{"id":"Fourth","name":"Fourth","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"first?-instance-method","name":"first?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L235"},"def":{"name":"first?","visibility":"Public","body":"self == First"}},{"html_id":"fourth?-instance-method","name":"fourth?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L238"},"def":{"name":"fourth?","visibility":"Public","body":"self == Fourth"}},{"html_id":"second?-instance-method","name":"second?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L236"},"def":{"name":"second?","visibility":"Public","body":"self == Second"}},{"html_id":"third?-instance-method","name":"third?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L237"},"def":{"name":"third?","visibility":"Public","body":"self == Third"}}]},{"html_id":"drivers/Cisco/RoomKit/PhonebookType","path":"Cisco/RoomKit/PhonebookType.html","kind":"enum","full_name":"Cisco::RoomKit::PhonebookType","name":"PhonebookType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L271"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Corporate","name":"Corporate","value":"0"},{"id":"Local","name":"Local","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"corporate?-instance-method","name":"corporate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L272"},"def":{"name":"corporate?","visibility":"Public","body":"self == Corporate"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L273"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}}]},{"html_id":"drivers/Cisco/RoomKit/PiPPosition","path":"Cisco/RoomKit/PiPPosition.html","kind":"enum","full_name":"Cisco::RoomKit::PiPPosition","name":"PiPPosition","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CenterLeft","name":"CenterLeft","value":"0"},{"id":"CenterRight","name":"CenterRight","value":"1"},{"id":"LowerLeft","name":"LowerLeft","value":"2"},{"id":"LowerRight","name":"LowerRight","value":"3"},{"id":"UpperCenter","name":"UpperCenter","value":"4"},{"id":"UpperLeft","name":"UpperLeft","value":"5"},{"id":"UpperRight","name":"UpperRight","value":"6"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"center_left?-instance-method","name":"center_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L225"},"def":{"name":"center_left?","visibility":"Public","body":"self == CenterLeft"}},{"html_id":"center_right?-instance-method","name":"center_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L226"},"def":{"name":"center_right?","visibility":"Public","body":"self == CenterRight"}},{"html_id":"lower_left?-instance-method","name":"lower_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L227"},"def":{"name":"lower_left?","visibility":"Public","body":"self == LowerLeft"}},{"html_id":"lower_right?-instance-method","name":"lower_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L228"},"def":{"name":"lower_right?","visibility":"Public","body":"self == LowerRight"}},{"html_id":"upper_center?-instance-method","name":"upper_center?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L229"},"def":{"name":"upper_center?","visibility":"Public","body":"self == UpperCenter"}},{"html_id":"upper_left?-instance-method","name":"upper_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L230"},"def":{"name":"upper_left?","visibility":"Public","body":"self == UpperLeft"}},{"html_id":"upper_right?-instance-method","name":"upper_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L231"},"def":{"name":"upper_right?","visibility":"Public","body":"self == UpperRight"}}]},{"html_id":"drivers/Cisco/RoomKit/PresentationMode","path":"Cisco/RoomKit/PresentationMode.html","kind":"enum","full_name":"Cisco::RoomKit::PresentationMode","name":"PresentationMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L51"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Local","name":"Local","value":"1"},{"id":"Remote","name":"Remote","value":"2"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L53"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L52"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L54"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/Sound","path":"Cisco/RoomKit/Sound.html","kind":"enum","full_name":"Cisco::RoomKit::Sound","name":"Sound","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L133"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Alert","name":"Alert","value":"0"},{"id":"Bump","name":"Bump","value":"1"},{"id":"Busy","name":"Busy","value":"2"},{"id":"CallDisconnect","name":"CallDisconnect","value":"3"},{"id":"CallInitiate","name":"CallInitiate","value":"4"},{"id":"CallWaiting","name":"CallWaiting","value":"5"},{"id":"Dial","name":"Dial","value":"6"},{"id":"KeyInput","name":"KeyInput","value":"7"},{"id":"KeyInputDelete","name":"KeyInputDelete","value":"8"},{"id":"KeyTone","name":"KeyTone","value":"9"},{"id":"Nav","name":"Nav","value":"10"},{"id":"NavBack","name":"NavBack","value":"11"},{"id":"Notification","name":"Notification","value":"12"},{"id":"OK","name":"OK","value":"13"},{"id":"PresentationConnect","name":"PresentationConnect","value":"14"},{"id":"Ringing","name":"Ringing","value":"15"},{"id":"SignIn","name":"SignIn","value":"16"},{"id":"SpecialInfo","name":"SpecialInfo","value":"17"},{"id":"TelephoneCall","name":"TelephoneCall","value":"18"},{"id":"VideoCall","name":"VideoCall","value":"19"},{"id":"VolumeAdjust","name":"VolumeAdjust","value":"20"},{"id":"WakeUp","name":"WakeUp","value":"21"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"alert?-instance-method","name":"alert?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L134"},"def":{"name":"alert?","visibility":"Public","body":"self == Alert"}},{"html_id":"bump?-instance-method","name":"bump?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L135"},"def":{"name":"bump?","visibility":"Public","body":"self == Bump"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L136"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"call_disconnect?-instance-method","name":"call_disconnect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L137"},"def":{"name":"call_disconnect?","visibility":"Public","body":"self == CallDisconnect"}},{"html_id":"call_initiate?-instance-method","name":"call_initiate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L138"},"def":{"name":"call_initiate?","visibility":"Public","body":"self == CallInitiate"}},{"html_id":"call_waiting?-instance-method","name":"call_waiting?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L139"},"def":{"name":"call_waiting?","visibility":"Public","body":"self == CallWaiting"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L140"},"def":{"name":"dial?","visibility":"Public","body":"self == Dial"}},{"html_id":"key_input?-instance-method","name":"key_input?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L141"},"def":{"name":"key_input?","visibility":"Public","body":"self == KeyInput"}},{"html_id":"key_input_delete?-instance-method","name":"key_input_delete?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L142"},"def":{"name":"key_input_delete?","visibility":"Public","body":"self == KeyInputDelete"}},{"html_id":"key_tone?-instance-method","name":"key_tone?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L143"},"def":{"name":"key_tone?","visibility":"Public","body":"self == KeyTone"}},{"html_id":"nav?-instance-method","name":"nav?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L144"},"def":{"name":"nav?","visibility":"Public","body":"self == Nav"}},{"html_id":"nav_back?-instance-method","name":"nav_back?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L145"},"def":{"name":"nav_back?","visibility":"Public","body":"self == NavBack"}},{"html_id":"notification?-instance-method","name":"notification?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L146"},"def":{"name":"notification?","visibility":"Public","body":"self == Notification"}},{"html_id":"ok?-instance-method","name":"ok?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L147"},"def":{"name":"ok?","visibility":"Public","body":"self == OK"}},{"html_id":"presentation_connect?-instance-method","name":"presentation_connect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L148"},"def":{"name":"presentation_connect?","visibility":"Public","body":"self == PresentationConnect"}},{"html_id":"ringing?-instance-method","name":"ringing?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L149"},"def":{"name":"ringing?","visibility":"Public","body":"self == Ringing"}},{"html_id":"sign_in?-instance-method","name":"sign_in?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L150"},"def":{"name":"sign_in?","visibility":"Public","body":"self == SignIn"}},{"html_id":"special_info?-instance-method","name":"special_info?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L151"},"def":{"name":"special_info?","visibility":"Public","body":"self == SpecialInfo"}},{"html_id":"telephone_call?-instance-method","name":"telephone_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L152"},"def":{"name":"telephone_call?","visibility":"Public","body":"self == TelephoneCall"}},{"html_id":"video_call?-instance-method","name":"video_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L153"},"def":{"name":"video_call?","visibility":"Public","body":"self == VideoCall"}},{"html_id":"volume_adjust?-instance-method","name":"volume_adjust?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L154"},"def":{"name":"volume_adjust?","visibility":"Public","body":"self == VolumeAdjust"}},{"html_id":"wake_up?-instance-method","name":"wake_up?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L155"},"def":{"name":"wake_up?","visibility":"Public","body":"self == WakeUp"}}]},{"html_id":"drivers/Cisco/RoomKit/Toogle","path":"Cisco/RoomKit/Toogle.html","kind":"enum","full_name":"Cisco::RoomKit::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L130"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L129"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/RoomKit/VideoLayout","path":"Cisco/RoomKit/VideoLayout.html","kind":"enum","full_name":"Cisco::RoomKit::VideoLayout","name":"VideoLayout","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L197"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Equal","name":"Equal","value":"0"},{"id":"PIP","name":"PIP","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L198"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L199"},"def":{"name":"pip?","visibility":"Public","body":"self == PIP"}}]}]},{"html_id":"drivers/Cisco/RoomOS","path":"Cisco/RoomOS.html","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_os.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_os.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_os.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_os.cr#L38"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}]},{"html_id":"drivers/Cisco/Switch","path":"Cisco/Switch.html","kind":"module","full_name":"Cisco::Switch","name":"Switch","abstract":false,"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Switch/SnoopingCatalyst","path":"Cisco/Switch/SnoopingCatalyst.html","kind":"class","full_name":"Cisco::Switch::SnoopingCatalyst","name":"SnoopingCatalyst","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Switch","kind":"module","full_name":"Cisco::Switch","name":"Switch"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.in(1.second) do\n query_connected_devices\nend\nschedule.every(1.minute) do\n query_connected_devices\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L60"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nqueue.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\n\", \"--More--\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@ignore_macs = ::Set.new(((setting?(Hash(String, String), :ignore_macs)) || ({} of String => String)).values)\nself[:name] = @switch_name = setting?(String, :switch_name)\nself[:ip_address] = config.ip.not_nil!.downcase\nself[:building] = setting?(String, :building)\nself[:level] = setting?(String, :level)\nself[:last_successful_query]? || (self[:last_successful_query] = 0)\n"}},{"html_id":"query_connected_devices-instance-method","name":"query_connected_devices","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L87"},"def":{"name":"query_connected_devices","visibility":"Public","body":"begin\n if @querying_devices\n return\n end\n @querying_devices = true\n logger.debug do\n \"Querying for connected devices\"\n end\n query_interface_status.get\n sleep(3.seconds)\n query_mac_addresses.get\n sleep(3.seconds)\n query_snooping_bindings.get\n sleep(2.seconds)\n nil\nensure\n @querying_devices = false\nend"}},{"html_id":"query_interface_status-instance-method","name":"query_interface_status","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L71"},"def":{"name":"query_interface_status","visibility":"Public","body":"do_send(\"show interfaces status\")"}},{"html_id":"query_mac_addresses-instance-method","name":"query_mac_addresses","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L75"},"def":{"name":"query_mac_addresses","visibility":"Public","body":"@interface_macs.clear\ndo_send(\"show mac address-table\")\n"}},{"html_id":"query_snooping_bindings-instance-method","name":"query_snooping_bindings","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L80"},"def":{"name":"query_snooping_bindings","visibility":"Public","body":"@snooping.clear\ndo_send(\"show ip dhcp snooping binding\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L107"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Switch sent: #{data}\"\nend\nif @hostname.nil?\n parts = data.split(\">\")\n if parts.size == 2\n self[:hostname] = @hostname = parts[0]\n return task.try(&.success)\n end\nend\ncase data\nwhen /More/\n send(\" \", priority: 99, retries: 0)\n return task.try(&.success)\nwhen /STATIC|DYNAMIC/\n parts = (data.split(/\\s+/)).reject(&.empty?)\n mac = format(parts[1])\n interface = normalise(parts[-1])\n if mac && interface\n @interface_macs[interface] = mac\n end\n return :success\nwhen /%LINK/\n interface = normalise(((data.split(\",\"))[0].split(/\\s/))[-1])\n if data =~ (/Up:/)\n logger.debug do\n \"Notify Up: #{interface}\"\n end\n @check_interface << interface\n else\n if data =~ (/Down:/)\n logger.debug do\n \"Notify Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\n end\n self[:interfaces] = @check_interface\n return task.try(&.success)\nwhen .starts_with?(\"Total number\")\n logger.debug do\n \"Processing #{@snooping.size} bindings\"\n end\n checked = Set(String).new\n devices = {} of String => NamedTuple(mac: String, ip: String)\n state_changed = false\n @snooping.each do |mac, ip, interface|\n if @check_interface.includes?(interface)\n else\n next\n end\n if @interface_macs[interface]? == mac\n else\n next\n end\n if checked.includes?(interface)\n next\n end\n checked << interface\n iface = @devices[interface]? || {mac: \"\", ip: \"\"}\n if (iface[:ip] != ip) || (iface[:mac] != mac)\n logger.debug do\n \"New connection on #{interface} with #{ip}: #{mac}\"\n end\n devices[interface] = {mac: mac, ip: ip}\n state_changed = true\n else\n devices[interface] = iface\n end\n end\n if state_changed\n @devices = devices\n self[:devices] = devices\n end\n if @check_interface != checked\n @check_interface = checked\n self[:interfaces] = checked\n end\n self[:last_successful_query] = Time.utc.to_unix\n return task.try(&.success)\nend\nentries = (data.split(/\\s+/)).reject(&.empty?)\ncase entries\nwhen .includes?(\"connected\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n else\n logger.debug do\n \"Interface Up: #{interface}\"\n end\n @check_interface << interface\n end\nwhen .includes?(\"notconnect\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n logger.debug do\n \"Interface Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\nelse\n if entries.size > 2\n interface = normalise(entries[-1])\n if @check_interface.includes?(interface)\n mac = entries[0]\n if mac =~ (/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)\n mac = format(mac)\n ip = entries[1]\n if @ignore_macs.includes?(mac[0..5])\n else\n @snooping << {mac, ip, interface}\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"run(command:String)-instance-method","name":"run","doc":"Don't want the every day user using this method","summary":"

Don't want the every day user using this method

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(command : String)","args_html":"(command : String)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L67"},"def":{"name":"run","args":[{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"do_send(command)"}}]}]},{"html_id":"drivers/Cisco/UIExtender","path":"Cisco/UIExtender.html","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IGNORE_METHODS","name":"IGNORE_METHODS","value":"[\"on_load\", \"on_unload\", \"on_update\"] of ::String","doc":"Build a list of all callback methods that have been defined.\n\nCallback methods are denoted being single arity and beginning with `on_`.","summary":"

Build a list of all callback methods that have been defined.

"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"alert(text:String,title:String=\"\",duration:Int32=0)-instance-method","name":"alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"args_string":"(text : String, title : String = \"\", duration : Int32 = 0)","args_html":"(text : String, title : String = "", duration : Int32 = 0)","location":{"filename":"src/cisco/ui_extender.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L200"},"def":{"name":"alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Display\", hash_args: {Text: text, Title: title, Duration: duration})"}},{"html_id":"clear_alert-instance-method","name":"clear_alert","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L211"},"def":{"name":"clear_alert","visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"clear_extensions-instance-method","name":"clear_extensions","doc":"Clear any deployed UI extensions.","summary":"

Clear any deployed UI extensions.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L75"},"def":{"name":"clear_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"close_panel-instance-method","name":"close_panel","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L82"},"def":{"name":"close_panel","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Panel Close\")"}},{"html_id":"deploy_extensions(id:String,xml_def:String)-instance-method","name":"deploy_extensions","doc":"Push a UI definition build with the in-room control editor to the device.","summary":"

Push a UI definition build with the in-room control editor to the device.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L65"},"def":{"name":"deploy_extensions","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Set\", xml_def, {\"config_id\" => id})"}},{"html_id":"highlight(id:String,state:Bool=true,momentary:Bool=false,time:Int32=500)-instance-method","name":"highlight","doc":"Set the highlight state for a button widget.","summary":"

Set the highlight state for a button widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"args_string":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","args_html":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","location":{"filename":"src/cisco/ui_extender.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L145"},"def":{"name":"highlight","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"visibility":"Public","body":"value = state ? \"active\" : \"inactive\"\nif momentary\n schedule.in(time.milliseconds) do\n highlight(id, !state)\n nil\n end\nend\nset(id, value)\n"}},{"html_id":"label(id:String,value:String|Bool|Nil)-instance-method","name":"label","doc":"Set the text label used on text or spinner widget.","summary":"

Set the text label used on text or spinner widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L152"},"def":{"name":"label","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"link_widget(id:String,bindings:Binding)-instance-method","name":"link_widget","doc":"Wire up a widget based on a binding target.","summary":"

Wire up a widget based on a binding target.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"args_string":"(id : String, bindings : Binding)","args_html":"(id : String, bindings : Binding)","location":{"filename":"src/cisco/ui_extender.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L328"},"def":{"name":"link_widget","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"visibility":"Public","body":"logger.debug do\n \"setting up bindings for #{id}\"\nend\nbinding = case bindings\nin String\n (([\"clicked\", \"changed\", \"status\"] of ::String).product([bindings])).to_h\nin Hash(String, Hash(String, Hash(String, Array(String)) | String) | String)\n bindings\nend\nbinding.each do |type, target|\n if type == \"status\"\n case target\n in String\n mod, state = target.split(\".\")\n link_feedback(id, mod, state)\n in Hash(String, String | Hash(String, Array(String)))\n mod, state = target.first\n link_feedback(id, mod, state.as(String))\n end\n else\n handler = build_handler(target)\n if handler\n @event_handlers[{id, type}] = handler\n else\n logger.warn do\n \"invalid #{type} binding for #{id}\"\n end\n end\n end\nend\n"}},{"html_id":"list_extensions-instance-method","name":"list_extensions","doc":"Retrieve the extensions currently loaded.","summary":"

Retrieve the extensions currently loaded.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L70"},"def":{"name":"list_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions List\")"}},{"html_id":"on_extensions_widget_action(event:Hash(String,JSON::Any))-instance-method","name":"on_extensions_widget_action","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"args_string":"(event : Hash(String, JSON::Any))","args_html":"(event : Hash(String, JSON::Any))","location":{"filename":"src/cisco/ui_extender.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L159"},"def":{"name":"on_extensions_widget_action","args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"logger.debug do\n \"received widget action update #{event}\"\nend\ncurrent_key = event.keys.first\ncase current_key\nwhen \"/Event/UserInterface/Extensions/Widget/Action/WidgetId\"\n @action_merged[\"WidgetId\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action\", \"/Event/UserInterface/Extensions/Widget/Action/Value\"\n @action_merged[\"Value\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action/Type\"\n @action_merged[\"Type\"] = event[current_key]\nelse\n logger.debug do\n \"ignoring key #{current_key} processing widget_action event\"\n end\nend\nlogger.debug do\n \"current action state: #{@action_merged}\"\nend\nif @action_merged.size == 3\nelse\n return\nend\nid, value, type = @action_merged.values_at(\"WidgetId\", \"Value\", \"Type\")\n@action_merged = {} of String => JSON::Any\nlogger.debug do\n \"#{id} #{type} = #{value}\"\nend\nid = id.as_s\ntype = type.as_s\nif [\"\", \"increment\", \"decrement\"].includes?(value.raw)\nelse\n self[id] = value\nend\nbegin\n handler = @event_handlers.fetch([id, type], nil)\n handler.try(&.call(value))\nrescue e\n logger.error(exception: e) do\n \"error in binding for #{id}.#{type}\"\n end\nend\nself[:__event_stream] = {id: id, type: type, value: value}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update(true)"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L27"},"def":{"name":"on_unload","visibility":"Public","body":"clear_extensions\nunbind\n"}},{"html_id":"on_update(loading=false)-instance-method","name":"on_update","abstract":false,"args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"args_string":"(loading = false)","args_html":"(loading = false)","location":{"filename":"src/cisco/ui_extender.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L37"},"def":{"name":"on_update","args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"visibility":"Public","body":"if loading\nelse\n begin\n clear_events\n rescue\n end\nend\ncodec_mod = (setting?(String, :codec)) || \"VidConf_1\"\nif system.exists?(codec_mod)\nelse\n logger.warn do\n \"could not find codec #{codec_mod}\"\n end\n return\nend\nui_layout = setting?(String, :cisco_ui_layout)\nbindings = (setting?(Bindings, :cisco_ui_bindings)) || ({} of String => Binding)\nbind(codec_mod) do\n if ui_layout\n deploy_extensions(\"PlaceOS\", ui_layout)\n end\n bindings.each do |id, config|\n link_widget(id, config)\n end\nend\n"}},{"html_id":"set(id:String,value:String|Bool|Nil)-instance-method","name":"set","doc":"Set the value of a widget.","summary":"

Set the value of a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L119"},"def":{"name":"set","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"switch(id:String,state:Bool|Nil=nil)-instance-method","name":"switch","doc":"Set the state of a switch widget.","summary":"

Set the state of a switch widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"args_string":"(id : String, state : Bool | Nil = nil)","args_html":"(id : String, state : Bool | Nil = nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L138"},"def":{"name":"switch","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if state.nil?\n state = !(status?(Bool, id))\nend\nvalue = state ? \"on\" : \"off\"\nset(id, value)\n"}},{"html_id":"sync_widget_state-instance-method","name":"sync_widget_state","doc":"Push the current module state to the device.","summary":"

Push the current module state to the device.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L262"},"def":{"name":"sync_widget_state","visibility":"Public","body":"@__status__.each do |key, value|\n if key == \"connected\"\n next\n end\n if key =~ (/^__.*/)\n next\n end\n case value\n when .starts_with?(\"\\\"\")\n set(key, String.from_json(value))\n when \"true\", \"false\"\n set(key, value == \"true\")\n end\nend"}},{"html_id":"unset(id:String)-instance-method","name":"unset","doc":"Clear the value associated with a widget.","summary":"

Clear the value associated with a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L124"},"def":{"name":"unset","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"clearing #{id}\"\nend\nupdate = codec.xcommand(\"UserInterface Extensions Widget UnsetValue\", hash_args: {WidgetId: id})\nPromise.defer(same_thread: true) do\n update.get\n self[id] = nil\n nil.as(String | Nil)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/UIExtender/Binding","path":"Cisco/UIExtender/Binding.html","kind":"alias","full_name":"Cisco::UIExtender::Binding","name":"Binding","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"}},{"html_id":"drivers/Cisco/UIExtender/Bindings","path":"Cisco/UIExtender/Bindings.html","kind":"alias","full_name":"Cisco::UIExtender::Bindings","name":"Bindings","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"},"doc":"id => binding","summary":"

id => binding

"}]},{"html_id":"drivers/Cisco/Webex","path":"Cisco/Webex.html","kind":"module","full_name":"Cisco::Webex","name":"Webex","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L2"},{"filename":"src/cisco/webex/api/people.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L2"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L2"},{"filename":"src/cisco/webex/client.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L2"},{"filename":"src/cisco/webex/command.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L2"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L2"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L2"},{"filename":"src/cisco/webex/constants.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L2"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L2"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L2"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L2"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L2"},{"filename":"src/cisco/webex/models/device.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L2"},{"filename":"src/cisco/webex/models/event.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L2"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L2"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L2"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L2"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L2"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L2"},{"filename":"src/cisco/webex/models/message.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L2"},{"filename":"src/cisco/webex/models/peek.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L2"},{"filename":"src/cisco/webex/models/person.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L2"},{"filename":"src/cisco/webex/models/room.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L2"},{"filename":"src/cisco/webex/session.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L2"},{"filename":"src/cisco/webex/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L2"},{"filename":"src/cisco/webex/utils.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Webex/Api","path":"Cisco/Webex/Api.html","kind":"module","full_name":"Cisco::Webex::Api","name":"Api","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L3"},{"filename":"src/cisco/webex/api/people.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L3"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Api/Messages","path":"Cisco/Webex/Api/Messages.html","kind":"class","full_name":"Cisco::Webex::Api::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/People","path":"Cisco/Webex/Api/People.html","kind":"class","full_name":"Cisco::Webex::Api::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/people.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/people.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"me:Models::Person-instance-method","name":"me","abstract":false,"location":{"filename":"src/cisco/webex/api/people.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L8"},"def":{"name":"me","return_type":"Models::Person","visibility":"Public","body":"response = @session.get([Constants::PEOPLE_ENDPOINT, \"/\", \"me\"].join(\"\"))\nModels::Person.from_json(response.body)\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/Rooms","path":"Cisco/Webex/Api/Rooms.html","kind":"class","full_name":"Cisco::Webex::Api::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/rooms.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]}]},{"html_id":"drivers/Cisco/Webex/Client","path":"Cisco/Webex/Client.html","kind":"class","full_name":"Cisco::Webex::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/client.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(name:String,access_token:String,emails:String,session:Session,commands:Array(Command))-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"args_string":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","args_html":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L10"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, access_token, emails, session, commands)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"keywords:Hash(String,Command)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords","return_type":"Hash(String, Command)","visibility":"Public","body":"@keywords"}},{"html_id":"keywords=(keywords:Hash(String,Command))-instance-method","name":"keywords=","abstract":false,"args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"args_string":"(keywords : Hash(String, Command))","args_html":"(keywords : Hash(String, Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords=","args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"visibility":"Public","body":"@keywords = keywords"}},{"html_id":"messages:Cisco::Webex::Api::Messages-instance-method","name":"messages","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L31"},"def":{"name":"messages","visibility":"Public","body":"@messages"}},{"html_id":"people:Cisco::Webex::Api::People-instance-method","name":"people","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L27"},"def":{"name":"people","visibility":"Public","body":"@people"}},{"html_id":"rooms:Cisco::Webex::Api::Rooms-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L23"},"def":{"name":"rooms","visibility":"Public","body":"@rooms"}},{"html_id":"run:Void-instance-method","name":"run","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L124"},"def":{"name":"run","return_type":"Void","visibility":"Public","body":"device = device()\n@socket = socket = HTTP::WebSocket.new(URI.parse(device.websocket_url))\nsocket.on_message do |message|\n process_incoming_websocket_message(socket, message)\nend\nsocket.on_binary do |binary|\n process_incoming_websocket_message(socket, String.new(binary))\nend\nmessage = {\"id\" => UUID.random.to_s, \"type\" => \"authorization\", \"trackingId\" => [\"webex\", \"-\", UUID.random.to_s].join(\"\"), \"data\" => {\"token\" => [\"Bearer\", @access_token].join(\" \")}}\nsocket.send(message.to_json)\nsocket.run\n"}},{"html_id":"socket:HTTP::WebSocket|Nil-instance-method","name":"socket","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L8"},"def":{"name":"socket","return_type":"HTTP::WebSocket | ::Nil","visibility":"Public","body":"@socket"}},{"html_id":"socket=(socket:HTTP::WebSocket|Nil)-instance-method","name":"socket=","abstract":false,"args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"args_string":"(socket : HTTP::WebSocket | Nil)","args_html":"(socket : HTTP::WebSocket | Nil)","location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L8"},"def":{"name":"socket=","args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"visibility":"Public","body":"@socket = socket"}},{"html_id":"stop:Void-instance-method","name":"stop","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L148"},"def":{"name":"stop","return_type":"Void","visibility":"Public","body":"@socket.close"}}]},{"html_id":"drivers/Cisco/Webex/Command","path":"Cisco/Webex/Command.html","kind":"class","full_name":"Cisco::Webex::Command","name":"Command","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/command.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo"},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L5"},"def":{"name":"description","return_type":"String","visibility":"Public","body":""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":true,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L6"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":""}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L4"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":""}}]},{"html_id":"drivers/Cisco/Webex/Commands","path":"Cisco/Webex/Commands.html","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands","abstract":false,"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L3"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","path":"Cisco/Webex/Commands/Echo.html","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply replies your message!\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => message.text}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"echo\"]"}}]},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","path":"Cisco/Webex/Commands/Greeting.html","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/greeting.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply responds to hello, hi, how are you, etc.\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => \"👋\"}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"hello\", \"hi\"]"}}]}]},{"html_id":"drivers/Cisco/Webex/Constants","path":"Cisco/Webex/Constants.html","kind":"module","full_name":"Cisco::Webex::Constants","name":"Constants","abstract":false,"locations":[{"filename":"src/cisco/webex/constants.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_BASE_URL","name":"DEFAULT_BASE_URL","value":"\"https://webexapis.com/v1/\""},{"id":"DEFAULT_DEVICE_URL","name":"DEFAULT_DEVICE_URL","value":"\"https://wdm-a.wbx2.com/wdm/api/v1/\""},{"id":"DEFAULT_SINGLE_REQUEST_TIMEOUT","name":"DEFAULT_SINGLE_REQUEST_TIMEOUT","value":"60"},{"id":"DEFAULT_WAIT_ON_RATE_LIMIT","name":"DEFAULT_WAIT_ON_RATE_LIMIT","value":"true"},{"id":"DEVICE","name":"DEVICE","value":"{\"deviceType\" => \"DESKTOP\", \"localizedModel\" => \"crystal\", \"model\" => \"crystal\", \"name\" => UUID.random.to_s, \"systemName\" => \"webex-bot-client\", \"systemVersion\" => VERSION}"},{"id":"MESSAGES_ENDPOINT","name":"MESSAGES_ENDPOINT","value":"\"messages\""},{"id":"PEOPLE_ENDPOINT","name":"PEOPLE_ENDPOINT","value":"\"people\""},{"id":"ROOMS_ENDPOINT","name":"ROOMS_ENDPOINT","value":"\"rooms\""},{"id":"STATUS_CODES","name":"STATUS_CODES","value":"{200 => \"Successful request with body content.\", 204 => \"Successful request without body content.\", 400 => \"The request was invalid or cannot be otherwise served.\", 401 => \"Authentication credentials were missing or incorrect.\", 403 => \"The request is understood, but it has been refused or access is not allowed.\", 404 => \"The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.\", 405 => \"The request was made to a resource using an HTTP request method that is not supported.\", 409 => \"The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.\", 410 => \"The requested resource is no longer available.\", 415 => \"The request was made to a resource without specifying a media type or used a media type that is not supported.\", 423 => \"The requested resource is temporarily unavailable. A `Retry-After` header may be present that specifies how many seconds you need to wait before attempting the request again.\", 429 => \"Too many requests have been sent in a given amount of time and the request has been rate limited. A `Retry-After` header should be present that specifies how many seconds you need to wait before a successful request can be made.\", 500 => \"Something went wrong on the server. If the issue persists, feel free to contact the Webex Developer Support team (https://developer.webex.com/support).\", 502 => \"The server received an invalid response from an upstream server while processing the request. Try again later.\", 503 => \"Server is overloaded with requests. Try again later.\"}"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/drivers/drivers/src/cisco/webex\\\"`).chomp.stringify.downcase }}"},{"id":"WEBEX_TEAMS_DATETIME_FORMAT","name":"WEBEX_TEAMS_DATETIME_FORMAT","value":"\"%Y-%m-%dT%H:%M:%S.%fZ\""}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"}},{"html_id":"drivers/Cisco/Webex/Exceptions","path":"Cisco/Webex/Exceptions.html","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions","abstract":false,"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L3"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L3"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L3"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Exceptions/Argument","path":"Cisco/Webex/Exceptions/Argument.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Argument","name":"Argument","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/Method","path":"Cisco/Webex/Exceptions/Method.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Method","name":"Method","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/method.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/RateLimit","path":"Cisco/Webex/Exceptions/RateLimit.html","kind":"class","full_name":"Cisco::Webex::Exceptions::RateLimit","name":"RateLimit","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/StatusCode","path":"Cisco/Webex/Exceptions/StatusCode.html","kind":"class","full_name":"Cisco::Webex::Exceptions::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect","path":"Cisco/Webex/InstantConnect.html","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"create_guest_bearer(user_id:String,display_name:String,expiry:Int64|Nil=nil)-instance-method","name":"create_guest_bearer","doc":"Cisco docs on the subject:\n* Guest JWT: https://developer.webex.com/docs/guest-issuer\n* Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/","summary":"

Cisco docs on the subject: * Guest JWT: https://developer.webex.com/docs/guest-issuer * Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","args_html":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L38"},"def":{"name":"create_guest_bearer","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"expires_at = expiry || 12.hours.from_now.to_unix\nJWT.encode({sub: user_id, name: display_name, iss: @webex_guest_issuer, iat: 3.minutes.ago.to_unix, exp: expires_at}, Base64.decode_string(@webex_guest_secret), :hs256)\n"}},{"html_id":"create_meeting(room_id:String)-instance-method","name":"create_meeting","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L49"},"def":{"name":"create_meeting","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"expiry = 24.hours.from_now.to_unix\nrequest = {aud: @jwt_audience, provideShortUrls: true, jwt: {sub: room_id, exp: expiry}}.to_json\nget_meeting_details(get_hash(request))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@webex_guest_issuer = (setting?(String, :webex_guest_issuer)) || \"\"\n@webex_guest_secret = (setting?(String, :webex_guest_secret)) || \"\"\n@audience_setting = (setting?(String, :jwt_audience)) || \"a4d886b0-979f-4e2c-a958-3e8c14605e51\"\n@bot_access_token = setting(String, :bot_access_token)\n"}}],"types":[{"html_id":"drivers/Cisco/Webex/InstantConnect/JoseEncryptResponse","path":"Cisco/Webex/InstantConnect/JoseEncryptResponse.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::JoseEncryptResponse","name":"JoseEncryptResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L95"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"guest:Array(MeetingDetails)-instance-method","name":"guest","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L92"},"def":{"name":"guest","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@guest"}},{"html_id":"host:Array(MeetingDetails)-instance-method","name":"host","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L91"},"def":{"name":"host","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@host"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect/MeetingDetails","path":"Cisco/Webex/InstantConnect/MeetingDetails.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::MeetingDetails","name":"MeetingDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cipher:String-instance-method","name":"cipher","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L101"},"def":{"name":"cipher","return_type":"String","visibility":"Public","body":"@cipher"}},{"html_id":"short:String-instance-method","name":"short","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L102"},"def":{"name":"short","return_type":"String","visibility":"Public","body":"@short"}}]}]},{"html_id":"drivers/Cisco/Webex/Models","path":"Cisco/Webex/Models.html","kind":"module","full_name":"Cisco::Webex::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L3"},{"filename":"src/cisco/webex/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L3"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L3"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L3"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L3"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L3"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L3"},{"filename":"src/cisco/webex/models/message.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L3"},{"filename":"src/cisco/webex/models/peek.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L3"},{"filename":"src/cisco/webex/models/person.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L3"},{"filename":"src/cisco/webex/models/room.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Device","path":"Cisco/Webex/Models/Device.html","kind":"class","full_name":"Cisco::Webex::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"websocket_url:String-instance-method","name":"websocket_url","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url","return_type":"String","visibility":"Public","body":"@websocket_url"}},{"html_id":"websocket_url=(websocket_url:String)-instance-method","name":"websocket_url=","abstract":false,"args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"args_string":"(websocket_url : String)","args_html":"(websocket_url : String)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url=","args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"visibility":"Public","body":"@websocket_url = websocket_url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Event","path":"Cisco/Webex/Models/Event.html","kind":"class","full_name":"Cisco::Webex::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data","return_type":"Events::Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"args_string":"(data : Events::Data)","args_html":"(data : Events::Data)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"filter_message:Bool-instance-method","name":"filter_message","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message","return_type":"Bool","visibility":"Public","body":"@filter_message"}},{"html_id":"filter_message=(filter_message:Bool)-instance-method","name":"filter_message=","abstract":false,"args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"args_string":"(filter_message : Bool)","args_html":"(filter_message : Bool)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message=","args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"visibility":"Public","body":"@filter_message = filter_message"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sequence_number:Int64-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number","return_type":"Int64","visibility":"Public","body":"@sequence_number"}},{"html_id":"sequence_number=(sequence_number:Int64)-instance-method","name":"sequence_number=","abstract":false,"args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"args_string":"(sequence_number : Int64)","args_html":"(sequence_number : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number=","args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"visibility":"Public","body":"@sequence_number = sequence_number"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"tracking_id:String-instance-method","name":"tracking_id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id","return_type":"String","visibility":"Public","body":"@tracking_id"}},{"html_id":"tracking_id=(tracking_id:String)-instance-method","name":"tracking_id=","abstract":false,"args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"args_string":"(tracking_id : String)","args_html":"(tracking_id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id=","args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"visibility":"Public","body":"@tracking_id = tracking_id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events","path":"Cisco/Webex/Models/Events.html","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events","abstract":false,"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L4"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L4"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L4"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L4"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Events/Activity","path":"Cisco/Webex/Models/Events/Activity.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Activity","name":"Activity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actor:Actor-instance-method","name":"actor","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor","return_type":"Actor","visibility":"Public","body":"@actor"}},{"html_id":"actor=(actor:Actor)-instance-method","name":"actor=","abstract":false,"args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"args_string":"(actor : Actor)","args_html":"(actor : Actor)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor=","args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"visibility":"Public","body":"@actor = actor"}},{"html_id":"client_temp_id:String|Nil-instance-method","name":"client_temp_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id","return_type":"String | ::Nil","visibility":"Public","body":"@client_temp_id"}},{"html_id":"client_temp_id=(client_temp_id:String|Nil)-instance-method","name":"client_temp_id=","abstract":false,"args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"args_string":"(client_temp_id : String | Nil)","args_html":"(client_temp_id : String | Nil)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id=","args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client_temp_id = client_temp_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"target:Target-instance-method","name":"target","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target","return_type":"Target","visibility":"Public","body":"@target"}},{"html_id":"target=(target:Target)-instance-method","name":"target=","abstract":false,"args":[{"name":"target","external_name":"target","restriction":"Target"}],"args_string":"(target : Target)","args_html":"(target : Target)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target=","args":[{"name":"target","external_name":"target","restriction":"Target"}],"visibility":"Public","body":"@target = target"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"verb:String-instance-method","name":"verb","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb","return_type":"String","visibility":"Public","body":"@verb"}},{"html_id":"verb=(verb:String)-instance-method","name":"verb=","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"}],"args_string":"(verb : String)","args_html":"(verb : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb=","args":[{"name":"verb","external_name":"verb","restriction":"String"}],"visibility":"Public","body":"@verb = verb"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Actor","path":"Cisco/Webex/Models/Events/Actor.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Actor","name":"Actor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/actor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"entry_uuid:String-instance-method","name":"entry_uuid","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid","return_type":"String","visibility":"Public","body":"@entry_uuid"}},{"html_id":"entry_uuid=(entry_uuid:String)-instance-method","name":"entry_uuid=","abstract":false,"args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"args_string":"(entry_uuid : String)","args_html":"(entry_uuid : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid=","args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"visibility":"Public","body":"@entry_uuid = entry_uuid"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"organisation_id:String-instance-method","name":"organisation_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id","return_type":"String","visibility":"Public","body":"@organisation_id"}},{"html_id":"organisation_id=(organisation_id:String)-instance-method","name":"organisation_id=","abstract":false,"args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"args_string":"(organisation_id : String)","args_html":"(organisation_id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id=","args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"visibility":"Public","body":"@organisation_id = organisation_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Data","path":"Cisco/Webex/Models/Events/Data.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/data.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activity:Activity-instance-method","name":"activity","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity","return_type":"Activity","visibility":"Public","body":"@activity"}},{"html_id":"activity=(activity:Activity)-instance-method","name":"activity=","abstract":false,"args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"args_string":"(activity : Activity)","args_html":"(activity : Activity)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity=","args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"visibility":"Public","body":"@activity = activity"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Target","path":"Cisco/Webex/Models/Events/Target.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Target","name":"Target","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/target.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Type","path":"Cisco/Webex/Models/Events/Type.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Type","name":"Type","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]}]},{"html_id":"drivers/Cisco/Webex/Models/Message","path":"Cisco/Webex/Models/Message.html","kind":"class","full_name":"Cisco::Webex::Models::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/message.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Array(String)|Nil-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@attachments"}},{"html_id":"attachments=(attachments:Array(String)|Nil)-instance-method","name":"attachments=","abstract":false,"args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"args_string":"(attachments : Array(String) | Nil)","args_html":"(attachments : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments=","args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@attachments = attachments"}},{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"files:Array(String)|Nil-instance-method","name":"files","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@files"}},{"html_id":"files=(files:Array(String)|Nil)-instance-method","name":"files=","abstract":false,"args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"args_string":"(files : Array(String) | Nil)","args_html":"(files : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files=","args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@files = files"}},{"html_id":"html:String|Nil-instance-method","name":"html","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html","return_type":"String | ::Nil","visibility":"Public","body":"@html"}},{"html_id":"html=(html:String|Nil)-instance-method","name":"html=","abstract":false,"args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(html : String | Nil)","args_html":"(html : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html=","args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"visibility":"Public","body":"@html = html"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"markdown:String|Nil-instance-method","name":"markdown","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown","return_type":"String | ::Nil","visibility":"Public","body":"@markdown"}},{"html_id":"markdown=(markdown:String|Nil)-instance-method","name":"markdown=","abstract":false,"args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"args_string":"(markdown : String | Nil)","args_html":"(markdown : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown=","args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"visibility":"Public","body":"@markdown = markdown"}},{"html_id":"mentioned_groups:Array(String)|Nil-instance-method","name":"mentioned_groups","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_groups"}},{"html_id":"mentioned_groups=(mentioned_groups:Array(String)|Nil)-instance-method","name":"mentioned_groups=","abstract":false,"args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_groups : Array(String) | Nil)","args_html":"(mentioned_groups : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups=","args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_groups = mentioned_groups"}},{"html_id":"mentioned_people:Array(String)|Nil-instance-method","name":"mentioned_people","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_people"}},{"html_id":"mentioned_people=(mentioned_people:Array(String)|Nil)-instance-method","name":"mentioned_people=","abstract":false,"args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_people : Array(String) | Nil)","args_html":"(mentioned_people : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people=","args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_people = mentioned_people"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"parent_id=(parent_id:String|Nil)-instance-method","name":"parent_id=","abstract":false,"args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"args_string":"(parent_id : String | Nil)","args_html":"(parent_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id=","args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@parent_id = parent_id"}},{"html_id":"person_email:String-instance-method","name":"person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email","return_type":"String","visibility":"Public","body":"@person_email"}},{"html_id":"person_email=(person_email:String)-instance-method","name":"person_email=","abstract":false,"args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"args_string":"(person_email : String)","args_html":"(person_email : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email=","args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"visibility":"Public","body":"@person_email = person_email"}},{"html_id":"person_id:String-instance-method","name":"person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id","return_type":"String","visibility":"Public","body":"@person_id"}},{"html_id":"person_id=(person_id:String)-instance-method","name":"person_id=","abstract":false,"args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"args_string":"(person_id : String)","args_html":"(person_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id=","args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"visibility":"Public","body":"@person_id = person_id"}},{"html_id":"room_id:String-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id","return_type":"String","visibility":"Public","body":"@room_id"}},{"html_id":"room_id=(room_id:String)-instance-method","name":"room_id=","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id=","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"@room_id = room_id"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}},{"html_id":"room_type=(room_type:String)-instance-method","name":"room_type=","abstract":false,"args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"args_string":"(room_type : String)","args_html":"(room_type : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type=","args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"visibility":"Public","body":"@room_type = room_type"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}},{"html_id":"to_person_email:String|Nil-instance-method","name":"to_person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_email"}},{"html_id":"to_person_email=(to_person_email:String|Nil)-instance-method","name":"to_person_email=","abstract":false,"args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"args_string":"(to_person_email : String | Nil)","args_html":"(to_person_email : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email=","args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_email = to_person_email"}},{"html_id":"to_person_id:String|Nil-instance-method","name":"to_person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_id"}},{"html_id":"to_person_id=(to_person_id:String|Nil)-instance-method","name":"to_person_id=","abstract":false,"args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"args_string":"(to_person_id : String | Nil)","args_html":"(to_person_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id=","args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_id = to_person_id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/Cisco/Webex/Models/Peek","path":"Cisco/Webex/Models/Peek.html","kind":"class","full_name":"Cisco::Webex::Models::Peek","name":"Peek","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/peek.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Type-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data","return_type":"Events::Type","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Type)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"args_string":"(data : Events::Type)","args_html":"(data : Events::Type)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"visibility":"Public","body":"@data = data"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Person","path":"Cisco/Webex/Models/Person.html","kind":"class","full_name":"Cisco::Webex::Models::Person","name":"Person","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/person.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Room","path":"Cisco/Webex/Models/Room.html","kind":"class","full_name":"Cisco::Webex::Models::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/room.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"creator_id:String-instance-method","name":"creator_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id","return_type":"String","visibility":"Public","body":"@creator_id"}},{"html_id":"creator_id=(creator_id:String)-instance-method","name":"creator_id=","abstract":false,"args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"args_string":"(creator_id : String)","args_html":"(creator_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id=","args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"visibility":"Public","body":"@creator_id = creator_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_locked:Bool-instance-method","name":"is_locked","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked","return_type":"Bool","visibility":"Public","body":"@is_locked"}},{"html_id":"is_locked=(is_locked:Bool)-instance-method","name":"is_locked=","abstract":false,"args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"args_string":"(is_locked : Bool)","args_html":"(is_locked : Bool)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked=","args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"visibility":"Public","body":"@is_locked = is_locked"}},{"html_id":"last_activity:String-instance-method","name":"last_activity","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity","return_type":"String","visibility":"Public","body":"@last_activity"}},{"html_id":"last_activity=(last_activity:String)-instance-method","name":"last_activity=","abstract":false,"args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"args_string":"(last_activity : String)","args_html":"(last_activity : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity=","args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"visibility":"Public","body":"@last_activity = last_activity"}},{"html_id":"owner_id:String-instance-method","name":"owner_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id","return_type":"String","visibility":"Public","body":"@owner_id"}},{"html_id":"owner_id=(owner_id:String)-instance-method","name":"owner_id=","abstract":false,"args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(owner_id : String)","args_html":"(owner_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id=","args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"@owner_id = owner_id"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"team_id=(team_id:String|Nil)-instance-method","name":"team_id=","abstract":false,"args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(team_id : String | Nil)","args_html":"(team_id : String | Nil)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id=","args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@team_id = team_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]}]},{"html_id":"drivers/Cisco/Webex/Session","path":"Cisco/Webex/Session.html","kind":"class","full_name":"Cisco::Webex::Session","name":"Session","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/session.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(access_token:String)-class-method","name":"new","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L13"},"def":{"name":"new","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"base_url=(base_url:String)-instance-method","name":"base_url=","abstract":false,"args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"args_string":"(base_url : String)","args_html":"(base_url : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url=","args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"visibility":"Public","body":"@base_url = base_url"}},{"html_id":"delete(url:String,**kwargs):Halite::Response-instance-method","name":"delete","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L76"},"def":{"name":"delete","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"DELETE\", url, **kwargs)"}},{"html_id":"get(url:String,**kwargs):Halite::Response-instance-method","name":"get","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L61"},"def":{"name":"get","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"GET\", url, **kwargs)"}},{"html_id":"post(url:String,**kwargs):Halite::Response-instance-method","name":"post","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L66"},"def":{"name":"post","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"POST\", url, **kwargs)"}},{"html_id":"put(url:String,**kwargs):Halite::Response-instance-method","name":"put","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L71"},"def":{"name":"put","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"PUT\", url, **kwargs)"}},{"html_id":"request(method:String,url:String,**kwargs):Halite::Response-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String, **kwargs) : Halite::Response","args_html":"(method : String, url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L16"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"absolute_url = ((URI.parse(base_url)).resolve(url)).to_s\n@client.headers({\"Authorization\" => [\"Bearer\", @access_token].join(\" \")})\n@client.headers({\"Content-Type\" => \"application/json;charset=utf-8\"})\n@client.timeout(single_request_timeout)\nloop do\n case method\n when \"GET\"\n response = @client.get(absolute_url, **kwargs)\n when \"POST\"\n response = @client.post(absolute_url, **kwargs)\n when \"PUT\"\n response = @client.put(absolute_url, **kwargs)\n when \"DELETE\"\n response = @client.delete(absolute_url, **kwargs)\n else\n raise(Exceptions::Method.new(\"The request-method type is invalid.\"))\n end\n begin\n status_code = StatusCode.new(response.status_code)\n if response.status_code == 429\n raise(Exceptions::RateLimit.new(status_code.message))\n end\n if !status_code.valid?\n raise(Exceptions::StatusCode.new(status_code.message))\n end\n return response\n rescue e : Exceptions::StatusCode\n Log.error(exception: e) do\n end\n rescue e : Exceptions::RateLimit\n Log.error(exception: e) do\n end\n retry_after = (response.headers[\"Retry-After\"]? || \"15\").to_i * 1000\n sleep(retry_after)\n end\nend\n"}},{"html_id":"single_request_timeout:Int32-instance-method","name":"single_request_timeout","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout","return_type":"Int32","visibility":"Public","body":"@single_request_timeout"}},{"html_id":"single_request_timeout=(single_request_timeout:Int32)-instance-method","name":"single_request_timeout=","abstract":false,"args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"args_string":"(single_request_timeout : Int32)","args_html":"(single_request_timeout : Int32)","location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout=","args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"visibility":"Public","body":"@single_request_timeout = single_request_timeout"}},{"html_id":"user_agent:String-instance-method","name":"user_agent","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent","return_type":"String","visibility":"Public","body":"@user_agent"}},{"html_id":"user_agent=(user_agent:String)-instance-method","name":"user_agent=","abstract":false,"args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"args_string":"(user_agent : String)","args_html":"(user_agent : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent=","args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"visibility":"Public","body":"@user_agent = user_agent"}},{"html_id":"wait_on_rate_limit:Bool-instance-method","name":"wait_on_rate_limit","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit","return_type":"Bool","visibility":"Public","body":"@wait_on_rate_limit"}},{"html_id":"wait_on_rate_limit=(wait_on_rate_limit:Bool)-instance-method","name":"wait_on_rate_limit=","abstract":false,"args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"args_string":"(wait_on_rate_limit : Bool)","args_html":"(wait_on_rate_limit : Bool)","location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit=","args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"visibility":"Public","body":"@wait_on_rate_limit = wait_on_rate_limit"}}]},{"html_id":"drivers/Cisco/Webex/StatusCode","path":"Cisco/Webex/StatusCode.html","kind":"class","full_name":"Cisco::Webex::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(code:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/cisco/webex/status_code.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L6"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"Constants::STATUS_CODES[@code]"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L9"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"case @code\nwhen 200, 204\n true\nelse\n false\nend"}}]},{"html_id":"drivers/Cisco/Webex/Utils","path":"Cisco/Webex/Utils.html","kind":"module","full_name":"Cisco::Webex::Utils","name":"Utils","abstract":false,"locations":[{"filename":"src/cisco/webex/utils.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"class_methods":[{"html_id":"hash_from_items_with_values(**kwargs)-class-method","name":"hash_from_items_with_values","abstract":false,"location":{"filename":"src/cisco/webex/utils.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L4"},"def":{"name":"hash_from_items_with_values","double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"kwargs = kwargs.map do |k, v|\n if (v != nil) && (v != \"\")\n {\"#{k}\" => v}\n end\nend\nkwargs.reject!(nil)\nkwargs = kwargs.reduce do |acc, i|\n acc.try(&.merge(i.not_nil!))\nend\nkwargs\n"}},{"html_id":"named_tuple_from_hash(hash)-class-method","name":"named_tuple_from_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":""}],"args_string":"(hash)","args_html":"(hash)","location":{"filename":"src/cisco/webex/utils.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L17"},"def":{"name":"named_tuple_from_hash","args":[{"name":"hash","external_name":"hash","restriction":""}],"visibility":"Public","body":"named_tuple = NamedTuple.new(roomId: String, text: String)\nnamed_tuple.from(hash)\n"}}]}]}]},{"html_id":"drivers/Crestron","path":"Crestron.html","kind":"module","full_name":"Crestron","name":"Crestron","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Crestron/AspectRatio","path":"Crestron/AspectRatio.html","kind":"enum","full_name":"Crestron::AspectRatio","name":"AspectRatio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MaintainAspectRatio","name":"MaintainAspectRatio","value":"0"},{"id":"StretchToFit","name":"StretchToFit","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"maintain_aspect_ratio?-instance-method","name":"maintain_aspect_ratio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L12"},"def":{"name":"maintain_aspect_ratio?","visibility":"Public","body":"self == MaintainAspectRatio"}},{"html_id":"stretch_to_fit?-instance-method","name":"stretch_to_fit?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L13"},"def":{"name":"stretch_to_fit?","visibility":"Public","body":"self == StretchToFit"}}]},{"html_id":"drivers/Crestron/CresNext","path":"Crestron/CresNext.html","kind":"class","full_name":"Crestron::CresNext","name":"CresNext","abstract":true,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/cres_next.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"}],"subclasses":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Parent module for Crestron DM NVX devices.","summary":"

Parent module for Crestron DM NVX devices.

","instance_methods":[{"html_id":"maintain_session-instance-method","name":"maintain_session","doc":"========================================\nHTTP for updates and session maintenance\n========================================","summary":"

======================================== HTTP for updates and session maintenance ========================================

","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L93"},"def":{"name":"maintain_session","visibility":"Public","body":"response = get(\"/Device/DeviceInfo\")\nif response.success?\nelse\n return logout\nend\nreceived(response.body.to_slice, nil)\n"}},{"html_id":"manual_send(payload:JSON::Any)-instance-method","name":"manual_send","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(payload : JSON::Any)","args_html":"(payload : JSON::Any)","location":{"filename":"src/crestron/cres_next.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L79"},"def":{"name":"manual_send","args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"data = payload.to_json\nlogger.debug do\n \"Sending: #{data}\"\nend\nsend(data, wait: false)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/cres_next.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\n"}},{"html_id":"tokenize(path:String)-instance-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/crestron/cres_next.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L30"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split('/')).reject(&.empty?)"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L15"},"def":{"name":"websocket_headers","visibility":"Public","body":"authenticate\nheaders = HTTP::Headers.new\ntransport.cookies.add_request_headers(headers)\nif @xsrf_token.empty?\nelse\n headers[\"CREST-XSRF-TOKEN\"] = @xsrf_token\nend\nheaders[\"User-Agent\"] = \"advanced-rest-client\"\nschedule.clear\nschedule.every(10.minutes) do\n maintain_session\nend\nheaders\n"}}]},{"html_id":"drivers/Crestron/CresNextAuth","path":"Crestron/CresNextAuth.html","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth","abstract":false,"locations":[{"filename":"src/crestron/cres_next_auth.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/OccupancySensor","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"authenticate-instance-method","name":"authenticate","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L6"},"def":{"name":"authenticate","visibility":"Public","body":"logger.debug do\n \"Authenticating\"\nend\nuri = URI.parse(config.uri.not_nil!)\nhost = uri.host\nresponse = post(\"/userlogin.html\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Referer\" => \"https://#{host}/userlogin.html\", \"Origin\" => \"https://#{host}\"}, body: URI::Params.build do |form|\n form.add(\"login\", setting(String, :username))\n form.add(\"passwd\", setting(String, :password))\nend)\ncase response.status_code\nwhen 200, 302\n auth_cookies = [\"AuthByPasswd\", \"iv\", \"tag\", \"userid\", \"userstr\"] of ::String\n if (auth_cookies - response.cookies.to_h.keys).empty?\n @xsrf_token = response.headers[\"CREST-XSRF-TOKEN\"]? || \"\"\n logger.debug do\n \"Authenticated\"\n end\n else\n error = \"Device did not return all auth information\"\n end\nwhen 403\n error = \"Invalid credentials\"\nelse\n error = \"Unexpected response (HTTP #{response.status})\"\nend\nif error\n logger.error do\n error\n end\n raise(error)\nend\n"}},{"html_id":"logout-instance-method","name":"logout","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L43"},"def":{"name":"logout","visibility":"Public","body":"begin\n response = post(\"/logout\")\n case response.status\n when 302\n logger.debug do\n \"Logout successful\"\n end\n true\n else\n logger.warn do\n \"Unexpected response (HTTP #{response.status})\"\n end\n false\n end\nensure\n @xsrf_token = \"\"\n transport.cookies.clear\n schedule.clear\n disconnect\nend"}}]},{"html_id":"drivers/Crestron/Fusion","path":"Crestron/Fusion.html","kind":"class","full_name":"Crestron::Fusion","name":"Fusion","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/fusion.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"TODO: add handling of security level 2\nTODO: parse returend results into models\n\nDocumentation: https://sdkcon78221.crestron.com/sdk/Fusion_APIs/Content/Topics/Default.htm","summary":"

TODO add handling of security level 2 TODO: parse returend results into models

","instance_methods":[{"html_id":"delete_room(room_id:String)-instance-method","name":"delete_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L132"},"def":{"name":"delete_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"DELETE\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_action(action_id:String)-instance-method","name":"get_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"args_string":"(action_id : String)","args_html":"(action_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L65"},"def":{"name":"get_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/actions/#{action_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_actions(name:String|Nil,room_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_actions","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L55"},"def":{"name":"get_actions","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif room_id\n params[\"room\"] = room_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/actions\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_alerts(node_ids:Array(String)|Nil=nil,room_ids:Array(String)|Nil=nil,start_time:String|Nil=nil,end_time:String|Nil=nil,severity:Int32|Nil=nil,active_alerts:Bool=true)-instance-method","name":"get_alerts","doc":"Severity should be in the range 1-4","summary":"

Severity should be in the range 1-4

","abstract":false,"args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"args_string":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","args_html":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","location":{"filename":"src/crestron/fusion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L90"},"def":{"name":"get_alerts","args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"visibility":"Public","body":"params = URI::Params.new\nif node_ids\n params[\"nodes\"] = node_ids.join(',')\nend\nif room_ids\n params[\"rooms\"] = room_ids.join(',')\nend\nif start_time\n params[\"start\"] = start_time\nend\nif end_time\n params[\"end\"] = end_time\nend\nif severity\n params[\"severity\"] = severity.to_s\nend\nif active_alerts\n params[\"activeAlerts\"] = active_alerts.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_room(room_id:String)-instance-method","name":"get_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L122"},"def":{"name":"get_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_rooms(name:String|Nil,node_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_rooms","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L112"},"def":{"name":"get_rooms","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif node_id\n params[\"node\"] = node_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_value(symbol_id:String,attribute_id:String)-instance-method","name":"get_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String)","args_html":"(symbol_id : String, attribute_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L146"},"def":{"name":"get_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}/#{attribute_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_values(symbol_id:String)-instance-method","name":"get_signal_values","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"args_string":"(symbol_id : String)","args_html":"(symbol_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L141"},"def":{"name":"get_signal_values","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L44"},"def":{"name":"on_update","visibility":"Public","body":"@security_level = setting(Int32, :security_level)\n@user_id = setting(String, :user_id)\n@api_pass_code = setting(String, :api_pass_code)\n@content_type = \"application/\" + (setting(String, :content_type))\n"}},{"html_id":"post_room(room_xml_or_json:String)-instance-method","name":"post_room","abstract":false,"args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_xml_or_json : String)","args_html":"(room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L107"},"def":{"name":"post_room","args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"POST\", \"/rooms\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_room(room_id:String,room_xml_or_json:String)-instance-method","name":"put_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_id : String, room_xml_or_json : String)","args_html":"(room_id : String, room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L127"},"def":{"name":"put_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"PUT\", \"/rooms/#{room_id}\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_signal_value(symbol_id:String,attribute_id:String,value:String)-instance-method","name":"put_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String, value : String)","args_html":"(symbol_id : String, attribute_id : String, value : String)","location":{"filename":"src/crestron/fusion.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L151"},"def":{"name":"put_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.new\nparams[\"value\"] = value\nresponse = perform_request(\"PUT\", \"/signalvalues/#{symbol_id}/#{attribute_id}\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"send_action(action_id:String|Nil,room_id:String|Nil=nil,node_id:String|Nil=nil)-instance-method","name":"send_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"args_string":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","args_html":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L70"},"def":{"name":"send_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif room_id\n params[\"room\"] = room_id\nend\nif node_id\n params[\"node\"] = node_id\nend\npath = if (id = action_id) && (!id.empty?)\n \"/actions/#{id}\"\nelse\n \"/actions\"\nend\nresponse = perform_request(\"POST\", path, params)\nJSON.parse(response.body)\n"}}]},{"html_id":"drivers/Crestron/NvxAddressManager","path":"Crestron/NvxAddressManager.html","kind":"class","full_name":"Crestron::NvxAddressManager","name":"NvxAddressManager","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_address_manager.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MULTICAST_ADDRESSES","name":"MULTICAST_ADDRESSES","value":"::IPAddress::IPv4.new(\"224.0.0.0/4\")","doc":"https://github.com/Sija/ipaddress.cr","summary":"

https://github.com/Sija/ipaddress.cr

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"addr = setting(String, :base_address)\nbase_addr = ::IPAddress::IPv4.new(addr)\n@base_address = base_addr.to_u32\nif MULTICAST_ADDRESSES.includes?(base_addr)\nelse\n logger.warn do\n \"#{addr} is not a valid multicast address\"\n end\nend\n@block_size = setting(Int32, :block_size)\n"}},{"html_id":"readdress_streams-instance-method","name":"readdress_streams","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L42"},"def":{"name":"readdress_streams","visibility":"Public","body":"logger.debug do\n \"readdressing devices\"\nend\naddress_pairs = encoders.zip(addresses)\ninteractions = address_pairs.map_with_index(1) do |__arg0, idx|\n mod = __arg0[0]\n ip_u32 = __arg0[1]\n ip = ::IPAddress::IPv4.parse_u32(ip_u32)\n logger.debug do\n \"setting encoder #{idx} to #{ip}\"\n end\n mod.multicast_address(ip.to_s)\nend\nfailed = 0\ninteractions.each do |request|\n begin\n request.get\n rescue error\n failed = failed + 1\n logger.warn(exception: error) do\n \"addressing NVX devices\"\n end\n end\nend\nif failed == 0\nelse\n raise(\"#{failed} failed to set stream address\")\nend\ninteractions.size\n"}}]},{"html_id":"drivers/Crestron/NvxRx","path":"Crestron/NvxRx.html","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"aspect_ratio(mode:AspectRatio)-instance-method","name":"aspect_ratio","doc":"aspect ratio defined in nvx_rx_models","summary":"

aspect ratio defined in nvx_rx_models

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"args_string":"(mode : AspectRatio)","args_html":"(mode : AspectRatio)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L99"},"def":{"name":"aspect_ratio","args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"visibility":"Public","body":"logger.debug do\n \"setting output aspect ratio mode: #{mode}\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{AspectRatioMode: mode}]}], name: :aspect_ratio)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"audio_follows_video = setting?(Bool, :audio_follows_video)\n@audio_follows_video = audio_follows_video.nil? ? true : audio_follows_video\nquery(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Receiver\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Receiver\"\nend\nquery(\"/XioSubscription/Subscriptions\") do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\nend\nschedule.every(1.hour) do\n query(\"/XioSubscription/Subscriptions\", priority: 5) do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\n end\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L84"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L80"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"switch_layer(map.keys.first, layer)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L58"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}}],"types":[{"html_id":"drivers/Crestron/NvxRx/Input","path":"Crestron/NvxRx/Input.html","kind":"alias","full_name":"Crestron::NvxRx::Input","name":"Input","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/Output","path":"Crestron/NvxRx/Output.html","kind":"alias","full_name":"Crestron::NvxRx::Output","name":"Output","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Int32","aliased_html":"Int32","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/SourceType","path":"Crestron/NvxRx/SourceType.html","kind":"enum","full_name":"Crestron::NvxRx::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L227"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L228"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L229"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Crestron/NvxScalerControl","path":"Crestron/NvxScalerControl.html","kind":"class","full_name":"Crestron::NvxScalerControl","name":"NvxScalerControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_scaler_control.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SCALE_TO_FIT_BOUNDS","name":"SCALE_TO_FIT_BOUNDS","value":"((16 / 9) * 0.95)..((16 / 9) * 1.05)","doc":"Window of aspect ratio's to detect as 16:9 - allows for +/-5% for\nslightly off-shape windows","summary":"

Window of aspect ratio's to detect as 16:9 - allows for +/-5% for slightly off-shape windows

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@links = (setting?(Hash(String, String), :link_scalers)) || ({} of String => String)"}}]},{"html_id":"drivers/Crestron/NvxTx","path":"Crestron/NvxTx.html","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L21"},"def":{"name":"connected","visibility":"Public","body":"query(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Transmitter\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Transmitter\"\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"emulate_input_sync(state:Bool=true,idx:Int32=1)-instance-method","name":"emulate_input_sync","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"args_string":"(state : Bool = true, idx : Int32 = 1)","args_html":"(state : Bool = true, idx : Int32 = 1)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L64"},"def":{"name":"emulate_input_sync","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"self[\"input_#{idx}_sync\"] = state"}},{"html_id":"multicast_address(address:String)-instance-method","name":"multicast_address","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L59"},"def":{"name":"multicast_address","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"setting multicast address to #{address}\"\nend\nupdate(\"/StreamTransmit/Streams\", [{MulticastAddress: address}], name: :multicast_address)\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L45"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nupdate(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L105"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\nif raw_json.includes?(\"AudioVideoInputOutput\")\nelse\n return\nend\npayload = JSON.parse(raw_json)\nif av_inputs = (payload.dig?(\"Device\", \"AudioVideoInputOutput\", \"Inputs\")).try(&.as_a?)\n av_inputs.each do |input|\n name = input[\"Name\"]?.try(&.as_s) || \"\"\n idx = case name\n when /input(\\d+)/\n $~[1].to_i.succ\n when /input-(\\d+)/\n $~[1].to_i\n else\n 1\n end\n sync = (input.dig?(\"Ports\", 0, \"IsSyncDetected\")).try(&.as_bool?)\n if sync.nil?\n else\n self[\"input_#{idx}_sync\"] = sync\n end\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L35"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching to #{input}\"\nend\n(update(\"/DeviceSpecific\", {VideoSource: input, AudioSource: \"AudioFollowsVideo\"}, name: :switch)).get\nupdate_source_info\n"}}],"types":[{"html_id":"drivers/Crestron/NvxTx/Input","path":"Crestron/NvxTx/Input.html","kind":"enum","full_name":"Crestron::NvxTx::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"}],"namespace":{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]}]},{"html_id":"drivers/Crestron/OccupancySensor","path":"Crestron/OccupancySensor.html","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/occupancy_sensor.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L36"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nauthenticate\npoll_device_state\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false"}},{"html_id":"get_sensor_details-instance-method","name":"get_sensor_details","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L126"},"def":{"name":"get_sensor_details","visibility":"Public","body":"Detail.new(type: :presence, value: @occupied ? 1.0 : 0.0, last_seen: @connected ? Time.utc.to_unix : @last_update, mac: @mac, id: nil, name: @name, module_id: module_id, binding: \"presence\", status: @connected ? Status::Normal : Status::Fault)"}},{"html_id":"last_update:Int64-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L26"},"def":{"name":"last_update","return_type":"Int64","visibility":"Public","body":"@last_update"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.hour) do\n poll_device_state\nend\n"}},{"html_id":"poll_counter:UInt64-instance-method","name":"poll_counter","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L27"},"def":{"name":"poll_counter","return_type":"UInt64","visibility":"Public","body":"@poll_counter"}},{"html_id":"poll_device_state:Nil-instance-method","name":"poll_device_state","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L47"},"def":{"name":"poll_device_state","return_type":"Nil","visibility":"Public","body":"response = get(\"/Device\")\nif response.success?\nelse\n raise(\"unexpected response code: #{response.status_code}\")\nend\npayload = JSON.parse(response.body)\n@last_update = Time.utc.to_unix\nself[:occupied] = @occupied = (payload.dig(\"Device\", \"OccupancySensor\", \"IsRoomOccupied\")).as_bool\nself[:presence] = @occupied ? 1.0 : 0.0\nself[:mac] = @mac = format_mac((payload.dig(\"Device\", \"DeviceInfo\", \"MacAddress\")).as_s)\nself[:name] = @name = (payload.dig(\"Device\", \"DeviceInfo\", \"Name\")).as_s?\n@poll_counter = @poll_counter + 1\nif @long_polling\nelse\n long_poll\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L120"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif @mac == mac\nelse\n return nil\nend\nget_sensor_details\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L108"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != @mac)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\n[get_sensor_details]\n"}}]},{"html_id":"drivers/Crestron/Receiver","path":"Crestron/Receiver.html","kind":"module","full_name":"Crestron::Receiver","name":"Receiver","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"}},{"html_id":"drivers/Crestron/SourceType","path":"Crestron/SourceType.html","kind":"enum","full_name":"Crestron::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L17"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L18"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Crestron/Transmitter","path":"Crestron/Transmitter.html","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Interface for enumerating devices","summary":"

Interface for enumerating devices

"},{"html_id":"drivers/Crestron/VirtualSwitcher","path":"Crestron/VirtualSwitcher.html","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"available_inputs-instance-method","name":"available_inputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L108"},"def":{"name":"available_inputs","visibility":"Public","body":"encoder_name_map.keys"}},{"html_id":"available_outputs-instance-method","name":"available_outputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L112"},"def":{"name":"available_outputs","visibility":"Public","body":"decoder_name_map.keys"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"only support muting the outputs, no unmuting","summary":"

only support muting the outputs, no unmuting

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n SwitchLayer::Audio\nin MuteLayer::Video\n SwitchLayer::Video\nin MuteLayer::AudioVideo\n SwitchLayer::All\nend\nswitch({\"none\" => [index]}, switch_layer)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@audio = setting?(AudioSink, :audio_sink)"}},{"html_id":"receivers-instance-method","name":"receivers","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L57"},"def":{"name":"receivers","visibility":"Public","body":"system.implementing(Crestron::Receiver)"}},{"html_id":"switch(map:Hash(Input,Array(Output|Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L134"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nif (layer.all? || layer.video?) || layer.audio?\nelse\n return\nend\nconnect(map, layer) do |mod, __arg0|\n video = __arg0[0]\n audio = __arg0[1]\n if layer.all? || layer.audio?\n switch_audio_to(audio)\n end\n if layer.all? || layer.video?\n mod.switch_to(video)\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L99"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"stream = get_streams(input)\nif stream\nelse\n return\nend\nswitch_audio_to(stream[1])\nreceivers.switch_to(stream[0])\n"}},{"html_id":"transmitters-instance-method","name":"transmitters","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L53"},"def":{"name":"transmitters","visibility":"Public","body":"system.implementing(Crestron::Transmitter)"}}],"types":[{"html_id":"drivers/Crestron/VirtualSwitcher/AudioSink","path":"Crestron/VirtualSwitcher/AudioSink.html","kind":"class","full_name":"Crestron::VirtualSwitcher::AudioSink","name":"AudioSink","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Crestron/VirtualSwitcher","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L31"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L30"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L29"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L32"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]}]}]},{"html_id":"drivers/Delta","path":"Delta.html","kind":"module","full_name":"Delta","name":"Delta","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L3"},{"filename":"src/delta/models/generic_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L3"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L3"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L3"},{"filename":"src/delta/models/list_sites_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L3"},{"filename":"src/delta/models/local_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L3"},{"filename":"src/delta/models/object.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L3"},{"filename":"src/delta/models/property_identifier.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L3"},{"filename":"src/delta/models/reference.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L3"},{"filename":"src/delta/models/value_property.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Delta/API","path":"Delta/API.html","kind":"class","full_name":"Delta::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"instance_methods":[{"html_id":"get_value_property_by_object_type_through_instance(site_name:String,device_number:String,object_type:String,instance:String)-instance-method","name":"get_value_property_by_object_type_through_instance","doc":"get value of property from object through instance","summary":"

get value of property from object through instance

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, instance : String)","args_html":"(site_name : String, device_number : String, object_type : String, instance : String)","location":{"filename":"src/delta/api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L85"},"def":{"name":"get_value_property_by_object_type_through_instance","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{instance}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_property_name(site_name:String,device_number:String,object_type:String,property_name:String)-instance-method","name":"get_value_property_by_object_type_through_property_name","doc":"get value of property from object through property name","summary":"

get value of property from object through property name

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, property_name : String)","args_html":"(site_name : String, device_number : String, object_type : String, property_name : String)","location":{"filename":"src/delta/api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L97"},"def":{"name":"get_value_property_by_object_type_through_property_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{property_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_subproperty_path(site_name:String,device_number:String,object_type:String,subproperty_path:String)-instance-method","name":"get_value_property_by_object_type_through_subproperty_path","doc":"get value of property from object through subproperty path","summary":"

get value of property from object through subproperty path

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","args_html":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","location":{"filename":"src/delta/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L108"},"def":{"name":"get_value_property_by_object_type_through_subproperty_path","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{subproperty_path}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"list_devices_by_site_name(site_name:String)-instance-method","name":"list_devices_by_site_name","doc":"list devices for site","summary":"

list devices for site

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"args_string":"(site_name : String)","args_html":"(site_name : String)","location":{"filename":"src/delta/api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L44"},"def":{"name":"list_devices_by_site_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"visibility":"Public","body":"devices = [] of Models::Device\npath = URI.encode_path(\"/api/.bacnet/#{site_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListDevicesBySiteNameResponse.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n devices.push(Models::Device.new(id: key, base: value[\"$base\"].to_s, node_type: value[\"nodeType\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\ndevices\n"}},{"html_id":"list_objects_by_device_number(site_name:String,device_number:String)-instance-method","name":"list_objects_by_device_number","doc":"list objects from device resource","summary":"

list objects from device resource

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"args_string":"(site_name : String, device_number : String)","args_html":"(site_name : String, device_number : String)","location":{"filename":"src/delta/api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L65"},"def":{"name":"list_objects_by_device_number","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"visibility":"Public","body":"objects = [] of Models::Object\npath = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListObjectsByDeviceNumber.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n objects.push(Models::Object.new(id: key, base: value[\"$base\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\nobjects\n"}},{"html_id":"list_sites-instance-method","name":"list_sites","doc":"list all sites","summary":"

list all sites

","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L38"},"def":{"name":"list_sites","visibility":"Public","body":"response = Models::ListSitesResponse.from_json((fetch(\"/api/.bacnet\")).body)\nresponse.json_unmapped.keys\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/Delta/Models","path":"Delta/Models.html","kind":"module","full_name":"Delta::Models","name":"Models","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L4"},{"filename":"src/delta/models/generic_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L4"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L4"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L4"},{"filename":"src/delta/models/list_sites_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L4"},{"filename":"src/delta/models/local_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L4"},{"filename":"src/delta/models/object.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L4"},{"filename":"src/delta/models/property_identifier.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L4"},{"filename":"src/delta/models/reference.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L4"},{"filename":"src/delta/models/value_property.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"types":[{"html_id":"drivers/Delta/Models/Device","path":"Delta/Models/Device.html","kind":"struct","full_name":"Delta::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,node_type:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L23"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, node_type, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/device.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L18"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L18"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L15"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L15"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L21"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L21"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/GenericValue","path":"Delta/Models/GenericValue.html","kind":"struct","full_name":"Delta::Models::GenericValue","name":"GenericValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/generic_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/generic_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/ListDevicesBySiteNameResponse","path":"Delta/Models/ListDevicesBySiteNameResponse.html","kind":"struct","full_name":"Delta::Models::ListDevicesBySiteNameResponse","name":"ListDevicesBySiteNameResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}}]},{"html_id":"drivers/Delta/Models/ListObjectsByDeviceNumber","path":"Delta/Models/ListObjectsByDeviceNumber.html","kind":"struct","full_name":"Delta::Models::ListObjectsByDeviceNumber","name":"ListObjectsByDeviceNumber","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/ListSitesResponse","path":"Delta/Models/ListSitesResponse.html","kind":"struct","full_name":"Delta::Models::ListSitesResponse","name":"ListSitesResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_sites_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/LocalValue","path":"Delta/Models/LocalValue.html","kind":"struct","full_name":"Delta::Models::LocalValue","name":"LocalValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/local_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/local_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"real:GenericValue-instance-method","name":"real","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L12"},"def":{"name":"real","return_type":"GenericValue","visibility":"Public","body":"@real"}},{"html_id":"real=(real:GenericValue)-instance-method","name":"real=","abstract":false,"args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"args_string":"(real : GenericValue)","args_html":"(real : GenericValue)","location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L12"},"def":{"name":"real=","args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"visibility":"Public","body":"@real = real"}}]},{"html_id":"drivers/Delta/Models/Object","path":"Delta/Models/Object.html","kind":"struct","full_name":"Delta::Models::Object","name":"Object","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/object.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L20"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/object.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L18"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L18"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/PropertyIdentifier","path":"Delta/Models/PropertyIdentifier.html","kind":"struct","full_name":"Delta::Models::PropertyIdentifier","name":"PropertyIdentifier","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/property_identifier.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/Reference","path":"Delta/Models/Reference.html","kind":"struct","full_name":"Delta::Models::Reference","name":"Reference","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/reference.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/reference.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"device_identifier:GenericValue-instance-method","name":"device_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier","return_type":"GenericValue","visibility":"Public","body":"@device_identifier"}},{"html_id":"device_identifier=(device_identifier:GenericValue)-instance-method","name":"device_identifier=","abstract":false,"args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"args_string":"(device_identifier : GenericValue)","args_html":"(device_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier=","args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@device_identifier = device_identifier"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"property_identifier:PropertyIdentifier-instance-method","name":"property_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier","return_type":"PropertyIdentifier","visibility":"Public","body":"@property_identifier"}},{"html_id":"property_identifier=(property_identifier:PropertyIdentifier)-instance-method","name":"property_identifier=","abstract":false,"args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"args_string":"(property_identifier : PropertyIdentifier)","args_html":"(property_identifier : PropertyIdentifier)","location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier=","args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"visibility":"Public","body":"@property_identifier = property_identifier"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L12"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L12"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Delta/Models/ValueProperty","path":"Delta/Models/ValueProperty.html","kind":"struct","full_name":"Delta::Models::ValueProperty","name":"ValueProperty","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/value_property.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/value_property.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"cov_increment:GenericValue-instance-method","name":"cov_increment","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment","return_type":"GenericValue","visibility":"Public","body":"@cov_increment"}},{"html_id":"cov_increment=(cov_increment:GenericValue)-instance-method","name":"cov_increment=","abstract":false,"args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"args_string":"(cov_increment : GenericValue)","args_html":"(cov_increment : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment=","args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"visibility":"Public","body":"@cov_increment = cov_increment"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"exchange_flags:GenericValue-instance-method","name":"exchange_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags","return_type":"GenericValue","visibility":"Public","body":"@exchange_flags"}},{"html_id":"exchange_flags=(exchange_flags:GenericValue)-instance-method","name":"exchange_flags=","abstract":false,"args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"args_string":"(exchange_flags : GenericValue)","args_html":"(exchange_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags=","args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_flags = exchange_flags"}},{"html_id":"exchange_type:GenericValue-instance-method","name":"exchange_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type","return_type":"GenericValue","visibility":"Public","body":"@exchange_type"}},{"html_id":"exchange_type=(exchange_type:GenericValue)-instance-method","name":"exchange_type=","abstract":false,"args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"args_string":"(exchange_type : GenericValue)","args_html":"(exchange_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type=","args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_type = exchange_type"}},{"html_id":"last_error:GenericValue-instance-method","name":"last_error","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error","return_type":"GenericValue","visibility":"Public","body":"@last_error"}},{"html_id":"last_error=(last_error:GenericValue)-instance-method","name":"last_error=","abstract":false,"args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"args_string":"(last_error : GenericValue)","args_html":"(last_error : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error=","args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"visibility":"Public","body":"@last_error = last_error"}},{"html_id":"last_sent:GenericValue-instance-method","name":"last_sent","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent","return_type":"GenericValue","visibility":"Public","body":"@last_sent"}},{"html_id":"last_sent=(last_sent:GenericValue)-instance-method","name":"last_sent=","abstract":false,"args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"args_string":"(last_sent : GenericValue)","args_html":"(last_sent : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent=","args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"visibility":"Public","body":"@last_sent = last_sent"}},{"html_id":"local_flags:LocalValue-instance-method","name":"local_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags","return_type":"LocalValue","visibility":"Public","body":"@local_flags"}},{"html_id":"local_flags=(local_flags:GenericValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"args_string":"(local_flags : GenericValue)","args_html":"(local_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L37"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_flags=(local_flags:LocalValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"args_string":"(local_flags : LocalValue)","args_html":"(local_flags : LocalValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_ref:Reference-instance-method","name":"local_ref","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref","return_type":"Reference","visibility":"Public","body":"@local_ref"}},{"html_id":"local_ref=(local_ref:Reference)-instance-method","name":"local_ref=","abstract":false,"args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"args_string":"(local_ref : Reference)","args_html":"(local_ref : Reference)","location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref=","args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"visibility":"Public","body":"@local_ref = local_ref"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"object_name:GenericValue-instance-method","name":"object_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name","return_type":"GenericValue","visibility":"Public","body":"@object_name"}},{"html_id":"object_name=(object_name:GenericValue)-instance-method","name":"object_name=","abstract":false,"args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"args_string":"(object_name : GenericValue)","args_html":"(object_name : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name=","args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"visibility":"Public","body":"@object_name = object_name"}},{"html_id":"object_type:GenericValue-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type","return_type":"GenericValue","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:GenericValue)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"args_string":"(object_type : GenericValue)","args_html":"(object_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"send_frequency:GenericValue-instance-method","name":"send_frequency","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency","return_type":"GenericValue","visibility":"Public","body":"@send_frequency"}},{"html_id":"send_frequency=(send_frequency:GenericValue)-instance-method","name":"send_frequency=","abstract":false,"args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"args_string":"(send_frequency : GenericValue)","args_html":"(send_frequency : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency=","args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"visibility":"Public","body":"@send_frequency = send_frequency"}},{"html_id":"subscribers:Hash(String,JSON::Any)-instance-method","name":"subscribers","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@subscribers"}},{"html_id":"subscribers=(subscribers:Hash(String,JSON::Any))-instance-method","name":"subscribers=","abstract":false,"args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"args_string":"(subscribers : Hash(String, JSON::Any))","args_html":"(subscribers : Hash(String, JSON::Any))","location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers=","args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@subscribers = subscribers"}}]}]}]},{"html_id":"drivers/Denon","path":"Denon.html","kind":"module","full_name":"Denon","name":"Denon","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"","summary":"","types":[{"html_id":"drivers/Denon/Amplifier","path":"Denon/Amplifier.html","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Denon","kind":"module","full_name":"Denon","name":"Denon"},"types":[{"html_id":"drivers/Denon/Amplifier/AvReceiver","path":"Denon/Amplifier/AvReceiver.html","kind":"class","full_name":"Denon::Amplifier::AvReceiver","name":"AvReceiver","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power: :PW, power_query: :\"PW?\", mute: :MU, mute_query: :\"MU?\", volume: :MV, volume_query: :\"MV?\", input: :SI, input_query: :\"SI?\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"}],"namespace":{"html_id":"drivers/Denon/Amplifier","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L65"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.info do\n \"-- Polling Denon AVR\"\n end\n power?\n do_send(:input, priority: 0, name: :input)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L80"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"input(input:String=\"\")-instance-method","name":"input","doc":"Just here for documentation (there are many more)\n\nINPUTS = [:cd, :tuner, :dvd, :bd, :tv, :\"sat/cbl\", :dvr, :game, :game2, :\"v.aux\", :dock]","summary":"

Just here for documentation (there are many more)

","abstract":false,"args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"args_string":"(input : String = \"\")","args_html":"(input : String = "")","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L148"},"def":{"name":"input","args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"visibility":"Public","body":"status = input.upcase\nif status != self[:input]\n input = input.to_s.upcase\n do_send(:input, input, name: :input)\nend\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L156"},"def":{"name":"input?","visibility":"Public","body":"do_send(:input_query, priority: 0, name: :input_query)"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L104"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"req = state ? \"ON\" : \"OFF\"\nif self[:mute] == req\n return\nend\ndo_send(:mute, req, name: :mute)\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L99"},"def":{"name":"mute?","visibility":"Public","body":"self[:mute] = \"OFF\"\ndo_send(:mute_query, priority: 0, name: :mute_query)\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L110"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:volume_min] = 0\nself[:volume_max] = @volume_range.max\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L60"},"def":{"name":"on_update","visibility":"Public","body":"self[:max_waits] = 10\nself[:timeout] = 3000\n"}},{"html_id":"power(state:Bool=false)-instance-method","name":"power","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L84"},"def":{"name":"power","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state && ((self[:power] == \"OFF\") || (self[:power] == \"STANDBY\"))\n do_send(:power, \"ON\", delay: 3.milliseconds, name: :power)\nelse\n if (!state) && (self[:power] == \"ON\")\n do_send(:power, \"STANDBY\", delay: 3.milliseconds, name: :power)\n end\nend"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L93"},"def":{"name":"power?","visibility":"Public","body":"do_send(:power_query, priority: 0, name: :power_query)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.info do\n \"Denon sent #{data.inspect}\"\nend\nif task\nelse\n return\nend\ncmd = data[0..1]\nval = data[2..-2]\ncase cmd\nwhen \"PW\"\n self[:power] = val\nwhen \"SI\"\n self[:input] = val\nwhen \"MV\"\n vol_percent = ((val.to_f * 2) / @volume_range.end.to_f) * 100.0\n self[:volume] = vol_percent\nwhen \"MU\"\n self[:mute] = val\nelse\n return :ignore\nend\ntask.try(&.success)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L114"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L118"},"def":{"name":"unmute_audio","visibility":"Public","body":"unmute"}},{"html_id":"volume(level:Float64|Int32=0)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"args_string":"(level : Float64 | Int32 = 0)","args_html":"(level : Float64 | Int32 = 0)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L122"},"def":{"name":"volume","args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\nif self[:volume] == level\n return\nend\npercentage = level / 100.0\nvalue = (percentage * @volume_range.end.to_f).round_away.to_i\nstep = value % 2\nactual = value / 2\nreq = actual.to_s.rjust(2, '0')\nif step != 0\n req = req + \"5\"\nend\ndo_send(:volume, req, name: :volume)\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L141"},"def":{"name":"volume?","visibility":"Public","body":"do_send(:volume_query, priority: 0, name: :volume_query)"}}]}]}]},{"html_id":"drivers/DigitalIO","path":"DigitalIO.html","kind":"class","full_name":"DigitalIO","name":"DigitalIO","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv_spec.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv_spec.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"ir(index:Int32,command:String)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String)","args_html":"(index : Int32, command : String)","location":{"filename":"src/global_cache/ir_tv_spec.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv_spec.cr#L6"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"@called = @called + 1\nself[:call_count] = @called\nnil\n"}}]},{"html_id":"drivers/Digraph","path":"Digraph.html","kind":"alias","full_name":"Digraph","name":"Digraph","abstract":false,"locations":[{"filename":"src/place/router/digraph_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Digraph(N, E)","aliased_html":"Place::Router::Digraph(N, E)","const":false},{"html_id":"drivers/Echo360","path":"Echo360.html","kind":"module","full_name":"Echo360","name":"Echo360","abstract":false,"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Echo360/DeviceCapture","path":"Echo360/DeviceCapture.html","kind":"class","full_name":"Echo360::DeviceCapture","name":"DeviceCapture","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CHECK","name":"CHECK","value":"{\"next\", \"current\"}"},{"id":"STATUS_CMDS","name":"STATUS_CMDS","value":"{system_status: :system, capture_status: :captures, next: :next_capture, current: :current_capture, state: :monitoring}"}],"namespace":{"html_id":"drivers/Echo360","kind":"module","full_name":"Echo360","name":"Echo360"},"instance_methods":[{"html_id":"capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"capture","doc":"This will auto-start a recording","summary":"

This will auto-start a recording

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L74"},"def":{"name":"capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/new_capture\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"capture_status-instance-method","name":"capture_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"capture_status","visibility":"Public","body":"response = get(\"/status/captures\")\nprocess_status(check(response))\n"}},{"html_id":"captures-instance-method","name":"captures","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L61"},"def":{"name":"captures","visibility":"Public","body":"response = get(\"/diagnostics/recovery/saved-content\")\nself[:captures] = (check(response))[\"captures\"][\"capture\"]\n"}},{"html_id":"current-instance-method","name":"current","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"current","visibility":"Public","body":"response = get(\"/status/current_capture\")\nprocess_status(check(response))\n"}},{"html_id":"extend(duration:Int32)-instance-method","name":"extend","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"args_string":"(duration : Int32)","args_html":"(duration : Int32)","location":{"filename":"src/echo360/device_capture.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L94"},"def":{"name":"extend","args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"duration\", duration.to_s)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"next-instance-method","name":"next","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"next","visibility":"Public","body":"response = get(\"/status/next_capture\")\nprocess_status(check(response))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(15.seconds) do\n logger.debug do\n \"-- Polling Capture\"\n end\n system_status\n capture_status\nend\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L101"},"def":{"name":"pause","visibility":"Public","body":"response = post(\"/capture/pause\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L56"},"def":{"name":"reboot","visibility":"Public","body":"(post(\"/diagnostics/reboot\")).success?"}},{"html_id":"record-instance-method","name":"record","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L115"},"def":{"name":"record","visibility":"Public","body":"start"}},{"html_id":"restart_application-instance-method","name":"restart_application","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L51"},"def":{"name":"restart_application","visibility":"Public","body":"(post(\"/diagnostics/restart_all\")).success?"}},{"html_id":"resume-instance-method","name":"resume","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L111"},"def":{"name":"resume","visibility":"Public","body":"start"}},{"html_id":"start-instance-method","name":"start","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L106"},"def":{"name":"start","visibility":"Public","body":"response = post(\"/capture/record\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"state-instance-method","name":"state","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"state","visibility":"Public","body":"response = get(\"/status/monitoring\")\nprocess_status(check(response))\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L119"},"def":{"name":"stop","visibility":"Public","body":"response = post(\"/capture/stop\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"system_status-instance-method","name":"system_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"system_status","visibility":"Public","body":"response = get(\"/status/system\")\nprocess_status(check(response))\n"}},{"html_id":"test_capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"test_capture","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L84"},"def":{"name":"test_capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"upload(id:String)-instance-method","name":"upload","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/echo360/device_capture.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L67"},"def":{"name":"upload","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/diagnostics/recovery/#{id}/upload\")\nif response.success?\nelse\n raise(\"upload request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}}]}]},{"html_id":"drivers/Enumerable","path":"Enumerable.html","kind":"module","full_name":"Enumerable(T)","name":"Enumerable","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"The `Enumerable` mixin provides collection classes with several traversal, searching,\nfiltering and querying methods.\n\nIncluding types must provide an `each` method, which yields successive members\nof the collection.\n\nFor example:\n\n```\nclass Three\n include Enumerable(Int32)\n\n def each(&)\n yield 1\n yield 2\n yield 3\n end\nend\n\nthree = Three.new\nthree.to_a # => [1, 2, 3]\nthree.select &.odd? # => [1, 3]\nthree.all? { |x| x < 10 } # => true\n```\n\nNote that most search and filter methods traverse an Enumerable eagerly,\nproducing an `Array` as the result. For a lazy alternative refer to\nthe `Iterator` and `Iterable` modules.","summary":"

The Enumerable mixin provides collection classes with several traversal, searching, filtering and querying methods.

","instance_methods":[{"html_id":"flatten_xapi_json(parent_prefix:String|Nil=nil,delimiter:String=\"/\")-instance-method","name":"flatten_xapi_json","abstract":false,"args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"args_string":"(parent_prefix : String | Nil = nil, delimiter : String = \"/\")","args_html":"(parent_prefix : String | Nil = nil, delimiter : String = "/")","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L40"},"def":{"name":"flatten_xapi_json","args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"visibility":"Public","body":"res = {} of String => JSONComplex\nself.each_with_index do |elem, i|\n if elem.is_a?(Tuple)\n k, v = elem\n else\n k, v = i, elem\n if id = v.as_h?.try(&.delete(\"id\"))\n k = id\n end\n end\n key = parent_prefix ? \"#{parent_prefix}#{delimiter}#{k}\" : k.to_s\n raw = v.raw\n case raw\n in Array(JSON::Any)\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n in Hash(String, JSON::Any)\n value = raw[\"Value\"]?\n if value && value.as_h?.nil?\n valuespaceref = raw[\"valueSpaceRef\"]?.try do |__arg1|\n (__arg1.as_s.split('/')).last\n end\n res[key] = Cisco::CollaborationEndpoint::XAPI.value_convert(value.as_s, valuespaceref)\n else\n if id\n res[key] = raw.flatten_xapi_json(delimiter: delimiter)\n else\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n end\n end\n in JSONBasic\n res[key] = raw\n end\nend\nres\n"}}],"types":[{"html_id":"drivers/Enumerable/JSONBasic","path":"Enumerable/JSONBasic.html","kind":"alias","full_name":"Enumerable::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}},{"html_id":"drivers/Enumerable/JSONComplex","path":"Enumerable/JSONComplex.html","kind":"alias","full_name":"Enumerable::JSONComplex","name":"JSONComplex","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}}]},{"html_id":"drivers/Epson","path":"Epson.html","kind":"module","full_name":"Epson","name":"Epson","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Epson/Projector","path":"Epson/Projector.html","kind":"module","full_name":"Epson::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Epson","kind":"module","full_name":"Epson","name":"Epson"},"types":[{"html_id":"drivers/Epson/Projector/EscVp21","path":"Epson/Projector/EscVp21.html","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{power: \"PWR\", input: \"SOURCE\", volume: \"VOL\", av_mute: \"MUTE\", video_mute: \"MSEL\", error: \"ERR\", lamp: \"LAMP\"}"},{"id":"ERRORS","name":"ERRORS","value":"[\"00: no error\", \"01: fan error\", \"03: lamp failure at power on\", \"04: high internal temperature\", \"06: lamp error\", \"07: lamp cover door open\", \"08: cinema filter error\", \"09: capacitor is disconnected\", \"0A: auto iris error\", \"0B: subsystem error\", \"0C: low air flow error\", \"0D: air flow sensor error\", \"0E: ballast power supply error\", \"0F: shutter error\", \"10: peltiert cooling error\", \"11: pump cooling error\", \"12: static iris error\", \"13: power supply unit error\", \"14: exhaust shutter error\", \"15: obstacle detection error\", \"16: IF board discernment error\"]"},{"id":"RESPONSE","name":"RESPONSE","value":"COMMAND.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Epson/Projector","kind":"module","full_name":"Epson::Projector","name":"Projector"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L33"},"def":{"name":"connected","visibility":"Public","body":"send(\"ESC/VP.net\\u0010\\u0003\\u0000\\u0000\\u0000\\u0000\")\nschedule.every(52.seconds, true) do\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L39"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L221"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 20) && @power_stable\n input?\n video_mute?\n volume?\nend\ndo_send(:lamp, priority: 20)\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L73"},"def":{"name":"input?","visibility":"Public","body":"(do_send(:input, priority: 0)).get\nself[:input]\n"}},{"html_id":"inspect_error-instance-method","name":"inspect_error","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L145"},"def":{"name":"inspect_error","visibility":"Public","body":"do_send(:error, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L98"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"case layer\nwhen .audio_video?\n do_send(:av_mute, state ? \"ON\" : \"OFF\", name: :mute)\n do_send(:av_mute, name: :\"mute?\", priority: 0)\nwhen .video?\n do_send(:video_mute, state ? \"ON\" : \"OFF\", name: :video_mute)\n video_mute?\nwhen .audio?\n val = state ? 0.0 : @unmute_volume\n volume(val)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:type] = :projector\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L43"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n @power_target = true\n logger.debug do\n \"-- epson Proj, requested to power on\"\n end\n do_send(:power, \"ON\", delay: 40.seconds, name: \"power\", priority: 99)\nelse\n @power_target = false\n logger.debug do\n \"-- epson Proj, requested to power off\"\n end\n do_send(:power, \"OFF\", delay: 10.seconds, name: \"power\", priority: 99)\nend\n@power_stable = false\nself[:power] = state\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L58"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power, **options)).get\n@power_actual || false\n"}},{"html_id":"power_actual:Bool|Nil-instance-method","name":"power_actual","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L22"},"def":{"name":"power_actual","return_type":"Bool | ::Nil","visibility":"Public","body":"@power_actual"}},{"html_id":"power_stable?:Bool-instance-method","name":"power_stable?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L23"},"def":{"name":"power_stable?","return_type":"Bool","visibility":"Public","body":"@power_stable"}},{"html_id":"power_target?:Bool-instance-method","name":"power_target?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L24"},"def":{"name":"power_target?","return_type":"Bool","visibility":"Public","body":"@power_target"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if data.size <= 2\n return task.try(&.success)\nend\ndata = String.new(data[1..-2])\nlogger.debug do\n \"epson Proj sent: #{data}\"\nend\ndata = data.split('=')\ncase RESPONSE[data[0]]\nwhen :error\n if data[1]?\n code = data[1].to_i(16)\n self[:last_error] = ERRORS[code]? || \"#{data[1]}: unknown error code #{code}\"\n return task.try(&.success(\"Epson PJ error was #{self[:last_error]}\"))\n else\n return task.try(&.abort(\"Epson PJ sent error response for #{task.not_nil!.name || \"unknown\"}\"))\n end\nwhen :power\n state = data[1].to_i\n @power_actual = powered = state < 3\n warming = state == 2\n cooling = state == 3\n if warming || cooling\n schedule.in(5.seconds) do\n power?(priority: 10)\n end\n else\n if !@power_stable\n if @power_actual == @power_target\n @power_stable = true\n else\n power(@power_target)\n end\n end\n end\n if @power_stable\n self[:power] = powered\n end\n self[:warming] = warming\n self[:cooling] = cooling\n if powered == @power_target\n if powered\n else\n self[:video_mute] = false\n end\n end\nwhen :av_mute\n self[:video_mute] = self[:audio_mute] = data[1] == \"ON\"\n self[:volume] = 0.0\nwhen :video_mute\n self[:video_mute] = data[1] == \"ON\"\nwhen :volume\n vol = data[1].to_i\n vol_percent = (vol.to_f / 255.0) * 100.0\n self[:volume] = vol_percent\n mute = vol == 0\n if mute\n self[:audio_mute] = mute\n end\n if mute\n else\n @unmute_volume || (@unmute_volume = vol_percent)\n end\nwhen :lamp\n self[:lamp_usage] = data[1].to_i\nwhen :input\n self[:input] = (Input.from_value(data[1].to_i(16))) || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L63"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- epson Proj, requested to switch to: #{input}\"\nend\ndo_send(:input, input.value.to_s(16), name: :input)\nself[:input] = input\nself[:video_mute] = false\ninput?\n"}},{"html_id":"video_mute?-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L116"},"def":{"name":"video_mute?","visibility":"Public","body":"(do_send(:video_mute, priority: 0)).get\n!(!self[:video_mute]?.try(&.as_bool))\n"}},{"html_id":"volume(vol:Float64|Int32,**options)-instance-method","name":"volume","doc":"Volume commands are sent using the inpt command","summary":"

Volume commands are sent using the inpt command

","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"args_string":"(vol : Float64 | Int32, **options)","args_html":"(vol : Float64 | Int32, **options)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L79"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * 255.0).round_away.to_i\nif (mute = vol == 0.0) && self[:volume]?\n @unmute_volume = self[:volume].as_f\nend\ndo_send(:volume, vol_actual, **options, name: :volume)\nself[:volume] = vol\nself[:audio_mute] = mute\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L93"},"def":{"name":"volume?","visibility":"Public","body":"(do_send(:volume, priority: 0)).get\nself[:volume]?.try(&.as_f)\n"}}],"types":[{"html_id":"drivers/Epson/Projector/EscVp21/Input","path":"Epson/Projector/EscVp21/Input.html","kind":"enum","full_name":"Epson::Projector::EscVp21::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"48"},{"id":"HDBaseT","name":"HDBaseT","value":"128"}],"namespace":{"html_id":"drivers/Epson/Projector/EscVp21","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21"},"instance_methods":[{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L12"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L11"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}}]}]}]}]},{"html_id":"drivers/Exterity","path":"Exterity.html","kind":"module","full_name":"Exterity","name":"Exterity","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Exterity/AvediaPlayer","path":"Exterity/AvediaPlayer.html","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity","kind":"module","full_name":"Exterity","name":"Exterity"},"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R92xx","path":"Exterity/AvediaPlayer/R92xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R92xx","name":"R92xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L40"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L23"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.info do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L52"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L56"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L72"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L60"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L76"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.info do\n \"Exterity sent #{data}\"\nend\nif @ready\n if data =~ (/sh: .* not found/i)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 2.seconds, priority: 95)\n return :failure\n end\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Exterity Control Interface| Exit/i)\n logger.info do\n \"-- got the control interface message, we're READY now\"\n end\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n logger.info do\n \"-- got the login: prompt\"\n end\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\n do_send(\"6\", wait: false, delay: 2.seconds, priority: 96)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 200.milliseconds, priority: 95)\n schedule.in(20.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n else\n if logger.info do\n \"Somehow we got here #{data}\"\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L48"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L64"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L68"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}]},{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","path":"Exterity/AvediaPlayer/R93xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"},{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L39"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"channel_name(name:String)-instance-method","name":"channel_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L79"},"def":{"name":"channel_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"(set(:currentChannel_name, name, name: :name)).get\ncurrent_channel_name\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"current_channel-instance-method","name":"current_channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L98"},"def":{"name":"current_channel","visibility":"Public","body":"get(:currentChannel)"}},{"html_id":"current_channel_name-instance-method","name":"current_channel_name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L102"},"def":{"name":"current_channel_name","visibility":"Public","body":"get(:currentChannel_name)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L32"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L51"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L55"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L71"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"channel_lookup = {} of String => ChannelDetail\nif channel_details = setting?(Array(ChannelDetail), :channel_details)\n self[:channel_details] = channel_details\n channel_details.each do |lookup|\n channel_lookup[lookup.channel] = lookup\n end\nelse\n self[:channel_details] = nil\nend\n@channel_lookup = channel_lookup\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L59"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L75"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Exterity sent #{data}\"\nend\nif @ready\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Terminal Control Interface/i)\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 2.seconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 2.seconds, priority: 97)\n schedule.in(5.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L47"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L63"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L67"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}],"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R93xx/ChannelDetail","path":"Exterity/AvediaPlayer/R93xx/ChannelDetail.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx::ChannelDetail","name":"ChannelDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L29"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L28"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L27"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]}]}]},{"html_id":"drivers/Extron","path":"Extron.html","kind":"module","full_name":"Extron","name":"Extron","abstract":false,"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Extron/Matrix","path":"Extron/Matrix.html","kind":"class","full_name":"Extron::Matrix","name":"Matrix","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/matrix.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MUTE_INPUT","name":"MUTE_INPUT","value":"0_u16"}],"included_modules":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"instance_methods":[{"html_id":"audio_mute(state:Bool=true,group:Int32=2)-instance-method","name":"audio_mute","doc":"Sets the audio mute *state* on the specified *group*.\n\nNOTE: mute groups may differ from volume groups depending on device\nconfiguration. Default group (2) is program audio.","summary":"

Sets the audio mute state on the specified group.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"args_string":"(state : Bool = true, group : Int32 = 2)","args_html":"(state : Bool = true, group : Int32 = 2)","location":{"filename":"src/extron/matrix.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L212"},"def":{"name":"audio_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"device_state = state ? '1' : '0'\nsend(Command[\"\\eD\", group, '*', device_state, \"GRPM\\r\"], Response::GroupMute) do\n state\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n query_device_info\nend"}},{"html_id":"device_size-instance-method","name":"device_size","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L60"},"def":{"name":"device_size","visibility":"Public","body":"if (value = @device_size).nil?\n @device_size = (begin\n empty = MatrixSize.new(0_u16, 0_u16)\n SwitcherInformation.new(empty, empty)\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nif config.role.ssh?\nelse\n @ready = false\n transport.tokenizer = nil\nend\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/extron/matrix.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L82"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"output = index.to_u16\nif output > 0\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n MatrixLayer::Aud\nin MuteLayer::Video\n MatrixLayer::Vid\nin MuteLayer::AudioVideo\n MatrixLayer::All\nend\nif state\n record_mute(output, switch_layer)\n switch_one(MUTE_INPUT, output, switch_layer)\nelse\n video_input = audio_input = MUTE_INPUT\n if switch_layer.all? || switch_layer.vid?\n video_input = (@muted_video.delete(output)) || MUTE_INPUT\n end\n if switch_layer.all? || switch_layer.aud?\n audio_input = (@muted_audio.delete(output)) || MUTE_INPUT\n end\n if audio_input > 0\n switch_one(audio_input, output, MatrixLayer::Aud)\n end\n if video_input > 0\n switch_one(video_input, output, MatrixLayer::Vid)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"if config.role.ssh?\n @ready = true\n transport.tokenizer = Tokenizer.new(DELIMITER)\nend\nqueue.delay = 200.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"inputs = (setting?(UInt16, :input_count)) || 8_u16\noutputs = (setting?(UInt16, :output_count)) || 1_u16\nio = MatrixSize.new(inputs, outputs)\n@device_size = SwitcherInformation.new(video: io, audio: io)\n"}},{"html_id":"query_device_info-instance-method","name":"query_device_info","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L65"},"def":{"name":"query_device_info","visibility":"Public","body":"send(Command['I'], Response::SwitcherInformation) do |info|\n video_io = MatrixSize.new(info.video.inputs, info.video.outputs)\n audio_io = MatrixSize.new(info.audio.inputs, info.audio.outputs)\n @device_size = SwitcherInformation.new(video: video_io, audio: audio_io)\n self[:video_matrix] = \"#{info.video.inputs}x#{info.video.outputs}\"\n self[:audio_matrix] = \"#{info.audio.inputs}x#{info.audio.outputs}\"\n info\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","doc":"Response callback for async responses.","summary":"

Response callback for async responses.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/extron/matrix.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L240"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Ready #{@ready}, Received #{String.new(data)}\"\nend\nif !@ready\n payload = String.new(data)\n if payload =~ (/Copyright/i)\n if password = setting?(String, :password)\n send(\"#{password}\\r\", wait: false, priority: 99)\n end\n transport.tokenizer = Tokenizer.new(DELIMITER)\n @ready = true\n schedule.in(1.second) do\n query_device_info\n end\n end\n return\nend\ncase response = Response.parse(data, as: Response::Unsolicited)\nin Tie\n update_io(response)\nin Error, Response::ParseError\n logger.error do\n response\n end\nin Time\n query_device_info\nin String\n logger.info do\n response\n end\nin Nil\nend\nresponse\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","doc":"Implementing switchable interface","summary":"

Implementing switchable interface

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/extron/matrix.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L118"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"extron_layer = case layer\nin Nil, .all?\n MatrixLayer::All\nin .audio?\n MatrixLayer::Aud\nin .video?\n MatrixLayer::Vid\nin .data?, .data2?\n logger.debug do\n \"layer #{layer} not available on extron matrix\"\n end\n return\nend\nif (map.size == 1) && (map.first_value.size == 1)\n switch_one(map.first_key, map.first_value.first, extron_layer)\nelse\n switch_map(map, extron_layer)\nend\n"}},{"html_id":"switch_layer(input:Input,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_layer","doc":"Connect *input* to all outputs at the specified *layer*.","summary":"

Connect input to all outputs at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L154"},"def":{"name":"switch_layer","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio = {} of UInt16 => UInt16\nend\nif layer.all? || layer.aud?\n @muted_video = {} of UInt16 => UInt16\nend\nsend(Command[input, layer], Response::Switch, name: \"present-#{input}-#{layer}\", &->update_io(Switch))\n"}},{"html_id":"switch_map(map:SignalMap,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_map","doc":"Applies a `SignalMap` as a single operation. All included ties will take\nsimultaneously on the device.","summary":"

Applies a SignalMap as a single operation.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","args_html":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L162"},"def":{"name":"switch_map","args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if map.size == 1\n outp = map.first_value\n if outp.is_a?(Array)\n if outp.size == 1\n return switch_one(map.first_key, outp.first, layer)\n end\n else\n return switch_one(map.first_key, outp, layer)\n end\nend\nties = map.flat_map do |__arg2|\n input = __arg2[0]\n outputs = __arg2[1]\n if outputs.is_a?(Enumerable)\n outputs.each.map do |output|\n if layer.all? || layer.aud?\n @muted_audio.delete(output)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(output)\n end\n Tie.new(input, output, layer)\n end\n else\n if layer.all? || layer.aud?\n @muted_audio.delete(outputs)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(outputs)\n end\n Tie.new(input, outputs, layer)\n end\nend\nconflicts = ties - ties.uniq(&.output)\nif conflicts.empty?\nelse\n raise(ArgumentError.new(\"map contains conflicts for output(s) #{conflicts.join(\", \", &.output)}\"))\nend\nsend(Command[\"\\e+Q\", ties.map do |tie|\n [tie.input, '*', tie.output, tie.layer]\nend, '\\r'], Response::Qik) do\n ties.each(&->update_io(Tie))\nend\n"}},{"html_id":"switch_one(input:Input,output:Output,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_one","doc":"Connect a signal *input* to an *output* at the specified *layer*.\n\n`0` may be used as either an input or output to specify a disconnection at\nthe corresponding signal point. For example, to disconnect input 1 from all\noutputs is is currently feeding `switch(1, 0)`.","summary":"

Connect a signal input to an output at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L147"},"def":{"name":"switch_one","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio.delete(output)\nend\nif layer.all? || layer.vid?\n @muted_video.delete(output)\nend\nsend(Command[input, '*', output, layer], Response::Tie, name: \"switch-#{output}-#{layer}\", &->update_io(Tie))\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/extron/matrix.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L134"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}},{"html_id":"volume(level:Float64|Int32,group:Int32=1)-instance-method","name":"volume","doc":"Sets the audio volume *level* (0..100) on the specified mix *group*.","summary":"

Sets the audio volume level (0..100) on the specified mix group.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"args_string":"(level : Float64 | Int32, group : Int32 = 1)","args_html":"(level : Float64 | Int32, group : Int32 = 1)","location":{"filename":"src/extron/matrix.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L199"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\ndevice_level = (level * 10.0).round_away.to_i - 1000\nsend(Command[\"\\eD\", group, '*', device_level, \"GRPM\\r\"], Response::GroupVolume) do\n level\nend\n"}}],"types":[{"html_id":"drivers/Extron/Matrix/Outputs","path":"Extron/Matrix/Outputs.html","kind":"alias","full_name":"Extron::Matrix::Outputs","name":"Outputs","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(UInt16)","aliased_html":"Array(UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}},{"html_id":"drivers/Extron/Matrix/SignalMap","path":"Extron/Matrix/SignalMap.html","kind":"alias","full_name":"Extron::Matrix::SignalMap","name":"SignalMap","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L140"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(UInt16, Array(UInt16) | UInt16)","aliased_html":"Hash(UInt16, Array(UInt16) | UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}}]},{"html_id":"drivers/Extron/SIS","path":"Extron/SIS.html","kind":"module","full_name":"Extron::SIS","name":"SIS","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L9"},{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"SPECIAL_CHARS","name":"SPECIAL_CHARS","value":"\"+-,@=‘[]{}<>`“;:|?\".chars","doc":"Illegal characters for use in property names.","summary":"

Illegal characters for use in property names.

"},{"id":"SSH_PORT","name":"SSH_PORT","value":"22023"},{"id":"TELNET_PORT","name":"TELNET_PORT","value":"23"}],"including_types":[{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"doc":"Implementation, types and utilities for working with the Extron Simple\nInstruction Set (SIS) device control protocol.\n\nThis protocol is used for control of all Extron signal distribution,\nprocessing and general audio-visual products via SSH, telnet and serial\ncontrol.","summary":"

Implementation, types and utilities for working with the Extron Simple Instruction Set (SIS) device control protocol.

","types":[{"html_id":"drivers/Extron/SIS/Command","path":"Extron/SIS/Command.html","kind":"struct","full_name":"Extron::SIS::Command(*T)","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Structure for representing a SIS device command.\n\nCommands are composed from a set of *fields*. The contents and types of these\nare arbitrary, however they must be capable of serialising to an IO.","summary":"

Structure for representing a SIS device command.

","constructors":[{"html_id":"new(*fields:*T)-class-method","name":"new","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"args_string":"(*fields : *T)","args_html":"(*fields : *T)","location":{"filename":"src/extron/sis/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L6"},"def":{"name":"new","args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"splat_index":0,"visibility":"Public","body":"_ = Command(*T).allocate\n_.initialize(*fields)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_io(io:IO,format=IO::ByteFormat::SystemEndian)-instance-method","name":"to_io","doc":"Writes `self` to the passed *io*.","summary":"

Writes self to the passed io.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"args_string":"(io : IO, format = IO::ByteFormat::SystemEndian)","args_html":"(io : IO, format = IO::ByteFormat::SystemEndian)","location":{"filename":"src/extron/sis/command.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L18"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"visibility":"Public","body":"@fields.each.flatten.each do |field|\n if field.is_a?(Enum)\n io.write_byte(field.value)\n else\n io << field\n end\nend"}},{"html_id":"to_s(io:IO)-instance-method","name":"to_s","doc":"Serialises `self` in a format suitable for log messages.","summary":"

Serialises self in a format suitable for log messages.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"}],"args_string":"(io : IO)","args_html":"(io : IO)","location":{"filename":"src/extron/sis/command.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L11"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":"IO"}],"visibility":"Public","body":"io << '‹'\nto_io(io)\nio << '›'\n"}}],"macros":[{"html_id":"[](*fields)-macro","name":"[]","doc":"Syntactical suger for `Command` definition. Provides the ability to express\ncommand fields in the same way as `Byte` objects and other similar\ncollections from the Crystal std lib.","summary":"

Syntactical suger for Command definition.

","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":""}],"args_string":"(*fields)","args_html":"(*fields)","location":{"filename":"src/extron/sis/command.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L31"},"def":{"name":"[]","args":[{"name":"fields","external_name":"fields","restriction":""}],"splat_index":0,"visibility":"Public","body":" Extron::SIS::Command.new(\n{{ *fields }}\n)\n \n"}}]},{"html_id":"drivers/Extron/SIS/Error","path":"Extron/SIS/Error.html","kind":"enum","full_name":"Extron::SIS::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"InvalidInput","name":"InvalidInput","value":"1"},{"id":"InvalidCommand","name":"InvalidCommand","value":"10"},{"id":"InvalidPresent","name":"InvalidPresent","value":"11"},{"id":"InvalidOutput","name":"InvalidOutput","value":"12"},{"id":"InvalidParameter","name":"InvalidParameter","value":"13"},{"id":"InvalidForConfig","name":"InvalidForConfig","value":"14"},{"id":"Timeout","name":"Timeout","value":"17"},{"id":"Busy","name":"Busy","value":"22"},{"id":"PrivilegesViolation","name":"PrivilegesViolation","value":"24"},{"id":"DeviceNotPresent","name":"DeviceNotPresent","value":"25"},{"id":"MaxConnectionsExceeded","name":"MaxConnectionsExceeded","value":"26"},{"id":"InvalidEventNumber","name":"InvalidEventNumber","value":"27"},{"id":"FileNotFound","name":"FileNotFound","value":"28"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Device error numbers","summary":"

Device error numbers

","instance_methods":[{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L30"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"device_not_present?-instance-method","name":"device_not_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L32"},"def":{"name":"device_not_present?","visibility":"Public","body":"self == DeviceNotPresent"}},{"html_id":"file_not_found?-instance-method","name":"file_not_found?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L35"},"def":{"name":"file_not_found?","visibility":"Public","body":"self == FileNotFound"}},{"html_id":"invalid_command?-instance-method","name":"invalid_command?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L24"},"def":{"name":"invalid_command?","visibility":"Public","body":"self == InvalidCommand"}},{"html_id":"invalid_event_number?-instance-method","name":"invalid_event_number?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L34"},"def":{"name":"invalid_event_number?","visibility":"Public","body":"self == InvalidEventNumber"}},{"html_id":"invalid_for_config?-instance-method","name":"invalid_for_config?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L28"},"def":{"name":"invalid_for_config?","visibility":"Public","body":"self == InvalidForConfig"}},{"html_id":"invalid_input?-instance-method","name":"invalid_input?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L23"},"def":{"name":"invalid_input?","visibility":"Public","body":"self == InvalidInput"}},{"html_id":"invalid_output?-instance-method","name":"invalid_output?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L26"},"def":{"name":"invalid_output?","visibility":"Public","body":"self == InvalidOutput"}},{"html_id":"invalid_parameter?-instance-method","name":"invalid_parameter?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L27"},"def":{"name":"invalid_parameter?","visibility":"Public","body":"self == InvalidParameter"}},{"html_id":"invalid_present?-instance-method","name":"invalid_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L25"},"def":{"name":"invalid_present?","visibility":"Public","body":"self == InvalidPresent"}},{"html_id":"max_connections_exceeded?-instance-method","name":"max_connections_exceeded?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L33"},"def":{"name":"max_connections_exceeded?","visibility":"Public","body":"self == MaxConnectionsExceeded"}},{"html_id":"privileges_violation?-instance-method","name":"privileges_violation?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L31"},"def":{"name":"privileges_violation?","visibility":"Public","body":"self == PrivilegesViolation"}},{"html_id":"retryable?-instance-method","name":"retryable?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L37"},"def":{"name":"retryable?","visibility":"Public","body":"timeout? || busy?"}},{"html_id":"timeout?-instance-method","name":"timeout?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L29"},"def":{"name":"timeout?","visibility":"Public","body":"self == Timeout"}}]},{"html_id":"drivers/Extron/SIS/Input","path":"Extron/SIS/Input.html","kind":"alias","full_name":"Extron::SIS::Input","name":"Input","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/MatrixLayer","path":"Extron/SIS/MatrixLayer.html","kind":"enum","full_name":"Extron::SIS::MatrixLayer","name":"MatrixLayer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L47"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"33_u8"},{"id":"Aud","name":"Aud","value":"36_u8"},{"id":"Vid","name":"Vid","value":"37_u8"},{"id":"RGB","name":"RGB","value":"38_u8"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Layers for targetting signal distribution operations.","summary":"

Layers for targetting signal distribution operations.

","instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L48"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"aud?-instance-method","name":"aud?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L49"},"def":{"name":"aud?","visibility":"Public","body":"self == Aud"}},{"html_id":"includes_audio?-instance-method","name":"includes_audio?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L57"},"def":{"name":"includes_audio?","visibility":"Public","body":"All || Aud"}},{"html_id":"includes_video?-instance-method","name":"includes_video?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L53"},"def":{"name":"includes_video?","visibility":"Public","body":"(All || Vid) || RGB"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L51"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"vid?-instance-method","name":"vid?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L50"},"def":{"name":"vid?","visibility":"Public","body":"self == Vid"}}]},{"html_id":"drivers/Extron/SIS/MatrixSize","path":"Extron/SIS/MatrixSize.html","kind":"struct","full_name":"Extron::SIS::MatrixSize","name":"MatrixSize","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a switching layer.","summary":"

IO capacity for a switching layer.

","constructors":[{"html_id":"new(inputs:Input,outputs:Output)-class-method","name":"new","abstract":false,"args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"args_string":"(inputs : Input, outputs : Output)","args_html":"(inputs : Input, outputs : Output)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"new","args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"visibility":"Public","body":"_ = allocate\n_.initialize(inputs, outputs)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@inputs.clone, @outputs.clone)"}},{"html_id":"copy_with(inputs_inputs=@inputs,outputs_outputs=@outputs)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"args_string":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","args_html":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"copy_with","args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"visibility":"Public","body":"self.class.new(_inputs, _outputs)"}},{"html_id":"inputs:Input-instance-method","name":"inputs","abstract":false,"def":{"name":"inputs","return_type":"Input","visibility":"Public","body":"@inputs"}},{"html_id":"outputs:Output-instance-method","name":"outputs","abstract":false,"def":{"name":"outputs","return_type":"Output","visibility":"Public","body":"@outputs"}}]},{"html_id":"drivers/Extron/SIS/Ok","path":"Extron/SIS/Ok.html","kind":"struct","full_name":"Extron::SIS::Ok","name":"Ok","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Symbolic type for representating a successfull interactions no useful data.","summary":"

Symbolic type for representating a successfull interactions no useful data.

","constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"},"def":{"name":"initialize","visibility":"Public","body":""}}]},{"html_id":"drivers/Extron/SIS/Output","path":"Extron/SIS/Output.html","kind":"alias","full_name":"Extron::SIS::Output","name":"Output","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/Response","path":"Extron/SIS/Response.html","kind":"module","full_name":"Extron::SIS::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"locations":[{"filename":"src/extron/sis/response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Clock","name":"Clock","value":"Raw.map do |date|\n Time.parse_utc(date, \"%a, %d %b %Y %T\")\nend","doc":"Part of the copyright banner, but appears on a new line so will tokenize as\nas standalone message.","summary":"

Part of the copyright banner, but appears on a new line so will tokenize as as standalone message.

"},{"id":"Copyright","name":"Copyright","value":"((Parse.string(\"(c) Copyright\")) + Raw).map(&.join)","doc":"Copyright message shown on connect.","summary":"

Copyright message shown on connect.

"},{"id":"DeviceError","name":"DeviceError","value":"(Parse.char('E')) >> Parse.integer.map do |e|\n SIS::Error.new(e.to_i)\nend","doc":"Error codes returned from the device.","summary":"

Error codes returned from the device.

"},{"id":"Empty","name":"Empty","value":"(Parse.string(\"\\r\\n\")) >> (Parse.const(nil))"},{"id":"GroupMute","name":"GroupMute","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), state <= BoolField, Parse.const({state, group})})","doc":"Group audio mute update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group audio mute update / response.

"},{"id":"GroupVolume","name":"GroupVolume","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), (_) <= (Parse.char('-')), level <= (num(Int32)).map do |val|\n val * -1\nend, Parse.const({level, group})})","doc":"Group volume update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group volume update / response.

"},{"id":"MatrixSize","name":"MatrixSize","value":"Parse.do({inputs <= (num(Input)), (_) <= (Parse.char('X')), outputs <= (num(Output)), Parse.const(SIS::MatrixSize.new(inputs, outputs))})"},{"id":"Qik","name":"Qik","value":"(Parse.string(\"Qik\")) >> (Parse.const(Ok.new))","doc":"Quick response, occurs following quick tie, or switching interaction from\nthe device's front panel.","summary":"

Quick response, occurs following quick tie, or switching interaction from the device's front panel.

"},{"id":"Raw","name":"Raw","value":"(((Parse.char ^ Delimiter) * (0..)) << (Delimiter * (0..1))).map(&.join)","doc":"Parse a full command response as a String. Delimiter is optional as it may\nhave already been dropped by an upstream tokenizer.","summary":"

Parse a full command response as a String.

"},{"id":"Switch","name":"Switch","value":"Parse.do({input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Switch.new(input, layer))})","doc":"Broadcast or single output route update.","summary":"

Broadcast or single output route update.

"},{"id":"SwitcherInformation","name":"SwitcherInformation","value":"Parse.do({(_) <= (Parse.char('V')), video <= MatrixSize, (_) <= (Parse.char(' ')), (_) <= (Parse.char('A')), audio <= MatrixSize, Parse.const(SIS::SwitcherInformation.new(video, audio))})"},{"id":"Tie","name":"Tie","value":"Parse.do({output <= ((Parse.string(\"Out\")) >> (num(Output))), (_) <= (Parse.char(' ')), input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Tie.new(input, output, layer))})","doc":"Matrix signal route update.","summary":"

Matrix signal route update.

"},{"id":"Unsolicited","name":"Unsolicited","value":"(((DeviceError | Tie) | Copyright) | Clock) | Empty","doc":"Async messages that can be expected outside of a command -> response flow.","summary":"

Async messages that can be expected outside of a command -> response flow.

"}],"included_modules":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Parsers for responses and asynchronous messages originating from Extron SIS\ndevices.","summary":"

Parsers for responses and asynchronous messages originating from Extron SIS devices.

","class_methods":[{"html_id":"parse(data:String,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : String, as parser : Parser(T)) forall T","args_html":"(data : String, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L11"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"((parser | DeviceError) | \"unhandled device response\").parse(data)"}},{"html_id":"parse(data:Bytes,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : Bytes, as parser : Parser(T)) forall T","args_html":"(data : Bytes, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L16"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"parse(String.new(data), parser)"}}]},{"html_id":"drivers/Extron/SIS/Switch","path":"Extron/SIS/Switch.html","kind":"struct","full_name":"Extron::SIS::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a broadcast signal path, or single output switch.","summary":"

Struct for representing a broadcast signal path, or single output switch.

","constructors":[{"html_id":"new(input:Input,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer)","args_html":"(input : Input, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, layer _layer = @layer)","args_html":"(input _input = @input, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}}]},{"html_id":"drivers/Extron/SIS/SwitcherInformation","path":"Extron/SIS/SwitcherInformation.html","kind":"struct","full_name":"Extron::SIS::SwitcherInformation","name":"SwitcherInformation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a full device.","summary":"

IO capacity for a full device.

","constructors":[{"html_id":"new(video:MatrixSize,audio:MatrixSize)-class-method","name":"new","abstract":false,"args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"args_string":"(video : MatrixSize, audio : MatrixSize)","args_html":"(video : MatrixSize, audio : MatrixSize)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"new","args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"visibility":"Public","body":"_ = allocate\n_.initialize(video, audio)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"audio:MatrixSize-instance-method","name":"audio","abstract":false,"def":{"name":"audio","return_type":"MatrixSize","visibility":"Public","body":"@audio"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@video.clone, @audio.clone)"}},{"html_id":"copy_with(video_video=@video,audio_audio=@audio)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"args_string":"(video _video = @video, audio _audio = @audio)","args_html":"(video _video = @video, audio _audio = @audio)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"copy_with","args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"visibility":"Public","body":"self.class.new(_video, _audio)"}},{"html_id":"video:MatrixSize-instance-method","name":"video","abstract":false,"def":{"name":"video","return_type":"MatrixSize","visibility":"Public","body":"@video"}}]},{"html_id":"drivers/Extron/SIS/Tie","path":"Extron/SIS/Tie.html","kind":"struct","full_name":"Extron::SIS::Tie","name":"Tie","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a matrix signal path.","summary":"

Struct for representing a matrix signal path.

","constructors":[{"html_id":"new(input:Input,output:Output,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer)","args_html":"(input : Input, output : Output, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}},{"html_id":"output:Output-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Output","visibility":"Public","body":"@output"}}]}]}]},{"html_id":"drivers/Floorsense","path":"Floorsense.html","kind":"module","full_name":"Floorsense","name":"Floorsense","abstract":false,"locations":[{"filename":"src/floorsense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Floorsense Data Models","summary":"

Floorsense Data Models

","types":[{"html_id":"drivers/Floorsense/AuthInfo","path":"Floorsense/AuthInfo.html","kind":"class","full_name":"Floorsense::AuthInfo","name":"AuthInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"sessionid:String-instance-method","name":"sessionid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L52"},"def":{"name":"sessionid","return_type":"String","visibility":"Public","body":"@sessionid"}},{"html_id":"sessionid=(sessionid:String)-instance-method","name":"sessionid=","abstract":false,"args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"args_string":"(sessionid : String)","args_html":"(sessionid : String)","location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L52"},"def":{"name":"sessionid=","args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"visibility":"Public","body":"@sessionid = sessionid"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L51"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L51"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/Floorsense/BookingsSync","path":"Floorsense/BookingsSync.html","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L196"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlogger.debug do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_email.nil?\n logger.warn do\n \"no user email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n next\n end\n user = (staff_api.user(user_email)).get\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n logger.debug do\n \"new floorsense booking found #{booking}\"\n end\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: to_place_asset_id(booking.key), user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, floor_details[:level_id]].compact, checked_in: true, extension_data: {floorsense_id: event.bkid}).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L592"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(placeos_user_id:String):String-instance-method","name":"get_floorsense_user","doc":"===================================\nSync Users\n===================================","summary":"

=================================== Sync Users ===================================

","abstract":false,"args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"args_string":"(placeos_user_id : String) : String","args_html":"(placeos_user_id : String) : String","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":543,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L543"},"def":{"name":"get_floorsense_user","args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"users = floorsense.user_list(description: placeos_user_id).get.as_a\nuser_id = users.first?.try() do |__arg5|\n __arg5[\"uid\"].as_s\nend\ncard_number = nil\nbegin\n place_user = (staff_api.user(placeos_user_id)).get\n name = place_user[\"name\"].as_s\n email = place_user[\"email\"].as_s\n card_number = place_user[\"card_number\"]?.try(&.as_s)\n user_id || (user_id = (floorsense.create_user(name, email, placeos_user_id)).get[\"uid\"].as_s)\nrescue error\n if user_id\n return user_id\n else\n raise(error)\n end\nend\nif (user_id && card_number) && (!card_number.empty?)\n ensure_card_synced(card_number, user_id)\nend\nuser_id.not_nil!\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L51"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L59"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":609,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L609"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L340"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L344"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}},{"html_id":"to_floor_key(asset_id:String)-instance-method","name":"to_floor_key","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L98"},"def":{"name":"to_floor_key","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"if @key_prefix.presence\n asset_id = asset_id.lstrip(@key_prefix)\nend\nif @strip_leading_zero\n asset_id = asset_id.rjust(@zero_padding_size, '0')\nend\nasset_id\n"}},{"html_id":"to_place_asset_id(key:String)-instance-method","name":"to_place_asset_id","doc":"===================================\nDesk ID manipulation\n===================================","summary":"

=================================== Desk ID manipulation ===================================

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L93"},"def":{"name":"to_place_asset_id","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"if @strip_leading_zero\n key = key.lstrip('0')\nend\n\"#{@key_prefix}#{key}\"\n"}}],"types":[{"html_id":"drivers/Floorsense/BookingsSync/Booking","path":"Floorsense/BookingsSync/Booking.html","kind":"class","full_name":"Floorsense::BookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":623,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L623"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/BookingsSync","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":624,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L624"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":639,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L639"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":636,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L636"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L654"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Floorsense/BookingStatus","path":"Floorsense/BookingStatus.html","kind":"class","full_name":"Floorsense::BookingStatus","name":"BookingStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L248"},"def":{"name":"active","return_type":"Bool","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool"}],"args_string":"(active : Bool)","args_html":"(active : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L248"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool"}],"visibility":"Public","body":"@active = active"}},{"html_id":"booking_id:String-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L230"},"def":{"name":"booking_id","return_type":"String","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:String)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L230"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L227"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L227"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L241"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L241"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confexpiry:Int64|Nil-instance-method","name":"confexpiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@confexpiry"}},{"html_id":"confexpiry=(confexpiry:Int64|Nil)-instance-method","name":"confexpiry=","abstract":false,"args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"args_string":"(confexpiry : Int64 | Nil)","args_html":"(confexpiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry=","args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@confexpiry = confexpiry"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L249"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L249"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"confmethod:Int32|Nil-instance-method","name":"confmethod","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L238"},"def":{"name":"confmethod","return_type":"Int32 | ::Nil","visibility":"Public","body":"@confmethod"}},{"html_id":"confmethod=(confmethod:Int32|Nil)-instance-method","name":"confmethod=","abstract":false,"args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"args_string":"(confmethod : Int32 | Nil)","args_html":"(confmethod : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L238"},"def":{"name":"confmethod=","args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@confmethod = confmethod"}},{"html_id":"conftime:Int64|Nil-instance-method","name":"conftime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L237"},"def":{"name":"conftime","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conftime"}},{"html_id":"conftime=(conftime:Int64|Nil)-instance-method","name":"conftime=","abstract":false,"args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"args_string":"(conftime : Int64 | Nil)","args_html":"(conftime : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L237"},"def":{"name":"conftime=","args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conftime = conftime"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L233"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L233"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L232"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L232"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L235"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L235"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L243"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L243"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L223"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L223"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"if (value = @place_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::BookingStatus#place_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L256"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"place_id?:String|Nil-instance-method","name":"place_id?","abstract":false,"def":{"name":"place_id?","return_type":"String | ::Nil","visibility":"Public","body":"@place_id"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L242"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L242"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L250"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L250"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L247"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L247"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L246"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L246"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L234"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L234"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L224"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L224"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L253"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L253"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/Floorsense/ControllerInfo","path":"Floorsense/ControllerInfo.html","kind":"class","full_name":"Floorsense::ControllerInfo","name":"ControllerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L307"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L308"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L311"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L311"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"desks:Bool-instance-method","name":"desks","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L315"},"def":{"name":"desks","return_type":"Bool","visibility":"Public","body":"@desks"}},{"html_id":"desks=(desks:Bool)-instance-method","name":"desks=","abstract":false,"args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"args_string":"(desks : Bool)","args_html":"(desks : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L315"},"def":{"name":"desks=","args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"visibility":"Public","body":"@desks = desks"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L317"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L317"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location1:String-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L319"},"def":{"name":"location1","return_type":"String","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String"}],"args_string":"(location1 : String)","args_html":"(location1 : String)","location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L319"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L320"},"def":{"name":"location2","return_type":"String","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String"}],"args_string":"(location2 : String)","args_html":"(location2 : String)","location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L320"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L321"},"def":{"name":"location3","return_type":"String","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String"}],"args_string":"(location3 : String)","args_html":"(location3 : String)","location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L321"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"location4:String-instance-method","name":"location4","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L322"},"def":{"name":"location4","return_type":"String","visibility":"Public","body":"@location4"}},{"html_id":"location4=(location4:String)-instance-method","name":"location4=","abstract":false,"args":[{"name":"location4","external_name":"location4","restriction":"String"}],"args_string":"(location4 : String)","args_html":"(location4 : String)","location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L322"},"def":{"name":"location4=","args":[{"name":"location4","external_name":"location4","restriction":"String"}],"visibility":"Public","body":"@location4 = location4"}},{"html_id":"lockers:Bool-instance-method","name":"lockers","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L314"},"def":{"name":"lockers","return_type":"Bool","visibility":"Public","body":"@lockers"}},{"html_id":"lockers=(lockers:Bool)-instance-method","name":"lockers=","abstract":false,"args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"args_string":"(lockers : Bool)","args_html":"(lockers : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L314"},"def":{"name":"lockers=","args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"visibility":"Public","body":"@lockers = lockers"}},{"html_id":"mode:String-instance-method","name":"mode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L324"},"def":{"name":"mode","return_type":"String","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:String)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L324"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L318"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L318"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"online:Bool-instance-method","name":"online","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L313"},"def":{"name":"online","return_type":"Bool","visibility":"Public","body":"@online"}},{"html_id":"online=(online:Bool)-instance-method","name":"online=","abstract":false,"args":[{"name":"online","external_name":"online","restriction":"Bool"}],"args_string":"(online : Bool)","args_html":"(online : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L313"},"def":{"name":"online=","args":[{"name":"online","external_name":"online","restriction":"Bool"}],"visibility":"Public","body":"@online = online"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync","path":"Floorsense/CustomBookingsSync.html","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L239"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlog do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_id = booking.user.not_nil!.desc\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_id.presence.nil? && user_email.presence.nil?\n logger.warn do\n \"no user id or email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n return\n end\n user = begin\n (staff_api.user(user_id.presence || user_email)).get\n rescue error\n logger.warn(exception: error) do\n \"floorsense user #{user_id.presence || user_email} (#{booking.user.not_nil!.name}) not found in placeos\"\n end\n return\n end\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n user_email = user[\"email\"]\n log do\n \"new floorsense booking found #{booking}\"\n end\n booking_key = booking.key\n level_id = floor_details[:level_id]\n if metadata = @desk_mapping_cache[level_id][booking_key]?\n title = metadata.title\n ext_data = metadata.ext_data\n asset_id = metadata.place_id\n else\n title = asset_id = booking_key\n ext_data = {} of String => JSON::Any\n end\n ext_data[\"floorsense_booking_id\"] = JSON::Any.new(booking.booking_id)\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: asset_id, user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, level_id].compact, checked_in: true, approved: true, title: title, extension_data: ext_data).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released, checked_in: false).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":674,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L674"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"if foor_id = (locations.eui64_to_desk_id(id.downcase)).get.raw\n floor_desk_id = foor_id.as(String)\n place_id = floor_desk_id\n level_id = nil\n building = nil\n @desk_mapping_cache.each do |level, lookup|\n if meta = lookup[floor_desk_id]?\n level_id = level\n place_id = meta.place_id || floor_desk_id\n building = meta.building\n break\n end\n end\n if level_id\n {level: level_id, desk_id: place_id, building_id: building}\n end\nend"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":697,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L697"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"log do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n current.concat(bookings)\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(place_user_id:String):String-instance-method","name":"get_floorsense_user","abstract":false,"args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"args_string":"(place_user_id : String) : String","args_html":"(place_user_id : String) : String","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L645"},"def":{"name":"get_floorsense_user","args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"place_user = (staff_api.user(place_user_id)).get\nplaceos_staff_id = place_user[@user_lookup].as_s\nfloorsense_users = floorsense.user_list(description: placeos_staff_id).get.as_a\nuser_id = floorsense_users.first?.try() do |__arg8|\n __arg8[\"uid\"].as_s\nend\nif @create_floorsense_users\n user_id || (user_id = (floorsense.create_user(place_user[\"name\"].as_s, place_user[\"email\"].as_s, placeos_staff_id)).get[\"uid\"].as_s)\nend\nif user_id\nelse\n raise(\"Floorsense user not found for #{placeos_staff_id}\")\nend\ncard_number = place_user[\"card_number\"]?.try(&.as_s)\nif (user_id && card_number) && (!card_number.empty?)\n spawn(same_thread: true) do\n ensure_card_synced(card_number, user_id)\n end\nend\nuser_id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L70"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n log do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L78"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@user_lookup = (setting?(String, :user_lookup)).presence || \"staff_id\"\n@debug_logging = (setting?(Bool, :debug_logging)) || false\n@floorsense_lookup_key = (setting?(String, :floorsense_lookup_key)).presence || \"floorsensedeskid\"\n@create_floorsense_users = (setting?(Bool, :create_floorsense_users)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\ntime_zone = (setting?(String, :time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":714,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L714"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,building_id:String|Nil)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, building_id : String | Nil)","args_html":"(zone_id : String, building_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L728"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"desk_lookup = {} of String => DeskMeta\nbegin\n metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\n lookup_key = @floorsense_lookup_key\n metadata.each do |desk|\n desk = desk.as_h\n place_id = desk[\"id\"]?.try() do |__arg10|\n __arg10.as_s.presence\n end\n if place_id\n else\n next\n end\n floor_id = desk[lookup_key]?.try() do |__arg11|\n __arg11.as_s.presence\n end\n if floor_id\n else\n next\n end\n ext_data = {\"floorsense_id\" => JSON::Any.new(floor_id)}\n title = desk[\"name\"]?.try(&.as_s) || place_id\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk[meta_key]?\n ext_data[ext_key] = value\n end\n end\n ids = DeskMeta.new(place_id, floor_id, building_id, title, ext_data)\n desk_lookup[place_id] = ids\n desk_lookup[floor_id] = ids\n end\n desk_lookup\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain desk metadata for #{zone_id}\"\n end\n desk_lookup\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L406"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L410"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}}],"types":[{"html_id":"drivers/Floorsense/CustomBookingsSync/Booking","path":"Floorsense/CustomBookingsSync/Booking.html","kind":"class","full_name":"Floorsense::CustomBookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":781,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L781"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":782,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L782"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":797,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L797"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":794,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L794"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"if (value = @floor_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::CustomBookingsSync::Booking#floor_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":813,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L813"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_id?:String|Nil-instance-method","name":"floor_id?","abstract":false,"def":{"name":"floor_id?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L815"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync/DeskMeta","path":"Floorsense/CustomBookingsSync/DeskMeta.html","kind":"struct","full_name":"Floorsense::CustomBookingsSync::DeskMeta","name":"DeskMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":768,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L768"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(place_id:String,floor_id:String,building:Nil|String,title:String,ext_data:Hash(String,JSON::Any))-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","args_html":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":771,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L771"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, floor_id, building, title, ext_data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":769,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L769"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"@building"}},{"html_id":"building=(building:String|Nil)-instance-method","name":"building=","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"args_string":"(building : String | Nil)","args_html":"(building : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building=","args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building = building"}},{"html_id":"ext_data:Hash(String,JSON::Any)-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":777,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L777"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@ext_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L778"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]}]},{"html_id":"drivers/Floorsense/DeskInfo","path":"Floorsense/DeskInfo.html","kind":"class","full_name":"Floorsense::DeskInfo","name":"DeskInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::DeskInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L166"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"desk_type:String|Nil-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L162"},"def":{"name":"desk_type","return_type":"String | ::Nil","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String|Nil)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"args_string":"(desk_type : String | Nil)","args_html":"(desk_type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L162"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L157"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L157"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L158"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L158"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L159"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L159"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L163"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L163"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}}]},{"html_id":"drivers/Floorsense/Desks","path":"Floorsense/Desks.html","kind":"class","full_name":"Floorsense::Desks","name":"Desks","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":487,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L487"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L152"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":764,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L764"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":454,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L454"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":772,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L772"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":475,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L475"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"controller_list-instance-method","name":"controller_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L127"},"def":{"name":"controller_list","visibility":"Public","body":"response = get(\"/restapi/slave-list\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks.cr","line_number":527,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L527"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg0|\n __arg0.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":686,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L686"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L660"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L98"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":704,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L704"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks.cr","line_number":622,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L622"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":594,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L594"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L508"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L449"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks.cr","line_number":745,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L745"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L49"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L444"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":468,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L468"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L716"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L58"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{@username}&password=#{@password}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":721,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L721"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L776"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L162"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L257"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L176"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L244"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L207"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L233"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L297"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L291"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L271"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L316"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L157"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@username = URI.encode_www_form(setting(String, :username))\n@password = URI.encode_www_form(setting(String, :password))\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\n"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L566"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L137"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L105"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\nend\n@lockers = lockers\n@desks = desks\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L53"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L576"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L654"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks.cr","line_number":731,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L731"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":436,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L436"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L421"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L386"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L337"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L332"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L93"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n check_response Resp(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!) \n{{ modify }}\n\n \n"}}],"types":[{"html_id":"drivers/Floorsense/Desks/DeskHeight","path":"Floorsense/Desks/DeskHeight.html","kind":"enum","full_name":"Floorsense::Desks::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":611,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L611"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":612,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L612"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":613,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L613"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/Desks/DeskPower","path":"Floorsense/Desks/DeskPower.html","kind":"enum","full_name":"Floorsense::Desks::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L605"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L607"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L606"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L608"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/Desks/LedColour","path":"Floorsense/Desks/LedColour.html","kind":"enum","full_name":"Floorsense::Desks::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":599,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L599"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L602"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L601"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L600"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/Desks/LedState","path":"Floorsense/Desks/LedState.html","kind":"enum","full_name":"Floorsense::Desks::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L168"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L173"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L172"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L169"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L170"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L171"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/Desks/QiMode","path":"Floorsense/Desks/QiMode.html","kind":"enum","full_name":"Floorsense::Desks::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":616,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L616"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":619,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L619"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L618"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":617,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L617"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/DeskStatus","path":"Floorsense/DeskStatus.html","kind":"class","full_name":"Floorsense::DeskStatus","name":"DeskStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L146"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L146"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"cached:Bool-instance-method","name":"cached","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L124"},"def":{"name":"cached","return_type":"Bool","visibility":"Public","body":"@cached"}},{"html_id":"cached=(cached:Bool)-instance-method","name":"cached=","abstract":false,"args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"args_string":"(cached : Bool)","args_html":"(cached : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L124"},"def":{"name":"cached=","args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"visibility":"Public","body":"@cached = cached"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L123"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L123"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L149"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L149"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L134"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Time)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Time"}],"args_string":"(created : Time)","args_html":"(created : Time)","location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L134"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Time"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desk_type:String-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L141"},"def":{"name":"desk_type","return_type":"String","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"args_string":"(desk_type : String)","args_html":"(desk_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L141"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"deskid:Int32-instance-method","name":"deskid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L128"},"def":{"name":"deskid","return_type":"Int32","visibility":"Public","body":"@deskid"}},{"html_id":"deskid=(deskid:Int32)-instance-method","name":"deskid=","abstract":false,"args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"args_string":"(deskid : Int32)","args_html":"(deskid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L128"},"def":{"name":"deskid=","args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"visibility":"Public","body":"@deskid = deskid"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L138"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L138"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"features:Int32-instance-method","name":"features","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L143"},"def":{"name":"features","return_type":"Int32","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Int32)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Int32"}],"args_string":"(features : Int32)","args_html":"(features : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L143"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Int32"}],"visibility":"Public","body":"@features = features"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L142"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L142"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"freq:String-instance-method","name":"freq","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L144"},"def":{"name":"freq","return_type":"String","visibility":"Public","body":"@freq"}},{"html_id":"freq=(freq:String)-instance-method","name":"freq=","abstract":false,"args":[{"name":"freq","external_name":"freq","restriction":"String"}],"args_string":"(freq : String)","args_html":"(freq : String)","location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L144"},"def":{"name":"freq=","args":[{"name":"freq","external_name":"freq","restriction":"String"}],"visibility":"Public","body":"@freq = freq"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L145"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L145"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:String-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L131"},"def":{"name":"hardware","return_type":"String","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:String)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"args_string":"(hardware : String)","args_html":"(hardware : String)","location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L131"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"hwfeat:Int32-instance-method","name":"hwfeat","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat","return_type":"Int32","visibility":"Public","body":"@hwfeat"}},{"html_id":"hwfeat=(hwfeat:Int32)-instance-method","name":"hwfeat=","abstract":false,"args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"args_string":"(hwfeat : Int32)","args_html":"(hwfeat : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat=","args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"visibility":"Public","body":"@hwfeat = hwfeat"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L135"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L135"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"netid:Int32-instance-method","name":"netid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L126"},"def":{"name":"netid","return_type":"Int32","visibility":"Public","body":"@netid"}},{"html_id":"netid=(netid:Int32)-instance-method","name":"netid=","abstract":false,"args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"args_string":"(netid : Int32)","args_html":"(netid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L126"},"def":{"name":"netid=","args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"visibility":"Public","body":"@netid = netid"}},{"html_id":"occupied:Bool-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L136"},"def":{"name":"occupied","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L136"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime","return_type":"Int32","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"args_string":"(occupiedtime : Int32)","args_html":"(occupiedtime : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L147"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L147"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L150"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L150"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reservable:Bool-instance-method","name":"reservable","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L125"},"def":{"name":"reservable","return_type":"Bool","visibility":"Public","body":"@reservable"}},{"html_id":"reservable=(reservable:Bool)-instance-method","name":"reservable=","abstract":false,"args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"args_string":"(reservable : Bool)","args_html":"(reservable : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L125"},"def":{"name":"reservable=","args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"visibility":"Public","body":"@reservable = reservable"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L148"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L148"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L127"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L127"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L137"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L137"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket","path":"Floorsense/DesksWebsocket.html","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L587"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L242"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":864,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L864"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":554,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L554"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"check_subscriptions-instance-method","name":"check_subscriptions","doc":"used to poll the websocket to check for liveliness","summary":"

used to poll the websocket to check for liveliness

","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L78"},"def":{"name":"check_subscriptions","visibility":"Public","body":"ws_get(\"/restapi/subscribe\")"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L872"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L575"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"ws_post(\"/auth\", {user: \"kiosk\"}.to_json, priority: 99, name: \"auth\")"}},{"html_id":"controller_list(locker:Bool|Nil=nil,desks:Bool|Nil=nil)-instance-method","name":"controller_list","abstract":false,"args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"args_string":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","args_html":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L212"},"def":{"name":"controller_list","args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if locker\n form.add(\"locks\", \"true\")\n end\n if desks\n form.add(\"desks\", \"true\")\n end\nend\nresponse = get(\"/restapi/slave-list?#{query}\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L627"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg5|\n __arg5.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":786,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L786"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":760,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L760"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L174"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":804,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L804"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":722,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L722"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L694"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L608"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":549,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L549"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":845,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L845"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L116"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":544,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L544"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L568"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_locker_reservation(reservation_id:String)-instance-method","name":"get_locker_reservation","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L297"},"def":{"name":"get_locker_reservation","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if reservation_id\n form.add(\"resid\", reservation_id)\n end\nend\nresponse = get(\"/restapi/res?#{query}\", headers: default_headers)\nparse(response, LockerBooking)\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":816,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L816"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L125"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{URI.encode_www_form(@username)}&password=#{URI.encode_www_form(@password)}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":821,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L821"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":876,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L876"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L252"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L357"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L266"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L344"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L306"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil,controller_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L332"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\n if controller_id\n form.add(\"cid\", controller_id)\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L397"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":391,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L391"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L371"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":416,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L416"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L247"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@ws_username = (setting?(String, :ws_username)) || @username\n@ws_password = (setting?(String, :ws_password)) || @password\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\nschedule.every(1.minute) do\n check_subscriptions\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L82"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n string = (String.new(data)).rstrip\n logger.debug do\n \"websocket sent: #{string}\"\n end\n payload = Payload.from_json(string)\n case payload\n in Response\n if !payload.result\n logger.warn do\n \"task #{task.try(&.name)} failed..\"\n end\n return task.try(&.abort)\n end\n case task.try(&.name)\n when \"auth\"\n logger.debug do\n \"authentication success!\"\n end\n ws_post(\"/sub\", {mask: 255}.to_json, name: \"sub\")\n when \"sub\"\n logger.debug do\n \"subscribed to events\"\n end\n else\n logger.warn do\n \"unknown task: #{(task.try(&.name)).inspect}\"\n end\n end\n task.try(&.success)\n in Event\n self[\"event_#{payload.code}\"] = payload.info || payload.message\n in Payload\n logger.error do\n \"base class, this case will never occur\"\n end\n end\nrescue error\n logger.error(exception: error) do\n \"failed to parse: #{string.inspect}\"\n end\nend"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L666"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L227"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L181"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n begin\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining locker list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\n begin\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\nend\n@desks = desks\n@lockers = lockers\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L120"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L676"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":754,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L754"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":831,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L831"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":536,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L536"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":521,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L521"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L486"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":437,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L437"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":432,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L432"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"ws_get(uri:String,**options)-instance-method","name":"ws_get","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String, **options)","args_html":"(uri : String, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L71"},"def":{"name":"ws_get","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"GET #{uri}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}},{"html_id":"ws_post(uri:String,body:String|Nil=nil,**options)-instance-method","name":"ws_post","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(uri : String, body : String | Nil = nil, **options)","args_html":"(uri : String, body : String | Nil = nil, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L64"},"def":{"name":"ws_post","args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"POST #{uri}\\r\\n#{body.presence ? body : \"{}\"}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L163"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n \n%resp_body\n = \n{{ response }}\n.body\n begin\n check_response Resp(\n{{ klass }}\n).from_json(\n%resp_body\n.not_nil!) \n{{ modify }}\n\n rescue \nerror\n logger.debug \n{ \"failed to parse response: #{\n%resp_body\n}\" }\n raise \nerror\n \nend\n \n"}}],"types":[{"html_id":"drivers/Floorsense/DesksWebsocket/DeskHeight","path":"Floorsense/DesksWebsocket/DeskHeight.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L711"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":712,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L712"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":713,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L713"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/DeskPower","path":"Floorsense/DesksWebsocket/DeskPower.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":705,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L705"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":707,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L707"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":706,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L706"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":708,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L708"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedColour","path":"Floorsense/DesksWebsocket/LedColour.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":699,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L699"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":702,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L702"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":701,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L701"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":700,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L700"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedState","path":"Floorsense/DesksWebsocket/LedState.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L258"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L263"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L262"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L259"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L260"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L261"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/QiMode","path":"Floorsense/DesksWebsocket/QiMode.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L716"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":719,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L719"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":718,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L718"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L717"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/Event","path":"Floorsense/Event.html","kind":"class","full_name":"Floorsense::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L17"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"info:JSON::Any|Nil-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L19"},"def":{"name":"info","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L16"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/Floor","path":"Floorsense/Floor.html","kind":"class","full_name":"Floorsense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L205"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L206"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"imgheight:Int32|Nil-instance-method","name":"imgheight","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L213"},"def":{"name":"imgheight","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgheight"}},{"html_id":"imgheight=(imgheight:Int32|Nil)-instance-method","name":"imgheight=","abstract":false,"args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"args_string":"(imgheight : Int32 | Nil)","args_html":"(imgheight : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L213"},"def":{"name":"imgheight=","args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgheight = imgheight"}},{"html_id":"imgname:String|Nil-instance-method","name":"imgname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L211"},"def":{"name":"imgname","return_type":"String | ::Nil","visibility":"Public","body":"@imgname"}},{"html_id":"imgname=(imgname:String|Nil)-instance-method","name":"imgname=","abstract":false,"args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"args_string":"(imgname : String | Nil)","args_html":"(imgname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L211"},"def":{"name":"imgname=","args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@imgname = imgname"}},{"html_id":"imgwidth:Int32|Nil-instance-method","name":"imgwidth","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgwidth"}},{"html_id":"imgwidth=(imgwidth:Int32|Nil)-instance-method","name":"imgwidth=","abstract":false,"args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"args_string":"(imgwidth : Int32 | Nil)","args_html":"(imgwidth : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth=","args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgwidth = imgwidth"}},{"html_id":"location1:String|Nil-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L215"},"def":{"name":"location1","return_type":"String | ::Nil","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String|Nil)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"args_string":"(location1 : String | Nil)","args_html":"(location1 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L215"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String|Nil-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L216"},"def":{"name":"location2","return_type":"String | ::Nil","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String|Nil)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"args_string":"(location2 : String | Nil)","args_html":"(location2 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L216"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String|Nil-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L217"},"def":{"name":"location3","return_type":"String | ::Nil","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String|Nil)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"args_string":"(location3 : String | Nil)","args_html":"(location3 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L217"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L209"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L209"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L208"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L208"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}}]},{"html_id":"drivers/Floorsense/LocationService","path":"Floorsense/LocationService.html","kind":"class","full_name":"Floorsense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/floorsense/location_service.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L70"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"begin\n floor_mac = URI::Params.parse(mac_address)\n user = (floorsense.at_location(floor_mac[\"cid\"], floor_mac[\"key\"])).get\n {location: \"desk\", assigned_to: user[\"name\"].as_s, mac_address: mac_address}\nrescue\n nil\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of Nil\nend\nbuilding = @building_mappings[zone_id]?\nraw_desks = (floorsense.desks(plan_id)).get.to_json\ndesks = (Array(DeskStatus).from_json(raw_desks)).compact_map do |desk|\n @eui64_to_desk_id[desk.eui64] = desk.key\n if desk.occupied\n {location: :desk, at_location: 1, map_id: desk.key, level: zone_id, building: building, capacity: 1, mac: \"cid=#{desk.cid}&key=#{desk.key}\", floorsense_status: desk.status, floorsense_desk_type: desk.desk_type}\n end\nend\ncurrent = [] of BookingStatus\nif @include_bookings\n raw_bookings = (floorsense.bookings(plan_id)).get.to_json\n (Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\n end\nend\ncurrent.map do |booking|\n {location: :booking, type: \"desk\", checked_in: booking.active, asset_id: booking.key, booking_id: booking.booking_id, building: building, level: zone_id, ends_at: booking.finish, mac: \"cid=#{booking.cid}&key=#{booking.key}\", staff_email: booking.user.try do |__arg0|\n __arg0.email.try(&.downcase)\n end, staff_name: booking.user.try(&.name)}\nend + desks\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L53"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@eui64_to_desk_id[id]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L60"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/floorsense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L65"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L39"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@include_bookings = (setting?(Bool, :include_bookings)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n"}}]},{"html_id":"drivers/Floorsense/LockerBooking","path":"Floorsense/LockerBooking.html","kind":"class","full_name":"Floorsense::LockerBooking","name":"LockerBooking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Int32-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L109"},"def":{"name":"active","return_type":"Int32","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Int32)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Int32"}],"args_string":"(active : Int32)","args_html":"(active : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L109"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Int32"}],"visibility":"Public","body":"@active = active"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L96"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L96"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L91"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L91"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L93"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L93"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L104"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L104"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"lastopened:Int64-instance-method","name":"lastopened","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L107"},"def":{"name":"lastopened","return_type":"Int64","visibility":"Public","body":"@lastopened"}},{"html_id":"lastopened=(lastopened:Int64)-instance-method","name":"lastopened=","abstract":false,"args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"args_string":"(lastopened : Int64)","args_html":"(lastopened : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L107"},"def":{"name":"lastopened=","args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"visibility":"Public","body":"@lastopened = lastopened"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L105"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L105"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L110"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L110"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L108"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L108"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L112"},"def":{"name":"released?","visibility":"Public","body":"self.active == 1"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L106"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L106"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L92"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L92"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L117"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L117"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L102"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L102"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Floorsense/LockerInfo","path":"Floorsense/LockerInfo.html","kind":"class","full_name":"Floorsense::LockerInfo","name":"LockerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bus_id:Int32-instance-method","name":"bus_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L61"},"def":{"name":"bus_id","return_type":"Int32","visibility":"Public","body":"@bus_id"}},{"html_id":"bus_id=(bus_id:Int32)-instance-method","name":"bus_id=","abstract":false,"args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"args_string":"(bus_id : Int32)","args_html":"(bus_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L61"},"def":{"name":"bus_id=","args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"visibility":"Public","body":"@bus_id = bus_id"}},{"html_id":"canid:Int32-instance-method","name":"canid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L58"},"def":{"name":"canid","return_type":"Int32","visibility":"Public","body":"@canid"}},{"html_id":"canid=(canid:Int32)-instance-method","name":"canid=","abstract":false,"args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"args_string":"(canid : Int32)","args_html":"(canid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L58"},"def":{"name":"canid=","args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"visibility":"Public","body":"@canid = canid"}},{"html_id":"closed:Bool|Nil-instance-method","name":"closed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L72"},"def":{"name":"closed","return_type":"Bool | ::Nil","visibility":"Public","body":"@closed"}},{"html_id":"closed=(closed:Bool|Nil)-instance-method","name":"closed=","abstract":false,"args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"args_string":"(closed : Bool | Nil)","args_html":"(closed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L72"},"def":{"name":"closed=","args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@closed = closed"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L70"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L70"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::LockerInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L85"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"disabled:Bool-instance-method","name":"disabled","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L69"},"def":{"name":"disabled","return_type":"Bool","visibility":"Public","body":"@disabled"}},{"html_id":"disabled=(disabled:Bool)-instance-method","name":"disabled=","abstract":false,"args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"args_string":"(disabled : Bool)","args_html":"(disabled : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L69"},"def":{"name":"disabled=","args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"visibility":"Public","body":"@disabled = disabled"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L68"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L68"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L77"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L77"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:Int32|Nil-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L78"},"def":{"name":"hardware","return_type":"Int32 | ::Nil","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:Int32|Nil)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"args_string":"(hardware : Int32 | Nil)","args_html":"(hardware : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L78"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L80"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L80"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"locker_id:Int32-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L64"},"def":{"name":"locker_id","return_type":"Int32","visibility":"Public","body":"@locker_id"}},{"html_id":"locker_id=(locker_id:Int32)-instance-method","name":"locker_id=","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"args_string":"(locker_id : Int32)","args_html":"(locker_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L64"},"def":{"name":"locker_id=","args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"visibility":"Public","body":"@locker_id = locker_id"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L66"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L66"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"resid:String|Nil-instance-method","name":"resid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L82"},"def":{"name":"resid","return_type":"String | ::Nil","visibility":"Public","body":"@resid"}},{"html_id":"resid=(resid:String|Nil)-instance-method","name":"resid=","abstract":false,"args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"args_string":"(resid : String | Nil)","args_html":"(resid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L82"},"def":{"name":"resid=","args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resid = resid"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L67"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L79"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L79"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L75"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L75"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}},{"html_id":"uid:String|Nil-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L76"},"def":{"name":"uid","return_type":"String | ::Nil","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String|Nil)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(uid : String | Nil)","args_html":"(uid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L76"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"usbcharger:Bool|Nil-instance-method","name":"usbcharger","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharger"}},{"html_id":"usbcharger=(usbcharger:Bool|Nil)-instance-method","name":"usbcharger=","abstract":false,"args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"args_string":"(usbcharger : Bool | Nil)","args_html":"(usbcharger : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger=","args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharger = usbcharger"}},{"html_id":"usbcharging:Bool|Nil-instance-method","name":"usbcharging","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharging"}},{"html_id":"usbcharging=(usbcharging:Bool|Nil)-instance-method","name":"usbcharging=","abstract":false,"args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"args_string":"(usbcharging : Bool | Nil)","args_html":"(usbcharging : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging=","args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharging = usbcharging"}},{"html_id":"usbcurrent:Int32|Nil-instance-method","name":"usbcurrent","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent","return_type":"Int32 | ::Nil","visibility":"Public","body":"@usbcurrent"}},{"html_id":"usbcurrent=(usbcurrent:Int32|Nil)-instance-method","name":"usbcurrent=","abstract":false,"args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"args_string":"(usbcurrent : Int32 | Nil)","args_html":"(usbcurrent : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent=","args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@usbcurrent = usbcurrent"}}]},{"html_id":"drivers/Floorsense/LogEntry","path":"Floorsense/LogEntry.html","kind":"class","full_name":"Floorsense::LogEntry","name":"LogEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L278"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L279"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","doc":"booking id","summary":"

booking id

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L290"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","doc":"booking id","summary":"

booking id

","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L290"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"code:Int32-instance-method","name":"code","doc":"the event code","summary":"

the event code

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L287"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","doc":"the event code","summary":"

the event code

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L287"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"eventid:Int64-instance-method","name":"eventid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L281"},"def":{"name":"eventid","return_type":"Int64","visibility":"Public","body":"@eventid"}},{"html_id":"eventid=(eventid:Int64)-instance-method","name":"eventid=","abstract":false,"args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"args_string":"(eventid : Int64)","args_html":"(eventid : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L281"},"def":{"name":"eventid=","args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"visibility":"Public","body":"@eventid = eventid"}},{"html_id":"eventtime:Int64-instance-method","name":"eventtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L296"},"def":{"name":"eventtime","return_type":"Int64","visibility":"Public","body":"@eventtime"}},{"html_id":"eventtime=(eventtime:Int64)-instance-method","name":"eventtime=","abstract":false,"args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"args_string":"(eventtime : Int64)","args_html":"(eventtime : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L296"},"def":{"name":"eventtime=","args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"visibility":"Public","body":"@eventtime = eventtime"}},{"html_id":"key:String-instance-method","name":"key","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L284"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L284"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}}]},{"html_id":"drivers/Floorsense/MobileCheckinLogic","path":"Floorsense/MobileCheckinLogic.html","kind":"class","full_name":"Floorsense::MobileCheckinLogic","name":"MobileCheckinLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"eui64_scanned(id:String,user_id:String,booking_minutes:Int32|Nil=nil)-instance-method","name":"eui64_scanned","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"args_string":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","args_html":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L35"},"def":{"name":"eui64_scanned","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"#{user_id} scanned mac #{id}\"\nend\ndesk_details = (booking_sync.eui64_to_desk_id(id)).get\nif desk_details.raw.nil?\n raise(\"could not find eui64 id: #{id}\")\nend\nlogger.debug do\n \"desk details found: #{desk_details.inspect}\"\nend\nlevel_zone = desk_details[\"level\"].as_s\nplace_desk = desk_details[\"desk_id\"].as_s\nbuilding_raw = desk_details[\"building_id\"]?.try(&.raw)\nbuild_zone = building_raw.try do |__arg2|\n __arg2.as(String)\nend\nlogger.debug do\n \"located #{place_desk} for #{user_id}\"\nend\nnow = Time.utc.to_unix\nbooking = staff_api.query_bookings(type: \"desk\", zones: [level_zone]).get.as_a.find do |book|\n ((book[\"asset_id\"].as_s == place_desk) && book[\"booking_start\"].as_i64 <= now) && book[\"booking_end\"].as_i64 > now\nend\nif booking\n owner_id = booking[\"user_id\"].as_s\n if owner_id == user_id\n checkin_out = !booking[\"checked_in\"].as_bool\n booking_id = booking[\"id\"].as_i64\n logger.debug do\n \"found existing booking #{booking_id} with current checked-in status #{!checkin_out}\"\n end\n if checkin_out\n (staff_api.booking_check_in(booking_id, true)).get.as_bool\n \"checked-in\"\n else\n now = 1.minute.ago.to_unix\n staff_api.update_booking(booking_id: booking_id, booking_end: now, checked_in: false).get\n \"checked-out\"\n end\n else\n logger.debug do\n \"#{user_id} scanned desk owned by #{owner_id}\"\n end\n \"forbidden\"\n end\nelse\n booking_period = booking_minutes.try(&.minutes) || @booking_period\n now = Time.local(@time_zone)\n future = booking_period ? ( now + booking_period) : now.at_end_of_day\n user_details = (staff_api.user(user_id)).get\n zones = [level_zone]\n if build_zone\n zones.unshift(build_zone)\n end\n title = place_desk\n ext_data = {} of String => JSON::Any\n begin\n logger.debug do\n \"obtaining metadata for desk #{place_desk} on level #{level_zone}\"\n end\n if desk_details = placeos_desk_metadata(level_zone, place_desk)\n if bookable = desk_details[\"bookable\"]?\n if (bookable.as_s?.try(&.upcase) == \"FALSE\") || (bookable.as_bool? == false)\n return \"forbidden\"\n end\n end\n title = desk_details[\"name\"]?.try(&.as_s) || place_desk\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk_details[meta_key]?\n ext_data[ext_key] = value\n end\n end\n else\n logger.warn do\n \"desk details not found!\"\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk metadata\"\n end\n end\n logger.debug do\n \"creating new booking for #{user_id} on #{place_desk}\"\n end\n staff_api.create_booking(booking_type: \"desk\", asset_id: place_desk, user_id: user_id, user_email: user_details[\"email\"], user_name: user_details[\"name\"], zones: zones, booking_start: now.to_unix, booking_end: future.to_unix, checked_in: true, approved: true, title: title, time_zone: @time_zone.name, extension_data: ext_data).get\n \"adhoc\"\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"time_zone = (setting?(String, :time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@booking_period = (setting?(Int32, :booking_period)).try(&.minutes)\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,asset_id:String)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(zone_id : String, asset_id : String)","args_html":"(zone_id : String, asset_id : String)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L137"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\nmetadata.each do |desk|\n place_id = desk[\"id\"]?.try(&.as_s)\n if place_id\n else\n next\n end\n if place_id == asset_id\n return desk.as_h\n end\nend\nnil\n"}}]},{"html_id":"drivers/Floorsense/Payload","path":"Floorsense/Payload.html","kind":"class","full_name":"Floorsense::Payload","name":"Payload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Floorsense/Event","kind":"class","full_name":"Floorsense::Event","name":"Event"},{"html_id":"drivers/Floorsense/Response","kind":"class","full_name":"Floorsense::Response","name":"Response"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"doc":"Websocket payloads","summary":"

Websocket payloads

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"event\"\n Event.from_json(json)\nwhen \"response\"\n Response.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/Floorsense/Resp","path":"Floorsense/Resp.html","kind":"class","full_name":"Floorsense::Resp(T)","name":"Resp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32|Nil-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L42"},"def":{"name":"code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32|Nil)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"args_string":"(code : Int32 | Nil)","args_html":"(code : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L42"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@code = code"}},{"html_id":"info:T|Nil-instance-method","name":"info","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L45"},"def":{"name":"info","return_type":"T | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"info=(info:T|Nil)-instance-method","name":"info=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"args_string":"(info : T | Nil)","args_html":"(info : T | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L45"},"def":{"name":"info=","args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"visibility":"Public","body":"@info = info"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L41"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L41"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"msg_type:String-instance-method","name":"msg_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L37"},"def":{"name":"msg_type","return_type":"String","visibility":"Public","body":"@msg_type"}},{"html_id":"msg_type=(msg_type:String)-instance-method","name":"msg_type=","abstract":false,"args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"args_string":"(msg_type : String)","args_html":"(msg_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L37"},"def":{"name":"msg_type=","args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"visibility":"Public","body":"@msg_type = msg_type"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L38"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"result=(result:Bool)-instance-method","name":"result=","abstract":false,"args":[{"name":"result","external_name":"result","restriction":"Bool"}],"args_string":"(result : Bool)","args_html":"(result : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L38"},"def":{"name":"result=","args":[{"name":"result","external_name":"result","restriction":"Bool"}],"visibility":"Public","body":"@result = result"}}]},{"html_id":"drivers/Floorsense/Response","path":"Floorsense/Response.html","kind":"class","full_name":"Floorsense::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"info-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L28"},"def":{"name":"info","visibility":"Public","body":"@info || (JSON.parse(\"{}\"))"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L25"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L24"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L23"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/RFID","path":"Floorsense/RFID.html","kind":"class","full_name":"Floorsense::RFID","name":"RFID","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L299"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L300"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"csn:String-instance-method","name":"csn","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L302"},"def":{"name":"csn","return_type":"String","visibility":"Public","body":"@csn"}},{"html_id":"csn=(csn:String)-instance-method","name":"csn=","abstract":false,"args":[{"name":"csn","external_name":"csn","restriction":"String"}],"args_string":"(csn : String)","args_html":"(csn : String)","location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L302"},"def":{"name":"csn=","args":[{"name":"csn","external_name":"csn","restriction":"String"}],"visibility":"Public","body":"@csn = csn"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L304"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L304"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L303"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L303"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/User","path":"Floorsense/User.html","kind":"class","full_name":"Floorsense::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L274"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L274"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L263"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L263"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expiry:Int64|Nil-instance-method","name":"expiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L267"},"def":{"name":"expiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@expiry"}},{"html_id":"expiry=(expiry:Int64|Nil)-instance-method","name":"expiry=","abstract":false,"args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(expiry : Int64 | Nil)","args_html":"(expiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L267"},"def":{"name":"expiry=","args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@expiry = expiry"}},{"html_id":"extid:String|Nil-instance-method","name":"extid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L272"},"def":{"name":"extid","return_type":"String | ::Nil","visibility":"Public","body":"@extid"}},{"html_id":"extid=(extid:String|Nil)-instance-method","name":"extid=","abstract":false,"args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"args_string":"(extid : String | Nil)","args_html":"(extid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L272"},"def":{"name":"extid=","args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@extid = extid"}},{"html_id":"lastlogin:Int64|Nil-instance-method","name":"lastlogin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin","return_type":"Int64 | ::Nil","visibility":"Public","body":"@lastlogin"}},{"html_id":"lastlogin=(lastlogin:Int64|Nil)-instance-method","name":"lastlogin=","abstract":false,"args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"args_string":"(lastlogin : Int64 | Nil)","args_html":"(lastlogin : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin=","args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@lastlogin = lastlogin"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L264"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L264"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"pin:String|Nil-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L269"},"def":{"name":"pin","return_type":"String | ::Nil","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String|Nil)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"args_string":"(pin : String | Nil)","args_html":"(pin : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L269"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"privacy:Int32|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L275"},"def":{"name":"privacy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Int32|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"args_string":"(privacy : Int32 | Nil)","args_html":"(privacy : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L275"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reslimit:Int64|Nil-instance-method","name":"reslimit","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L268"},"def":{"name":"reslimit","return_type":"Int64 | ::Nil","visibility":"Public","body":"@reslimit"}},{"html_id":"reslimit=(reslimit:Int64|Nil)-instance-method","name":"reslimit=","abstract":false,"args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"args_string":"(reslimit : Int64 | Nil)","args_html":"(reslimit : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L268"},"def":{"name":"reslimit=","args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@reslimit = reslimit"}},{"html_id":"ugroupid:Int64|Nil-instance-method","name":"ugroupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ugroupid"}},{"html_id":"ugroupid=(ugroupid:Int64|Nil)-instance-method","name":"ugroupid=","abstract":false,"args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"args_string":"(ugroupid : Int64 | Nil)","args_html":"(ugroupid : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid=","args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ugroupid = ugroupid"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L262"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L262"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"uidtoken:String|Nil-instance-method","name":"uidtoken","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken","return_type":"String | ::Nil","visibility":"Public","body":"@uidtoken"}},{"html_id":"uidtoken=(uidtoken:String|Nil)-instance-method","name":"uidtoken=","abstract":false,"args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"args_string":"(uidtoken : String | Nil)","args_html":"(uidtoken : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken=","args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uidtoken = uidtoken"}},{"html_id":"usertype:String|Nil-instance-method","name":"usertype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L273"},"def":{"name":"usertype","return_type":"String | ::Nil","visibility":"Public","body":"@usertype"}},{"html_id":"usertype=(usertype:String|Nil)-instance-method","name":"usertype=","abstract":false,"args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"args_string":"(usertype : String | Nil)","args_html":"(usertype : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L273"},"def":{"name":"usertype=","args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usertype = usertype"}}]},{"html_id":"drivers/Floorsense/UserGroup","path":"Floorsense/UserGroup.html","kind":"class","full_name":"Floorsense::UserGroup","name":"UserGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L169"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L170"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L175"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L175"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L173"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int32)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L173"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L174"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L174"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Floorsense/UserLocation","path":"Floorsense/UserLocation.html","kind":"class","full_name":"Floorsense::UserLocation","name":"UserLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L179"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool|Nil-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L202"},"def":{"name":"active","return_type":"Bool | ::Nil","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool|Nil)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"args_string":"(active : Bool | Nil)","args_html":"(active : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L202"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@active = active"}},{"html_id":"cid:Int32|Nil-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L197"},"def":{"name":"cid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32|Nil)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"args_string":"(cid : Int32 | Nil)","args_html":"(cid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L197"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool|Nil-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L201"},"def":{"name":"confirmed","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool|Nil)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"args_string":"(confirmed : Bool | Nil)","args_html":"(confirmed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L201"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"finish:Time|Nil-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L190"},"def":{"name":"finish","return_type":"Time | ::Nil","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Time|Nil)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"args_string":"(finish : Time | Nil)","args_html":"(finish : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L190"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"floorname:String|Nil-instance-method","name":"floorname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L196"},"def":{"name":"floorname","return_type":"String | ::Nil","visibility":"Public","body":"@floorname"}},{"html_id":"floorname=(floorname:String|Nil)-instance-method","name":"floorname=","abstract":false,"args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"args_string":"(floorname : String | Nil)","args_html":"(floorname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L196"},"def":{"name":"floorname=","args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floorname = floorname"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L194"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L194"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"groupname:String|Nil-instance-method","name":"groupname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L199"},"def":{"name":"groupname","return_type":"String | ::Nil","visibility":"Public","body":"@groupname"}},{"html_id":"groupname=(groupname:String|Nil)-instance-method","name":"groupname=","abstract":false,"args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"args_string":"(groupname : String | Nil)","args_html":"(groupname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L199"},"def":{"name":"groupname=","args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@groupname = groupname"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L195"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L195"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L181"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L181"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"occupied:Bool|Nil-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L193"},"def":{"name":"occupied","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool|Nil)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"args_string":"(occupied : Bool | Nil)","args_html":"(occupied : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L193"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32|Nil-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32|Nil)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"args_string":"(occupiedtime : Int32 | Nil)","args_html":"(occupiedtime : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L192"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L192"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L200"},"def":{"name":"privacy","return_type":"Bool | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(privacy : Bool | Nil)","args_html":"(privacy : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L200"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"start:Time|Nil-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L187"},"def":{"name":"start","return_type":"Time | ::Nil","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Time|Nil)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"args_string":"(start : Time | Nil)","args_html":"(start : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L187"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L182"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L182"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/Voucher","path":"Floorsense/Voucher.html","kind":"class","full_name":"Floorsense::Voucher","name":"Voucher","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L328"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardswipe:Bool-instance-method","name":"cardswipe","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe","return_type":"Bool","visibility":"Public","body":"@cardswipe"}},{"html_id":"cardswipe=(cardswipe:Bool)-instance-method","name":"cardswipe=","abstract":false,"args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"args_string":"(cardswipe : Bool)","args_html":"(cardswipe : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe=","args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"visibility":"Public","body":"@cardswipe = cardswipe"}},{"html_id":"controller_id:String-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L340"},"def":{"name":"controller_id","return_type":"String","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:String)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"args_string":"(controller_id : String)","args_html":"(controller_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L340"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L346"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L346"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"duration:Int64-instance-method","name":"duration","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L348"},"def":{"name":"duration","return_type":"Int64","visibility":"Public","body":"@duration"}},{"html_id":"duration=(duration:Int64)-instance-method","name":"duration=","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"args_string":"(duration : Int64)","args_html":"(duration : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L348"},"def":{"name":"duration=","args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"visibility":"Public","body":"@duration = duration"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L331"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L331"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expired:Int64-instance-method","name":"expired","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L349"},"def":{"name":"expired","return_type":"Int64","visibility":"Public","body":"@expired"}},{"html_id":"expired=(expired:Int64)-instance-method","name":"expired=","abstract":false,"args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"args_string":"(expired : Int64)","args_html":"(expired : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L349"},"def":{"name":"expired=","args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"visibility":"Public","body":"@expired = expired"}},{"html_id":"lastuse:Int64-instance-method","name":"lastuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L330"},"def":{"name":"lastuse","return_type":"Int64","visibility":"Public","body":"@lastuse"}},{"html_id":"lastuse=(lastuse:Int64)-instance-method","name":"lastuse=","abstract":false,"args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"args_string":"(lastuse : Int64)","args_html":"(lastuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L330"},"def":{"name":"lastuse=","args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"visibility":"Public","body":"@lastuse = lastuse"}},{"html_id":"locker_key:String-instance-method","name":"locker_key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L337"},"def":{"name":"locker_key","return_type":"String","visibility":"Public","body":"@locker_key"}},{"html_id":"locker_key=(locker_key:String)-instance-method","name":"locker_key=","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L337"},"def":{"name":"locker_key=","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"@locker_key = locker_key"}},{"html_id":"maxuse:Int64-instance-method","name":"maxuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L351"},"def":{"name":"maxuse","return_type":"Int64","visibility":"Public","body":"@maxuse"}},{"html_id":"maxuse=(maxuse:Int64)-instance-method","name":"maxuse=","abstract":false,"args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"args_string":"(maxuse : Int64)","args_html":"(maxuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L351"},"def":{"name":"maxuse=","args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"visibility":"Public","body":"@maxuse = maxuse"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L359"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L359"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String-instance-method","name":"notes","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L360"},"def":{"name":"notes","return_type":"String","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String"}],"args_string":"(notes : String)","args_html":"(notes : String)","location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L360"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"notified:Int64-instance-method","name":"notified","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L353"},"def":{"name":"notified","return_type":"Int64","visibility":"Public","body":"@notified"}},{"html_id":"notified=(notified:Int64)-instance-method","name":"notified=","abstract":false,"args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"args_string":"(notified : Int64)","args_html":"(notified : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L353"},"def":{"name":"notified=","args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"visibility":"Public","body":"@notified = notified"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L345"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L345"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"release:Bool-instance-method","name":"release","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L347"},"def":{"name":"release","return_type":"Bool","visibility":"Public","body":"@release"}},{"html_id":"release=(release:Bool)-instance-method","name":"release=","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"Bool"}],"args_string":"(release : Bool)","args_html":"(release : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L347"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"Bool"}],"visibility":"Public","body":"@release = release"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L352"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L352"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"template:String-instance-method","name":"template","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L358"},"def":{"name":"template","return_type":"String","visibility":"Public","body":"@template"}},{"html_id":"template=(template:String)-instance-method","name":"template=","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"}],"args_string":"(template : String)","args_html":"(template : String)","location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L358"},"def":{"name":"template=","args":[{"name":"template","external_name":"template","restriction":"String"}],"visibility":"Public","body":"@template = template"}},{"html_id":"unlock:Bool-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L357"},"def":{"name":"unlock","return_type":"Bool","visibility":"Public","body":"@unlock"}},{"html_id":"unlock=(unlock:Bool)-instance-method","name":"unlock=","abstract":false,"args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"args_string":"(unlock : Bool)","args_html":"(unlock : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L357"},"def":{"name":"unlock=","args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"visibility":"Public","body":"@unlock = unlock"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L365"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L365"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}},{"html_id":"usecount:Int64-instance-method","name":"usecount","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L350"},"def":{"name":"usecount","return_type":"Int64","visibility":"Public","body":"@usecount"}},{"html_id":"usecount=(usecount:Int64)-instance-method","name":"usecount=","abstract":false,"args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"args_string":"(usecount : Int64)","args_html":"(usecount : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L350"},"def":{"name":"usecount=","args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"visibility":"Public","body":"@usecount = usecount"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L364"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L364"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"validfrom:Int64-instance-method","name":"validfrom","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L354"},"def":{"name":"validfrom","return_type":"Int64","visibility":"Public","body":"@validfrom"}},{"html_id":"validfrom=(validfrom:Int64)-instance-method","name":"validfrom=","abstract":false,"args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"args_string":"(validfrom : Int64)","args_html":"(validfrom : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L354"},"def":{"name":"validfrom=","args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"visibility":"Public","body":"@validfrom = validfrom"}},{"html_id":"validto:Int64-instance-method","name":"validto","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L355"},"def":{"name":"validto","return_type":"Int64","visibility":"Public","body":"@validto"}},{"html_id":"validto=(validto:Int64)-instance-method","name":"validto=","abstract":false,"args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"args_string":"(validto : Int64)","args_html":"(validto : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L355"},"def":{"name":"validto=","args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"visibility":"Public","body":"@validto = validto"}},{"html_id":"voucher_id:String-instance-method","name":"voucher_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id","return_type":"String","visibility":"Public","body":"@voucher_id"}},{"html_id":"voucher_id=(voucher_id:String)-instance-method","name":"voucher_id=","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"args_string":"(voucher_id : String)","args_html":"(voucher_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id=","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"visibility":"Public","body":"@voucher_id = voucher_id"}}]}]},{"html_id":"drivers/Freespace","path":"Freespace.html","kind":"module","full_name":"Freespace","name":"Freespace","abstract":false,"locations":[{"filename":"src/freespace/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Freespace/Category","path":"Freespace/Category.html","kind":"class","full_name":"Freespace::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"color_scheme:String|Nil-instance-method","name":"color_scheme","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L75"},"def":{"name":"color_scheme","return_type":"String | ::Nil","visibility":"Public","body":"@color_scheme"}},{"html_id":"color_scheme=(color_scheme:String|Nil)-instance-method","name":"color_scheme=","abstract":false,"args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"args_string":"(color_scheme : String | Nil)","args_html":"(color_scheme : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L75"},"def":{"name":"color_scheme=","args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@color_scheme = color_scheme"}},{"html_id":"icon_url:String|Nil-instance-method","name":"icon_url","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L71"},"def":{"name":"icon_url","return_type":"String | ::Nil","visibility":"Public","body":"@icon_url"}},{"html_id":"icon_url=(icon_url:String|Nil)-instance-method","name":"icon_url=","abstract":false,"args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"args_string":"(icon_url : String | Nil)","args_html":"(icon_url : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L71"},"def":{"name":"icon_url=","args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@icon_url = icon_url"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L58"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L59"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"ordering_index:Int32|Nil-instance-method","name":"ordering_index","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L78"},"def":{"name":"ordering_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@ordering_index"}},{"html_id":"ordering_index=(ordering_index:Int32|Nil)-instance-method","name":"ordering_index=","abstract":false,"args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"args_string":"(ordering_index : Int32 | Nil)","args_html":"(ordering_index : Int32 | Nil)","location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L78"},"def":{"name":"ordering_index=","args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@ordering_index = ordering_index"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L62"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L62"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"show_in_analytics:Bool-instance-method","name":"show_in_analytics","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics","return_type":"Bool","visibility":"Public","body":"@show_in_analytics"}},{"html_id":"show_in_analytics=(show_in_analytics:Bool)-instance-method","name":"show_in_analytics=","abstract":false,"args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"args_string":"(show_in_analytics : Bool)","args_html":"(show_in_analytics : Bool)","location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics=","args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"visibility":"Public","body":"@show_in_analytics = show_in_analytics"}},{"html_id":"show_on_signage:Bool-instance-method","name":"show_on_signage","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage","return_type":"Bool","visibility":"Public","body":"@show_on_signage"}},{"html_id":"show_on_signage=(show_on_signage:Bool)-instance-method","name":"show_on_signage=","abstract":false,"args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"args_string":"(show_on_signage : Bool)","args_html":"(show_on_signage : Bool)","location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage=","args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"visibility":"Public","body":"@show_on_signage = show_on_signage"}}]},{"html_id":"drivers/Freespace/Device","path":"Freespace/Device.html","kind":"class","full_name":"Freespace::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L84"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L84"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L87"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L87"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Freespace/Location","path":"Freespace/Location.html","kind":"class","full_name":"Freespace::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L35"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L37"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L37"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"policy:Bool-instance-method","name":"policy","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L44"},"def":{"name":"policy","return_type":"Bool","visibility":"Public","body":"@policy"}},{"html_id":"policy=(policy:Bool)-instance-method","name":"policy=","abstract":false,"args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"args_string":"(policy : Bool)","args_html":"(policy : Bool)","location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L44"},"def":{"name":"policy=","args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"visibility":"Public","body":"@policy = policy"}},{"html_id":"raw:Bool-instance-method","name":"raw","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L43"},"def":{"name":"raw","return_type":"Bool","visibility":"Public","body":"@raw"}},{"html_id":"raw=(raw:Bool)-instance-method","name":"raw=","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"args_string":"(raw : Bool)","args_html":"(raw : Bool)","location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L43"},"def":{"name":"raw=","args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"visibility":"Public","body":"@raw = raw"}}]},{"html_id":"drivers/Freespace/SensorAPI","path":"Freespace/SensorAPI.html","kind":"class","full_name":"Freespace::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/sensor_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/freespace/sensor_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L211"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"client:STOMP::Client-instance-method","name":"client","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L58"},"def":{"name":"client","return_type":"STOMP::Client","visibility":"Public","body":"if (value = @client).nil?\n ::raise(NilAssertionError.new(\"Freespace::SensorAPI#client cannot be nil\"))\nelse\n value\nend"}},{"html_id":"client?:STOMP::Client|Nil-instance-method","name":"client?","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L58"},"def":{"name":"client?","return_type":"STOMP::Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L70"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nhostname = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\n@client = STOMP::Client.new(hostname)\nsend(client.stomp.to_s)\nschedule.clear\nschedule.in(5.seconds) do\n @auth_key = nil\nend\nschedule.every(10.seconds) do\n heart_beat\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L216"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nloctions = @zone_mappings[zone_id]?\nif loctions\nelse\n return [] of Nil\nend\nloctions.flat_map do |loc_id|\n location_id = loc_id.to_i64\n loc_details = @floor_mappings[loc_id]\n @space_state.values.compact_map do |activity|\n if ((activity.location_id != location_id) || (activity.state == 0)) || activity.capacity > 1\n next\n end\n {location: activity.capacity == 1 ? \"desk\" : \"area\", at_location: activity.state, map_id: activity.name, level: loc_details[:level_id], building: loc_details[:building_id], capacity: activity.capacity}\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L83"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n@spaces.clear\n@auth_key = @client = nil\n"}},{"html_id":"get_location(location_id:String|Int64):Array(Space)-instance-method","name":"get_location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"args_string":"(location_id : String | Int64) : Array(Space)","args_html":"(location_id : String | Int64) : Array(Space)","location":{"filename":"src/freespace/sensor_api.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L117"},"def":{"name":"get_location","args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"return_type":"Array(Space)","visibility":"Public","body":"response = http(\"POST\", \"/api/locations/#{location_id}/spaces\", headers: {\"X-Auth-Key\" => get_token, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nif response.success?\nelse\n raise(\"issue obtaining to location #{location_id}: status code #{response.status_code}\\n#{response.body}\")\nend\nspaces = Array(Space).from_json(response.body)\nspaces.each do |space|\n @spaces[space.id] = space\nend\nspaces\n"}},{"html_id":"get_token:String-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L139"},"def":{"name":"get_token","return_type":"String","visibility":"Public","body":"auth_key = @auth_key\nif auth_key\n return auth_key\nend\nresponse = http(\"POST\", \"/login\", headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"login response: #{response.body}\"\nend\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nschedule.in(5.seconds) do\n @auth_key = nil\nend\n@auth_key = response.headers[\"X-Auth-Key\"]\n"}},{"html_id":"heart_beat-instance-method","name":"heart_beat","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L90"},"def":{"name":"heart_beat","visibility":"Public","body":"send((client.send(\"/beat/#{Time.utc.to_unix}\")).to_s, wait: false, priority: 0)"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L201"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/freespace/sensor_api.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L206"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_mappings.clear\n@floor_mappings.each do |location_id, details|\n @zone_mappings[details[:level_id]] << location_id\n @zone_mappings[details[:building_id]] << location_id\nend\nif @connected\n disconnect\nend\n"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/freespace/sensor_api.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L161"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"frame = STOMP::Frame.new(bytes)\ncase frame.command\nwhen .connected?\n client.negotiate(frame)\n @floor_mappings.keys.each do |location_id|\n begin\n subscribe_location(location_id)\n rescue error\n logger.error(exception: error) do\n \"failed to subscribe to #{location_id}, skipping\"\n end\n end\n end\nwhen .message?\n activity = SpaceActivity.from_json(frame.body_text)\n if space = @spaces[activity.space_id]?\n activity.location_id = space.location_id\n activity.capacity = space.capacity\n activity.name = space.name\n @space_state[activity.space_id] = activity\n self[\"space-#{activity.space_id}\"] = {location: space.location_id, name: space.name, capacity: space.capacity, count: activity.state, last_updated: activity.utc_epoch}\n self[\"last_change\"] = Time.utc.to_unix\n else\n logger.warn do\n \"unknown space id: #{activity.space_id}\"\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"spaces_details:Hash(Int64,Freespace::Space)-instance-method","name":"spaces_details","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L107"},"def":{"name":"spaces_details","visibility":"Public","body":"@spaces"}},{"html_id":"spaces_state:Hash(Int64,Freespace::SpaceActivity)-instance-method","name":"spaces_state","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L112"},"def":{"name":"spaces_state","visibility":"Public","body":"@space_state"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","doc":"We need an API key to connect to the websocket","summary":"

We need an API key to connect to the websocket

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L52"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"X-Auth-Key\" => get_token}"}}]},{"html_id":"drivers/Freespace/Space","path":"Freespace/Space.html","kind":"class","full_name":"Freespace::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L92"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L93"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L115"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L115"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:Category-instance-method","name":"category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L105"},"def":{"name":"category","return_type":"Category","visibility":"Public","body":"@category"}},{"html_id":"category=(category:Category)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"Category"}],"args_string":"(category : Category)","args_html":"(category : Category)","location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L105"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"Category"}],"visibility":"Public","body":"@category = category"}},{"html_id":"counted:Bool-instance-method","name":"counted","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L124"},"def":{"name":"counted","return_type":"Bool","visibility":"Public","body":"@counted"}},{"html_id":"counted=(counted:Bool)-instance-method","name":"counted=","abstract":false,"args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"args_string":"(counted : Bool)","args_html":"(counted : Bool)","location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L124"},"def":{"name":"counted=","args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"visibility":"Public","body":"@counted = counted"}},{"html_id":"department:Category-instance-method","name":"department","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L106"},"def":{"name":"department","return_type":"Category","visibility":"Public","body":"@department"}},{"html_id":"department=(department:Category)-instance-method","name":"department=","abstract":false,"args":[{"name":"department","external_name":"department","restriction":"Category"}],"args_string":"(department : Category)","args_html":"(department : Category)","location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L106"},"def":{"name":"department=","args":[{"name":"department","external_name":"department","restriction":"Category"}],"visibility":"Public","body":"@department = department"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L110"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device=(device:Device)-instance-method","name":"device=","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Device"}],"args_string":"(device : Device)","args_html":"(device : Device)","location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L110"},"def":{"name":"device=","args":[{"name":"device","external_name":"device","restriction":"Device"}],"visibility":"Public","body":"@device = device"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L95"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"live:Bool-instance-method","name":"live","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L114"},"def":{"name":"live","return_type":"Bool","visibility":"Public","body":"@live"}},{"html_id":"live=(live:Bool)-instance-method","name":"live=","abstract":false,"args":[{"name":"live","external_name":"live","restriction":"Bool"}],"args_string":"(live : Bool)","args_html":"(live : Bool)","location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L114"},"def":{"name":"live=","args":[{"name":"live","external_name":"live","restriction":"Bool"}],"visibility":"Public","body":"@live = live"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L96"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L96"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L123"},"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L123"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"marker:Hash(String,JSON::Any)-instance-method","name":"marker","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L101"},"def":{"name":"marker","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@marker"}},{"html_id":"marker=(marker:Hash(String,JSON::Any))-instance-method","name":"marker=","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"args_string":"(marker : Hash(String, JSON::Any))","args_html":"(marker : Hash(String, JSON::Any))","location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L101"},"def":{"name":"marker=","args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@marker = marker"}},{"html_id":"marker_unique_id:String|Nil-instance-method","name":"marker_unique_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id","return_type":"String | ::Nil","visibility":"Public","body":"@marker_unique_id"}},{"html_id":"marker_unique_id=(marker_unique_id:String|Nil)-instance-method","name":"marker_unique_id=","abstract":false,"args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"args_string":"(marker_unique_id : String | Nil)","args_html":"(marker_unique_id : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id=","args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@marker_unique_id = marker_unique_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L97"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L97"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"sensing_policy_id:Int32-instance-method","name":"sensing_policy_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id","return_type":"Int32","visibility":"Public","body":"@sensing_policy_id"}},{"html_id":"sensing_policy_id=(sensing_policy_id:Int32)-instance-method","name":"sensing_policy_id=","abstract":false,"args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"args_string":"(sensing_policy_id : Int32)","args_html":"(sensing_policy_id : Int32)","location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id=","args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"visibility":"Public","body":"@sensing_policy_id = sensing_policy_id"}},{"html_id":"serial:Int32-instance-method","name":"serial","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L120"},"def":{"name":"serial","return_type":"Int32","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:Int32)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"args_string":"(serial : Int32)","args_html":"(serial : Int32)","location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L120"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"visibility":"Public","body":"@serial = serial"}},{"html_id":"srf:SRF-instance-method","name":"srf","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L98"},"def":{"name":"srf","return_type":"SRF","visibility":"Public","body":"@srf"}},{"html_id":"srf=(srf:SRF)-instance-method","name":"srf=","abstract":false,"args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"args_string":"(srf : SRF)","args_html":"(srf : SRF)","location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L98"},"def":{"name":"srf=","args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"visibility":"Public","body":"@srf = srf"}},{"html_id":"sub_category:Category-instance-method","name":"sub_category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L104"},"def":{"name":"sub_category","return_type":"Category","visibility":"Public","body":"@sub_category"}},{"html_id":"sub_category=(sub_category:Category)-instance-method","name":"sub_category=","abstract":false,"args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"args_string":"(sub_category : Category)","args_html":"(sub_category : Category)","location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L104"},"def":{"name":"sub_category=","args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"visibility":"Public","body":"@sub_category = sub_category"}}]},{"html_id":"drivers/Freespace/SpaceActivity","path":"Freespace/SpaceActivity.html","kind":"class","full_name":"Freespace::SpaceActivity","name":"SpaceActivity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"if (value = @capacity).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#capacity cannot be nil\"))\nelse\n value\nend"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L24"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"capacity?:Int32|Nil-instance-method","name":"capacity?","abstract":false,"def":{"name":"capacity?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L7"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L7"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"if (value = @location_id).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#location_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L21"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_id?:Int64|Nil-instance-method","name":"location_id?","abstract":false,"def":{"name":"location_id?","return_type":"Int64 | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"if (value = @name).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L27"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"name?:String|Nil-instance-method","name":"name?","abstract":false,"def":{"name":"name?","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"presence?-instance-method","name":"presence?","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L16"},"def":{"name":"presence?","visibility":"Public","body":"@state > 0"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L14"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L14"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}},{"html_id":"utc_epoch:Int64-instance-method","name":"utc_epoch","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch","return_type":"Int64","visibility":"Public","body":"@utc_epoch"}},{"html_id":"utc_epoch=(utc_epoch:Int64)-instance-method","name":"utc_epoch=","abstract":false,"args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"args_string":"(utc_epoch : Int64)","args_html":"(utc_epoch : Int64)","location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch=","args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"visibility":"Public","body":"@utc_epoch = utc_epoch"}}]},{"html_id":"drivers/Freespace/SRF","path":"Freespace/SRF.html","kind":"class","full_name":"Freespace::SRF","name":"SRF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L47"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L48"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Int32-instance-method","name":"x","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L50"},"def":{"name":"x","return_type":"Int32","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Int32)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"}],"args_string":"(x : Int32)","args_html":"(x : Int32)","location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L50"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Int32"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Int32-instance-method","name":"y","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L51"},"def":{"name":"y","return_type":"Int32","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Int32)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(y : Int32)","args_html":"(y : Int32)","location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L51"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"@y = y"}},{"html_id":"z:Int32-instance-method","name":"z","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L52"},"def":{"name":"z","return_type":"Int32","visibility":"Public","body":"@z"}},{"html_id":"z=(z:Int32)-instance-method","name":"z=","abstract":false,"args":[{"name":"z","external_name":"z","restriction":"Int32"}],"args_string":"(z : Int32)","args_html":"(z : Int32)","location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L52"},"def":{"name":"z=","args":[{"name":"z","external_name":"z","restriction":"Int32"}],"visibility":"Public","body":"@z = z"}}]}]},{"html_id":"drivers/Gallagher","path":"Gallagher.html","kind":"module","full_name":"Gallagher","name":"Gallagher","abstract":false,"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gallagher/AccessGroup","path":"Gallagher/AccessGroup.html","kind":"class","full_name":"Gallagher::AccessGroup","name":"AccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L181"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L182"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholders:NamedTuple(href:String)-instance-method","name":"cardholders","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@cardholders"}},{"html_id":"cardholders=(cardholders:NamedTuple(href:String))-instance-method","name":"cardholders=","abstract":false,"args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"args_string":"(cardholders : NamedTuple(href: String))","args_html":"(cardholders : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders=","args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@cardholders = cardholders"}},{"html_id":"children:Array(NamedTuple(href:String,name:String))|Nil-instance-method","name":"children","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children","return_type":"Array(NamedTuple(href: String, name: String)) | ::Nil","visibility":"Public","body":"@children"}},{"html_id":"children=(children:Array(NamedTuple(href:String,name:String))|Nil)-instance-method","name":"children=","abstract":false,"args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"args_string":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","args_html":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children=","args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"visibility":"Public","body":"@children = children"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String))-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"args_string":"(division : NamedTuple(href: String))","args_html":"(division : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@division = division"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"parent:NamedTuple(href:String,name:String)|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent","return_type":"NamedTuple(href: String, name: String) | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"parent=(parent:NamedTuple(href:String,name:String)|Nil)-instance-method","name":"parent=","abstract":false,"args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"args_string":"(parent : NamedTuple(href: String, name: String) | Nil)","args_html":"(parent : NamedTuple(href: String, name: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent=","args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"visibility":"Public","body":"@parent = parent"}}]},{"html_id":"drivers/Gallagher/AccessGroupMembership","path":"Gallagher/AccessGroupMembership.html","kind":"class","full_name":"Gallagher::AccessGroupMembership","name":"AccessGroupMembership","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L208"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L209"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholder:NamedTuple(href:String,name:String)-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder","return_type":"NamedTuple(href: String, name: String)","visibility":"Public","body":"@cardholder"}},{"html_id":"cardholder=(cardholder:NamedTuple(href:String,name:String))-instance-method","name":"cardholder=","abstract":false,"args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"args_string":"(cardholder : NamedTuple(href: String, name: String))","args_html":"(cardholder : NamedTuple(href: String, name: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder=","args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"visibility":"Public","body":"@cardholder = cardholder"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Card","path":"Gallagher/Card.html","kind":"struct","full_name":"Gallagher::Card","name":"Card","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(href:Nil|String,status:NamedTuple(value:String,type:Nil|String)|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"args_string":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","args_html":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L133"},"def":{"name":"new","args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(href, status)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ble_facility_id:Int64|Nil-instance-method","name":"ble_facility_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ble_facility_id"}},{"html_id":"ble_facility_id=(ble_facility_id:Int64|Nil)-instance-method","name":"ble_facility_id=","abstract":false,"args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"args_string":"(ble_facility_id : Int64 | Nil)","args_html":"(ble_facility_id : Int64 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id=","args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ble_facility_id = ble_facility_id"}},{"html_id":"card_serial_number:String|Nil-instance-method","name":"card_serial_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number","return_type":"String | ::Nil","visibility":"Public","body":"@card_serial_number"}},{"html_id":"card_serial_number=(card_serial_number:String|Nil)-instance-method","name":"card_serial_number=","abstract":false,"args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"args_string":"(card_serial_number : String | Nil)","args_html":"(card_serial_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number=","args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@card_serial_number = card_serial_number"}},{"html_id":"credential_class:String|Nil-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class","return_type":"String | ::Nil","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String|Nil)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"args_string":"(credential_class : String | Nil)","args_html":"(credential_class : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"credential_id:String|Nil-instance-method","name":"credential_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id","return_type":"String | ::Nil","visibility":"Public","body":"@credential_id"}},{"html_id":"credential_id=(credential_id:String|Nil)-instance-method","name":"credential_id=","abstract":false,"args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"args_string":"(credential_id : String | Nil)","args_html":"(credential_id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id=","args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_id = credential_id"}},{"html_id":"e2e_key:String|Nil-instance-method","name":"e2e_key","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key","return_type":"String | ::Nil","visibility":"Public","body":"@e2e_key"}},{"html_id":"e2e_key=(e2e_key:String|Nil)-instance-method","name":"e2e_key=","abstract":false,"args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"args_string":"(e2e_key : String | Nil)","args_html":"(e2e_key : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key=","args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@e2e_key = e2e_key"}},{"html_id":"facility_code:String|Nil-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code","return_type":"String | ::Nil","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String|Nil)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"args_string":"(facility_code : String | Nil)","args_html":"(facility_code : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"invitation:Invitation|Nil-instance-method","name":"invitation","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation","return_type":"Invitation | ::Nil","visibility":"Public","body":"@invitation"}},{"html_id":"invitation=(invitation:Invitation|Nil)-instance-method","name":"invitation=","abstract":false,"args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"args_string":"(invitation : Invitation | Nil)","args_html":"(invitation : Invitation | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation=","args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"visibility":"Public","body":"@invitation = invitation"}},{"html_id":"issue_level:Int32|Nil-instance-method","name":"issue_level","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@issue_level"}},{"html_id":"issue_level=(issue_level:Int32|Nil)-instance-method","name":"issue_level=","abstract":false,"args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"args_string":"(issue_level : Int32 | Nil)","args_html":"(issue_level : Int32 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level=","args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@issue_level = issue_level"}},{"html_id":"number:String|Nil-instance-method","name":"number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number","return_type":"String | ::Nil","visibility":"Public","body":"@number"}},{"html_id":"number=(number:String|Nil)-instance-method","name":"number=","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"args_string":"(number : String | Nil)","args_html":"(number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number=","args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@number = number"}},{"html_id":"status:NamedTuple(value:String,type:String|Nil)|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status","return_type":"NamedTuple(value: String, type: String | ::Nil) | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:NamedTuple(value:String,type:String|Nil)|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"args_string":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","args_html":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:NamedTuple(href:String,name:String|Nil)|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type","return_type":"NamedTuple(href: String, name: String | ::Nil) | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:NamedTuple(href:String,name:String|Nil)|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"args_string":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","args_html":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Cardholder","path":"Gallagher/Cardholder.html","kind":"class","full_name":"Gallagher::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(first_name:Nil|String,last_name:Nil|String,short_name:Nil|String,description:Nil|String,authorised:Bool|Nil,cards:Array(Gallagher::Card)|Hash(String,Array(Gallagher::Card))|Nil,access_groups:Array(Gallagher::CardholderAccessGroup)|Hash(String,Array(Gallagher::CardholderAccessGroup))|Nil,division:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"args_string":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","args_html":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(first_name, last_name, short_name, description, authorised, cards, access_groups, division)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil-instance-method","name":"access_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups","return_type":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil","visibility":"Public","body":"@access_groups"}},{"html_id":"access_groups=(access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil)-instance-method","name":"access_groups=","abstract":false,"args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"args_string":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","args_html":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups=","args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"visibility":"Public","body":"@access_groups = access_groups"}},{"html_id":"authorised:Bool|Nil-instance-method","name":"authorised","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised","return_type":"Bool | ::Nil","visibility":"Public","body":"@authorised"}},{"html_id":"authorised=(authorised:Bool|Nil)-instance-method","name":"authorised=","abstract":false,"args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"args_string":"(authorised : Bool | Nil)","args_html":"(authorised : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised=","args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@authorised = authorised"}},{"html_id":"cards:Array(Card)|Hash(String,Array(Card))|Nil-instance-method","name":"cards","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards","return_type":"Array(Card) | Hash(String, Array(Card)) | ::Nil","visibility":"Public","body":"@cards"}},{"html_id":"cards=(cards:Array(Card)|Hash(String,Array(Card))|Nil)-instance-method","name":"cards=","abstract":false,"args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"args_string":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","args_html":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards=","args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"visibility":"Public","body":"@cards = cards"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)|Nil-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String)|Nil)-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(division : NamedTuple(href: String) | Nil)","args_html":"(division : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@division = division"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_accessed:Time|Nil-instance-method","name":"last_accessed","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed","return_type":"Time | ::Nil","visibility":"Public","body":"@last_accessed"}},{"html_id":"last_accessed=(last_accessed:Time|Nil)-instance-method","name":"last_accessed=","abstract":false,"args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"args_string":"(last_accessed : Time | Nil)","args_html":"(last_accessed : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed=","args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@last_accessed = last_accessed"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"usercode:String|Nil-instance-method","name":"usercode","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode","return_type":"String | ::Nil","visibility":"Public","body":"@usercode"}},{"html_id":"usercode=(usercode:String|Nil)-instance-method","name":"usercode=","abstract":false,"args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"args_string":"(usercode : String | Nil)","args_html":"(usercode : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode=","args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usercode = usercode"}}]},{"html_id":"drivers/Gallagher/CardholderAccessGroup","path":"Gallagher/CardholderAccessGroup.html","kind":"class","full_name":"Gallagher::CardholderAccessGroup","name":"CardholderAccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_group:NamedTuple(href:String)-instance-method","name":"access_group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@access_group"}},{"html_id":"access_group=(access_group:NamedTuple(href:String))-instance-method","name":"access_group=","abstract":false,"args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"args_string":"(access_group : NamedTuple(href: String))","args_html":"(access_group : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group=","args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@access_group = access_group"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/CardType","path":"Gallagher/CardType.html","kind":"class","full_name":"Gallagher::CardType","name":"CardType","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_card_states:Array(String)-instance-method","name":"available_card_states","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states","return_type":"Array(String)","visibility":"Public","body":"@available_card_states"}},{"html_id":"available_card_states=(available_card_states:Array(String))-instance-method","name":"available_card_states=","abstract":false,"args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"args_string":"(available_card_states : Array(String))","args_html":"(available_card_states : Array(String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states=","args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"visibility":"Public","body":"@available_card_states = available_card_states"}},{"html_id":"credential_class:String-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class","return_type":"String","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"args_string":"(credential_class : String)","args_html":"(credential_class : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"facility_code:String-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code","return_type":"String","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"args_string":"(facility_code : String)","args_html":"(facility_code : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"maximum_number:String|Nil-instance-method","name":"maximum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number","return_type":"String | ::Nil","visibility":"Public","body":"@maximum_number"}},{"html_id":"maximum_number=(maximum_number:String|Nil)-instance-method","name":"maximum_number=","abstract":false,"args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"args_string":"(maximum_number : String | Nil)","args_html":"(maximum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number=","args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@maximum_number = maximum_number"}},{"html_id":"minimum_number:String|Nil-instance-method","name":"minimum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number","return_type":"String | ::Nil","visibility":"Public","body":"@minimum_number"}},{"html_id":"minimum_number=(minimum_number:String|Nil)-instance-method","name":"minimum_number=","abstract":false,"args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"args_string":"(minimum_number : String | Nil)","args_html":"(minimum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number=","args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@minimum_number = minimum_number"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/DoorDetails","path":"Gallagher/DoorDetails.html","kind":"class","full_name":"Gallagher::DoorDetails","name":"DoorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L38"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L36"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/Event","path":"Gallagher/Event.html","kind":"struct","full_name":"Gallagher::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L227"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L228"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card:Card|Nil-instance-method","name":"card","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L238"},"def":{"name":"card","return_type":"Card | ::Nil","visibility":"Public","body":"@card"}},{"html_id":"cardholder:IdName|Nil-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L239"},"def":{"name":"cardholder","return_type":"IdName | ::Nil","visibility":"Public","body":"@cardholder"}},{"html_id":"group:IdName-instance-method","name":"group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L230"},"def":{"name":"group","return_type":"IdName","visibility":"Public","body":"@group"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L234"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"matching_type?(types:Array(Int32)|Nil)-instance-method","name":"matching_type?","abstract":false,"args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"args_string":"(types : Array(Int32) | Nil)","args_html":"(types : Array(Int32) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L241"},"def":{"name":"matching_type?","args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"visibility":"Public","body":"if types\nelse\n return true\nend\ntypes.map(&.to_s).includes?(type.id)\n"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L236"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"source:IdName-instance-method","name":"source","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L232"},"def":{"name":"source","return_type":"IdName","visibility":"Public","body":"@source"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L235"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:IdName-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L231"},"def":{"name":"type","return_type":"IdName","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Gallagher/Events","path":"Gallagher/Events.html","kind":"struct","full_name":"Gallagher::Events","name":"Events","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L247"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L248"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(Event)-instance-method","name":"events","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L250"},"def":{"name":"events","return_type":"Array(Event)","visibility":"Public","body":"@events"}},{"html_id":"update_url-instance-method","name":"update_url","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L253"},"def":{"name":"update_url","visibility":"Public","body":"updates[:href]"}},{"html_id":"updates:NamedTuple(href:String)-instance-method","name":"updates","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L251"},"def":{"name":"updates","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@updates"}}]},{"html_id":"drivers/Gallagher/IdName","path":"Gallagher/IdName.html","kind":"struct","full_name":"Gallagher::IdName","name":"IdName","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L223"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L224"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Gallagher/Invitation","path":"Gallagher/Invitation.html","kind":"class","full_name":"Gallagher::Invitation","name":"Invitation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"mobile=(mobile:String|Nil)-instance-method","name":"mobile=","abstract":false,"args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"args_string":"(mobile : String | Nil)","args_html":"(mobile : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile=","args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mobile = mobile"}},{"html_id":"single_factor_only:Bool|Nil-instance-method","name":"single_factor_only","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@single_factor_only"}},{"html_id":"single_factor_only=(single_factor_only:Bool|Nil)-instance-method","name":"single_factor_only=","abstract":false,"args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"args_string":"(single_factor_only : Bool | Nil)","args_html":"(single_factor_only : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only=","args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@single_factor_only = single_factor_only"}},{"html_id":"status:String|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status","return_type":"String | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"args_string":"(status : String | Nil)","args_html":"(status : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/Gallagher/PDF","path":"Gallagher/PDF.html","kind":"class","full_name":"Gallagher::PDF","name":"PDF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"doc":"Personal Data Field","summary":"

Personal Data Field

","constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L16"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default:String|Nil-instance-method","name":"default","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default","return_type":"String | ::Nil","visibility":"Public","body":"@default"}},{"html_id":"default=(default:String|Nil)-instance-method","name":"default=","abstract":false,"args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"args_string":"(default : String | Nil)","args_html":"(default : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default=","args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default = default"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"required:Bool|Nil-instance-method","name":"required","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required","return_type":"Bool | ::Nil","visibility":"Public","body":"@required"}},{"html_id":"required=(required:Bool|Nil)-instance-method","name":"required=","abstract":false,"args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"args_string":"(required : Bool | Nil)","args_html":"(required : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required=","args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@required = required"}},{"html_id":"server_display_name:String|Nil-instance-method","name":"server_display_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_display_name"}},{"html_id":"server_display_name=(server_display_name:String|Nil)-instance-method","name":"server_display_name=","abstract":false,"args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"args_string":"(server_display_name : String | Nil)","args_html":"(server_display_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name=","args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_display_name = server_display_name"}},{"html_id":"unique:Bool|Nil-instance-method","name":"unique","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique","return_type":"Bool | ::Nil","visibility":"Public","body":"@unique"}},{"html_id":"unique=(unique:Bool|Nil)-instance-method","name":"unique=","abstract":false,"args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"args_string":"(unique : Bool | Nil)","args_html":"(unique : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique=","args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@unique = unique"}}]},{"html_id":"drivers/Gallagher/RestAPI","path":"Gallagher/RestAPI.html","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"instance_methods":[{"html_id":"cardholder_exists?(filter:String)-instance-method","name":"cardholder_exists?","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L343"},"def":{"name":"cardholder_exists?","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"!(query_cardholders(filter)).empty?"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L110"},"def":{"name":"connected","visibility":"Public","body":"query_endpoints"}},{"html_id":"create_cardholder(first_name:String,last_name:String,description:String=\"acardholder\",authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"create_cardholder","doc":"#\nCreate a new cardholder.\n@param first_name [String] The first name of the new cardholder. Either this or last name is required (but we should assume both are for most instances).\n@param last_name [String] The last name of the new cardholder. Either this or first name is required (but we should assume both are for most instances).\n@option options [String] :division The division to add the cardholder to. This is required when making the request to create the cardholder but if none is passed the `default_division` is used.\n@option options [Hash] :pdfs A hash containing all PDFs to add to the user in the form `{ some_pdf_name: some_pdf_value, another_pdf_name: another_pdf_value }`.\n@option options [Array] :cards An array of cards to be added to this cardholder which can include both virtual and physical cards.\n@option options [Array] :access_groups An array of access groups to add this cardholder to. These may include `from` and `until` fields to dictate temporary access.\n@option options [Array] :competencies An array of competencies to add this cardholder to.\n@return [Hash] The cardholder that was created.","summary":"

\n \n \nCreate a new cardholder.

","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(first_name : String, last_name : String, description : String = \"a cardholder\", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(first_name : String, last_name : String, description : String = "a cardholder", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L257"},"def":{"name":"create_cardholder","args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"short_name || (short_name = \"#{first_name} #{last_name}\")\nshort_name = short_name[0..15]\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, cards, access_groups, division_href || @default_division.not_nil!)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = post(@cardholders_endpoint, headers: @headers, body: payload)\nCardholder.from_json(process(response))\n"}},{"html_id":"delete_card(href:String)-instance-method","name":"delete_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L338"},"def":{"name":"delete_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = delete(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"failed to delete card #{href}\")\nend\n"}},{"html_id":"delete_href(href:String)-instance-method","name":"delete_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L425"},"def":{"name":"delete_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"delete_card(href)"}},{"html_id":"disable_card(href:String)-instance-method","name":"disable_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L331"},"def":{"name":"disable_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"uri = get_path(href)\ncardholder_id = (uri.split('/'))[-3]\ncard = Card.new(uri, {value: @disabled_card_value, type: nil.as(String | ::Nil)})\nupdate_cardholder(cardholder_id, update_cards: [card])\n"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":465,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L465"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"doors.map do |d|\n Door.new(d.id, d.name)\nend"}},{"html_id":"doors-instance-method","name":"doors","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L455"},"def":{"name":"doors","visibility":"Public","body":"response = get(@doors_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\n(NamedTuple(results: Array(DoorDetails)).from_json(response.body))[:results]\n"}},{"html_id":"get_access_group(id:String)-instance-method","name":"get_access_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L354"},"def":{"name":"get_access_group","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"access group request failed with #{response.status_code}\\n#{response.body}\")\nend\nAccessGroup.from_json(response.body)\n"}},{"html_id":"get_access_group_members(id:String)-instance-method","name":"get_access_group_members","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L368"},"def":{"name":"get_access_group_members","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}/cardholders\", headers: @headers)\nif response.success?\nelse\n raise(\"access group members request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroupMembership, response.body)\n"}},{"html_id":"get_access_groups(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_access_groups","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L360"},"def":{"name":"get_access_groups","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@access_groups_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"access groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroup, response.body)\n"}},{"html_id":"get_base64_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_base64_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L209"},"def":{"name":"get_base64_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nBase64.strict_encode(response.body)\n"}},{"html_id":"get_card_type(id:String|Int32|Nil=nil)-instance-method","name":"get_card_type","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"args_string":"(id : String | Int32 | Nil = nil)","args_html":"(id : String | Int32 | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L240"},"def":{"name":"get_card_type","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"visibility":"Public","body":"card = (id || @default_card_type) || (raise(\"no default card type provided\"))\nresponse = get(\"#{@card_types_endpoint}/#{card}\", headers: @headers)\nif response.success?\nelse\n raise(\"card type request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardType.from_json(response.body)\n"}},{"html_id":"get_cardholder(id:String)-instance-method","name":"get_cardholder","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L216"},"def":{"name":"get_cardholder","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardholder.from_json(response.body)\n"}},{"html_id":"get_division(id:String)-instance-method","name":"get_division","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L374"},"def":{"name":"get_division","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@divisions_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"division request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_divisions(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_divisions","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L380"},"def":{"name":"get_divisions","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@divisions_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"divisions request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(JSON::Any, response.body)\n"}},{"html_id":"get_event_groups-instance-method","name":"get_event_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L395"},"def":{"name":"get_event_groups","visibility":"Public","body":"response = get(\"#{@events_endpoint}/groups\", headers: @headers)\nif response.success?\nelse\n raise(\"event groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_events-instance-method","name":"get_events","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":389,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L389"},"def":{"name":"get_events","visibility":"Public","body":"response = get(@events_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"events request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_href(href:String)-instance-method","name":"get_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L419"},"def":{"name":"get_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = get(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"generic request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L203"},"def":{"name":"get_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_pdfs(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_pdfs","doc":"#\nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.\nThey will usually be for things like email address, employee ID or some other field specific to whoever is hosting the Gallagher instance.\nAllows retrieval of the PDFs used in the Gallagher instance, primarily so we can get the PDF's ID and use that to filter cardholders based on that PDF.\n\n@param name [String] The name of the PDF which we want to retrieve. This will only return one result (as the PDF names are unique).\n@return [Hash] A list of PDF results and a next link for pagination (we will generally have less than 100 PDFs so 'next' link will mostly be unused):\n@example An example response:\n {\n \"results\": [\n {\n \"name\": \"email\",\n \"id\": \"5516\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/5516\"\n },\n {\n \"name\": \"cellphone\",\n \"id\": \"9998\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/9998\",\n \"serverDisplayName\": \"Site B\"\n }\n ],\n \"next\": {\n \"href\": \"https://localhost:8904/api/personal_data_fields?pos=900&sort=id\"\n }\n }","summary":"

\n \n \nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.

","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L195"},"def":{"name":"get_pdfs","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@pdfs_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(PDF, response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nspawn do\n event_monitor\nend\nschedule.every(1.minutes) do\n query_endpoints\nend\ntransport.before_request do |req|\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L73"},"def":{"name":"on_unload","visibility":"Public","body":"@poll_events = false"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"api_key = setting(String, :api_key)\n@api_key = \"GGL-API-KEY #{api_key}\"\n@door_event_channel = (setting?(String, :door_event_channel)) || \"event\"\nnew_map = {} of String => EventMap\n((setting?(Array(EventMap), :event_mappings)) || ([] of EventMap)).each do |event|\n new_map[event.group.to_s] = event\nend\n@event_map = new_map\n@unique_pdf_name = setting(String, :unique_pdf_name)\n@default_division = setting?(String, :default_division_href)\n@default_facility_code = setting?(String, :default_facility_code)\n@default_card_type = setting?(String, :default_card_type_href)\n@default_access_group = setting?(String, :default_access_group_href)\n@disabled_card_value = (setting(::Union(String, ::Nil), :disabled_card_value)) || \"Disabled (manually)\"\n@headers = {\"Authorization\" => @api_key, \"Content-Type\" => \"application/json\"}\n"}},{"html_id":"query_card_types-instance-method","name":"query_card_types","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L234"},"def":{"name":"query_card_types","visibility":"Public","body":"response = get(@card_types_endpoint, {\"top\" => \"10000\"}, headers: @headers)\nif response.success?\nelse\n raise(\"card types request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(CardType, response.body)\n"}},{"html_id":"query_cardholders(filter:String,pdf_name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"query_cardholders","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","args_html":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L222"},"def":{"name":"query_cardholders","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"pdf_id = \"pdf_\" + (pdf_name ? (get_pdfs(pdf_name)).first.id : @fixed_pdf_id).not_nil!\nquery = {pdf_id => exact_match ? \"\\\"#{filter}\\\"\" : filter, \"top\" => \"10000\"}\nresponse = get(@cardholders_endpoint, query, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder query request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(Cardholder, response.body)\n"}},{"html_id":"query_endpoints-instance-method","name":"query_endpoints","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L127"},"def":{"name":"query_endpoints","visibility":"Public","body":"response = get(\"/api\", headers: @headers)\nif response.success?\nelse\n raise(\"endpoints request failed with #{response.status_code}\\n#{response.body}\")\nend\npayload = JSON.parse(response.body)\nlogger.debug do\n \"endpoints query returned:\\n#{payload.inspect}\"\nend\napi_version = SemanticVersion.parse((payload[\"version\"].as_s.split('.'))[0..2].join('.'))\n@cardholders_endpoint = get_path(payload[\"features\"][\"cardholders\"][\"cardholders\"][\"href\"].as_s)\n@divisions_endpoint = @cardholders_endpoint.sub(\"cardholders\", \"divisions\")\n@access_groups_endpoint = get_path(payload[\"features\"][\"accessGroups\"][\"accessGroups\"][\"href\"].as_s)\n@events_endpoint = get_path(payload[\"features\"][\"events\"][\"events\"][\"href\"].as_s)\n@doors_endpoint = get_path(payload[\"features\"][\"doors\"][\"doors\"][\"href\"].as_s)\nif api_version >= (SemanticVersion.parse(\"8.10.0\"))\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"assign\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"personalDataFields\"][\"personalDataFields\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name}, @headers)\nelse\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"cardTypes\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"items\"][\"items\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name, \"type\" => \"33\"}, @headers)\nend\nif response.success?\n logger.debug do\n \"PDFS request returned:\\n#{response.body}\"\n end\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nresults = (JSON.parse(response.body))[\"results\"].as_a\nif results.empty?\nelse\n @fixed_pdf_id = results.first[\"id\"].as_s\nend\n"}},{"html_id":"remove_cardholder_access(id:String|Nil=nil,href:String|Nil=nil)-instance-method","name":"remove_cardholder_access","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L347"},"def":{"name":"remove_cardholder_access","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"update_cardholder(id, href, authorised: false)"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/gallagher/rest_api.cr","line_number":469,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L469"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"response = post(\"#{@doors_endpoint}/#{door_id}/open\", headers: @headers)\nresponse.success?\n"}},{"html_id":"update_cardholder(id:String|Nil=nil,href:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,remove_cards:Array(Card)|Nil=nil,update_cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,remove_access_groups:Array(CardholderAccessGroup)|Nil=nil,update_access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"update_cardholder","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L284"},"def":{"name":"update_cardholder","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"url = href ? get_path(href) : \"#{@cardholders_endpoint}/#{id.not_nil!}\"\nif (cards || remove_cards) || update_cards\n card_updates = {} of String => Array(Card)\n if cards\n card_updates[\"add\"] = cards\n end\n if update_cards\n card_updates[\"update\"] = update_cards\n end\n if remove_cards\n card_updates[\"remove\"] = remove_cards\n end\nend\nif (access_groups || remove_access_groups) || update_access_groups\n groups_update = {} of String => Array(CardholderAccessGroup)\n if access_groups\n groups_update[\"add\"] = access_groups\n end\n if update_access_groups\n groups_update[\"update\"] = update_access_groups\n end\n if remove_access_groups\n groups_update[\"remove\"] = remove_access_groups\n end\nend\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, card_updates, groups_update, division_href)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = patch(url, headers: @headers, body: payload)\nresult = process(response)\nresult.presence && (Cardholder.from_json(result))\n"}}],"macros":[{"html_id":"get_results(klass,response)-macro","name":"get_results","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"args_string":"(klass, response)","args_html":"(klass, response)","location":{"filename":"src/gallagher/rest_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L401"},"def":{"name":"get_results","args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":" \n%results\n = Results(\n{{ klass }}\n).from_json \n{{ response }}\n\n \n%result_array\n = \n%results\n.results\n loop do\n \n%next_uri\n = \n%results\n.next_uri\n break unless \n%next_uri\n\n \n%results\n = Results(\n{{ klass }}\n).from_json(get_raw(\n%next_uri\n[:href]))\n \n%result_array\n.concat \n%results\n.results\n \nend\n \n%result_array\n\n \n"}}],"types":[{"html_id":"drivers/Gallagher/RestAPI/BadRequest","path":"Gallagher/RestAPI/BadRequest.html","kind":"class","full_name":"Gallagher::RestAPI::BadRequest","name":"BadRequest","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":453,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L453"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/Conflict","path":"Gallagher/RestAPI/Conflict.html","kind":"class","full_name":"Gallagher::RestAPI::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L449"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/EventMap","path":"Gallagher/RestAPI/EventMap.html","kind":"struct","full_name":"Gallagher::RestAPI::EventMap","name":"EventMap","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"},"constructors":[{"html_id":"new(group:Int32,types:Array(Int32)|Nil,action:Action)-class-method","name":"new","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"args_string":"(group : Int32, types : Array(Int32) | Nil, action : Action)","args_html":"(group : Int32, types : Array(Int32) | Nil, action : Action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"new","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"visibility":"Public","body":"_ = allocate\n_.initialize(group, types, action)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L60"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Action-instance-method","name":"action","abstract":false,"def":{"name":"action","return_type":"Action","visibility":"Public","body":"@action"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@group.clone, @types.clone, @action.clone)"}},{"html_id":"copy_with(group_group=@group,types_types=@types,action_action=@action)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"args_string":"(group _group = @group, types _types = @types, action _action = @action)","args_html":"(group _group = @group, types _types = @types, action _action = @action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"copy_with","args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"visibility":"Public","body":"self.class.new(_group, _types, _action)"}},{"html_id":"group:Int32-instance-method","name":"group","abstract":false,"def":{"name":"group","return_type":"Int32","visibility":"Public","body":"@group"}},{"html_id":"types:Array(Int32)|Nil-instance-method","name":"types","abstract":false,"def":{"name":"types","return_type":"Array(Int32) | ::Nil","visibility":"Public","body":"@types"}}]},{"html_id":"drivers/Gallagher/RestAPI/NotFound","path":"Gallagher/RestAPI/NotFound.html","kind":"class","full_name":"Gallagher::RestAPI::NotFound","name":"NotFound","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":451,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L451"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}}]},{"html_id":"drivers/Gallagher/Results","path":"Gallagher/Results.html","kind":"class","full_name":"Gallagher::Results(ResultType)","name":"Results","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_uri:NamedTuple(href:String)|Nil-instance-method","name":"next_uri","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@next_uri"}},{"html_id":"next_uri=(next_uri:NamedTuple(href:String)|Nil)-instance-method","name":"next_uri=","abstract":false,"args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(next_uri : NamedTuple(href: String) | Nil)","args_html":"(next_uri : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri=","args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@next_uri = next_uri"}},{"html_id":"results:Array(ResultType)-instance-method","name":"results","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results","return_type":"Array(ResultType)","visibility":"Public","body":"@results"}},{"html_id":"results=(results:Array(ResultType))-instance-method","name":"results=","abstract":false,"args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"args_string":"(results : Array(ResultType))","args_html":"(results : Array(ResultType))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results=","args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"visibility":"Public","body":"@results = results"}}]}]},{"html_id":"drivers/Gantner","path":"Gantner.html","kind":"module","full_name":"Gantner","name":"Gantner","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gantner/Relaxx","path":"Gantner/Relaxx.html","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner","kind":"module","full_name":"Gantner","name":"Gantner"},"types":[{"html_id":"drivers/Gantner/Relaxx/Locker","path":"Gantner/Relaxx/Locker.html","kind":"class","full_name":"Gantner::Relaxx::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:Int32-instance-method","name":"address","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address","return_type":"Int32","visibility":"Public","body":"@address"}},{"html_id":"address=(address:Int32)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"Int32"}],"args_string":"(address : Int32)","args_html":"(address : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"Int32"}],"visibility":"Public","body":"@address = address"}},{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"card_id=(card_id:String)-instance-method","name":"card_id=","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"args_string":"(card_id : String)","args_html":"(card_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id=","args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"visibility":"Public","body":"@card_id = card_id"}},{"html_id":"group_id:String-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id","return_type":"String","visibility":"Public","body":"@group_id"}},{"html_id":"group_id=(group_id:String)-instance-method","name":"group_id=","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id=","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"@group_id = group_id"}},{"html_id":"group_name:String-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name","return_type":"String","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:String)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"args_string":"(group_name : String)","args_html":"(group_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_deleted:Bool-instance-method","name":"is_deleted","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted","return_type":"Bool","visibility":"Public","body":"@is_deleted"}},{"html_id":"is_deleted=(is_deleted:Bool)-instance-method","name":"is_deleted=","abstract":false,"args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"args_string":"(is_deleted : Bool)","args_html":"(is_deleted : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted=","args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"visibility":"Public","body":"@is_deleted = is_deleted"}},{"html_id":"is_existing:Bool-instance-method","name":"is_existing","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing","return_type":"Bool","visibility":"Public","body":"@is_existing"}},{"html_id":"is_existing=(is_existing:Bool)-instance-method","name":"is_existing=","abstract":false,"args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"args_string":"(is_existing : Bool)","args_html":"(is_existing : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing=","args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"visibility":"Public","body":"@is_existing = is_existing"}},{"html_id":"is_free:Bool-instance-method","name":"is_free","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free","return_type":"Bool","visibility":"Public","body":"@is_free"}},{"html_id":"is_free=(is_free:Bool)-instance-method","name":"is_free=","abstract":false,"args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"args_string":"(is_free : Bool)","args_html":"(is_free : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free=","args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"visibility":"Public","body":"@is_free = is_free"}},{"html_id":"last_closed:String-instance-method","name":"last_closed","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed","return_type":"String","visibility":"Public","body":"@last_closed"}},{"html_id":"last_closed=(last_closed:String)-instance-method","name":"last_closed=","abstract":false,"args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"args_string":"(last_closed : String)","args_html":"(last_closed : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed=","args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"visibility":"Public","body":"@last_closed = last_closed"}},{"html_id":"locker_mode-instance-method","name":"locker_mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L86"},"def":{"name":"locker_mode","visibility":"Public","body":"LockerMode.from_value(self.mode)"}},{"html_id":"locker_number:String-instance-method","name":"locker_number","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number","return_type":"String","visibility":"Public","body":"@locker_number"}},{"html_id":"locker_number=(locker_number:String)-instance-method","name":"locker_number=","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"args_string":"(locker_number : String)","args_html":"(locker_number : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number=","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"visibility":"Public","body":"@locker_number = locker_number"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L82"},"def":{"name":"locker_state","visibility":"Public","body":"LockerState.from_value(self.state)"}},{"html_id":"mode:Int32-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode","return_type":"Int32","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:Int32)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32)","args_html":"(mode : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerEvent","path":"Gantner/Relaxx/LockerEvent.html","kind":"enum","full_name":"Gantner::Relaxx::LockerEvent","name":"LockerEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Opened","name":"Opened","value":"0"},{"id":"Closed","name":"Closed","value":"1"},{"id":"Enabled","name":"Enabled","value":"2"},{"id":"Disabled","name":"Disabled","value":"3"},{"id":"Alarmed","name":"Alarmed","value":"4"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L96"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L93"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L95"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"enabled?-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L94"},"def":{"name":"enabled?","visibility":"Public","body":"self == Enabled"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L92"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerMode","path":"Gantner/Relaxx/LockerMode.html","kind":"enum","full_name":"Gantner::Relaxx::LockerMode","name":"LockerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"NotExisting","name":"NotExisting","value":"1"},{"id":"FreeLocker","name":"FreeLocker","value":"2"},{"id":"PersonalLocker","name":"PersonalLocker","value":"3"},{"id":"ReservableLocker","name":"ReservableLocker","value":"4"},{"id":"DynamicLocker","name":"DynamicLocker","value":"5"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"dynamic_locker?-instance-method","name":"dynamic_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L39"},"def":{"name":"dynamic_locker?","visibility":"Public","body":"self == DynamicLocker"}},{"html_id":"free_locker?-instance-method","name":"free_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L36"},"def":{"name":"free_locker?","visibility":"Public","body":"self == FreeLocker"}},{"html_id":"not_existing?-instance-method","name":"not_existing?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L35"},"def":{"name":"not_existing?","visibility":"Public","body":"self == NotExisting"}},{"html_id":"personal_locker?-instance-method","name":"personal_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L37"},"def":{"name":"personal_locker?","visibility":"Public","body":"self == PersonalLocker"}},{"html_id":"reservable_locker?-instance-method","name":"reservable_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L38"},"def":{"name":"reservable_locker?","visibility":"Public","body":"self == ReservableLocker"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L34"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerNotification","path":"Gantner/Relaxx/LockerNotification.html","kind":"class","full_name":"Gantner::Relaxx::LockerNotification","name":"LockerNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"area_name:String-instance-method","name":"area_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name","return_type":"String","visibility":"Public","body":"@area_name"}},{"html_id":"area_name=(area_name:String)-instance-method","name":"area_name=","abstract":false,"args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"args_string":"(area_name : String)","args_html":"(area_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name=","args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"visibility":"Public","body":"@area_name = area_name"}},{"html_id":"event:Int32-instance-method","name":"event","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event","return_type":"Int32","visibility":"Public","body":"@event"}},{"html_id":"event=(event:Int32)-instance-method","name":"event=","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Int32"}],"args_string":"(event : Int32)","args_html":"(event : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event=","args":[{"name":"event","external_name":"event","restriction":"Int32"}],"visibility":"Public","body":"@event = event"}},{"html_id":"group_name:Bool-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name","return_type":"Bool","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:Bool)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"args_string":"(group_name : Bool)","args_html":"(group_name : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"locker:Locker-instance-method","name":"locker","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker","return_type":"Locker","visibility":"Public","body":"@locker"}},{"html_id":"locker=(locker:Locker)-instance-method","name":"locker=","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"args_string":"(locker : Locker)","args_html":"(locker : Locker)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker=","args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"visibility":"Public","body":"@locker = locker"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L129"},"def":{"name":"locker_state","visibility":"Public","body":"self.locker.state"}},{"html_id":"prev_state:Int32-instance-method","name":"prev_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state","return_type":"Int32","visibility":"Public","body":"@prev_state"}},{"html_id":"prev_state=(prev_state:Int32)-instance-method","name":"prev_state=","abstract":false,"args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"args_string":"(prev_state : Int32)","args_html":"(prev_state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state=","args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"visibility":"Public","body":"@prev_state = prev_state"}},{"html_id":"previous_state-instance-method","name":"previous_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L133"},"def":{"name":"previous_state","visibility":"Public","body":"LockerState.from_value(self.prev_state)"}},{"html_id":"time:String-instance-method","name":"time","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time","return_type":"String","visibility":"Public","body":"@time"}},{"html_id":"time=(time:String)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"String"}],"args_string":"(time : String)","args_html":"(time : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"String"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerState","path":"Gantner/Relaxx/LockerState.html","kind":"enum","full_name":"Gantner::Relaxx::LockerState","name":"LockerState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"Disabled","name":"Disabled","value":"1"},{"id":"Free","name":"Free","value":"2"},{"id":"InUse","name":"InUse","value":"3"},{"id":"Locked","name":"Locked","value":"4"},{"id":"Alarmed","name":"Alarmed","value":"5"},{"id":"InUseExpired","name":"InUseExpired","value":"6"},{"id":"Conflict","name":"Conflict","value":"7"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L28"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"conflict?-instance-method","name":"conflict?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L30"},"def":{"name":"conflict?","visibility":"Public","body":"self == Conflict"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L24"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"free?-instance-method","name":"free?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L25"},"def":{"name":"free?","visibility":"Public","body":"self == Free"}},{"html_id":"in_use?-instance-method","name":"in_use?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L26"},"def":{"name":"in_use?","visibility":"Public","body":"self == InUse"}},{"html_id":"in_use_expired?-instance-method","name":"in_use_expired?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L29"},"def":{"name":"in_use_expired?","visibility":"Public","body":"self == InUseExpired"}},{"html_id":"locked?-instance-method","name":"locked?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L27"},"def":{"name":"locked?","visibility":"Public","body":"self == Locked"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L23"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/ProtocolJSON","path":"Gantner/Relaxx/ProtocolJSON.html","kind":"class","full_name":"Gantner::Relaxx::ProtocolJSON","name":"ProtocolJSON","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"close_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"close_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L115"},"def":{"name":"close_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(false, locker_number, locker_group)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"self[\"authenticated\"] = @authenticated = false\nrequest_auth_string\nschedule.every(40.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n @authenticated ? keep_alive : request_auth_string\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L58"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L62"},"def":{"name":"keep_alive","visibility":"Public","body":"send_frame({Caption: \"KeepAliveRequest\", Id: new_request_id}, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[3])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@password = (setting?(String, :password)) || \"GAT\""}},{"html_id":"open_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"open_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L111"},"def":{"name":"open_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(true, locker_number, locker_group)"}},{"html_id":"query_lockers(free_only:Bool=false)-instance-method","name":"query_lockers","abstract":false,"args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"args_string":"(free_only : Bool = false)","args_html":"(free_only : Bool = false)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L147"},"def":{"name":"query_lockers","args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"visibility":"Public","body":"send_frame({Caption: \"GetLockersRequest\", Id: new_request_id, FreeLockersOnly: free_only, PersonalLockersOnly: false})"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L156"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data))[1..-2]\nlogger.debug do\n \"Gantner Relaxx sent: #{data}\"\nend\njson = JSON.parse(data)\nif json[\"IsNotification\"].as_bool\n return parse_notify(json[\"Caption\"].as_s, data)\nend\nresult = Result.from_json(json[\"Result\"].to_json)\nif result.cancelled\n return task.try(&.abort(\"request cancelled, #{result.code}: #{result.text}\"))\nend\nif !result.successful\n return task.try(&.abort(\"request failed, #{result.code}: #{result.text}\"))\nend\ncase json[\"Caption\"].as_s\nwhen \"AuthenticationResponseA\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n return task.try(&.success)\n end\n login(json[\"AuthenticationString\"].as_s)\nwhen \"AuthenticationResponseB\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n logger.debug do\n \"authentication success\"\n end\n if @locker_ids.empty?\n query_lockers\n end\n else\n logger.warn do\n \"authentication failure - please check credentials\"\n end\n end\nwhen \"GetLockersResponse\"\n lockers = Array(Locker).from_json(json[\"Lockers\"].to_json)\n lockers.each do |locker|\n locker_id = locker.id\n @locker_ids << locker_id\n if locker.locker_state != LockerState::Free\n @lockers_in_use << locker_id\n self[\"locker_#{locker_id}\"] = locker.card_id\n else\n @lockers_in_use.delete(locker_id)\n end\n end\n self[:locker_ids] = @locker_ids\n self[:lockers_in_use] = @lockers_in_use\nwhen \"CommandNotSupportedResponse\"\n logger.warn do\n \"Command not supported!\"\n end\n return task.try(&.abort(\"Command not supported!\"))\nend\ntask.try(&.success)\n"}},{"html_id":"request_auth_string-instance-method","name":"request_auth_string","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L69"},"def":{"name":"request_auth_string","visibility":"Public","body":"send_frame({Caption: \"AuthenticationRequestA\", Id: new_request_id}, priority: 9998)"}},{"html_id":"set_open_state(open:Bool,locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"set_open_state","abstract":false,"args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","args_html":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L119"},"def":{"name":"set_open_state","args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"action = open ? \"0\" : \"1\"\ntask = if locker_number.includes?(\"-\")\n send_frame({Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerId: locker_number})\nelse\n request = {Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerNumber: locker_number}\n if locker_group\n send_frame(request.merge({LockerGroupId: locker_group}))\n else\n send_frame(request)\n end\nend\ntask\n"}}]},{"html_id":"drivers/Gantner/Relaxx/Result","path":"Gantner/Relaxx/Result.html","kind":"class","full_name":"Gantner::Relaxx::Result","name":"Result","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancelled:Bool-instance-method","name":"cancelled","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled","return_type":"Bool","visibility":"Public","body":"@cancelled"}},{"html_id":"cancelled=(cancelled:Bool)-instance-method","name":"cancelled=","abstract":false,"args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"args_string":"(cancelled : Bool)","args_html":"(cancelled : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled=","args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"visibility":"Public","body":"@cancelled = cancelled"}},{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"successful:Bool-instance-method","name":"successful","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful","return_type":"Bool","visibility":"Public","body":"@successful"}},{"html_id":"successful=(successful:Bool)-instance-method","name":"successful=","abstract":false,"args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"args_string":"(successful : Bool)","args_html":"(successful : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful=","args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"visibility":"Public","body":"@successful = successful"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}}]}]}]},{"html_id":"drivers/GlobalCache","path":"GlobalCache.html","kind":"module","full_name":"GlobalCache","name":"GlobalCache","abstract":false,"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GlobalCache/Gc100","path":"GlobalCache/Gc100.html","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\""}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"}],"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"@relay_config = {} of String => Hash(Int32, String)\n@port_config = {} of String => Tuple(String, Int32)\nself[:config_indexed] = false\nschedule.clear\nschedule.every(10.seconds, true) do\n logger.debug do\n \"-- Polling GC100\"\n end\n if self[:config_indexed].as_bool\n else\n get_devices\n end\n do_send(\"get_NET,0:1\", priority: 0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L40"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_devices-instance-method","name":"get_devices","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L44"},"def":{"name":"get_devices","visibility":"Public","body":"do_send(\"getdevices\")"}},{"html_id":"ir(index:Int32,command:String,**options)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String, **options)","args_html":"(index : Int32, command : String, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L59"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"sendir,1:#{index},#{command}\", **options)"}},{"html_id":"ir_status?(index:Int32,**options)-instance-method","name":"ir_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L88"},"def":{"name":"ir_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\nself[:num_relays] = 0\nself[:num_ir] = 0\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/global_cache/gc_100.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L97"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nlogger.debug do\n \"GlobalCache sent #{data}\"\nend\ndata = data.split(',')\ntask_name = task.try(&.name) || \"unknown\"\ncase data[0]\nwhen \"state\", \"statechange\"\n type, index = self[:port_config][data[1]]\n self[\"#{type}#{index}\"] = data[2] == \"1\"\nwhen \"device\"\n address = data[1]\n number, type = data[2].split(' ')\n type = type.downcase\n __temp_221 = type\n @relay_config[__temp_221]? || (@relay_config[__temp_221] = {} of Int32 => String)\n current = @relay_config[type].size\n (current..((current + number.to_i) - 1)).each_with_index(1) do |i, dev_index|\n port = \"#{address}:#{dev_index}\"\n @relay_config[type][i] = port\n @port_config[port] = {type, i}\n end\n return task.try(&.success)\nwhen \"endlistdevices\"\n if @relay_config[\"relay\"]?\n self[:num_relays] = @relay_config[\"relay\"].size\n end\n if @relay_config[\"relaysensor\"]?\n @relay_config[\"relaysensor\"][1] = \"1:2\"\n @relay_config[\"relaysensor\"][2] = \"1:3\"\n @relay_config[\"relaysensor\"][3] = \"1:4\"\n self[:num_relays] = @relay_config[\"relaysensor\"].size\n end\n if @relay_config[\"ir\"]?\n self[:num_ir] = @relay_config[\"ir\"].size\n end\n self[:relay_config] = @relay_config\n self[:port_config] = @port_config\n logger.debug do\n \"self[:relay_config] is #{self[:relay_config]}\"\n end\n logger.debug do\n \"self[:port_config] is #{self[:port_config]}\"\n end\n @relay_config = {} of String => Hash(Int32, String)\n @port_config = {} of String => Tuple(String, Int32)\n self[:config_indexed] = true\n return task.try(&.success)\nend\nif data.size == 1\n error = case (data[0].split(' '))[1].to_i\n when 1\n \"Command was missing the carriage return delimiter\"\n when 2\n \"Invalid module address when looking for version\"\n when 3\n \"Invalid module address\"\n when 4\n \"Invalid connector address\"\n when 5\n \"Connector address 1 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 6\n \"Connector address 2 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 7\n \"Connector address 3 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 8\n \"Offset is set to an even transition number, but should be set to an odd transition number in the IR command\"\n when 9\n \"Maximum number of transitions exceeded (256 total on/off transitions allowed)\"\n when 10\n \"Number of transitions in the IR command is not even (the same number of on and off transitions is required)\"\n when 11\n \"Contact closure command sent to a module that is not a relay\"\n when 12\n \"Missing carriage return. All commands must end with a carriage return\"\n when 13\n \"State was requested of an invalid connector address, or the connector is programmed as IR out and not sensor in.\"\n when 14\n \"Command sent to the unit is not supported by the GC-100\"\n when 15\n \"Maximum number of IR transitions exceeded\"\n when 16\n \"Invalid number of IR transitions (must be an even number)\"\n when 21\n \"Attempted to send an IR command to a non-IR module\"\n when 23\n \"Command sent is not supported by this type of module\"\n else\n \"Unknown error\"\n end\n return task.try(&.abort(\"GlobalCache error for command #{task_name}: #{error}\"))\nend\ntask.try(&.success)\n"}},{"html_id":"relay(state:Bool,index:Int32=0,**options)-instance-method","name":"relay","doc":"`**options` here will be passed to the `task` to allow for different priorities","summary":"

**options here will be passed to the task to allow for different priorities

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(state : Bool, index : Int32 = 0, **options)","args_html":"(state : Bool, index : Int32 = 0, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L48"},"def":{"name":"relay","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n relays = (self[:relay_config][\"relay\"]? || self[:relay_config][\"relaysensor\"]?).not_nil!.as_h\n logger.debug do\n \"relays = #{relays}\"\n end\n connector = relays[index.to_s]\n do_send(\"setstate,#{connector},#{state ? 1 : 0}\", **options)\nelse\n logger.warn do\n \"Attempted to set relay on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"relay_status?(index:Int32,**options)-instance-method","name":"relay_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L79"},"def":{"name":"relay_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n connector = self[:relay_config][\"relay\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"set_ir(index:Int32,mode:IrMode,**options)-instance-method","name":"set_ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"args_string":"(index : Int32, mode : IrMode, **options)","args_html":"(index : Int32, mode : IrMode, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L70"},"def":{"name":"set_ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"set_IR,#{connector},#{mode}\", **options)\nelse\n logger.warn do\n \"Attempted to set IR mode on GlobalCache that does not exist: #{index}\"\n end\nend"}}],"types":[{"html_id":"drivers/GlobalCache/Gc100/IrMode","path":"GlobalCache/Gc100/IrMode.html","kind":"enum","full_name":"GlobalCache::Gc100::IrMode","name":"IrMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L63"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IR","name":"IR","value":"0"},{"id":"SENSOR","name":"SENSOR","value":"1"},{"id":"SENSOR_NOTIFY","name":"SENSOR_NOTIFY","value":"2"},{"id":"IR_NOCARRIER","name":"IR_NOCARRIER","value":"3"}],"namespace":{"html_id":"drivers/GlobalCache/Gc100","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100"},"instance_methods":[{"html_id":"ir?-instance-method","name":"ir?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L64"},"def":{"name":"ir?","visibility":"Public","body":"self == IR"}},{"html_id":"ir_nocarrier?-instance-method","name":"ir_nocarrier?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L67"},"def":{"name":"ir_nocarrier?","visibility":"Public","body":"self == IR_NOCARRIER"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L65"},"def":{"name":"sensor?","visibility":"Public","body":"self == SENSOR"}},{"html_id":"sensor_notify?-instance-method","name":"sensor_notify?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L66"},"def":{"name":"sensor_notify?","visibility":"Public","body":"self == SENSOR_NOTIFY"}}]}]},{"html_id":"drivers/GlobalCache/IRTV","path":"GlobalCache/IRTV.html","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"channel(id:String,ir_set:String=\"\",ir_index:Int32=0)-instance-method","name":"channel","doc":"Actually send the IR commands, via the globalcache","summary":"

Actually send the IR commands, via the globalcache

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"args_string":"(id : String, ir_set : String = \"\", ir_index : Int32 = 0)","args_html":"(id : String, ir_set : String = "", ir_index : Int32 = 0)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L150"},"def":{"name":"channel","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"visibility":"Public","body":"if ir_set.presence\nelse\n ir_set = @default_ir_set\nend\nif ir_index == 0\n ir_index = @default_ir_index\nend\nresult = @channel_lookup[id].ir_commands.map do |ir_command_name|\n (system[@globalcache].ir(ir_index, @ir_commands[ir_set][ir_command_name])).get\n sleep(500.milliseconds)\nend\nself[:current_channel] = id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L119"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L123"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache = setting(String, :globalcache_module)\n@default_ir_set = setting(String, :default_ir_set)\n@default_ir_index = setting(Int32, :default_ir_index)\n@channels = setting(Array(Channel), :channel_details)\nupdated_channel_lookup = {} of String => Channel\n@channels.each do |channel|\n updated_channel_lookup[channel.channel] = channel\nend\n@channel_lookup = updated_channel_lookup\nglobalcache_ir_sets = setting(Hash(String, String), :globalcache_ir_sets)\nupdated_ir_commands = {} of String => Hash(String, String)\nglobalcache_ir_sets.each do |device, all_commands|\n updated_ir_commands[device] = parse_all_commands(all_commands)\nend\n@ir_commands = updated_ir_commands\nself[:channel_details] = @channels\nself[:ir_commands] = @ir_commands\n"}}],"types":[{"html_id":"drivers/GlobalCache/IRTV/Channel","path":"GlobalCache/IRTV/Channel.html","kind":"class","full_name":"GlobalCache::IRTV::Channel","name":"Channel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GlobalCache/IRTV","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L87"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L86"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"ir_commands:Array(String)-instance-method","name":"ir_commands","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L88"},"def":{"name":"ir_commands","return_type":"Array(String)","visibility":"Public","body":"@ir_commands"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L85"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/GlobalCache/ProjectorScreen","path":"GlobalCache/ProjectorScreen.html","kind":"class","full_name":"GlobalCache::ProjectorScreen","name":"ProjectorScreen","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"down-instance-method","name":"down","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L54"},"def":{"name":"down","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_down)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache_module = (setting(String, :globalcache_module)) || \"DigitalIO_1\"\n@globalcache_relay_method = (setting(String, :globalcache_relay_method)) || \"pulse\"\n@globalcache_relay_index_down = (setting(Int32, :globalcache_relay_index_down)) || 0\n@globalcache_relay_index_up = (setting(Int32, :globalcache_relay_index_up)) || 1\n@globalcache_relay_pulse_milliseconds = (setting(Int32, :globalcache_relay_pulse_milliseconds)) || 1000\n"}},{"html_id":"up-instance-method","name":"up","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L43"},"def":{"name":"up","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_up)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}}]}]},{"html_id":"drivers/GoBright","path":"GoBright.html","kind":"module","full_name":"GoBright","name":"GoBright","abstract":false,"locations":[{"filename":"src/gobright/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GoBright/AccessToken","path":"GoBright/AccessToken.html","kind":"struct","full_name":"GoBright::AccessToken","name":"AccessToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L195"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"expires_at:Time-instance-method","name":"expires_at","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L198"},"def":{"name":"expires_at","return_type":"Time","visibility":"Public","body":"expires_in.seconds.from_now"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L196"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}}]},{"html_id":"drivers/GoBright/Amenity","path":"GoBright/Amenity.html","kind":"struct","full_name":"GoBright::Amenity","name":"Amenity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L89"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L90"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_for_desk:Bool|Nil-instance-method","name":"available_for_desk","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L101"},"def":{"name":"available_for_desk","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_desk"}},{"html_id":"available_for_parking:Bool|Nil-instance-method","name":"available_for_parking","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L104"},"def":{"name":"available_for_parking","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_parking"}},{"html_id":"available_for_room:Bool|Nil-instance-method","name":"available_for_room","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L98"},"def":{"name":"available_for_room","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_room"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L93"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L94"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L92"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"order:Int32|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L95"},"def":{"name":"order","return_type":"Int32 | ::Nil","visibility":"Public","body":"@order"}}]},{"html_id":"drivers/GoBright/API","path":"GoBright/API.html","kind":"class","full_name":"GoBright::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"bookings(starting:Int64,ending:Int64,location_id:String|Array(String)|Nil=nil,space_id:String|Array(String)|Nil=nil)-instance-method","name":"bookings","doc":"the list of booking occurances in the time period specified","summary":"

the list of booking occurances in the time period specified

","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","args_html":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L109"},"def":{"name":"bookings","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"1000\")\n form.add(\"include\", \"spaces,organizer,attendees\")\n form.add(\"start\", (Time.unix(starting)).to_rfc3339)\n form.add(\"end\", (Time.unix(ending)).to_rfc3339)\n if location_id\n location_ids = location_id.is_a?(Array) ? location_id : [location_id]\n location_ids.each do |loc|\n form.add(\"locationIds\", loc)\n end\n end\n if space_id\n space_ids = space_id.is_a?(Array) ? space_id : [space_id]\n space_ids.each do |space|\n form.add(\"spaceIds\", space)\n end\n end\nend\nArray(Occurrence).from_json(fetch(\"/api/v2.0/bookings/occurrences?#{params}\"))\n"}},{"html_id":"fetch(location:String):String-instance-method","name":"fetch","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/gobright/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L29"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"next_page = location\nappend = location.includes?('?') ? '&' : '?'\nString.build do |str|\n str << \"[\"\n loop do\n logger.debug do\n \"requesting: #{next_page}\"\n end\n response = get(next_page, headers: HTTP::Headers {\"Authorization\" => get_token, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = begin\n Response.from_json(response.body)\n rescue error : JSON::SerializableError\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(error)\n end\n if data = payload.data || payload.items\n str << data.strip[1..-2]\n end\n continuation = payload.paging.try(&.token)\n total_items = payload.paging.try(&.total)\n if continuation\n next_page = \"#{location}#{append}continuationToken=#{continuation}\"\n else\n if total_items\n uri = URI.parse(next_page)\n params = uri.query_params\n skip = params[\"pagingSkip\"]?.try(&.to_i) || 0\n taking = params[\"pagingTake\"]?.try(&.to_i) || 100\n if (skip + taking) >= total_items\n break\n end\n params[\"pagingSkip\"] = (skip + taking).to_s\n uri.query_params = params\n next_page = uri.to_s\n else\n break\n end\n end\n str << \",\"\n end\n str << \"]\"\nend\n"}},{"html_id":"live_occupancy(location:String,type:SpaceType|Nil=nil)-instance-method","name":"live_occupancy","doc":"the occupancy status of the spaces","summary":"

the occupancy status of the spaces

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"args_string":"(location : String, type : SpaceType | Nil = nil)","args_html":"(location : String, type : SpaceType | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L132"},"def":{"name":"live_occupancy","args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n form.add(\"filterLocationId\", location)\n if type\n form.add(\"filterSpaceType\", type.value.to_s)\n end\nend\nArray(Occupancy).from_json(fetch(\"/api/v2.0/occupancy/space/live?#{params}\"))\n"}},{"html_id":"locations-instance-method","name":"locations","doc":"the list of buildings, levels, areas etc","summary":"

the list of buildings, levels, areas etc

","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L88"},"def":{"name":"locations","visibility":"Public","body":"Array(Location).from_json(fetch(\"/api/v2.0/locations?pagingTake=100\"))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}},{"html_id":"spaces(location:String|Nil=nil,types:SpaceType|Array(SpaceType)|Nil=nil)-instance-method","name":"spaces","doc":"a list of spaces in the locations. rooms, desks and parking","summary":"

a list of spaces in the locations.

","abstract":false,"args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"args_string":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","args_html":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L93"},"def":{"name":"spaces","args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n if location.presence.nil?\n else\n form.add(\"LocationId\", location.to_s)\n end\n if types\n types = types.is_a?(Array) ? types : [types]\n types.each do |type|\n form.add(\"SpaceTypes\", type.value.to_s)\n end\n end\nend\nArray(Space).from_json(fetch(\"/api/v2.0/spaces?#{params}\"))\n"}}]},{"html_id":"drivers/GoBright/ApprovalState","path":"GoBright/ApprovalState.html","kind":"enum","full_name":"GoBright::ApprovalState","name":"ApprovalState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L203"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Inactive","name":"Inactive","value":"0"},{"id":"NeedsApproval","name":"NeedsApproval","value":"1"},{"id":"Approved","name":"Approved","value":"2"},{"id":"Rejected","name":"Rejected","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"approved?-instance-method","name":"approved?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L206"},"def":{"name":"approved?","visibility":"Public","body":"self == Approved"}},{"html_id":"inactive?-instance-method","name":"inactive?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L204"},"def":{"name":"inactive?","visibility":"Public","body":"self == Inactive"}},{"html_id":"needs_approval?-instance-method","name":"needs_approval?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L205"},"def":{"name":"needs_approval?","visibility":"Public","body":"self == NeedsApproval"}},{"html_id":"rejected?-instance-method","name":"rejected?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L207"},"def":{"name":"rejected?","visibility":"Public","body":"self == Rejected"}}]},{"html_id":"drivers/GoBright/Attendee","path":"GoBright/Attendee.html","kind":"struct","full_name":"GoBright::Attendee","name":"Attendee","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L222"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"email_address=(email_address:String|Nil)-instance-method","name":"email_address=","abstract":false,"args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"args_string":"(email_address : String | Nil)","args_html":"(email_address : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L222"},"def":{"name":"email_address=","args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email_address = email_address"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L223"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L223"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/GoBright/BookingType","path":"GoBright/BookingType.html","kind":"enum","full_name":"GoBright::BookingType","name":"BookingType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L210"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"BookingOnRoom","name":"BookingOnRoom","value":"0"},{"id":"ServiceOnly","name":"ServiceOnly","value":"1"},{"id":"BookingOnDesk","name":"BookingOnDesk","value":"2"},{"id":"BookingAsTeam","name":"BookingAsTeam","value":"3"},{"id":"BookingOnParking","name":"BookingOnParking","value":"4"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"booking_as_team?-instance-method","name":"booking_as_team?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L214"},"def":{"name":"booking_as_team?","visibility":"Public","body":"self == BookingAsTeam"}},{"html_id":"booking_on_desk?-instance-method","name":"booking_on_desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L213"},"def":{"name":"booking_on_desk?","visibility":"Public","body":"self == BookingOnDesk"}},{"html_id":"booking_on_parking?-instance-method","name":"booking_on_parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L215"},"def":{"name":"booking_on_parking?","visibility":"Public","body":"self == BookingOnParking"}},{"html_id":"booking_on_room?-instance-method","name":"booking_on_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L211"},"def":{"name":"booking_on_room?","visibility":"Public","body":"self == BookingOnRoom"}},{"html_id":"service_only?-instance-method","name":"service_only?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L212"},"def":{"name":"service_only?","visibility":"Public","body":"self == ServiceOnly"}}]},{"html_id":"drivers/GoBright/DeskPeriod","path":"GoBright/DeskPeriod.html","kind":"struct","full_name":"GoBright::DeskPeriod","name":"DeskPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L67"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L64"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L55"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L61"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L58"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Location","path":"GoBright/Location.html","kind":"struct","full_name":"GoBright::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L107"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_desk_periods:DeskPeriod|Nil-instance-method","name":"booking_desk_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L142"},"def":{"name":"booking_desk_periods","return_type":"DeskPeriod | ::Nil","visibility":"Public","body":"@booking_desk_periods"}},{"html_id":"booking_parking_periods:ParkingPeriod|Nil-instance-method","name":"booking_parking_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L145"},"def":{"name":"booking_parking_periods","return_type":"ParkingPeriod | ::Nil","visibility":"Public","body":"@booking_parking_periods"}},{"html_id":"full_path:String|Nil-instance-method","name":"full_path","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L130"},"def":{"name":"full_path","return_type":"String | ::Nil","visibility":"Public","body":"@full_path"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L133"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L110"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_id:String|Nil-instance-method","name":"image_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L139"},"def":{"name":"image_id","return_type":"String | ::Nil","visibility":"Public","body":"@image_id"}},{"html_id":"level:Int64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L127"},"def":{"name":"level","return_type":"Int64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L118"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name_indented:String|Nil-instance-method","name":"name_indented","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L121"},"def":{"name":"name_indented","return_type":"String | ::Nil","visibility":"Public","body":"@name_indented"}},{"html_id":"old_id:Int64|Nil-instance-method","name":"old_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L113"},"def":{"name":"old_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@old_id"}},{"html_id":"order:Int64|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L124"},"def":{"name":"order","return_type":"Int64 | ::Nil","visibility":"Public","body":"@order"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L116"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"visitor_kiosk_enabled:Bool|Nil-instance-method","name":"visitor_kiosk_enabled","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L136"},"def":{"name":"visitor_kiosk_enabled","return_type":"Bool | ::Nil","visibility":"Public","body":"@visitor_kiosk_enabled"}}]},{"html_id":"drivers/GoBright/LocationService","path":"GoBright/LocationService.html","kind":"class","full_name":"GoBright::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCHES","name":"NO_MATCHES","value":"[] of String"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L74"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"cache_space_details-instance-method","name":"cache_space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L77"},"def":{"name":"cache_space_details","visibility":"Public","body":"space_details = {} of String => Space\n(Array(Space).from_json(gobright.spaces.get.to_json)).each do |space|\n space_details[space.id] = space\nend\n@space_details = space_details\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/gobright/location_service.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L128"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"checking ownership of: #{mac_address}\"\nend\nif mac_address.starts_with?(\"gobright-\")\nelse\n return\nend\nid = (mac_address.split(\"gobright-\"))[1]\n@cached_booking_data.each do |zone_id, lookup|\n if booking = lookup[id]?\n return {location: \"booking\", assigned_to: booking.organizer.try(&.email_address) || (booking.attendees.first.email_address.as(String)), mac_address: mac_address}\n end\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L145"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nif location && (!(location.in?({\"desk\", \"area\", \"booking\"})))\n return [] of Nil\nend\ngobright_location_id = @floor_mappings[zone_id]\nspaces = {} of String => Space\nspace_details.each_value do |space|\n if space.location_id == gobright_location_id\n else\n next\n end\n spaces[space.id] = space.dup\nend\noccupancy = Array(Occupancy).from_json((gobright.live_occupancy(gobright_location_id)).get.to_json)\noccupancy.each do |details|\n space = spaces[details.id]?\n if space\n else\n next\n end\n space.occupied = details.occupied? || false\nend\ndesk_types = @desk_space_types\noccupancy_locs = spaces.values.compact_map do |space|\n loc_type = space.type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n if (occupied = space.occupied?) || @return_empty_spaces\n {location: loc_type, at_location: occupied ? 1 : 0, map_id: space.name, level: zone_id, building: building_id, capacity: space.capacity || 1, gobright_location_id: gobright_location_id, gobright_space_name: space.name, gobright_space_type: space.type, gobright_space_id: space.id}\n end\nend\nif location && (location != \"booking\")\n return spaces\nend\nbookings = Array(Occurrence).from_json((gobright.bookings(1.minutes.ago.to_unix, 10.minutes.from_now.to_unix, gobright_location_id)).get.to_json)\nlookup = {} of String => Occurrence\nbooking_locs = bookings.compact_map do |occurrence|\n space = nil\n occurrence.spaces.each do |details|\n space = spaces[details.id]?\n if space\n break\n end\n end\n if space\n else\n next\n end\n occurrence.zone_id = zone_id\n occurrence.matched_space = space\n lookup[occurrence.id] = occurrence\n map_booking(occurrence, space, zone_id)\nend\n@cached_booking_data[zone_id] = lookup\nbooking_locs.map() do |__arg6|\n __arg6.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend + occupancy_locs.map() do |__arg7|\n __arg7.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L66"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L61"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"if (value = @level_details).nil?\n @level_details = (Hash(String, LevelCapacity).from_json(area_management.level_details.get.to_json))\nelse\n value\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"NOTE:: we could keep track of current bookings and then use that information to assign ownership of a desk\nif the desks are being booked via the check-in/check-out\nthis would allow us to locate","summary":"

NOTE : we could keep track of current bookings and then use that information to assign ownership of a desk if the desks are being booked via the check-in/check-out this would allow us to locate

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L95"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for user #{email}\"\nend\nmatches = [] of Occurrence\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n else\n next\n end\n matches << booking\n end\nend\nmatches.compact_map do |booking|\n zone_id = booking.zone_id\n map_booking(booking, booking.matched_space, zone_id, level_details[zone_id]?.try(&.desk_mappings))\nend\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/gobright/location_service.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L116"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"if email\nelse\n return NO_MATCHES\nend\nlogger.debug do\n \"checking if any bookings for email: #{email}\"\nend\nmatches = [] of String\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n matches << \"gobright-#{booking.id}\"\n end\n end\nend\nmatches\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(SpaceType), :desk_space_types)) || [SpaceType::Desk]\n@floor_mappings = (setting(Hash(String, Mapping), :gobright_floor_mappings)).transform_values(&.location_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\ntimezone = Time::Location.load(system.timezone.presence || \"Australia/Sydney\")\nschedule.clear\nschedule.cron((setting?(String, :space_cache_cron)) || \"0 5 * * *\", timezone) do\n cache_space_details\nend\nschedule.every(10.minutes) do\n @level_details = nil\nend\n"}},{"html_id":"space_details:Hash(String,Space)-instance-method","name":"space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L75"},"def":{"name":"space_details","return_type":"Hash(String, Space)","visibility":"Public","body":"if (value = @space_details).nil?\n @space_details = (cache_space_details)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/GoBright/LocationService/LevelCapacity","path":"GoBright/LocationService/LevelCapacity.html","kind":"struct","full_name":"GoBright::LocationService::LevelCapacity","name":"LevelCapacity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_mappings:Hash(String,String)-instance-method","name":"desk_mappings","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L45"},"def":{"name":"desk_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"@desk_mappings"}}]},{"html_id":"drivers/GoBright/LocationService/Mapping","path":"GoBright/LocationService/Mapping.html","kind":"struct","full_name":"GoBright::LocationService::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L39"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}}]}]},{"html_id":"drivers/GoBright/Metadata","path":"GoBright/Metadata.html","kind":"struct","full_name":"GoBright::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L11"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"status_code:Int32|Nil-instance-method","name":"status_code","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L8"},"def":{"name":"status_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status_code"}},{"html_id":"validation_errors:Array(Hash(String,String))|Nil-instance-method","name":"validation_errors","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L14"},"def":{"name":"validation_errors","return_type":"Array(Hash(String, String)) | ::Nil","visibility":"Public","body":"@validation_errors"}}]},{"html_id":"drivers/GoBright/Occupancy","path":"GoBright/Occupancy.html","kind":"struct","full_name":"GoBright::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L182"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L183"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L186"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"occupied?:Bool|Nil-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L189"},"def":{"name":"occupied?","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}}]},{"html_id":"drivers/GoBright/Occurrence","path":"GoBright/Occurrence.html","kind":"struct","full_name":"GoBright::Occurrence","name":"Occurrence","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L226"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L227"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approval_state:ApprovalState|Nil-instance-method","name":"approval_state","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L244"},"def":{"name":"approval_state","return_type":"ApprovalState | ::Nil","visibility":"Public","body":"@approval_state"}},{"html_id":"approval_state=(approval_state:ApprovalState|Nil)-instance-method","name":"approval_state=","abstract":false,"args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"args_string":"(approval_state : ApprovalState | Nil)","args_html":"(approval_state : ApprovalState | Nil)","location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L244"},"def":{"name":"approval_state=","args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"visibility":"Public","body":"@approval_state = approval_state"}},{"html_id":"attendee_amount:Int32|Nil-instance-method","name":"attendee_amount","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount","return_type":"Int32 | ::Nil","visibility":"Public","body":"@attendee_amount"}},{"html_id":"attendee_amount=(attendee_amount:Int32|Nil)-instance-method","name":"attendee_amount=","abstract":false,"args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"args_string":"(attendee_amount : Int32 | Nil)","args_html":"(attendee_amount : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount=","args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@attendee_amount = attendee_amount"}},{"html_id":"attendees:Array(Attendee)-instance-method","name":"attendees","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L260"},"def":{"name":"attendees","return_type":"Array(Attendee)","visibility":"Public","body":"@attendees"}},{"html_id":"attendees=(attendees:Array(Attendee))-instance-method","name":"attendees=","abstract":false,"args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"args_string":"(attendees : Array(Attendee))","args_html":"(attendees : Array(Attendee))","location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L260"},"def":{"name":"attendees=","args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"visibility":"Public","body":"@attendees = attendees"}},{"html_id":"booking_type:BookingType-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L235"},"def":{"name":"booking_type","return_type":"BookingType","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:BookingType)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"args_string":"(booking_type : BookingType)","args_html":"(booking_type : BookingType)","location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L235"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"composed_id:String-instance-method","name":"composed_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L232"},"def":{"name":"composed_id","return_type":"String","visibility":"Public","body":"@composed_id"}},{"html_id":"composed_id=(composed_id:String)-instance-method","name":"composed_id=","abstract":false,"args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"args_string":"(composed_id : String)","args_html":"(composed_id : String)","location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L232"},"def":{"name":"composed_id=","args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"visibility":"Public","body":"@composed_id = composed_id"}},{"html_id":"confirmation_active:Bool|Nil-instance-method","name":"confirmation_active","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmation_active"}},{"html_id":"confirmation_active=(confirmation_active:Bool|Nil)-instance-method","name":"confirmation_active=","abstract":false,"args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"args_string":"(confirmation_active : Bool | Nil)","args_html":"(confirmation_active : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active=","args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmation_active = confirmation_active"}},{"html_id":"confirmation_window_end:String|Nil-instance-method","name":"confirmation_window_end","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_end"}},{"html_id":"confirmation_window_end=(confirmation_window_end:String|Nil)-instance-method","name":"confirmation_window_end=","abstract":false,"args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_end : String | Nil)","args_html":"(confirmation_window_end : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end=","args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_end = confirmation_window_end"}},{"html_id":"confirmation_window_start:String|Nil-instance-method","name":"confirmation_window_start","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_start"}},{"html_id":"confirmation_window_start=(confirmation_window_start:String|Nil)-instance-method","name":"confirmation_window_start=","abstract":false,"args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_start : String | Nil)","args_html":"(confirmation_window_start : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start=","args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_start = confirmation_window_start"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L256"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L256"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L229"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L229"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"intention_type:Int32|Nil-instance-method","name":"intention_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L238"},"def":{"name":"intention_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@intention_type"}},{"html_id":"intention_type=(intention_type:Int32|Nil)-instance-method","name":"intention_type=","abstract":false,"args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"args_string":"(intention_type : Int32 | Nil)","args_html":"(intention_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L238"},"def":{"name":"intention_type=","args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@intention_type = intention_type"}},{"html_id":"is_anonymously_booked:Bool|Nil-instance-method","name":"is_anonymously_booked","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_anonymously_booked"}},{"html_id":"is_anonymously_booked=(is_anonymously_booked:Bool|Nil)-instance-method","name":"is_anonymously_booked=","abstract":false,"args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"args_string":"(is_anonymously_booked : Bool | Nil)","args_html":"(is_anonymously_booked : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked=","args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_anonymously_booked = is_anonymously_booked"}},{"html_id":"license_plate:String|Nil-instance-method","name":"license_plate","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L250"},"def":{"name":"license_plate","return_type":"String | ::Nil","visibility":"Public","body":"@license_plate"}},{"html_id":"license_plate=(license_plate:String|Nil)-instance-method","name":"license_plate=","abstract":false,"args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"args_string":"(license_plate : String | Nil)","args_html":"(license_plate : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L250"},"def":{"name":"license_plate=","args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"visibility":"Public","body":"@license_plate = license_plate"}},{"html_id":"matched_space:Space-instance-method","name":"matched_space","abstract":false,"def":{"name":"matched_space","return_type":"Space","visibility":"Public","body":"if (value = @matched_space).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#matched_space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"matched_space=(matched_space:Space)-instance-method","name":"matched_space=","abstract":false,"args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"args_string":"(matched_space : Space)","args_html":"(matched_space : Space)","location":{"filename":"src/gobright/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L278"},"def":{"name":"matched_space=","args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"visibility":"Public","body":"@matched_space = matched_space"}},{"html_id":"matched_space?:Space|Nil-instance-method","name":"matched_space?","abstract":false,"def":{"name":"matched_space?","return_type":"Space | ::Nil","visibility":"Public","body":"@matched_space"}},{"html_id":"organizer:Attendee|Nil-instance-method","name":"organizer","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L258"},"def":{"name":"organizer","return_type":"Attendee | ::Nil","visibility":"Public","body":"@organizer"}},{"html_id":"organizer=(organizer:Attendee|Nil)-instance-method","name":"organizer=","abstract":false,"args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"args_string":"(organizer : Attendee | Nil)","args_html":"(organizer : Attendee | Nil)","location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L258"},"def":{"name":"organizer=","args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"visibility":"Public","body":"@organizer = organizer"}},{"html_id":"recurrence_type:Int32|Nil-instance-method","name":"recurrence_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@recurrence_type"}},{"html_id":"recurrence_type=(recurrence_type:Int32|Nil)-instance-method","name":"recurrence_type=","abstract":false,"args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"args_string":"(recurrence_type : Int32 | Nil)","args_html":"(recurrence_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type=","args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@recurrence_type = recurrence_type"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L259"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L259"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L253"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L253"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}},{"html_id":"subject:String|Nil-instance-method","name":"subject","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L257"},"def":{"name":"subject","return_type":"String | ::Nil","visibility":"Public","body":"@subject"}},{"html_id":"subject=(subject:String|Nil)-instance-method","name":"subject=","abstract":false,"args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"args_string":"(subject : String | Nil)","args_html":"(subject : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L257"},"def":{"name":"subject=","args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"visibility":"Public","body":"@subject = subject"}},{"html_id":"zone_id:String-instance-method","name":"zone_id","abstract":false,"def":{"name":"zone_id","return_type":"String","visibility":"Public","body":"if (value = @zone_id).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#zone_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"zone_id=(zone_id:String)-instance-method","name":"zone_id=","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/gobright/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L275"},"def":{"name":"zone_id=","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"@zone_id = zone_id"}},{"html_id":"zone_id?:String|Nil-instance-method","name":"zone_id?","abstract":false,"def":{"name":"zone_id?","return_type":"String | ::Nil","visibility":"Public","body":"@zone_id"}}]},{"html_id":"drivers/GoBright/Paging","path":"GoBright/Paging.html","kind":"struct","full_name":"GoBright::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L24"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"total:Int32|Nil-instance-method","name":"total","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L21"},"def":{"name":"total","return_type":"Int32 | ::Nil","visibility":"Public","body":"@total"}}]},{"html_id":"drivers/GoBright/ParkingPeriod","path":"GoBright/ParkingPeriod.html","kind":"struct","full_name":"GoBright::ParkingPeriod","name":"ParkingPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L70"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L71"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L86"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L83"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L74"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L80"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L77"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Response","path":"GoBright/Response.html","kind":"struct","full_name":"GoBright::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L34"},"def":{"name":"data","return_type":"String | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"items:String|Nil-instance-method","name":"items","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L37"},"def":{"name":"items","return_type":"String | ::Nil","visibility":"Public","body":"@items"}},{"html_id":"metadata:Metadata|Nil-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L31"},"def":{"name":"metadata","return_type":"Metadata | ::Nil","visibility":"Public","body":"@metadata"}},{"html_id":"paging:Paging|Nil-instance-method","name":"paging","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L40"},"def":{"name":"paging","return_type":"Paging | ::Nil","visibility":"Public","body":"@paging"}}]},{"html_id":"drivers/GoBright/Space","path":"GoBright/Space.html","kind":"class","full_name":"GoBright::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"amenities:Array(Amenity)-instance-method","name":"amenities","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L160"},"def":{"name":"amenities","return_type":"Array(Amenity)","visibility":"Public","body":"@amenities"}},{"html_id":"capacity:Int64|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L170"},"def":{"name":"capacity","return_type":"Int64 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L169"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L158"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"integration_external_id:String|Nil-instance-method","name":"integration_external_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L173"},"def":{"name":"integration_external_id","return_type":"String | ::Nil","visibility":"Public","body":"@integration_external_id"}},{"html_id":"is_bookable:Bool|Nil-instance-method","name":"is_bookable","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L176"},"def":{"name":"is_bookable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_bookable"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L166"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L159"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L179"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupied?:Bool-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L179"},"def":{"name":"occupied?","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"type:SpaceType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L163"},"def":{"name":"type","return_type":"SpaceType | ::Nil","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/GoBright/SpaceType","path":"GoBright/SpaceType.html","kind":"enum","full_name":"GoBright::SpaceType","name":"SpaceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L148"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Room","name":"Room","value":"0"},{"id":"Desk","name":"Desk","value":"1"},{"id":"CombinedRoom","name":"CombinedRoom","value":"2"},{"id":"Parking","name":"Parking","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"combined_room?-instance-method","name":"combined_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L151"},"def":{"name":"combined_room?","visibility":"Public","body":"self == CombinedRoom"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L150"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}},{"html_id":"parking?-instance-method","name":"parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L152"},"def":{"name":"parking?","visibility":"Public","body":"self == Parking"}},{"html_id":"room?-instance-method","name":"room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L149"},"def":{"name":"room?","visibility":"Public","body":"self == Room"}}]}]},{"html_id":"drivers/Halite","path":"Halite.html","kind":"module","full_name":"Halite","name":"Halite","abstract":false,"locations":[{"filename":"lib/halite/src/halite.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite.cr#L4"},{"filename":"lib/halite/src/halite/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/chainable.cr#L3"},{"filename":"lib/halite/src/halite/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/client.cr#L8"},{"filename":"lib/halite/src/halite/error.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/error.cr#L1"},{"filename":"lib/halite/src/halite/feature.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/feature.cr#L1"},{"filename":"lib/halite/src/halite/features/cache.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/features/cache.cr#L5"},{"filename":"lib/halite/src/halite/features/logging.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/features/logging.cr#L10"},{"filename":"lib/halite/src/halite/form_data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/form_data.cr#L4"},{"filename":"lib/halite/src/halite/header_link.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/header_link.cr#L1"},{"filename":"lib/halite/src/halite/mime_type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/mime_type.cr#L1"},{"filename":"lib/halite/src/halite/options.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options.cr#L4"},{"filename":"lib/halite/src/halite/options/follow.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options/follow.cr#L1"},{"filename":"lib/halite/src/halite/options/timeout.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options/timeout.cr#L1"},{"filename":"lib/halite/src/halite/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/rate_limit.cr#L1"},{"filename":"lib/halite/src/halite/redirector.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/redirector.cr#L1"},{"filename":"lib/halite/src/halite/request.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/request.cr#L1"},{"filename":"lib/halite/src/halite/response.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/response.cr#L1"},{"filename":"lib/quantum/src/quantum/extensions/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/quantum/src/quantum/extensions/client.cr#L1"},{"filename":"lib/sabo/src/sabo/ext/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/sabo/src/sabo/ext/client.cr#L1"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/stripetease/src/stripetease/extensions/chainable.cr#L1"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Halite/Chainable","kind":"module","full_name":"Halite::Chainable","name":"Chainable"},{"html_id":"drivers/Halite/FeatureRegister","kind":"module","full_name":"Halite::FeatureRegister","name":"FeatureRegister"}],"types":[{"html_id":"drivers/Halite/Chainable","path":"Halite/Chainable.html","kind":"module","full_name":"Halite::Chainable","name":"Chainable","abstract":false,"locations":[{"filename":"lib/halite/src/halite/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/chainable.cr#L4"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/stripetease/src/stripetease/extensions/chainable.cr#L2"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Halite","kind":"module","full_name":"Halite","name":"Halite"},"instance_methods":[{"html_id":"cookies(cookies:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"cookies","doc":"Make a request with the given cookies\n\n```\nHalite.cookies({\"private-token\", \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.cookies({private-token: \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given cookies

","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L189"},"def":{"name":"cookies","args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_cookies(cookies))"}},{"html_id":"headers(headers:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"headers","doc":"Make a request with the given headers\n\n```\nHalite.headers({\"Content-Type\", \"application/json\", \"Connection\": \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.headers({content_type: \"application/json\", connection: \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given headers

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L166"},"def":{"name":"headers","args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_headers(headers))"}}]}]},{"html_id":"drivers/Helvar","path":"Helvar.html","kind":"module","full_name":"Helvar","name":"Helvar","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Helvar/Net","path":"Helvar/Net.html","kind":"class","full_name":"Helvar::Net","name":"Net","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_METHODS","name":"CMD_METHODS","value":"{group_scene: 11, device_scene: 12, group_level: 13, device_level: 14, group_proportion: 15, device_proportion: 16, group_modify_proportion: 17, device_modify_proportion: 18, group_emergency_test: 19, device_emergency_test: 20, group_emergency_duration_test: 21, device_emergency_duration_test: 22, group_emergency_stop: 23, device_emergency_stop: 24, query_lamp_hours: 70, query_ballast_hours: 71, query_max_voltage: 72, query_min_voltage: 73, query_max_temp: 74, query_min_temp: 75, query_device_types_with_addresses: 100, query_clusters: 101, query_routers: 102, query_LSIB: 103, query_device_type: 104, query_description_group: 105, query_description_device: 106, query_workgroup_name: 107, query_workgroup_membership: 108, query_last_scene: 109, query_device_state: 110, query_device_disabled: 111, query_lamp_failure: 112, query_device_faulty: 113, query_missing: 114, query_emergency_battery_failure: 129, query_measurement: 150, query_inputs: 151, query_load: 152, query_power_consumption: 160, query_group_power_consumption: 161, query_group: 164, query_groups: 165, query_scene_names: 166, query_scene_info: 167, query_emergency_func_test_time: 170, query_emergency_func_test_state: 171, query_emergency_duration_time: 172, query_emergency_duration_state: 173, query_emergency_battery_charge: 174, query_emergency_battery_time: 175, query_emergency_total_lamp_time: 176, query_time: 185, query_longitude: 186, query_latitude: 187, query_time_zone: 188, query_daylight_savings: 189, query_software_version: 190, query_helvar_net: 191}"},{"id":"COMMANDS","name":"COMMANDS","value":"{\"group_scene\" => \"11\", \"device_scene\" => \"12\", \"group_level\" => \"13\", \"device_level\" => \"14\", \"group_proportion\" => \"15\", \"device_proportion\" => \"16\", \"group_modify_proportion\" => \"17\", \"device_modify_proportion\" => \"18\", \"group_emergency_test\" => \"19\", \"device_emergency_test\" => \"20\", \"group_emergency_duration_test\" => \"21\", \"device_emergency_duration_test\" => \"22\", \"group_emergency_stop\" => \"23\", \"device_emergency_stop\" => \"24\", \"query_lamp_hours\" => \"70\", \"query_ballast_hours\" => \"71\", \"query_max_voltage\" => \"72\", \"query_min_voltage\" => \"73\", \"query_max_temp\" => \"74\", \"query_min_temp\" => \"75\", \"query_device_types_with_addresses\" => \"100\", \"query_clusters\" => \"101\", \"query_routers\" => \"102\", \"query_LSIB\" => \"103\", \"query_device_type\" => \"104\", \"query_description_group\" => \"105\", \"query_description_device\" => \"106\", \"query_workgroup_name\" => \"107\", \"query_workgroup_membership\" => \"108\", \"query_last_scene\" => \"109\", \"query_device_state\" => \"110\", \"query_device_disabled\" => \"111\", \"query_lamp_failure\" => \"112\", \"query_device_faulty\" => \"113\", \"query_missing\" => \"114\", \"query_emergency_battery_failure\" => \"129\", \"query_measurement\" => \"150\", \"query_inputs\" => \"151\", \"query_load\" => \"152\", \"query_power_consumption\" => \"160\", \"query_group_power_consumption\" => \"161\", \"query_group\" => \"164\", \"query_groups\" => \"165\", \"query_scene_names\" => \"166\", \"query_scene_info\" => \"167\", \"query_emergency_func_test_time\" => \"170\", \"query_emergency_func_test_state\" => \"171\", \"query_emergency_duration_time\" => \"172\", \"query_emergency_duration_state\" => \"173\", \"query_emergency_battery_charge\" => \"174\", \"query_emergency_battery_time\" => \"175\", \"query_emergency_total_lamp_time\" => \"176\", \"query_time\" => \"185\", \"query_longitude\" => \"186\", \"query_latitude\" => \"187\", \"query_time_zone\" => \"188\", \"query_daylight_savings\" => \"189\", \"query_software_version\" => \"190\", \"query_helvar_net\" => \"191\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"0\" => \"success\", \"1\" => \"invalid group index parameter\", \"2\" => \"invalid cluster parameter\", \"3\" => \"invalid router\", \"4\" => \"invalid router subnet\", \"5\" => \"invalid device parameter\", \"6\" => \"invalid sub device parameter\", \"7\" => \"invalid block parameter\", \"8\" => \"invalid scene\", \"9\" => \"cluster does not exist\", \"10\" => \"router does not exist\", \"11\" => \"device does not exist\", \"12\" => \"property does not exist\", \"13\" => \"invalid RAW message size\", \"14\" => \"invalid messages type\", \"15\" => \"invalid message command\", \"16\" => \"missing ASCII terminator\", \"17\" => \"missing ASCII parameter\", \"18\" => \"incompatible version\"}"},{"id":"PARAMS","name":"PARAMS","value":"{\"V\" => :ver, \"Q\" => :seq, \"C\" => :cmd, \"A\" => :ack, \"@\" => :addr, \"F\" => :fade, \"T\" => :time, \"L\" => :level, \"G\" => :group, \"S\" => :scene, \"B\" => :block, \"N\" => :latitude, \"E\" => :longitude, \"Z\" => :time_zone, \"P\" => :proportion, \"D\" => :display_screen, \"Y\" => :daylight_savings, \"O\" => :force_store_scene, \"K\" => :constant_light_scene}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Helvar","kind":"module","full_name":"Helvar","name":"Helvar"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Helvar\"\n end\n if poll_group = @poll_group\n get_current_preset(poll_group)\n else\n query_software_version\n end\nend"}},{"html_id":"device_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"22\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"24\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"20\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"14\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"18\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"16\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"12\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(group:Int32)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L67"},"def":{"name":"get_current_preset","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_last_scene(group: group, name: \"query_scene#{group}\")"}},{"html_id":"group_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"21\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"23\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"19\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"13\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"17\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"15\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"11\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"light_level(group:Int32,level:Int32,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, level : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, level : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L55"},"def":{"name":"light_level","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}_level\"] = level\ngroup_level(group: group, level: level, fade: fade, name: \"group_level#{group}\")\n"}},{"html_id":"lighting(group:Int32,state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(group : Int32, state : Bool)","args_html":"(group : Int32, state : Bool)","location":{"filename":"src/helvar/net.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L50"},"def":{"name":"lighting","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(group, level)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L337"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"group = check_arguments(area)\nif scene = (get_current_preset(group)).get(response_required: true).payload.to_i\n payload = (query_scene_levels(group)).get(response_required: true).payload\n levels = Array(Int32).from_json(payload)\n self[\"area#{group}_level\"] = levels[scene]\nend\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L328"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"get_current_preset(check_arguments(area))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"#\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(Int32, :version)) || 2\n@ignore_blocks = (setting?(Bool, :ignore_blocks)) || true\n@poll_group = setting?(Int32, :poll_group)\n"}},{"html_id":"query_ballast_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_ballast_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_ballast_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"71\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_clusters(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_clusters","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_clusters","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"101\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_daylight_savings(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_daylight_savings","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_daylight_savings","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"189\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_device(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_device","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_description_device","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"106\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_description_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"105\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_disabled(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_disabled","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_disabled","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"111\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_faulty(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_faulty","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_faulty","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"113\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"110\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_type(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_type","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_type","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"104\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_types_with_addresses(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_types_with_addresses","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_types_with_addresses","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"100\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_charge(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_charge","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_charge","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"174\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"129\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"175\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"173\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"172\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"171\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"170\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_total_lamp_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_total_lamp_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_total_lamp_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"176\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"164\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_group_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"161\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_groups(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_groups","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_groups","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"165\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_helvar_net(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_helvar_net","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_helvar_net","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"191\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_inputs(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_inputs","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_inputs","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"151\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"112\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"70\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_last_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_last_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_last_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"109\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_latitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_latitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_latitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"187\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_load(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_load","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_load","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"152\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_longitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_longitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_longitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"186\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_LSIB(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_LSIB","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_LSIB","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"103\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_max_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"74\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_max_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"72\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_measurement(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_measurement","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_measurement","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"150\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_min_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"75\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_min_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"73\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_missing(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_missing","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_missing","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"114\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"160\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_routers(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_routers","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_routers","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"102\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_info(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_info","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_scene_info","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"167\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_levels(group:Int32)-instance-method","name":"query_scene_levels","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L71"},"def":{"name":"query_scene_levels","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_scene_info(group: group, name: \"query_scene#{group}_info\")"}},{"html_id":"query_scene_names(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_names","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_scene_names","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"166\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_software_version(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_software_version","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_software_version","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"190\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"185\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time_zone(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time_zone","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_time_zone","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"188\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_membership(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_membership","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_membership","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"108\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_name(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_name","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_name","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"107\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/helvar/net.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L181"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Helvar sent: #{data}\"\nend\ntask_name = task.try(&.name)\ndata = data[0..-2]\nstart_of_message = data.index(/[\\?\\>\\!]V:/i)\nif start_of_message != 0\n logger.warn do\n \"Lighting error response: #{data[0...start_of_message]}\"\n end\n data = data[start_of_message..-1]\nend\ndata = data.delete(\"$\")\nindicator = data[0]\ncase indicator\nwhen '?', '>'\n data = data[1..-1]\n parts = data.split(\"=\")\n data = parts[0]\n value = parts[1]?\n params = {} of Symbol => String\n (data.split(\",\")).each do |param|\n parts = param.split(\":\")\n if parts.size > 1\n params[PARAMS[parts[0]]] = parts[1]\n else\n if parts[0][0] == '@'\n params[:addr] == parts[0][1..-1]\n else\n logger.debug do\n \"unknown param type #{param}\"\n end\n end\n end\n end\n ack = params[:ack]?\n if ack\n if ack != \"1\"\n return task.try(&.abort(\"request failed\"))\n end\n return task.try(&.success)\n end\n cmd = COMMANDS[params[:cmd]]\n case cmd\n when \"query_last_scene\"\n scene = value.try(&.to_i)\n group = params[:group]\n self[\"area#{group}\"] = scene\n if task_name == \"query_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_scene\"\n block = params[:block]\n group = params[:group]\n scene = params[:scene].to_i\n if block\n if @ignore_blocks\n self[\"area#{group}\"] = scene\n else\n self[\"area#{group}_#{block}\"] = scene\n end\n else\n self[\"area#{group}\"] = scene\n end\n if task_name == \"group_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_level\"\n if task_name == \"group_level#{params[:group]}\"\n task.not_nil!.success\n end\n when \"query_scene_info\"\n group = params[:group]\n if value && (task_name == \"query_scene#{group}_info\")\n levels = ((value.split(\",L\"))[0].split(',')).map(&.to_i)\n task.not_nil!.success(levels)\n end\n else\n logger.debug do\n \"unknown response value\\n#{cmd} = #{value}\"\n end\n end\nwhen '!'\n error = ERRORS[(data.split(\"=\"))[1]]\n error = \"#{error} for #{data}\"\n self[:last_error] = error\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nelse\n logger.info do\n \"unknown request #{data}\"\n end\nend\nif task_name\nelse\n task.try(&.success)\nend\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L332"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\nlight_level(area_id, level.round_even.to_i, fade_time.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L324"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"trigger(check_arguments(area), scene.to_i, fade_time.to_i)"}},{"html_id":"trigger(group:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L61"},"def":{"name":"trigger","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}\"] = scene\ngroup_scene(group: group, scene: scene, fade: fade, name: \"group_scene#{group}\")\n"}}],"macros":[{"html_id":"build_command_hash-macro","name":"build_command_hash","doc":"Generate a String => String hash based on the data above","summary":"

Generate a String => String hash based on the data above

","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L147"},"def":{"name":"build_command_hash","visibility":"Public","body":" COMMANDS = \n{\n \n{% for name, command in CMD_METHODS %}\n {{ name.id.stringify }} => {{ command.id.stringify }},\n {% end %}\n\n }\n COMMANDS.merge!(COMMANDS.invert)\n \n"}}],"types":[{"html_id":"drivers/Helvar/Net/Area","path":"Helvar/Net/Area.html","kind":"alias","full_name":"Helvar::Net::Area","name":"Area","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Helvar/Net","kind":"class","full_name":"Helvar::Net","name":"Net"}}]}]},{"html_id":"drivers/Hitachi","path":"Hitachi.html","kind":"module","full_name":"Hitachi","name":"Hitachi","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Hitachi/Projector","path":"Hitachi/Projector.html","kind":"module","full_name":"Hitachi::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Hitachi","kind":"module","full_name":"Hitachi","name":"Hitachi"},"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","path":"Hitachi/Projector/CpTwSeriesBasic.html","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Commands","name":"Commands","value":"{power_on: \"BA D2 01 00 00 60 01 00\", power_off: \"2A D3 01 00 00 60 00 00\", hdmi: \"0E D2 01 00 00 20 03 00\", hdmi2: \"6E D6 01 00 00 20 0D 00\", mute_video: \"6E F1 01 00 A0 20 01 00\", unmute_video: \"FE F0 01 00 A0 20 00 00\", mute_audio: \"D6 D2 01 00 02 20 01 00\", unmute_audio: \"46 D3 01 00 02 20 00 00\", lamp_hours_reset: \"58 DC 06 00 30 70 00 00\", filter_hours_reset: \"98 C6 06 00 40 70 00 00\", \"power?\": \"19 D3 02 00 00 60 00 00\", \"input?\": \"CD D2 02 00 00 20 00 00\", \"error?\": \"D9 D8 02 00 20 60 00 00\", \"freeze?\": \"B0 D2 02 00 02 30 00 00\", \"audio_mute?\": \"75 D3 02 00 02 20 00 00\", \"video_mute?\": \"CD F0 02 00 A0 20 00 00\", \"lamp?\": \"C2 FF 02 00 90 10 00 00\", \"filter?\": \"C2 F0 02 00 A0 10 00 00\"}","doc":"Note: commands have spaces in between each byte for readability","summary":"

Note: commands have spaces in between each byte for readability

"},{"id":"GetRequests","name":"GetRequests","value":"[:\"power?\", :\"input?\", :\"error?\", :\"freeze?\", :\"audio_mute?\", :\"video_mute?\", :\"lamp?\", :\"filter?\"] of ::Symbol"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Hitachi/Projector","kind":"module","full_name":"Hitachi::Projector","name":"Projector"},"instance_methods":[{"html_id":"audio_mute?(**options)-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"audio_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"audio_mute?\", **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L32"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n poll_1\nend\nschedule.every(10.minutes, true) do\n poll_2\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L53"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@recover_power = nil\n@recover_input = nil\n"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"error?\", **options)"}},{"html_id":"filter?(**options)-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"filter?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"filter?\", **options)"}},{"html_id":"filter_hours_reset-instance-method","name":"filter_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L109"},"def":{"name":"filter_hours_reset","visibility":"Public","body":"do_send(:filter_hours_reset)\nfilter?\n"}},{"html_id":"freeze?(**options)-instance-method","name":"freeze?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"freeze?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"freeze?\", **options)"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"input?\", **options)"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"lamp?\", **options)"}},{"html_id":"lamp_hours_reset-instance-method","name":"lamp_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L104"},"def":{"name":"lamp_hours_reset","visibility":"Public","body":"do_send(:lamp_hours_reset)\nlamp?\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L77"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L95"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_audio)\nelse\n do_send(:unmute_audio)\nend\naudio_mute?\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L86"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_video)\nelse\n do_send(:unmute_video)\nend\nvideo_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nqueue.timeout = 5.seconds\nqueue.retries = 3\nself[:type] = :projector\n"}},{"html_id":"poll_1-instance-method","name":"poll_1","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L37"},"def":{"name":"poll_1","visibility":"Public","body":"power?(priority: 0).get\nif self[:power]?.try(&.as_bool)\n input?(priority: 0)\n audio_mute?(priority: 0)\n video_mute?(priority: 0)\n freeze?(priority: 0)\nend\n"}},{"html_id":"poll_2-instance-method","name":"poll_2","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L47"},"def":{"name":"poll_2","visibility":"Public","body":"lamp?(priority: 0)\nfilter?(priority: 0)\nerror?(priority: 0)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L59"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off)\nend\npower?\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"power?\", **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L139"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data}\"\nend\ncommand = task.try(&.name)\ncase Response.from_value(data[0])\nwhen .ack?\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"NAK response\"))\nwhen .error?\n task.try(&.abort(\"Error response\"))\nwhen .data?\n if command\n case command\n when \"power?\"\n self[:power] = data[1] == 1\n self[:cooling] = data[1] == 2\n if self[:power]? == @power_target\n @power_target = nil\n else\n if @power_target && @recover_power.nil?\n logger.debug do\n \"recovering power state #{self[:power]} != target #{@power_target}\"\n end\n @recover_power = schedule.in(3.seconds) do\n @recover_power = nil\n power(@power_target.not_nil!)\n end\n end\n end\n when \"input?\"\n input = Input.from_value?(data[1])\n self[:input] = input || \"unknown\"\n if @input_target\n if input == @input_target\n @input_target = nil\n else\n if @recover_input.nil?\n logger.debug do\n \"recovering input #{self[:input]} != target #{@input_target}\"\n end\n @recover_input = schedule.in(3.seconds) do\n @recover_input = nil\n switch_to(@input_target.not_nil!)\n end\n end\n end\n end\n when \"error?\"\n self[:error_status] = (Error.from_value?(data[1])) || \"unknown\"\n when \"freeze?\"\n self[:frozen] = data[1] == 1\n when \"audio_mute?\"\n self[:audio_mute] = data[1] == 1\n when \"video_mute?\"\n self[:video_mute] = data[1] == 1\n when \"lamp?\"\n self[:lamp] = data[1] * data[2]\n when \"filter?\"\n self[:filter] = data[1] * data[2]\n end\n task.try(&.success)\n else\n task.try(&.abort(\"data received for unknown command\"))\n end\nwhen .busy?\n if (data[1] == 4) && (data[2] == 0)\n task.try(&.abort(\"authentication enabled, please disable\"))\n else\n task.try(&.retry(\"projector busy, retrying\"))\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L71"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ndo_send(input.to_s.downcase)\ninput?\n"}},{"html_id":"video_mute?(**options)-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"video_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"video_mute?\", **options)"}}],"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Error","path":"Hitachi/Projector/CpTwSeriesBasic/Error.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Normal","name":"Normal","value":"0"},{"id":"Cover","name":"Cover","value":"1"},{"id":"Fan","name":"Fan","value":"2"},{"id":"Lamp","name":"Lamp","value":"3"},{"id":"Temp","name":"Temp","value":"4"},{"id":"AirFlow","name":"AirFlow","value":"5"},{"id":"Cold","name":"Cold","value":"6"},{"id":"Filter","name":"Filter","value":"7"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"air_flow?-instance-method","name":"air_flow?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L134"},"def":{"name":"air_flow?","visibility":"Public","body":"self == AirFlow"}},{"html_id":"cold?-instance-method","name":"cold?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L135"},"def":{"name":"cold?","visibility":"Public","body":"self == Cold"}},{"html_id":"cover?-instance-method","name":"cover?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L130"},"def":{"name":"cover?","visibility":"Public","body":"self == Cover"}},{"html_id":"fan?-instance-method","name":"fan?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L131"},"def":{"name":"fan?","visibility":"Public","body":"self == Fan"}},{"html_id":"filter?-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L136"},"def":{"name":"filter?","visibility":"Public","body":"self == Filter"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L132"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"normal?-instance-method","name":"normal?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L129"},"def":{"name":"normal?","visibility":"Public","body":"self == Normal"}},{"html_id":"temp?-instance-method","name":"temp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L133"},"def":{"name":"temp?","visibility":"Public","body":"self == Temp"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Input","path":"Hitachi/Projector/CpTwSeriesBasic/Input.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmi","name":"Hdmi","value":"3"},{"id":"Hdmi2","name":"Hdmi2","value":"13"},{"id":"HdbaSet","name":"HdbaSet","value":"17"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"hdba_set?-instance-method","name":"hdba_set?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L125"},"def":{"name":"hdba_set?","visibility":"Public","body":"self == HdbaSet"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L124"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L123"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Response","path":"Hitachi/Projector/CpTwSeriesBasic/Response.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L114"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"6"},{"id":"Nak","name":"Nak","value":"21"},{"id":"Error","name":"Error","value":"28"},{"id":"Data","name":"Data","value":"29"},{"id":"Busy","name":"Busy","value":"31"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L115"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L119"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"data?-instance-method","name":"data?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L118"},"def":{"name":"data?","visibility":"Public","body":"self == Data"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L117"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L116"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Infosilem","path":"Infosilem.html","kind":"module","full_name":"Infosilem","name":"Infosilem","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L4"},{"filename":"src/infosilem/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Infosilem/Campus","path":"Infosilem/Campus.html","kind":"class","full_name":"Infosilem::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String)","location":{"filename":"src/infosilem/campus.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L39"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"response = @integration.try(&.call(operation: \"StartTransfer\", body: {\"StartTransferOptions\" => Sabo::Parameter.from_hash(start_transfer_options(username: setting(String, :username), password: setting(String, :password)))}))\ntransfer_id = response.try(&.result)\nresponse = @booking.try(&.call(operation: \"RoomBookingOccurrence_ExportAll\", body: {\"TransferID\" => Sabo::Parameter.new(transfer_id.to_s), \"Options\" => Sabo::Parameter.from_hash(booking_options(building: building_id, room: room_id, start_date: start_date, end_date: end_date, start_time: start_date, end_time: end_date))}))\n@integration.try(&.call(operation: \"EndTransfer\", body: end_transfer_body(transfer_id: transfer_id.to_s)))\nself[\"room_#{room_id}_bookings_#{start_date}_#{end_date}\"] = response.try() do |__arg4|\n __arg4.result[\"ObjectData\"][\"ReservationOccurrences\"][\"ReservationOccurrence\"]?\nend || ([] of Int32)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@integration = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/Integration/Integration.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n@booking = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/ExportOnly/RoomBookingPub.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n"}}],"types":[{"html_id":"drivers/Infosilem/Campus/Client","path":"Infosilem/Campus/Client.html","kind":"alias","full_name":"Infosilem::Campus::Client","name":"Client","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Sabo::Client","aliased_html":"Sabo::Client","const":false,"namespace":{"html_id":"drivers/Infosilem/Campus","kind":"class","full_name":"Infosilem::Campus","name":"Campus"}}]},{"html_id":"drivers/Infosilem/DateTimeConvertor","path":"Infosilem/DateTimeConvertor.html","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/DateTimeConvertor","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L37"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_local(\"#{Time.local.to_s(\"%F\")} #{value.read_string}\", \"%F %H:%M:%S\")"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L33"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%H:%M:%S\"))"}}]},{"html_id":"drivers/Infosilem/Event","path":"Infosilem/Event.html","kind":"class","full_name":"Infosilem::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflicting:Int32|Nil-instance-method","name":"conflicting","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L15"},"def":{"name":"conflicting","return_type":"Int32 | ::Nil","visibility":"Public","body":"@conflicting"}},{"html_id":"conflicting=(conflicting:Int32|Nil)-instance-method","name":"conflicting=","abstract":false,"args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"args_string":"(conflicting : Int32 | Nil)","args_html":"(conflicting : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L15"},"def":{"name":"conflicting=","args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@conflicting = conflicting"}},{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L23"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L23"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L9"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L9"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L25"},"def":{"name":"duration","visibility":"Public","body":"end_time - start_time"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L21"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"end_time=(end_time:Time)-instance-method","name":"end_time=","abstract":false,"args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"args_string":"(end_time : Time)","args_html":"(end_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L21"},"def":{"name":"end_time=","args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"visibility":"Public","body":"@end_time = end_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"number_of_attendees:Int32|Nil-instance-method","name":"number_of_attendees","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_attendees"}},{"html_id":"number_of_attendees=(number_of_attendees:Int32|Nil)-instance-method","name":"number_of_attendees=","abstract":false,"args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"args_string":"(number_of_attendees : Int32 | Nil)","args_html":"(number_of_attendees : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees=","args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@number_of_attendees = number_of_attendees"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L18"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}},{"html_id":"start_time=(start_time:Time)-instance-method","name":"start_time=","abstract":false,"args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"args_string":"(start_time : Time)","args_html":"(start_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L18"},"def":{"name":"start_time=","args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"visibility":"Public","body":"@start_time = start_time"}}]},{"html_id":"drivers/Infosilem/IntegerConverter","path":"Infosilem/IntegerConverter.html","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/IntegerConverter","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L49"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"value.read_string.to_i"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L45"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s)"}}]},{"html_id":"drivers/Infosilem/MockCampus","path":"Infosilem/MockCampus.html","kind":"class","full_name":"Infosilem::MockCampus","name":"MockCampus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/mock_campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String):Array(JSON::Any)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","location":{"filename":"src/infosilem/mock_campus.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L230"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"@response"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L222"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L226"},"def":{"name":"on_update","visibility":"Public","body":"@response = (setting?(Array(JSON::Any), :response)) || ([] of JSON::Any)"}}]},{"html_id":"drivers/Infosilem/RoomSchedule","path":"Infosilem/RoomSchedule.html","kind":"class","full_name":"Infosilem::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L38"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local.to_s(\"%Y-%m-%d\")\n todays_events = Array(Event).from_json(fetch_events(today, today))\n todays_events.sort_by(&.duration).reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.start_time\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by?(&.start_time)\n previous_event = past_events.max_by?(&.end_time)\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(start_date : String, end_date : String)","args_html":"(start_date : String, end_date : String)","location":{"filename":"src/infosilem/room_schedule.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L81"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"events = (infosilem.bookings?(@building_id, @room_id, start_date, end_date)).get.to_json\nif @debug\n logger.debug do\n \"Infosilem Campus returned: #{events}\"\n end\nend\nevents\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@building_id = setting(String, :infosilem_building_id)\n@room_id = setting(String, :infosilem_room_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/JohnsonControls","path":"JohnsonControls.html","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls","abstract":false,"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"Time::Format.new(\"%FT%TZ\")"}],"types":[{"html_id":"drivers/JohnsonControls/Attribute","path":"JohnsonControls/Attribute.html","kind":"class","full_name":"JohnsonControls::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"smaples_url:String-instance-method","name":"smaples_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url","return_type":"String","visibility":"Public","body":"@smaples_url"}},{"html_id":"smaples_url=(smaples_url:String)-instance-method","name":"smaples_url=","abstract":false,"args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"args_string":"(smaples_url : String)","args_html":"(smaples_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url=","args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"visibility":"Public","body":"@smaples_url = smaples_url"}}]},{"html_id":"drivers/JohnsonControls/AuthResponse","path":"JohnsonControls/AuthResponse.html","kind":"class","full_name":"JohnsonControls::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires:Time-instance-method","name":"expires","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires","return_type":"Time","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"args_string":"(expires : Time)","args_html":"(expires : Time)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"visibility":"Public","body":"@expires = expires"}}]},{"html_id":"drivers/JohnsonControls/Command","path":"JohnsonControls/Command.html","kind":"class","full_name":"JohnsonControls::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L190"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"command_id:String-instance-method","name":"command_id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id","return_type":"String","visibility":"Public","body":"@command_id"}},{"html_id":"command_id=(command_id:String)-instance-method","name":"command_id=","abstract":false,"args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"args_string":"(command_id : String)","args_html":"(command_id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id=","args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"visibility":"Public","body":"@command_id = command_id"}},{"html_id":"items:Array(JSON::Any)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items","return_type":"Array(JSON::Any)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(JSON::Any))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"args_string":"(items : Array(JSON::Any))","args_html":"(items : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"maximum_items:Int32-instance-method","name":"maximum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items","return_type":"Int32","visibility":"Public","body":"@maximum_items"}},{"html_id":"maximum_items=(maximum_items:Int32)-instance-method","name":"maximum_items=","abstract":false,"args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"args_string":"(maximum_items : Int32)","args_html":"(maximum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items=","args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"visibility":"Public","body":"@maximum_items = maximum_items"}},{"html_id":"minimum_items:Int32-instance-method","name":"minimum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items","return_type":"Int32","visibility":"Public","body":"@minimum_items"}},{"html_id":"minimum_items=(minimum_items:Int32)-instance-method","name":"minimum_items=","abstract":false,"args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"args_string":"(minimum_items : Int32)","args_html":"(minimum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items=","args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"visibility":"Public","body":"@minimum_items = minimum_items"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/JohnsonControls/Equipment","path":"JohnsonControls/Equipment.html","kind":"class","full_name":"JohnsonControls::Equipment","name":"Equipment","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_url:String-instance-method","name":"equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url","return_type":"String","visibility":"Public","body":"@equipment_url"}},{"html_id":"equipment_url=(equipment_url:String)-instance-method","name":"equipment_url=","abstract":false,"args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"args_string":"(equipment_url : String)","args_html":"(equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url=","args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"visibility":"Public","body":"@equipment_url = equipment_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"spaces_url:String-instance-method","name":"spaces_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url","return_type":"String","visibility":"Public","body":"@spaces_url"}},{"html_id":"spaces_url=(spaces_url:String)-instance-method","name":"spaces_url=","abstract":false,"args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"args_string":"(spaces_url : String)","args_html":"(spaces_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url=","args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"visibility":"Public","body":"@spaces_url = spaces_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"upstream_equipment_url:String-instance-method","name":"upstream_equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url","return_type":"String","visibility":"Public","body":"@upstream_equipment_url"}},{"html_id":"upstream_equipment_url=(upstream_equipment_url:String)-instance-method","name":"upstream_equipment_url=","abstract":false,"args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"args_string":"(upstream_equipment_url : String)","args_html":"(upstream_equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url=","args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"visibility":"Public","body":"@upstream_equipment_url = upstream_equipment_url"}}]},{"html_id":"drivers/JohnsonControls/EquipmentPoints","path":"JohnsonControls/EquipmentPoints.html","kind":"class","full_name":"JohnsonControls::EquipmentPoints","name":"EquipmentPoints","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L211"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L212"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(Point))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"@points = points"}}]},{"html_id":"drivers/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse","path":"JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html","kind":"class","full_name":"JohnsonControls::GetEquipmentHostedByNetworkDeviceResponse","name":"GetEquipmentHostedByNetworkDeviceResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Equipment)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items","return_type":"Array(Equipment)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Equipment))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"args_string":"(items : Array(Equipment))","args_html":"(items : Array(Equipment))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetNetworkDeviceChildrenResponse","path":"JohnsonControls/GetNetworkDeviceChildrenResponse.html","kind":"class","full_name":"JohnsonControls::GetNetworkDeviceChildrenResponse","name":"GetNetworkDeviceChildrenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L139"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(NetworkDevice)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items","return_type":"Array(NetworkDevice)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(NetworkDevice))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"args_string":"(items : Array(NetworkDevice))","args_html":"(items : Array(NetworkDevice))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetObjectAttributesWithSamplesResponse","path":"JohnsonControls/GetObjectAttributesWithSamplesResponse.html","kind":"class","full_name":"JohnsonControls::GetObjectAttributesWithSamplesResponse","name":"GetObjectAttributesWithSamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L157"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L158"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Attribute)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items","return_type":"Array(Attribute)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Attribute))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"args_string":"(items : Array(Attribute))","args_html":"(items : Array(Attribute))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetSamplesForAnObjectAttributeResponse","path":"JohnsonControls/GetSamplesForAnObjectAttributeResponse.html","kind":"class","full_name":"JohnsonControls::GetSamplesForAnObjectAttributeResponse","name":"GetSamplesForAnObjectAttributeResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L114"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"items:Array(Sample)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items","return_type":"Array(Sample)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Sample))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"args_string":"(items : Array(Sample))","args_html":"(items : Array(Sample))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/Item","path":"JohnsonControls/Item.html","kind":"class","full_name":"JohnsonControls::Item","name":"Item","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L237"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L238"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"value:Value-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value","return_type":"Value","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Value)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Value"}],"args_string":"(value : Value)","args_html":"(value : Value)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Value"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/Metasys","path":"JohnsonControls/Metasys.html","kind":"class","full_name":"JohnsonControls::Metasys","name":"Metasys","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CONTENT_TYPE","name":"CONTENT_TYPE","value":"\"application/json\""}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L265"},"def":{"name":"count","visibility":"Public","body":"@count"}},{"html_id":"get_attribute_value(id:String):Float64-instance-method","name":"get_attribute_value","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Float64","args_html":"(id : String) : Float64","location":{"filename":"src/johnson_controls/metasys.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L98"},"def":{"name":"get_attribute_value","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Float64","visibility":"Public","body":"current_time = Time.utc\nshort_while_ago = Time.utc - (@poll_interval_seconds * 2).seconds\nresponse = get_request(\"/objects/#{id}/attributes/85/samples\", start_time: short_while_ago.to_rfc3339, end_time: current_time.to_rfc3339, page_size: 1, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n(SamplesResponse.from_json(response.body)).items.first.value.actual\n"}},{"html_id":"get_commands_for_an_object(id:String):Array(Command)-instance-method","name":"get_commands_for_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Array(Command)","args_html":"(id : String) : Array(Command)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L165"},"def":{"name":"get_commands_for_an_object","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Array(Command)","visibility":"Public","body":"response = get_request(\"/objects/#{id}/commands\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nArray(Command).from_json(response.body)\n"}},{"html_id":"get_data-instance-method","name":"get_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L229"},"def":{"name":"get_data","visibility":"Public","body":"{data: self[:data], averages: self[:averages]}"}},{"html_id":"get_equipment_hosted_by_network_device(id:String,page:Int32=1,page_size:Int32=10):GetEquipmentHostedByNetworkDeviceResponse-instance-method","name":"get_equipment_hosted_by_network_device","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L133"},"def":{"name":"get_equipment_hosted_by_network_device","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetEquipmentHostedByNetworkDeviceResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/equipment\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetEquipmentHostedByNetworkDeviceResponse.from_json(response.body)\n"}},{"html_id":"get_equipment_points(id:String):EquipmentPoints-instance-method","name":"get_equipment_points","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : EquipmentPoints","args_html":"(id : String) : EquipmentPoints","location":{"filename":"src/johnson_controls/metasys.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L91"},"def":{"name":"get_equipment_points","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"EquipmentPoints","visibility":"Public","body":"response = get_request(\"/equipment/#{id}/points\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nEquipmentPoints.from_json(response.body)\n"}},{"html_id":"get_network_device_children(id:String,page:Int32=1,page_size:Int32=10):GetNetworkDeviceChildrenResponse-instance-method","name":"get_network_device_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L122"},"def":{"name":"get_network_device_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetNetworkDeviceChildrenResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/objects\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetNetworkDeviceChildrenResponse.from_json(response.body)\n"}},{"html_id":"get_object_attributes_with_samples(id:String):GetObjectAttributesWithSamplesResponse-instance-method","name":"get_object_attributes_with_samples","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : GetObjectAttributesWithSamplesResponse","args_html":"(id : String) : GetObjectAttributesWithSamplesResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L144"},"def":{"name":"get_object_attributes_with_samples","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"GetObjectAttributesWithSamplesResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/trendedAttributes\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetObjectAttributesWithSamplesResponse.from_json(response.body)\n"}},{"html_id":"get_request_debug(path:String,**params)-instance-method","name":"get_request_debug","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, **params)","args_html":"(path : String, **params)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L249"},"def":{"name":"get_request_debug","args":[{"name":"path","external_name":"path","restriction":"String"}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":"response = get_request(path, **params)\nparsed_json_body = begin\n JSON.parse(response.body)\nrescue ex : JSON::ParseException\n ex.to_s\nend\n{body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\n"}},{"html_id":"get_samples_for_an_object_attribute(id:String,attribute_id:String,start_time:String,end_time:String,page:Int32=1,page_size:Int32=10):GetSamplesForAnObjectAttributeResponse-instance-method","name":"get_samples_for_an_object_attribute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","args_html":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L151"},"def":{"name":"get_samples_for_an_object_attribute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetSamplesForAnObjectAttributeResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/attributes/#{attribute_id}/samples\", start_time: start_time, end_time: end_time, page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetSamplesForAnObjectAttributeResponse.from_json(response.body)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L40"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"received login response #{response.body}\"\nend\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_token_debug-instance-method","name":"get_token_debug","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L63"},"def":{"name":"get_token_debug","visibility":"Public","body":"response = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n parsed_json_body = begin\n JSON.parse(response.body)\n rescue ex : JSON::ParseException\n ex.to_s\n end\n {body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\nend\n"}},{"html_id":"lookup_object_id(fqr:String):String-instance-method","name":"lookup_object_id","abstract":false,"args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"args_string":"(fqr : String) : String","args_html":"(fqr : String) : String","location":{"filename":"src/johnson_controls/metasys.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L115"},"def":{"name":"lookup_object_id","args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get_request(\"/objectIdentifiers?fqr=#{fqr}\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body.to_s\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@equipment_ids_and_attributes = (setting?(Hash(String, Array(String)), :equipment_ids_and_attributes)) || ({} of String => Array(String))\n@poll_interval_seconds = (setting?(Int32, :poll_interval_seconds)) || 300\n@count = 0\nschedule.every(@poll_interval_seconds.seconds, true) do\n update_data\nend\n"}},{"html_id":"send_command_to_an_object(id:String,command_id:String,body:Array(JSON::Any))-instance-method","name":"send_command_to_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"args_string":"(id : String, command_id : String, body : Array(JSON::Any))","args_html":"(id : String, command_id : String, body : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L172"},"def":{"name":"send_command_to_an_object","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"response = put_request(\"/objects/#{id}/commands/#{command_id}\", body: body)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L36"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry <= Time.utc"}},{"html_id":"update_data-instance-method","name":"update_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L177"},"def":{"name":"update_data","visibility":"Public","body":"debug = {} of String => Hash(String, Float64)\ndata = {} of String => Hash(String, Float64)\n@equipment_ids_and_attributes.each do |id, attributes|\n equipment_points = get_equipment_points(id)\n equipment_points.points.each do |p|\n if attributes.includes?(p.name)\n else\n next\n end\n __temp_241 = p.equipment_name\n data[__temp_241]? || (data[__temp_241] = {} of String => Float64)\n __temp_243 = p.equipment_name\n debug[__temp_243]? || (debug[__temp_243] = {} of String => Float64)\n object_id = (p.object_url.split('/')).last\n value = get_attribute_value(object_id)\n data[p.equipment_name][p.name] = value\n debug[p.equipment_name][p.object_url] = value\n end\nend\naverages = calculate_averages(data)\n{data: self[:data] = data, count: @count, equipment_ids_and_attributes: @equipment_ids_and_attributes, debug: debug, averages: self[:averages] = averages}\n"}}]},{"html_id":"drivers/JohnsonControls/NetworkDevice","path":"JohnsonControls/NetworkDevice.html","kind":"class","full_name":"JohnsonControls::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alarms_url:String-instance-method","name":"alarms_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url","return_type":"String","visibility":"Public","body":"@alarms_url"}},{"html_id":"alarms_url=(alarms_url:String)-instance-method","name":"alarms_url=","abstract":false,"args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"args_string":"(alarms_url : String)","args_html":"(alarms_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url=","args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"visibility":"Public","body":"@alarms_url = alarms_url"}},{"html_id":"audits_url:String-instance-method","name":"audits_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url","return_type":"String","visibility":"Public","body":"@audits_url"}},{"html_id":"audits_url=(audits_url:String)-instance-method","name":"audits_url=","abstract":false,"args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"args_string":"(audits_url : String)","args_html":"(audits_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url=","args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"visibility":"Public","body":"@audits_url = audits_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"objects_url:String-instance-method","name":"objects_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url","return_type":"String","visibility":"Public","body":"@objects_url"}},{"html_id":"objects_url=(objects_url:String)-instance-method","name":"objects_url=","abstract":false,"args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"args_string":"(objects_url : String)","args_html":"(objects_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url=","args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"visibility":"Public","body":"@objects_url = objects_url"}},{"html_id":"parent_url:String-instance-method","name":"parent_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url","return_type":"String","visibility":"Public","body":"@parent_url"}},{"html_id":"parent_url=(parent_url:String)-instance-method","name":"parent_url=","abstract":false,"args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"args_string":"(parent_url : String)","args_html":"(parent_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url=","args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"visibility":"Public","body":"@parent_url = parent_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"trended_attributes_url:String-instance-method","name":"trended_attributes_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url","return_type":"String","visibility":"Public","body":"@trended_attributes_url"}},{"html_id":"trended_attributes_url=(trended_attributes_url:String)-instance-method","name":"trended_attributes_url=","abstract":false,"args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"args_string":"(trended_attributes_url : String)","args_html":"(trended_attributes_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url=","args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"visibility":"Public","body":"@trended_attributes_url = trended_attributes_url"}},{"html_id":"type_url:String-instance-method","name":"type_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url","return_type":"String","visibility":"Public","body":"@type_url"}},{"html_id":"type_url=(type_url:String)-instance-method","name":"type_url=","abstract":false,"args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"args_string":"(type_url : String)","args_html":"(type_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url=","args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"visibility":"Public","body":"@type_url = type_url"}}]},{"html_id":"drivers/JohnsonControls/Point","path":"JohnsonControls/Point.html","kind":"class","full_name":"JohnsonControls::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_name:String-instance-method","name":"equipment_name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name","return_type":"String","visibility":"Public","body":"@equipment_name"}},{"html_id":"equipment_name=(equipment_name:String)-instance-method","name":"equipment_name=","abstract":false,"args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"args_string":"(equipment_name : String)","args_html":"(equipment_name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name=","args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"visibility":"Public","body":"@equipment_name = equipment_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}}]},{"html_id":"drivers/JohnsonControls/Sample","path":"JohnsonControls/Sample.html","kind":"class","full_name":"JohnsonControls::Sample","name":"Sample","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L100"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"reliable:Bool-instance-method","name":"reliable","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable","return_type":"Bool","visibility":"Public","body":"@reliable"}},{"html_id":"reliable=(reliable:Bool)-instance-method","name":"reliable=","abstract":false,"args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"args_string":"(reliable : Bool)","args_html":"(reliable : Bool)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable=","args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"visibility":"Public","body":"@reliable = reliable"}},{"html_id":"timestamp:String-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp","return_type":"String","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:String)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"args_string":"(timestamp : String)","args_html":"(timestamp : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"value:Hash(String,JSON::Any)-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Hash(String,JSON::Any))-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"args_string":"(value : Hash(String, JSON::Any))","args_html":"(value : Hash(String, JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/SamplesResponse","path":"JohnsonControls/SamplesResponse.html","kind":"class","full_name":"JohnsonControls::SamplesResponse","name":"SamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L231"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L232"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Item)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items","return_type":"Array(Item)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Item))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"args_string":"(items : Array(Item))","args_html":"(items : Array(Item))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"visibility":"Public","body":"@items = items"}}]},{"html_id":"drivers/JohnsonControls/Value","path":"JohnsonControls/Value.html","kind":"class","full_name":"JohnsonControls::Value","name":"Value","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual:Float64-instance-method","name":"actual","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual","return_type":"Float64","visibility":"Public","body":"@actual"}},{"html_id":"actual=(actual:Float64)-instance-method","name":"actual=","abstract":false,"args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"args_string":"(actual : Float64)","args_html":"(actual : Float64)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual=","args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"visibility":"Public","body":"@actual = actual"}}]}]},{"html_id":"drivers/Juniper","path":"Juniper.html","kind":"module","full_name":"Juniper","name":"Juniper","abstract":false,"locations":[{"filename":"src/juniper/mist_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Juniper/Client","path":"Juniper/Client.html","kind":"class","full_name":"Juniper::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accuracy-instance-method","name":"accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L109"},"def":{"name":"accuracy","visibility":"Public","body":"if raw_accuracy\n return raw_accuracy\nend\n15 // num_locating_aps\n"}},{"html_id":"ap_id:String-instance-method","name":"ap_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id","return_type":"String","visibility":"Public","body":"@ap_id"}},{"html_id":"ap_id=(ap_id:String)-instance-method","name":"ap_id=","abstract":false,"args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"args_string":"(ap_id : String)","args_html":"(ap_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id=","args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"visibility":"Public","body":"@ap_id = ap_id"}},{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"family:String|Nil-instance-method","name":"family","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L86"},"def":{"name":"family","return_type":"String | ::Nil","visibility":"Public","body":"@family"}},{"html_id":"family=(family:String|Nil)-instance-method","name":"family=","abstract":false,"args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"args_string":"(family : String | Nil)","args_html":"(family : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L86"},"def":{"name":"family=","args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family = family"}},{"html_id":"guest:Guest|Nil-instance-method","name":"guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L115"},"def":{"name":"guest","return_type":"Guest | ::Nil","visibility":"Public","body":"@guest"}},{"html_id":"guest=(guest:Guest|Nil)-instance-method","name":"guest=","abstract":false,"args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"args_string":"(guest : Guest | Nil)","args_html":"(guest : Guest | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L115"},"def":{"name":"guest=","args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"visibility":"Public","body":"@guest = guest"}},{"html_id":"hostname:String|Nil-instance-method","name":"hostname","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname","return_type":"String | ::Nil","visibility":"Public","body":"@hostname"}},{"html_id":"hostname=(hostname:String|Nil)-instance-method","name":"hostname=","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"args_string":"(hostname : String | Nil)","args_html":"(hostname : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname=","args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@hostname = hostname"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"is_guest:Bool|Nil-instance-method","name":"is_guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_guest"}},{"html_id":"is_guest=(is_guest:Bool|Nil)-instance-method","name":"is_guest=","abstract":false,"args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"args_string":"(is_guest : Bool | Nil)","args_html":"(is_guest : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest=","args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_guest = is_guest"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L79"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L79"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacture:String|Nil-instance-method","name":"manufacture","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture","return_type":"String | ::Nil","visibility":"Public","body":"@manufacture"}},{"html_id":"manufacture=(manufacture:String|Nil)-instance-method","name":"manufacture=","abstract":false,"args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"args_string":"(manufacture : String | Nil)","args_html":"(manufacture : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture=","args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacture = manufacture"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L87"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String|Nil)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"args_string":"(model : String | Nil)","args_html":"(model : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L87"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_locating_aps:Int32-instance-method","name":"num_locating_aps","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps","return_type":"Int32","visibility":"Public","body":"@num_locating_aps"}},{"html_id":"num_locating_aps=(num_locating_aps:Int32)-instance-method","name":"num_locating_aps=","abstract":false,"args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"args_string":"(num_locating_aps : Int32)","args_html":"(num_locating_aps : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps=","args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"visibility":"Public","body":"@num_locating_aps = num_locating_aps"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L84"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L84"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"psk_id:String|Nil-instance-method","name":"psk_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id","return_type":"String | ::Nil","visibility":"Public","body":"@psk_id"}},{"html_id":"psk_id=(psk_id:String|Nil)-instance-method","name":"psk_id=","abstract":false,"args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"args_string":"(psk_id : String | Nil)","args_html":"(psk_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id=","args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@psk_id = psk_id"}},{"html_id":"raw_accuracy:Int32|Nil-instance-method","name":"raw_accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@raw_accuracy"}},{"html_id":"raw_accuracy=(raw_accuracy:Int32|Nil)-instance-method","name":"raw_accuracy=","abstract":false,"args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"args_string":"(raw_accuracy : Int32 | Nil)","args_html":"(raw_accuracy : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy=","args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@raw_accuracy = raw_accuracy"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"args_string":"(ssid : String)","args_html":"(ssid : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L82"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}},{"html_id":"username=(username:String|Nil)-instance-method","name":"username=","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil)","args_html":"(username : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L82"},"def":{"name":"username=","args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"@username = username"}},{"html_id":"wlan_id:String-instance-method","name":"wlan_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id","return_type":"String","visibility":"Public","body":"@wlan_id"}},{"html_id":"wlan_id=(wlan_id:String)-instance-method","name":"wlan_id=","abstract":false,"args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"args_string":"(wlan_id : String)","args_html":"(wlan_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id=","args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"visibility":"Public","body":"@wlan_id = wlan_id"}},{"html_id":"x:Float64-instance-method","name":"x","doc":"pixels","summary":"

pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L99"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","doc":"pixels","summary":"

pixels

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L99"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"x_m:Float64|Nil-instance-method","name":"x_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x_m"}},{"html_id":"x_m=(x_m:Float64|Nil)-instance-method","name":"x_m=","abstract":false,"args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"args_string":"(x_m : Float64 | Nil)","args_html":"(x_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m=","args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x_m = x_m"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L100"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L100"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}},{"html_id":"y_m:Float64|Nil-instance-method","name":"y_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y_m"}},{"html_id":"y_m=(y_m:Float64|Nil)-instance-method","name":"y_m=","abstract":false,"args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"args_string":"(y_m : Float64 | Nil)","args_html":"(y_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m=","args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y_m = y_m"}}]},{"html_id":"drivers/Juniper/Guest","path":"Juniper/Guest.html","kind":"class","full_name":"Juniper::Guest","name":"Guest","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L118"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L119"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"authorized:Bool-instance-method","name":"authorized","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized","return_type":"Bool","visibility":"Public","body":"@authorized"}},{"html_id":"authorized=(authorized:Bool)-instance-method","name":"authorized=","abstract":false,"args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"args_string":"(authorized : Bool)","args_html":"(authorized : Bool)","location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized=","args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"visibility":"Public","body":"@authorized = authorized"}},{"html_id":"authorized_expiring_time:Int64|Nil-instance-method","name":"authorized_expiring_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_expiring_time"}},{"html_id":"authorized_expiring_time=(authorized_expiring_time:Int64|Nil)-instance-method","name":"authorized_expiring_time=","abstract":false,"args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_expiring_time : Int64 | Nil)","args_html":"(authorized_expiring_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time=","args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_expiring_time = authorized_expiring_time"}},{"html_id":"authorized_time:Int64|Nil-instance-method","name":"authorized_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_time"}},{"html_id":"authorized_time=(authorized_time:Int64|Nil)-instance-method","name":"authorized_time=","abstract":false,"args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_time : Int64 | Nil)","args_html":"(authorized_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time=","args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_time = authorized_time"}},{"html_id":"company:String|Nil-instance-method","name":"company","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L127"},"def":{"name":"company","return_type":"String | ::Nil","visibility":"Public","body":"@company"}},{"html_id":"company=(company:String|Nil)-instance-method","name":"company=","abstract":false,"args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"args_string":"(company : String | Nil)","args_html":"(company : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L127"},"def":{"name":"company=","args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"visibility":"Public","body":"@company = company"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L126"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L126"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L125"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L125"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/LatLng","path":"Juniper/LatLng.html","kind":"struct","full_name":"Juniper::LatLng","name":"LatLng","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L71"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L71"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L72"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L72"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]},{"html_id":"drivers/Juniper/LocationAsset","path":"Juniper/LocationAsset.html","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"battery_voltage:Float64|Nil-instance-method","name":"battery_voltage","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage","return_type":"Float64 | ::Nil","visibility":"Public","body":"@battery_voltage"}},{"html_id":"battery_voltage=(battery_voltage:Float64|Nil)-instance-method","name":"battery_voltage=","abstract":false,"args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"args_string":"(battery_voltage : Float64 | Nil)","args_html":"(battery_voltage : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage=","args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@battery_voltage = battery_voltage"}},{"html_id":"eddystone_uid_instance:String|Nil-instance-method","name":"eddystone_uid_instance","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_instance"}},{"html_id":"eddystone_uid_instance=(eddystone_uid_instance:String|Nil)-instance-method","name":"eddystone_uid_instance=","abstract":false,"args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_instance : String | Nil)","args_html":"(eddystone_uid_instance : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance=","args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_instance = eddystone_uid_instance"}},{"html_id":"eddystone_uid_namespace:String|Nil-instance-method","name":"eddystone_uid_namespace","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_namespace"}},{"html_id":"eddystone_uid_namespace=(eddystone_uid_namespace:String|Nil)-instance-method","name":"eddystone_uid_namespace=","abstract":false,"args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_namespace : String | Nil)","args_html":"(eddystone_uid_namespace : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace=","args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_namespace = eddystone_uid_namespace"}},{"html_id":"eddystone_url_url:String|Nil-instance-method","name":"eddystone_url_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_url_url"}},{"html_id":"eddystone_url_url=(eddystone_url_url:String|Nil)-instance-method","name":"eddystone_url_url=","abstract":false,"args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"args_string":"(eddystone_url_url : String | Nil)","args_html":"(eddystone_url_url : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url=","args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_url_url = eddystone_url_url"}},{"html_id":"ibeacon_major:Int64|Nil-instance-method","name":"ibeacon_major","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_major"}},{"html_id":"ibeacon_major=(ibeacon_major:Int64|Nil)-instance-method","name":"ibeacon_major=","abstract":false,"args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_major : Int64 | Nil)","args_html":"(ibeacon_major : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major=","args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_major = ibeacon_major"}},{"html_id":"ibeacon_minor:Int64|Nil-instance-method","name":"ibeacon_minor","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_minor"}},{"html_id":"ibeacon_minor=(ibeacon_minor:Int64|Nil)-instance-method","name":"ibeacon_minor=","abstract":false,"args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_minor : Int64 | Nil)","args_html":"(ibeacon_minor : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor=","args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_minor = ibeacon_minor"}},{"html_id":"ibeacon_uuid:String|Nil-instance-method","name":"ibeacon_uuid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid","return_type":"String | ::Nil","visibility":"Public","body":"@ibeacon_uuid"}},{"html_id":"ibeacon_uuid=(ibeacon_uuid:String|Nil)-instance-method","name":"ibeacon_uuid=","abstract":false,"args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"args_string":"(ibeacon_uuid : String | Nil)","args_html":"(ibeacon_uuid : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid=","args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ibeacon_uuid = ibeacon_uuid"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L191"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L191"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"mfg_company_id:Int64|Nil-instance-method","name":"mfg_company_id","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mfg_company_id"}},{"html_id":"mfg_company_id=(mfg_company_id:Int64|Nil)-instance-method","name":"mfg_company_id=","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"args_string":"(mfg_company_id : Int64 | Nil)","args_html":"(mfg_company_id : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id=","args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@mfg_company_id = mfg_company_id"}},{"html_id":"mfg_data:String|Nil-instance-method","name":"mfg_data","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data","return_type":"String | ::Nil","visibility":"Public","body":"@mfg_data"}},{"html_id":"mfg_data=(mfg_data:String|Nil)-instance-method","name":"mfg_data=","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"args_string":"(mfg_data : String | Nil)","args_html":"(mfg_data : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data=","args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mfg_data = mfg_data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L190"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationEvent","path":"Juniper/LocationEvent.html","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationAsset","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset"},{"html_id":"drivers/Juniper/LocationSDK","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK"},{"html_id":"drivers/Juniper/LocationWifi","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"sdk\"\n LocationSDK.from_json(json)\nwhen \"wifi\"\n LocationWifi.from_json(json)\nwhen \"asset\"\n LocationAsset.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L167"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L167"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L168"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L168"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Juniper/LocationEvents","path":"Juniper/LocationEvents.html","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L149"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(LocationEvent)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L151"},"def":{"name":"events","return_type":"Array(LocationEvent)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L150"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/LocationSDK","path":"Juniper/LocationSDK.html","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L181"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L181"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L180"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L180"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L179"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationWifi","path":"Juniper/LocationWifi.html","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L184"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L184"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L186"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L186"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L185"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/Map","path":"Juniper/Map.html","kind":"class","full_name":"Juniper::Map","name":"Map","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/MapGoogle","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle"},{"html_id":"drivers/Juniper/MapImage","kind":"class","full_name":"Juniper::MapImage","name":"MapImage"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"image\"\n MapImage.from_json(json)\nwhen \"google\"\n MapGoogle.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L21"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L21"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/MapGoogle","path":"Juniper/MapGoogle.html","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_right_coordinates:LatLng-instance-method","name":"bottom_right_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates","return_type":"LatLng","visibility":"Public","body":"@bottom_right_coordinates"}},{"html_id":"bottom_right_coordinates=(bottom_right_coordinates:LatLng)-instance-method","name":"bottom_right_coordinates=","abstract":false,"args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"args_string":"(bottom_right_coordinates : LatLng)","args_html":"(bottom_right_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates=","args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@bottom_right_coordinates = bottom_right_coordinates"}},{"html_id":"origin_x:Float64-instance-method","name":"origin_x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x","return_type":"Float64","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Float64)-instance-method","name":"origin_x=","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"args_string":"(origin_x : Float64)","args_html":"(origin_x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Float64-instance-method","name":"origin_y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y","return_type":"Float64","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Float64)-instance-method","name":"origin_y=","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"args_string":"(origin_y : Float64)","args_html":"(origin_y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"top_left_coordinates:LatLng-instance-method","name":"top_left_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates","return_type":"LatLng","visibility":"Public","body":"@top_left_coordinates"}},{"html_id":"top_left_coordinates=(top_left_coordinates:LatLng)-instance-method","name":"top_left_coordinates=","abstract":false,"args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"args_string":"(top_left_coordinates : LatLng)","args_html":"(top_left_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates=","args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@top_left_coordinates = top_left_coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L56"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"view:String-instance-method","name":"view","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L57"},"def":{"name":"view","return_type":"String","visibility":"Public","body":"@view"}},{"html_id":"view=(view:String)-instance-method","name":"view=","abstract":false,"args":[{"name":"view","external_name":"view","restriction":"String"}],"args_string":"(view : String)","args_html":"(view : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L57"},"def":{"name":"view=","args":[{"name":"view","external_name":"view","restriction":"String"}],"visibility":"Public","body":"@view = view"}}]},{"html_id":"drivers/Juniper/MapImage","path":"Juniper/MapImage.html","kind":"class","full_name":"Juniper::MapImage","name":"MapImage","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Int32-instance-method","name":"height","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L41"},"def":{"name":"height","return_type":"Int32","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Int32)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(height : Int32)","args_html":"(height : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L41"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"@height = height"}},{"html_id":"height_m:Float64|Nil-instance-method","name":"height_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height_m"}},{"html_id":"height_m=(height_m:Float64|Nil)-instance-method","name":"height_m=","abstract":false,"args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"args_string":"(height_m : Float64 | Nil)","args_html":"(height_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m=","args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@height_m = height_m"}},{"html_id":"locked:Bool|Nil-instance-method","name":"locked","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L52"},"def":{"name":"locked","return_type":"Bool | ::Nil","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool|Nil)-instance-method","name":"locked=","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"args_string":"(locked : Bool | Nil)","args_html":"(locked : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L52"},"def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@locked = locked"}},{"html_id":"org_id:String|Nil-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id","return_type":"String | ::Nil","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String|Nil)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"args_string":"(org_id : String | Nil)","args_html":"(org_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"orientation:Int32|Nil-instance-method","name":"orientation","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation","return_type":"Int32 | ::Nil","visibility":"Public","body":"@orientation"}},{"html_id":"orientation=(orientation:Int32|Nil)-instance-method","name":"orientation=","abstract":false,"args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"args_string":"(orientation : Int32 | Nil)","args_html":"(orientation : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation=","args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@orientation = orientation"}},{"html_id":"origin_x:Int32|Nil-instance-method","name":"origin_x","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Int32|Nil)-instance-method","name":"origin_x=","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"args_string":"(origin_x : Int32 | Nil)","args_html":"(origin_x : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Int32|Nil-instance-method","name":"origin_y","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Int32|Nil)-instance-method","name":"origin_y=","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"args_string":"(origin_y : Int32 | Nil)","args_html":"(origin_y : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"pixels_per_meter:Float32-instance-method","name":"pixels_per_meter","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter","return_type":"Float32","visibility":"Public","body":"@pixels_per_meter"}},{"html_id":"pixels_per_meter=(pixels_per_meter:Float32)-instance-method","name":"pixels_per_meter=","abstract":false,"args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"args_string":"(pixels_per_meter : Float32)","args_html":"(pixels_per_meter : Float32)","location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter=","args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"visibility":"Public","body":"@pixels_per_meter = pixels_per_meter"}},{"html_id":"site_id:String|Nil-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id","return_type":"String | ::Nil","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String|Nil)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String | Nil)","args_html":"(site_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"thumbnail_url:String-instance-method","name":"thumbnail_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url","return_type":"String","visibility":"Public","body":"@thumbnail_url"}},{"html_id":"thumbnail_url=(thumbnail_url:String)-instance-method","name":"thumbnail_url=","abstract":false,"args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"args_string":"(thumbnail_url : String)","args_html":"(thumbnail_url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url=","args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"visibility":"Public","body":"@thumbnail_url = thumbnail_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L31"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"width:Int32-instance-method","name":"width","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L40"},"def":{"name":"width","return_type":"Int32","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Int32)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"}],"args_string":"(width : Int32)","args_html":"(width : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L40"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Int32"}],"visibility":"Public","body":"@width = width"}},{"html_id":"width_m:Float64|Nil-instance-method","name":"width_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width_m"}},{"html_id":"width_m=(width_m:Float64|Nil)-instance-method","name":"width_m=","abstract":false,"args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"args_string":"(width_m : Float64 | Nil)","args_html":"(width_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m=","args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@width_m = width_m"}}]},{"html_id":"drivers/Juniper/Mist","path":"Juniper/Mist.html","kind":"class","full_name":"Juniper::Mist","name":"Mist","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(site_id:String,client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(site_id : String, client_mac : String)","args_html":"(site_id : String, client_mac : String)","location":{"filename":"src/juniper/mist.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L117"},"def":{"name":"client","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"clients(site_id:String,map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String, map_id : String | Nil = nil)","args_html":"(site_id : String, map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L109"},"def":{"name":"clients","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L97"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"location_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"location_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/juniper/mist.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L124"},"def":{"name":"location_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nvalidation = if signature = headers[\"X-Mist-Signature-v2\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA256, @webhook_secret, body)).downcase\nelse\n if signature = headers[\"X-Mist-Signature\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA1, @webhook_secret, body)).downcase\n else\n logger.warn do\n \"webhook called without validation signature\"\n end\n return {HTTP::Status::NOT_FOUND.to_i, EMPTY_HEADERS, \"\"}\n end\nend\nif validation != signature.downcase\n logger.warn do\n \"validation failed, check webhook secret\"\n end\n return {HTTP::Status::UNAUTHORIZED.to_i, EMPTY_HEADERS, \"\"}\nend\nbegin\n event_data = WebhookEvent.from_json(body)\n logger.debug do\n \"parsed mist webhook payload\"\n end\n if event_data.topic != \"location\"\n logger.debug do\n \"ignoring message type: #{event_data.topic}\"\n end\n return SUCCESS_RESPONSE\n end\n sites = Hash(String, Array(LocationEvent)).new do |hash, site|\n hash[site] = [] of LocationEvent\n end\n (event_data.events.as(Array(LocationEvent))).each do |event|\n sites[event.site_id] << event\n end\n sites.each do |site, events|\n self[site] = events\n end\nrescue e\n logger.error(exception: e) do\n \"failed to parse mist webhook payload\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}},{"html_id":"maps(site_id:String)-instance-method","name":"maps","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L105"},"def":{"name":"maps","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nschedule.cron(\"0 * * * *\") do\n reset_rate_limit\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L36"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@org_id = setting(String, :org_id)\n@webhook_secret = (setting?(String, :webhook_secret)) || \"\"\n"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L101"},"def":{"name":"sites","visibility":"Public","body":"request(Array(Site)) do |headers|\n get(\"/api/v1/orgs/#{@org_id}/sites\", headers: headers)\nend"}}]},{"html_id":"drivers/Juniper/MistLocationService","path":"Juniper/MistLocationService.html","kind":"class","full_name":"Juniper::MistLocationService","name":"MistLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/juniper/mist_location_service.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L118"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = (mist.ownership_of(lookup)).get.as_s?\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L130"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of String\nend\nmaps = [] of String\n@floorplan_mappings.each do |map_id, data|\n if data.values.includes?(zone_id)\n maps << map_id\n end\nend\nlogger.debug do\n \"found matching mist maps: #{maps}\"\nend\nif maps.empty?\n return [] of String\nend\nignore_older = @max_location_age.ago.to_unix\nall_devices = maps.flat_map do |map_id|\n clients = (mist.status?(Array(Client), map_id)) || ([] of Client)\n mappings = @floorplan_mappings[map_id]\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n clients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\n end\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L197"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"clients = Array(Client).from_json((mist.locate(username.presence || email.presence.not_nil!)).get.to_json)\nignore_older = @max_location_age.ago.to_unix\nclients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n map_id = client.map_id\n mappings = @floorplan_mappings[map_id]?\n if mappings\n else\n next\n end\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\nend\n"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","doc":"Proxies the data to the mist driver","summary":"

Proxies the data to the mist driver

","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_location_service.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L113"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"mist.mac_address_mappings(username, macs, domain)"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L107"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(mist.macs_assigned_to(username.presence || email.presence.not_nil!)).get.as_a.map(&.as_s)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Int32)), :floorplan_mappings)) || @floorplan_mappings\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\nschedule.clear\nschedule.every(10.minutes) do\n sync_map_sizes\nend\nschedule.in(20.seconds) do\n sync_map_sizes\nend\n"}}]},{"html_id":"drivers/Juniper/MistWebsocket","path":"Juniper/MistWebsocket.html","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L162"},"def":{"name":"client","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"client_data:Hash(String,Client)-instance-method","name":"client_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L36"},"def":{"name":"client_data","return_type":"Hash(String, Client)","visibility":"Public","body":"if (value = @client_data).nil?\n @client_data = ({} of String => Client)\nelse\n value\nend"}},{"html_id":"clients(map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil = nil)","args_html":"(map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L154"},"def":{"name":"clients","args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L69"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\n@location_data = nil\n@client_data = nil\nschedule.every(45.seconds, immediate: true) do\n transport.send({subscribe: \"/sites/#{@site_id}/stats/clients\"}.to_json)\nend\nsync_clients\nschedule.every(3.seconds) do\n update_client_locations\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L82"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@connected = false\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L195"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L186"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L142"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"locate(username:String)-instance-method","name":"locate","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String)","args_html":"(username : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L213"},"def":{"name":"locate","args":[{"name":"username","external_name":"username","restriction":"String"}],"visibility":"Public","body":"(macs_assigned_to(username)).compact_map do |mac|\n self[mac]?\nend"}},{"html_id":"location_data:Hash(String,Hash(String,Client))-instance-method","name":"location_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L32"},"def":{"name":"location_data","return_type":"Hash(String, Hash(String, Client))","visibility":"Public","body":"if (value = @location_data).nil?\n @location_data = (Hash(String, Hash(String, Client)).new do |hash, map_id|\n hash[map_id] = {} of String => Client\n end)\nelse\n value\nend"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_websocket.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L254"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"macs_assigned_to(username:String):Array(String)-instance-method","name":"macs_assigned_to","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String) : Array(String)","args_html":"(username : String) : Array(String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L199"},"def":{"name":"macs_assigned_to","args":[{"name":"username","external_name":"username","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username)\nif macs = user_mac_mappings do |s|\n s[username]?\nend\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"maps-instance-method","name":"maps","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L150"},"def":{"name":"maps","visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\ntransport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@site_id = setting(String, :site_id)\nif @site_id == \"site_id\"\nelse\n transport.http_uri_override = URI.parse(\"https://api.mist.com\")\nend\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\nif @connected\n connected\nend\n"}},{"html_id":"ownership_of(mac_address:String)-instance-method","name":"ownership_of","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L208"},"def":{"name":"ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"mac_address = format_mac(mac_address)\nuser_mac_mappings do |storage|\n storage[mac_address]?\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"string = (String.new(data)).rstrip\nlogger.debug do\n \"websocket sent: #{string}\"\nend\nevent = WebsocketEvent.from_json(string)\nif event_data = event.data\n update_location(client_data, location_data, event_data)\nend\ntask.try(&.success)\n"}},{"html_id":"site_list(org_id:String)-instance-method","name":"site_list","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L146"},"def":{"name":"site_list","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Hash(String, JSON::Any))) do |headers|\n get(\"/api/v1/installer/orgs/#{org_id}/sites\", headers: headers)\nend"}},{"html_id":"sync_clients-instance-method","name":"sync_clients","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L123"},"def":{"name":"sync_clients","visibility":"Public","body":"clients_resp = clients\nloc_data = location_data\ncli_data = client_data\nclients_resp.each do |client|\n update_location(cli_data, loc_data, client)\nend\nloc_data.each do |map_id, clients|\n self[map_id] = clients.values\nend\nlocation_data.size\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L62"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"Authorization\" => @api_token, \"User-Agent\" => \"PlaceOS/2.0 PlaceTechnology\"}"}}],"types":[{"html_id":"drivers/Juniper/MistWebsocket/WebsocketEvent","path":"Juniper/MistWebsocket/WebsocketEvent.html","kind":"struct","full_name":"Juniper::MistWebsocket::WebsocketEvent","name":"WebsocketEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper/MistWebsocket","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L170"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"data:Client|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L171"},"def":{"name":"data","return_type":"Client | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L169"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]}]},{"html_id":"drivers/Juniper/OtherEvents","path":"Juniper/OtherEvents.html","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(JSON::Any)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L157"},"def":{"name":"events","return_type":"Array(JSON::Any)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L156"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/Site","path":"Juniper/Site.html","kind":"class","full_name":"Juniper::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"country_code:String-instance-method","name":"country_code","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code","return_type":"String","visibility":"Public","body":"@country_code"}},{"html_id":"country_code=(country_code:String)-instance-method","name":"country_code=","abstract":false,"args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"args_string":"(country_code : String)","args_html":"(country_code : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code=","args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"visibility":"Public","body":"@country_code = country_code"}},{"html_id":"created_time:Int64-instance-method","name":"created_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time","return_type":"Int64","visibility":"Public","body":"@created_time"}},{"html_id":"created_time=(created_time:Int64)-instance-method","name":"created_time=","abstract":false,"args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"args_string":"(created_time : Int64)","args_html":"(created_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time=","args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"visibility":"Public","body":"@created_time = created_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"modified_time:Int64-instance-method","name":"modified_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time","return_type":"Int64","visibility":"Public","body":"@modified_time"}},{"html_id":"modified_time=(modified_time:Int64)-instance-method","name":"modified_time=","abstract":false,"args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"args_string":"(modified_time : Int64)","args_html":"(modified_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time=","args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"visibility":"Public","body":"@modified_time = modified_time"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"org_id:String-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id","return_type":"String","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}}]},{"html_id":"drivers/Juniper/WebhookEvent","path":"Juniper/WebhookEvent.html","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationEvents","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents"},{"html_id":"drivers/Juniper/OtherEvents","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L133"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"topic\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'topic' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'topic'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n LocationEvents.from_json(json)\nwhen \"zone\"\n OtherEvents.from_json(json)\nwhen \"asset-raw\"\n OtherEvents.from_json(json)\nwhen \"device-events\"\n OtherEvents.from_json(json)\nwhen \"device-updowns\"\n OtherEvents.from_json(json)\nwhen \"alarms\"\n OtherEvents.from_json(json)\nwhen \"audits\"\n OtherEvents.from_json(json)\nwhen \"client-join\"\n OtherEvents.from_json(json)\nwhen \"client-sessions\"\n OtherEvents.from_json(json)\nwhen \"ping\"\n OtherEvents.from_json(json)\nwhen \"occupancy-alerts\"\n OtherEvents.from_json(json)\nwhen \"sdkclient-scan-data\"\n OtherEvents.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'topic' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]}]},{"html_id":"drivers/Kaiterra","path":"Kaiterra.html","kind":"module","full_name":"Kaiterra","name":"Kaiterra","abstract":false,"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kaiterra/API","path":"Kaiterra/API.html","kind":"class","full_name":"Kaiterra::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Kaiterra","kind":"module","full_name":"Kaiterra","name":"Kaiterra"},"instance_methods":[{"html_id":"batch(body:Array(Request),params:Hash(String,String)={}ofString=>String)-instance-method","name":"batch","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","args_html":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L118"},"def":{"name":"batch","args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = post(generate_url(\"/batch\", params), body: body.to_json, headers: generate_headers({\"Content-Type\" => \"application/json\", \"Content-Encoding\" => \"UTF-8\"}))\nArray(BatchResponse).from_json(response.body)\n"}},{"html_id":"get_devices(id:String,params:Hash(String,String)={}ofString=>String)-instance-method","name":"get_devices","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(id : String, params : Hash(String, String) = {} of String => String)","args_html":"(id : String, params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L93"},"def":{"name":"get_devices","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = get(generate_url(\"/devices/#{id}/top\", params), headers: generate_headers)\nResponse.from_json(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}}],"types":[{"html_id":"drivers/Kaiterra/API/BatchResponse","path":"Kaiterra/API/BatchResponse.html","kind":"class","full_name":"Kaiterra::API::BatchResponse","name":"BatchResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L114"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L114"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"code:Int64-instance-method","name":"code","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L115"},"def":{"name":"code","return_type":"Int64","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int64)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int64"}],"args_string":"(code : Int64)","args_html":"(code : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L115"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int64"}],"visibility":"Public","body":"@code = code"}}]},{"html_id":"drivers/Kaiterra/API/Data","path":"Kaiterra/API/Data.html","kind":"class","full_name":"Kaiterra::API::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L83"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L84"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"param:Param-instance-method","name":"param","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L86"},"def":{"name":"param","return_type":"Param","visibility":"Public","body":"@param"}},{"html_id":"param=(param:Param)-instance-method","name":"param=","abstract":false,"args":[{"name":"param","external_name":"param","restriction":"Param"}],"args_string":"(param : Param)","args_html":"(param : Param)","location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L86"},"def":{"name":"param=","args":[{"name":"param","external_name":"param","restriction":"Param"}],"visibility":"Public","body":"@param = param"}},{"html_id":"points:Array(JSON::Any::Type)-instance-method","name":"points","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L90"},"def":{"name":"points","return_type":"Array(JSON::Any::Type)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(JSON::Any::Type))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"args_string":"(points : Array(JSON::Any::Type))","args_html":"(points : Array(JSON::Any::Type))","location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L90"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"visibility":"Public","body":"@points = points"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L88"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:String|Nil)-instance-method","name":"source=","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(source : String | Nil)","args_html":"(source : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L88"},"def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"@source = source"}},{"html_id":"span:Int64-instance-method","name":"span","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L89"},"def":{"name":"span","return_type":"Int64","visibility":"Public","body":"@span"}},{"html_id":"span=(span:Int64)-instance-method","name":"span=","abstract":false,"args":[{"name":"span","external_name":"span","restriction":"Int64"}],"args_string":"(span : Int64)","args_html":"(span : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L89"},"def":{"name":"span=","args":[{"name":"span","external_name":"span","restriction":"Int64"}],"visibility":"Public","body":"@span = span"}},{"html_id":"units:Unit-instance-method","name":"units","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L87"},"def":{"name":"units","return_type":"Unit","visibility":"Public","body":"@units"}},{"html_id":"units=(units:Unit)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"Unit"}],"args_string":"(units : Unit)","args_html":"(units : Unit)","location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L87"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"Unit"}],"visibility":"Public","body":"@units = units"}}]},{"html_id":"drivers/Kaiterra/API/Param","path":"Kaiterra/API/Param.html","kind":"enum","full_name":"Kaiterra::API::Param","name":"Param","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Rco2","name":"Rco2","value":"0"},{"id":"Ro3","name":"Ro3","value":"1"},{"id":"Rpm25c","name":"Rpm25c","value":"2"},{"id":"Rpm10c","name":"Rpm10c","value":"3"},{"id":"Rhumid","name":"Rhumid","value":"4"},{"id":"Rtemp","name":"Rtemp","value":"5"},{"id":"Rtvoc","name":"Rtvoc","value":"6"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"instance_methods":[{"html_id":"rco2?-instance-method","name":"rco2?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L26"},"def":{"name":"rco2?","visibility":"Public","body":"self == Rco2"}},{"html_id":"rhumid?-instance-method","name":"rhumid?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L30"},"def":{"name":"rhumid?","visibility":"Public","body":"self == Rhumid"}},{"html_id":"ro3?-instance-method","name":"ro3?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L27"},"def":{"name":"ro3?","visibility":"Public","body":"self == Ro3"}},{"html_id":"rpm10c?-instance-method","name":"rpm10c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L29"},"def":{"name":"rpm10c?","visibility":"Public","body":"self == Rpm10c"}},{"html_id":"rpm25c?-instance-method","name":"rpm25c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L28"},"def":{"name":"rpm25c?","visibility":"Public","body":"self == Rpm25c"}},{"html_id":"rtemp?-instance-method","name":"rtemp?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L31"},"def":{"name":"rtemp?","visibility":"Public","body":"self == Rtemp"}},{"html_id":"rtvoc?-instance-method","name":"rtvoc?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L32"},"def":{"name":"rtvoc?","visibility":"Public","body":"self == Rtvoc"}}]},{"html_id":"drivers/Kaiterra/API/Request","path":"Kaiterra/API/Request.html","kind":"class","full_name":"Kaiterra::API::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L102"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String|Nil-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L108"},"def":{"name":"body","return_type":"String | ::Nil","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String|Nil)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(body : String | Nil)","args_html":"(body : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L108"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"@body = body"}},{"html_id":"headers:Array(NamedTuple(name:String,value:String))|Nil-instance-method","name":"headers","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L107"},"def":{"name":"headers","return_type":"Array(NamedTuple(name: String, value: String)) | ::Nil","visibility":"Public","body":"@headers"}},{"html_id":"headers=(headers:Array(NamedTuple(name:String,value:String))|Nil)-instance-method","name":"headers=","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"args_string":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","args_html":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L107"},"def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L104"},"def":{"name":"method","return_type":"String","visibility":"Public","body":"@method"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L104"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"relative_url:String-instance-method","name":"relative_url","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url","return_type":"String","visibility":"Public","body":"@relative_url"}},{"html_id":"relative_url=(relative_url:String)-instance-method","name":"relative_url=","abstract":false,"args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"args_string":"(relative_url : String)","args_html":"(relative_url : String)","location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url=","args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"visibility":"Public","body":"@relative_url = relative_url"}}]},{"html_id":"drivers/Kaiterra/API/Response","path":"Kaiterra/API/Response.html","kind":"class","full_name":"Kaiterra::API::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L76"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L77"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Data)|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L79"},"def":{"name":"data","return_type":"Array(Data) | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Array(Data)|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"args_string":"(data : Array(Data) | Nil)","args_html":"(data : Array(Data) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L79"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"visibility":"Public","body":"@data = data"}},{"html_id":"errors:Array(JSON::Any::Type)|Nil-instance-method","name":"errors","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L80"},"def":{"name":"errors","return_type":"Array(JSON::Any::Type) | ::Nil","visibility":"Public","body":"@errors"}},{"html_id":"errors=(errors:Array(JSON::Any::Type)|Nil)-instance-method","name":"errors=","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"args_string":"(errors : Array(JSON::Any::Type) | Nil)","args_html":"(errors : Array(JSON::Any::Type) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L80"},"def":{"name":"errors=","args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"visibility":"Public","body":"@errors = errors"}}]},{"html_id":"drivers/Kaiterra/API/Unit","path":"Kaiterra/API/Unit.html","kind":"enum","full_name":"Kaiterra::API::Unit","name":"Unit","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ppm","name":"Ppm","value":"0"},{"id":"Ppb","name":"Ppb","value":"1"},{"id":"MicrogramsPerCubicMeter","name":"MicrogramsPerCubicMeter","value":"2"},{"id":"MilligramsPerCubicMeter","name":"MilligramsPerCubicMeter","value":"3"},{"id":"C","name":"C","value":"4"},{"id":"F","name":"F","value":"5"},{"id":"X","name":"X","value":"6"},{"id":"Percentage","name":"Percentage","value":"7"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"class_methods":[{"html_id":"parse(string)-class-method","name":"parse","abstract":false,"args":[{"name":"string","external_name":"string","restriction":""}],"args_string":"(string)","args_html":"(string)","location":{"filename":"src/kaiterra/api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L45"},"def":{"name":"parse","args":[{"name":"string","external_name":"string","restriction":""}],"visibility":"Public","body":"case string\nwhen \"µg/m³\"\n Unit::MicrogramsPerCubicMeter\nwhen \"mg/m³\"\n Unit::MilligramsPerCubicMeter\nwhen \"%\"\n Unit::Percentage\nelse\n super(string)\nend"}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"parse(pull.read_string)"}}],"instance_methods":[{"html_id":"c?-instance-method","name":"c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L40"},"def":{"name":"c?","visibility":"Public","body":"self == C"}},{"html_id":"f?-instance-method","name":"f?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L41"},"def":{"name":"f?","visibility":"Public","body":"self == F"}},{"html_id":"micrograms_per_cubic_meter?-instance-method","name":"micrograms_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L38"},"def":{"name":"micrograms_per_cubic_meter?","visibility":"Public","body":"self == MicrogramsPerCubicMeter"}},{"html_id":"milligrams_per_cubic_meter?-instance-method","name":"milligrams_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L39"},"def":{"name":"milligrams_per_cubic_meter?","visibility":"Public","body":"self == MilligramsPerCubicMeter"}},{"html_id":"percentage?-instance-method","name":"percentage?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L43"},"def":{"name":"percentage?","visibility":"Public","body":"self == Percentage"}},{"html_id":"ppb?-instance-method","name":"ppb?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L37"},"def":{"name":"ppb?","visibility":"Public","body":"self == Ppb"}},{"html_id":"ppm?-instance-method","name":"ppm?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L36"},"def":{"name":"ppm?","visibility":"Public","body":"self == Ppm"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L62"},"def":{"name":"to_s","visibility":"Public","body":"case self\nwhen Unit::MicrogramsPerCubicMeter\n \"µg/m³\"\nwhen Unit::MilligramsPerCubicMeter\n \"mg/m³\"\nwhen Unit::Percentage\n \"%\"\nelse\n super()\nend"}},{"html_id":"x?-instance-method","name":"x?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L42"},"def":{"name":"x?","visibility":"Public","body":"self == X"}}]}]}]},{"html_id":"drivers/KontaktIO","path":"KontaktIO.html","kind":"module","full_name":"KontaktIO","name":"KontaktIO","abstract":false,"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/KontaktIO/Building","path":"KontaktIO/Building.html","kind":"class","full_name":"KontaktIO::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L150"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L155"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L154"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L159"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L152"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L156"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L157"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L153"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/KontaktIO/Campus","path":"KontaktIO/Campus.html","kind":"class","full_name":"KontaktIO::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L168"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"buildings:Array(Building)-instance-method","name":"buildings","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L174"},"def":{"name":"buildings","return_type":"Array(Building)","visibility":"Public","body":"@buildings"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L167"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L165"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L171"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L172"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L166"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L170"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/KontaktIO/Contact","path":"KontaktIO/Contact.html","kind":"class","full_name":"KontaktIO::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration_sec:Int32-instance-method","name":"duration_sec","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L62"},"def":{"name":"duration_sec","return_type":"Int32","visibility":"Public","body":"@duration_sec"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L53"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L56"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L59"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}}]},{"html_id":"drivers/KontaktIO/ContactTracing","path":"KontaktIO/ContactTracing.html","kind":"class","full_name":"KontaktIO::ContactTracing","name":"ContactTracing","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/contact_tracing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"close_contacts(email:String|Nil=nil,username:String|Nil=nil,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil)-instance-method","name":"close_contacts","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L13"},"def":{"name":"close_contacts","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"macs = (location_services.macs_assigned_to(email, username)).get.as_a.map(&.as_s)\nperiods = [] of Tuple(Int64, Int64)\nperiod_start = start_time || 2.days.ago.to_unix\nperiod_end = end_time || 1.days.ago.to_unix\nloop do\n temp_ending = period_start + 6.hours.to_i\n if temp_ending < period_end\n periods << {period_start, temp_ending}\n else\n periods << {period_start, period_end}\n break\n end\n period_start = temp_ending\nend\nlocations = [] of Tracking\nerrors = [] of Exception\nmacs.each do |mac|\n begin\n periods.each do |__arg1|\n starting = __arg1[0]\n ending = __arg1[1]\n raw_report = (kontakt.colocations(mac, starting, ending)).get.to_json\n locations.concat(Array(Tracking).from_json(raw_report))\n end\n rescue error\n logger.warn(exception: error) do\n \"locating close contacts\"\n end\n errors << error\n end\nend\nif locations.empty? && errors.size > 0\n raise(errors[0])\nend\nmacs = Set(String).new\nlocations.each do |location|\n macs << location.mac_address\nend\nmac_mappings = {} of String => String\nmacs.each do |mac|\n mac = format_mac(mac)\n if owner = (location_services.check_ownership_of(mac)).get.as_h?\n username = owner[\"assigned_to\"]?.try(&.as_s)\n if username\n else\n next\n end\n mac_mappings[mac] = username\n end\nend\ncontacts = {} of String => NamedTuple(mac_address: String, username: String | ::Nil, contact_time: Int64, duration: Int32)\nlocations.each do |location|\n mac = format_mac(location.mac_address)\n username = mac_mappings[mac]?\n duration = location.duration\n if current = contacts[username || mac]?\n if current[:duration] > duration\n next\n end\n end\n contacts[username || mac] = {mac_address: mac, username: username, contact_time: location.start_time.to_unix, duration: duration}\nend\ncontacts.values\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L93"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}}]},{"html_id":"drivers/KontaktIO/Floor","path":"KontaktIO/Floor.html","kind":"class","full_name":"KontaktIO::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64|Nil-instance-method","name":"height","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L136"},"def":{"name":"height","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L133"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L143"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"level:Int32|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L139"},"def":{"name":"level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L146"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L134"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"rotation:Float64|Nil-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L138"},"def":{"name":"rotation","return_type":"Float64 | ::Nil","visibility":"Public","body":"@rotation"}},{"html_id":"width:Float64|Nil-instance-method","name":"width","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L137"},"def":{"name":"width","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/KontaktIO/KioCloud","path":"KontaktIO/KioCloud.html","kind":"class","full_name":"KontaktIO::KioCloud","name":"KioCloud","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"campuses:Array(Campus)-instance-method","name":"campuses","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L113"},"def":{"name":"campuses","return_type":"Array(Campus)","visibility":"Public","body":"campuses = [] of Campus\nmake_request(\"GET\", \"/v2/locations/campuses\") do |data|\n resp = Response(Campus).from_json(data)\n campuses.concat(resp.content)\n resp.page\nend\ncampuses\n"}},{"html_id":"colocations(mac_address:String,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil):Array(Tracking)-instance-method","name":"colocations","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","args_html":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L86"},"def":{"name":"colocations","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"return_type":"Array(Tracking)","visibility":"Public","body":"ending = end_time ? Time.unix(end_time) : 10.minutes.ago\nstarting = start_time ? Time.unix(start_time) : (ending - 20.days)\ntracking = [] of Tracking\nmake_request(\"GET\", \"/v3/novid/colocations\", params: URI::Params {\"trackingId\" => ((format_mac(mac_address)).upcase.scan(/\\w{2}/)).map() do |__arg2|\n __arg2.to_a.first\nend.join(':'), \"startTime\" => starting.to_rfc3339, \"endTime\" => ending.to_rfc3339}) do |data|\n resp = Response(Tracking).from_json(data)\n tracking.concat(resp.content)\n resp.page\nend\ntracking\n"}},{"html_id":"create_channel(name:String,uri:String)-instance-method","name":"create_channel","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(name : String, uri : String)","args_html":"(name : String, uri : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L167"},"def":{"name":"create_channel","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"make_request(\"POST\", \"/v3/channels\", body: {status: :active, name: name, channel: {type: \"eventHub\", endpoint: uri, streamName: name, accessKey: \"test\", secretKey: \"test\", region: \"test\", sharedAccessKeyName: \"test\", eventHubName: \"test\", sharedAccessKey: \"test\"}}.to_json)"}},{"html_id":"delete_channel(id:Int32|String)-instance-method","name":"delete_channel","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"args_string":"(id : Int32 | String)","args_html":"(id : Int32 | String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L185"},"def":{"name":"delete_channel","args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"visibility":"Public","body":"make_request(\"DELETE\", \"/v3/channels\", params: URI::Params {\"id\" => id.to_s})"}},{"html_id":"event_hub(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"event_hub","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L162"},"def":{"name":"event_hub","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nlogger.debug do\n body\nend\n"}},{"html_id":"find(mac_address:String):Position|Nil-instance-method","name":"find","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : Position | Nil","args_html":"(mac_address : String) : Position | Nil","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L105"},"def":{"name":"find","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"Position | ::Nil","visibility":"Public","body":"data = make_request(\"GET\", \"/v2/positions\", params: URI::Params {\"trackingId\" => format_mac(mac_address)})\n(Response(Position).from_json(data)).content.first?\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L158"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"occupancy_cache:Hash(Int64,RoomOccupancy)-instance-method","name":"occupancy_cache","doc":"===================================\nCaching sensor data\n===================================","summary":"

=================================== Caching sensor data ===================================

","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L146"},"def":{"name":"occupancy_cache","return_type":"Hash(Int64, RoomOccupancy)","visibility":"Public","body":"@occupancy_cache"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)\npoll_every = ((setting?(Int32, :poll_every)) || 2).seconds\nschedule.clear\nschedule.every(poll_every) do\n cache_occupancy_counts\nend\n"}},{"html_id":"room_occupancy:Array(RoomOccupancy)-instance-method","name":"room_occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L133"},"def":{"name":"room_occupancy","return_type":"Array(RoomOccupancy)","visibility":"Public","body":"room_occupancy = [] of RoomOccupancy\nmake_request(\"GET\", \"/v3/occupancy/rooms\") do |data|\n resp = Response(RoomOccupancy).from_json(data)\n room_occupancy.concat(resp.content)\n resp.page\nend\nroom_occupancy\n"}},{"html_id":"rooms:Array(Room)-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L123"},"def":{"name":"rooms","return_type":"Array(Room)","visibility":"Public","body":"rooms = [] of Room\nmake_request(\"GET\", \"/v2/locations/rooms\") do |data|\n resp = Response(Room).from_json(data)\n rooms.concat(resp.content)\n resp.page\nend\nrooms\n"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings","path":"KontaktIO/MacAddressMappings.html","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"map_devices-instance-method","name":"map_devices","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L40"},"def":{"name":"map_devices","visibility":"Public","body":"request = \"https://api.kontakt.io/device?maxResult=500&deviceType=BEACON\"\nlocatable = system.implementing(Interface::Locatable)\nwhile request.presence\n response = HTTP::Client.get(request, headers: HTTP::Headers {\"Api-Key\" => @api_key, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/vnd.com.kontakt+json;version=10\"})\n logger.debug do\n \"request returned:\\n#{response.body}\"\n end\n case response.status_code\n when 303\n when 401\n logger.warn do\n \"The API Key is invalid or disabled\"\n end\n when 403\n logger.warn do\n \"User who created the API no longer has access to the Kio Cloud account or their user role doesn't allow access to the endpoint. Device error if the endpoint is not available for the device model.\"\n end\n end\n if response.success?\n else\n raise(\"request #{request} failed with status: #{response.status_code}\")\n end\n result = NamedTuple(devices: Array(DeviceDetails), searchMeta: SearchMeta).from_json(response.body)\n meta = result[:searchMeta]\n request = meta.next_results\n result[:devices].each do |device|\n if device.alias.presence\n else\n next\n end\n (locatable.mac_address_mappings(device.alias, {device.mac}, \"\")).get\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.every(1.hour) do\n map_devices\nend\nschedule.in(10.seconds) do\n map_devices\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)"}}],"types":[{"html_id":"drivers/KontaktIO/MacAddressMappings/DeviceDetails","path":"KontaktIO/MacAddressMappings/DeviceDetails.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::DeviceDetails","name":"DeviceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alias:String|Nil-instance-method","name":"alias","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L36"},"def":{"name":"alias","return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L37"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings/SearchMeta","path":"KontaktIO/MacAddressMappings/SearchMeta.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::SearchMeta","name":"SearchMeta","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_results:String-instance-method","name":"next_results","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L30"},"def":{"name":"next_results","return_type":"String","visibility":"Public","body":"@next_results"}}]}]},{"html_id":"drivers/KontaktIO/Page","path":"KontaktIO/Page.html","kind":"class","full_name":"KontaktIO::Page","name":"Page","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"number:Int32-instance-method","name":"number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L8"},"def":{"name":"number","return_type":"Int32","visibility":"Public","body":"@number"}},{"html_id":"size:Int32-instance-method","name":"size","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L7"},"def":{"name":"size","return_type":"Int32","visibility":"Public","body":"@size"}},{"html_id":"total_elements:Int32-instance-method","name":"total_elements","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L11"},"def":{"name":"total_elements","return_type":"Int32","visibility":"Public","body":"@total_elements"}},{"html_id":"total_pages:Int32-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L14"},"def":{"name":"total_pages","return_type":"Int32","visibility":"Public","body":"@total_pages"}}]},{"html_id":"drivers/KontaktIO/Position","path":"KontaktIO/Position.html","kind":"class","full_name":"KontaktIO::Position","name":"Position","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L118"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L121"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L115"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"last_update:String|Nil-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L124"},"def":{"name":"last_update","return_type":"String | ::Nil","visibility":"Public","body":"@last_update"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L109"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64|Nil-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L112"},"def":{"name":"room_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_id"}},{"html_id":"x:Int64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L125"},"def":{"name":"x","return_type":"Int64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"y:Int64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L126"},"def":{"name":"y","return_type":"Int64 | ::Nil","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/KontaktIO/Presence","path":"KontaktIO/Presence.html","kind":"class","full_name":"KontaktIO::Presence","name":"Presence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L87"},"def":{"name":"building_id","return_type":"Int64","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L90"},"def":{"name":"building_name","return_type":"String","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L93"},"def":{"name":"campus_id","return_type":"Int64","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L96"},"def":{"name":"campus_name","return_type":"String","visibility":"Public","body":"@campus_name"}},{"html_id":"company_id:String-instance-method","name":"company_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L69"},"def":{"name":"company_id","return_type":"String","visibility":"Public","body":"@company_id"}},{"html_id":"end_time:String-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L102"},"def":{"name":"end_time","return_type":"String","visibility":"Public","body":"@end_time"}},{"html_id":"floor_id:Int64-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L81"},"def":{"name":"floor_id","return_type":"Int64","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L84"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L72"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L78"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L75"},"def":{"name":"room_name","return_type":"String","visibility":"Public","body":"@room_name"}},{"html_id":"start_time:String-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L99"},"def":{"name":"start_time","return_type":"String","visibility":"Public","body":"@start_time"}}]},{"html_id":"drivers/KontaktIO/Response","path":"KontaktIO/Response.html","kind":"class","full_name":"KontaktIO::Response(T)","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Array(T)-instance-method","name":"content","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L20"},"def":{"name":"content","return_type":"Array(T)","visibility":"Public","body":"@content"}},{"html_id":"page:Page|Nil-instance-method","name":"page","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L21"},"def":{"name":"page","return_type":"Page | ::Nil","visibility":"Public","body":"@page"}}]},{"html_id":"drivers/KontaktIO/Room","path":"KontaktIO/Room.html","kind":"class","full_name":"KontaktIO::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L177"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor:Floor-instance-method","name":"floor","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L186"},"def":{"name":"floor","return_type":"Floor","visibility":"Public","body":"@floor"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L181"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L182"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_number:Int64|Nil-instance-method","name":"room_number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L189"},"def":{"name":"room_number","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_number"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L185"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}}]},{"html_id":"drivers/KontaktIO/RoomOccupancy","path":"KontaktIO/RoomOccupancy.html","kind":"struct","full_name":"KontaktIO::RoomOccupancy","name":"RoomOccupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L208"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String|Nil-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L211"},"def":{"name":"building_name","return_type":"String | ::Nil","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L214"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String|Nil-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L217"},"def":{"name":"campus_name","return_type":"String | ::Nil","visibility":"Public","body":"@campus_name"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L202"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String|Nil-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L205"},"def":{"name":"floor_name","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L220"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"occupancy:Int32-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L221"},"def":{"name":"occupancy","return_type":"Int32","visibility":"Public","body":"@occupancy"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L196"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String|Nil-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L199"},"def":{"name":"room_name","return_type":"String | ::Nil","visibility":"Public","body":"@room_name"}}]},{"html_id":"drivers/KontaktIO/RoomSensor","path":"KontaktIO/RoomSensor.html","kind":"class","full_name":"KontaktIO::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsubscribe_to_sensor\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L80"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nsensor = @space\nif sensor\nelse\n return nil\nend\nif mac == \"kontakt-#{sensor.room_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(sensor, :people_count)\nwhen \"presence\"\n build_sensor_details(sensor, :presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L61"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nsensor = @space\nif sensor\nelse\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac == \"kontakt-#{sensor.room_id}\"\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nbuild_sensors(sensor, sensor_type)\n"}},{"html_id":"space:RoomOccupancy-instance-method","name":"space","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space","return_type":"RoomOccupancy","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"KontaktIO::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:RoomOccupancy|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space?","return_type":"RoomOccupancy | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/KontaktIO/SensorService","path":"KontaktIO/SensorService.html","kind":"class","full_name":"KontaktIO::SensorService","name":"SensorService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/sensor_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L77"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nfloor_ids = @zone_lookup[zone_id]?\nif floor_ids && floor_ids.size > 0\nelse\n return [] of Nil\nend\nloc_type = \"desk\"\nif location && (location != loc_type)\n return [] of Nil\nend\ncache = @occupancy_cache\ncache.compact_map do |__arg0|\n room_id = __arg0[0]\n space = __arg0[1]\n if space.floor_id.in?(floor_ids)\n else\n next\n end\n people_count = space.occupancy\n if @return_empty_spaces || (people_count && people_count > 0)\n {location: loc_type, at_location: people_count, map_id: \"room-#{space.room_id}\", level: zone_id, building: @floor_mappings[space.floor_id.to_s]?.try(&.[](:building_id)), kontakt_io_room: space.room_name}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L72"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\nlookup = Hash(String, Array(Int64)).new do |hash, key|\n hash[key] = [] of Int64\nend\n@floor_mappings.each do |kontakt_floor_id, zones|\n begin\n kontakt_id = kontakt_floor_id.to_i64\n if building_id = zones[:building_id]\n lookup[building_id] << kontakt_id\n end\n lookup[zones[:level_id]] << kontakt_id\n rescue error\n logger.warn(exception: error) do\n \"invalid floor mapping #{kontakt_floor_id}\"\n end\n end\nend\n@zone_lookup = lookup\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L119"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id && (mac.starts_with?(\"kontakt-\"))\n else\n return nil\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\n if room\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(room, :people_count)\n when \"presence\"\n build_sensor_details(room, :presence)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L140"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac.starts_with?(\"kontakt-\")\n else\n return NO_MATCH\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\nend\nif zone_id\n levels = @zone_lookup[zone_id]?\nend\nrooms = if room\n {room}\nelse\n if levels\n @occupancy_cache.values.select do |r|\n floor_id = r.floor_id\n (floor_id.in?(levels)) || @floor_mappings[floor_id.to_s]?.nil?\n end\n else\n @occupancy_cache.values\n end\nend\nrooms.flat_map do |r|\n build_sensors(r, sensor_type)\nend\n"}}]},{"html_id":"drivers/KontaktIO/Tracking","path":"KontaktIO/Tracking.html","kind":"class","full_name":"KontaktIO::Tracking","name":"Tracking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contacts:Array(Contact)-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L42"},"def":{"name":"contacts","return_type":"Array(Contact)","visibility":"Public","body":"@contacts"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L44"},"def":{"name":"duration","visibility":"Public","body":"contacts.first.duration_sec"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L40"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L28"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L31"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L37"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}}]}]},{"html_id":"drivers/Kramer","path":"Kramer.html","kind":"module","full_name":"Kramer","name":"Kramer","abstract":false,"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kramer/RC308Panel","path":"Kramer/RC308Panel.html","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\"","doc":"\\r\\n 0D0A","summary":"

\\r\\n 0D0A

"}],"namespace":{"html_id":"drivers/Kramer","kind":"module","full_name":"Kramer","name":"Kramer"},"instance_methods":[{"html_id":"button_state(index:UInt8,light:Bool,red:UInt8|Nil=nil,green:UInt8|Nil=nil,blue:UInt8|Nil=nil)-instance-method","name":"button_state","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"args_string":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","args_html":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L57"},"def":{"name":"button_state","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"visibility":"Public","body":"data = \"#RGB #{index},#{red || @default.red},#{green || @default.green},#{blue || @default.blue},#{light ? '1' : '0'}\\r\"\nsend(data, name: \"button#{index}\")\n"}},{"html_id":"button_state?(index:UInt8,priority:Int32=0)-instance-method","name":"button_state?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(index : UInt8, priority : Int32 = 0)","args_html":"(index : UInt8, priority : Int32 = 0)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L62"},"def":{"name":"button_state?","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(\"#RGB? #{index}\\r\", priority: priority)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L42"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute, true) do\n query_state\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L47"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@default = (setting?(DefaultLight, :default_light)) || (DefaultLight.new(255_u8, 0_u8, 0_u8))\n@button_count = (setting?(UInt8, :button_count)) || 8_u8\n"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L51"},"def":{"name":"query_state","visibility":"Public","body":"(1_u8..@button_count).each do |idx|\n button_state?(idx)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Kramer sent: #{data.inspect}\"\nend\nparts = (data.split('@', 2))[1].strip.split(' ')\ncomponent = parts[0].upcase\ndetails = parts[1]\nsuccess = parts[2]?\ncase component\nwhen \"BTN\"\n light_on, button_index, button_action = details.split(',')\n self[\"button#{button_index}_light\"] = light_on == \"1\"\n self[\"button#{button_index}_state\"] = ButtonAction.check(button_action)\nwhen \"RGB\"\n button_index, red, green, blue, light_on = details.split(',')\n self[\"button#{button_index}_rgb\"] = {red.to_u8, green.to_u8, blue.to_u8}\n self[\"button#{button_index}_light\"] = light_on == \"1\"\nwhen \"ERR\"\n logger.warn do\n \"request failed with error code: #{details}\"\n end\n return task.try(&.abort(\"error code: #{details}\"))\nelse\n logger.warn do\n \"unknown button component #{component}\"\n end\n return\nend\nif task\n if task.name\n if success\n task.success\n end\n else\n task.success\n end\nend\n"}}],"types":[{"html_id":"drivers/Kramer/RC308Panel/ButtonAction","path":"Kramer/RC308Panel/ButtonAction.html","kind":"enum","full_name":"Kramer::RC308Panel::ButtonAction","name":"ButtonAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pressed","name":"Pressed","value":"0"},{"id":"Released","name":"Released","value":"1"},{"id":"HeldDown","name":"HeldDown","value":"2"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"class_methods":[{"html_id":"check(type:String)-class-method","name":"check","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L71"},"def":{"name":"check","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"case type.downcase\nwhen \"p\"\n ButtonAction::Pressed\nwhen \"r\"\n ButtonAction::Released\nwhen \"h\"\n ButtonAction::HeldDown\nelse\n raise(\"unknown button action type: #{type}\")\nend"}}],"instance_methods":[{"html_id":"held_down?-instance-method","name":"held_down?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L69"},"def":{"name":"held_down?","visibility":"Public","body":"self == HeldDown"}},{"html_id":"pressed?-instance-method","name":"pressed?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L67"},"def":{"name":"pressed?","visibility":"Public","body":"self == Pressed"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L68"},"def":{"name":"released?","visibility":"Public","body":"self == Released"}}]},{"html_id":"drivers/Kramer/RC308Panel/DefaultLight","path":"Kramer/RC308Panel/DefaultLight.html","kind":"struct","full_name":"Kramer::RC308Panel::DefaultLight","name":"DefaultLight","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"constructors":[{"html_id":"new(red:UInt8,green:UInt8,blue:UInt8)-class-method","name":"new","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"new","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"_ = allocate\n_.initialize(red, green, blue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blue:UInt8-instance-method","name":"blue","abstract":false,"def":{"name":"blue","return_type":"UInt8","visibility":"Public","body":"@blue"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@red.clone, @green.clone, @blue.clone)"}},{"html_id":"copy_with(red_red=@red,green_green=@green,blue_blue=@blue)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"args_string":"(red _red = @red, green _green = @green, blue _blue = @blue)","args_html":"(red _red = @red, green _green = @green, blue _blue = @blue)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"copy_with","args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"visibility":"Public","body":"self.class.new(_red, _green, _blue)"}},{"html_id":"green:UInt8-instance-method","name":"green","abstract":false,"def":{"name":"green","return_type":"UInt8","visibility":"Public","body":"@green"}},{"html_id":"red:UInt8-instance-method","name":"red","abstract":false,"def":{"name":"red","return_type":"UInt8","visibility":"Public","body":"@red"}}]}]}]},{"html_id":"drivers/Lenel","path":"Lenel.html","kind":"module","full_name":"Lenel","name":"Lenel","abstract":false,"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lenel/OpenAccess","path":"Lenel/OpenAccess.html","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L4"},{"filename":"src/lenel/open_access.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"}],"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"instance_methods":[{"html_id":"badge_types-instance-method","name":"badge_types","doc":"Query the available badge types.\n\nBadge types contain default configuration that is applied to any badge\ncreated under them. This includes items such as access areas, activation\nwindows and other bulk config. These may then be override on individual\nbadge instances.","summary":"

Query the available badge types.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L114"},"def":{"name":"badge_types","visibility":"Public","body":"client.lookup(BadgeType)"}},{"html_id":"check_comms-instance-method","name":"check_comms","doc":"Test service connectivity.","summary":"

Test service connectivity.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L80"},"def":{"name":"check_comms","visibility":"Public","body":"begin\n logger.debug do\n \"checking service connectivity\"\n end\n if client.token\n client.keepalive\n logger.info do\n \"client online and authenticated\"\n end\n else\n client.version\n logger.warn do\n \"service reachable, no active auth session\"\n end\n authenticate!\n end\nrescue e : OpenAccess::Error\n logger.error do\n e.message\n end\n set_connected_state(false)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"logger.debug do\n \"connected\"\nend\nif client.token.nil?\n authenticate!\nend\n"}},{"html_id":"create_badge(type:Int32,id:Int64,personid:Int32,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"create_badge","doc":"Creates a new badge of the specied *type*, belonging to *personid* with a\nspecific *id*.\n\nNote: 'id' is the physical badge number (e.g. the ID written to an NFC chip)","summary":"

Creates a new badge of the specied type, belonging to personid with a specific id.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L150"},"def":{"name":"create_badge","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"creating badge for cardholder #{personid}\"\nend\nclient.create(Badge, **args)\n"}},{"html_id":"create_badge_epoch(type:Int32,id:Int64,personid:Int32,activate_epoch:Int32,deactivate_epoch:Int32,uselimit:Int32|Nil=nil)-instance-method","name":"create_badge_epoch","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L162"},"def":{"name":"create_badge_epoch","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\ncreate_badge(type: type, id: id, personid: personid, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"create_cardholder(email:String,firstname:String,lastname:String)-instance-method","name":"create_cardholder","doc":"Creates a new cardholder.\n\nAn error will be returned if an existing cardholder exists for the specified\n*email* address.","summary":"

Creates a new cardholder.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"args_string":"(email : String, firstname : String, lastname : String)","args_html":"(email : String, firstname : String, lastname : String)","location":{"filename":"src/lenel/open_access.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L264"},"def":{"name":"create_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"creating cardholder record for #{email}\"\nend\nif (client.count(Cardholder, filter: \"email = \\\"#{email}\\\"\")).zero?\nelse\n raise(ArgumentError.new(\"record already exists for #{email}\"))\nend\nclient.create(Cardholder, **args)\n"}},{"html_id":"delete_badge(badgekey:Int32):Nil-instance-method","name":"delete_badge","doc":"Deletes a badge with the specified *badgekey*.","summary":"

Deletes a badge with the specified badgekey.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32) : Nil","args_html":"(badgekey : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L217"},"def":{"name":"delete_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting badge #{badgekey}\"\nend\nclient.delete(Badge, **args)\n"}},{"html_id":"delete_badges(badgekeys:Array(Int32)):Int32-instance-method","name":"delete_badges","abstract":false,"args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"args_string":"(badgekeys : Array(Int32)) : Int32","args_html":"(badgekeys : Array(Int32)) : Int32","location":{"filename":"src/lenel/open_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L222"},"def":{"name":"delete_badges","args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"return_type":"Int32","visibility":"Public","body":"badgekeys.count do |badge_key|\n begin\n delete_badge(badge_key)\n 1\n rescue OpenAccess::Error\n logger.debug do\n \"failed to delete badge #{badge_key}\"\n end\n 0\n end\nend"}},{"html_id":"delete_cardholder(id:Int32):Nil-instance-method","name":"delete_cardholder","doc":"Deletes a cardholed by their person *id*.","summary":"

Deletes a cardholed by their person id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32) : Nil","args_html":"(id : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L278"},"def":{"name":"delete_cardholder","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting cardholder #{id}\"\nend\nclient.delete(Cardholder, **args)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"logger.debug do\n \"disconnected\"\nend\nclient.token = nil\n"}},{"html_id":"list_badges(personid:Int32)-instance-method","name":"list_badges","doc":"List badges belonging to a cardholder","summary":"

List badges belonging to a cardholder

","abstract":false,"args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"args_string":"(personid : Int32)","args_html":"(personid : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L120"},"def":{"name":"list_badges","args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"visibility":"Public","body":"client.lookup(Badge, filter: \"personid = #{personid}\")"}},{"html_id":"list_directories-instance-method","name":"list_directories","doc":"Query the directories available for auth.","summary":"

Query the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L97"},"def":{"name":"list_directories","visibility":"Public","body":"client.directories"}},{"html_id":"list_events(filter:String,page_number:Int32|Nil=nil)-instance-method","name":"list_events","doc":"List Logged Events","summary":"

List Logged Events

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"args_string":"(filter : String, page_number : Int32 | Nil = nil)","args_html":"(filter : String, page_number : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L291"},"def":{"name":"list_events","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"client.get_logged_events(filter, page_number)"}},{"html_id":"list_events_in_range(filter:String,from:Time|Nil=nil,til:Time|Nil=nil)-instance-method","name":"list_events_in_range","doc":"List events that occured during a given time window. Default to past 24h.","summary":"

List events that occured during a given time window.

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"args_string":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","args_html":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L297"},"def":{"name":"list_events_in_range","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"visibility":"Public","body":"til || (til = Time.local)\nfrom || (from = til - 1.day)\nclient.get_logged_events(filter + \" AND timestamp >= \\\"#{from.to_s}\\\" AND timestamp <= \\\"#{til.to_s}\\\"\")\n"}},{"html_id":"lookup_badge_id(id:Int64)-instance-method","name":"lookup_badge_id","doc":"Get badge by id (instead of badgekey)","summary":"

Get badge by id (instead of badgekey)

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/lenel/open_access.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L137"},"def":{"name":"lookup_badge_id","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"id = #{id}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_badge_key(badgekey:Int32)-instance-method","name":"lookup_badge_key","doc":"Get badge by badgekey (instead of id)\nNote: id is the number in the QR data or burnt to the swipe card. badgekey is Lenel's primary key for badges","summary":"

Get badge by badgekey (instead of id) Note: id is the number in the QR data or burnt to the swipe card.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32)","args_html":"(badgekey : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L127"},"def":{"name":"lookup_badge_key","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"badgekey = #{badgekey}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{badgekey}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_cardholder(email:String)-instance-method","name":"lookup_cardholder","doc":"Lookup a cardholder by *email* address.","summary":"

Lookup a cardholder by email address.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L236"},"def":{"name":"lookup_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{email}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholder_id(id:Int32)-instance-method","name":"lookup_cardholder_id","doc":"Lookup a cardholder by ID","summary":"

Lookup a cardholder by ID

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L251"},"def":{"name":"lookup_cardholder_id","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"id = #{id}\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholders(email:String)-instance-method","name":"lookup_cardholders","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L245"},"def":{"name":"lookup_cardholders","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L35"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(5.minutes, &->check_comms)"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"logger.debug do\n \"settings updated\"\nend\nclient.app_id = setting(String, :application_id)\nauthenticate!\n"}},{"html_id":"search(type_name:String,filter:String|Nil=nil)-instance-method","name":"search","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L308"},"def":{"name":"search","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"client.raw_lookup(type_name, filter)"}},{"html_id":"search_readers(filter:String)-instance-method","name":"search_readers","doc":"List card readers matching a given filter","summary":"

List card readers matching a given filter

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/lenel/open_access.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L285"},"def":{"name":"search_readers","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"client.lookup(Reader, filter)"}},{"html_id":"update_badge(badgekey:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"update_badge","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L184"},"def":{"name":"update_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"Updating badge #{badgekey}\"\nend\nclient.update(Badge, **args)\n"}},{"html_id":"update_badge_epoch(badgekey:Int32,activate_epoch:Int32,deactivate_epoch:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil)-instance-method","name":"update_badge_epoch","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","args_html":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L196"},"def":{"name":"update_badge_epoch","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\nupdate_badge(badgekey: badgekey, id: id, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L103"},"def":{"name":"version","visibility":"Public","body":"client.version"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Client","path":"Lenel/OpenAccess/Client.html","kind":"class","full_name":"Lenel::OpenAccess::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/client.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"Lenel OpenAccess API wrapper.\n\nProvides thin abstractions over API endpoints. Requests are executed on the\npased transport. This can be a `PlaceOS::Driver`, `HTTP::Client` or other type\nsupporting the same set of base HTTP request methods.","summary":"

Lenel OpenAccess API wrapper.

","constructors":[{"html_id":"new(transport:HTTP::Client,app_id:String)-class-method","name":"new","abstract":false,"args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"args_string":"(transport : HTTP::Client, app_id : String)","args_html":"(transport : HTTP::Client, app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L22"},"def":{"name":"new","args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(transport, app_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_id:String-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id","return_type":"String","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:String)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"args_string":"(app_id : String)","args_html":"(app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"count(entitytype_name:T.class,filter:String|Nil=nil)forallT-instance-method","name":"count","doc":"Counts the number of instances of *entity*.\n\n*filter* may optionally be used to specify a subset of these.","summary":"

Counts the number of instances of entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L152"},"def":{"name":"count","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.encode(args.merge(type_name: T.type_name))\n((~transport.get(path: \"/count?version=1.0&#{params}\")) >> NamedTuple(total_items: Int32))[:total_items]\n"}},{"html_id":"create(entity:T.class,**props)forallT-instance-method","name":"create","doc":"Creates a new instance of *entity*.\n\nAPI create responses return a partial object, which is provided here as an\nuntyped return. This includes the object's database key (which varies\nbetween object types - ID, BADGEKEY etc), however contents of this is\nunspecified. The partial object is provided here, in full, with keys\ntransformed to match how they appear in a type-safe model.","summary":"

Creates a new instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) forall T","args_html":"(entity : T.class, **props) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L94"},"def":{"name":"create","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"visibility":"Public","body":"(~transport.post(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> Models::Untyped"}},{"html_id":"delete(entity:T.class,**props):NilforallT-instance-method","name":"delete","doc":"Deletes an instance of *entity*.","summary":"

Deletes an instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : Nil forall T","args_html":"(entity : T.class, **props) : Nil forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L172"},"def":{"name":"delete","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)"}},{"html_id":"directories-instance-method","name":"directories","doc":"Enumerates the directories available for auth.","summary":"

Enumerates the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L49"},"def":{"name":"directories","visibility":"Public","body":"((~transport.get(path: \"/directories?version=1.0\")) >> NamedTuple(total_items: Int32, item_list: Array(::NamedTuple(property_value_map: ::NamedTuple(ID: String, Name: String, directory_type: Int32)))))[:item_list].map do |item|\n item[:property_value_map]\nend"}},{"html_id":"get_logged_events(filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"get_logged_events","doc":"Retrieve a list of logged events from Onguard\nSee Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events","summary":"

Retrieve a list of logged events from Onguard See Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events

","abstract":false,"args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L184"},"def":{"name":"get_logged_events","args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/logged_events?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"keepalive:Nil-instance-method","name":"keepalive","doc":"Request a connection keepalive to prevent session timeout.","summary":"

Request a connection keepalive to prevent session timeout.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L81"},"def":{"name":"keepalive","return_type":"Nil","visibility":"Public","body":"~transport.get(path: \"/keepalive?version=1.0\")"}},{"html_id":"login(usernameuser_name:String,password:String,directory_id:String|Nil)-instance-method","name":"login","doc":"Creates a new auth session.","summary":"

Creates a new auth session.

","abstract":false,"args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"args_string":"(username user_name : String, password : String, directory_id : String | Nil)","args_html":"(username user_name : String, password : String, directory_id : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L59"},"def":{"name":"login","args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"(~transport.post(path: \"/authentication?version=1.0\", body: args.to_h.compact.to_json)) >> NamedTuple(session_token: String, token_expiration_time: Time)"}},{"html_id":"logout:Nil-instance-method","name":"logout","doc":"Removes an auth session.","summary":"

Removes an auth session.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L74"},"def":{"name":"logout","return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/authentication?version=1.0\")"}},{"html_id":"lookup(entitytype_name:T.class,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=nil,order_by:String|Nil=nil):Array(T)forallT-instance-method","name":"lookup","doc":"Retrieves instances of a particular *entity*.\n\nThe search criteria specified in *filter* is a subset of SQL. This supports\noperations such as as:\n+ exclusion `LastName != \"Lake\"`\n+ wildcards `LastName like \"La%\"`\n+ boolean operators `LastName = \"Lake\" OR FirstName = \"Lisa\"`","summary":"

Retrieves instances of a particular entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L111"},"def":{"name":"lookup","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"return_type":"Array(T)","visibility":"Public","body":"params = HTTP::Params.new\nargs.merge(type_name: T.type_name).each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val)\n end\nend\n((~transport.get(path: \"/instances?version=1.0&#{params}\")) >> NamedTuple(page_number: Int32 | ::Nil, page_size: Int32 | ::Nil, total_pages: Int32, total_items: Int32, count: Int32, item_list: Array(T)))[:item_list]\n"}},{"html_id":"raw_lookup(type_name:String,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"raw_lookup","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L134"},"def":{"name":"raw_lookup","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/instances?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L20"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String|Nil)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"args_string":"(token : String | Nil)","args_html":"(token : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L20"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"visibility":"Public","body":"@token = token"}},{"html_id":"update(entity:T.class,**props):TforallT-instance-method","name":"update","doc":"Updates a record of *entity*. Passed properties must include the types key and\nany fields to update.","summary":"

Updates a record of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : T forall T","args_html":"(entity : T.class, **props) : T forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L161"},"def":{"name":"update","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"T","visibility":"Public","body":"(~transport.put(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> T"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L39"},"def":{"name":"version","visibility":"Public","body":"(~transport.get(path: \"/version?version=1.0\")) >> NamedTuple(product_name: String, product_version: String)"}}]},{"html_id":"drivers/Lenel/OpenAccess/Error","path":"Lenel/OpenAccess/Error.html","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"class_methods":[{"html_id":"from_response(response)-class-method","name":"from_response","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/lenel/open_access/error.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L6"},"def":{"name":"from_response","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"begin\n error = Error::Info.from_json(response.body)\n new(**error[:error])\nrescue\n new(response.status.to_s)\nend"}}],"constructors":[{"html_id":"new(code:String,message:String|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(code : String, message : String | Nil = nil)","args_html":"(code : String, message : String | Nil = nil)","location":{"filename":"src/lenel/open_access/error.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L17"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"code:String-instance-method","name":"code","abstract":false,"location":{"filename":"src/lenel/open_access/error.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L15"},"def":{"name":"code","visibility":"Public","body":"@code"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Error/Info","path":"Lenel/OpenAccess/Error/Info.html","kind":"alias","full_name":"Lenel::OpenAccess::Error::Info","name":"Info","abstract":false,"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(error: NamedTuple(code: String, message: String | Nil))","aliased_html":"{error: {code: String, message: String?}}","const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Error","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models","path":"Lenel/OpenAccess/Models.html","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROPERTIES_KEY","name":"PROPERTIES_KEY","value":"\"property_value_map\""}],"including_types":[{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"DTO's for OpenAccess entities.\n\nThese are intentionally lightweight. In cases where a entity holds a\nrelationship to another, these are _not_ auto-resolved. Original ID references\nare kept in place. Types here a simply a thin wrapper for JSON serialization.","summary":"

DTO's for OpenAccess entities.

","types":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","path":"Lenel/OpenAccess/Models/Badge.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activate:Time|Nil-instance-method","name":"activate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L134"},"def":{"name":"activate","return_type":"Time | ::Nil","visibility":"Public","body":"@activate"}},{"html_id":"badgekey:Int32-instance-method","name":"badgekey","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L131"},"def":{"name":"badgekey","return_type":"Int32","visibility":"Public","body":"@badgekey"}},{"html_id":"deactivate:Time|Nil-instance-method","name":"deactivate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L137"},"def":{"name":"deactivate","return_type":"Time | ::Nil","visibility":"Public","body":"@deactivate"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L139"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"personid:Int32|Nil-instance-method","name":"personid","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L140"},"def":{"name":"personid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@personid"}},{"html_id":"status:Int32|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L141"},"def":{"name":"status","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"type:Int32|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L142"},"def":{"name":"type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"uselimit:Int32|Nil-instance-method","name":"uselimit","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L143"},"def":{"name":"uselimit","return_type":"Int32 | ::Nil","visibility":"Public","body":"@uselimit"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","path":"Lenel/OpenAccess/Models/BadgeType.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L146"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L146"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"badgetypeclass:BadgeTypeClass-instance-method","name":"badgetypeclass","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L156"},"def":{"name":"badgetypeclass","return_type":"BadgeTypeClass","visibility":"Public","body":"@badgetypeclass"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L154"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"usemobilecredential:Bool-instance-method","name":"usemobilecredential","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L157"},"def":{"name":"usemobilecredential","return_type":"Bool","visibility":"Public","body":"@usemobilecredential"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass","path":"Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html","kind":"enum","full_name":"Lenel::OpenAccess::Models::BadgeType::BadgeTypeClass","name":"BadgeTypeClass","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L147"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Standard","name":"Standard","value":"0"},{"id":"Temporary","name":"Temporary","value":"1"},{"id":"Visitor","name":"Visitor","value":"2"},{"id":"Guest","name":"Guest","value":"3"},{"id":"SpecialPurpose","name":"SpecialPurpose","value":"4"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},"instance_methods":[{"html_id":"guest?-instance-method","name":"guest?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L151"},"def":{"name":"guest?","visibility":"Public","body":"self == Guest"}},{"html_id":"special_purpose?-instance-method","name":"special_purpose?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L152"},"def":{"name":"special_purpose?","visibility":"Public","body":"self == SpecialPurpose"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L148"},"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}},{"html_id":"temporary?-instance-method","name":"temporary?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L149"},"def":{"name":"temporary?","visibility":"Public","body":"self == Temporary"}},{"html_id":"visitor?-instance-method","name":"visitor?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L150"},"def":{"name":"visitor?","visibility":"Public","body":"self == Visitor"}}]}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","path":"Lenel/OpenAccess/Models/Cardholder.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L161"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","path":"Lenel/OpenAccess/Models/Element.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge"},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event"},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader"},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"doc":"Base type for Lenel data objects.","summary":"

Base type for Lenel data objects.

","class_methods":[{"html_id":"partial(**properties:**T):TforallT-class-method","name":"partial","doc":"Provide a compile-time check to ensure *properties* is a subset of *self*.","summary":"

Provide a compile-time check to ensure properties is a subset of self.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L74"},"def":{"name":"partial","double_splat":{"name":"properties","external_name":"properties","restriction":"**T"},"return_type":"T","visibility":"Public","body":"{% for key in T.keys %}\n {% unless @type.has_method?(key)\n raise(\"no \\\"#{key}\\\" property on #{@type.name}\")\nend %}\n {% end %}\nproperties\n"}},{"html_id":"type_name-class-method","name":"type_name","doc":"Name of the type as expected by the OpenAccess API endpoints.","summary":"

Name of the type as expected by the OpenAccess API endpoints.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L23"},"def":{"name":"type_name","visibility":"Public","body":"\"Lnl_#{(name.rpartition(\"::\")).last}\""}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(*,__pull_for_json_serializablepull:JSON::PullParser)-class-method","name":"new","doc":"Override the default JSON::Serializable behaviour to make keys case\ninensitive when deserialising.","summary":"

Override the default JSON::Serializable behaviour to make keys case inensitive when deserialising.

","abstract":false,"args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"args_string":"(*, __pull_for_json_serializable pull : JSON::PullParser)","args_html":"(*, __pull_for_json_serializable pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L36"},"def":{"name":"new","args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"splat_index":0,"visibility":"Public","body":"_ = allocate\n_.initialize(__pull_for_json_serializable: pull)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","path":"Lenel/OpenAccess/Models/Event.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_result:Int32|Nil-instance-method","name":"access_result","doc":"getter alarm_priority : Int32?\ngetter alarm_ack_blue_channel : Int32?\ngetter alarm_ack_green_channel : Int32?\ngetter alarm_ack_red_channel : Int32?\ngetter alarm_blue_channel : Int32?\ngetter alarm_green_channel : Int32?\ngetter alarm_red_channel : Int32?","summary":"

getter alarm_priority : Int32? getter alarm_ack_blue_channel : Int32? getter alarm_ack_green_channel : Int32? getter alarm_ack_red_channel : Int32? getter alarm_blue_channel : Int32? getter alarm_green_channel : Int32? getter alarm_red_channel : Int32?

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L111"},"def":{"name":"access_result","return_type":"Int32 | ::Nil","visibility":"Public","body":"@access_result"}},{"html_id":"asset_id:Int32|Nil-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L102"},"def":{"name":"asset_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@asset_id"}},{"html_id":"badge_extended_id:String|Nil-instance-method","name":"badge_extended_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L100"},"def":{"name":"badge_extended_id","return_type":"String | ::Nil","visibility":"Public","body":"@badge_extended_id"}},{"html_id":"badge_id:Int32|Nil-instance-method","name":"badge_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L98"},"def":{"name":"badge_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_id"}},{"html_id":"badge_id_str:String|Nil-instance-method","name":"badge_id_str","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L99"},"def":{"name":"badge_id_str","return_type":"String | ::Nil","visibility":"Public","body":"@badge_id_str"}},{"html_id":"badge_issue_code:Int32|Nil-instance-method","name":"badge_issue_code","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L101"},"def":{"name":"badge_issue_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_issue_code"}},{"html_id":"cardholder_entered:Bool|Nil-instance-method","name":"cardholder_entered","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L112"},"def":{"name":"cardholder_entered","return_type":"Bool | ::Nil","visibility":"Public","body":"@cardholder_entered"}},{"html_id":"cardholder_first_name:String|Nil-instance-method","name":"cardholder_first_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L116"},"def":{"name":"cardholder_first_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_first_name"}},{"html_id":"cardholder_key:Int32|Nil-instance-method","name":"cardholder_key","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L103"},"def":{"name":"cardholder_key","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cardholder_key"}},{"html_id":"cardholder_last_name:String|Nil-instance-method","name":"cardholder_last_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L117"},"def":{"name":"cardholder_last_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_last_name"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L91"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_name:String|Nil-instance-method","name":"controller_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L114"},"def":{"name":"controller_name","return_type":"String | ::Nil","visibility":"Public","body":"@controller_name"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L90"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"device_id:Int32-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L92"},"def":{"name":"device_id","return_type":"Int32","visibility":"Public","body":"@device_id"}},{"html_id":"device_name:String|Nil-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L118"},"def":{"name":"device_name","return_type":"String | ::Nil","visibility":"Public","body":"@device_name"}},{"html_id":"duress:Bool|Nil-instance-method","name":"duress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L113"},"def":{"name":"duress","return_type":"Bool | ::Nil","visibility":"Public","body":"@duress"}},{"html_id":"event_source_name:String|Nil-instance-method","name":"event_source_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L115"},"def":{"name":"event_source_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_source_name"}},{"html_id":"event_subtype:Int32|Nil-instance-method","name":"event_subtype","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L96"},"def":{"name":"event_subtype","return_type":"Int32 | ::Nil","visibility":"Public","body":"@event_subtype"}},{"html_id":"event_text:String|Nil-instance-method","name":"event_text","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L97"},"def":{"name":"event_text","return_type":"String | ::Nil","visibility":"Public","body":"@event_text"}},{"html_id":"event_type:Int32-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L95"},"def":{"name":"event_type","return_type":"Int32","visibility":"Public","body":"@event_type"}},{"html_id":"segment_id:Int32|Nil-instance-method","name":"segment_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L94"},"def":{"name":"segment_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@segment_id"}},{"html_id":"serial_number:Int32|Nil-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L88"},"def":{"name":"serial_number","return_type":"Int32 | ::Nil","visibility":"Public","body":"@serial_number"}},{"html_id":"subdevice_id:Int32|Nil-instance-method","name":"subdevice_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L93"},"def":{"name":"subdevice_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@subdevice_id"}},{"html_id":"subdevice_name:String|Nil-instance-method","name":"subdevice_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L119"},"def":{"name":"subdevice_name","return_type":"String | ::Nil","visibility":"Public","body":"@subdevice_name"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L89"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","path":"Lenel/OpenAccess/Models/Person.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person","abstract":true,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L124"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L124"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firstname:String|Nil-instance-method","name":"firstname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L126"},"def":{"name":"firstname","return_type":"String | ::Nil","visibility":"Public","body":"@firstname"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L125"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"lastname:String|Nil-instance-method","name":"lastname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L127"},"def":{"name":"lastname","return_type":"String | ::Nil","visibility":"Public","body":"@lastname"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","path":"Lenel/OpenAccess/Models/Reader.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L164"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accessMode:Int32|Nil-instance-method","name":"accessMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L165"},"def":{"name":"accessMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@accessMode"}},{"html_id":"address:Int32|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L166"},"def":{"name":"address","return_type":"Int32 | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"aux1Name:String|Nil-instance-method","name":"aux1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L182"},"def":{"name":"aux1Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux1Name"}},{"html_id":"aux2Name:String|Nil-instance-method","name":"aux2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L183"},"def":{"name":"aux2Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux2Name"}},{"html_id":"aux3Name:String|Nil-instance-method","name":"aux3Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L184"},"def":{"name":"aux3Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux3Name"}},{"html_id":"controlType:Int32|Nil-instance-method","name":"controlType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L167"},"def":{"name":"controlType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controlType"}},{"html_id":"extendedOpenTime:Int32|Nil-instance-method","name":"extendedOpenTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L168"},"def":{"name":"extendedOpenTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedOpenTime"}},{"html_id":"extendedStrikeTime:Int32|Nil-instance-method","name":"extendedStrikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L169"},"def":{"name":"extendedStrikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedStrikeTime"}},{"html_id":"friendlyName:String|Nil-instance-method","name":"friendlyName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L185"},"def":{"name":"friendlyName","return_type":"String | ::Nil","visibility":"Public","body":"@friendlyName"}},{"html_id":"gatewayAddress:Int32|Nil-instance-method","name":"gatewayAddress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L170"},"def":{"name":"gatewayAddress","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayAddress"}},{"html_id":"gatewayHostName:String|Nil-instance-method","name":"gatewayHostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L186"},"def":{"name":"gatewayHostName","return_type":"String | ::Nil","visibility":"Public","body":"@gatewayHostName"}},{"html_id":"gatewayIPPort:Int32|Nil-instance-method","name":"gatewayIPPort","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L171"},"def":{"name":"gatewayIPPort","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayIPPort"}},{"html_id":"hostName:String|Nil-instance-method","name":"hostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L187"},"def":{"name":"hostName","return_type":"String | ::Nil","visibility":"Public","body":"@hostName"}},{"html_id":"isPairedMaster:Bool|Nil-instance-method","name":"isPairedMaster","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L192"},"def":{"name":"isPairedMaster","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedMaster"}},{"html_id":"isPairedSlave:Bool|Nil-instance-method","name":"isPairedSlave","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L193"},"def":{"name":"isPairedSlave","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedSlave"}},{"html_id":"mode:Int32|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L173"},"def":{"name":"mode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L188"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"offlineMode:Int32|Nil-instance-method","name":"offlineMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L172"},"def":{"name":"offlineMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@offlineMode"}},{"html_id":"openTime:Int32|Nil-instance-method","name":"openTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L174"},"def":{"name":"openTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@openTime"}},{"html_id":"out1Name:String|Nil-instance-method","name":"out1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L189"},"def":{"name":"out1Name","return_type":"String | ::Nil","visibility":"Public","body":"@out1Name"}},{"html_id":"out2Name:String|Nil-instance-method","name":"out2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L190"},"def":{"name":"out2Name","return_type":"String | ::Nil","visibility":"Public","body":"@out2Name"}},{"html_id":"panelID:Int32|Nil-instance-method","name":"panelID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L175"},"def":{"name":"panelID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@panelID"}},{"html_id":"panelTypeName:String|Nil-instance-method","name":"panelTypeName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L191"},"def":{"name":"panelTypeName","return_type":"String | ::Nil","visibility":"Public","body":"@panelTypeName"}},{"html_id":"portNumber:Int32|Nil-instance-method","name":"portNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L176"},"def":{"name":"portNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@portNumber"}},{"html_id":"readerID:Int32|Nil-instance-method","name":"readerID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L177"},"def":{"name":"readerID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerID"}},{"html_id":"readerNumber:Int32|Nil-instance-method","name":"readerNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L178"},"def":{"name":"readerNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerNumber"}},{"html_id":"slaveID:Int32|Nil-instance-method","name":"slaveID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L179"},"def":{"name":"slaveID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@slaveID"}},{"html_id":"strikeTime:Int32|Nil-instance-method","name":"strikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L180"},"def":{"name":"strikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@strikeTime"}},{"html_id":"timeAttendanceType:Int32|Nil-instance-method","name":"timeAttendanceType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L181"},"def":{"name":"timeAttendanceType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@timeAttendanceType"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","path":"Lenel/OpenAccess/Models/Untyped.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/lenel/open_access/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L84"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" json_unmapped.\n{{ call }}\n\n \n"}}]}]}]},{"html_id":"drivers/Lenel/TimeConverter","path":"Lenel/TimeConverter.html","kind":"module","full_name":"Lenel::TimeConverter","name":"TimeConverter","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"doc":"Ensure that UTC time strings provide the offset as \"+00:00\" instead of \"Z\", as required by Openaccess","summary":"

Ensure that UTC time strings provide the offset as "+00:00" instead of "Z", as required by Openaccess

","class_methods":[{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/lenel/open_access/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L5"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%FT%T%:z\"))"}}]}]},{"html_id":"drivers/Leviton","path":"Leviton.html","kind":"module","full_name":"Leviton","name":"Leviton","abstract":false,"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Leviton/Acquisuite","path":"Leviton/Acquisuite.html","kind":"class","full_name":"Leviton::Acquisuite","name":"Acquisuite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Leviton","kind":"module","full_name":"Leviton","name":"Leviton"},"instance_methods":[{"html_id":"device_list:Hash(String,{String,String})-instance-method","name":"device_list","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L152"},"def":{"name":"device_list","visibility":"Public","body":"@device_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@device_list = setting(Hash(String, Tuple(String, String)), :device_list)\n@manifest_list = setting(Array(String), :manifest_list)\n@config_list = setting(Hash(String, Array(Hash(String, Float64 | String | Nil))), :config_list)\n"}},{"html_id":"receive_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"receive_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/leviton/acquisuite.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L35"},"def":{"name":"receive_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n if @debug_webhook\n logger.warn do\n ((\"Received Webhook\\n\" + \"Method: #{method.inspect}\\n\") + \"Headers:\\n#{headers.inspect}\\n\") + \"Body:\\n#{body.inspect}\"\n end\n end\n decoded = Base64.decode_string(body)\n case method.downcase\n when \"post\"\n new_headers = HTTP::Headers.new\n headers.each do |k, v|\n new_headers[k] = v\n end\n request = HTTP::Request.new(\"POST\", \"/request\", new_headers, decoded)\n files, form_data = ActionController::BodyParser.extract_form_data(request, \"multipart/form-data\", request.query_params)\n form_data = form_data.not_nil!\n case form_data[\"MODE\"]\n when \"STATUS\"\n return {HTTP::Status::OK.to_i, {} of String => String, \"SUCCESS\"}\n when \"CONFIGFILEMANIFEST\"\n return {HTTP::Status::OK.to_i, {} of String => String, device_to_manifest.join(\"\\n\")}\n when \"CONFIGFILEUPLOAD\"\n files = files.not_nil!\n return config_file_upload(files, form_data)\n when \"LOGFILEUPLOAD\"\n files = files.not_nil!\n return log_file_upload(files, form_data)\n else\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: Invalid mode passed. Either STATUS, CONFIGFILEMANIFEST, CONFIGFILEUPLOAD or LOGFILEUPLOAD required. Got #{form_data[\"MODE\"]}\"}\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request: #{body.inspect}\"\n end\n self[:last_error] = error.inspect_with_backtrace\n self[:error_payload] = body\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: #{error.message.to_s}\"}\nend"}}]}]},{"html_id":"drivers/Lg","path":"Lg.html","kind":"module","full_name":"Lg","name":"Lg","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lg/Displays","path":"Lg/Displays.html","kind":"module","full_name":"Lg::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lg","kind":"module","full_name":"Lg","name":"Lg"},"types":[{"html_id":"drivers/Lg/Displays/Ls5","path":"Lg/Displays/Ls5.html","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"120_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Lg/Displays","kind":"module","full_name":"Lg::Displays","name":"Displays"},"instance_methods":[{"html_id":"aspect_ratio(ratio:Ratio)-instance-method","name":"aspect_ratio","abstract":false,"args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"args_string":"(ratio : Ratio)","args_html":"(ratio : Ratio)","location":{"filename":"src/lg/displays/ls5.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L143"},"def":{"name":"aspect_ratio","args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"visibility":"Public","body":"do_send(Command::AspectRatio, ratio.value, name: \"aspect_ratio\", delay: 1.second)"}},{"html_id":"aspect_ratio?(priority:Int32=0)-instance-method","name":"aspect_ratio?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"aspect_ratio?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AspectRatio, 255, priority: priority, name: \"aspect_ratio\" + \"_status\")"}},{"html_id":"auto_off(state:Bool=false)-instance-method","name":"auto_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L211"},"def":{"name":"auto_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::AutoOff, val, 'm', name: \"disable_auto_off\")\n"}},{"html_id":"auto_off?(priority:Int32=0)-instance-method","name":"auto_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"auto_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AutoOff, 255, priority: priority, name: \"auto_off\" + \"_status\")"}},{"html_id":"brightness(value:Float64|Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Brightness, val, name: \"brightness\")\n"}},{"html_id":"brightness?(priority:Int32=0)-instance-method","name":"brightness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"brightness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Brightness, 255, priority: priority, name: \"brightness\" + \"_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nself[:connected] = true\nwake_on_lan\nno_signal_off\nauto_off\nlocal_button_lock\npm_mode\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Float64|Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Contrast, val, name: \"contrast\")\n"}},{"html_id":"contrast?(priority:Int32=0)-instance-method","name":"contrast?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"contrast?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Contrast, 255, priority: priority, name: \"contrast\" + \"_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L69"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nself[:connected] = false\nschedule.clear\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if @rs232\n power?\n if self[:hard_power]?.try(&.as_bool)\n screen_mute?\n input?\n volume_mute?\n volume?\n end\nelse\n if @connected\n screen_mute?\n if @id_num == 1\n input?\n volume_mute?\n volume?\n end\n else\n if self[:power_target]?.try(&.as_bool)\n power(true)\n end\n end\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L111"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::Power, 0, name: \"power\", priority: 99, clear_queue: true)"}},{"html_id":"input?(priority:Int32=0)-instance-method","name":"input?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L169"},"def":{"name":"input?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Input, 255, 'x', priority: priority)"}},{"html_id":"local_button_lock(state:Bool=true)-instance-method","name":"local_button_lock","doc":"0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons. Default to 2 as power off from local button results in network offline","summary":"

0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L206"},"def":{"name":"local_button_lock","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 2 : 0\ndo_send(Command::LocalButtonLock, val, 't', name: \"local_button_lock\")\n"}},{"html_id":"local_button_lock?(priority:Int32=0)-instance-method","name":"local_button_lock?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"local_button_lock?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::LocalButtonLock, 255, priority: priority, name: \"local_button_lock\" + \"_status\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/lg/displays/ls5.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L119"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n do_send(Command::ScreenMute, state ? 1 : 0, name: \"mute_video\")\nend\nif (layer.audio? || layer.audio_video?) && ((self[:audio_mute]?.try(&.as_bool)) != state)\n do_send(Command::VolumeMute, state ? 0 : 1, name: \"mute_audio\")\nend\nstate\n"}},{"html_id":"no_signal_off(state:Bool=false)-instance-method","name":"no_signal_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L199"},"def":{"name":"no_signal_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ncommand = build_command(Command::NoSignalOff, val, 'f')\nsend(command, name: \"no_signal_off\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"no_signal_off?(priority:Int32=0)-instance-method","name":"no_signal_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"no_signal_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::NoSignalOff, 255, priority: priority, name: \"no_signal_off\" + \"_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 150.milliseconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@rs232 = setting(Bool, :rs232_control)\n@id_num = setting(Int32, :display_id)\n@id = @id_num.to_s.rjust(2, '0')\n"}},{"html_id":"pm_mode(mode:Int32=3)-instance-method","name":"pm_mode","abstract":false,"args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32 = 3)","args_html":"(mode : Int32 = 3)","location":{"filename":"src/lg/displays/ls5.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L194"},"def":{"name":"pm_mode","args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"command = build_command(Command::PmMode, mode, 's')\nsend(command, name: \"pm_mode\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"pm_mode?(priority:Int32=0)-instance-method","name":"pm_mode?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"pm_mode?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::PmMode, 255, priority: priority, name: \"pm_mode\" + \"_status\")"}},{"html_id":"power(state:Bool,broadcast:String|Nil=nil)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(state : Bool, broadcast : String | Nil = nil)","args_html":"(state : Bool, broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L98"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if state\n if @rs232\n do_send(Command::Power, 1, name: \"power\", priority: 99)\n else\n wake(broadcast || @last_broadcast)\n end\nend\nif @connected\n mute(!state)\nend\n"}},{"html_id":"power?(priority:Int32=0)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Power, 255, priority: priority, name: \"power\" + \"_status\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lg/displays/ls5.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L253"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if (resp_value = get_response_value(data)) == -1\n return task.try(&.abort)\nend\ncommand = Command.from_value(data[0])\nlogger.debug do\n \"Received command #{command}\"\nend\ncase command\nwhen .power?\n self[:hard_power] = resp_value == 1\n if self[:hard_power].as_bool\n else\n self[:power] = false\n end\nwhen .input?\n self[:input] = Input.from_value(resp_value)\nwhen .aspect_ratio?\n self[:aspect_ratio] = Ratio.from_value(resp_value)\nwhen .screen_mute?\n self[:power] = resp_value == 0\nwhen .volume_mute?\n self[:audio_mute] = resp_value == 0\nwhen .contrast?, .brightness?, .sharpness?, .volume?\n self[command.to_s.underscore] = resp_value\nwhen .wake_on_lan?, .auto_off?\n self[command.to_s.underscore] = resp_value == 1\nwhen .local_button_lock?\n self[:local_button_lock] = resp_value == 2\nelse\n return task.try(&.retry)\nend\ntask.try(&.success)\n"}},{"html_id":"screen_mute?(priority:Int32=0)-instance-method","name":"screen_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"screen_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::ScreenMute, 255, priority: priority, name: \"screen_mute\" + \"_status\")"}},{"html_id":"sharpness(value:Float64|Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Sharpness, val, name: \"sharpness\")\n"}},{"html_id":"sharpness?(priority:Int32=0)-instance-method","name":"sharpness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"sharpness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Sharpness, 255, priority: priority, name: \"sharpness\" + \"_status\")"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/lg/displays/ls5.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L115"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Input, input.value, 'x', name: \"input\", delay: 2.seconds)"}},{"html_id":"volume(value:Float64|Int32)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, val, name: \"volume\")\n"}},{"html_id":"volume?(priority:Int32=0)-instance-method","name":"volume?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Volume, 255, priority: priority, name: \"volume\" + \"_status\")"}},{"html_id":"volume_mute?(priority:Int32=0)-instance-method","name":"volume_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::VolumeMute, 255, priority: priority, name: \"volume_mute\" + \"_status\")"}},{"html_id":"wake(broadcast:String|Nil=nil)-instance-method","name":"wake","abstract":false,"args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(broadcast : String | Nil = nil)","args_html":"(broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L221"},"def":{"name":"wake","args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if mac = setting?(String, :mac_address)\n wake_device(mac, broadcast)\n logger.debug do\n info = \"Wake on Lan for MAC #{mac}\"\n if b = broadcast\n info = info + \" directed to VLAN #{b}\"\n end\n info\n end\nelse\n logger.warn do\n \"No MAC address provided\"\n end\nend"}},{"html_id":"wake_on_lan(state:Bool=true)-instance-method","name":"wake_on_lan","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L216"},"def":{"name":"wake_on_lan","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::WakeOnLan, val, 'f', name: \"enable_wake_on_lan\")\n"}},{"html_id":"wake_on_lan?(priority:Int32=0)-instance-method","name":"wake_on_lan?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"wake_on_lan?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::WakeOnLan, 255, priority: priority, name: \"wake_on_lan\" + \"_status\")"}}],"types":[{"html_id":"drivers/Lg/Displays/Ls5/Command","path":"Lg/Displays/Ls5/Command.html","kind":"enum","full_name":"Lg::Displays::Ls5::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"97"},{"id":"Input","name":"Input","value":"98"},{"id":"AspectRatio","name":"AspectRatio","value":"99"},{"id":"ScreenMute","name":"ScreenMute","value":"100"},{"id":"VolumeMute","name":"VolumeMute","value":"101"},{"id":"Volume","name":"Volume","value":"102"},{"id":"Contrast","name":"Contrast","value":"103"},{"id":"Brightness","name":"Brightness","value":"104"},{"id":"Sharpness","name":"Sharpness","value":"107"},{"id":"AutoOff","name":"AutoOff","value":"110"},{"id":"LocalButtonLock","name":"LocalButtonLock","value":"111"},{"id":"WakeOnLan","name":"WakeOnLan","value":"119"},{"id":"NoSignalOff","name":"NoSignalOff","value":"103"},{"id":"PmMode","name":"PmMode","value":"110"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"aspect_ratio?-instance-method","name":"aspect_ratio?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L78"},"def":{"name":"aspect_ratio?","visibility":"Public","body":"self == AspectRatio"}},{"html_id":"auto_off?-instance-method","name":"auto_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L85"},"def":{"name":"auto_off?","visibility":"Public","body":"self == AutoOff"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L83"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L82"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"local_button_lock?-instance-method","name":"local_button_lock?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L86"},"def":{"name":"local_button_lock?","visibility":"Public","body":"self == LocalButtonLock"}},{"html_id":"no_signal_off?-instance-method","name":"no_signal_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L88"},"def":{"name":"no_signal_off?","visibility":"Public","body":"self == NoSignalOff"}},{"html_id":"pm_mode?-instance-method","name":"pm_mode?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L89"},"def":{"name":"pm_mode?","visibility":"Public","body":"self == PmMode"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L76"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"screen_mute?-instance-method","name":"screen_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L79"},"def":{"name":"screen_mute?","visibility":"Public","body":"self == ScreenMute"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L84"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L81"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"volume_mute?-instance-method","name":"volume_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L80"},"def":{"name":"volume_mute?","visibility":"Public","body":"self == VolumeMute"}},{"html_id":"wake_on_lan?-instance-method","name":"wake_on_lan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L87"},"def":{"name":"wake_on_lan?","visibility":"Public","body":"self == WakeOnLan"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Input","path":"Lg/Displays/Ls5/Input.html","kind":"enum","full_name":"Lg::Displays::Ls5::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Dvi","name":"Dvi","value":"112"},{"id":"Hdmi","name":"Hdmi","value":"160"},{"id":"HdmiDtv","name":"HdmiDtv","value":"144"},{"id":"Hdmi2","name":"Hdmi2","value":"161"},{"id":"Hdmi2Dtv","name":"Hdmi2Dtv","value":"145"},{"id":"DisplayPort","name":"DisplayPort","value":"208"},{"id":"DisplayPortDtv","name":"DisplayPortDtv","value":"192"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L16"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"display_port_dtv?-instance-method","name":"display_port_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L17"},"def":{"name":"display_port_dtv?","visibility":"Public","body":"self == DisplayPortDtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L14"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_dtv?-instance-method","name":"hdmi2_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L15"},"def":{"name":"hdmi2_dtv?","visibility":"Public","body":"self == Hdmi2Dtv"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_dtv?-instance-method","name":"hdmi_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L13"},"def":{"name":"hdmi_dtv?","visibility":"Public","body":"self == HdmiDtv"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Ratio","path":"Lg/Displays/Ls5/Ratio.html","kind":"enum","full_name":"Lg::Displays::Ls5::Ratio","name":"Ratio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Square","name":"Square","value":"1"},{"id":"Wide","name":"Wide","value":"2"},{"id":"Zoom","name":"Zoom","value":"4"},{"id":"Scan","name":"Scan","value":"9"},{"id":"Program","name":"Program","value":"6"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"program?-instance-method","name":"program?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L140"},"def":{"name":"program?","visibility":"Public","body":"self == Program"}},{"html_id":"scan?-instance-method","name":"scan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L139"},"def":{"name":"scan?","visibility":"Public","body":"self == Scan"}},{"html_id":"square?-instance-method","name":"square?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L136"},"def":{"name":"square?","visibility":"Public","body":"self == Square"}},{"html_id":"wide?-instance-method","name":"wide?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L137"},"def":{"name":"wide?","visibility":"Public","body":"self == Wide"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L138"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]}]}]}]},{"html_id":"drivers/Lumens","path":"Lumens.html","kind":"module","full_name":"Lumens","name":"Lumens","abstract":false,"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lumens/DC193","path":"Lumens/DC193.html","kind":"class","full_name":"Lumens::DC193","name":"DC193","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{193_u8 => :lamp, 176_u8 => :power, 183_u8 => :power_staus, 167_u8 => :picture_mode, 163_u8 => :auto_focus, 138_u8 => :max_zoom, 120_u8 => :frozen_status, 96_u8 => :zoom_staus, 81_u8 => :picture_mode_staus, 80_u8 => :lamp_staus, 44_u8 => :freeze, 31_u8 => :zoom_direct_auto_focus, 19_u8 => :zoom_direct, 17_u8 => :zoom, 16_u8 => :zoom_stop}"},{"id":"PICTURE_MODES","name":"PICTURE_MODES","value":"{:photo, :test, :greyscale}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"}],"namespace":{"html_id":"drivers/Lumens","kind":"module","full_name":"Lumens","name":"Lumens"},"instance_methods":[{"html_id":"auto_focus(name:String=\"auto_focus\")-instance-method","name":"auto_focus","abstract":false,"args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"args_string":"(name : String = \"auto_focus\")","args_html":"(name : String = "auto_focus")","location":{"filename":"src/lumens/dc193.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L107"},"def":{"name":"auto_focus","args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nsend(Bytes[160, 163, 1, 0, 0, 175], name: name)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds) do\n query_status\nend\nquery_status\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"freeze(state:Bool)-instance-method","name":"freeze","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L117"},"def":{"name":"freeze","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 44, state, 0, 0, 175], name: :freeze)\n"}},{"html_id":"frozen?-instance-method","name":"frozen?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L122"},"def":{"name":"frozen?","visibility":"Public","body":"send(Bytes[160, 120, 0, 0, 0, 175], priority: 0)"}},{"html_id":"lamp(state:Bool,head_led:Bool=false)-instance-method","name":"lamp","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"args_string":"(state : Bool, head_led : Bool = false)","args_html":"(state : Bool, head_led : Bool = false)","location":{"filename":"src/lumens/dc193.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L59"},"def":{"name":"lamp","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"visibility":"Public","body":"if @frozen\n return false\nend\nlamps = if state && head_led\n 1_u8\nelse\n if state\n 2_u8\n else\n if head_led\n 3_u8\n else\n 0_u8\n end\n end\nend\nsend(Bytes[160, 193, lamps, 0, 0, 175], name: :lamp)\n"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L75"},"def":{"name":"lamp?","visibility":"Public","body":"send(Bytes[160, 80, 0, 0, 0, 175], priority: 0)"}},{"html_id":"max_zoom?-instance-method","name":"max_zoom?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L146"},"def":{"name":"max_zoom?","visibility":"Public","body":"send(Bytes[160, 138, 0, 0, 0, 175], priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(6)\n@zoom_range = 0..@zoom_max\n"}},{"html_id":"picture_mode(state:String)-instance-method","name":"picture_mode","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/lumens/dc193.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L126"},"def":{"name":"picture_mode","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nmode = case state.downcase\nwhen \"photo\"\n 0_u8\nwhen \"text\"\n 1_u8\nwhen \"greyscale\", \"grayscale\"\n 2_u8\nelse\n raise(ArgumentError.new(\"unknown picture mode #{state}\"))\nend\nsend(Bytes[160, 167, mode, 0, 0, 175], name: :picture_mode)\n"}},{"html_id":"picture_mode?-instance-method","name":"picture_mode?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L142"},"def":{"name":"picture_mode?","visibility":"Public","body":"send(Bytes[160, 81, 0, 0, 0, 175], priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L48"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 176, state, 0, 0, 175], name: :power)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L54"},"def":{"name":"power?","visibility":"Public","body":"send(Bytes[160, 183, 0, 0, 0, 175], priority: 0)"}},{"html_id":"query_status-instance-method","name":"query_status","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L37"},"def":{"name":"query_status","visibility":"Public","body":"if power?.get == \"true\"\n lamp?\n zoom?\n frozen?\n max_zoom?\n picture_mode?\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lumens/dc193.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L189"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Lumens sent: #{data.hexstring}\"\nend\nstatus = Status.from_value(data[4].to_i)\nself[:zooming] = status.zooming?\nself[:focusing] = status.focusing?\nself[:iris_adjusting] = status.iris?\nif status.error?\n return task.try(&.abort(\"bad request\"))\nend\nif status.ignored?\n return task.try(&.retry(\"device busy\"))\nend\nresult = case COMMANDS[data[1]]?\nwhen :power\n data[2] == 1_u8\nwhen :power_staus\n @ready = data[2] == 1_u8\n @power = data[3] == 1_u8\n logger.debug do\n \"System power: #{@power}, ready: #{@ready}\"\n end\n self[:ready] = @ready\n self[:power] = @power\nwhen :max_zoom\n @zoom_max = data[2].to_i + (data[3].to_i << 8)\n @zoom_range = 0..@zoom_max\n self[:zoom_range] = {min: 0, max: @zoom_max}\nwhen :frozen_status, :freeze\n self[:frozen] = @frozen = data[2] == 1_u8\nwhen :zoom_staus, :zoom_direct_auto_focus, :zoom_direct\n value = data[2].to_i + (data[3].to_i << 8)\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\nwhen :picture_mode_staus, :picture_mode\n self[:picture_mode] = PICTURE_MODES[data[2].to_i]\nwhen :lamp_staus, :lamp\n case data[2]\n when 0_u8\n @head_led = @lamp = false\n when 1_u8\n @head_led = @lamp = true\n when 2_u8\n @head_led = false\n @lamp = true\n when 3_u8\n @head_led = true\n @lamp = false\n end\n self[:head_led] = @head_led\n self[:lamp] = @lamp\nwhen :auto_focus\nelse\n error = \"Unknown command #{data[1]}\"\n logger.debug do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success(result))\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=1)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 1)","args_html":"(direction : ZoomDirection, index : Int32 | String = 1)","location":{"filename":"src/lumens/dc193.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L90"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @frozen\n return false\nend\ncase direction\nwhen ZoomDirection::Stop\n send(Bytes[160, 16, 0, 0, 0, 175])\n zoom?(priority: queue.priority)\n auto_focus(name: \"zoom\")\nwhen ZoomDirection::In\n send(Bytes[160, 17, 0, 0, 0, 175], name: :zoom)\nwhen ZoomDirection::Out\n send(Bytes[160, 17, 1, 0, 0, 175], name: :zoom)\nend\n"}},{"html_id":"zoom?(priority:Int32=0)-instance-method","name":"zoom?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L113"},"def":{"name":"zoom?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(Bytes[160, 96, 0, 0, 0, 175], priority: priority)"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L79"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nposition = (percentage * @zoom_max.to_f).to_i\nlow = (position & 255).to_u8\nhigh = ((position >> 8) & 255).to_u8\nauto_focus = auto_focus ? 31_u8 : 19_u8\nsend(Bytes[160, auto_focus, low, high, 0, 175], name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Lumens/DC193/Status","path":"Lumens/DC193/Status.html","kind":"enum","full_name":"Lumens::DC193::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L151"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Error","name":"Error","value":"1"},{"id":"Ignored","name":"Ignored","value":"2"},{"id":"Reserved1","name":"Reserved1","value":"4"},{"id":"Reserved2","name":"Reserved2","value":"8"},{"id":"Focusing","name":"Focusing","value":"16"},{"id":"Zooming","name":"Zooming","value":"32"},{"id":"Iris","name":"Iris","value":"64"},{"id":"Reserved3","name":"Reserved3","value":"128"}],"namespace":{"html_id":"drivers/Lumens/DC193","kind":"class","full_name":"Lumens::DC193","name":"DC193"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L152"},"def":{"name":"error?","visibility":"Public","body":"self.includes?(Error)"}},{"html_id":"focusing?-instance-method","name":"focusing?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L156"},"def":{"name":"focusing?","visibility":"Public","body":"self.includes?(Focusing)"}},{"html_id":"ignored?-instance-method","name":"ignored?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L153"},"def":{"name":"ignored?","visibility":"Public","body":"self.includes?(Ignored)"}},{"html_id":"iris?-instance-method","name":"iris?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L158"},"def":{"name":"iris?","visibility":"Public","body":"self.includes?(Iris)"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L151"},"def":{"name":"none?","visibility":"Public","body":"value == 0"}},{"html_id":"reserved1?-instance-method","name":"reserved1?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L154"},"def":{"name":"reserved1?","visibility":"Public","body":"self.includes?(Reserved1)"}},{"html_id":"reserved2?-instance-method","name":"reserved2?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L155"},"def":{"name":"reserved2?","visibility":"Public","body":"self.includes?(Reserved2)"}},{"html_id":"reserved3?-instance-method","name":"reserved3?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L159"},"def":{"name":"reserved3?","visibility":"Public","body":"self.includes?(Reserved3)"}},{"html_id":"zooming?-instance-method","name":"zooming?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L157"},"def":{"name":"zooming?","visibility":"Public","body":"self.includes?(Zooming)"}}]}]}]},{"html_id":"drivers/Lutron","path":"Lutron.html","kind":"module","full_name":"Lutron","name":"Lutron","abstract":false,"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L12"},{"filename":"src/lutron/vive_leap_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"macros":[{"html_id":"upper_enum(name)-macro","name":"upper_enum","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""}],"args_string":"(name)","args_html":"(name)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L4"},"def":{"name":"upper_enum","args":[{"name":"name","external_name":"name","restriction":""}],"visibility":"Public","body":" \n{% if name.type.resolve.nilable? %} @{{ name.var }} : String? {% else %} @{{ name.var }} : String {% end %}\n\n \n{% enum_type = name.type.resolve.union_types.reject(&.nilable?).first %}\n\n\n def \n{{ name.var }}\n : \n{{ name.type }}\n\n if value = @\n{{ name.var }}\n\n \n{{ enum_type }}\n.parse(value)\n \nelse\n nil\n \nend\n \nend\n\n def \n{{ name.var }}\n=(value : \n{{ name.type }}\n) : \n{{ name.type }}\n\n @\n{{ name.var }}\n = value.try &.to_s\n value\n \nend\n \n"}}],"types":[{"html_id":"drivers/Lutron/AreaStatus","path":"Lutron/AreaStatus.html","kind":"struct","full_name":"Lutron::AreaStatus","name":"AreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L117"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L118"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","doc":"/area/3/status","summary":"

/area/3/status

","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L121"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L124"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"occupancy:OccupancyStatus|Nil-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy","return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"if value = @occupancy\n Lutron::OccupancyStatus.parse(value)\nelse\n nil\nend"}},{"html_id":"occupancy=(value:OccupancyStatus|Nil):OccupancyStatus|Nil-instance-method","name":"occupancy=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"args_string":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","args_html":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy=","args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"@occupancy = value.try(&.to_s)\nvalue\n"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L129"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, area_id, status = href.split(\"/\", 4)\n\"#{component}#{area_id}\"\n"}}]},{"html_id":"drivers/Lutron/Availability","path":"Lutron/Availability.html","kind":"enum","full_name":"Lutron::Availability","name":"Availability","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L159"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Available","name":"Available","value":"0"},{"id":"Unavailable","name":"Unavailable","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"available?-instance-method","name":"available?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L160"},"def":{"name":"available?","visibility":"Public","body":"self == Available"}},{"html_id":"unavailable?-instance-method","name":"unavailable?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L161"},"def":{"name":"unavailable?","visibility":"Public","body":"self == Unavailable"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L162"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Lutron/ClientSetting","path":"Lutron/ClientSetting.html","kind":"struct","full_name":"Lutron::ClientSetting","name":"ClientSetting","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L74"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"protocol:ClientVersion-instance-method","name":"protocol","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L77"},"def":{"name":"protocol","return_type":"ClientVersion","visibility":"Public","body":"@protocol"}}]},{"html_id":"drivers/Lutron/ClientVersion","path":"Lutron/ClientVersion.html","kind":"struct","full_name":"Lutron::ClientVersion","name":"ClientVersion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L81"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"major_version:Int32-instance-method","name":"major_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L84"},"def":{"name":"major_version","return_type":"Int32","visibility":"Public","body":"@major_version"}},{"html_id":"minor_version:Int32-instance-method","name":"minor_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L87"},"def":{"name":"minor_version","return_type":"Int32","visibility":"Public","body":"@minor_version"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L89"},"def":{"name":"version","visibility":"Public","body":"\"#{major_version}.#{minor_version}.0\""}}]},{"html_id":"drivers/Lutron/CommuniqueType","path":"Lutron/CommuniqueType.html","kind":"enum","full_name":"Lutron::CommuniqueType","name":"CommuniqueType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ReadRequest","name":"ReadRequest","value":"0"},{"id":"ReadResponse","name":"ReadResponse","value":"1"},{"id":"UpdateRequest","name":"UpdateRequest","value":"2"},{"id":"UpdateResponse","name":"UpdateResponse","value":"3"},{"id":"SubscribeRequest","name":"SubscribeRequest","value":"4"},{"id":"SubscribeResponse","name":"SubscribeResponse","value":"5"},{"id":"DeleteRequest","name":"DeleteRequest","value":"6"},{"id":"DeleteResponse","name":"DeleteResponse","value":"7"},{"id":"CreateRequest","name":"CreateRequest","value":"8"},{"id":"CreateResponse","name":"CreateResponse","value":"9"},{"id":"UnsubscribeRequest","name":"UnsubscribeRequest","value":"10"},{"id":"UnsubscribeResponse","name":"UnsubscribeResponse","value":"11"},{"id":"ExceptionResponse","name":"ExceptionResponse","value":"12"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"create_request?-instance-method","name":"create_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L31"},"def":{"name":"create_request?","visibility":"Public","body":"self == CreateRequest"}},{"html_id":"create_response?-instance-method","name":"create_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L32"},"def":{"name":"create_response?","visibility":"Public","body":"self == CreateResponse"}},{"html_id":"delete_request?-instance-method","name":"delete_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L29"},"def":{"name":"delete_request?","visibility":"Public","body":"self == DeleteRequest"}},{"html_id":"delete_response?-instance-method","name":"delete_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L30"},"def":{"name":"delete_response?","visibility":"Public","body":"self == DeleteResponse"}},{"html_id":"exception_response?-instance-method","name":"exception_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L35"},"def":{"name":"exception_response?","visibility":"Public","body":"self == ExceptionResponse"}},{"html_id":"read_request?-instance-method","name":"read_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L23"},"def":{"name":"read_request?","visibility":"Public","body":"self == ReadRequest"}},{"html_id":"read_response?-instance-method","name":"read_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L24"},"def":{"name":"read_response?","visibility":"Public","body":"self == ReadResponse"}},{"html_id":"subscribe_request?-instance-method","name":"subscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L27"},"def":{"name":"subscribe_request?","visibility":"Public","body":"self == SubscribeRequest"}},{"html_id":"subscribe_response?-instance-method","name":"subscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L28"},"def":{"name":"subscribe_response?","visibility":"Public","body":"self == SubscribeResponse"}},{"html_id":"unsubscribe_request?-instance-method","name":"unsubscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L33"},"def":{"name":"unsubscribe_request?","visibility":"Public","body":"self == UnsubscribeRequest"}},{"html_id":"unsubscribe_response?-instance-method","name":"unsubscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L34"},"def":{"name":"unsubscribe_response?","visibility":"Public","body":"self == UnsubscribeResponse"}},{"html_id":"update_request?-instance-method","name":"update_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L25"},"def":{"name":"update_request?","visibility":"Public","body":"self == UpdateRequest"}},{"html_id":"update_response?-instance-method","name":"update_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L26"},"def":{"name":"update_response?","visibility":"Public","body":"self == UpdateResponse"}}]},{"html_id":"drivers/Lutron/ContactClosureState","path":"Lutron/ContactClosureState.html","kind":"enum","full_name":"Lutron::ContactClosureState","name":"ContactClosureState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L154"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L156"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L155"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]},{"html_id":"drivers/Lutron/ExceptionDetail","path":"Lutron/ExceptionDetail.html","kind":"struct","full_name":"Lutron::ExceptionDetail","name":"ExceptionDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L95"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error_code:Int32|Nil-instance-method","name":"error_code","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L101"},"def":{"name":"error_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@error_code"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L98"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Lutron/Lighting","path":"Lutron/Lighting.html","kind":"class","full_name":"Lutron::Lighting","name":"Lighting","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Errors","name":"Errors","value":"{\"1\" => \"Parameter count mismatch\", \"2\" => \"Object does not exist\", \"3\" => \"Invalid action number\", \"4\" => \"Parameter data out of range\", \"5\" => \"Parameter data malformed\", \"6\" => \"Unsupported Command\"}"},{"id":"Occupancy","name":"Occupancy","value":"{\"1\" => \"unknown\", \"2\" => \"inactive\", \"3\" => \"occupied\", \"4\" => \"unoccupied\"}"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"blinds(device:String,action:String,component:String=\"shadegrp\")-instance-method","name":"blinds","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"args_string":"(device : String, action : String, component : String = \"shadegrp\")","args_html":"(device : String, action : String, component : String = "shadegrp")","location":{"filename":"src/lutron/lighting.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L77"},"def":{"name":"blinds","args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"case action.downcase\nwhen \"raise\", \"up\"\n send_cmd(component.upcase, device, 3)\nwhen \"lower\", \"down\"\n send_cmd(component.upcase, device, 2)\nwhen \"stop\"\n send_cmd(component.upcase, device, 4)\nend"}},{"html_id":"button_press(area:Int32,button:Int32)-instance-method","name":"button_press","doc":"===============\nDEVICE COMMANDS\n===============","summary":"

=============== DEVICE COMMANDS ===============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"args_string":"(area : Int32, button : Int32)","args_html":"(area : Int32, button : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L116"},"def":{"name":"button_press","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"visibility":"Public","body":"send_cmd(\"DEVICE\", area, button, 3)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"send(\"#{@login}\\r\\n\", priority: 9999)\nschedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Lutron\"\n end\n scene?(1)\nend\n"}},{"html_id":"daylight(area:Int32,mode:Bool)-instance-method","name":"daylight","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"args_string":"(area : Int32, mode : Bool)","args_html":"(area : Int32, mode : Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L108"},"def":{"name":"daylight","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"visibility":"Public","body":"val = mode ? 1 : 2\nsend_cmd(\"AREA\", area, 7, val)\n"}},{"html_id":"daylight_mode?(area:Int32)-instance-method","name":"daylight_mode?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L104"},"def":{"name":"daylight_mode?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 7)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L44"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"led(area:Int32,device:Int32,state:Int32|Bool)-instance-method","name":"led","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"args_string":"(area : Int32, device : Int32, state : Int32 | Bool)","args_html":"(area : Int32, device : Int32, state : Int32 | Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L120"},"def":{"name":"led","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"visibility":"Public","body":"val = if state.is_a?(Int32)\n state\nelse\n state ? 1 : 0\nend\nsend_cmd(\"DEVICE\", area, device, 9, val)\n"}},{"html_id":"led?(area:Int32,device:Int32)-instance-method","name":"led?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"args_string":"(area : Int32, device : Int32)","args_html":"(area : Int32, device : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L130"},"def":{"name":"led?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"DEVICE\", area, device, 9)"}},{"html_id":"level(device:Int32,level:Int32,rate:Int32=1000,component:String=\"output\")-instance-method","name":"level","doc":"dimmers, CCOs, or other devices in a system that have a controllable output","summary":"

dimmers, CCOs, or other devices in a system that have a controllable output

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"args_string":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = \"output\")","args_html":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = "output")","location":{"filename":"src/lutron/lighting.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L63"},"def":{"name":"level","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"level = level.clamp(0, 100)\nseconds = rate / 1000\nmin = seconds / 60\nseconds = seconds - (min * 60)\ntime = \"#{min.to_s.rjust(2, '0')}:#{seconds.to_s.rjust(2, '0')}\"\nsend_cmd(component.upcase, device, 1, level, time)\n"}},{"html_id":"light_level(area:Int32,level:Int32,component:String|Nil=nil,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","args_html":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","location":{"filename":"src/lutron/lighting.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L141"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"if component\n level(area, level, fade, component)\nelse\n level(area, level, fade, \"area\")\nend"}},{"html_id":"lighting(device:Int32,state:Bool,action:Int32=1)-instance-method","name":"lighting","doc":"on or off","summary":"

on or off

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"args_string":"(device : Int32, state : Bool, action : Int32 = 1)","args_html":"(device : Int32, state : Bool, action : Int32 = 1)","location":{"filename":"src/lutron/lighting.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L53"},"def":{"name":"lighting","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(device, level)\n"}},{"html_id":"occupancy?(area:Int32)-instance-method","name":"occupancy?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L100"},"def":{"name":"occupancy?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@login = (setting?(String, :login)) || \"nwk\"\n@trigger_type = (setting?(String, :trigger)) || \"area\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/lighting.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nparts = data.split(\",\")\ncomponent = parts[0][1..-1].downcase\ncase component\nwhen \"area\", \"output\", \"shadegrp\"\n area = parts[1]\n action = parts[2].to_i\n param = parts[3]\n case action\n when 1\n self[\"#{component}#{area}_level\"] = param.to_f\n when 6\n self[\"#{component}#{area}\"] = param.to_i\n when 7\n self[\"#{component}#{area}_daylight\"] = param == \"1\"\n when 8\n self[\"#{component}#{area}_occupied\"] = Occupancy[param]\n end\nwhen \"device\"\n area = parts[1]\n device = parts[2]\n action = parts[3].to_i\n case action\n when 7\n self[\"device#{area}_#{device}\"] = parts[4].to_i\n when 9\n self[\"device#{area}_#{device}_led\"] = parts[4].to_i\n end\nwhen \"error\"\n error = \"error #{parts[1]}: #{Errors[parts[1]]}\"\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success)\n"}},{"html_id":"restart-instance-method","name":"restart","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L48"},"def":{"name":"restart","visibility":"Public","body":"send_cmd(\"RESET\", 0)"}},{"html_id":"scene(area:Int32,scene:Int32,component:String=\"area\")-instance-method","name":"scene","doc":"=============\nAREA COMMANDS\n=============","summary":"

============= AREA COMMANDS =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, scene : Int32, component : String = \"area\")","args_html":"(area : Int32, scene : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L91"},"def":{"name":"scene","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"(send_cmd(component.upcase, area, 6, scene)).get\nscene?(area, component)\n"}},{"html_id":"scene?(area:Int32,component:String=\"area\")-instance-method","name":"scene?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, component : String = \"area\")","args_html":"(area : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L96"},"def":{"name":"scene?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"send_query(component.upcase, area, 6)"}},{"html_id":"trigger(area:Int32,scene:Int32)-instance-method","name":"trigger","doc":"=============\nCOMPATIBILITY\n=============","summary":"

============= COMPATIBILITY =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32)","args_html":"(area : Int32, scene : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L137"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"scene(area, scene, @trigger_type)"}}]},{"html_id":"drivers/Lutron/MultipleAreaStatus","path":"Lutron/MultipleAreaStatus.html","kind":"struct","full_name":"Lutron::MultipleAreaStatus","name":"MultipleAreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L104"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L105"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(AreaStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L108"},"def":{"name":"states","return_type":"Array(AreaStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/MultipleZoneStatus","path":"Lutron/MultipleZoneStatus.html","kind":"struct","full_name":"Lutron::MultipleZoneStatus","name":"MultipleZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L135"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(ZoneStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L139"},"def":{"name":"states","return_type":"Array(ZoneStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/OccupancyStatus","path":"Lutron/OccupancyStatus.html","kind":"enum","full_name":"Lutron::OccupancyStatus","name":"OccupancyStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L111"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Occupied","name":"Occupied","value":"0"},{"id":"Unoccupied","name":"Unoccupied","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"occupied?-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L112"},"def":{"name":"occupied?","visibility":"Public","body":"self == Occupied"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L114"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"unoccupied?-instance-method","name":"unoccupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L113"},"def":{"name":"unoccupied?","visibility":"Public","body":"self == Unoccupied"}}]},{"html_id":"drivers/Lutron/OneZoneStatus","path":"Lutron/OneZoneStatus.html","kind":"struct","full_name":"Lutron::OneZoneStatus","name":"OneZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L142"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L143"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:ZoneStatus-instance-method","name":"status","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L146"},"def":{"name":"status","return_type":"ZoneStatus","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/Lutron/Quantum","path":"Lutron/Quantum.html","kind":"class","full_name":"Lutron::Quantum","name":"Quantum","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/quantum.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"level(id:Int32,level:String)-instance-method","name":"level","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(id : Int32, level : String)","args_html":"(id : Int32, level : String)","location":{"filename":"src/lutron/quantum.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L35"},"def":{"name":"level","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"client.zone.set_status_level(id: id, level: level)\nself[\"area#{id}_level\"] = level\n"}},{"html_id":"level?(id:Int32)-instance-method","name":"level?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L30"},"def":{"name":"level?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.zone.get_status(id)\nself[\"area#{id}_level\"] = status[\"Level\"]\n"}},{"html_id":"occupancy_status?(id:Int32)-instance-method","name":"occupancy_status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L50"},"def":{"name":"occupancy_status?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"occupancy_status = client.area.get_occupancy_status(id: id)\nself[\"area#{id}_occupancy\"] = occupancy_status\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = (URI.parse(config.uri.not_nil!)).host\napi_key = setting(String, :api_key)\ndevice_key = setting(String, :device_key)\n@client = Client.new(host_name: host_name.not_nil!, api_key: api_key, device_key: device_key)\n"}},{"html_id":"root-instance-method","name":"root","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L61"},"def":{"name":"root","visibility":"Public","body":"client.area.root"}},{"html_id":"scene(id:Int32,scene:Int32)-instance-method","name":"scene","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(id : Int32, scene : Int32)","args_html":"(id : Int32, scene : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L40"},"def":{"name":"scene","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"client.area.set_scene(id: id, scene: scene)\nself[\"area#{id}\"] = scene\n"}},{"html_id":"scene?(id:Int32)-instance-method","name":"scene?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L45"},"def":{"name":"scene?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.area.get_status(id: id)\nself[\"area#{id}\"] = status[\"CurrentScene\"]\n"}},{"html_id":"scenes(id:Int32)-instance-method","name":"scenes","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L56"},"def":{"name":"scenes","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"client.area.get_scenes(id: id)"}}],"types":[{"html_id":"drivers/Lutron/Quantum/Client","path":"Lutron/Quantum/Client.html","kind":"alias","full_name":"Lutron::Quantum::Client","name":"Client","abstract":false,"locations":[{"filename":"src/lutron/quantum.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Quantum::Client","aliased_html":"Quantum::Client","const":false,"namespace":{"html_id":"drivers/Lutron/Quantum","kind":"class","full_name":"Lutron::Quantum","name":"Quantum"}}]},{"html_id":"drivers/Lutron/Request","path":"Lutron/Request.html","kind":"class","full_name":"Lutron::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L39"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(url:String,req_type:CommuniqueType=CommuniqueType::ReadRequest,body=nil,header:Hash(String,String)={}ofString=>String)-class-method","name":"new","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"args_string":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","args_html":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L56"},"def":{"name":"new","args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(url, req_type, body, header)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(*args,**options)-instance-method","name":"[]=","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]=","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args] = **options"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"if (value = @body).nil?\n @body = (\"\")\nelse\n value\nend"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"header:Hash(String,String)-instance-method","name":"header","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header","return_type":"Hash(String, String)","visibility":"Public","body":"@header"}},{"html_id":"header=(header:Hash(String,String))-instance-method","name":"header=","abstract":false,"args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"args_string":"(header : Hash(String, String))","args_html":"(header : Hash(String, String))","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header=","args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@header = header"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L52"},"def":{"name":"name?","visibility":"Public","body":"header[\"Url\"]?"}},{"html_id":"type:CommuniqueType-instance-method","name":"type","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type","return_type":"CommuniqueType","visibility":"Public","body":"if value = @type\n Lutron::CommuniqueType.parse(value)\nelse\n nil\nend"}},{"html_id":"type=(value:CommuniqueType):CommuniqueType-instance-method","name":"type=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"args_string":"(value : CommuniqueType) : CommuniqueType","args_html":"(value : CommuniqueType) : CommuniqueType","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type=","args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"return_type":"CommuniqueType","visibility":"Public","body":"@type = value.try(&.to_s)\nvalue\n"}}]},{"html_id":"drivers/Lutron/SwitchedLevel","path":"Lutron/SwitchedLevel.html","kind":"enum","full_name":"Lutron::SwitchedLevel","name":"SwitchedLevel","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L151"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L150"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Lutron/ViveBacnet","path":"Lutron/ViveBacnet.html","kind":"class","full_name":"Lutron::ViveBacnet","name":"ViveBacnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"disable_occupancy(state:Bool)-instance-method","name":"disable_occupancy","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L83"},"def":{"name":"disable_occupancy","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 7, state)).get\nself[:occupancy_disabled] = state\n"}},{"html_id":"level(percentage:Float32)-instance-method","name":"level","abstract":false,"args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"args_string":"(percentage : Float32)","args_html":"(percentage : Float32)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L71"},"def":{"name":"level","args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"visibility":"Public","body":"if percentage < 0.0_f32\n percentage = 0.0_f32\nend\nif percentage > 100.0_f32\n percentage = 100.0_f32\nend\n(bacnet.write_real(@device_id, 2, percentage)).get\nself[:lighting_level] = percentage\n"}},{"html_id":"lighting(state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L78"},"def":{"name":"lighting","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 3, state)).get\nself[:lighting] = state\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@device_id = setting(UInt32, :device_id)\nsubscriptions.clear\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[2]\") do |_sub, value|\n self[:lighting_level] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[18]\") do |_sub, value|\n self[:power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[19]\") do |_sub, value|\n self[:max_power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[3]\") do |_sub, value|\n self[:lighting] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[7]\") do |_sub, value|\n self[:occupancy_disabled] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.MultiStateValue[8]\") do |_sub, value|\n @occupancy = case value\n when \"1\"\n false\n when \"2\"\n true\n else\n nil\n end\n self[:occupancy] = @occupancy\n self[:occupancy_sensor] = @occupancy.nil? ? nil : ( @occupancy ? 1.0 : 0.0)\n @last_updated = Time.utc.to_unix\nend\nschedule.clear\nschedule.every((4 + (rand(3))).seconds) do\n (bacnet.update_value(@device_id, 2, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 18, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 19, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 3, \"BinaryValue\")).get\n (bacnet.update_value(@device_id, 8, \"MultiStateValue\")).get\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L115"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id == \"occupancy\"\nelse\n return nil\nend\nif mac == @device_id.to_s\nelse\n return nil\nend\nif @last_updated == 0_i64\n return nil\nend\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L94"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != @device_id.to_s)\n return NO_MATCH\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\n[Interface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")]\n"}}]},{"html_id":"drivers/Lutron/ViveLeap","path":"Lutron/ViveLeap.html","kind":"class","full_name":"Lutron::ViveLeap","name":"ViveLeap","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"area_status?-instance-method","name":"area_status?","doc":"gets the status of all areas","summary":"

gets the status of all areas

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L85"},"def":{"name":"area_status?","visibility":"Public","body":"request = Request.new(\"/area/status\")\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"request = Request.new(\"/clientsetting\", :update_request, {ClientSetting: {ClientMajorVersion: 1}})\nsend(request.to_json, priority: 99, name: request.name?)\nschedule.every(1.minute) do\n ping\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"@sensors.clear\nschedule.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n length, unpaired = 0, 0\n loop do\n case io.read_char\n when '{'\n unpaired = unpaired + 1\n when '}'\n unpaired = unpaired - 1\n when Nil\n break\n end\n length = length + 1\n if unpaired.zero?\n break\n end\n end\n unpaired.zero? && length > 0 ? length : -1\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L79"},"def":{"name":"ping","visibility":"Public","body":"request = Request.new(\"/server/status/ping\")\nsend(request.to_json, priority: 0, name: request.name?)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/vive_leap.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L142"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nrequest = Request.from_json(data)\nurl = request[\"Url\"]?\nhttp_status = request[\"StatusCode\"]? || \"200 OK\"\nmessage_type = request[\"MessageBodyType\"]?\ncase message_type\nwhen \"OneClientSettingDefinition\"\n setting = ClientSetting.from_json(request.body)\n logger.debug do\n \"protocol version negotiated #{setting.protocol.version}, authenticating\"\n end\n authenticate\nwhen \"MultipleAreaStatus\"\n statuses = MultipleAreaStatus.from_json(request.body)\n timestamp = Time.utc.to_unix\n statuses.states.each do |status|\n base_key = status.status_key\n if status.level\n self[\"#{base_key}_level\"] = status.level\n end\n if status.occupancy\n self[\"#{base_key}_occupied\"] = status.occupancy\n @sensors[base_key] = {status.occupancy.try(&.occupied?) || false, timestamp}\n end\n end\nwhen \"MultipleZoneStatus\"\n statuses = MultipleZoneStatus.from_json(request.body)\n statuses.states.each do |status|\n set_zone(status)\n end\nwhen \"OneZoneStatus\"\n set_zone((OneZoneStatus.from_json(request.body)).status)\nwhen \"ExceptionDetail\"\n code, status = http_status.split(\" \", 2)\n details = ExceptionDetail.from_json(request.body)\n error_message = \"operation #{url} failed with #{code}: #{status}, #{details.message} [#{details.error_code}]\"\n logger.warn do\n error_message\n end\n if task && (task.name == url)\n task.abort(error_message)\n else\n return\n end\nwhen nil\n case url\n when \"/server/status/ping\"\n logger.debug do\n \"got ping response\"\n end\n end\nelse\n logger.debug do\n \"unknown message type #{message_type}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_leap.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L233"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif mac == config.ip\nelse\n return nil\nend\nif id\nelse\n return nil\nend\nsensor_found = @sensors[id]?\nif sensor_found\nelse\n return nil\nend\npresence, timestamp = sensor_found\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: mac, id: id, name: \"#{system.name} #{id} occupancy\", module_id: module_id, binding: \"#{id}_occupied\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_leap.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L213"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\n@sensors.map do |area_id, __arg3|\n presence = __arg3[0]\n timestamp = __arg3[1]\n Interface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: config.ip.not_nil!, id: area_id, name: \"#{system.name} #{area_id} occupancy\", module_id: module_id, binding: \"#{area_id}_occupied\")\nend\n"}},{"html_id":"zone_contact_closure(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_contact_closure","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L130"},"def":{"name":"zone_contact_closure","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToCCOLevel\", CCOLevelParameters: {CCOLevel: state ? \"Closed\" : \"Open\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_level(zone_id:String|Int32,level:Float64)-instance-method","name":"zone_level","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(zone_id : String | Int32, level : Float64)","args_html":"(zone_id : String | Int32, level : Float64)","location":{"filename":"src/lutron/vive_leap.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L106"},"def":{"name":"zone_level","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToDimmedLevel\", DimmedLevelParameters: {Level: level}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_lighting(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_lighting","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L118"},"def":{"name":"zone_lighting","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToSwitchedLevel\", SwitchedLevelParameters: {SwitchedLevel: state ? \"On\" : \"Off\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_status?-instance-method","name":"zone_status?","doc":"get the status of all zones","summary":"

get the status of all zones

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L96"},"def":{"name":"zone_status?","visibility":"Public","body":"request = Request.new(\"/zone/status\")\nsend(request.to_json, name: request.name?)\n"}}]},{"html_id":"drivers/Lutron/ZoneStatus","path":"Lutron/ZoneStatus.html","kind":"struct","full_name":"Lutron::ZoneStatus","name":"ZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L165"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L166"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"availability:Availability|Nil-instance-method","name":"availability","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability","return_type":"Availability | ::Nil","visibility":"Public","body":"if value = @availability\n Lutron::Availability.parse(value)\nelse\n nil\nend"}},{"html_id":"availability=(value:Availability|Nil):Availability|Nil-instance-method","name":"availability=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"args_string":"(value : Availability | Nil) : Availability | Nil","args_html":"(value : Availability | Nil) : Availability | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability=","args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"return_type":"Availability | ::Nil","visibility":"Public","body":"@availability = value.try(&.to_s)\nvalue\n"}},{"html_id":"contact_closure:ContactClosureState|Nil-instance-method","name":"contact_closure","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure","return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"if value = @contact_closure\n Lutron::ContactClosureState.parse(value)\nelse\n nil\nend"}},{"html_id":"contact_closure=(value:ContactClosureState|Nil):ContactClosureState|Nil-instance-method","name":"contact_closure=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"args_string":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","args_html":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure=","args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"@contact_closure = value.try(&.to_s)\nvalue\n"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L168"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L171"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L182"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, zone_id, status = href.split(\"/\", 4)\n\"#{component}#{zone_id}\"\n"}},{"html_id":"switched_level:SwitchedLevel|Nil-instance-method","name":"switched_level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level","return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"if value = @switched_level\n Lutron::SwitchedLevel.parse(value)\nelse\n nil\nend"}},{"html_id":"switched_level=(value:SwitchedLevel|Nil):SwitchedLevel|Nil-instance-method","name":"switched_level=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"args_string":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","args_html":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level=","args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"@switched_level = value.try(&.to_s)\nvalue\n"}}]}]},{"html_id":"drivers/Mailer","path":"Mailer.html","kind":"class","full_name":"Mailer","name":"Mailer","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"on_load-instance-method","name":"on_load","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"location":{"filename":"src/place/survey_mailer_spec.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L57"},"def":{"name":"on_load","visibility":"Public","body":"self[:sent] = 0"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L74"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"true"}},{"html_id":"send_template(to:String|Array(String),template:Tuple(String,String),args:TemplateItems,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_template","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L61"},"def":{"name":"send_template","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"self[:sent] = self[:sent].as_i + 1"}}]},{"html_id":"drivers/MessageMedia","path":"MessageMedia.html","kind":"module","full_name":"MessageMedia","name":"MessageMedia","abstract":false,"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MessageMedia/SMS","path":"MessageMedia/SMS.html","kind":"class","full_name":"MessageMedia::SMS","name":"SMS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/MessageMedia","kind":"module","full_name":"MessageMedia","name":"MessageMedia"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/message_media/sms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L28"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nformat = format || \"SMS\"\nnumbers = phone_numbers.map do |number|\n payload = {:content => message, :destination_number => number, :format => format}\n if source\n payload[:source_number] = source.to_s\n payload[:source_number_type] = \"ALPHANUMERIC\"\n end\n payload\nend\nresponse = post(\"/v1/messages\", body: {messages: numbers}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nnil\n"}}]}]},{"html_id":"drivers/Microsoft","path":"Microsoft.html","kind":"module","full_name":"Microsoft","name":"Microsoft","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Microsoft/Coordinates","path":"Microsoft/Coordinates.html","kind":"class","full_name":"Microsoft::Coordinates","name":"Coordinates","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L21"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L24"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L27"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L30"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/Microsoft/FindMe","path":"Microsoft/FindMe.html","kind":"class","full_name":"Microsoft::FindMe","name":"FindMe","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"levels-instance-method","name":"levels","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L65"},"def":{"name":"levels","visibility":"Public","body":"data = make_request(\"GET\", \"/FindMeService/api/MeetingRooms/BuildingLevelsWithMeetingRooms\")\nlevels = Array(Microsoft::Level).from_json(data)\nbuildings = Hash(String, Array(String)).new do |hash, key|\n hash[key] = [] of String\nend\nlevels.each do |level|\n buildings[level.building] << level.name\nend\nbuildings\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@domain = (setting?(String, :domain)) || \"\"\n"}},{"html_id":"user_details(usernames:String|Array(String))-instance-method","name":"user_details","abstract":false,"args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"args_string":"(usernames : String | Array(String))","args_html":"(usernames : String | Array(String))","location":{"filename":"src/microsoft/find_me.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L75"},"def":{"name":"user_details","args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"visibility":"Public","body":"users = usernames.is_a?(String) ? [usernames] : usernames\ndata = make_request(\"GET\", \"/FindMeService/api/ObjectLocation/Users/#{users.join(\",\")}?getExtendedData=true\")\n(Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\nend\n"}},{"html_id":"users_on(building:String,level:String)-instance-method","name":"users_on","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(building : String, level : String)","args_html":"(building : String, level : String)","location":{"filename":"src/microsoft/find_me.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L82"},"def":{"name":"users_on","args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"uri = \"/FindMeService/api/ObjectLocation/Level/#{building}/#{level}\"\ndata = make_request(\"GET\", uri)\nbegin\n (Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\n end\nrescue error\n logger.debug do\n \"failed to parse location data\\n#{data}\"\n end\n raise(error)\nend\n"}}]},{"html_id":"drivers/Microsoft/FindMeLocationService","path":"Microsoft/FindMeLocationService.html","kind":"class","full_name":"Microsoft::FindMeLocationService","name":"FindMeLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L95"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nactive_users_raw = (findme.user_details(mac_address)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nif user_details = active_users[0]?\n {location: user_details.located_using == \"FixedLocation\" ? \"desk\" : \"wireless\", assigned_to: user_details.user_data.not_nil!.email_address || \"\", mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L110"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfindme_details = @floor_mappings[zone_id]?\nif findme_details\nelse\n return [] of Nil\nend\nfindme_building = findme_details[:building]\nfindme_level = findme_details[:level]\nactive_users_raw = (findme.users_on(findme_building, findme_level)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nlocations = active_users.compact_map do |loc|\n build_location_response(loc, zone_id, findme_building, findme_level, location)\nend\nlocations\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L53"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocations_raw = (findme.user_details(username)).get.to_json\nlocations = Array(Microsoft::Location).from_json(locations_raw)\nlocations = locations.compact_map do |location|\n coords = location.coordinates\n if coords\n else\n next\n end\n level = findme_building = findme_level = \"\"\n @floor_mappings.each do |zone, details|\n findme_building = details[:building]\n findme_level = details[:level]\n if (findme_building == coords.building) && (findme_level == coords.level)\n level = zone\n break\n end\n end\n if level.empty?\n next\n end\n build_location_response(location, level, findme_building, findme_level)\nend\nlocations\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L82"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nactive_users_raw = (findme.user_details(username || email)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nfound = [] of String\nif user_details = active_users[0]?\n found << user_details.username\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@map_id_prefix = (setting?(String, :map_id_prefix)).presence || \"table-\"\n@building_zone = setting(String, :building_zone)\n@floor_mappings = setting(Hash(String, NamedTuple(building: String, level: String)), :floor_mappings)\n@zone_filter = @floor_mappings.keys\n@s2_level = (setting?(Int32, :s2_level)) || 21\n"}}]},{"html_id":"drivers/Microsoft/GPS","path":"Microsoft/GPS.html","kind":"class","full_name":"Microsoft::GPS","name":"GPS","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L37"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L40"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}}]},{"html_id":"drivers/Microsoft/GraphAPI","path":"Microsoft/GraphAPI.html","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/graph_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/graph_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"}},{"html_id":"drivers/Microsoft/Level","path":"Microsoft/Level.html","kind":"class","full_name":"Microsoft::Level","name":"Level","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L8"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"online:Int32-instance-method","name":"online","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L14"},"def":{"name":"online","return_type":"Int32","visibility":"Public","body":"@online"}}]},{"html_id":"drivers/Microsoft/Location","path":"Microsoft/Location.html","kind":"class","full_name":"Microsoft::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L62"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"doc":"Example Response:\n[{\"Alias\":\"dwatson\",\"LastUpdate\":\"2015-11-12T02:25:50.017Z\",\"Confidence\":100,\n \"Coordinates\":{\"Building\":\"SYDNEY\",\"Level\":\"2\",\"X\":76,\"Y\":29,\"LocationDescription\":\"2140\",\"MapByLocationId\":true},\n \"GPS\":{\"Latitude\":-33.796597429,\"Longitude\":151.1382508278,\"Accuracy\":0.0,\"LocationDescription\":null},\n \"LocationIdentifier\":null,\"Status\":\"Located\",\"LocatedUsing\":\"FixedLocation\",\"Type\":\"Person\",\"Comments\":null,\n \"ExtendedUserData\":{\"Alias\":\"dwatson\",\"DisplayName\":\"David Watson\",\"EmailAddress\":\"David.Watson@microsoft.com\",\"LyncSipAddress\":\"dwatson@microsoft.com\"}}]","summary":"

Example Response: [{"Alias":"dwatson","LastUpdate":"2015-11-12T02:25:50.017Z","Confidence":100, "Coordinates":{"Building":"SYDNEY","Level":"2","X":76,"Y":29,"LocationDescription":"2140","MapByLocationId":true}, "GPS":{"Latitude":-33.796597429,"Longitude":151.1382508278,"Accuracy":0.0,"LocationDescription":null}, "LocationIdentifier":null,"Status":"Located","LocatedUsing":"FixedLocation","Type":"Person","Comments":null, "ExtendedUserData":{"Alias":"dwatson","DisplayName":"David Watson","EmailAddress":"David.Watson@microsoft.com","LyncSipAddress":"dwatson@microsoft.com"}}]

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L63"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence:Float64-instance-method","name":"confidence","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L85"},"def":{"name":"confidence","return_type":"Float64","visibility":"Public","body":"@confidence"}},{"html_id":"coordinates:Coordinates|Nil-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L88"},"def":{"name":"coordinates","return_type":"Coordinates | ::Nil","visibility":"Public","body":"@coordinates"}},{"html_id":"gps:GPS|Nil-instance-method","name":"gps","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L91"},"def":{"name":"gps","return_type":"GPS | ::Nil","visibility":"Public","body":"@gps"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L82"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"located_using:String|Nil-instance-method","name":"located_using","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L100"},"def":{"name":"located_using","return_type":"String | ::Nil","visibility":"Public","body":"@located_using"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L94"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L97"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L103"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"user_data:UserData|Nil-instance-method","name":"user_data","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L106"},"def":{"name":"user_data","return_type":"UserData | ::Nil","visibility":"Public","body":"@user_data"}},{"html_id":"username:String-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L76"},"def":{"name":"username","return_type":"String","visibility":"Public","body":"@username"}}],"types":[{"html_id":"drivers/Microsoft/Location/RFC3339Converter","path":"Microsoft/Location/RFC3339Converter.html","kind":"module","full_name":"Microsoft::Location::RFC3339Converter","name":"RFC3339Converter","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft/Location","kind":"class","full_name":"Microsoft::Location","name":"Location"},"class_methods":[{"html_id":"from_json(value:JSON::PullParser):Time-class-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser) : Time","args_html":"(value : JSON::PullParser) : Time","location":{"filename":"src/microsoft/find_me_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L66"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"return_type":"Time","visibility":"Public","body":"Time::Format::RFC_3339.parse(value.read_string)"}},{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L70"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(Time::Format::RFC_3339.format(value, 1))"}}]}]},{"html_id":"drivers/Microsoft/UserData","path":"Microsoft/UserData.html","kind":"class","full_name":"Microsoft::UserData","name":"UserData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L50"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L53"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L47"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}}]}]},{"html_id":"drivers/MuleSoft","path":"MuleSoft.html","kind":"module","full_name":"MuleSoft","name":"MuleSoft","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MuleSoft/Booking","path":"MuleSoft/Booking.html","kind":"class","full_name":"MuleSoft::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L9"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L9"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"event_end:Int64-instance-method","name":"event_end","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L18"},"def":{"name":"event_end","return_type":"Int64","visibility":"Public","body":"@event_end"}},{"html_id":"event_end=(event_end:Int64)-instance-method","name":"event_end=","abstract":false,"args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"args_string":"(event_end : Int64)","args_html":"(event_end : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L18"},"def":{"name":"event_end=","args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"visibility":"Public","body":"@event_end = event_end"}},{"html_id":"event_start:Int64-instance-method","name":"event_start","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L15"},"def":{"name":"event_start","return_type":"Int64","visibility":"Public","body":"@event_start"}},{"html_id":"event_start=(event_start:Int64)-instance-method","name":"event_start=","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"args_string":"(event_start : Int64)","args_html":"(event_start : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L15"},"def":{"name":"event_start=","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"visibility":"Public","body":"@event_start = event_start"}},{"html_id":"location:String-instance-method","name":"location","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L20"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L20"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"@location = location"}},{"html_id":"recurring_master_id:String|Nil-instance-method","name":"recurring_master_id","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id","return_type":"String | ::Nil","visibility":"Public","body":"@recurring_master_id"}},{"html_id":"recurring_master_id=(recurring_master_id:String|Nil)-instance-method","name":"recurring_master_id=","abstract":false,"args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"args_string":"(recurring_master_id : String | Nil)","args_html":"(recurring_master_id : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id=","args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recurring_master_id = recurring_master_id"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L6"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L6"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"to_placeos-instance-method","name":"to_placeos","doc":"we need this method to create an intermediary hash\notherwise when to_json is called all the field names revert to the MuleSoft ones","summary":"

we need this method to create an intermediary hash otherwise when to_json is called all the field names revert to the MuleSoft ones

","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L24"},"def":{"name":"to_placeos","visibility":"Public","body":"value = {\"title\" => @title, \"body\" => @body, \"recurring_master_id\" => @recurring_master_id, \"event_start\" => @event_start, \"event_end\" => @event_end, \"location\" => @location}"}}]},{"html_id":"drivers/MuleSoft/BookingResults","path":"MuleSoft/BookingResults.html","kind":"class","full_name":"MuleSoft::BookingResults","name":"BookingResults","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L37"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bookings:Array(Booking)-instance-method","name":"bookings","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L47"},"def":{"name":"bookings","return_type":"Array(Booking)","visibility":"Public","body":"@bookings"}},{"html_id":"bookings=(bookings:Array(Booking))-instance-method","name":"bookings=","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L47"},"def":{"name":"bookings=","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"@bookings = bookings"}},{"html_id":"count:Int64-instance-method","name":"count","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L39"},"def":{"name":"count","return_type":"Int64","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int64)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int64"}],"args_string":"(count : Int64)","args_html":"(count : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L39"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int64"}],"visibility":"Public","body":"@count = count"}},{"html_id":"venue_code:String-instance-method","name":"venue_code","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code","return_type":"String","visibility":"Public","body":"@venue_code"}},{"html_id":"venue_code=(venue_code:String)-instance-method","name":"venue_code=","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"args_string":"(venue_code : String)","args_html":"(venue_code : String)","location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code=","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"visibility":"Public","body":"@venue_code = venue_code"}},{"html_id":"venue_name:String-instance-method","name":"venue_name","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name","return_type":"String","visibility":"Public","body":"@venue_name"}},{"html_id":"venue_name=(venue_name:String)-instance-method","name":"venue_name=","abstract":false,"args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"args_string":"(venue_name : String)","args_html":"(venue_name : String)","location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name=","args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"visibility":"Public","body":"@venue_name = venue_name"}}]},{"html_id":"drivers/MuleSoft/BookingsAPI","path":"MuleSoft/BookingsAPI.html","kind":"class","full_name":"MuleSoft::BookingsAPI","name":"BookingsAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/booking_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"check_current_booking-instance-method","name":"check_current_booking","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L82"},"def":{"name":"check_current_booking","visibility":"Public","body":"now = Time.utc.to_unix\nprevious_booking = nil\ncurrent_booking = nil\nnext_booking = Int32::MAX\n@bookings.each_with_index do |event, index|\n starting = event.event_start\n if starting > now\n next_booking = index\n if index > 0\n previous_booking = index - 1\n end\n break\n end\n ending_unix = event.event_end\n if ending_unix < now\n next\n end\n if starting <= now && ending_unix > now\n current_booking = index\n if index > 0\n previous_booking = index - 1\n end\n next_booking = index + 1\n break\n end\nend\nif next_booking >= (@bookings.size - 1)\n next_booking = nil\nend\nself[:previous_booking] = previous_booking ? @bookings[previous_booking].to_placeos : nil\nself[:current_booking] = current_booking ? @bookings[current_booking].to_placeos : nil\nself[:next_booking] = next_booking ? @bookings[next_booking].to_placeos : nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@running_a_spec = !(!(setting(Bool, :running_a_spec)))\n@username = setting(String, :username)\n@password = setting(String, :password)\n@basic_auth_enabled = !(!(setting?(Bool, :basic_auth_enabled)))\nlogger.debug do\n \"basic_auth_enabled is #{@basic_auth_enabled}\"\nend\n@base_path = setting(String, :base_path)\n@venue_code = setting(String, :venue_code)\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\ntime_zone = (setting?(String, :time_zone)).presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@ssl_auth_enabled = !(!(setting?(Bool, :ssl_auth_enabled)))\nif @ssl_auth_enabled\n save_ssl_credentials\nend\nlogger.debug do\n \"ssl_auth_enabled is #{@ssl_auth_enabled}\"\nend\nschedule.in((Random.rand(60)).seconds + (Random.rand(1000)).milliseconds) do\n poll_bookings\nend\ncron_string = (setting?(String, :polling_cron)).presence || \"*/30 7-20 * * *\"\nschedule.cron(cron_string, @time_zone) do\n poll_bookings(random_delay: true)\nend\n"}},{"html_id":"poll_bookings(random_delay:Bool=false)-instance-method","name":"poll_bookings","abstract":false,"args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"args_string":"(random_delay : Bool = false)","args_html":"(random_delay : Bool = false)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L67"},"def":{"name":"poll_bookings","args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"visibility":"Public","body":"now = Time.local(@time_zone)\nfrom = now - 1.week\nto = now + 1.week\nlogger.debug do\n \"polling bookings #{@venue_code}, from #{from}, to #{to}, in #{@time_zone.name}\"\nend\nif random_delay\n logger.debug do\n \"random delay of <30seconds to reduce instantaneous Mulesoft API load\"\n end\n sleep(Random.rand(30.0))\nend\nquery_bookings(@venue_code, from, to)\ncheck_current_booking\n"}},{"html_id":"query_bookings_epoch(venue_code:String,starts_at:Int32,ends_at:Int32)-instance-method","name":"query_bookings_epoch","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"args_string":"(venue_code : String, starts_at : Int32, ends_at : Int32)","args_html":"(venue_code : String, starts_at : Int32, ends_at : Int32)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L163"},"def":{"name":"query_bookings_epoch","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"visibility":"Public","body":"query_bookings(venue_code, Time.unix(starts_at), Time.unix(ends_at))"}}]},{"html_id":"drivers/MuleSoft/CalendarExporter","path":"MuleSoft/CalendarExporter.html","kind":"class","full_name":"MuleSoft::CalendarExporter","name":"CalendarExporter","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/calendar_exporter.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"delete_all_events(past_days:Int32=14,future_days:Int32=14)-instance-method","name":"delete_all_events","abstract":false,"args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"args_string":"(past_days : Int32 = 14, future_days : Int32 = 14)","args_html":"(past_days : Int32 = 14, future_days : Int32 = 14)","location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L137"},"def":{"name":"delete_all_events","args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"visibility":"Public","body":"events = fetch_events(past_span: past_days.days, future_span: future_days.days)\nevent_ids = events.map do |e|\n e[\"id\"]\nend\nevent_ids.each do |event_id|\n calendar.delete_event(calendar_id: system.email.not_nil!, event_id: event_id)\nend\n\"Deleted #{event_ids.size} events\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"@just_this_system = {email: system.email.not_nil!, name: system.name}\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\n@time_zone_string = (setting?(String, :calendar_time_zone)).presence\nif @time_zone_string\n @time_zone = Time::Location.load(@time_zone_string.not_nil!)\nend\nself[:timezone] = Time.local.to_s\nsubscription = system.subscribe(:Bookings_1, :bookings) do |_subscription, mulesoft_bookings|\n logger.debug do\n \"DETECTED changed in Mulesoft Bookings..\"\n end\n latest_bookings : Array(Hash(String, Int64 | String | Nil)) = [] of Hash(String, Int64 | String | Nil)\n latest_bookings = Array(Hash(String, Int64 | String | Nil)).from_json(mulesoft_bookings)\n logger.debug do\n \"#{latest_bookings.size} bookings in total\"\n end\n removed_bookings = @bookings - latest_bookings\n now = Time.utc.to_unix\n deleted_bookings = removed_bookings.reject do |b|\n b[\"event_end\"].not_nil!.to_i64 < now\n end\n update_events\n deleted_bookings.each do |b|\n delete_matching_event(b)\n end\n @bookings = latest_bookings\n @bookings.each do |b|\n export_booking(b)\n end\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L63"},"def":{"name":"status","visibility":"Public","body":"{bookings: @bookings, events: @existing_events, deleted_events: @deleted_events}"}},{"html_id":"update_events-instance-method","name":"update_events","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L71"},"def":{"name":"update_events","visibility":"Public","body":"logger.debug do\n \"FETCHING existing Calendar events...\"\nend\n@existing_events = fetch_events()\nlogger.debug do\n \"#{@existing_events.size} events in total\"\nend\n"}}]},{"html_id":"drivers/MuleSoft/DateTimeConvertor","path":"MuleSoft/DateTimeConvertor.html","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/MuleSoft/DateTimeConvertor","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"from_json(pull:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L57"},"def":{"name":"from_json","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(Time.parse(pull.read_string, \"%FT%T\", Time::Location.local)).to_unix"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/mulesoft/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L53"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string((Time.unix(value)).to_local.to_s(\"%FT%T\"))"}}]}]},{"html_id":"drivers/Nec","path":"Nec.html","kind":"module","full_name":"Nec","name":"Nec","abstract":false,"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Nec/Display","path":"Nec/Display.html","kind":"class","full_name":"Nec::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"13_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"audio_input(priority:Int32=0)-instance-method","name":"audio_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"audio_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AudioInput), priority: priority, name: \"audio_input\")"}},{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L105"},"def":{"name":"auto_adjust","visibility":"Public","body":"data = MsgType::SetParameter.build(Command::AutoSetup, 1)\nsend(data, name: \"auto_adjust\")\n"}},{"html_id":"auto_setup(priority:Int32=0)-instance-method","name":"auto_setup","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"auto_setup","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AutoSetup), priority: priority, name: \"auto_setup\")"}},{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L110"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::BrightnessStatus, val.clamp(0, 100))\nsend(data, name: \"brightness\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"brightness_status(priority:Int32=0)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::BrightnessStatus), priority: priority, name: \"brightness_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L116"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::ContrastStatus, val.clamp(0, 100))\nsend(data, name: \"contrast\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"contrast_status(priority:Int32=0)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::ContrastStatus), priority: priority, name: \"contrast_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L137"},"def":{"name":"do_poll","visibility":"Public","body":"current_power = power?(priority: 0)\nlogger.debug do\n \"Polling, power = #{current_power}\"\nend\nif current_power\n mute_status\n video_input\nend\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/nec/display.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L129"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"logger.debug do\n \"requested to update mute to #{state}\"\nend\ndata = MsgType::SetParameter.build(Command::MuteStatus, state ? 1 : 0)\nresp = send(data, name: \"mute_audio\")\nresp\n"}},{"html_id":"mute_status(priority:Int32=0)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::MuteStatus), priority: priority, name: \"mute_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 120.milliseconds\nqueue.timeout = 5.seconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/display.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:power]? == state\n return\nend\nif state\n logger.debug do\n \"requested to power on\"\n end\n data = MsgType::Command.build(Command::SetPower, 1)\n send(data, name: \"power\", delay: 5.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n data = MsgType::Command.build(Command::SetPower, 4)\n send(data, name: \"power\", delay: 10.seconds, timeout: 10.seconds)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L73"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"data = MsgType::Command.build(Command::PowerQuery)\n(send(data, **options, name: \"power?\")).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerOnDelay), priority: priority, name: \"power_on_delay\")"}},{"html_id":"power_query(priority:Int32=0)-instance-method","name":"power_query","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"power_query","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerQuery), priority: priority, name: \"power_query\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/display.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L147"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"NEC sent: 0x#{data.hexstring}\"\nend\nheader = data[0..6]\nmessage = data[7..-3]\nchecksum = data[-2]\nbegin\n case MsgType.from_value(header[4])\n when .command_reply?\n parse_command_reply(message)\n when .get_parameter_reply?, .set_parameter_reply?\n parse_response(message)\n else\n raise(\"unknown message type\")\n end\nrescue e\n logger.warn(exception: e) do\n \"processing response\"\n end\n task.try(&.abort(e.message))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save(priority:Int32=0)-instance-method","name":"save","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"save","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::Save), priority: priority, name: \"save\")"}},{"html_id":"set_power(priority:Int32=0)-instance-method","name":"set_power","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"set_power","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::SetPower), priority: priority, name: \"set_power\")"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/display.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L99"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch audio to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::AudioInput, input.value)\nsend(data, name: \"audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/display.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L79"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::VideoInput, input.value)\nsend(data, name: \"input\", delay: 6.seconds)\n"}},{"html_id":"video_input(priority:Int32=0)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VideoInput), priority: priority, name: \"video_input\")"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/nec/display.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L122"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\ndata = MsgType::SetParameter.build(Command::VolumeStatus, val)\nsend(data, name: \"volume\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"volume_status(priority:Int32=0)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VolumeStatus), priority: priority, name: \"volume_status\")"}}],"types":[{"html_id":"drivers/Nec/Display/Audio","path":"Nec/Display/Audio.html","kind":"enum","full_name":"Nec::Display::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio1","name":"Audio1","value":"1"},{"id":"Audio2","name":"Audio2","value":"2"},{"id":"Audio3","name":"Audio3","value":"3"},{"id":"Hdmi","name":"Hdmi","value":"4"},{"id":"Tv","name":"Tv","value":"6"},{"id":"DisplayPort1","name":"DisplayPort1","value":"7"},{"id":"DisplayPort2","name":"DisplayPort2","value":"8"},{"id":"Hdmi2","name":"Hdmi2","value":"10"},{"id":"Hdmi3","name":"Hdmi3","value":"11"},{"id":"MultiPicture","name":"MultiPicture","value":"13"},{"id":"ComputeModule","name":"ComputeModule","value":"14"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio1?-instance-method","name":"audio1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L86"},"def":{"name":"audio1?","visibility":"Public","body":"self == Audio1"}},{"html_id":"audio2?-instance-method","name":"audio2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L87"},"def":{"name":"audio2?","visibility":"Public","body":"self == Audio2"}},{"html_id":"audio3?-instance-method","name":"audio3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L88"},"def":{"name":"audio3?","visibility":"Public","body":"self == Audio3"}},{"html_id":"compute_module?-instance-method","name":"compute_module?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L96"},"def":{"name":"compute_module?","visibility":"Public","body":"self == ComputeModule"}},{"html_id":"display_port1?-instance-method","name":"display_port1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L91"},"def":{"name":"display_port1?","visibility":"Public","body":"self == DisplayPort1"}},{"html_id":"display_port2?-instance-method","name":"display_port2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L92"},"def":{"name":"display_port2?","visibility":"Public","body":"self == DisplayPort2"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L93"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L94"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L89"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"multi_picture?-instance-method","name":"multi_picture?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L95"},"def":{"name":"multi_picture?","visibility":"Public","body":"self == MultiPicture"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L90"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}}]},{"html_id":"drivers/Nec/Display/Command","path":"Nec/Display/Command.html","kind":"enum","full_name":"Nec::Display::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L236"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VideoInput","name":"VideoInput","value":"96"},{"id":"AudioInput","name":"AudioInput","value":"558"},{"id":"VolumeStatus","name":"VolumeStatus","value":"98"},{"id":"MuteStatus","name":"MuteStatus","value":"141"},{"id":"PowerOnDelay","name":"PowerOnDelay","value":"728"},{"id":"ContrastStatus","name":"ContrastStatus","value":"18"},{"id":"BrightnessStatus","name":"BrightnessStatus","value":"16"},{"id":"AutoSetup","name":"AutoSetup","value":"30"},{"id":"PowerQuery","name":"PowerQuery","value":"470"},{"id":"Save","name":"Save","value":"12"},{"id":"SetPower","name":"SetPower","value":"12714966"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio_input?-instance-method","name":"audio_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L238"},"def":{"name":"audio_input?","visibility":"Public","body":"self == AudioInput"}},{"html_id":"auto_setup?-instance-method","name":"auto_setup?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L244"},"def":{"name":"auto_setup?","visibility":"Public","body":"self == AutoSetup"}},{"html_id":"brightness_status?-instance-method","name":"brightness_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L243"},"def":{"name":"brightness_status?","visibility":"Public","body":"self == BrightnessStatus"}},{"html_id":"contrast_status?-instance-method","name":"contrast_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L242"},"def":{"name":"contrast_status?","visibility":"Public","body":"self == ContrastStatus"}},{"html_id":"mute_status?-instance-method","name":"mute_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L240"},"def":{"name":"mute_status?","visibility":"Public","body":"self == MuteStatus"}},{"html_id":"power_on_delay?-instance-method","name":"power_on_delay?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L241"},"def":{"name":"power_on_delay?","visibility":"Public","body":"self == PowerOnDelay"}},{"html_id":"power_query?-instance-method","name":"power_query?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L245"},"def":{"name":"power_query?","visibility":"Public","body":"self == PowerQuery"}},{"html_id":"save?-instance-method","name":"save?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L246"},"def":{"name":"save?","visibility":"Public","body":"self == Save"}},{"html_id":"set_power?-instance-method","name":"set_power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L247"},"def":{"name":"set_power?","visibility":"Public","body":"self == SetPower"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L249"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"case self\nwhen .save?\n length = 2\nwhen .set_power?\n length = 6\nelse\n length = 4\nend\n(value.to_s(16, upcase: true)).rjust(length, '0')\n"}},{"html_id":"video_input?-instance-method","name":"video_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L237"},"def":{"name":"video_input?","visibility":"Public","body":"self == VideoInput"}},{"html_id":"volume_status?-instance-method","name":"volume_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L239"},"def":{"name":"volume_status?","visibility":"Public","body":"self == VolumeStatus"}}]},{"html_id":"drivers/Nec/Display/Input","path":"Nec/Display/Input.html","kind":"enum","full_name":"Nec::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"1"},{"id":"Rgbhv","name":"Rgbhv","value":"2"},{"id":"Dvi","name":"Dvi","value":"3"},{"id":"HdmiSet","name":"HdmiSet","value":"4"},{"id":"Video1","name":"Video1","value":"5"},{"id":"Video2","name":"Video2","value":"6"},{"id":"Svideo","name":"Svideo","value":"7"},{"id":"Tuner","name":"Tuner","value":"9"},{"id":"Tv","name":"Tv","value":"10"},{"id":"Dvd1","name":"Dvd1","value":"12"},{"id":"Option","name":"Option","value":"13"},{"id":"Dvd2","name":"Dvd2","value":"14"},{"id":"DisplayPort","name":"DisplayPort","value":"15"},{"id":"Hdmi","name":"Hdmi","value":"17"},{"id":"Hdmi2","name":"Hdmi2","value":"18"},{"id":"Hdmi3","name":"Hdmi3","value":"130"},{"id":"Usb","name":"Usb","value":"135"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L23"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvd1?-instance-method","name":"dvd1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L20"},"def":{"name":"dvd1?","visibility":"Public","body":"self == Dvd1"}},{"html_id":"dvd2?-instance-method","name":"dvd2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L22"},"def":{"name":"dvd2?","visibility":"Public","body":"self == Dvd2"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L13"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L25"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L26"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L24"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_set?-instance-method","name":"hdmi_set?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L14"},"def":{"name":"hdmi_set?","visibility":"Public","body":"self == HdmiSet"}},{"html_id":"option?-instance-method","name":"option?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L21"},"def":{"name":"option?","visibility":"Public","body":"self == Option"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == Rgbhv"}},{"html_id":"svideo?-instance-method","name":"svideo?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L17"},"def":{"name":"svideo?","visibility":"Public","body":"self == Svideo"}},{"html_id":"tuner?-instance-method","name":"tuner?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L18"},"def":{"name":"tuner?","visibility":"Public","body":"self == Tuner"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L19"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L27"},"def":{"name":"usb?","visibility":"Public","body":"self == Usb"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"video1?-instance-method","name":"video1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L15"},"def":{"name":"video1?","visibility":"Public","body":"self == Video1"}},{"html_id":"video2?-instance-method","name":"video2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L16"},"def":{"name":"video2?","visibility":"Public","body":"self == Video2"}}]},{"html_id":"drivers/Nec/Display/MsgType","path":"Nec/Display/MsgType.html","kind":"enum","full_name":"Nec::Display::MsgType","name":"MsgType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L270"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"65_u8"},{"id":"CommandReply","name":"CommandReply","value":"66_u8"},{"id":"GetParameter","name":"GetParameter","value":"67_u8"},{"id":"GetParameterReply","name":"GetParameterReply","value":"68_u8"},{"id":"SetParameter","name":"SetParameter","value":"69_u8"},{"id":"SetParameterReply","name":"SetParameterReply","value":"70_u8"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"doc":"Types of messages sent to and from the LCD","summary":"

Types of messages sent to and from the LCD

","instance_methods":[{"html_id":"build(command:Nec::Display::Command,data:Int|Nil=nil)-instance-method","name":"build","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"args_string":"(command : Nec::Display::Command, data : Int | Nil = nil)","args_html":"(command : Nec::Display::Command, data : Int | Nil = nil)","location":{"filename":"src/nec/display.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L278"},"def":{"name":"build","args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"visibility":"Public","body":"command = command.to_s\nmessage = String.build do |str|\n str << \"0*0\"\n str.write_byte(self.value)\n message_length = command.size + 2\n if data\n message_length = message_length + 4\n end\n str << ((message_length.to_s(16, upcase: true)).rjust(2, '0'))\n str.write_byte(2)\n str << command\n if data\n str << ((data.to_s(16, upcase: true)).rjust(4, '0'))\n end\n str.write_byte(3)\nend\nString.build do |str|\n str.write_byte(1)\n str << message\n str.write_byte(message.each_byte.reduce do |a, b|\n a ^ b\n end)\n str.write_byte(DELIMITER)\nend\n"}},{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L271"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"command_reply?-instance-method","name":"command_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L272"},"def":{"name":"command_reply?","visibility":"Public","body":"self == CommandReply"}},{"html_id":"get_parameter?-instance-method","name":"get_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L273"},"def":{"name":"get_parameter?","visibility":"Public","body":"self == GetParameter"}},{"html_id":"get_parameter_reply?-instance-method","name":"get_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L274"},"def":{"name":"get_parameter_reply?","visibility":"Public","body":"self == GetParameterReply"}},{"html_id":"set_parameter?-instance-method","name":"set_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L275"},"def":{"name":"set_parameter?","visibility":"Public","body":"self == SetParameter"}},{"html_id":"set_parameter_reply?-instance-method","name":"set_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L276"},"def":{"name":"set_parameter_reply?","visibility":"Public","body":"self == SetParameterReply"}}]}]},{"html_id":"drivers/Nec/Projector","path":"Nec/Projector.html","kind":"class","full_name":"Nec::Projector","name":"Projector","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{mute_picture: Bytes[2, 16, 0, 0, 0, 18], unmute_picture: Bytes[2, 17, 0, 0, 0, 19], mute_audio_cmd: Bytes[2, 18, 0, 0, 0, 20], unmute_audio_cmd: Bytes[2, 19, 0, 0, 0, 21], mute_onscreen: Bytes[2, 20, 0, 0, 0, 22], unmute_onscreen: Bytes[2, 21, 0, 0, 0, 23], freeze_picture: Bytes[1, 152, 0, 0, 1, 1], unfreeze_picture: Bytes[1, 152, 0, 0, 1, 2], \"lamp?\": Bytes[0, 129, 0, 0, 0, 129], \"input?\": Bytes[0, 133, 0, 0, 1, 2], \"mute?\": Bytes[0, 133, 0, 0, 1, 3], \"error?\": Bytes[0, 136, 0, 0, 0, 136], \"model?\": Bytes[0, 133, 0, 0, 1, 4], lamp_info: Bytes[3, 138, 0, 0, 0, 141], filter_info: Bytes[3, 138, 0, 0, 0, 141], projector_info: Bytes[3, 138, 0, 0, 0, 141], background_black: Bytes[3, 177, 0, 0, 2, 11, 1], background_blue: Bytes[3, 177, 0, 0, 2, 11, 0], background_logo: Bytes[3, 177, 0, 0, 2, 11, 2]}","doc":"Command Listing\nSecond byte used to detect command type","summary":"

Command Listing Second byte used to detect command type

"},{"id":"ERROR_CODES","name":"ERROR_CODES","value":"[{1 => \"Lamp cover error\", 2 => \"Temperature error (Bimetal)\", 8 => \"Fan Error\", 16 => \"Fan Error\", 32 => \"Power Error\", 64 => \"Lamp Error\", 128 => \"Lamp has reached its end of life\"}, {1 => \"Lamp has been used beyond its limit\", 2 => \"Formatter error\", 4 => \"Lamp no.2 Error\"}, {2 => \"FPGA error\", 4 => \"Temperature error (Sensor)\", 8 => \"Lamp housing error\", 16 => \"Lamp data error\", 32 => \"Mirror cover error\", 64 => \"Lamp no.2 has reached its end of life\", 128 => \"Lamp no.2 has been used beyond its limit\"}, {1 => \"Lamp no.2 housing error\", 2 => \"Lamp no.2 data error\", 4 => \"High temperature due to dust pile-up\", 8 => \"A foreign object sensor error\"}]","doc":"Provide all the error info required","summary":"

Provide all the error info required

"},{"id":"INPUT_MAP","name":"INPUT_MAP","value":"{1 => {1 => Input::VGA, 2 => Input::Composite, 3 => Input::SVideo, 6 => Input::HDMI, 7 => Input::Viewer, 33 => Input::HDMI, 34 => Input::DisplayPort}, 2 => {1 => Input::RGBHV, 4 => Input::Component2, 6 => Input::HDMI2, 7 => Input::LAN, 33 => Input::HDMI2}, 3 => {4 => Input::Component}}","doc":"NEC has different values for the input status when compared to input selection","summary":"

NEC has different values for the input status when compared to input selection

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"background_black(**options)-instance-method","name":"background_black","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_black","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_black\"], **options, name: \"background_black\")"}},{"html_id":"background_blue(**options)-instance-method","name":"background_blue","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_blue","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_blue\"], **options, name: \"background_blue\")"}},{"html_id":"background_logo(**options)-instance-method","name":"background_logo","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_logo","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_logo\"], **options, name: \"background_logo\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L59"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nself[:power] = false\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L186"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?(priority: 0)\n background_black(priority: 0)\n lamp_info(priority: 0)\nend"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"error?\"], **options, name: \"error?\")"}},{"html_id":"filter_info(**options)-instance-method","name":"filter_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"filter_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"filter_info\"], **options, name: \"filter_info\")"}},{"html_id":"freeze_picture(**options)-instance-method","name":"freeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"freeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"freeze_picture\"], **options, name: \"freeze_picture\")"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"input?\"], **options, name: \"input?\")"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp?\"], **options, name: \"lamp?\")"}},{"html_id":"lamp_info(**options)-instance-method","name":"lamp_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"lamp_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp_info\"], **options, name: \"lamp_info\")"}},{"html_id":"model?(**options)-instance-method","name":"model?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"model?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"model?\"], **options, name: \"model?\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/nec/np_series.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L118"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n if state\n mute_picture\n mute_onscreen\n else\n unmute_picture\n end\nend\nif layer.audio? || layer.audio_video?\n state ? mute_audio_cmd : unmute_audio_cmd\nend\n"}},{"html_id":"mute?(**options)-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute?\"], **options, name: \"mute?\")"}},{"html_id":"mute_audio_cmd(**options)-instance-method","name":"mute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_audio_cmd\"], **options, name: \"mute_audio_cmd\")"}},{"html_id":"mute_onscreen(**options)-instance-method","name":"mute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_onscreen\"], **options, name: \"mute_onscreen\")"}},{"html_id":"mute_picture(**options)-instance-method","name":"mute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_picture\"], **options, name: \"mute_picture\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nself[:error] = [] of String\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@power_target = nil\n@input_target = nil\n@volume_min = setting(Int32, :volume_min)\n@volume_max = setting(Int32, :volume_max)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/np_series.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L155"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n command = Bytes[2, 0, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 15.seconds, delay: 1.second)\nelse\n command = Bytes[2, 1, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 60.seconds, delay: 30.seconds, clear_queue: true, priority: 100)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L175"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(COMMAND[:\"lamp?\"], **options, name: \"power?\")).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"projector_info(**options)-instance-method","name":"projector_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"projector_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"projector_info\"], **options, name: \"projector_info\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/np_series.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L292"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(data, task)"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/np_series.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L149"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"command = Bytes[3, 177, 0, 0, 2, 192, input.value]\ndo_send(command, name: \"switch_audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/np_series.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L180"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ncommand = Bytes[2, 3, 0, 0, 2, 1, input.value]\ndo_send(command, name: \"input\")\n"}},{"html_id":"unfreeze_picture(**options)-instance-method","name":"unfreeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unfreeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unfreeze_picture\"], **options, name: \"unfreeze_picture\")"}},{"html_id":"unmute_audio_cmd(**options)-instance-method","name":"unmute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_audio_cmd\"], **options, name: \"unmute_audio_cmd\")"}},{"html_id":"unmute_onscreen(**options)-instance-method","name":"unmute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_onscreen\"], **options, name: \"unmute_onscreen\")"}},{"html_id":"unmute_picture(**options)-instance-method","name":"unmute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_picture\"], **options, name: \"unmute_picture\")"}},{"html_id":"volume(vol:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"args_string":"(vol : Int32 | Float64)","args_html":"(vol : Int32 | Float64)","location":{"filename":"src/nec/np_series.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L103"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ncommand = Bytes[3, 16, 0, 0, 5, 5, 0, 0, vol, 0]\ndo_send(command)\n"}}],"types":[{"html_id":"drivers/Nec/Projector/Audio","path":"Nec/Projector/Audio.html","kind":"enum","full_name":"Nec::Projector::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L144"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"VGA","name":"VGA","value":"1"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L145"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L146"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]},{"html_id":"drivers/Nec/Projector/Input","path":"Nec/Projector/Input.html","kind":"enum","full_name":"Nec::Projector::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VGA","name":"VGA","value":"1"},{"id":"RGBHV","name":"RGBHV","value":"2"},{"id":"Composite","name":"Composite","value":"6"},{"id":"SVideo","name":"SVideo","value":"11"},{"id":"Component","name":"Component","value":"16"},{"id":"Component2","name":"Component2","value":"17"},{"id":"HDMI","name":"HDMI","value":"26"},{"id":"HDMI2","name":"HDMI2","value":"27"},{"id":"DisplayPort","name":"DisplayPort","value":"166"},{"id":"LAN","name":"LAN","value":"32"},{"id":"Viewer","name":"Viewer","value":"31"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"component2?-instance-method","name":"component2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L16"},"def":{"name":"component2?","visibility":"Public","body":"self == Component2"}},{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L15"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L13"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L19"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L17"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"lan?-instance-method","name":"lan?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L20"},"def":{"name":"lan?","visibility":"Public","body":"self == LAN"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == RGBHV"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L14"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}},{"html_id":"viewer?-instance-method","name":"viewer?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L21"},"def":{"name":"viewer?","visibility":"Public","body":"self == Viewer"}}]},{"html_id":"drivers/Nec/Projector/Response","path":"Nec/Projector/Response.html","kind":"enum","full_name":"Nec::Projector::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L209"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"8321_u16"},{"id":"InputOrMuteQuery","name":"InputOrMuteQuery","value":"8325_u16"},{"id":"Error","name":"Error","value":"8328_u16"},{"id":"InputSwitch","name":"InputSwitch","value":"8707_u16"},{"id":"Lamp","name":"Lamp","value":"8704_u16"},{"id":"Lamp2","name":"Lamp2","value":"8705_u16"},{"id":"PictureMuteOn","name":"PictureMuteOn","value":"8720_u16"},{"id":"PictureMuteOff","name":"PictureMuteOff","value":"8721_u16"},{"id":"AudioMuteOn","name":"AudioMuteOn","value":"8722_u16"},{"id":"AudioMuteOff","name":"AudioMuteOff","value":"8723_u16"},{"id":"OnscreenMuteOn","name":"OnscreenMuteOn","value":"8724_u16"},{"id":"OnscreenMuteOff","name":"OnscreenMuteOff","value":"8725_u16"},{"id":"VolumeOrImageAdjust","name":"VolumeOrImageAdjust","value":"8976_u16"},{"id":"Info","name":"Info","value":"9098_u16"},{"id":"AudioSwitch","name":"AudioSwitch","value":"9137_u16"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"doc":"TODO: add responses for freeze commands if we need to process them","summary":"

TODO add responses for freeze commands if we need to process them

","class_methods":[{"html_id":"from_bytes?(response)-class-method","name":"from_bytes?","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/nec/np_series.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L226"},"def":{"name":"from_bytes?","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"value = (IO::Memory.new(response[0..1])).read_bytes(UInt16, IO::ByteFormat::BigEndian)\nResponse.from_value?(value)\n"}}],"instance_methods":[{"html_id":"audio_mute_off?-instance-method","name":"audio_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L219"},"def":{"name":"audio_mute_off?","visibility":"Public","body":"self == AudioMuteOff"}},{"html_id":"audio_mute_on?-instance-method","name":"audio_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L218"},"def":{"name":"audio_mute_on?","visibility":"Public","body":"self == AudioMuteOn"}},{"html_id":"audio_switch?-instance-method","name":"audio_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L224"},"def":{"name":"audio_switch?","visibility":"Public","body":"self == AudioSwitch"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L212"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L223"},"def":{"name":"info?","visibility":"Public","body":"self == Info"}},{"html_id":"input_or_mute_query?-instance-method","name":"input_or_mute_query?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L211"},"def":{"name":"input_or_mute_query?","visibility":"Public","body":"self == InputOrMuteQuery"}},{"html_id":"input_switch?-instance-method","name":"input_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L213"},"def":{"name":"input_switch?","visibility":"Public","body":"self == InputSwitch"}},{"html_id":"lamp2?-instance-method","name":"lamp2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L215"},"def":{"name":"lamp2?","visibility":"Public","body":"self == Lamp2"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L214"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"onscreen_mute_off?-instance-method","name":"onscreen_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L221"},"def":{"name":"onscreen_mute_off?","visibility":"Public","body":"self == OnscreenMuteOff"}},{"html_id":"onscreen_mute_on?-instance-method","name":"onscreen_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L220"},"def":{"name":"onscreen_mute_on?","visibility":"Public","body":"self == OnscreenMuteOn"}},{"html_id":"picture_mute_off?-instance-method","name":"picture_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L217"},"def":{"name":"picture_mute_off?","visibility":"Public","body":"self == PictureMuteOff"}},{"html_id":"picture_mute_on?-instance-method","name":"picture_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L216"},"def":{"name":"picture_mute_on?","visibility":"Public","body":"self == PictureMuteOn"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L210"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"volume_or_image_adjust?-instance-method","name":"volume_or_image_adjust?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L222"},"def":{"name":"volume_or_image_adjust?","visibility":"Public","body":"self == VolumeOrImageAdjust"}}]}]}]},{"html_id":"drivers/OfficeRnd","path":"OfficeRnd.html","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd","abstract":false,"locations":[{"filename":"src/office_rnd/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L4"},{"filename":"src/office_rnd/office_rnd_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"OfficeRnD Data Models","summary":"

OfficeRnD Data Models

","types":[{"html_id":"drivers/OfficeRnd/Booking","path":"OfficeRnd/Booking.html","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L88"},"def":{"name":"new","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(resource_id, booking_start, booking_end, summary, team_id, member_id, description, tentative, free)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_end:BookingTime-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L70"},"def":{"name":"booking_end","return_type":"BookingTime","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_start:BookingTime-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L68"},"def":{"name":"booking_start","return_type":"BookingTime","visibility":"Public","body":"@booking_start"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L82"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"extras:JSON::Any-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L86"},"def":{"name":"extras","return_type":"JSON::Any","visibility":"Public","body":"@extras"}},{"html_id":"fees:Array(OfficeRnd::BookingFee)-instance-method","name":"fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L85"},"def":{"name":"fees","return_type":"Array(::OfficeRnd::BookingFee)","visibility":"Public","body":"@fees"}},{"html_id":"free:Bool|Nil-instance-method","name":"free","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L84"},"def":{"name":"free","return_type":"Bool | ::Nil","visibility":"Public","body":"@free"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L81"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"overlaps?(time_span:Range(Time,Time))-instance-method","name":"overlaps?","abstract":false,"args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"args_string":"(time_span : Range(Time, Time))","args_html":"(time_span : Range(Time, Time))","location":{"filename":"src/office_rnd/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L106"},"def":{"name":"overlaps?","args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"visibility":"Public","body":"starting, ending = booking_start.time, booking_end.time\nwithin = (time_span.includes?(starting)) || (time_span.includes?(ending))\ncovers = starting < time_span.begin && ending > time_span.end\nwithin || covers\n"}},{"html_id":"plan_id:String-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L77"},"def":{"name":"plan_id","return_type":"String","visibility":"Public","body":"@plan_id"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L75"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L72"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"summary:String|Nil-instance-method","name":"summary","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L73"},"def":{"name":"summary","return_type":"String | ::Nil","visibility":"Public","body":"@summary"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L79"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"tentative:Bool|Nil-instance-method","name":"tentative","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L83"},"def":{"name":"tentative","return_type":"Bool | ::Nil","visibility":"Public","body":"@tentative"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L71"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/BookingFee","path":"OfficeRnd/BookingFee.html","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"credits:Array(Credit)-instance-method","name":"credits","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L63"},"def":{"name":"credits","return_type":"Array(Credit)","visibility":"Public","body":"@credits"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L59"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"extra_fees:Array(JSON::Any|Nil)-instance-method","name":"extra_fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L62"},"def":{"name":"extra_fees","return_type":"Array(JSON::Any | ::Nil)","visibility":"Public","body":"@extra_fees"}},{"html_id":"fee:Fee|Nil-instance-method","name":"fee","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L60"},"def":{"name":"fee","return_type":"Fee | ::Nil","visibility":"Public","body":"@fee"}}]},{"html_id":"drivers/OfficeRnd/BookingTime","path":"OfficeRnd/BookingTime.html","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/office_rnd/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L35"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L33"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}}]},{"html_id":"drivers/OfficeRnd/Credit","path":"OfficeRnd/Credit.html","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L116"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"credit:String-instance-method","name":"credit","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L117"},"def":{"name":"credit","return_type":"String","visibility":"Public","body":"@credit"}}]},{"html_id":"drivers/OfficeRnd/Data","path":"OfficeRnd/Data.html","kind":"struct","full_name":"OfficeRnd::Data","name":"Data","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/OfficeRnd/Booking","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking"},{"html_id":"drivers/OfficeRnd/BookingFee","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee"},{"html_id":"drivers/OfficeRnd/BookingTime","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime"},{"html_id":"drivers/OfficeRnd/Credit","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit"},{"html_id":"drivers/OfficeRnd/Fee","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee"},{"html_id":"drivers/OfficeRnd/Floor","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor"},{"html_id":"drivers/OfficeRnd/Office","kind":"struct","full_name":"OfficeRnd::Office","name":"Office"},{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy"},{"html_id":"drivers/OfficeRnd/Rate/Extra","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra"},{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},{"html_id":"drivers/OfficeRnd/TokenResponse","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}]},{"html_id":"drivers/OfficeRnd/Fee","path":"OfficeRnd/Fee.html","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bill_in_advance:Bool|Nil-instance-method","name":"bill_in_advance","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L53"},"def":{"name":"bill_in_advance","return_type":"Bool | ::Nil","visibility":"Public","body":"@bill_in_advance"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L42"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"is_personal:Bool|Nil-instance-method","name":"is_personal","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L55"},"def":{"name":"is_personal","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_personal"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L48"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L39"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L46"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"plan_id:String|Nil-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L50"},"def":{"name":"plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@plan_id"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L40"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}},{"html_id":"quantity:Int32-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L41"},"def":{"name":"quantity","return_type":"Int32","visibility":"Public","body":"@quantity"}},{"html_id":"refundable:Bool|Nil-instance-method","name":"refundable","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L51"},"def":{"name":"refundable","return_type":"Bool | ::Nil","visibility":"Public","body":"@refundable"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L44"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}}]},{"html_id":"drivers/OfficeRnd/Floor","path":"OfficeRnd/Floor.html","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area:Int32|Nil-instance-method","name":"area","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L196"},"def":{"name":"area","return_type":"Int32 | ::Nil","visibility":"Public","body":"@area"}},{"html_id":"floor:String|Nil-instance-method","name":"floor","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L192"},"def":{"name":"floor","return_type":"String | ::Nil","visibility":"Public","body":"@floor"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L191"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L198"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L193"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L195"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"target_revenue:Int32|Nil-instance-method","name":"target_revenue","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L200"},"def":{"name":"target_revenue","return_type":"Int32 | ::Nil","visibility":"Public","body":"@target_revenue"}}]},{"html_id":"drivers/OfficeRnd/Office","path":"OfficeRnd/Office.html","kind":"struct","full_name":"OfficeRnd::Office","name":"Office","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L24"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"city:String|Nil-instance-method","name":"city","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L23"},"def":{"name":"city","return_type":"String | ::Nil","visibility":"Public","body":"@city"}},{"html_id":"country:String|Nil-instance-method","name":"country","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L21"},"def":{"name":"country","return_type":"String | ::Nil","visibility":"Public","body":"@country"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image:String|Nil-instance-method","name":"image","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L26"},"def":{"name":"image","return_type":"String | ::Nil","visibility":"Public","body":"@image"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L28"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L20"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"state:String|Nil-instance-method","name":"state","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L22"},"def":{"name":"state","return_type":"String | ::Nil","visibility":"Public","body":"@state"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L25"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/OfficeRndAPI","path":"OfficeRnd/OfficeRndAPI.html","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"instance_methods":[{"html_id":"booking(booking_id:String)-instance-method","name":"booking","doc":"Get a booking\n","summary":"

Get a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L130"},"def":{"name":"booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/bookings/#{booking_id}\", Booking)"}},{"html_id":"bookings(office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil)-instance-method","name":"bookings","doc":"Get bookings\n","summary":"

Get bookings

","abstract":false,"args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","args_html":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L136"},"def":{"name":"bookings","args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif member_id\n params[\"member\"] = member_id\nend\nif team_id\n params[\"team\"] = team_id\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/bookings\" : \"/bookings?#{query_string}\"\nget_request(path, Array(Booking))\n"}},{"html_id":"create_booking(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-instance-method","name":"create_booking","doc":"Create a booking\n","summary":"

Create a booking

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L164"},"def":{"name":"create_booking","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"create_bookings([Booking.new(resource_id: resource_id, booking_start: booking_start, booking_end: booking_end, summary: summary, team_id: team_id, member_id: member_id, description: description, tentative: tentative, free: free)])"}},{"html_id":"create_bookings(bookings:Array(Booking))-instance-method","name":"create_bookings","doc":"Make a booking\n","summary":"

Make a booking

","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L158"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"post_request(\"/bookings\", body: bookings.to_json)"}},{"html_id":"create_bookings(bookings:Array(BookingArgument))-instance-method","name":"create_bookings","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"args_string":"(bookings : Array(BookingArgument))","args_html":"(bookings : Array(BookingArgument))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L200"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"visibility":"Public","body":"create_bookings(bookings.map do |booking|\n Booking.new(**booking)\nend)"}},{"html_id":"delete_booking(booking_id:String)-instance-method","name":"delete_booking","doc":"Delete a booking\n","summary":"

Delete a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L152"},"def":{"name":"delete_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"!(!(delete_request(\"/bookings/#{booking_id}\")))"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(floor_id:String)-instance-method","name":"floor","doc":"Get a floor\n","summary":"

Get a floor

","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L89"},"def":{"name":"floor","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"path = \"/floors/#{floor_id}\"\nget_request(path, Floor)\n"}},{"html_id":"floors(office_id:String|Nil,name:String|Nil)-instance-method","name":"floors","doc":"Get floors\n","summary":"

Get floors

","abstract":false,"args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil, name : String | Nil)","args_html":"(office_id : String | Nil, name : String | Nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L96"},"def":{"name":"floors","args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif name\n params[\"name\"] = name\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/floors\" : \"/floors?#{query_string}\"\nget_request(path, Array(Floor))\n"}},{"html_id":"get_header-instance-method","name":"get_header","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L77"},"def":{"name":"get_header","visibility":"Public","body":"headers = {\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nauth_route = @test_auth ? \"http://localhost:17839/oauth/token\" : \"https://identity.officernd.com/oauth/token\"\nparams = HTTP::Params.encode({\"client_id\" => @client_id, \"client_secret\" => @client_secret, \"grant_type\" => \"client_credentials\", \"scope\" => @scopes.join(' ')})\nheaders = HTTP::Headers {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"}\nresponse = HTTP::Client.post(url: auth_route, headers: headers, body: params)\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body)\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"office(name:String)-instance-method","name":"office","doc":"Retrieve office\n","summary":"

Retrieve office

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L216"},"def":{"name":"office","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"path = \"/offices/#{name}\"\nget_request(path, Array(Office))\n"}},{"html_id":"offices-instance-method","name":"offices","doc":"List offices\n","summary":"

List offices

","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L209"},"def":{"name":"offices","visibility":"Public","body":"path = \"/offices\"\nget_request(path, Array(Office))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\n@test_auth = setting(Bool, :test_auth)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@client_id = setting(String, :client_id)\n@client_secret = setting(String, :client_secret)\n@scopes = setting(Array(String), :scopes)\n"}},{"html_id":"resource_bookings(resource_id:String,range_start:Time=Time.utc-5.minutes,range_end:Time=Time.utc+24.hours,office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil):Array(Booking)-instance-method","name":"resource_bookings","doc":"Get bookings for a resource for a given time span\n","summary":"

Get bookings for a resource for a given time span

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","args_html":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L110"},"def":{"name":"resource_bookings","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"return_type":"Array(Booking)","visibility":"Public","body":"time_span = (range_start..range_end)\nbookings(office_id: office_id, member_id: member_id, team_id: team_id).select! do |booking|\n (booking.resource_id == resource_id) && (booking.overlaps?(time_span))\nend\n"}},{"html_id":"resources(type:Resource::Type|String|Nil=nil,name:String|Nil=nil,office_id:String|Nil=nil,available_from:Time|Nil=nil,available_to:Time|Nil=nil)-instance-method","name":"resources","doc":"Get available rooms (resources) by\n- type\n- date range (available_from, available_to)\n- office (office_id)\n- resource name (name)","summary":"

Get available rooms (resources) by - type - date range (available_from, available_to) - office (office_id) - resource name (name)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"args_string":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","args_html":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L229"},"def":{"name":"resources","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"visibility":"Public","body":"if type.is_a?(String)\n type = Resource::Type.parse(type)\nend\nparams = HTTP::Params.new\nif type\n params[\"type\"] = type.to_s\nend\nif name\n params[\"name\"] = name\nend\nif office_id\n params[\"office\"] = office_id\nend\nif available_from\n params[\"availableFrom\"] = available_from.to_s\nend\nif available_to\n params[\"availableTo\"] = available_to.to_s\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/resources\" : \"/resources?#{query_string}\"\nget_request(path, Array(Resource))\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}}],"types":[{"html_id":"drivers/OfficeRnd/OfficeRndAPI/BookingArgument","path":"OfficeRnd/OfficeRndAPI/BookingArgument.html","kind":"alias","full_name":"OfficeRnd::OfficeRndAPI::BookingArgument","name":"BookingArgument","abstract":false,"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L188"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(resource_id: String, booking_start: Time, booking_end: Time, summary: String | Nil, team_id: String | Nil, member_id: String | Nil, description: String | Nil, tentative: Bool | Nil, free: Bool | Nil)","aliased_html":"{resource_id: String, booking_start: Time, booking_end: Time, summary: String?, team_id: String?, member_id: String?, description: String?, tentative: Bool?, free: Bool?}","const":false,"namespace":{"html_id":"drivers/OfficeRnd/OfficeRndAPI","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI"}}]},{"html_id":"drivers/OfficeRnd/Rate","path":"OfficeRnd/Rate.html","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L120"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancellation_policy:CancellationPolicy-instance-method","name":"cancellation_policy","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L126"},"def":{"name":"cancellation_policy","return_type":"CancellationPolicy","visibility":"Public","body":"@cancellation_policy"}},{"html_id":"extras:Array(Extra)-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L127"},"def":{"name":"extras","return_type":"Array(Extra)","visibility":"Public","body":"@extras"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L122"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"max_duration:Int32-instance-method","name":"max_duration","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L129"},"def":{"name":"max_duration","return_type":"Int32","visibility":"Public","body":"@max_duration"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L123"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L124"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}],"types":[{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","path":"OfficeRnd/Rate/CancellationPolicy.html","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L131"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"minimum_period:Int32-instance-method","name":"minimum_period","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period","return_type":"Int32","visibility":"Public","body":"@minimum_period"}},{"html_id":"minimum_period=(minimum_period:Int32)-instance-method","name":"minimum_period=","abstract":false,"args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"args_string":"(minimum_period : Int32)","args_html":"(minimum_period : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period=","args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"visibility":"Public","body":"@minimum_period = minimum_period"}}]},{"html_id":"drivers/OfficeRnd/Rate/Extra","path":"OfficeRnd/Rate/Extra.html","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L138"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L139"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L140"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}]}]},{"html_id":"drivers/OfficeRnd/Resource","path":"OfficeRnd/Resource.html","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L144"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAPPING","name":"MAPPING","value":"{Type::MeetingRoom => \"meeting_room\", Type::PrivateOffices => \"team_room\", Type::PrivateOfficeDesk => \"desk_tr\", Type::DedicatedDesks => \"desk\", Type::HotDesks => \"hotdesk\"}"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L144"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L151"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L145"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L149"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"rate_id:String|Nil-instance-method","name":"rate_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L147"},"def":{"name":"rate_id","return_type":"String | ::Nil","visibility":"Public","body":"@rate_id"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L152"},"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}}],"types":[{"html_id":"drivers/OfficeRnd/Resource/Type","path":"OfficeRnd/Resource/Type.html","kind":"enum","full_name":"OfficeRnd::Resource::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L162"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MeetingRoom","name":"MeetingRoom","value":"0"},{"id":"PrivateOffices","name":"PrivateOffices","value":"1"},{"id":"PrivateOfficeDesk","name":"PrivateOfficeDesk","value":"2"},{"id":"DedicatedDesks","name":"DedicatedDesks","value":"3"},{"id":"HotDesks","name":"HotDesks","value":"4"}],"namespace":{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},"class_methods":[{"html_id":"parse(type:String)-class-method","name":"parse","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L177"},"def":{"name":"parse","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"parsed = Resource::MAPPING.key_for?(type)\nif parsed\nelse\n raise(ArgumentError.new(\"Unrecognised Resource::Type '#{type}'\"))\nend\nparsed\n"}},{"html_id":"valid?(type:String)-class-method","name":"valid?","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L183"},"def":{"name":"valid?","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"!(!(Resource::MAPPING.key_for?(type)))"}}],"instance_methods":[{"html_id":"dedicated_desks?-instance-method","name":"dedicated_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L166"},"def":{"name":"dedicated_desks?","visibility":"Public","body":"self == DedicatedDesks"}},{"html_id":"hot_desks?-instance-method","name":"hot_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L167"},"def":{"name":"hot_desks?","visibility":"Public","body":"self == HotDesks"}},{"html_id":"meeting_room?-instance-method","name":"meeting_room?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L163"},"def":{"name":"meeting_room?","visibility":"Public","body":"self == MeetingRoom"}},{"html_id":"private_office_desk?-instance-method","name":"private_office_desk?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L165"},"def":{"name":"private_office_desk?","visibility":"Public","body":"self == PrivateOfficeDesk"}},{"html_id":"private_offices?-instance-method","name":"private_offices?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L164"},"def":{"name":"private_offices?","visibility":"Public","body":"self == PrivateOffices"}},{"html_id":"to_json(json:JSON::Builder)-instance-method","name":"to_json","doc":"Serializes this enum member by name.\n\nFor non-flags enums, the serialization is a JSON string. The value is the\nmember name (see `#to_s`) transformed with `String#underscore`.\n\n```\nenum Stages\n INITIAL\n SECOND_STAGE\nend\n\nStages::INITIAL.to_json # => %(\"initial\")\nStages::SECOND_STAGE.to_json # => %(\"second_stage\")\n```\n\nFor flags enums, the serialization is a JSON array including every flagged\nmember individually serialized in the same way as a member of a non-flags enum.\n`None` is serialized as an empty array, `All` as an array containing\nall members.\n\n```\n@[Flags]\nenum Sides\n LEFT\n RIGHT\nend\n\nSides::LEFT.to_json # => %([\"left\"])\n(Sides::LEFT | Sides::RIGHT).to_json # => %([\"left\",\"right\"])\nSides::All.to_json # => %([\"left\",\"right\"])\nSides::None.to_json # => %([])\n```\n\n`ValueConverter.to_json` offers a different serialization strategy based on the\nmember value.","summary":"

Serializes this enum member by name.

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(json : JSON::Builder)","args_html":"(json : JSON::Builder)","location":{"filename":"src/office_rnd/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L173"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(self.to_s)"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L169"},"def":{"name":"to_s","visibility":"Public","body":"Resource::MAPPING[self]"}}]}]},{"html_id":"drivers/OfficeRnd/TokenResponse","path":"OfficeRnd/TokenResponse.html","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L11"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L11"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"scope:String-instance-method","name":"scope","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L14"},"def":{"name":"scope","return_type":"String","visibility":"Public","body":"@scope"}},{"html_id":"scope=(scope:String)-instance-method","name":"scope=","abstract":false,"args":[{"name":"scope","external_name":"scope","restriction":"String"}],"args_string":"(scope : String)","args_html":"(scope : String)","location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L14"},"def":{"name":"scope=","args":[{"name":"scope","external_name":"scope","restriction":"String"}],"visibility":"Public","body":"@scope = scope"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L12"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L12"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]}]},{"html_id":"drivers/OpenAI","path":"OpenAI.html","kind":"module","full_name":"OpenAI","name":"OpenAI","abstract":false,"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L3"},{"filename":"src/open_ai/models/edit_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L4"},{"filename":"src/open_ai/models/model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L3"},{"filename":"src/open_ai/models/text_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/OpenAI/ChatCompletion","path":"OpenAI/ChatCompletion.html","kind":"struct","full_name":"OpenAI::ChatCompletion","name":"ChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(MessageChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L95"},"def":{"name":"choices","return_type":"Array(MessageChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L93"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L90"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L96"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/CreateChatCompletion","path":"OpenAI/CreateChatCompletion.html","kind":"class","full_name":"OpenAI::CreateChatCompletion","name":"CreateChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/chat/completions","summary":"

POST https://api.openai.com/v1/chat/completions

","constructors":[{"html_id":"new(model:String,messages:Array(OpenAI::Message))-class-method","name":"new","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"args_string":"(model : String, messages : Array(OpenAI::Message))","args_html":"(model : String, messages : Array(OpenAI::Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L30"},"def":{"name":"new","args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(model, messages)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"messages:Array(Message)-instance-method","name":"messages","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages","return_type":"Array(Message)","visibility":"Public","body":"@messages"}},{"html_id":"messages=(messages:Array(Message))-instance-method","name":"messages=","abstract":false,"args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"args_string":"(messages : Array(Message))","args_html":"(messages : Array(Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages=","args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"visibility":"Public","body":"@messages = messages"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/CreateEditCompletion","path":"OpenAI/CreateEditCompletion.html","kind":"class","full_name":"OpenAI::CreateEditCompletion","name":"CreateEditCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/edit_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/edits","summary":"

POST https://api.openai.com/v1/edits

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"input:String-instance-method","name":"input","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input","return_type":"String","visibility":"Public","body":"@input"}},{"html_id":"input=(input:String)-instance-method","name":"input=","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input=","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"@input = input"}},{"html_id":"instruction:String-instance-method","name":"instruction","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction","return_type":"String","visibility":"Public","body":"@instruction"}},{"html_id":"instruction=(instruction:String)-instance-method","name":"instruction=","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"args_string":"(instruction : String)","args_html":"(instruction : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction=","args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"visibility":"Public","body":"@instruction = instruction"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}}]},{"html_id":"drivers/OpenAI/CreateTextCompletion","path":"OpenAI/CreateTextCompletion.html","kind":"class","full_name":"OpenAI::CreateTextCompletion","name":"CreateTextCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/completions","summary":"

POST https://api.openai.com/v1/completions

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"best_of:Int32-instance-method","name":"best_of","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of","return_type":"Int32","visibility":"Public","body":"@best_of"}},{"html_id":"best_of=(best_of:Int32)-instance-method","name":"best_of=","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"args_string":"(best_of : Int32)","args_html":"(best_of : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of=","args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"visibility":"Public","body":"@best_of = best_of"}},{"html_id":"echo:Bool-instance-method","name":"echo","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo","return_type":"Bool","visibility":"Public","body":"@echo"}},{"html_id":"echo=(echo:Bool)-instance-method","name":"echo=","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"args_string":"(echo : Bool)","args_html":"(echo : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo=","args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"visibility":"Public","body":"@echo = echo"}},{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"logprobs:Int32|Nil-instance-method","name":"logprobs","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs","return_type":"Int32 | ::Nil","visibility":"Public","body":"@logprobs"}},{"html_id":"logprobs=(logprobs:Int32|Nil)-instance-method","name":"logprobs=","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"args_string":"(logprobs : Int32 | Nil)","args_html":"(logprobs : Int32 | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs=","args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@logprobs = logprobs"}},{"html_id":"max_tokens:Int32-instance-method","name":"max_tokens","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens","return_type":"Int32","visibility":"Public","body":"@max_tokens"}},{"html_id":"max_tokens=(max_tokens:Int32)-instance-method","name":"max_tokens=","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"args_string":"(max_tokens : Int32)","args_html":"(max_tokens : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens=","args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"visibility":"Public","body":"@max_tokens = max_tokens"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"prompt:String|Array(String)|Nil-instance-method","name":"prompt","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@prompt"}},{"html_id":"prompt=(prompt:String|Array(String)|Nil)-instance-method","name":"prompt=","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"args_string":"(prompt : String | Array(String) | Nil)","args_html":"(prompt : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt=","args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@prompt = prompt"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"suffix:String|Nil-instance-method","name":"suffix","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix","return_type":"String | ::Nil","visibility":"Public","body":"@suffix"}},{"html_id":"suffix=(suffix:String|Nil)-instance-method","name":"suffix=","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"args_string":"(suffix : String | Nil)","args_html":"(suffix : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix=","args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"visibility":"Public","body":"@suffix = suffix"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/GPT","path":"OpenAI/GPT.html","kind":"class","full_name":"OpenAI::GPT","name":"GPT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/gpt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"chat(model:String,message:Message|Array(Message))-instance-method","name":"chat","doc":"creates a completion for the chat message","summary":"

creates a completion for the chat message

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"args_string":"(model : String, message : Message | Array(Message))","args_html":"(model : String, message : Message | Array(Message))","location":{"filename":"src/open_ai/gpt.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L82"},"def":{"name":"chat","args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"visibility":"Public","body":"messages = message.is_a?(Array) ? message : [message]\nchat = CreateChatCompletion.new(model, messages)\nresponse = check(post(\"/v1/chat/completions\", body: chat.to_json))\nchat = ChatCompletion.from_json(response.body)\nupdate_token(chat.usage)\nchat.choices\n"}},{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L41"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"model(id:String)-instance-method","name":"model","doc":"returns the details of the provided model id","summary":"

returns the details of the provided model id

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/open_ai/gpt.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L76"},"def":{"name":"model","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = check(get(\"/v1/models/#{id}\"))\nModel.from_json(response.body)\n"}},{"html_id":"models-instance-method","name":"models","doc":"returns the available models for the current key","summary":"

returns the available models for the current key

","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L70"},"def":{"name":"models","visibility":"Public","body":"response = check(get(\"/v1/models\"))\n(List(Model).from_json(response.body)).data\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L18"},"def":{"name":"on_update","visibility":"Public","body":"openai_key = setting(String, :openai_key)\nopenai_org = setting?(String, :openai_org)\ntransport.before_request do |request|\n logger.debug do\n \"requesting #{request.method} #{request.path}?#{request.query}\\n#{request.headers}\\n#{request.body}\"\n end\n request.headers[\"Authorization\"] = \"Bearer #{openai_key}\"\n if openai_org\n request.headers[\"OpenAI-Organization\"] = openai_org\n end\n request.headers[\"Content-Type\"] = \"application/json\"\nend\nif usage = setting?(Usage, :token_usage)\n @total_tokens = usage.total_tokens\n @prompt_tokens = usage.prompt_tokens\n @completion_tokens = usage.completion_tokens\nend\n"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L40"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L39"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/List","path":"OpenAI/List.html","kind":"struct","full_name":"OpenAI::List(Type)","name":"List","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Type)-instance-method","name":"data","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L8"},"def":{"name":"data","return_type":"Array(Type)","visibility":"Public","body":"@data"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L7"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}}]},{"html_id":"drivers/OpenAI/Message","path":"OpenAI/Message.html","kind":"struct","full_name":"OpenAI::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"Typically, a conversation is formatted with a system message first,\nfollowed by alternating user and assistant messages.","summary":"

Typically, a conversation is formatted with a system message first, followed by alternating user and assistant messages.

","constructors":[{"html_id":"new(role:Role,content:String)-class-method","name":"new","abstract":false,"args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"args_string":"(role : Role, content : String)","args_html":"(role : Role, content : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L19"},"def":{"name":"new","args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(role, content)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L23"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"role:Role-instance-method","name":"role","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L22"},"def":{"name":"role","return_type":"Role","visibility":"Public","body":"@role"}}]},{"html_id":"drivers/OpenAI/MessageChoice","path":"OpenAI/MessageChoice.html","kind":"struct","full_name":"OpenAI::MessageChoice","name":"MessageChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L78"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L79"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L83"},"def":{"name":"finish_reason","return_type":"String","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L81"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"message:Message-instance-method","name":"message","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L82"},"def":{"name":"message","return_type":"Message","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/OpenAI/Model","path":"OpenAI/Model.html","kind":"struct","full_name":"OpenAI::Model","name":"Model","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"GET https://api.openai.com/v1/models","summary":"

GET https://api.openai.com/v1/models

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L27"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L28"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"owned_by:String-instance-method","name":"owned_by","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L29"},"def":{"name":"owned_by","return_type":"String","visibility":"Public","body":"@owned_by"}}]},{"html_id":"drivers/OpenAI/Role","path":"OpenAI/Role.html","kind":"enum","full_name":"OpenAI::Role","name":"Role","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"User","name":"User","value":"0","doc":"Can be generated by the end users of an application, or set by a developer as an instruction.","summary":"

Can be generated by the end users of an application, or set by a developer as an instruction.

"},{"id":"System","name":"System","value":"1","doc":"The system message helps set the behavior of the assistant.\nGPT 3 does not always pay strong attention to system messages","summary":"

The system message helps set the behavior of the assistant.

"},{"id":"Assistant","name":"Assistant","value":"2","doc":"The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior.","summary":"

The assistant messages help store prior responses.

"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"assistant?-instance-method","name":"assistant?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L11"},"def":{"name":"assistant?","visibility":"Public","body":"self == Assistant"}},{"html_id":"system?-instance-method","name":"system?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L9"},"def":{"name":"system?","visibility":"Public","body":"self == System"}},{"html_id":"user?-instance-method","name":"user?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L6"},"def":{"name":"user?","visibility":"Public","body":"self == User"}}]},{"html_id":"drivers/OpenAI/TextChoice","path":"OpenAI/TextChoice.html","kind":"struct","full_name":"OpenAI::TextChoice","name":"TextChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String|Nil-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L78"},"def":{"name":"finish_reason","return_type":"String | ::Nil","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L77"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L76"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}}]},{"html_id":"drivers/OpenAI/TextCompletion","path":"OpenAI/TextCompletion.html","kind":"struct","full_name":"OpenAI::TextCompletion","name":"TextCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(TextChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L91"},"def":{"name":"choices","return_type":"Array(TextChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L89"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L84"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L85"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L86"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L92"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/Usage","path":"OpenAI/Usage.html","kind":"struct","full_name":"OpenAI::Usage","name":"Usage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(total_tokens:Int64,prompt_tokens:Int64,completion_tokens:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"args_string":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","args_html":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","location":{"filename":"src/open_ai/models/model.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L14"},"def":{"name":"new","args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(total_tokens, prompt_tokens, completion_tokens)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L19"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L18"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L17"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/VoiceControlInterface","path":"OpenAI/VoiceControlInterface.html","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROMPT","name":"PROMPT","value":"OpenAI::Message.new(:user, \"\\n\")"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"A Voice interface that should be able to:\n* request","summary":"

A Voice interface that should be able to: * request

","instance_methods":[{"html_id":"custom_prompts:Array(OpenAI::Message)-instance-method","name":"custom_prompts","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L29"},"def":{"name":"custom_prompts","return_type":"Array(OpenAI::Message)","visibility":"Public","body":"@custom_prompts"}},{"html_id":"llm_model_id:String-instance-method","name":"llm_model_id","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L28"},"def":{"name":"llm_model_id","return_type":"String","visibility":"Public","body":"@llm_model_id"}},{"html_id":"module_status(module_id:String):Hash(String,String)-instance-method","name":"module_status","doc":"returns a hash of status values","summary":"

returns a hash of status values

","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Hash(String, String)","args_html":"(module_id : String) : Hash(String, String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L75"},"def":{"name":"module_status","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"Hash(String, String)","visibility":"Public","body":"system[module_id].__status__"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@llm_model_id = setting(String, :llm_model_id)\n@custom_prompts = (setting?(Array(OpenAI::Message), :custom_prompts)) || ([] of OpenAI::Message)\n"}},{"html_id":"request(text:String)-instance-method","name":"request","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L38"},"def":{"name":"request","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"messages = ([PROMPT] + custom_prompts) + [OpenAI::Message.new(:user, \"The Request: #{text}\")]\nchoices = Array(MessageChoice).from_json((language_model.chat(llm_model_id, messages)).get.to_json)\n"}},{"html_id":"system_metadata-instance-method","name":"system_metadata","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L50"},"def":{"name":"system_metadata","visibility":"Public","body":"metadata = {} of String => Metadata\nsys = system\nsys.modules.each do |module_name|\n 1.upto(sys.count(module_name)) do |index|\n mod = sys.get(module_name, index)\n metadata[\"#{module_name}_#{index}\"] = mod.__metadata__.llm_interface\n end\nend\n{name: sys.name, description: sys.description, modules: metadata}\n"}}],"types":[{"html_id":"drivers/OpenAI/VoiceControlInterface/Metadata","path":"OpenAI/VoiceControlInterface/Metadata.html","kind":"alias","full_name":"OpenAI::VoiceControlInterface::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::DriverModel::Metadata","aliased_html":"PlaceOS::Driver::DriverModel::Metadata","const":false,"namespace":{"html_id":"drivers/OpenAI/VoiceControlInterface","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface"}}]}]},{"html_id":"drivers/Panasonic","path":"Panasonic.html","kind":"module","full_name":"Panasonic","name":"Panasonic","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Panasonic/Camera","path":"Panasonic/Camera.html","kind":"module","full_name":"Panasonic::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Camera/HESeries","path":"Panasonic/Camera/HESeries.html","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MOVEMENT_STOPPED","name":"MOVEMENT_STOPPED","value":"50"},{"id":"ZOOM_MAX","name":"ZOOM_MAX","value":"4095"},{"id":"ZOOM_MIN","name":"ZOOM_MIN","value":"1365"},{"id":"ZOOM_RANGE","name":"ZOOM_RANGE","value":"(ZOOM_MAX - ZOOM_MIN).to_f"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Camera","kind":"module","full_name":"Panasonic::Camera","name":"Camera"},"instance_methods":[{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L254"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n zoom?\n pantilt?\nend"}},{"html_id":"installation(position:Installation)-instance-method","name":"installation","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Installation"}],"args_string":"(position : Installation)","args_html":"(position : Installation)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L223"},"def":{"name":"installation","args":[{"name":"position","external_name":"position","restriction":"Installation"}],"visibility":"Public","body":"request(\"INS\", position.desk? ? 0 : 1) do |resp|\n parse_installation(resp)\nend"}},{"html_id":"installation?-instance-method","name":"installation?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L227"},"def":{"name":"installation?","visibility":"Public","body":"parse_installation(query(\"INS\"))"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L85"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan = (MOVEMENT_STOPPED + (joyspeed(pan_speed))).to_s.rjust(2, '0')\ntilt = (MOVEMENT_STOPPED + (joyspeed(tilt_speed))).to_s.rjust(2, '0')\nif (pan_speed == \"50\") && (tilt_speed == \"50\")\n options = {retries: 4, priority: queue.priority + 50, clear_queue: true, name: :joystick}\nelse\n options = {retries: 1, priority: queue.priority, clear_queue: false, name: :joystick}\nend\nrequest(\"PTS\", \"#{pan}#{tilt}\", **options) do |resp|\n pan, tilt = (resp[3..-1].scan(/.{2}/)).flat_map(&.to_a)\n self[:pan_speed] = pan.not_nil!.to_i - MOVEMENT_STOPPED\n self[:tilt_speed] = tilt.not_nil!.to_i - MOVEMENT_STOPPED\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L141"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0, tilt_speed: position.down? ? @default_movement_speed : -@default_movement_speed)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -@default_movement_speed : @default_movement_speed, tilt_speed: 0)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 130.milliseconds\nschedule.every(1.minute) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@default_movement_speed = (setting?(Int32, :default_movement_speed)) || 12\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32)-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"args_string":"(pan : Int32, tilt : Int32)","args_html":"(pan : Int32, tilt : Int32)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L238"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"visibility":"Public","body":"pan_val = (pan.to_s(16)).upcase.rjust(4, '0')\ntilt_val = (tilt.to_s(16)).upcase.rjust(4, '0')\nrequest(\"APC\", \"#{pan_val}#{tilt_val}\", name: :pantilt) do |resp|\n parse_pantilt(resp)\nend\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L244"},"def":{"name":"pantilt?","visibility":"Public","body":"parse_pantilt(query(\"APC\"))"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L53"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n delay = 6.seconds\nend\nrequest(\"O\", state ? 1 : 0, delay: delay) do |resp|\n parse_power(resp)\nend\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L58"},"def":{"name":"power?","visibility":"Public","body":"parse_power(query(\"O\"))"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L115"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(preset[:pan], preset[:tilt])\n zoom_to(preset[:zoom])\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L132"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L125"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"do_poll\n@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L210"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"move_zoom(0, priority: 100)\njoystick(0, 0)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L189"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .in?\n move_zoom(@default_movement_speed // 3)\nin .out?\n move_zoom(-@default_movement_speed)\nin .stop?\n move_zoom(0)\nend"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L177"},"def":{"name":"zoom?","visibility":"Public","body":"resp = query(\"GZ\")\nif resp.includes?(\"--\")\n message = \"camera in standby, operation unavailable\"\n logger.debug do\n message\n end\n message\nelse\n @zoom_raw = resp[2..-1].to_i(16)\n self[:zoom] = (@zoom_raw - ZOOM_MIN).to_f * (100.0 / ZOOM_RANGE)\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L167"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * ZOOM_RANGE).to_i + ZOOM_MIN\nrequest(\"AXZ\", (zoom_value.to_s(16)).upcase.rjust(3, '0')) do |resp|\n self[:zoom] = resp[3..-1].to_i(16)\nend\n"}}],"types":[{"html_id":"drivers/Panasonic/Camera/HESeries/Installation","path":"Panasonic/Camera/HESeries/Installation.html","kind":"enum","full_name":"Panasonic::Camera::HESeries::Installation","name":"Installation","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L218"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Desk","name":"Desk","value":"0"},{"id":"Ceiling","name":"Ceiling","value":"1"}],"namespace":{"html_id":"drivers/Panasonic/Camera/HESeries","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries"},"instance_methods":[{"html_id":"ceiling?-instance-method","name":"ceiling?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L220"},"def":{"name":"ceiling?","visibility":"Public","body":"self == Ceiling"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L219"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}}]}]}]},{"html_id":"drivers/Panasonic/Display","path":"Panasonic/Display.html","kind":"module","full_name":"Panasonic::Display","name":"Display","abstract":false,"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Display/Protocol2","path":"Panasonic/Display/Protocol2.html","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", input: \"IMS\", volume: \"AVL\", volume_query: \"QAV\", audio_mute: \"AMT\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HM1\", Inputs::HDMI2 => \"HM2\", Inputs::VGA => \"PC1\", Inputs::DVI => \"DVI\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Display","kind":"module","full_name":"Panasonic::Display","name":"Display"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L51"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","doc":"There is no input query command","summary":"

There is no input query command

","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L111"},"def":{"name":"input?","visibility":"Public","body":"self[:input]?"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There is no video mute command so this only mutes audio","summary":"

There is no video mute command so this only mutes audio

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L116"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"requested audio mute state: #{state}\"\n end\n do_send(:audio_mute, state ? 1 : 0)\nend"}},{"html_id":"mute?:Bool-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L129"},"def":{"name":"mute?","return_type":"Bool","visibility":"Public","body":"(do_send(:audio_mute)).get\n!(!self[:audio_mute]?.try(&.as_bool))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L42"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(60.seconds) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"dispadmin\"\n@password = (setting?(String, :password)) || \"@Panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L78"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)\nend\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L91"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power_query, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic display sent: #{data} for #{task.try(&.name) || \"unknown\"}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\ndata = data[2..-1]\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"display busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"display error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on, :power_off, :power_query\n if (cmd == (:power_on)) || (cmd == (:power_off))\n self[:power] = cmd == (:power_on)\n end\n if cmd == (:power_query)\n self[:power] = val.not_nil!.to_i == 1\n end\n if power_target = @power_target\n if self[:power] == power_target\n @power_target = nil\n else\n power(power_target)\n end\n end\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :volume, :volume_query\n self[:volume] = val.not_nil!.to_f\nwhen :audio_mute\n self[:audio_mute] = val.not_nil!.to_i == 1\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L104"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nself[:input] = input\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L134"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\n(do_send(:volume, val.to_s.rjust(3, '0'))).get\nself[:volume] = val\n"}},{"html_id":"volume?:Int32|Nil-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L142"},"def":{"name":"volume?","return_type":"Int32 | ::Nil","visibility":"Public","body":"(do_send(:volume_query)).get\nself[:volume]?.try(&.as_i)\n"}}],"types":[{"html_id":"drivers/Panasonic/Display/Protocol2/Inputs","path":"Panasonic/Display/Protocol2/Inputs.html","kind":"enum","full_name":"Panasonic::Display::Protocol2::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L21"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"DVI","name":"DVI","value":"3"}],"namespace":{"html_id":"drivers/Panasonic/Display/Protocol2","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L25"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L23"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L22"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L24"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Panasonic/Projector","path":"Panasonic/Projector.html","kind":"module","full_name":"Panasonic::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Projector/NTControl","path":"Panasonic/Projector/NTControl.html","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", freeze: \"OFZ\", input: \"IIS\", mute: \"OSH\", lamp: \"Q$S\", lamp_hours: \"Q$L\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HD1\", Inputs::HDMI2 => \"HD2\", Inputs::VGA => \"RG1\", Inputs::VGA2 => \"RG2\", Inputs::Miracast => \"MC1\", Inputs::DVI => \"DVI\", Inputs::DisplayPort => \"DP1\", Inputs::HDBaseT => \"DL1\", Inputs::Composite => \"VID\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Projector","kind":"module","full_name":"Panasonic::Projector","name":"Projector"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L55"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"lamp_hours?(**options)-instance-method","name":"lamp_hours?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L105"},"def":{"name":"lamp_hours?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp_hours, 1, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes audio + video","summary":"

Mutes audio + video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L133"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"logger.debug do\n \"requested mute state: #{state}\"\nend\nactual = state ? 1 : 0\ndo_send(:mute, actual)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(40.seconds) do\n power?(priority: 0)\n lamp_hours?(priority: 0)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L66"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"admin1\"\n@password = (setting?(String, :password)) || \"panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L83"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:stable_power] = @stable_power = false\nself[:power_target] = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\n do_send(:lamp)\nelse\n logger.debug do\n \"requested to power off\"\n end\n (do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)).get\n schedule.in(10.seconds) do\n do_send(:lamp)\n end\nend\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L101"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L158"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic sent: #{data}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"projector busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"projector error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\ndata = data[2..-1]\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on\n self[:power] = true\nwhen :power_off\n self[:power] = false\nwhen :power_query\n self[:power] = val.not_nil!.to_i == 1\nwhen :freeze\n self[:frozen] = val.not_nil!.to_i == 1\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :mute\n state = self[:mute] = val.not_nil!.to_i == 1\n self[:mute0] = state\n self[:mute0_video] = state\n self[:mute0_audio] = state\nelse\n case task.name\n when \"lamp\"\n ival = resp[0].to_i\n self[:power] = {1, 2}.includes?(ival)\n self[:warming] = ival == 1\n self[:cooling] = ival == 3\n if !@stable_power\n if self[:power] == self[:power_target]\n self[:stable_power] = @stable_power = true\n else\n power(self[:power_target].as_bool)\n end\n end\n when \"lamp_hours\"\n self[:lamp_usage] = data.to_i\n end\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L122"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"if self[:mute]\n unmute\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\nself[:input] = input\n"}}],"types":[{"html_id":"drivers/Panasonic/Projector/NTControl/Inputs","path":"Panasonic/Projector/NTControl/Inputs.html","kind":"enum","full_name":"Panasonic::Projector::NTControl::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"3"},{"id":"Miracast","name":"Miracast","value":"4"},{"id":"DVI","name":"DVI","value":"5"},{"id":"DisplayPort","name":"DisplayPort","value":"6"},{"id":"HDBaseT","name":"HDBaseT","value":"7"},{"id":"Composite","name":"Composite","value":"8"}],"namespace":{"html_id":"drivers/Panasonic/Projector/NTControl","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl"},"instance_methods":[{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L31"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L29"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L28"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L30"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L24"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L23"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"miracast?-instance-method","name":"miracast?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L27"},"def":{"name":"miracast?","visibility":"Public","body":"self == Miracast"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L26"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L25"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]}]},{"html_id":"drivers/Pattr","path":"Pattr.html","kind":"module","full_name":"Pattr","name":"Pattr","abstract":false,"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Pattr/ChatBot","path":"Pattr/ChatBot.html","kind":"class","full_name":"Pattr::ChatBot","name":"ChatBot","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"instance_methods":[{"html_id":"chat_data_request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"chat_data_request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/pattr/chat_bot.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L45"},"def":{"name":"chat_data_request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nrequest = Request.from_json(body)\nresponse = case request\nin Location\n locate(request.referencing)\nend\npayload = response.to_json\nif @debug_webhook\n logger.debug do\n payload\n end\nend\n{HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, payload}\n"}},{"html_id":"locate(staff:Array(String))-instance-method","name":"locate","doc":"map reduce search for the users across all buildings","summary":"

map reduce search for the users across all buildings

","abstract":false,"args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"args_string":"(staff : Array(String))","args_html":"(staff : Array(String))","location":{"filename":"src/pattr/chat_bot.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L61"},"def":{"name":"locate","args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"visibility":"Public","body":"searches = staff.map do |username|\n email = username.includes?('@') ? username : nil\n queries = @buildings.map do |building|\n building[:LocationServices].locate_user(email, username)\n end\n {username, queries}\nend\nresponse = {} of String => PlaceLocationResult\nsearches.each do |__arg4|\n username = __arg4[0]\n queries = __arg4[1]\n locations = {} of String => PlaceLocationResult\n queries.each do |results|\n (Array(PlaceLocationResult).from_json(results.get.to_json)).map do |location|\n locations[location.location] = location\n end\n end\n if location = (locations[\"meeting\"]? || locations[\"wireless\"]?) || locations[\"desk\"]?\n response[username] = location\n end\nend\nresponse.transform_values do |location|\n case location.location\n when \"meeting\"\n {building: zones[location.building], level: zones[location.level], room: systems[location.sys_id.not_nil!]}\n else\n {building: zones[location.building], level: zones[location.level]}\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"@zones = Hash(String, String).new do |hash, key|\n zone = (staff_api.zone(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg0|\n __arg0.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\n@systems = Hash(String, String).new do |hash, key|\n zone = (staff_api.get_system(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg2|\n __arg2.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\nbuildings = (setting?(Array(String), :buildings)) || [config.control_system.not_nil!.id]\n@buildings = buildings.map do |id|\n system(id)\nend\n"}}]},{"html_id":"drivers/Pattr/Location","path":"Pattr/Location.html","kind":"class","full_name":"Pattr::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},"ancestors":[{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"referencing:Array(String)-instance-method","name":"referencing","doc":"user emails / usernames of users we want to locate","summary":"

user emails / usernames of users we want to locate

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L19"},"def":{"name":"referencing","return_type":"Array(String)","visibility":"Public","body":"@referencing"}},{"html_id":"request:String-instance-method","name":"request","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L16"},"def":{"name":"request","return_type":"String","visibility":"Public","body":"@request"}}]},{"html_id":"drivers/Pattr/PlaceLocationResult","path":"Pattr/PlaceLocationResult.html","kind":"class","full_name":"Pattr::PlaceLocationResult","name":"PlaceLocationResult","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","doc":"zone ids","summary":"

zone ids

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L29"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L30"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"location:String-instance-method","name":"location","doc":"wireless, desk, meeting, booking","summary":"

wireless, desk, meeting, booking

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L26"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"sys_id:String|Nil-instance-method","name":"sys_id","doc":"system id (if it's a meeting room)","summary":"

system id (if it's a meeting room)

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L33"},"def":{"name":"sys_id","return_type":"String | ::Nil","visibility":"Public","body":"@sys_id"}}]},{"html_id":"drivers/Pattr/Request","path":"Pattr/Request.html","kind":"class","full_name":"Pattr::Request","name":"Request","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Pattr/Location","kind":"class","full_name":"Pattr::Location","name":"Location"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"request type hint","summary":"

request type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"request\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'request' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'request'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n Location.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'request' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"user:String-instance-method","name":"user","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L12"},"def":{"name":"user","return_type":"String","visibility":"Public","body":"@user"}}]}]},{"html_id":"drivers/Philips","path":"Philips.html","kind":"module","full_name":"Philips","name":"Philips","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Philips/Dynalite","path":"Philips/Dynalite.html","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"254 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(1.minute) do\n logger.debug do\n \"maintaining connection\"\n end\n get_current_preset(1)\nend"}},{"html_id":"decrement_area_level(area:UInt8)-instance-method","name":"decrement_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L124"},"def":{"name":"decrement_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 5, 0, 0, 255])"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L24"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(area:UInt8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L59"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 99, 0, 0, 255]\ndo_send(command, wait: true)\n"}},{"html_id":"get_light_level(area:Int32,channel:Int32=255)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, channel : Int32 = 255)","args_html":"(area : Int32, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L116"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"do_send(Bytes[28, area & 255, channel & 255, 97, 0, 0, 255], wait: true)"}},{"html_id":"increment_area_level(area:UInt8)-instance-method","name":"increment_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L120"},"def":{"name":"increment_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 6, 0, 0, 255])"}},{"html_id":"light_level(area:Int32,level:Float64,fade:Int32=1000,channel:Int32=255)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","args_html":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L78"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"cmd = 113\nfade = if fade <= 25500\n fade // 100\nelse\n if fade < 255000\n cmd = 114\n fade // 1000\n else\n cmd = 115\n (fade // 60000).clamp(1, 22)\n end\nend\narea_key = ((Area.new(area.to_u32, channel: channel == 255 ? nil : channel.to_u32)).append(\"level\")).to_s\nself[area_key] = level\nlevel = ((level.clamp(0.0, 100.0)) * LEVEL_PERCENTAGE).to_u8\nlevel = 255_u8 - level\ncommand = Bytes[28, area & 255, channel & 255, cmd, level, fade & 255, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"lighting(area:Int32,state:Bool,fade:Int32=1000)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, state : Bool, fade : Int32 = 1000)","args_html":"(area : Int32, state : Bool, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L71"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100.0 : 0.0\nlight_level(area, level, fade)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L215"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nget_light_level(area_id, area_channel.to_i)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L204"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\nget_current_preset(area_id.to_u8)\n"}},{"html_id":"link_area(area:UInt8,join:UInt8)-instance-method","name":"link_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt8, join : UInt8)","args_html":"(area : UInt8, join : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L134"},"def":{"name":"link_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, join, 20, 0, 0, 255])"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 35.milliseconds\ntransport.tokenizer = Tokenizer.new(8, Bytes[28])\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynalite.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L138"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data.hexstring}\"\nend\ncase data[3]\nwhen 0, 1, 2, 3, 10, 11, 12, 13\n number = data[3]\n if number > 3\n number = number - (10 + 4)\n end\n number = number + ((data[5] * 8) + 1)\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 98\n number = data[2] + 1\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 96\n level = data[4]\n level = 255 - level\n level = level / LEVEL_PERCENTAGE\n channel = data[2].to_u32\n area_key = ((Area.new(data[1].to_u32, channel: channel == 255_u32 ? nil : channel)).append(\"level\")).to_s\n self[area_key] = level\n task.try(&.success(level))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save_preset(area:UInt8,scene:UInt8)-instance-method","name":"save_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"args_string":"(area : UInt8, scene : UInt8)","args_html":"(area : UInt8, scene : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L65"},"def":{"name":"save_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"visibility":"Public","body":"num = (scene - 1) & 255\ncommand = Bytes[28, area, num, 9, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L209"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nlight_level(area_id, level, fade_time.to_i, area_channel.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L199"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\ntrigger(area_id, scene.to_i, fade_time.to_i)\n"}},{"html_id":"stop_all_fading(area:UInt8)-instance-method","name":"stop_all_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L111"},"def":{"name":"stop_all_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 122, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"stop_fading(area:UInt8,channel:UInt8=255_u8)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"args_string":"(area : UInt8, channel : UInt8 = 255_u8)","args_html":"(area : UInt8, channel : UInt8 = 255_u8)","location":{"filename":"src/philips/dynalite.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L106"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, channel, 118, 0, 0, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"trigger(area:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","doc":"fade_time in millisecond","summary":"

fade_time in millisecond

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(area : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L37"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade_centi = fade // 10\nself[Area.new(area.to_u32)] = scene\nscene = scene - 1\nbank = scene // 8\nscene = scene - (bank * 8)\nif scene >= 4\n scene = scene + 6\nend\ncommand = Bytes[28, area & 255, fade_centi & 255, scene & 255, (fade_centi >> 8) & 255, bank, 255]\nschedule.in((fade + 200).milliseconds) do\n get_light_level(area)\nend\ndo_send(command, name: \"preset_#{area}_#{scene}\")\n"}},{"html_id":"unlink_area(area:UInt8)-instance-method","name":"unlink_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L128"},"def":{"name":"unlink_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"link_area(area, 0_u8)"}}],"types":[{"html_id":"drivers/Philips/Dynalite/Area","path":"Philips/Dynalite/Area.html","kind":"alias","full_name":"Philips::Dynalite::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/Dynalite","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite"}}]},{"html_id":"drivers/Philips/DyNetText","path":"Philips/DyNetText.html","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynet_text.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- polling gateway\"\n end\n get_date\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L38"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"get_current_preset(area:UInt16,join:UInt8=255_u8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8)","args_html":"(area : UInt16, join : UInt8 = 255_u8)","location":{"filename":"src/philips/dynet_text.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L169"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(\"RequestCurrentPreset #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}\" : \"get_area#{area}_#{join}\"))"}},{"html_id":"get_date-instance-method","name":"get_date","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L152"},"def":{"name":"get_date","visibility":"Public","body":"do_send(\"RequestDate\", name: :date)"}},{"html_id":"get_light_level(area:UInt16,join:UInt8=255_u8,channel:UInt16=1_u16)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L183"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"RequestChannelLevel #{channel} #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}_level\" : \"get_area#{area}_#{join}_level\"))"}},{"html_id":"get_time-instance-method","name":"get_time","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L156"},"def":{"name":"get_time","visibility":"Public","body":"do_send(\"RequestTime\", name: :time)"}},{"html_id":"light_level(area:UInt16,level:Float64,join:UInt8=255_u8,fade:UInt32=1000_u32,channel:UInt16=0_u16)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L177"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"level = level.round_away.to_i\ndo_send(\"ChannelLevel #{channel} #{level.clamp(0, 100)} #{area} #{fade} #{join}\", name: \"level#{area}_#{channel}_#{join}\")\n"}},{"html_id":"lighting(area:UInt16,state:Bool,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L173"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"light_level(area, state ? 100.0 : 0.0, join, fade)"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L218"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 1_u32\nget_light_level(area_id, area_join, area_channel.to_u16)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L207"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\nget_current_preset(area_id, area_join)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynet_text.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L48"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip(\"\\u0000\\r\\n\\t \")\nif data.empty?\n return\nend\nlogger.debug do\n \"Dynalite sent: #{data}\"\nend\nif @ready\n components = (data.split(\", \")).map do |component|\n parts = component.downcase.split\n value = parts.pop\n key = parts.join(' ')\n {key, value}\n end.to_h\n process_response(data, components, task)\nelse\n if data =~ (/Connection Established/i)\n @ready = true\n self[:ready] = true\n do_send(\"Echo 0\", name: \"echo\")\n do_send(\"Verbose\", name: \"verbose\")\n do_send(\"ReplyOK 1\", name: \"replies\")\n do_send(\"Join 255\", name: \"join\")\n end\nend\n"}},{"html_id":"send_custom(data:String)-instance-method","name":"send_custom","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/philips/dynet_text.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L165"},"def":{"name":"send_custom","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"do_send(data)"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L212"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 0_u32\nlight_level(area_id, level, area_join, fade_time, area_channel.to_u16)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L202"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\ntrigger(area_id, scene.to_u16, area_join, fade_time)\n"}},{"html_id":"stop_fading(area:UInt16,join:UInt8=255_u8,channel:UInt16=0_u16)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L188"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"StopFade #{channel} #{area} #{join}\", name: \"stopfade#{area}_#{join}_#{channel}\")"}},{"html_id":"trigger(area:UInt16,scene:UInt16,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"trigger","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L160"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"do_send(\"Preset #{scene} #{area} #{fade} #{join}\", name: \"preset#{area}_#{join}\")"}}],"types":[{"html_id":"drivers/Philips/DyNetText/Area","path":"Philips/DyNetText/Area.html","kind":"alias","full_name":"Philips::DyNetText::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynet_text.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/DyNetText","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText"}}]}]},{"html_id":"drivers/Place","path":"Place.html","kind":"module","full_name":"Place","name":"Place","abstract":false,"locations":[{"filename":"src/place/area_config.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L4"},{"filename":"src/place/meet/help.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L3"},{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Place/AreaConfig","path":"Place/AreaConfig.html","kind":"class","full_name":"Place::AreaConfig","name":"AreaConfig","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(id:String,name,coordinates,building_id=nil,area_type:String=\"Feature\",feature_type:String=\"section\",capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"args_string":"(id : String, name, coordinates, building_id = nil, area_type : String = \"Feature\", feature_type : String = \"section\", capacity = nil)","args_html":"(id : String, name, coordinates, building_id = nil, area_type : String = "Feature", feature_type : String = "section", capacity = nil)","location":{"filename":"src/place/area_config.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, coordinates, building_id, area_type, feature_type, capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L33"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L33"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}},{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L46"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"self.properties[\"building_id\"]?.as?(String)"}},{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L50"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"(self.properties[\"capacity\"]?.as?(Int64 | Float64)).try(&.to_i)"}},{"html_id":"coordinates(map_width:Float64,map_height:Float64)-instance-method","name":"coordinates","abstract":false,"args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"args_string":"(map_width : Float64, map_height : Float64)","args_html":"(map_width : Float64, map_height : Float64)","location":{"filename":"src/place/area_config.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L62"},"def":{"name":"coordinates","args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"visibility":"Public","body":"@adjusted_coords = self.geometry.coordinates.map do |__arg1|\n x = __arg1[0]\n y = __arg1[1]\n {x * map_width, y * map_height}\nend"}},{"html_id":"coordinates-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L54"},"def":{"name":"coordinates","visibility":"Public","body":"if coords = @adjusted_coords\n coords\nelse\n self.geometry.coordinates\nend"}},{"html_id":"feature_type:String-instance-method","name":"feature_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L34"},"def":{"name":"feature_type","return_type":"String","visibility":"Public","body":"@feature_type"}},{"html_id":"feature_type=(feature_type:String)-instance-method","name":"feature_type=","abstract":false,"args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"args_string":"(feature_type : String)","args_html":"(feature_type : String)","location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L34"},"def":{"name":"feature_type=","args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"visibility":"Public","body":"@feature_type = feature_type"}},{"html_id":"geometry:Geometry-instance-method","name":"geometry","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L36"},"def":{"name":"geometry","return_type":"Geometry","visibility":"Public","body":"@geometry"}},{"html_id":"geometry=(geometry:Geometry)-instance-method","name":"geometry=","abstract":false,"args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"args_string":"(geometry : Geometry)","args_html":"(geometry : Geometry)","location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L36"},"def":{"name":"geometry=","args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"visibility":"Public","body":"@geometry = geometry"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L30"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"self.properties[\"name\"].as(String)"}},{"html_id":"polygon:Polygon-instance-method","name":"polygon","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L66"},"def":{"name":"polygon","return_type":"Polygon","visibility":"Public","body":"@polygon || (@polygon = Polygon.new(coordinates.map do |coords|\n Point.new(*coords)\nend))"}},{"html_id":"properties:Hash(String,JSON::Any::Type)-instance-method","name":"properties","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L37"},"def":{"name":"properties","return_type":"Hash(String, JSON::Any::Type)","visibility":"Public","body":"@properties"}},{"html_id":"properties=(properties:Hash(String,JSON::Any::Type))-instance-method","name":"properties=","abstract":false,"args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(properties : Hash(String, JSON::Any::Type))","args_html":"(properties : Hash(String, JSON::Any::Type))","location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L37"},"def":{"name":"properties=","args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"visibility":"Public","body":"@properties = properties"}}]},{"html_id":"drivers/Place/AreaManagement","path":"Place/AreaManagement.html","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","doc":"PlaceOS client config","summary":"

PlaceOS client config

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L81"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L151"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"is_inside?(x:Float64,y:Float64,area_id:String):Bool-instance-method","name":"is_inside?","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(x : Float64, y : Float64, area_id : String) : Bool","args_html":"(x : Float64, y : Float64, area_id : String) : Bool","location":{"filename":"src/place/area_management.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L565"},"def":{"name":"is_inside?","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"area = @areas[area_id]\narea.polygon.contains(x, y)\n"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L78"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"@level_details"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L97"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nspawn(same_thread: true) do\n update_scheduler\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L104"},"def":{"name":"on_unload","visibility":"Public","body":"@rate_limit.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L108"},"def":{"name":"on_update","visibility":"Public","body":"@include_sensors = (setting?(Bool, :include_sensors)) || false\n@desk_id_mappings = (setting?(Array(String), :desk_id_mappings)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@location_service = (setting?(String, :location_service)).presence || \"LocationServices\"\n@duplication_factor = (setting?(Float64, :duplication_factor)) || 0.8\n@sensor_discovery = {} of String => SensorMeta\n@rounding_precision = (setting?(UInt32, :rounding_precision)) || 2_u32\nif building_areas = setting?(Hash(String, Array(AreaSetting)), :areas)\n @level_areas.clear\n building_areas.each do |zone_id, areas|\n @level_areas[zone_id] = areas.map do |area|\n config = AreaConfig.new(area[:id], area[:name], area[:coordinates], area[:building])\n @areas[config.id] = config\n config\n end\n end\nend\nschedule.clear\nschedule.every(@poll_rate) do\n synchronize_all_levels\nend\nif @include_sensors\n schedule.in(@poll_rate * 3) do\n schedule.every(2.hours + (rand(300)).seconds, immediate: true) do\n write_sensor_discovery\n end\n end\nend\nunits = (setting?(Hash(String, String), :units)) || ({} of String => String)\n@units = units.transform_keys do |key|\n SensorType.parse(key)\nend\n"}},{"html_id":"request_level_locations(level_id:String,sensor_data:Hash(String,Array(SensorDetail))|Nil=nil):Nil-instance-method","name":"request_level_locations","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","args_html":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","location":{"filename":"src/place/area_management.cr","line_number":546,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L546"},"def":{"name":"request_level_locations","args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@update_lock.synchronize do\n zone = Zone.from_json((staff_api.zone(level_id)).get.to_json)\n if !(zone.tags.includes?(\"level\"))\n logger.warn do\n \"attempted to update location for #{zone.name} (#{level_id}) which is not tagged as a level\"\n end\n return\n end\n metadata = Metadata.from_json((staff_api.metadata(level_id)).get.to_json)\n update_level_details(@level_details, zone, metadata)\n update_level_locations(@level_counts, level_id, @level_details[level_id], sensor_data)\n update_overview\nend"}},{"html_id":"request_locations(sensor_data:Hash(String,Array(SensorDetail))|Nil=nil)-instance-method","name":"request_locations","abstract":false,"args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","args_html":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L534"},"def":{"name":"request_locations","args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"visibility":"Public","body":"@update_lock.synchronize do\n level_counts = {} of String => RawLevelDetails\n @level_details.each do |level_id, details|\n update_level_locations(level_counts, level_id, details, sensor_data)\n end\n @level_counts = level_counts\n update_overview\nend"}},{"html_id":"request_sensor_data(level_id:String|Nil=nil):Hash(String,Array(SensorDetail))-instance-method","name":"request_sensor_data","doc":"Queries all the sensors in a building and exposes the data","summary":"

Queries all the sensors in a building and exposes the data

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","args_html":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","location":{"filename":"src/place/area_management.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L193"},"def":{"name":"request_sensor_data","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"return_type":"Hash(String, Array(SensorDetail))","visibility":"Public","body":"sensors = if level_id\n location_service.sensors(zone_id: level_id).get.as_a\nelse\n location_service.sensors.get.as_a\nend\nlevels = Hash(String, Array(SensorDetail)).new do |h, k|\n h[k] = [] of SensorDetail\nend\nif sensors.empty?\n return levels\nend\ndetails = Array(SensorDetail).from_json(sensors.to_json)\nbuilding_id_local = building_id\nlocs = sensor_locations(level_id)\ndetails.each do |sensor|\n id = sensor.id ? \"#{sensor.mac}-#{sensor.id}\" : sensor.mac\n @sensor_discovery[id] = SensorMeta.new(sensor.name, sensor.type, sensor.level, sensor.x, sensor.y)\n sensor.module_id = sensor.binding = sensor.loc = nil\n if location = locs[id]?\n sensor.x = location.x\n sensor.y = location.y\n sensor.level = location.level\n sensor.building = building_id_local\n end\n if sensor.x && (level_id ? sensor.level == level_id : sensor.level)\n if ((curr_unit = sensor.unit) && (desired_unit = @units[sensor.type]?)) && (curr_unit != desired_unit)\n begin\n sensor.value = ((Units::Measurement.new(sensor.value, curr_unit)).convert_to(desired_unit)).to_f\n sensor.unit = desired_unit\n rescue error\n logger.warn(exception: error) do\n \"failed to convert #{sensor.value} #{curr_unit} => #{desired_unit}\"\n end\n end\n end\n levels[sensor.level] << sensor\n end\nend\nlevels.each do |level, the_sensors|\n self[\"#{level}:sensors\"] = {value: the_sensors, ts_hint: \"complex\", ts_map: {x: \"xloc\", y: \"yloc\"}, ts_tag_keys: {\"s2_cell_id\"}, ts_tags: {pos_building: building_id_local, pos_level: level}}\nend\nlevels\n"}},{"html_id":"sensor_locations(level_id:String|Nil=nil)-instance-method","name":"sensor_locations","doc":"returns the sensor location data that has been configured","summary":"

returns the sensor location data that has been configured

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil)","args_html":"(level_id : String | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L184"},"def":{"name":"sensor_locations","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if level_id\n @level_sensors[level_id]? || ({} of String => SensorMeta)\nelse\n @level_sensors.values.reduce({} of String => SensorMeta) do |acc, i|\n acc.merge!(i)\n end\nend"}},{"html_id":"synchronize_all_levels-instance-method","name":"synchronize_all_levels","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L635"},"def":{"name":"synchronize_all_levels","visibility":"Public","body":"@schedule_lock.synchronize do\n @update_all = true\nend"}},{"html_id":"update_available(level_ids:Array(String))-instance-method","name":"update_available","abstract":false,"args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"args_string":"(level_ids : Array(String))","args_html":"(level_ids : Array(String))","location":{"filename":"src/place/area_management.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L631"},"def":{"name":"update_available","args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@schedule_lock.synchronize do\n @update_levels.concat(level_ids)\nend"}},{"html_id":"write_sensor_discovery-instance-method","name":"write_sensor_discovery","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L179"},"def":{"name":"write_sensor_discovery","visibility":"Public","body":"staff_api.write_metadata(building_id, \"sensor-discovered\", @sensor_discovery)"}}],"types":[{"html_id":"drivers/Place/AreaManagement/AreaSetting","path":"Place/AreaManagement/AreaSetting.html","kind":"alias","full_name":"Place::AreaManagement::AreaSetting","name":"AreaSetting","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: String, name: String, building: String | Nil, coordinates: Array(Tuple(Float64, Float64)))","aliased_html":"{id: String, name: String, building: String?, coordinates: Array({Float64, Float64})}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/ChildMetadata","path":"Place/AreaManagement/ChildMetadata.html","kind":"alias","full_name":"Place::AreaManagement::ChildMetadata","name":"ChildMetadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L329"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(NamedTuple(zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)))","aliased_html":"Array({zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)})","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/LevelCapacity","path":"Place/AreaManagement/LevelCapacity.html","kind":"alias","full_name":"Place::AreaManagement::LevelCapacity","name":"LevelCapacity","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String))","aliased_html":"{total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Metadata","path":"Place/AreaManagement/Metadata.html","kind":"alias","full_name":"Place::AreaManagement::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L328"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, PlaceOS::Client::API::Models::Metadata)","aliased_html":"Hash(String, PlaceOS::Client::API::Models::Metadata)","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/RawLevelDetails","path":"Place/AreaManagement/RawLevelDetails.html","kind":"alias","full_name":"Place::AreaManagement::RawLevelDetails","name":"RawLevelDetails","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L61"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)), sensors: Hash(String, Float64))","aliased_html":"{wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: {total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}, sensors: Hash(String, Float64)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorDetail","path":"Place/AreaManagement/SensorDetail.html","kind":"alias","full_name":"Place::AreaManagement::SensorDetail","name":"SensorDetail","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L163"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::Detail","aliased_html":"PlaceOS::Driver::Interface::Sensor::Detail","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorMeta","path":"Place/AreaManagement/SensorMeta.html","kind":"struct","full_name":"Place::AreaManagement::SensorMeta","name":"SensorMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"},"constructors":[{"html_id":"new(name:Nil|String,type:PlaceOS::Driver::Interface::Sensor::SensorType|Nil,level:Nil|String,x:Float64|Nil,y:Float64|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"args_string":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","args_html":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L169"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, type, level, x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_management.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level:String|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L174"},"def":{"name":"level","return_type":"String | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:String|Nil)-instance-method","name":"level=","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"args_string":"(level : String | Nil)","args_html":"(level : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L174"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L173"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L173"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:SensorType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L172"},"def":{"name":"type","return_type":"SensorType | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:SensorType|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"args_string":"(type : SensorType | Nil)","args_html":"(type : SensorType | Nil)","location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L172"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"x:Float64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L175"},"def":{"name":"x","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64|Nil)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"args_string":"(x : Float64 | Nil)","args_html":"(x : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L175"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L176"},"def":{"name":"y","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"args_string":"(y : Float64 | Nil)","args_html":"(y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L176"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Place/AreaManagement/SensorType","path":"Place/AreaManagement/SensorType.html","kind":"alias","full_name":"Place::AreaManagement::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Zone","path":"Place/AreaManagement/Zone.html","kind":"alias","full_name":"Place::AreaManagement::Zone","name":"Zone","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Client::API::Models::Zone","aliased_html":"PlaceOS::Client::API::Models::Zone","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}}]},{"html_id":"drivers/Place/AutoDeskCheckin","path":"Place/AutoDeskCheckin.html","kind":"class","full_name":"Place::AutoDeskCheckin","name":"AutoDeskCheckin","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_check_in-instance-method","name":"fetch_and_check_in","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L33"},"def":{"name":"fetch_and_check_in","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nbooking_ids = (staff_api.query_bookings(@booking_category, period_start, period_end, @zones, checked_in: false)).get.as_a.map do |booking|\n booking[\"id\"].as_i64\nend\nsuccess = 0\nfailed = [] of Int64\nbooking_ids.each do |id|\n begin\n (staff_api.booking_check_in(id, true, \"auto-checkin\")).get\n success = success + 1\n rescue error\n failed << id\n logger.debug(exception: error) do\n \"failed to check-in booking #{id}\"\n end\n end\nend\n\"checked-in #{success} bookings, failed #{failed.size}: #{failed}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"@zones = setting(Array(String), :check_in_zones)\n@time_period = (setting(Int32, :hours_before_booking_start)).hours\n@booking_category = setting(String, :booking_category)\nschedule.clear\nschedule.every(5.minutes) do\n fetch_and_check_in\nend\n"}}]},{"html_id":"drivers/Place/Booking","path":"Place/Booking.html","kind":"class","full_name":"Place::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L7"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L7"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"approved:Bool|Nil-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L31"},"def":{"name":"approved","return_type":"Bool | ::Nil","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool|Nil)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"args_string":"(approved : Bool | Nil)","args_html":"(approved : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L31"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L36"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L36"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L35"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L35"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L19"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L16"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L12"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L12"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L11"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L11"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L10"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L10"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"changed-instance-method","name":"changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L52"},"def":{"name":"changed","visibility":"Public","body":"Time.unix(last_changed.not_nil!)"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L41"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"if (value = @checked_in).nil?\n @checked_in = (false)\nelse\n value\nend"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L41"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L29"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L43"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L43"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"extension_data:Hash(String,JSON::Any)-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L45"},"def":{"name":"extension_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @extension_data).nil?\n @extension_data = ({} of String => JSON::Any)\nelse\n value\nend"}},{"html_id":"extension_data=(extension_data:Hash(String,JSON::Any))-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"args_string":"(extension_data : Hash(String, JSON::Any))","args_html":"(extension_data : Hash(String, JSON::Any))","location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L45"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L9"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L47"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L33"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L33"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L32"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L32"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L30"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L30"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L17"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L17"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L13"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L13"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L42"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L42"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L24"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L24"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L23"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L23"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L25"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L25"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L27"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L27"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/BookingApprovalWorkflows","path":"Place/BookingApprovalWorkflows.html","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L433"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg9|\n _event = __arg9[0]\n entered = __arg9[1]\n expired > entered\nend\nexpired = 1.hour.ago.to_unix\n@group_email_notifications.reject! do |_, entered|\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n building_name = details[:name]\n approval_type = details[:approval]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, approval_type, building_name, building_key, support_email, attachments, months_from_now)\n end\nend\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L261"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @approval_lookup[zone_id]?\n if details\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details[:name], details[:approval], details[:support_email], attachments}\n end\nend\nnil\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":548,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L548"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (mailer.get_user_manager(staff_email)).get\n {(manager[\"email\"]? || manager[\"username\"]).as_s, manager[\"name\"].as_s}\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n {nil, nil}\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L55"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@remind_after = ((setting?(Int32, :remind_after)) || 24).hours\n@escalate_after = ((setting?(Int32, :escalate_after)) || 48).hours\n@notify_managers = (setting?(Bool, :notify_managers)) || false\n@approval_lookup = setting(Hash(String, SiteDetails), :approval_type)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\nschedule.clear\nschedule.every(5.minutes) do\n check_bookings\nend\nreminders = (setting?(Reminders, :reminders)) || {crons: [] of String, zones: {} of String => Array(String)}\nreminders[:crons].each do |cron|\n reminders[:zones].each do |timezone, zones|\n begin\n schedule.cron(cron, Time::Location.load(timezone)) do\n send_checkin_reminder(zones)\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to schedule reminder: #{zones} => #{timezone} : #{cron}\"\n end\n end\n end\nend\n"}},{"html_id":"send_checkin_reminder(zones:Array(String)|Nil=nil,timezone:String|Nil=nil)-instance-method","name":"send_checkin_reminder","abstract":false,"args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","args_html":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L604"},"def":{"name":"send_checkin_reminder","args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_now = Time.utc.in(timezone ? Time::Location.load(timezone) : @time_zone)\ntime_now = time_now.at_beginning_of_day + 12.hours\ntime_now = time_now.to_local_in(Time::Location::UTC)\nquery_start = time_now.to_unix\nquery_end = (time_now + 30.minutes).to_unix\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n if zones && (!(zones.includes?(building_zone)))\n next\n end\n building_name = details[:name]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_checkin_reminder(building_zone, building_name, building_key, support_email, attachments, query_start, query_end)\n end\nend\n"}},{"html_id":"users_with_invalid_desk_bookings(building_zone:String,ending:Int64)-instance-method","name":"users_with_invalid_desk_bookings","abstract":false,"args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"args_string":"(building_zone : String, ending : Int64)","args_html":"(building_zone : String, ending : Int64)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":557,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L557"},"def":{"name":"users_with_invalid_desk_bookings","args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"visibility":"Public","body":"meta_raw = (staff_api.metadata_children(building_zone, \"desks\")).get.as_a\nmetadata = {} of String => Hash(String, Array(String))\nmeta_raw.each do |zone|\n desks = {} of String => Array(String)\n zone_id = zone[\"zone\"][\"id\"].as_s\n zone[\"metadata\"][\"desks\"][\"details\"].as_a.each do |desk|\n desks[desk[\"id\"].as_s] = desk[\"groups\"].as_a.map() do |__arg12|\n __arg12.as_s.downcase\n end\n end\n metadata[zone_id] = desks\nend\nusers = [] of Tuple(String, String, String, Int64, Int64, String)\nbookings = staff_api.query_bookings(type: \"desk\", period_end: ending, zones: [building_zone], rejected: false).get.as_a\nbookings.each do |booking|\n user_email = booking[\"user_email\"].as_s\n level_id = (booking[\"zones\"].as_a.map(&.as_s).reject(building_zone)).first\n desk_id = booking[\"asset_id\"].as_s\n booking_id = booking[\"id\"].as_i64\n starting = booking[\"booking_start\"].as_i64\n if desks = metadata[level_id]?\n if groups = desks[desk_id]?\n if groups.empty?\n next\n end\n users_groups = (mailer.get_groups(user_email)).get.as_a.map do |g|\n g[\"name\"].as_s.downcase\n end\n overlap = users_groups & groups\n if overlap.empty?\n date_friendly = (Time.unix(starting)).to_s(@date_format)\n users << {user_email, desk_id, level_id, booking_id, starting, date_friendly}\n end\n end\n end\nend\nlogger.debug do\n \"Email,Desk ID,Zone,Booking id,Starting,Start date\\n#{users.map do |u|\n \"#{u[0]},#{u[1]},#{u[2]},#{u[3]},#{u[4]},#{u[5]}\"\n end.join(\"\\n\")}\"\nend\nnil\n"}}],"types":[{"html_id":"drivers/Place/BookingApprovalWorkflows/Reminders","path":"Place/BookingApprovalWorkflows/Reminders.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::Reminders","name":"Reminders","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(crons: Array(String), zones: Hash(String, Array(String)))","aliased_html":"{crons: Array(String), zones: Hash(String, Array(String))}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}},{"html_id":"drivers/Place/BookingApprovalWorkflows/SiteDetails","path":"Place/BookingApprovalWorkflows/SiteDetails.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::SiteDetails","name":"SiteDetails","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(approval: String, name: String, support_email: String, attachments: Hash(String, String) | Nil)","aliased_html":"{approval: String, name: String, support_email: String, attachments: Hash(String, String)?}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}}]},{"html_id":"drivers/Place/BookingApprover","path":"Place/BookingApprover.html","kind":"class","full_name":"Place::BookingApprover","name":"BookingApprover","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approver.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve_missed-instance-method","name":"approve_missed","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L78"},"def":{"name":"approve_missed","visibility":"Public","body":"booking_type = @approve_booking_types[0]? || \"desk\"\nbookings = Array(Booking).from_json(staff_api.query_bookings(type: booking_type, zones: [get_building_id], approved: false, period_end: 8.weeks.from_now.to_unix).get.to_json)\nbookings.each do |booking|\n booking.action = \"create\"\n approve_booking(booking)\nend\n\"found #{bookings.size} missed\"\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L37"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n approve_booking(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@approve_zones = (setting?(Array(String), :approve_zones)) || ([] of String)\n@approve_booking_types = (setting?(Array(String), :approve_booking_types)) || ([] of String)\nschedule.clear\nschedule.every(10.minutes) do\n approve_missed\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L96"},"def":{"name":"status","visibility":"Public","body":"{bookings_approved: @bookings_approved}"}}]},{"html_id":"drivers/Place/BookingCheckInHelper","path":"Place/BookingCheckInHelper.html","kind":"class","full_name":"Place::BookingCheckInHelper","name":"BookingCheckInHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_check_in_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"current_meeting:PlaceCalendar::Event|Nil-instance-method","name":"current_meeting","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L86"},"def":{"name":"current_meeting","return_type":"PlaceCalendar::Event | ::Nil","visibility":"Public","body":"@current_meeting"}},{"html_id":"ignore_long_meeting?:Bool-instance-method","name":"ignore_long_meeting?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L135"},"def":{"name":"ignore_long_meeting?","return_type":"Bool","visibility":"Public","body":"meeting = current_meeting\nif meeting\nelse\n return false\nend\nevent_end = meeting.event_end\nif event_end\nelse\n return true\nend\nignore_length = @ignore_longer_than\nif ignore_length\nelse\n return false\nend\nmeeting_length = event_end - meeting.event_start\nmeeting_length >= ignore_length\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L13"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"meeting_pending?:Bool-instance-method","name":"meeting_pending?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L84"},"def":{"name":"meeting_pending?","return_type":"Bool","visibility":"Public","body":"@meeting_pending"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L69"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L99"},"def":{"name":"on_update","visibility":"Public","body":"@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n@decline_message = setting?(String, :decline_message)\n@ignore_longer_than = (setting?(Int32, :ignore_longer_than)).try(&.minutes)\n@prompt_after = ((setting?(Int32, :prompt_after)) || 10).minutes\n@present_from = ((setting?(Int32, :present_from)) || 5).minutes\n@auto_cancel = (setting?(Bool, :auto_cancel)) || false\n@check_in_url = (setting?(String, :check_in_url)) || \"\"\n@no_show_url = (setting?(String, :no_show_url)) || \"\"\nif @check_in_url.presence\n @domain = (URI.parse(@check_in_url)).host.not_nil!\nend\nsubscriptions.clear\nbookings.subscribe(:current_booking) do |_sub, pending|\n event = ::Union(PlaceCalendar::Event, ::Nil).from_json(pending)\n update_current(event)\nend\nbookings.subscribe(:current_pending) do |_sub, pending|\n update_pending(pending == \"true\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nmonitor(\"#{config.control_system.not_nil!.id}/guest/bookings/prompted\") do |_sub, response|\n checkin_or_end_meeting(**NamedTuple(id: String, check_in: Bool).from_json(response))\nend\ntimezone = (setting?(String, :time_zone)) || config.control_system.not_nil!.timezone.presence\nif timezone\n @timezone = Time::Location.load(timezone)\nend\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L85"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}}]},{"html_id":"drivers/Place/BookingNotifier","path":"Place/BookingNotifier.html","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"calendar-instance-method","name":"calendar","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L60"},"def":{"name":"calendar","visibility":"Public","body":"system[:Calendar]"}},{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_notifier.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L301"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg2|\n _event = __arg2[0]\n entered = __arg2[1]\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @notify_lookup.each do |building_zone, details|\n building_name = details.name\n email = details.email\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, building_name, building_key, email, details.notify_booking_owner, details.notify_manager, attachments, months_from_now)\n end\nend\n"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L444"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_notifier.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L249"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @notify_lookup[zone_id]?\n if details\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details, attachments}\n end\nend\n{nil, nil, nil}\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_notifier.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L425"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (calendar.get_user_manager(staff_email)).get\n (manager[\"email\"]? || manager[\"username\"]).as_s\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n nil\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L56"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L64"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L106"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\n@notify_lookup = setting(Hash(String, SiteDetails), :notify)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\n@poll_bookings = setting(Bool, :poll_bookings)\n@poll_every_minutes = setting(Int32, :poll_every_minutes)\nschedule.clear\nif @poll_bookings\n schedule.every(@poll_every_minutes.minutes) do\n check_bookings\n end\nend\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L433"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/BookingNotifier/SiteDetails","path":"Place/BookingNotifier/SiteDetails.html","kind":"class","full_name":"Place::BookingNotifier::SiteDetails","name":"SiteDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/BookingNotifier","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_notifier.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Hash(String,String)-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L93"},"def":{"name":"attachments","return_type":"Hash(String, String)","visibility":"Public","body":"if (value = @attachments).nil?\n @attachments = ({} of String => String)\nelse\n value\nend"}},{"html_id":"email:Array(String)-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L92"},"def":{"name":"email","return_type":"Array(String)","visibility":"Public","body":"if (value = @email).nil?\n @email = ([] of String)\nelse\n value\nend"}},{"html_id":"include_network_credentials:Bool|Nil-instance-method","name":"include_network_credentials","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L96"},"def":{"name":"include_network_credentials","return_type":"Bool | ::Nil","visibility":"Public","body":"@include_network_credentials"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L91"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"network_group_ids:Array(String)-instance-method","name":"network_group_ids","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L103"},"def":{"name":"network_group_ids","return_type":"Array(String)","visibility":"Public","body":"if (value = @network_group_ids).nil?\n @network_group_ids = ([] of String)\nelse\n value\nend"}},{"html_id":"network_password_exclude:String|Nil-instance-method","name":"network_password_exclude","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L98"},"def":{"name":"network_password_exclude","return_type":"String | ::Nil","visibility":"Public","body":"@network_password_exclude"}},{"html_id":"network_password_length:Int32|Nil-instance-method","name":"network_password_length","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L97"},"def":{"name":"network_password_length","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_length"}},{"html_id":"network_password_minimum_lowercase:Int32|Nil-instance-method","name":"network_password_minimum_lowercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L99"},"def":{"name":"network_password_minimum_lowercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_lowercase"}},{"html_id":"network_password_minimum_numbers:Int32|Nil-instance-method","name":"network_password_minimum_numbers","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L101"},"def":{"name":"network_password_minimum_numbers","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_numbers"}},{"html_id":"network_password_minimum_symbols:Int32|Nil-instance-method","name":"network_password_minimum_symbols","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L102"},"def":{"name":"network_password_minimum_symbols","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_symbols"}},{"html_id":"network_password_minimum_uppercase:Int32|Nil-instance-method","name":"network_password_minimum_uppercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L100"},"def":{"name":"network_password_minimum_uppercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_uppercase"}},{"html_id":"notify_booking_owner:Bool|Nil-instance-method","name":"notify_booking_owner","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L95"},"def":{"name":"notify_booking_owner","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_booking_owner"}},{"html_id":"notify_manager:Bool|Nil-instance-method","name":"notify_manager","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L94"},"def":{"name":"notify_manager","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_manager"}}]}]},{"html_id":"drivers/Place/Bookings","path":"Place/Bookings.html","kind":"class","full_name":"Place::Bookings","name":"Bookings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUBSCRIPTION_LENGTH","name":"SUBSCRIPTION_LENGTH","value":"3.hours","doc":"the API reports that 6 days is the max:\nSubscription expiration can only be 10070 minutes in the future.","summary":"

the API reports that 6 days is the max: Subscription expiration can only be 10070 minutes in the future.

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"book_now(period_in_seconds:Int64,title:String|Nil=nil,owner:String|Nil=nil)-instance-method","name":"book_now","abstract":false,"args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"args_string":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","args_html":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L211"},"def":{"name":"book_now","args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"visibility":"Public","body":"title || (title = @default_title)\nstarting = Time.utc.to_unix\nending = starting + period_in_seconds\nif @next_pending || (status?(Bool, \"in_use\"))\n raise(\"the room is currently in use\")\nend\nif next_booking = upcoming\n if next_booking.event_start.to_unix < ending\n raise(\"unable to book due to clash\")\n end\nend\nlogger.debug do\n \"booking event #{title}, from #{starting}, to #{ending}, in #{@time_zone.name}, on #{@calendar_id}\"\nend\nroom_email = system.email.not_nil!\nif @application_permissions\n host_calendar = @calendar_id\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, true)]\n if owner && (!owner.empty?)\n attendees << (PlaceCalendar::Event::Attendee.new(owner, owner))\n end\nelse\n host_calendar = owner.presence || @calendar_id\n room_is_organizer = host_calendar == room_email\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, room_is_organizer)]\nend\nevent = calendar.create_event(title: title, event_start: starting, event_end: ending, description: \"\", attendees: attendees, location: status?(String, \"room_name\"), timezone: @time_zone.name, calendar_id: host_calendar)\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(2.seconds) do\n poll_events\n end\nend\nevent\n"}},{"html_id":"calendar_id:String-instance-method","name":"calendar_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L58"},"def":{"name":"calendar_id","return_type":"String","visibility":"Public","body":"@calendar_id"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/bookings.cr","line_number":474,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L474"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nsys_email = @calendar_id.downcase\nif (sys_email == mac_address.downcase) && (host = current.try(&.host))\n {location: \"meeting\", assigned_to: host, mac_address: sys_email}\nend\n"}},{"html_id":"checkin-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L184"},"def":{"name":"checkin","visibility":"Public","body":"if booking = pending\n start_meeting(booking.event_start.to_unix)\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L486"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\n[] of Nil\n"}},{"html_id":"end_meeting(meeting_start_time:Int64,notify:Bool=false,comment:String|Nil=nil):Nil-instance-method","name":"end_meeting","doc":"End either the current meeting early, or the pending meeting","summary":"

End either the current meeting early, or the pending meeting

","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","args_html":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","location":{"filename":"src/place/bookings.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L191"},"def":{"name":"end_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"cmeeting = current\nresult = if cmeeting && (cmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"deleting event #{cmeeting.title}, from #{@calendar_id}\"\n end\n calendar.delete_event(@calendar_id, cmeeting.id)\nelse\n nmeeting = upcoming\n if nmeeting && (nmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"declining event #{nmeeting.title}, from #{@calendar_id}\"\n end\n calendar.decline_event(@calendar_id, nmeeting.id, notify: notify, comment: comment)\n else\n raise(\"only the current or pending meeting can be cancelled\")\n end\nend\nresult.get\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(1.seconds) do\n poll_events\n end\nend\n"}},{"html_id":"is_stale?(timestamp:Int64|Nil):Bool-instance-method","name":"is_stale?","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"args_string":"(timestamp : Int64 | Nil) : Bool","args_html":"(timestamp : Int64 | Nil) : Bool","location":{"filename":"src/place/bookings.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L567"},"def":{"name":"is_stale?","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"if timestamp.nil?\n return self[:sensor_stale] = false\nend\nsensor_time = Time.unix(timestamp)\nstale_time = @sensor_stale_minutes.ago\nif sensor_time > stale_time\n self[:sensor_stale] = false\nelse\n @perform_sensor_search = true\n self[:sensor_stale] = true\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":445,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L445"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nemail = email.to_s.downcase\nusername = username.to_s.downcase\nmatching_events = [] of PlaceCalendar::Event\nif event = current\n emails = event.attendees.map() do |__arg1|\n __arg1.email.downcase\n end\n if host = event.host\n emails << host.downcase\n end\n if (emails.includes?(email)) || (emails.includes?(username))\n logger.debug do\n \"found user {#{email}, #{username}} in list of attendees\"\n end\n matching_events << event\n else\n if (!username.empty?) && emails.find(&.starts_with?(username))\n logger.debug do\n \"found email starting with username '#{username}' in list of attendees\"\n end\n matching_events << event\n end\n end\nend\nto_location_format(matching_events)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/bookings.cr","line_number":470,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L470"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(locate_user(email, username)).map(&.[](:mac))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L84"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@calendar_id = ((setting?(String, :calendar_id)).presence || system.email.not_nil!).downcase\n@perform_sensor_search = true\nschedule.in((Random.rand(30)).seconds + (Random.rand(30000)).milliseconds) do\n poll_events\nend\ncache_polling_period = ((setting?(UInt32, :cache_polling_period)) || 2_u32).minutes.total_milliseconds.to_i\ncache_polling_period = cache_polling_period + (Random.rand(5000))\ncache_random_period = cache_polling_period // 3\nschedule.every(cache_polling_period.milliseconds) do\n schedule.in((Random.rand(cache_random_period)).milliseconds) do\n poll_events\n end\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@default_title = (setting?(String, :book_now_default_title)).presence || \"Ad Hoc booking\"\nbook_now = setting?(Bool, :disable_book_now)\nnot_bookable = (setting?(Bool, :not_bookable)) || false\nself[:bookable] = bookable = not_bookable ? false : system.bookable\n@disable_book_now = book_now.nil? ? !bookable : !(!book_now)\n@disable_end_meeting = !(!(setting?(Bool, :disable_end_meeting)))\n@disable_book_now_host = (setting?(Bool, :disable_book_now_host)) || false\npending_period = (setting?(UInt32, :pending_period)) || 5_u32\n@pending_period = pending_period.minutes\npending_before = (setting?(UInt32, :pending_before)) || 5_u32\n@pending_before = pending_before.minutes\ncache_days = (setting?(UInt32, :cache_days)) || 30_u32\n@cache_days = cache_days.days\n@change_event_sync_delay = (setting?(UInt32, :change_event_sync_delay)) || 5_u32\n@last_booking_started = (setting?(Int64, :last_booking_started)) || 0_i64\n@include_cancelled_bookings = (setting?(Bool, :include_cancelled_bookings)) || false\n@application_permissions = (setting?(Bool, :application_permissions)) || false\n@sensor_stale_minutes = ((setting?(Int32, :sensor_stale_minutes)) || 8).minutes\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nschedule.cron(\"* * * * *\") do\n schedule.in((rand(1000)).milliseconds) do\n if list = self[:bookings]?\n check_current_booking(list.as_a)\n end\n end\nend\npush_notificaitons_configure\nself[:room_name] = ((setting?(String, :room_name)).presence || config.control_system.not_nil!.display_name.presence) || config.control_system.not_nil!.name\nself[:room_capacity] = (setting?(Int32, :room_capacity)) || config.control_system.not_nil!.capacity\nself[:default_title] = @default_title\nself[:disable_book_now_host] = @disable_book_now_host\nself[:disable_book_now] = @disable_book_now\nself[:disable_end_meeting] = @disable_end_meeting\nself[:pending_period] = pending_period\nself[:pending_before] = pending_before\nself[:control_ui] = setting?(String, :control_ui)\nself[:catering_ui] = setting?(String, :catering_ui)\nself[:room_image] = setting?(String, :room_image)\nself[:hide_meeting_details] = (setting?(Bool, :hide_meeting_details)) || false\nself[:hide_meeting_title] = (setting?(Bool, :hide_meeting_title)) || false\nself[:offline_color] = setting?(String, :offline_color)\nself[:offline_image] = setting?(String, :offline_image)\nself[:custom_qr_color] = setting?(String, :custom_qr_color)\nself[:custom_qr_url] = setting?(String, :custom_qr_url)\nself[:show_qr_code] = !((setting?(Bool, :hide_qr_code)) || false)\nself[:sensor_mac] = @sensor_mac = setting?(String, :sensor_mac)\nself[:min_duration] = (setting?(Int32, :min_duration)) || 15\nself[:max_duration] = (setting?(Int32, :max_duration)) || 480\nself[:enable_end_meeting_button] = (setting?(Bool, :enable_end_meeting_button)) || false\n"}},{"html_id":"poll_events:Nil-instance-method","name":"poll_events","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L257"},"def":{"name":"poll_events","return_type":"Nil","visibility":"Public","body":"begin\n if @polling\n return\n end\n @polling = true\n if @perform_sensor_search\n check_for_sensors\n end\n now = Time.local(@time_zone)\n start_of_day = now.at_beginning_of_day.to_unix\n cache_period = start_of_day + @cache_days.to_i\n logger.debug do\n \"polling events #{@calendar_id}, from #{start_of_day}, to #{cache_period}, in #{@time_zone.name}\"\n end\n events = (calendar.list_events(@calendar_id, start_of_day, cache_period, @time_zone.name, include_cancelled: @include_cancelled_bookings)).get.as_a.sort do |a, b|\n a[\"event_start\"].as_i64 <=> b[\"event_start\"].as_i64\n end\n self[:bookings] = events\n check_current_booking(events)\n events\nensure\n @polling = false\nend"}},{"html_id":"start_meeting(meeting_start_time:Int64):Nil-instance-method","name":"start_meeting","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"args_string":"(meeting_start_time : Int64) : Nil","args_html":"(meeting_start_time : Int64) : Nil","location":{"filename":"src/place/bookings.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L176"},"def":{"name":"start_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"starting meeting #{meeting_start_time}\"\nend\n@last_booking_started = meeting_start_time\ndefine_setting(:last_booking_started, meeting_start_time)\nself[:last_booking_started] = meeting_start_time\ncheck_current_booking(self[:bookings].as_a)\n"}},{"html_id":"sub_renewed_at:Time-instance-method","name":"sub_renewed_at","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":671,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L671"},"def":{"name":"sub_renewed_at","return_type":"Time","visibility":"Public","body":"@sub_renewed_at"}}],"types":[{"html_id":"drivers/Place/Bookings/NotifyEvent","path":"Place/Bookings/NotifyEvent.html","kind":"struct","full_name":"Place::Bookings::NotifyEvent","name":"NotifyEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L600"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L601"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_secret:String-instance-method","name":"client_secret","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L607"},"def":{"name":"client_secret","return_type":"String","visibility":"Public","body":"@client_secret"}},{"html_id":"event_type:NotifyType-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":603,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L603"},"def":{"name":"event_type","return_type":"NotifyType","visibility":"Public","body":"@event_type"}},{"html_id":"expiration_time:Time-instance-method","name":"expiration_time","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":610,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L610"},"def":{"name":"expiration_time","return_type":"Time","visibility":"Public","body":"@expiration_time"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L604"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_uri:String-instance-method","name":"resource_uri","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L605"},"def":{"name":"resource_uri","return_type":"String","visibility":"Public","body":"@resource_uri"}},{"html_id":"subscription_id:String-instance-method","name":"subscription_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L606"},"def":{"name":"subscription_id","return_type":"String","visibility":"Public","body":"@subscription_id"}}]},{"html_id":"drivers/Place/Bookings/NotifyType","path":"Place/Bookings/NotifyType.html","kind":"enum","full_name":"Place::Bookings::NotifyType","name":"NotifyType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L588"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Created","name":"Created","value":"0","doc":"resource event changes","summary":"

resource event changes

"},{"id":"Updated","name":"Updated","value":"1"},{"id":"Deleted","name":"Deleted","value":"2"},{"id":"Renew","name":"Renew","value":"3","doc":"subscription lifecycle event (MS only)","summary":"

subscription lifecycle event (MS only)

"},{"id":"Missed","name":"Missed","value":"4"},{"id":"Reauthorize","name":"Reauthorize","value":"5"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"created?-instance-method","name":"created?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":590,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L590"},"def":{"name":"created?","visibility":"Public","body":"self == Created"}},{"html_id":"deleted?-instance-method","name":"deleted?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L592"},"def":{"name":"deleted?","visibility":"Public","body":"self == Deleted"}},{"html_id":"missed?-instance-method","name":"missed?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L596"},"def":{"name":"missed?","visibility":"Public","body":"self == Missed"}},{"html_id":"reauthorize?-instance-method","name":"reauthorize?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":597,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L597"},"def":{"name":"reauthorize?","visibility":"Public","body":"self == Reauthorize"}},{"html_id":"renew?-instance-method","name":"renew?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":595,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L595"},"def":{"name":"renew?","visibility":"Public","body":"self == Renew"}},{"html_id":"updated?-instance-method","name":"updated?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L591"},"def":{"name":"updated?","visibility":"Public","body":"self == Updated"}}]},{"html_id":"drivers/Place/Bookings/ServiceName","path":"Place/Bookings/ServiceName.html","kind":"enum","full_name":"Place::Bookings::ServiceName","name":"ServiceName","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L583"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Google","name":"Google","value":"0"},{"id":"Office365","name":"Office365","value":"1"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"google?-instance-method","name":"google?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L584"},"def":{"name":"google?","visibility":"Public","body":"self == Google"}},{"html_id":"office365?-instance-method","name":"office365?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L585"},"def":{"name":"office365?","visibility":"Public","body":"self == Office365"}}]}]},{"html_id":"drivers/Place/Calendar","path":"Place/Calendar.html","kind":"class","full_name":"Place::Calendar","name":"Calendar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/CalendarCommon","path":"Place/CalendarCommon.html","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon","abstract":false,"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"locations":[{"filename":"src/place/calendar_common.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"including_types":[{"html_id":"drivers/Microsoft/GraphAPI","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI"},{"html_id":"drivers/Place/Calendar","kind":"class","full_name":"Place::Calendar","name":"Calendar"},{"html_id":"drivers/Place/WorkspaceAPI","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L290"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"accepting event #{event_id} on #{calendar_id}\"\nend\nclient(&.accept_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"access_token(user_id:String|Nil=nil)-instance-method","name":"access_token","abstract":false,"args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String | Nil = nil)","args_html":"(user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L164"},"def":{"name":"access_token","args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.info do\n \"access token requested #{user_id}\"\nend\nclient(&.access_token(user_id))\n"}},{"html_id":"calendar_service_name-instance-method","name":"calendar_service_name","doc":"returns: google or office365","summary":"

returns: google or office365

","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L356"},"def":{"name":"calendar_service_name","visibility":"Public","body":"@client.not_nil!.client_id"}},{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L299"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nclient(&.create_event(user_id, event, calendar_id))\n"}},{"html_id":"create_notifier(resource:String,notification_url:String,expiration_time:Int64,client_secret:String|Nil=nil,lifecycle_notification_url:String|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"create_notifier","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"args_string":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","args_html":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L361"},"def":{"name":"create_notifier","args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(expiration_time)\nclient(&.create_notifier(resource, notification_url, expires, client_secret, lifecycle_notification_url: lifecycle_notification_url))\n"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L272"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"declining event #{event_id} on #{calendar_id}\"\nend\nclient(&.decline_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L281"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nclient(&.delete_event(user_id, event_id, calendar_id: calendar_id, notify: notify))\n"}},{"html_id":"delete_notifier(subscription:PlaceCalendar::Subscription):Nil-instance-method","name":"delete_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"args_string":"(subscription : PlaceCalendar::Subscription) : Nil","args_html":"(subscription : PlaceCalendar::Subscription) : Nil","location":{"filename":"src/place/calendar_common.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L380"},"def":{"name":"delete_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"return_type":"Nil","visibility":"Public","body":"client(&.delete_notifier(subscription))"}},{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/calendar_common.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L123"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/calendar_common.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L119"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"get_event(calendar_id:String,event_id:String,user_id:String|Nil=nil)-instance-method","name":"get_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L265"},"def":{"name":"get_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"fetching event #{event_id} on #{calendar_id}\"\nend\nuser_id = (user_id || @service_account.presence) || calendar_id\nclient(&.get_event(user_id, id: event_id, calendar_id: calendar_id))\n"}},{"html_id":"get_group(group_id:String)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L223"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_group(group_id)).to_place_group\n end\nend\n"}},{"html_id":"get_groups(user_id:String)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L170"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nclient(&.get_groups(user_id))\n"}},{"html_id":"get_members(group_id:String)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L176"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nclient(&.get_members(group_id))\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L188"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nclient(&.get_user_by_email(user_id))\n"}},{"html_id":"get_user_manager(user_id:String)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L201"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_user_manager(user_id)).to_place_calendar\n end\nend\n"}},{"html_id":"in_flight_size-instance-method","name":"in_flight_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L115"},"def":{"name":"in_flight_size","visibility":"Public","body":"@flight_size"}},{"html_id":"list_calendars(user_id:String)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L194"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nclient(&.list_calendars(user_id))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,ical_uid:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L233"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"location = time_zone ? Time::Location.load(time_zone) : Time::Location.local\nperiod_start = (Time.unix(period_start)).in(location)\nperiod_end = (Time.unix(period_end)).in(location)\nuser_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"listing events for #{calendar_id}\"\nend\n_client = @client.not_nil!\nevents = if _client.client_id == (:google)\n (_client.calendar.as(PlaceCalendar::Google)).list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid, quotaUser: calendar_id[0..39])\nelse\n _client.list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid)\nend\nif ical_uid\n events = events.select do |e|\n e.ical_uid == ical_uid\n end\nend\nevents\n"}},{"html_id":"list_groups(query:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil)","args_html":"(query : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L212"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.list_groups(query)).value.map(&.to_place_group)\n end\nend\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L182"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nclient(&.list_users(query, limit))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L40"},"def":{"name":"on_unload","visibility":"Public","body":"@in_flight.close\n@channel.close\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L49"},"def":{"name":"on_update","visibility":"Public","body":"if proxy_config = setting?(NamedTuple(host: String, port: Int32, auth: NamedTuple(username: String, password: String) | ::Nil), :proxy)\n ConnectProxy.proxy_uri = \"http://#{proxy_config[:host]}:#{proxy_config[:port]}\"\n if proxy_auth = proxy_config[:auth]\n ConnectProxy.username = proxy_auth[:username]\n ConnectProxy.password = proxy_auth[:password]\n end\nend\nConnectProxy.verify_tls = !(!(setting?(Bool, :proxy_verify_tls)))\nConnectProxy.disable_crl_checks = !(!(setting?(Bool, :proxy_disable_crl)))\n@service_account = (setting?(String, :calendar_service_account)).presence\n@rate_limit = (setting?(Int32, :rate_limit)) || 10\n@wait_time = 1.second / @rate_limit\n@mailer_from = (setting?(String, :mailer_from)).presence || @service_account\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n@in_flight.close\n@channel.close\n@client = begin\n config = setting(GoogleParams, :calendar_config)\n cli = PlaceCalendar::Client.new(**config)\n @channel = Channel(Nil).new(9)\n @in_flight = Channel(Nil).new(10)\n spawn do\n rate_limiter\n end\n cli\nrescue\n config = setting(OfficeParams, :calendar_config)\n PlaceCalendar::Client.new(**config)\nend\n"}},{"html_id":"queue_size-instance-method","name":"queue_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L111"},"def":{"name":"queue_size","visibility":"Public","body":"@queue_size"}},{"html_id":"reauthorize_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"reauthorize_notifier","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L374"},"def":{"name":"reauthorize_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = new_expiration_time ? Time.unix(new_expiration_time) : nil\nclient(&.reauthorize_notifier(subscription, expires))\n"}},{"html_id":"renew_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64):PlaceCalendar::Subscription-instance-method","name":"renew_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L367"},"def":{"name":"renew_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(new_expiration_time)\nclient(&.renew_notifier(subscription, expires))\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L128"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"sender = case from\nin String\n from\nin Array(String)\n from.first? || @mailer_from.not_nil!\nin Nil\n @mailer_from.not_nil!\nend\nlogger.debug do\n \"an email was sent from: #{sender}, to: #{to}\"\nend\nclient do |__arg0|\n __arg0.calendar.send_mail(sender, to, subject, message_plaintext, message_html, resource_attachments, attachments, cc, bcc)\nend\n"}},{"html_id":"update_event(event:PlaceCalendar::Event,user_id:String|Nil=nil,calendar_id:String|Nil=nil)-instance-method","name":"update_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"args_string":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","args_html":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L346"},"def":{"name":"update_event","args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"updating event #{event.id} on #{event.host}\"\nend\nclient(&.update_event(user_id: user_id, event: event, calendar_id: calendar_id))\n"}}],"types":[{"html_id":"drivers/Place/CalendarCommon/GoogleParams","path":"Place/CalendarCommon/GoogleParams.html","kind":"alias","full_name":"Place::CalendarCommon::GoogleParams","name":"GoogleParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String)","aliased_html":"{scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}},{"html_id":"drivers/Place/CalendarCommon/OfficeParams","path":"Place/CalendarCommon/OfficeParams.html","kind":"alias","full_name":"Place::CalendarCommon::OfficeParams","name":"OfficeParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(tenant: String, client_id: String, client_secret: String, conference_type: String | Nil)","aliased_html":"{tenant: String, client_id: String, client_secret: String, conference_type: String?}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}}]},{"html_id":"drivers/Place/CalendarDelegated","path":"Place/CalendarDelegated.html","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L211"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nprocess((client(act_as_user)).post(\"/api/staff/v1/events\", body: event.to_json, headers: act_as(act_as_user)))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L178"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nif notify\n begin\n process((client(act_as_user)).post(\"/api/staff/v1/events/#{event_id}/decline\", params: params, headers: act_as(act_as_user)))\n rescue\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\n end\nelse\n params[\"notify\"] = \"false\"\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\nend\n"}},{"html_id":"get_group(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L129"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_groups(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L82"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/groups\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_members(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L88"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}/members\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L101"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user_manager(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L114"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/manager\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_calendars(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L107"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/calendars\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L149"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing events for #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nparams[\"period_start\"] = period_start.to_s\nparams[\"period_end\"] = period_end.to_s\nif include_cancelled\n params[\"include_cancelled\"] = \"true\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/events\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_groups(query:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L121"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L94"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/people\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L53"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L57"},"def":{"name":"on_update","visibility":"Public","body":"rate_limit = (setting?(Float64, :rate_limit)) || 3.0\n@limiter = RateLimiter.new(rate: rate_limit, max_burst: rate_limit.to_i)\n@api_key = api_key = setting(String, :api_key)\ntransport.before_request do |request|\n if request.headers[\"Authorization\"]?\n else\n request.headers[\"X-API-Key\"] = api_key\n end\nend\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n"}}],"types":[{"html_id":"drivers/Place/CalendarDelegated/User","path":"Place/CalendarDelegated/User.html","kind":"struct","full_name":"Place::CalendarDelegated::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":255,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L255"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/CalendarDelegated","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/calendar_delegated.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L256"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L259"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L260"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L258"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Chat","path":"Place/Chat.html","kind":"module","full_name":"Place::Chat","name":"Chat","abstract":false,"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L4"},{"filename":"src/place/chat/health_rooms_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Chat/ConferenceDetails","path":"Place/Chat/ConferenceDetails.html","kind":"struct","full_name":"Place::Chat::ConferenceDetails","name":"ConferenceDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(place_id:String,space_id:String,host_pin:String,guest_pin:String)-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"args_string":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","args_html":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L16"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, space_id, host_pin, guest_pin)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L14"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"guest_pin:String-instance-method","name":"guest_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L11"},"def":{"name":"guest_pin","return_type":"String","visibility":"Public","body":"@guest_pin"}},{"html_id":"host_pin:String-instance-method","name":"host_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L10"},"def":{"name":"host_pin","return_type":"String","visibility":"Public","body":"@host_pin"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L8"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L9"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}}]},{"html_id":"drivers/Place/Chat/HealthRooms","path":"Place/Chat/HealthRooms.html","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EXAMPLE_SMS_TEMPLATE","name":"EXAMPLE_SMS_TEMPLATE","value":"\"patient %{patient_name} is waiting in %{room_name} for an appointment at %{appointment_time}\""}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"instance_methods":[{"html_id":"guest_mark_as_contacted(rtc_user_id:String,session_id:String,contacted:Bool=true):Bool-instance-method","name":"guest_mark_as_contacted","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"args_string":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","args_html":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L808"},"def":{"name":"guest_mark_as_contacted","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"return_type":"Bool","visibility":"Public","body":"found = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n if participant = meeting.participants[rtc_user_id]?\n found = true\n participant.contacted = contacted\n end\n end\nend\nlogger.debug do\n \"[meet] marking guest #{rtc_user_id} as contacted: #{contacted} in session #{session_id}\"\nend\nif found\n update_meeting_state(session_id)\nend\nfound\n"}},{"html_id":"guest_move_session(rtc_user_id:String,session_id:String,new_session_id:String):Bool-instance-method","name":"guest_move_session","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","args_html":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L823"},"def":{"name":"guest_move_session","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"system_id = nil\nnew_meeting = nil\nif @recent_lock.synchronize do\n @recently_disconnected[rtc_user_id]?\nend\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as disconnected\"\n end\n raise(\"can't move disconnected users, please wait for reconnection or kick\")\nend\n@meeting_mutex.synchronize do\n if (meeting = @meetings[session_id]?) && (new_meeting = @meetings[new_session_id]?)\n if participant = meeting.remove(rtc_user_id)\n system_id = meeting.system_id\n new_meeting.add(participant)\n if meeting.empty?\n @meetings.delete(session_id)\n @room_mutex.synchronize do\n @rooms[system_id].try(&.delete(session_id))\n end\n end\n end\n end\nend\nif system_id && new_meeting\n logger.debug do\n \"[meet] moving user #{rtc_user_id} into #{new_session_id} from #{session_id}\"\n end\n update_meeting_state(session_id, system_id)\n update_meeting_state(new_session_id)\n conference = new_meeting.conference\n staff_api.transfer_user(rtc_user_id, new_session_id, {space_id: conference.space_id, guest_pin: conference.guest_pin})\nelse\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as could not find session\"\n end\nend\n!(!system_id)\n"}},{"html_id":"meeting_end(session_id:String)-instance-method","name":"meeting_end","doc":"removes the meeting from the list and kicks anyone left in the meeting","summary":"

removes the meeting from the list and kicks anyone left in the meeting

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L778"},"def":{"name":"meeting_end","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nsystem_id = nil\nmeeting = nil\nlogger.debug do\n \"[meet] ending meeting #{session_id} ended by #{placeos_user_id}\"\nend\n@meeting_mutex.synchronize do\n meeting = @meetings.delete(session_id)\n if meeting\n else\n raise(\"meeting not found\")\n end\n system_id = meeting.system_id\n @room_mutex.synchronize do\n if sessions = @rooms[system_id]?\n sessions.delete(session_id)\n if sessions.empty?\n @rooms.delete(system_id)\n end\n end\n end\nend\nmeeting.not_nil!.participants.keys.each do |rtc_user_id|\n staff_api.kick_user(rtc_user_id, session_id, \"meeting ended\")\nend\nupdate_meeting_state(session_id, system_id.as(String))\n"}},{"html_id":"meeting_join(rtc_user_id:String,session_id:String,type:String|Nil=nil,system_id:String|Nil=nil,text_chat_only:Bool|Nil=nil):ConferenceDetails-instance-method","name":"meeting_join","doc":"this is how staff members create a meeting room\nor join an existing meeting","summary":"

this is how staff members create a meeting room or join an existing meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","args_html":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","location":{"filename":"src/place/chat/health_rooms.cr","line_number":653,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L653"},"def":{"name":"meeting_join","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"return_type":"ConferenceDetails","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nuser_details = (staff_api.user(placeos_user_id)).get\nuser_name = user_details[\"name\"].as_s\nparticipant = Participant.new(user_id: rtc_user_id, name: user_name, email: user_details[\"email\"].as_s, type: type, staff_user_id: placeos_user_id, text_chat_only: text_chat_only)\n@recent_lock.synchronize do\n @recently_disconnected.delete(rtc_user_id)\nend\nmeeting = nil\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n system_id = meeting.system_id\n end\nend\nif system_id\nelse\n raise(\"must provide a system id if there is not an existing session\")\nend\nsystem_id = system_id.as(String)\ntimezone = meeting.try(&.timezone) || (timezone_system(system_id))\nlogger.debug do\n if meeting\n \"[meet] joining existing meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n else\n \"[meet] creating new meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n end\nend\nif meeting\nelse\n conference = pool_checkout_conference\nend\n@meeting_mutex.synchronize do\n meeting = if meet = @meetings[session_id]?\n system_id = meet.system_id\n meet.add(participant)\n meet\n else\n conference = conference || pool_checkout_conference\n meet = Meeting.new(system_id.as(String), session_id, conference, participant)\n meet.timezone = timezone\n meet\n end\n @meetings[session_id] = meeting\n conference = meeting.conference\n @room_mutex.synchronize do\n sessions = @rooms[system_id]? || ([] of SessionId)\n if sessions.includes?(session_id)\n else\n sessions << session_id\n end\n @rooms[system_id] = sessions\n end\nend\nupdate_meeting_state(session_id, system_id.as(String))\nconference.as(ConferenceDetails)\n"}},{"html_id":"meeting_kick(rtc_user_id:String,session_id:String)-instance-method","name":"meeting_kick","doc":"kicks an individual from a meeting","summary":"

kicks an individual from a meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String)","args_html":"(rtc_user_id : String, session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L766"},"def":{"name":"meeting_kick","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.warn do\n \"[meet] kicking user #{rtc_user_id} from session #{session_id}, kicked by: #{placeos_user_id}\"\nend\nstaff_api.kick_user(rtc_user_id, session_id, \"kicked by host\")\nuser_exited(rtc_user_id)\n"}},{"html_id":"meeting_leave(rtc_user_id:String,session_id:String):Nil-instance-method","name":"meeting_leave","doc":"the user is planning of leaving the meeting or has left","summary":"

the user is planning of leaving the meeting or has left

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String) : Nil","args_html":"(rtc_user_id : String, session_id : String) : Nil","location":{"filename":"src/place/chat/health_rooms.cr","line_number":758,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L758"},"def":{"name":"meeting_leave","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.debug do\n \"[meet] user leaving #{rtc_user_id} (#{placeos_user_id}) session #{session_id}\"\nend\nmeeting_remove_user(rtc_user_id, session_id, placeos_user_id)\n"}},{"html_id":"meeting_move_room(session_id:String,system_id:String):Bool-instance-method","name":"meeting_move_room","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(session_id : String, system_id : String) : Bool","args_html":"(session_id : String, system_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":615,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L615"},"def":{"name":"meeting_move_room","args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"old_system_id = nil\nmoved = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n old_system_id = meeting.system_id\n meeting.system_id = system_id\n moved = true\n @room_mutex.synchronize do\n if room_sessions = @rooms[old_system_id]?\n room_sessions.delete(session_id)\n if room_sessions.empty?\n @rooms.delete(old_system_id)\n self[old_system_id] = nil\n end\n sessions = @rooms[system_id]? || ([] of SessionId)\n sessions << session_id\n @rooms[system_id] = sessions\n end\n end\n end\nend\nlogger.debug do\n \"[meet] moving session: #{session_id} to system #{system_id} from #{old_system_id}\"\nend\nif moved\n update_meeting_state(session_id, system_id, old_system_id)\nend\nmoved\n"}},{"html_id":"meeting_state_request_save-instance-method","name":"meeting_state_request_save","doc":"use this to trigger a save","summary":"

use this to trigger a save

","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L88"},"def":{"name":"meeting_state_request_save","visibility":"Public","body":"@save_requested.send(nil)"}},{"html_id":"notify_config(system_id:String,timezone:String)-instance-method","name":"notify_config","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(system_id : String, timezone : String)","args_html":"(system_id : String, timezone : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":491,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L491"},"def":{"name":"notify_config","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"timezone = Time::Location.load(timezone)\nraw_settings = (staff_api.metadata(system_id, \"settings\")).get[\"settings\"]?.try(&.to_json)\nsettings = raw_settings ? RoomSettings.from_json(raw_settings, root: \"details\") : RoomSettings.new\ndefault_notifications = settings.notifications\nroom_users = settings.members.compact_map do |member|\n if member.available?\n else\n next\n end\n begin\n user_data = (staff_api.user(member.id)).get.as_h\n member.name = (user_data[\"nickname\"]? || user_data[\"name\"]).as_s\n member.email = user_data[\"email\"].as_s\n member.phone = user_data[\"phone\"]?.try(&.as_s)\n notify_settings = if user_settings = (staff_api.metadata(member.id, \"settings\")).get[\"settings\"]?.try(&.[]?(\"details\")).try(&.to_json)\n begin\n NotificationSettings.from_json(user_settings, root: \"notifications\")\n rescue parse_error\n logger.warn(exception: parse_error) do\n \"failed to parse user #{member.id} notification settings\"\n end\n default_notifications\n end\n else\n default_notifications\n end\n if notify_settings.enabled?\n else\n next\n end\n member.notifications = notify_settings\n member\n rescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain user #{member.id} metadata\"\n end\n nil\n end\nend\nsettings.members = room_users\nsettings.timezone = timezone\nsettings\n"}},{"html_id":"notify_inspect_meeting(session_id:String)-instance-method","name":"notify_inspect_meeting","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L481"},"def":{"name":"notify_inspect_meeting","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"meeting = @meeting_mutex.synchronize do\n @meetings[session_id]?.try(&.dup)\nend\nif meeting\nelse\n raise(\"meeting #{session_id} not found\")\nend\nsystem_info, room_settings = notify_load_notifications(meeting)\nmembers = room_settings.try do |__arg8|\n __arg8.members.map do |member|\n {member: member, notifications: member.notifications}\n end\nend\n{settings: room_settings, members: members}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n meeting_state_perform_save\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@update_mutex.synchronize do\n if @update_expected > 0\n @update_expected = @update_expected - 1\n logger.debug do\n \"[admin] updating settings...\"\n end\n return\n end\nend\nlogger.debug do\n \"[admin] updating settings...\"\nend\nis_spec = (setting?(Bool, :is_spec)) || false\ndomain = setting(String, :domain_id)\n@sms_source = setting?(String, :sms_source)\n@sms_template = (setting?(String, :sms_template)) || EXAMPLE_SMS_TEMPLATE\n@notify_no_time = (setting?(String, :notify_no_time)) || \"no time specified\"\n@pool_target_size = (setting?(Int32, :pool_size)) || 10\nsystem_id = config.control_system.not_nil!.id\n@disconnect_timeout = ((setting?(Int32, :disconnect_timeout)) || 3).minutes\n@timezone_default = nil\nschedule.clear\nschedule.every(@disconnect_timeout / 3) do\n cleanup_disconnected\nend\nschedule.every(5.minutes) do\n pool_cleanup\nend\nif is_spec\nelse\n schedule.in(1.second) do\n pool_cleanup\n end\nend\nmonitoring = \"#{domain}/chat/#{system_id}/guest/entry\"\nself[:monitoring] = monitoring\nsubscriptions.clear\nmeeting_state_restore\nmonitor(monitoring) do |_subscription, payload|\n new_guest(payload)\nend\nmonitor(\"#{domain}/chat/user/joined\") do |_subscription, payload|\n user_joined(payload)\nend\nmonitor(\"#{domain}/chat/user/exited\") do |_subscription, payload|\n logger.debug do\n \"[signal] user exited: #{payload}\"\n end\n user_id = (NamedTuple(user_id: String).from_json(payload))[:user_id]\n user_exited(user_id)\nend\nmonitor(\"#{domain}/chat/user/left\") do |_subscription, payload|\n user_left(payload)\nend\nlogger.debug do\n \"[admin] settings update success!\"\nend\n"}},{"html_id":"pool_checkout_conference:ConferenceDetails-instance-method","name":"pool_checkout_conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":939,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L939"},"def":{"name":"pool_checkout_conference","return_type":"ConferenceDetails","visibility":"Public","body":"meeting = @pool_lock.synchronize do\n if @pool_meet.size > 0\n @pool_size = @pool_size - 1\n @pool_meet.shift\n end\nend\nlogger.debug do\n \"[pool] Checking out meeting, available in pool? #{!meeting.nil?}\"\nend\nspawn do\n pool_ensure_size\nend\nmeeting || new_conference\n"}},{"html_id":"pool_clear_conferences:Nil-instance-method","name":"pool_clear_conferences","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":953,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L953"},"def":{"name":"pool_clear_conferences","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"[pool] Clearing #{@pool_size} meetings from pool\"\nend\n@pool_lock.synchronize do\n @pool_size = 0\n @pool_meet = [] of ConferenceDetails\nend\npool_ensure_size\n"}},{"html_id":"pool_ensure_size:Nil-instance-method","name":"pool_ensure_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":909,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L909"},"def":{"name":"pool_ensure_size","return_type":"Nil","visibility":"Public","body":"required = 0\n@pool_lock.synchronize do\n required = @pool_target_size - @pool_size\n @pool_size = @pool_target_size\nend\nlogger.debug do\n \"[pool] Maintaining meeting pool size, #{required} new meetings required\"\nend\nif required <= 0\n return\nend\ncreated = 0\nbegin\n required.times do\n meeting = new_conference\n @pool_lock.synchronize do\n @pool_meet << meeting\n end\n created = created + 1\n end\nrescue error\n logger.error(exception: error) do\n \"[pool] error creating pool meetings\"\n end\n if created != required\n diff = required - created\n @pool_lock.synchronize do\n @pool_size = @pool_size - diff\n end\n end\nend\n"}},{"html_id":"pool_size:Int32-instance-method","name":"pool_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L872"},"def":{"name":"pool_size","return_type":"Int32","visibility":"Public","body":"@pool_size"}},{"html_id":"pool_target_size:Int32-instance-method","name":"pool_target_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":873,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L873"},"def":{"name":"pool_target_size","return_type":"Int32","visibility":"Public","body":"@pool_target_size"}},{"html_id":"sessions_with_user(user_id:String):Array(String)-instance-method","name":"sessions_with_user","doc":"finds all the session_ids that includes the specified user_id","summary":"

finds all the session_ids that includes the specified user_id

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(String)","args_html":"(user_id : String) : Array(String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L399"},"def":{"name":"sessions_with_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"sessions = [] of String\n@meeting_mutex.synchronize do\n @meetings.each do |session_id, meeting|\n if meeting.participants.has_key?(user_id)\n sessions << session_id\n end\n end\nend\nsessions\n"}},{"html_id":"timezone_default:String-instance-method","name":"timezone_default","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L471"},"def":{"name":"timezone_default","return_type":"String","visibility":"Public","body":"if (value = @timezone_default).nil?\n @timezone_default = (system.timezone.presence || \"UTC\")\nelse\n value\nend"}},{"html_id":"timezone_system(system_id:String)-instance-method","name":"timezone_system","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":473,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L473"},"def":{"name":"timezone_system","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"begin\n (staff_api.get_system(system_id)).get[\"timezone\"]?.try() do |__arg6|\n __arg6.as_s.presence\n end || timezone_default\nrescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain timezone information for #{system_id}\"\n end\n timezone_default\nend"}}],"types":[{"html_id":"drivers/Place/Chat/HealthRooms/SessionId","path":"Place/Chat/HealthRooms/SessionId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SessionId","name":"SessionId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L602"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"session id == the webrtc session id","summary":"

session id == the webrtc session id

"},{"html_id":"drivers/Place/Chat/HealthRooms/SystemId","path":"Place/Chat/HealthRooms/SystemId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SystemId","name":"SystemId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L605"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"system id == room","summary":"

system id == room

"}]},{"html_id":"drivers/Place/Chat/Meeting","path":"Place/Chat/Meeting.html","kind":"class","full_name":"Place::Chat::Meeting","name":"Meeting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(system_id:String,session_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L139"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, session_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(system_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L128"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"add(participant:Participant):Participant-instance-method","name":"add","abstract":false,"args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(participant : Participant) : Participant","args_html":"(participant : Participant) : Participant","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L147"},"def":{"name":"add","args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"return_type":"Participant","visibility":"Public","body":"@participants[participant.user_id] = participant\n@participants[@created_by_user_id]?.try(&.contacted = true)\n@updated_at = Time.utc\nparticipant\n"}},{"html_id":"conference:ConferenceDetails-instance-method","name":"conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference","return_type":"ConferenceDetails","visibility":"Public","body":"@conference"}},{"html_id":"conference=(conference:ConferenceDetails)-instance-method","name":"conference=","abstract":false,"args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"args_string":"(conference : ConferenceDetails)","args_html":"(conference : ConferenceDetails)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference=","args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"visibility":"Public","body":"@conference = conference"}},{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L84"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"created_by_participant-instance-method","name":"created_by_participant","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L161"},"def":{"name":"created_by_participant","visibility":"Public","body":"@participants[created_by_user_id]"}},{"html_id":"created_by_user_id:String-instance-method","name":"created_by_user_id","doc":"webrtc_user_id that created the meeting","summary":"

webrtc_user_id that created the meeting

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L81"},"def":{"name":"created_by_user_id","return_type":"String","visibility":"Public","body":"@created_by_user_id"}},{"html_id":"creator_contacted?-instance-method","name":"creator_contacted?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L165"},"def":{"name":"creator_contacted?","visibility":"Public","body":"@participants[created_by_user_id]?.try(&.contacted)"}},{"html_id":"empty?:Bool-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L181"},"def":{"name":"empty?","return_type":"Bool","visibility":"Public","body":"@participants.empty?"}},{"html_id":"has_participant?(webrtc_user_id:String):Participant|Nil-instance-method","name":"has_participant?","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L169"},"def":{"name":"has_participant?","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"@participants[webrtc_user_id]?"}},{"html_id":"mark_participant_connected(webrtc_user_id:String,state:Bool):String|Nil-instance-method","name":"mark_participant_connected","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(webrtc_user_id : String, state : Bool) : String | Nil","args_html":"(webrtc_user_id : String, state : Bool) : String | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L173"},"def":{"name":"mark_participant_connected","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"return_type":"String | ::Nil","visibility":"Public","body":"if participant = has_participant?(webrtc_user_id)\n old_state = participant.connected\n participant.connected = state\n if old_state == state\n else\n return system_id\n end\nend"}},{"html_id":"notify_members_on_entry:Array(RoomMember)-instance-method","name":"notify_members_on_entry","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L110"},"def":{"name":"notify_members_on_entry","return_type":"Array(RoomMember)","visibility":"Public","body":"settings = room_settings\nif settings\nelse\n return [] of RoomMember\nend\npatient = participants[created_by_user_id]\nclinician_selected = patient.chat_to_user_id.presence\ncontact = filter_members(clinician_selected)\nif contact.empty? && clinician_selected\n contact = filter_members(nil)\nend\nif contact.empty?\n contact = settings.members\nend\ncontact\n"}},{"html_id":"participants:Hash(String,Participant)-instance-method","name":"participants","doc":"webrtc_user_id => participant","summary":"

webrtc_user_id => participant

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L75"},"def":{"name":"participants","return_type":"Hash(String, Participant)","visibility":"Public","body":"@participants"}},{"html_id":"remove(webrtc_user_id:String):Participant|Nil-instance-method","name":"remove","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L154"},"def":{"name":"remove","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"if participant = @participants.delete(webrtc_user_id)\n @updated_at = Time.utc\n participant\nend"}},{"html_id":"room_settings:RoomSettings|Nil-instance-method","name":"room_settings","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings","return_type":"RoomSettings | ::Nil","visibility":"Public","body":"@room_settings"}},{"html_id":"room_settings=(room_settings:RoomSettings|Nil)-instance-method","name":"room_settings=","abstract":false,"args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"args_string":"(room_settings : RoomSettings | Nil)","args_html":"(room_settings : RoomSettings | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings=","args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"visibility":"Public","body":"@room_settings = room_settings"}},{"html_id":"session_id:String-instance-method","name":"session_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L76"},"def":{"name":"session_id","return_type":"String","visibility":"Public","body":"@session_id"}},{"html_id":"system:PlaceOS::Driver::DriverModel::ControlSystem|Nil-instance-method","name":"system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system","return_type":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil","visibility":"Public","body":"@system"}},{"html_id":"system=(system:PlaceOS::Driver::DriverModel::ControlSystem|Nil)-instance-method","name":"system=","abstract":false,"args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"args_string":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","args_html":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system=","args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"visibility":"Public","body":"@system = system"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::Meeting#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L78"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:String|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"updated_at:Time-instance-method","name":"updated_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L87"},"def":{"name":"updated_at","return_type":"Time","visibility":"Public","body":"@updated_at"}}]},{"html_id":"drivers/Place/Chat/MeetingSummary","path":"Place/Chat/MeetingSummary.html","kind":"struct","full_name":"Place::Chat::MeetingSummary","name":"MeetingSummary","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pos_system:String,call_count:Int32,participant_count:Int32,waiting_count:Int32,longest_wait_time:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"args_string":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","args_html":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L67"},"def":{"name":"new","args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(pos_system, call_count, participant_count, waiting_count, longest_wait_time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"call_count:Int32-instance-method","name":"call_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L62"},"def":{"name":"call_count","return_type":"Int32","visibility":"Public","body":"@call_count"}},{"html_id":"longest_wait_time:Int64-instance-method","name":"longest_wait_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L65"},"def":{"name":"longest_wait_time","return_type":"Int64","visibility":"Public","body":"@longest_wait_time"}},{"html_id":"participant_count:Int32-instance-method","name":"participant_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L64"},"def":{"name":"participant_count","return_type":"Int32","visibility":"Public","body":"@participant_count"}},{"html_id":"pos_system:String-instance-method","name":"pos_system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L61"},"def":{"name":"pos_system","return_type":"String","visibility":"Public","body":"@pos_system"}},{"html_id":"waiting_count:Int32-instance-method","name":"waiting_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L63"},"def":{"name":"waiting_count","return_type":"Int32","visibility":"Public","body":"@waiting_count"}}]},{"html_id":"drivers/Place/Chat/NotificationSettings","path":"Place/Chat/NotificationSettings.html","kind":"struct","full_name":"Place::Chat::NotificationSettings","name":"NotificationSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L30"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"chosen_provider?:Bool-instance-method","name":"chosen_provider?","doc":"only alert if the user selected me","summary":"

only alert if the user selected me

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L34"},"def":{"name":"chosen_provider?","return_type":"Bool","visibility":"Public","body":"@chosen_provider"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L35"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"on_enter:NotifyEventSettings-instance-method","name":"on_enter","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L37"},"def":{"name":"on_enter","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_enter"}},{"html_id":"on_escalate:NotifyEventSettings-instance-method","name":"on_escalate","doc":"settings if the patient has been waiting for a long time","summary":"

settings if the patient has been waiting for a long time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L43"},"def":{"name":"on_escalate","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_escalate"}},{"html_id":"on_recurr:NotifyEventSettings-instance-method","name":"on_recurr","doc":"how often should it send notifications","summary":"

how often should it send notifications

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L39"},"def":{"name":"on_recurr","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_recurr"}},{"html_id":"on_waiting:NotifyEventSettings-instance-method","name":"on_waiting","doc":"do we only notify if the user has been waiting for a certain amount of time","summary":"

do we only notify if the user has been waiting for a certain amount of time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L41"},"def":{"name":"on_waiting","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_waiting"}}]},{"html_id":"drivers/Place/Chat/NotifyEventSettings","path":"Place/Chat/NotifyEventSettings.html","kind":"struct","full_name":"Place::Chat::NotifyEventSettings","name":"NotifyEventSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L15"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"browser?:Bool-instance-method","name":"browser?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L19"},"def":{"name":"browser?","return_type":"Bool","visibility":"Public","body":"@browser"}},{"html_id":"delay:Int32-instance-method","name":"delay","doc":"minutes before notification","summary":"

minutes before notification

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L24"},"def":{"name":"delay","return_type":"Int32","visibility":"Public","body":"@delay"}},{"html_id":"email?:Bool-instance-method","name":"email?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L20"},"def":{"name":"email?","return_type":"Bool","visibility":"Public","body":"@email"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L18"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"sms?:Bool-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L21"},"def":{"name":"sms?","return_type":"Bool","visibility":"Public","body":"@sms"}}]},{"html_id":"drivers/Place/Chat/OpeningHours","path":"Place/Chat/OpeningHours.html","kind":"struct","full_name":"Place::Chat::OpeningHours","name":"OpeningHours","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(opening_times:Tuple(String,String,Bool))-class-method","name":"new","abstract":false,"args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"args_string":"(opening_times : Tuple(String, String, Bool))","args_html":"(opening_times : Tuple(String, String, Bool))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L73"},"def":{"name":"new","args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(opening_times)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"closes:Time::Span-instance-method","name":"closes","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L85"},"def":{"name":"closes","return_type":"Time::Span","visibility":"Public","body":"@closes"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L86"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_open?(now:Time)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"now","external_name":"now","restriction":"Time"}],"args_string":"(now : Time)","args_html":"(now : Time)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L88"},"def":{"name":"is_open?","args":[{"name":"now","external_name":"now","restriction":"Time"}],"visibility":"Public","body":"if enabled\nelse\n return false\nend\nstart_of_day = now.at_beginning_of_day\nopening = start_of_day + opens\nif now >= opening\nelse\n return false\nend\nclosing = start_of_day + closes\nnow < closing\n"}},{"html_id":"opens:Time::Span-instance-method","name":"opens","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L84"},"def":{"name":"opens","return_type":"Time::Span","visibility":"Public","body":"@opens"}}]},{"html_id":"drivers/Place/Chat/Participant","path":"Place/Chat/Participant.html","kind":"class","full_name":"Place::Chat::Participant","name":"Participant","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(user_id:String,name:String,email:Nil|String=nil,phone:Nil|String=nil,type:Nil|String=nil,staff_user_id:Nil|String=nil,text_chat_only:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"args_string":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","args_html":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L54"},"def":{"name":"new","args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(user_id, name, email, phone, type, staff_user_id, text_chat_only)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"appointment_time:String|Nil-instance-method","name":"appointment_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L37"},"def":{"name":"appointment_time","return_type":"String | ::Nil","visibility":"Public","body":"@appointment_time"}},{"html_id":"captcha:String|Nil-instance-method","name":"captcha","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha","return_type":"String | ::Nil","visibility":"Public","body":"@captcha"}},{"html_id":"captcha=(captcha:String|Nil)-instance-method","name":"captcha=","abstract":false,"args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"args_string":"(captcha : String | Nil)","args_html":"(captcha : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha=","args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"visibility":"Public","body":"@captcha = captcha"}},{"html_id":"chat_to_user_id:String|Nil-instance-method","name":"chat_to_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@chat_to_user_id"}},{"html_id":"chat_to_user_id=(chat_to_user_id:String|Nil)-instance-method","name":"chat_to_user_id=","abstract":false,"args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"args_string":"(chat_to_user_id : String | Nil)","args_html":"(chat_to_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id=","args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@chat_to_user_id = chat_to_user_id"}},{"html_id":"connected:Bool-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected","return_type":"Bool","visibility":"Public","body":"@connected"}},{"html_id":"connected=(connected:Bool)-instance-method","name":"connected=","abstract":false,"args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool)","args_html":"(connected : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected=","args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"@connected = connected"}},{"html_id":"contacted:Bool-instance-method","name":"contacted","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted","return_type":"Bool","visibility":"Public","body":"@contacted"}},{"html_id":"contacted=(contacted:Bool)-instance-method","name":"contacted=","abstract":false,"args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"args_string":"(contacted : Bool)","args_html":"(contacted : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted=","args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"visibility":"Public","body":"@contacted = contacted"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"session_id:String|Nil-instance-method","name":"session_id","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id","return_type":"String | ::Nil","visibility":"Public","body":"@session_id"}},{"html_id":"session_id=(session_id:String|Nil)-instance-method","name":"session_id=","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"args_string":"(session_id : String | Nil)","args_html":"(session_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id=","args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@session_id = session_id"}},{"html_id":"staff_user_id:String|Nil-instance-method","name":"staff_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@staff_user_id"}},{"html_id":"staff_user_id=(staff_user_id:String|Nil)-instance-method","name":"staff_user_id=","abstract":false,"args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"args_string":"(staff_user_id : String | Nil)","args_html":"(staff_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id=","args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@staff_user_id = staff_user_id"}},{"html_id":"text_chat_only:Bool|Nil-instance-method","name":"text_chat_only","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@text_chat_only"}},{"html_id":"text_chat_only=(text_chat_only:Bool|Nil)-instance-method","name":"text_chat_only=","abstract":false,"args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(text_chat_only : Bool | Nil)","args_html":"(text_chat_only : Bool | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only=","args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@text_chat_only = text_chat_only"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"user_id:String-instance-method","name":"user_id","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Place/Chat/RoomMember","path":"Place/Chat/RoomMember.html","kind":"class","full_name":"Place::Chat::RoomMember","name":"RoomMember","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"admin?-instance-method","name":"admin?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L67"},"def":{"name":"admin?","visibility":"Public","body":"roles.includes?(\"admin\")"}},{"html_id":"available?:Bool-instance-method","name":"available?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L49"},"def":{"name":"available?","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"clinician?-instance-method","name":"clinician?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L63"},"def":{"name":"clinician?","visibility":"Public","body":"roles.includes?(\"clinician\")"}},{"html_id":"coordinator?-instance-method","name":"coordinator?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L59"},"def":{"name":"coordinator?","visibility":"Public","body":"roles.includes?(\"coordinator\")"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L51"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomMember#notifications cannot be nil\"))\nelse\n value\nend"}},{"html_id":"notifications=(notifications:NotificationSettings)-instance-method","name":"notifications=","abstract":false,"args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"args_string":"(notifications : NotificationSettings)","args_html":"(notifications : NotificationSettings)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L57"},"def":{"name":"notifications=","args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"visibility":"Public","body":"@notifications = notifications"}},{"html_id":"notifications?:NotificationSettings|Nil-instance-method","name":"notifications?","abstract":false,"def":{"name":"notifications?","return_type":"NotificationSettings | ::Nil","visibility":"Public","body":"@notifications"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"roles:Array(String)-instance-method","name":"roles","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L54"},"def":{"name":"roles","return_type":"Array(String)","visibility":"Public","body":"@roles"}}]},{"html_id":"drivers/Place/Chat/RoomSettings","path":"Place/Chat/RoomSettings.html","kind":"class","full_name":"Place::Chat::RoomSettings","name":"RoomSettings","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"doc":"Room metadata => settings key","summary":"

Room metadata => settings key

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L102"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L105"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"is_open?(timezone:Time::Location)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L132"},"def":{"name":"is_open?","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"if available\nelse\n return false\nend\nif open_24_7\n return true\nend\nnow = Time.local(timezone)\nindex = now.day_of_week.to_i - 1\n(OpeningHours.new(opening_hours[index])).is_open?(now)\n"}},{"html_id":"members:Array(RoomMember)-instance-method","name":"members","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members","return_type":"Array(RoomMember)","visibility":"Public","body":"@members"}},{"html_id":"members=(members:Array(RoomMember))-instance-method","name":"members=","abstract":false,"args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"args_string":"(members : Array(RoomMember))","args_html":"(members : Array(RoomMember))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members=","args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"visibility":"Public","body":"@members = members"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L107"},"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n @notifications = (NotificationSettings.new)\nelse\n value\nend"}},{"html_id":"open_24_7:Bool-instance-method","name":"open_24_7","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L106"},"def":{"name":"open_24_7","return_type":"Bool","visibility":"Public","body":"@open_24_7"}},{"html_id":"opening:Hash(Time::DayOfWeek,OpeningHours)-instance-method","name":"opening","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L123"},"def":{"name":"opening","return_type":"Hash(Time::DayOfWeek, OpeningHours)","visibility":"Public","body":"if (value = @opening).nil?\n @opening = (begin\n times = {} of Time::DayOfWeek => OpeningHours\n opening_hours.each_with_index do |times, index|\n index = index + 1\n times[Time::DayOfWeek.from_value(index)] = OpeningHours.new(times)\n end\n times\n end)\nelse\n value\nend"}},{"html_id":"opening_hours:Array(Tuple(String,String,Bool))-instance-method","name":"opening_hours","doc":"0 index == Monday\n open time, close time, enabled","summary":"

0 index == Monday open time, close time, enabled

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L118"},"def":{"name":"opening_hours","return_type":"Array(Tuple(String, String, Bool))","visibility":"Public","body":"if (value = @opening_hours).nil?\n @opening_hours = ([] of Tuple(String, String, Bool))\nelse\n value\nend"}},{"html_id":"timezone:Time::Location-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"Time::Location","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomSettings#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:Time::Location)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L114"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:Time::Location|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"Time::Location | ::Nil","visibility":"Public","body":"@timezone"}}]}]},{"html_id":"drivers/Place/Demo","path":"Place/Demo.html","kind":"module","full_name":"Place::Demo","name":"Demo","abstract":false,"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Demo/Display","path":"Place/Demo/Display.html","kind":"class","full_name":"Place::Demo::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/demo/display.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L50"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"self[:audio_mute] = state\nself[:volume] = state ? 0 : @volume\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/demo/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L26"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:power] = state"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L30"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[:power].as_bool"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/place/demo/display.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"self[:input] = input"}},{"html_id":"test_setting(key:String,payload:JSON::Any)-instance-method","name":"test_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(key : String, payload : JSON::Any)","args_html":"(key : String, payload : JSON::Any)","location":{"filename":"src/place/demo/display.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L44"},"def":{"name":"test_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"define_setting(key, payload)\npayload\n"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/place/demo/display.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L40"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"self[:volume] = @volume = level.to_f64"}},{"html_id":"volume?:Float64-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L38"},"def":{"name":"volume?","return_type":"Float64","visibility":"Public","body":"@volume"}}],"types":[{"html_id":"drivers/Place/Demo/Display/Input","path":"Place/Demo/Display/Input.html","kind":"enum","full_name":"Place::Demo::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Place/Demo/Display","kind":"class","full_name":"Place::Demo::Display","name":"Display"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L18"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L15"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L13"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L14"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L17"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L16"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]},{"html_id":"drivers/Place/Demo/LocationServices","path":"Place/Demo/LocationServices.html","kind":"class","full_name":"Place::Demo::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/location_services.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/demo/location_services.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L28"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"case rand(3)\nwhen 0\n [{location: \"wireless\", coordinates_from: \"bottom-left\", x: 27.113065326953013, y: 36.85052447328469, lon: 55.27498749637098, lat: 25.20090608906493, mac: \"66e0fd1279ce\", variance: 4.5194575835650745, last_seen: 1601555879, building: @building_zone, level: @level_zone, map_width: 1234.2, map_height: 123.8}]\nwhen 1\n [{location: \"meeting\", mac: \"meeting.room@resource.org.com\", event_id: \"meet-1234567\", map_id: \"map-1234\", sys_id: @system_id, ends_at: 1.hour.from_now, private: false, level: @level_zone, building: @building_zone}]\nelse\n [] of String\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@building_zone = setting(String, :building_zone)\n@level_zone = setting(String, :level_zone)\n@system_id = setting(String, :system_id)\n"}}]},{"html_id":"drivers/Place/Demo/RoomSensor","path":"Place/Demo/RoomSensor.html","kind":"class","full_name":"Place::Demo::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/room_sensor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n ::raise(NilAssertionError.new(\"Place::Demo::RoomSensor#count cannot be nil\"))\nelse\n value\nend"}},{"html_id":"count?:Int32|Nil-instance-method","name":"count?","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@capacity = (setting?(Int32, :capacity)) || 2\n@count || (@count = (setting?(Int32, :default_count)) || 0)\n@sensor_id = (setting?(String, :sensor_id)) || \"1234\"\n@timestamp = Time.utc.to_unix\nupdate_state\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/place/demo/room_sensor.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L71"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"demo-#{@sensor_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L52"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"demo-#{@sensor_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"set_sensor(new_count:Int32)-instance-method","name":"set_sensor","abstract":false,"args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"args_string":"(new_count : Int32)","args_html":"(new_count : Int32)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L34"},"def":{"name":"set_sensor","args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"visibility":"Public","body":"@timestamp = Time.utc.to_unix\n@count = new_count\nupdate_state\n"}}]},{"html_id":"drivers/Place/Demo/Switcher","path":"Place/Demo/Switcher.html","kind":"class","full_name":"Place::Demo::Switcher","name":"Switcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"inputs:Int32-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L17"},"def":{"name":"inputs","return_type":"Int32","visibility":"Public","body":"if (value = @inputs).nil?\n @inputs = (setting(Int32, :inputs))\nelse\n value\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = nil\n@outputs = nil\n"}},{"html_id":"outputs:Int32-instance-method","name":"outputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L18"},"def":{"name":"outputs","return_type":"Int32","visibility":"Public","body":"if (value = @outputs).nil?\n @outputs = (setting(Int32, :outputs))\nelse\n value\nend"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/place/demo/switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L32"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"switching #{map} on layer #{layer || SwitchLayer::All}\"\nend\nmap.each do |input, outputs|\n outputs.each do |outp|\n self[\"output#{outp}\"] = input\n end\nend\ntrue\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/place/demo/switcher.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L25"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"if input < 0 || input > inputs\n raise(\"invalid input #{input}, supported values 0 -> #{inputs}\")\nend\nlogger.debug do\n \"switching all outputs to input #{input}\"\nend\n(1..outputs).each do |outp|\n self[\"output#{outp}\"] = input\nend\ntrue\n"}}]}]},{"html_id":"drivers/Place/DeskBookingsLocations","path":"Place/DeskBookingsLocations.html","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L109"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nif user_details = @known_users[mac_address]?\n email, _name = user_details\n {location: \"booking\", assigned_to: email, mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L121"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif location && (location != \"booking\")\n return [] of Nil\nend\nbookings = [] of Booking\n@bookings.each_value(&.each do |booking|\n if zone_id.in?(booking.zones)\n else\n next\n end\n bookings << booking\nend)\nmap_bookings(bookings)\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L94"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nbookings = @bookings[email]? || ([] of Booking)\nmap_bookings(bookings)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L100"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nfound = [] of String\n@known_users.each do |user_id, __arg0|\n user_email = __arg0[0]\n _name = __arg0[1]\n if email == user_email\n found << user_id\n end\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking = Booking.from_json(payload)\n booking.user_email = booking.user_email.downcase\n booking_changed(booking)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@zone_filter = (setting?(Array(String), :zone_filter)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nmap_zones\nschedule.clear\nschedule.every(@poll_rate) do\n query_desk_bookings\nend\nschedule.in(5.seconds) do\n query_desk_bookings\nend\n"}},{"html_id":"query_desk_bookings:Nil-instance-method","name":"query_desk_bookings","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L209"},"def":{"name":"query_desk_bookings","return_type":"Nil","visibility":"Public","body":"bookings = [] of JSON::Any\n@zone_filter.each do |zone|\n bookings.concat(staff_api.query_bookings(type: @booking_type, zones: {zone}).get.as_a)\nend\nbookings = bookings.map do |booking|\n booking = Booking.from_json(booking.to_json)\n booking.user_email = booking.user_email.downcase\n booking\nend\nlogger.debug do\n \"queried desk bookings, found #{bookings.size}\"\nend\nnew_bookings = Hash(String, Array(Booking)).new do |hash, key|\n hash[key] = [] of Booking\nend\nbookings.each do |booking|\n if booking.rejected\n next\n end\n new_bookings[booking.user_email] << booking\n @known_users[booking.user_id] = {booking.user_email, booking.user_name}\nend\n@bookings = new_bookings\n"}}],"types":[{"html_id":"drivers/Place/DeskBookingsLocations/ZoneDetails","path":"Place/DeskBookingsLocations/ZoneDetails.html","kind":"class","full_name":"Place::DeskBookingsLocations::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L191"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/DeskBookingsLocations","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L192"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/DeskBookingWebhook","path":"Place/DeskBookingWebhook.html","kind":"class","full_name":"Place::DeskBookingWebhook","name":"DeskBookingWebhook","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_booking_webhook.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_post-instance-method","name":"fetch_and_post","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L54"},"def":{"name":"fetch_and_post","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nzones = [@building]\npayload = (staff_api.query_bookings(@booking_category, period_start, period_end, zones)).get.to_json\nheaders = HTTP::Headers.new\n@custom_headers.each do |key, value|\n headers[key] = value\nend\nheaders[\"Content-Type\"] = \"application/json; charset=UTF-8\"\nif @debug\n logger.debug do\n \"Posting: #{payload} \\n with Headers: #{headers}\"\n end\nend\nresponse = HTTP::Client.post(@post_uri, headers, body: payload)\nif response.status_code < 300\nelse\n raise(\"Request failed with #{response.status_code}: #{response.body}\")\nend\n\"#{response.status_code}: #{response.body}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n fetch_and_post\nend\nschedule.every(24.hours) do\n fetch_and_post\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@post_uri = setting(String, :post_uri)\n@building = setting(String, :building)\n@custom_headers = setting(Hash(String, String), :custom_headers)\n@time_period = (setting(Int32, :days_from_now)).days\n@booking_category = setting(String, :booking_category)\n@debug = setting(Bool, :debug)\nfetch_and_post\n"}}]},{"html_id":"drivers/Place/EventAttendanceRecorder","path":"Place/EventAttendanceRecorder.html","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"booking_id:String|Nil-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L22"},"def":{"name":"booking_id","return_type":"String | ::Nil","visibility":"Public","body":"@booking_id"}},{"html_id":"count:UInt64-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L18"},"def":{"name":"count","return_type":"UInt64","visibility":"Public","body":"@count"}},{"html_id":"last_known_count:Int32-instance-method","name":"last_known_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L27"},"def":{"name":"last_known_count","return_type":"Int32","visibility":"Public","body":"@last_known_count"}},{"html_id":"last_saved_count:Int32-instance-method","name":"last_saved_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L26"},"def":{"name":"last_saved_count","return_type":"Int32","visibility":"Public","body":"@last_saved_count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"@system_id = config.control_system.not_nil!.id\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@metadata_key = (setting?(String, :metadata_key)).presence || \"people_count\"\n@debounce_seconds = (setting?(Int32, :debounce_seconds)) || 0\n"}},{"html_id":"people_counts:Array(Int32)-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L25"},"def":{"name":"people_counts","return_type":"Array(Int32)","visibility":"Public","body":"@people_counts"}},{"html_id":"should_save:Bool-instance-method","name":"should_save","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L24"},"def":{"name":"should_save","return_type":"Bool","visibility":"Public","body":"@should_save"}},{"html_id":"status:String-instance-method","name":"status","doc":"Tracking meeting details","summary":"

Tracking meeting details

","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L21"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}],"types":[{"html_id":"drivers/Place/EventAttendanceRecorder/StaffEventChange","path":"Place/EventAttendanceRecorder/StaffEventChange.html","kind":"class","full_name":"Place::EventAttendanceRecorder::StaffEventChange","name":"StaffEventChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/EventAttendanceRecorder","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}}]}]},{"html_id":"drivers/Place/EventMailer","path":"Place/EventMailer.html","kind":"class","full_name":"Place::EventMailer","name":"EventMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/event_mailer.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L207"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"inspect_event_store:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"inspect_event_store","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L109"},"def":{"name":"inspect_event_store","visibility":"Public","body":"@events"}},{"html_id":"list_systems_in_zone(zone_id:String)-instance-method","name":"list_systems_in_zone","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/event_mailer.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L105"},"def":{"name":"list_systems_in_zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"staff_api.systems(zone_id: zone_id).get.as_a"}},{"html_id":"list_target_systems-instance-method","name":"list_target_systems","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L101"},"def":{"name":"list_target_systems","visibility":"Public","body":"@target_zones.flat_map do |zone_id|\n list_systems_in_zone(zone_id)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L63"},"def":{"name":"on_update","visibility":"Public","body":"@target_zones = (setting?(Array(String), :zone_ids_to_target)) || ([] of String)\n@target_module = (setting?(String, :module_to_target)) || \"Bookings_1\"\n@target_status = (setting?(String, :module_status_to_target)) || \"bookings\"\n@event_filter = (setting?(String, :event_filter)) || \"\"\n@email_template_group = (setting?(String, :email_template_group)) || \"events\"\n@email_template = (setting?(String, :email_template)) || \"welcome\"\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\nself[:events] = @events.clear\nsubscribe_to_all_modules\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L196"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}]},{"html_id":"drivers/Place/Geometry","path":"Place/Geometry.html","kind":"class","full_name":"Place::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(coordinates:Array(Tuple(Float64,Float64)),geo_type:String=\"Polygon\")-class-method","name":"new","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = \"Polygon\")","args_html":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = "Polygon")","location":{"filename":"src/place/area_config.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L8"},"def":{"name":"new","args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(coordinates, geo_type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"coordinates:Array(Tuple(Float64,Float64))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L13"},"def":{"name":"coordinates","return_type":"Array(Tuple(Float64, Float64))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Tuple(Float64,Float64)))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)))","args_html":"(coordinates : Array(Tuple(Float64, Float64)))","location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L13"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"geo_type:String-instance-method","name":"geo_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L12"},"def":{"name":"geo_type","return_type":"String","visibility":"Public","body":"@geo_type"}},{"html_id":"geo_type=(geo_type:String)-instance-method","name":"geo_type=","abstract":false,"args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"args_string":"(geo_type : String)","args_html":"(geo_type : String)","location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L12"},"def":{"name":"geo_type=","args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"visibility":"Public","body":"@geo_type = geo_type"}}]},{"html_id":"drivers/Place/Help","path":"Place/Help.html","kind":"alias","full_name":"Place::Help","name":"Help","abstract":false,"locations":[{"filename":"src/place/meet/help.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Place::HelpPage)","aliased_html":"Hash(String, Place::HelpPage)","const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/HelpPage","path":"Place/HelpPage.html","kind":"struct","full_name":"Place::HelpPage","name":"HelpPage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/help.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/help.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L10"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L8"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L9"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]},{"html_id":"drivers/Place/HTTPPinger","path":"Place/HTTPPinger.html","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/http_pinger.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DUMMY_CALLBACK","name":"DUMMY_CALLBACK","value":"Proc(Task, Nil).new do\n nil\nend"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_status:Bool-instance-method","name":"check_status","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L55"},"def":{"name":"check_status","return_type":"Bool","visibility":"Public","body":"begin\n response = http(@request_verb, \"/\", headers: @request_headers)\n if response.status_code == expected_response_code\n self[:last_successful_check] = Time.utc.to_unix\n self[:last_response_code] = response.status_code\n true\n else\n self[:last_response_code] = response.status_code\n @response_mismatch_count = @response_mismatch_count + 1\n self[:response_mismatch_count] = @response_mismatch_count\n queue.online = false\n false\n end\nrescue error\n logger.warn(exception: error) do\n \"HTTP service not responding\"\n end\n @response_failure_count = @response_failure_count + 1\n self[:response_failure_count] = @response_failure_count\n self[:last_error] = error.message\n false\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"check_status"}},{"html_id":"curl(verb:String,path:String,headers:Hash(String,String)={}ofString=>String,body:String|Nil=nil)-instance-method","name":"curl","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","args_html":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","location":{"filename":"src/place/http_pinger.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L80"},"def":{"name":"curl","args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = http(verb, path, body, headers: headers)\nlogger.debug do\n \"response #{response.status}: #{response.status_message}\\nheaders: #{response.headers}\\n#{response.body}\"\nend\ntask = PlaceOS::Driver::Task.new(queue, DUMMY_CALLBACK, 0, 0.seconds, 0, false, nil, nil)\ntask.success(response.body, response.status_code)\n"}},{"html_id":"expected_response_code:Int32-instance-method","name":"expected_response_code","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L26"},"def":{"name":"expected_response_code","return_type":"Int32","visibility":"Public","body":"@expected_response_code"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"transport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(((setting?(Int32, :ping_every)) || 60).seconds) do\n check_status\nend\n@request_verb = (setting?(String, :request_verb)) || \"GET\"\n@expected_response_code = (setting?(Int32, :expected_response_code)) || 200\nrequest_headers = HTTP::Headers.new\nheaders = (setting?(HeaderJSON, :request_headers)) || ({} of String => Array(String) | String)\nheaders.each do |key, value|\n request_headers.add(key, value)\nend\n@request_headers = request_headers\n"}},{"html_id":"request_verb:String-instance-method","name":"request_verb","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L27"},"def":{"name":"request_verb","return_type":"String","visibility":"Public","body":"@request_verb"}},{"html_id":"response_failure_count:UInt64-instance-method","name":"response_failure_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L24"},"def":{"name":"response_failure_count","return_type":"UInt64","visibility":"Public","body":"@response_failure_count"}},{"html_id":"response_mismatch_count:UInt64-instance-method","name":"response_mismatch_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L23"},"def":{"name":"response_mismatch_count","return_type":"UInt64","visibility":"Public","body":"@response_mismatch_count"}}],"types":[{"html_id":"drivers/Place/HTTPPinger/HeaderJSON","path":"Place/HTTPPinger/HeaderJSON.html","kind":"alias","full_name":"Place::HTTPPinger::HeaderJSON","name":"HeaderJSON","abstract":false,"locations":[{"filename":"src/place/http_pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Array(String) | String)","aliased_html":"Hash(String, Array(String) | String)","const":false,"namespace":{"html_id":"drivers/Place/HTTPPinger","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger"}}]},{"html_id":"drivers/Place/LocationServices","path":"Place/LocationServices.html","kind":"class","full_name":"Place::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/location_services.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, {} of String => String, nil}","doc":"===============================\nIP ADDRESS => MAC ADDRESS\n===============================","summary":"

=============================== IP ADDRESS => MAC ADDRESS ===============================

"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L31"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String)-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/place/location_services.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L136"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nowner = nil\n((system.implementing(Interface::Locatable)).check_ownership_of(mac_address)).get.each do |result|\n if result != nil\n owner = result\n break\n end\nend\nif owner.nil? && @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).check_ownership_of(mac_address))\n end\n end\n results.each do |sys_results|\n sys_results.get.each do |result|\n if result != nil\n owner = result\n break\n end\n end\n if owner.nil?\n else\n break\n end\n end\nend\nowner\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L172"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).device_locations(zone_id, location)).get.each do |locations|\n located.concat(locations.as_a)\nend\nlocated\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L54"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L63"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"ip_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"ip_mappings","doc":"Webhook handler for accepting IP address to username mappings\nThis data is typically obtained via domain controller logs","summary":"

Webhook handler for accepting IP address to username mappings This data is typically obtained via domain controller logs

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L281"},"def":{"name":"ip_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"IP mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nip_map = Array(Tuple(String, String, String, String | ::Nil)).from_json(body)\n(system.implementing(Interface::Locatable)).ip_username_mappings(ip_map)\nSUCCESS_RESPONSE\n"}},{"html_id":"locate_contacts(list_name:String)-instance-method","name":"locate_contacts","doc":"locates all the of the emergency contacts","summary":"

locates all the of the emergency contacts

","abstract":false,"args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"args_string":"(list_name : String)","args_html":"(list_name : String)","location":{"filename":"src/place/location_services.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L329"},"def":{"name":"locate_contacts","args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"visibility":"Public","body":"contacts = status(Hash(String, Array(NamedTuple(email: String, username: String))), :emergency_contacts)\nlist = contacts[list_name]\nresults = {} of String => Array(JSON::Any)\nlist.each do |person|\n email = person[:email]\n results[email] = locate_user(email, person[:username])\nend\nresults\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"Runs through all the services that support the Locatable interface\nrequests location information on the identifier for all of them\nconcatenates the results and returns them as a single array","summary":"

Runs through all the services that support the Locatable interface requests location information on the identifier for all of them concatenates the results and returns them as a single array

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L73"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).locate_user(email, username)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n results << {level_id, ((system(system_id)).implementing(Interface::Locatable)).locate_user(email, username)}\n end\n end\n results.each do |__arg4|\n level_id = __arg4[0]\n result = __arg4[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"mac_address_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L292"},"def":{"name":"mac_address_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"MAC mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nusername, macs, domain = Tuple(String, Array(String), String | ::Nil).from_json(body)\nusername = username.strip\nmacs = macs.compact_map do |mac|\n mac = (mac.strip.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase\n if mac.size == 12\n mac\n end\nend\nif username.empty? || macs.empty?\n return {HTTP::Status::NOT_ACCEPTABLE, {} of String => String, nil}\nend\n(system.implementing(Interface::Locatable)).mac_address_mappings(username, macs, domain)\nSUCCESS_RESPONSE\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L110"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nmacs = [] of String\n((system.implementing(Interface::Locatable)).macs_assigned_to(email, username)).get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\nend\nif @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).macs_assigned_to(email, username))\n end\n end\n results.each do |__arg8|\n __arg8.get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\n end\n end\nend\nmacs\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@emergency_contacts = (setting?(Hash(String, String), :emergency_contacts)) || Hash(String, String).new\n@search_building = (setting?(Bool, :search_building)) || false\n@building_id = nil\n@systems = nil\nschedule.clear\nif @search_building\n schedule.every(1.hour) do\n if @systems\n @systems = get_systems_list.not_nil!\n end\n end\nend\nif !@emergency_contacts.empty?\n schedule.every(6.hours, immediate: true) do\n update_contacts_list\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil)-instance-method","name":"sensor","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil)","args_html":"(mac : String, id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L230"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"querying sensor with mac: #{mac}, id: #{id.inspect}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensor(mac, id)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif located.empty?\nelse\n return located.first\nend\ndriver_ids = Set.new(drivers.map() do |__arg14|\n __arg14.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg15|\n __arg15.@module_id\n end)\n results << {level_id, drivers.sensor(mac, id)}\n end\n end\n results.each do |__arg16|\n level_id = __arg16[0]\n result = __arg16[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nif located.empty?\nelse\n located.first\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil)-instance-method","name":"sensors","doc":"sensor search + filtered search","summary":"

sensor search + filtered search

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L186"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching sensors of type: #{type.inspect}, mac: #{mac.inspect}, zone_id: #{zone_id}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensors(type, mac, zone_id)).get.each do |locations|\n located.concat(locations.as_a)\nend\ndriver_ids = Set.new(drivers.map() do |__arg10|\n __arg10.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n if zone_id && (zone_id != level_id)\n next\n end\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg11|\n __arg11.@module_id\n end)\n results << {level_id, drivers.sensors(type, mac, zone_id)}\n end\n end\n results.each do |__arg12|\n level_id = __arg12[0]\n result = __arg12[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L32"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}},{"html_id":"update_contacts_list-instance-method","name":"update_contacts_list","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L311"},"def":{"name":"update_contacts_list","visibility":"Public","body":"if @emergency_contacts.empty?\n self[:emergency_contacts] = nil\n return\nend\nif !(system.exists?(:Calendar))\n logger.warn do\n \"contacts requested however no directory service available\"\n end\n return\nend\ndirectory = system[:Calendar]\nself[:emergency_contacts] = @emergency_contacts.transform_values do |id|\n (directory.get_members(id)).get.as(JSON::Any)\nend\n"}}]},{"html_id":"drivers/Place/LogicExample","path":"Place/LogicExample.html","kind":"class","full_name":"Place::LogicExample","name":"LogicExample","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/logic_example.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"display_count-instance-method","name":"display_count","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L21"},"def":{"name":"display_count","visibility":"Public","body":"system.count(:Display)"}},{"html_id":"not_implemented-instance-method","name":"not_implemented","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L25"},"def":{"name":"not_implemented","visibility":"Public","body":"raise(\"not implemented\")"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L9"},"def":{"name":"on_update","visibility":"Public","body":"logger.info do\n \"woot! an update #{setting?(String, :name)}\"\nend"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/logic_example.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L17"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"main_lcd.power(state)"}},{"html_id":"power_state?-instance-method","name":"power_state?","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L13"},"def":{"name":"power_state?","visibility":"Public","body":"main_lcd[:power]"}}]},{"html_id":"drivers/Place/Meet","path":"Place/Meet.html","kind":"class","full_name":"Place::Meet","name":"Meet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LIGHT_MOD","name":"DEFAULT_LIGHT_MOD","value":"\"Lighting_1\""},{"id":"EXT_INIT","name":"EXT_INIT","value":"[:qsc_phone_dialing_init] of Symbol"},{"id":"EXT_POWER","name":"EXT_POWER","value":"[:qsc_phone_dialing_power] of Symbol"}],"included_modules":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"add_preset(preset:String,camera:String)-instance-method","name":"add_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":798,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L798"},"def":{"name":"add_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].save_position(preset, cam.index || 0)\n"}},{"html_id":"apply_camera_defaults-instance-method","name":"apply_camera_defaults","doc":"run on system power on","summary":"

run on system power on

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":779,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L779"},"def":{"name":"apply_camera_defaults","visibility":"Public","body":"(system.all(vc_camera_module)).power(true)"}},{"html_id":"apply_default_routes-instance-method","name":"apply_default_routes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L250"},"def":{"name":"apply_default_routes","visibility":"Public","body":"begin\n @default_routes.each do |output, input|\n route_signal(input, output)\n end\nrescue error\n logger.warn(exception: error) do\n \"error applying default routes\"\n end\nend"}},{"html_id":"init_vidconf-instance-method","name":"init_vidconf","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":773,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L773"},"def":{"name":"init_vidconf","visibility":"Public","body":"@vc_camera_in = setting?(String, :vc_camera_in)\n@vc_camera_module = setting?(String, :vc_camera_module)\n"}},{"html_id":"join_mode(mode_id:String,master:Bool=true)-instance-method","name":"join_mode","abstract":false,"args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"args_string":"(mode_id : String, master : Bool = true)","args_html":"(mode_id : String, master : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":890,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L890"},"def":{"name":"join_mode","args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"visibility":"Public","body":"mode = @join_modes[mode_id]\nif @join_selected\n old_mode = @join_modes[@join_selected]?\nend\njoin_settings = @join_settings.not_nil!\nthis_room = config.control_system.not_nil!.id\nbegin\n @join_lock.synchronize do\n if master\n notify_rooms = join_settings.type.fully_aware? ? join_settings.all_rooms : mode.room_ids\n if mode.linked?\n if notify_rooms.includes?(this_room)\n else\n raise(\"unable to perform join from this system\")\n end\n end\n @join_selected = mode.id\n @join_master = true\n if (old_mode && old_mode.linked?) && join_settings.type.independent?\n unlink(old_mode.room_ids - mode.room_ids)\n end\n if !mode.linked?\n return unlink(notify_rooms)\n end\n reset_remote_cache\n self[:join_confirmed] = @join_confirmed = false\n notify_rooms.each do |room_id|\n if room_id == this_room\n next\n end\n (((system(room_id)).get(\"System\", 1)).join_mode(mode_id, master: false)).get\n end\n persist_join_state\n self[:join_master] = master\n self[:joined] = @join_selected\n self[:join_confirmed] = @join_confirmed = true\n else\n @join_selected = mode.id\n @join_master = false\n reset_remote_cache\n persist_join_state\n self[:join_master] = master\n self[:joined] = mode.id\n self[:join_confirmed] = @join_confirmed = true\n end\n end\nensure\n update_available_ui\n mode.join_actions.each do |action|\n if master || (!action.master_only?)\n system[action.module_id].__send__(action.function_name, action.arguments, action.named_args)\n end\n end\n if (!@light_scenes.empty?) && master\n select_lighting_scene(@light_scenes.keys.first)\n end\nend\n"}},{"html_id":"lighting_independent:Bool-instance-method","name":"lighting_independent","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":571,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L571"},"def":{"name":"lighting_independent","return_type":"Bool","visibility":"Public","body":"@lighting_independent"}},{"html_id":"local_accessories:Array(Accessory)-instance-method","name":"local_accessories","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":668,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L668"},"def":{"name":"local_accessories","return_type":"Array(Accessory)","visibility":"Public","body":"@local_accessories"}},{"html_id":"local_help:Help-instance-method","name":"local_help","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L96"},"def":{"name":"local_help","return_type":"Help","visibility":"Public","body":"@local_help"}},{"html_id":"local_lighting_area:LightingArea|Nil-instance-method","name":"local_lighting_area","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L570"},"def":{"name":"local_lighting_area","return_type":"LightingArea | ::Nil","visibility":"Public","body":"@local_lighting_area"}},{"html_id":"local_mics:Array(Microphone)-instance-method","name":"local_mics","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":689,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L689"},"def":{"name":"local_mics","return_type":"Array(Microphone)","visibility":"Public","body":"@local_mics"}},{"html_id":"local_outputs:Array(String)-instance-method","name":"local_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L101"},"def":{"name":"local_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_outputs"}},{"html_id":"local_preview_outputs:Array(String)-instance-method","name":"local_preview_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L104"},"def":{"name":"local_preview_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_preview_outputs"}},{"html_id":"local_tabs:Array(Tab)-instance-method","name":"local_tabs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L97"},"def":{"name":"local_tabs","return_type":"Array(Tab)","visibility":"Public","body":"@local_tabs"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Sets the mute state on a signal node within the system.","summary":"

Sets the mute state on a signal node within the system.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/meet.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L547"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"input_or_output = index\naudio = @master_audio\nif audio\n logger.debug do\n \"setting master mute to #{state}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nmixer = system[audio.module_id]\nset_master_mute(mixer, audio, state)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L88"},"def":{"name":"on_load","visibility":"Public","body":"system.load_complete do\n init_previous_join_state\n on_update\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L110"},"def":{"name":"on_update","visibility":"Public","body":"if (Time.utc.to_unix - @ignore_update) < 3\n return\nend\nself[:name] = system.display_name.presence || system.name\nself[:local_help] = @local_help = (setting?(Help, :help)) || Help.new\nself[:local_tabs] = @local_tabs = (setting?(Array(Tab), :tabs)) || ([] of Tab)\nself[:local_outputs] = @local_outputs = (setting?(Array(String), :local_outputs)) || ([] of String)\nself[:local_preview_outputs] = @local_preview_outputs = (setting?(Array(String), :preview_outputs)) || ([] of String)\n@shutdown_devices = setting?(Array(String), :shutdown_devices)\n@local_vidconf = (setting?(String, :local_vidconf)) || \"VidConf_1\"\n@join_lock.synchronize do\n subscriptions.clear\n reset_remote_cache\n init_signal_routing\n init_projector_screens\n init_master_audio\n init_microphones\n init_accessories\n init_lighting\n init_vidconf\n init_joining\nend\n{% for func in EXT_INIT %}\n begin\n {{ func.id }}\n rescue error\n logger.warn(exception: error) { \"error in init function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\n"}},{"html_id":"power(state:Bool,unlink:Bool=false)-instance-method","name":"power","doc":"Sets the overall room power state.","summary":"

Sets the overall room power state.

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"args_string":"(state : Bool, unlink : Bool = false)","args_html":"(state : Bool, unlink : Bool = false)","location":{"filename":"src/place/meet.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L173"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"visibility":"Public","body":"if state == self[:active]?\n return\nend\nlogger.debug do\n \"Powering #{state ? \"up\" : \"down\"}\"\nend\nself[:active] = state\nremotes_before = remote_rooms\nsys = system\nif state\n apply_master_audio_default\n apply_camera_defaults\n apply_default_routes\n apply_mic_defaults\n if first_output = @tabs.first?.try do |__arg0|\n __arg0.inputs.first\n end\n selected_input(first_output)\n end\nelse\n if unlink\n unlink_systems\n end\n @local_outputs.each do |output|\n unroute(output)\n end\n @local_preview_outputs.each do |output|\n unroute(output)\n end\n if devices = @shutdown_devices\n devices.each do |device|\n sys[device].power(false)\n end\n else\n (sys.implementing(Interface::Powerable)).power(false)\n end\n if sys.exists?(@local_vidconf)\n sys[@local_vidconf].hangup\n end\nend\nremotes_before.each do |room|\n room.power(state, unlink)\nend\n{% for func in EXT_POWER %}\n begin\n {{ func.id }}(state, unlink)\n rescue error\n logger.warn(exception: error) { \"error in power state function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\nstate\n"}},{"html_id":"remove_preset(preset:String,camera:String)-instance-method","name":"remove_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L803"},"def":{"name":"remove_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].remove_position(preset, cam.index || 0)\n"}},{"html_id":"route(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L256"},"def":{"name":"route","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"route_signal(input, output, max_dist, simulate, follow_additional_routes)\nif links = @linked_outputs[output]?\n links.each do |_sys_id, remote_out|\n route_signal(input, remote_out, max_dist, simulate, follow_additional_routes)\n end\nend\nif !simulate\n remote_systems.each do |remote_system|\n room = remote_system.room_logic\n sys_id = remote_system.system_id\n if links = @linked_outputs[output]?\n if remote_out = links[sys_id]?\n room.route(input, remote_out, max_dist, true, follow_additional_routes)\n end\n end\n end\nend\n"}},{"html_id":"select_lighting_scene(scene:String,push_to_remotes:Bool=true)-instance-method","name":"select_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"args_string":"(scene : String, push_to_remotes : Bool = true)","args_html":"(scene : String, push_to_remotes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L635"},"def":{"name":"select_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"visibility":"Public","body":"scene_id = @light_scenes[scene.downcase]?\nif scene_id\nelse\n raise(ArgumentError.new(\"invalid scene '#{scene}', valid scenes are: #{@light_scenes.keys}\"))\nend\nsystem[@light_module].set_lighting_scene(scene_id, @light_area)\nif push_to_remotes && lighting_independent\n remote_rooms.each do |room|\n room.select_lighting_scene(scene, false)\n end\nend\n"}},{"html_id":"selected_camera(camera:String)-instance-method","name":"selected_camera","doc":"This is the camera input that is currently selected so we can switch between\ndifferent cameras","summary":"

This is the camera input that is currently selected so we can switch between different cameras

","abstract":false,"args":[{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(camera : String)","args_html":"(camera : String)","location":{"filename":"src/place/meet.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L785"},"def":{"name":"selected_camera","args":[{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"self[:selected_camera] = camera\ncam = camera_details(camera)\nsystem[cam.mod].power(true)\nif camera_in = @vc_camera_in\n route_signal(camera, camera_in)\nelse\n if camera_vc_in = cam.vc_camera_input\n system[@local_vidconf].camera_select(camera_vc_in)\n end\nend\n"}},{"html_id":"selected_input(name:String,simulate:Bool=false):Nil-instance-method","name":"selected_input","doc":"This is the currently selected input\nif the user selects an output then this will be routed to it","summary":"

This is the currently selected input if the user selects an output then this will be routed to it

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"args_string":"(name : String, simulate : Bool = false) : Nil","args_html":"(name : String, simulate : Bool = false) : Nil","location":{"filename":"src/place/meet.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L286"},"def":{"name":"selected_input","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"selected_tab = @tabs.find() do |__arg2|\n __arg2.inputs.includes?(name)\nend.try(&.name)\nif selected_tab || (!simulate)\n self[:selected_input] = name\n self[:selected_tab] = selected_tab || @tabs.first\n sys = system\n if sys.exists?(name)\n mod = sys[name]\n if mod.implements?(Interface::Powerable)\n mod.power(true)\n end\n end\nend\nif !simulate\n if @preview_outputs.empty?\n if @outputs.size == 1\n route_signal(name, @outputs.first)\n end\n else\n @preview_outputs.each do |output|\n route_signal(name, output)\n end\n end\n remote_rooms.each do |room|\n room.selected_input(name, true)\n end\nend\n"}},{"html_id":"unlink_internal_use-instance-method","name":"unlink_internal_use","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":971,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L971"},"def":{"name":"unlink_internal_use","visibility":"Public","body":"begin\n @join_lock.synchronize do\n if @join_modes[@join_selected]?.try() do |__arg11|\n __arg11.room_ids.empty?\n end\n else\n @join_selected = nil\n end\n @join_master = true\n self[:join_confirmed] = @join_confirmed = false\n self[:join_master] = true\n self[:joined] = @join_selected\n reset_remote_cache\n persist_join_state\n update_available_ui\n self[:join_confirmed] = @join_confirmed = true\n end\nrescue error\n logger.error(exception: error) do\n \"ui state failed to be applied unjoining room\"\n end\nend"}},{"html_id":"unlink_systems-instance-method","name":"unlink_systems","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":957,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L957"},"def":{"name":"unlink_systems","visibility":"Public","body":"begin\n if unlink_mode = @join_modes.find do |_id, mode|\n !mode.linked?\n end\n join_mode(unlink_mode[0])\n else\n currrent_selected = @join_selected\n if currrent_selected && (current_mode = @join_modes[currrent_selected]?)\n unlink(current_mode.room_ids)\n end\n unlink_internal_use\n end\nrescue error\n logger.warn(exception: error) do\n \"unlink failed\"\n end\nend"}},{"html_id":"unroute(output:String)-instance-method","name":"unroute","doc":"we want to unroute any signal going to the display\nor if it's a direct connection, we want to mute the display","summary":"

we want to unroute any signal going to the display or if it's a direct connection, we want to mute the display

","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"String"}],"args_string":"(output : String)","args_html":"(output : String)","location":{"filename":"src/place/meet.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L278"},"def":{"name":"unroute","args":[{"name":"output","external_name":"output","restriction":"String"}],"visibility":"Public","body":"begin\n route(\"MUTE\", output)\nrescue error\n logger.debug(exception: error) do\n \"failed to unroute #{output}\"\n end\nend"}},{"html_id":"volume(level:Int32|Float64,input_or_output:String)-instance-method","name":"volume","doc":"Set the volume of a signal node within the system.","summary":"

Set the volume of a signal node within the system.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"args_string":"(level : Int32 | Float64, input_or_output : String)","args_html":"(level : Int32 | Float64, input_or_output : String)","location":{"filename":"src/place/meet.cr","line_number":525,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L525"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"visibility":"Public","body":"audio = @master_audio\nif audio\n logger.debug do\n \"setting master volume to #{level}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = audio.min_level..audio.max_level\nlevel_actual = percentage * (range.end - range.begin)\nlevel_actual = (level_actual + range.begin.to_f).round(1)\nmixer = system[audio.module_id]\nset_master_volume(mixer, audio, level_actual)\n"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory","path":"Place/Meet/Accessory.html","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":651,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L651"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L652"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controls:Array(Control)-instance-method","name":"controls","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":665,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L665"},"def":{"name":"controls","return_type":"Array(Control)","visibility":"Public","body":"@controls"}},{"html_id":"module:String-instance-method","name":"module","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":664,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L664"},"def":{"name":"module","return_type":"String","visibility":"Public","body":"@module"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":663,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L663"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory/Control","path":"Place/Meet/Accessory/Control.html","kind":"struct","full_name":"Place::Meet::Accessory::Control","name":"Control","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L654"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet/Accessory","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L655"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L660"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"@arguments"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":659,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L659"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":658,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L658"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":657,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L657"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Meet/AudioFader","path":"Place/Meet/AudioFader.html","kind":"class","full_name":"Place::Meet::AudioFader","name":"AudioFader","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":396,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L396"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L397"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L399"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"default_level:Float64|Nil-instance-method","name":"default_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":407,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L407"},"def":{"name":"default_level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@default_level"}},{"html_id":"default_muted:Bool|Nil-instance-method","name":"default_muted","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L406"},"def":{"name":"default_muted","return_type":"Bool | ::Nil","visibility":"Public","body":"@default_muted"}},{"html_id":"implements_volume?-instance-method","name":"implements_volume?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L431"},"def":{"name":"implements_volume?","visibility":"Public","body":"level_id == \"\\e\""}},{"html_id":"level_feedback:String-instance-method","name":"level_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L415"},"def":{"name":"level_feedback","return_type":"String","visibility":"Public","body":"if (value = @level_feedback).nil?\n @level_feedback = (begin\n id = level_id\n \"fader#{id.is_a?(Array) ? id.first : id}\"\n end)\nelse\n value\nend"}},{"html_id":"level_feedback=(level_feedback:String)-instance-method","name":"level_feedback=","abstract":false,"args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"args_string":"(level_feedback : String)","args_html":"(level_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L415"},"def":{"name":"level_feedback=","args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"visibility":"Public","body":"@level_feedback = level_feedback"}},{"html_id":"level_feedback?:String?-instance-method","name":"level_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L425"},"def":{"name":"level_feedback?","visibility":"Public","body":"@level_feedback"}},{"html_id":"level_id:String|Array(String)|Nil-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L403"},"def":{"name":"level_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"level_id=(level_id:String|Array(String)|Nil)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(level_id : String | Array(String) | Nil)","args_html":"(level_id : String | Array(String) | Nil)","location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L403"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_index:Int32|Nil-instance-method","name":"level_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L409"},"def":{"name":"level_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level_index"}},{"html_id":"max_level:Float64-instance-method","name":"max_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":413,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L413"},"def":{"name":"max_level","return_type":"Float64","visibility":"Public","body":"if (value = @max_level).nil?\n @max_level = (100.0)\nelse\n value\nend"}},{"html_id":"min_level:Float64-instance-method","name":"min_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L412"},"def":{"name":"min_level","return_type":"Float64","visibility":"Public","body":"if (value = @min_level).nil?\n @min_level = (0.0)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L423"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"if (value = @module_id).nil?\n @module_id = (\"Mixer_1\")\nelse\n value\nend"}},{"html_id":"module_id=(module_id:String)-instance-method","name":"module_id=","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String)","args_html":"(module_id : String)","location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L423"},"def":{"name":"module_id=","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"visibility":"Public","body":"@module_id = module_id"}},{"html_id":"mute_feedback:String-instance-method","name":"mute_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L419"},"def":{"name":"mute_feedback","return_type":"String","visibility":"Public","body":"if (value = @mute_feedback).nil?\n @mute_feedback = (begin\n id = mute_id || level_id\n \"fader#{id.is_a?(Array) ? id.first : id}_mute\"\n end)\nelse\n value\nend"}},{"html_id":"mute_feedback=(mute_feedback:String)-instance-method","name":"mute_feedback=","abstract":false,"args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"args_string":"(mute_feedback : String)","args_html":"(mute_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L419"},"def":{"name":"mute_feedback=","args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"visibility":"Public","body":"@mute_feedback = mute_feedback"}},{"html_id":"mute_feedback?:String?-instance-method","name":"mute_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L425"},"def":{"name":"mute_feedback?","visibility":"Public","body":"@mute_feedback"}},{"html_id":"mute_id:String|Array(String)|Nil-instance-method","name":"mute_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":404,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L404"},"def":{"name":"mute_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"if (value = @mute_id).nil?\n @mute_id = (level_id)\nelse\n value\nend"}},{"html_id":"mute_index:Int32|Nil-instance-method","name":"mute_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L410"},"def":{"name":"mute_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mute_index"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L402"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"use_defaults?-instance-method","name":"use_defaults?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L427"},"def":{"name":"use_defaults?","visibility":"Public","body":"(@module_id.nil? && (level_id.nil? || level_id.try(&.empty?))) && (mute_id.nil? || mute_id.try(&.empty?))"}}]},{"html_id":"drivers/Place/Meet/CamDetails","path":"Place/Meet/CamDetails.html","kind":"class","full_name":"Place::Meet::CamDetails","name":"CamDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":762,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L762"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L763"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"index:String|Int32|Nil-instance-method","name":"index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L766"},"def":{"name":"index","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@index"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":765,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L765"},"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"vc_camera_input:String|Int32|Nil-instance-method","name":"vc_camera_input","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":767,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L767"},"def":{"name":"vc_camera_input","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@vc_camera_input"}}]},{"html_id":"drivers/Place/Meet/JoinAction","path":"Place/Meet/JoinAction.html","kind":"class","full_name":"Place::Meet::JoinAction","name":"JoinAction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L823"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":824,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L824"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":828,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L828"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":827,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L827"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"master_only?:Bool-instance-method","name":"master_only?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":830,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L830"},"def":{"name":"master_only?","return_type":"Bool","visibility":"Public","body":"if (value = @master_only).nil?\n @master_only = (true)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":826,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L826"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":829,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L829"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinDetail","path":"Place/Meet/JoinDetail.html","kind":"class","full_name":"Place::Meet::JoinDetail","name":"JoinDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":833,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L833"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":834,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L834"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":836,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L836"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"join_actions:Array(JoinAction)-instance-method","name":"join_actions","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":839,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L839"},"def":{"name":"join_actions","return_type":"Array(JoinAction)","visibility":"Public","body":"if (value = @join_actions).nil?\n @join_actions = ([] of JoinAction)\nelse\n value\nend"}},{"html_id":"linked?:Bool-instance-method","name":"linked?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":846,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L846"},"def":{"name":"linked?","return_type":"Bool","visibility":"Public","body":"if (value = @linked).nil?\n @linked = (!room_ids.empty?)\nelse\n value\nend"}},{"html_id":"merge_outputs?:Bool-instance-method","name":"merge_outputs?","doc":"Do we want to merge the outputs (all outputs on all screens)\nor do we want them as seperate displays","summary":"

Do we want to merge the outputs (all outputs on all screens) or do we want them as seperate displays

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":843,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L843"},"def":{"name":"merge_outputs?","return_type":"Bool","visibility":"Public","body":"@merge_outputs"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":837,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L837"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_ids:Array(String)-instance-method","name":"room_ids","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":838,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L838"},"def":{"name":"room_ids","return_type":"Array(String)","visibility":"Public","body":"@room_ids"}}]},{"html_id":"drivers/Place/Meet/JoinSetting","path":"Place/Meet/JoinSetting.html","kind":"class","full_name":"Place::Meet::JoinSetting","name":"JoinSetting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":849,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L849"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":850,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L850"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"all_rooms:Set(String)-instance-method","name":"all_rooms","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":857,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L857"},"def":{"name":"all_rooms","return_type":"Set(String)","visibility":"Public","body":"if (value = @all_rooms).nil?\n @all_rooms = (modes.reduce(Set(String).new) do |rooms, mode|\n rooms.concat(mode.room_ids)\n end)\nelse\n value\nend"}},{"html_id":"lock_remote:Bool-instance-method","name":"lock_remote","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":853,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L853"},"def":{"name":"lock_remote","return_type":"Bool","visibility":"Public","body":"if (value = @lock_remote).nil?\n @lock_remote = (false)\nelse\n value\nend"}},{"html_id":"modes:Array(JoinDetail)-instance-method","name":"modes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":854,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L854"},"def":{"name":"modes","return_type":"Array(JoinDetail)","visibility":"Public","body":"@modes"}},{"html_id":"type:JoinType-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":852,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L852"},"def":{"name":"type","return_type":"JoinType","visibility":"Public","body":"if (value = @type).nil?\n @type = (JoinType::Independent)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinType","path":"Place/Meet/JoinType.html","kind":"enum","full_name":"Place::Meet::JoinType","name":"JoinType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L815"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Independent","name":"Independent","value":"0","doc":"only rooms part of the join need to be notified","summary":"

only rooms part of the join need to be notified

"},{"id":"FullyAware","name":"FullyAware","value":"1","doc":"even rooms not part of the join, need to be notified","summary":"

even rooms not part of the join, need to be notified

"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"doc":"=========================\nRoom Joining Coordination\n=========================","summary":"

========================= Room Joining Coordination =========================

","instance_methods":[{"html_id":"fully_aware?-instance-method","name":"fully_aware?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":820,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L820"},"def":{"name":"fully_aware?","visibility":"Public","body":"self == FullyAware"}},{"html_id":"independent?-instance-method","name":"independent?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":817,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L817"},"def":{"name":"independent?","visibility":"Public","body":"self == Independent"}}]},{"html_id":"drivers/Place/Meet/LightingArea","path":"Place/Meet/LightingArea.html","kind":"alias","full_name":"Place::Meet::LightingArea","name":"LightingArea","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L565"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/LightingScene","path":"Place/Meet/LightingScene.html","kind":"alias","full_name":"Place::Meet::LightingScene","name":"LightingScene","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L566"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(name: String, id: UInt32, icon: String, opacity: Float64)","aliased_html":"{name: String, id: UInt32, icon: String, opacity: Float64}","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/Microphone","path":"Place/Meet/Microphone.html","kind":"alias","full_name":"Place::Meet::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":687,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L687"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Meet::AudioFader","aliased_html":"Place::Meet::AudioFader","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/RemoteSystem","path":"Place/Meet/RemoteSystem.html","kind":"struct","full_name":"Place::Meet::RemoteSystem","name":"RemoteSystem","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":1020,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1020"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(system_id:String,room_logic:PlaceOS::Driver::Proxy::Driver)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"args_string":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","args_html":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","location":{"filename":"src/place/meet.cr","line_number":1024,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1024"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, room_logic)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"room_logic:PlaceOS::Driver::Proxy::Driver-instance-method","name":"room_logic","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1022,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1022"},"def":{"name":"room_logic","return_type":"PlaceOS::Driver::Proxy::Driver","visibility":"Public","body":"@room_logic"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1021,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1021"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}}]}]},{"html_id":"drivers/Place/MQTT","path":"Place/MQTT.html","kind":"class","full_name":"Place::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L86"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L100"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\n@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L46"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\n@queue_size = (setting?(Int32, :queue_size)) || 1000\nif rate_limit = setting?(Int32, :rate_limit)\n @rate_limited = true\n @wait_time = (1.0 / rate_limit.to_f).seconds\nelse\n @rate_limited = false\nend\nexisting = @subs\n@subs = (setting?(Array(String), :subscriptions)) || ([] of String)\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n perform_operation do\n client.unsubscribe(sub)\n end\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\n end\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L115"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\nperform_operation do\n @mqtt.not_nil!.ping\nend\n"}},{"html_id":"publish(key:String,payload:String):Nil-instance-method","name":"publish","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(key : String, payload : String) : Nil","args_html":"(key : String, payload : String) : Nil","location":{"filename":"src/place/mqtt.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L109"},"def":{"name":"publish","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"publishing payload to #{key}\"\nend\nperform_operation do\n @mqtt.not_nil!.publish(key, payload)\nend\nnil\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/place/mqtt.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L120"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}}]},{"html_id":"drivers/Place/Pinger","path":"Place/Pinger.html","kind":"class","full_name":"Place::Pinger","name":"Pinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/pinger.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"period = (setting?(Int32, :ping_every)) || 60\nperiod = (period * 1000) + (rand(1000))\nschedule.clear\nschedule.every(period.milliseconds) do\n ping\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L29"},"def":{"name":"ping","visibility":"Public","body":"hostname = config.ip.not_nil!\npinger = ::Pinger.new(hostname, count: 3)\npinger.ping\npingable = pinger.pingable\nif !pingable\n self[:last_error] = (pinger.exception || pinger.warning) || \"unknown error\"\nend\nset_connected_state(pingable)\nself[:pingable] = pingable\n"}}]},{"html_id":"drivers/Place/QSCPhoneDialing","path":"Place/QSCPhoneDialing.html","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing","abstract":false,"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"doc":"Code for handling QSC phone dialing, if available","summary":"

Code for handling QSC phone dialing, if available

","instance_methods":[{"html_id":"qsc_dial_hangup-instance-method","name":"qsc_dial_hangup","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L73"},"def":{"name":"qsc_dial_hangup","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.hangup_id)\n"}},{"html_id":"qsc_dial_makecall-instance-method","name":"qsc_dial_makecall","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L67"},"def":{"name":"qsc_dial_makecall","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.dial_id)\n"}},{"html_id":"qsc_dial_pad(number:String)-instance-method","name":"qsc_dial_pad","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"}],"args_string":"(number : String)","args_html":"(number : String)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L46"},"def":{"name":"qsc_dial_pad","args":[{"name":"number","external_name":"number","restriction":"String"}],"visibility":"Public","body":"if number.size > 0\nelse\n return\nend\nchar = number[0]\ncase char\nwhen '\\b'\n if @dial_string.size == 0\n else\n @dial_string = @dial_string[0..-2]\n end\nwhen '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'\n @dial_string = \"#{@dial_string}#{char}\"\nelse\n logger.info do\n \"unsupported dial char provided #{char}\"\n end\nend\nqsc_dial_pad_sync\n"}},{"html_id":"qsc_dial_pad_clear:Nil-instance-method","name":"qsc_dial_pad_clear","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L62"},"def":{"name":"qsc_dial_pad_clear","return_type":"Nil","visibility":"Public","body":"@dial_string = \"\"\nqsc_dial_pad_sync\n"}}],"types":[{"html_id":"drivers/Place/QSCPhoneDialing/QscPhone","path":"Place/QSCPhoneDialing/QscPhone.html","kind":"class","full_name":"Place::QSCPhoneDialing::QscPhone","name":"QscPhone","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},"doc":"This data will be stored in the tab","summary":"

This data will be stored in the tab

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dial_id:String-instance-method","name":"dial_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L8"},"def":{"name":"dial_id","return_type":"String","visibility":"Public","body":"@dial_id"}},{"html_id":"dtmf_id:String-instance-method","name":"dtmf_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L13"},"def":{"name":"dtmf_id","return_type":"String","visibility":"Public","body":"@dtmf_id"}},{"html_id":"hangup_id:String-instance-method","name":"hangup_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L9"},"def":{"name":"hangup_id","return_type":"String","visibility":"Public","body":"@hangup_id"}},{"html_id":"number_id:String-instance-method","name":"number_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L7"},"def":{"name":"number_id","return_type":"String","visibility":"Public","body":"@number_id"}},{"html_id":"offhook_id:String-instance-method","name":"offhook_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L12"},"def":{"name":"offhook_id","return_type":"String","visibility":"Public","body":"@offhook_id"}},{"html_id":"ringing_id:String-instance-method","name":"ringing_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L11"},"def":{"name":"ringing_id","return_type":"String","visibility":"Public","body":"@ringing_id"}},{"html_id":"status_id:String-instance-method","name":"status_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L10"},"def":{"name":"status_id","return_type":"String","visibility":"Public","body":"@status_id"}}]}]},{"html_id":"drivers/Place/RoomBookingApproval","path":"Place/RoomBookingApproval.html","kind":"class","full_name":"Place::RoomBookingApproval","name":"RoomBookingApproval","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/room_booking_approval.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L68"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.accept_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L13"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L73"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.decline_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"find_bookings_for_approval:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"find_bookings_for_approval","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L49"},"def":{"name":"find_bookings_for_approval","return_type":"Hash(String, Array(PlaceCalendar::Event))","visibility":"Public","body":"results = {} of String => Array(PlaceCalendar::Event)\nsystems.each do |level_id, system_ids|\n system_ids.each do |system_id|\n sys = system(system_id)\n if sys.exists?(\"Bookings\", 1)\n if bookings = (sys.get(\"Bookings\", 1)).status?(Array(PlaceCalendar::Event), \"bookings\")\n bookings.select! do |event|\n event.status == \"tentative\"\n end\n if bookings.empty?\n else\n results[system_id] = bookings\n end\n end\n end\n end\nend\nself[:approval_required] = results\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L33"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L42"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@building_id = nil\n@systems = nil\nschedule.clear\nschedule.every(1.hour) do\n @systems = get_systems_list.not_nil!\nend\nschedule.every(5.minutes) do\n find_bookings_for_approval\nend\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L14"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Router","path":"Place/Router.html","kind":"module","full_name":"Place::Router","name":"Router","abstract":false,"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Router/Core","path":"Place/Router/Core.html","kind":"module","full_name":"Place::Router::Core","name":"Core","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L11"},{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Core routing methods and functionality. This exists as module to enable\ninclusion in other drivers, such as room logic, that provide auxillary\nfunctionality to signal distribution.","summary":"

Core routing methods and functionality.

","instance_methods":[{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"load_siggraph"}},{"html_id":"route_signal(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route_signal","doc":"Routes signal from *input* to *output*.\n\nPerforms all intermediate device interaction based on current system\nconfig.","summary":"

Routes signal from input to output.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/router/core.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L178"},"def":{"name":"route_signal","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"requesting route from #{input} to #{output}\"\nend\nsrc, dst = resolver.values_at(input, output)\ndst_node = siggraph[dst]\nsrc_node = siggraph[src]\npath = (siggraph.route(src, dst, max_dist)) || (raise(\"no route found\"))\nexecs = path.compact_map do |__arg6|\n node = __arg6[0]\n edge = __arg6[1]\n next_node = __arg6[2]\n logger.debug do\n \"#{node} → #{next_node}\"\n end\n if next_node.locked\n raise(\"#{next_node} is locked, aborting\")\n end\n case edge\n in SignalGraph::Edge::Static\n nil\n in SignalGraph::Edge::Active\n Promise.defer(same_thread: true, timeout: 1.second) do\n next_node.source = siggraph[src].source\n if !simulate\n mod = proxy_for(edge.mod)\n case func = edge.func\n in SignalGraph::Edge::Func::Mute\n dst_layer = dst_node.ref.layer.downcase\n case dst_layer\n when \"audio\", \"video\"\n mod.mute(func.state, func.index, dst_layer)\n else\n mod.mute(func.state, func.index)\n end\n in SignalGraph::Edge::Func::Select\n mod.switch_to(func.input)\n in SignalGraph::Edge::Func::Switch\n mod.switch({func.input => [func.output]}, func.layer)\n end\n end\n nil\n end\n end\nend\nif follow_additional_routes\n routes = {} of String => Tuple(String, String, Int32 | ::Nil, Bool, Bool)\n if following_outputs = dst_node[\"followers\"]?.try(&.as_a)\n logger.debug do\n \"routing #{following_outputs.size} additional followers\"\n end\n following_outputs.each do |output_follow|\n routes[output_follow.as_s] = {input, output_follow.as_s, max_dist, simulate, false}\n end\n end\n ignore_source_routes = dst_node[\"ignore_source_routes\"]?.try(&.as_bool) || false\n if (!ignore_source_routes) && (additional_routes = src_node[\"perform_routes\"]?.try(&.as_h))\n logger.debug do\n \"perfoming #{additional_routes.size} additional routes\"\n end\n additional_routes.each do |ad_output, ad_input|\n routes[ad_output] = {ad_input.as_s, ad_output, max_dist, simulate, false}\n end\n end\n spawn(same_thread: true) do\n routes.each_value do |route|\n route_signal(*route)\n end\n end\nend\nlogger.debug do\n \"awaiting responses\"\nend\nexecs.each do |promise|\n begin\n promise.get\n rescue error\n logger.warn(exception: error) do\n \"processing route\"\n end\n end\nend\n:ok\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/NodeRef","path":"Place/Router/Core/NodeRef.html","kind":"alias","full_name":"Place::Router::Core::NodeRef","name":"NodeRef","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Ref","aliased_html":"Place::Router::SignalGraph::Node::Ref","const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"}},{"html_id":"drivers/Place/Router/Core/Settings","path":"Place/Router/Core/Settings.html","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections","path":"Place/Router/Core/Settings/Connections.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Types for representing the settings format for defining connections.","summary":"

Types for representing the settings format for defining connections.

","class_methods":[{"html_id":"parse(map:Map,sys:String)-class-method","name":"parse","doc":"Parses a `Map` containing the system conectivity into a set of nodes and\nlinks that can be used for assembling the `SignalGraph`.","summary":"

Parses a Map containing the system conectivity into a set of nodes and links that can be used for assembling the SignalGraph.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(map : Map, sys : String)","args_html":"(map : Map, sys : String)","location":{"filename":"src/place/router/settings.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L105"},"def":{"name":"parse","args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"nodes = [] of SignalGraph::Node::Ref\nlinks = [] of ::Tuple(SignalGraph::Node::Ref, SignalGraph::Node::Ref)\naliases = {} of String => SignalGraph::Node::Ref\nmake_alias = ->(name : String, node : SignalGraph::Node::Ref) do\n if prev = aliases[name]?\n raise(\"invalid configuration: \\\"#{name}\\\" refers to both #{prev} and #{node}\")\n end\n aliases[name] = node\nend\nmap.each do |sink, inputs|\n if sink.is_a?(Alias)\n source = inputs\n if source.is_a?(DeviceOutput)\n else\n raise(\"invalid configuration: \\\"#{sink}\\\" must link to a DeviceOutput\")\n end\n onode = SignalGraph::Output.new(sys, source.mod, source.idx, source.output, source.layer)\n nodes << onode\n make_alias.call(sink.name, onode)\n else\n if inputs.is_a?(DeviceOutput)\n raise(\"invalid configuration: \\\"#{sink}\\\" must specify inputs as either a hash or array\")\n end\n nodes << (SignalGraph::Device.new(sys, sink.mod, sink.idx))\n if inputs.is_a?(Array)\n inputs = (inputs.each.with_index(1)).map(&.reverse)\n end\n inputs.each do |input, input_source|\n inode = SignalGraph::Input.new(sys, sink.mod, sink.idx, input)\n nodes << inode\n if input_source.is_a?(Alias)\n make_alias.call(input_source.name, inode)\n next\n end\n onode = case input_source\n in Device\n SignalGraph::Device.new(sys, input_source.mod, input_source.idx)\n in DeviceOutput\n SignalGraph::Output.new(sys, input_source.mod, input_source.idx, input_source.output, input_source.layer)\n end\n nodes << onode\n links << {onode, inode}\n end\n end\nend\n{nodes, links, aliases}\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Alias","path":"Place/Router/Core/Settings/Connections/Alias.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Alias","name":"Alias","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Alias used to refer to a signal node that does not have an accompanying\nmodule. This can be useful for declaring the concept of a device that is\nattached to an input (e.g. `\"*Laptop\"`). All alias' must be prefixed with\nan asterisk ('*') within connections settings.","summary":"

Alias used to refer to a signal node that does not have an accompanying module.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L73"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n new(name)\nend"}}],"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@name.clone)"}},{"html_id":"copy_with(name_name=@name)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"args_string":"(name _name = @name)","args_html":"(name _name = @name)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"copy_with","args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"visibility":"Public","body":"self.class.new(_name)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","path":"Place/Router/Core/Settings/Connections/Deserializable.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"instance_methods":[{"html_id":"from_json_object_key?(key:String)-instance-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L16"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"parse?(key)"}},{"html_id":"get_parts(module_id:String):Tuple(String,Int32|Nil)-instance-method","name":"get_parts","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Tuple(String, Int32 | Nil)","args_html":"(module_id : String) : Tuple(String, Int32 | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L20"},"def":{"name":"get_parts","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"::Tuple(String, Int32 | ::Nil)","visibility":"Public","body":"mod_name, match, index = module_id.rpartition('_')\nif match.empty?\n {module_id, 1}\nelse\n {mod_name, index.to_i?}\nend\n"}},{"html_id":"parse?(raw:String)-instance-method","name":"parse?","abstract":true,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L14"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":""}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Device","path":"Place/Router/Core/Settings/Connections/Device.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Module name of a device within the local system e.g. `\"Switcher_1\"`.","summary":"

Module name of a device within the local system e.g.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L34"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod, idx = get_parts(raw)\nif idx\n new(mod, idx)\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"args_string":"(mod : String, idx : Int32)","args_html":"(mod : String, idx : Int32)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx)","args_html":"(mod _mod = @mod, idx _idx = @idx)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/DeviceOutput","path":"Place/Router/Core/Settings/Connections/DeviceOutput.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Reference to a specific output on a device that has multiple outputs.\nThis is a concatenation of the `Device` reference a `.` and the output.\nFor example, output 3 of Switcher_1 is `\"Switcher_1.3\"`.","summary":"

Reference to a specific output on a device that has multiple outputs.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L47"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod_name, match, outp = raw.rpartition('.')\nif !match.empty?\n mod, idx = get_parts(mod_name)\n if idx\n outp_idx, match, layer = outp.rpartition('!')\n if match.empty?\n output = outp.to_i? || outp\n new(mod, idx, output, nil)\n else\n output = outp_idx.to_i? || outp_idx\n new(mod, idx, output, layer)\n end\n end\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32,output:String|Int32,layer:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"args_string":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","args_html":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","args_html":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx, _output, _layer)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"layer:String|Nil-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String | ::Nil","visibility":"Public","body":"@layer"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"output:String|Int32-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"String | Int32","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Input","path":"Place/Router/Core/Settings/Connections/Input.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Identifier for the input on Sink.","summary":"

Identifier for the input on Sink.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Map","path":"Place/Router/Core/Settings/Connections/Map.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Map","name":"Map","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Structure for a full connection map.\n\n```json\n{\n \"Display_1\": {\n \"hdmi\": \"Switcher_1.1\"\n },\n \"Switcher_1\": [\"*Foo\", \"*Bar\"],\n \"*FloorBox\": \"Switcher_1.2\"\n}\n```","summary":"

Structure for a full connection map.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Sink","path":"Place/Router/Core/Settings/Connections/Sink.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Sink","name":"Sink","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L85"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device that recieves the signal.","summary":"

The device that recieves the signal.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Source","path":"Place/Router/Core/Settings/Connections/Source.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Source","name":"Source","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device a signal is originating from.","summary":"

The device a signal is originating from.

"}]},{"html_id":"drivers/Place/Router/Core/Settings/IOMeta","path":"Place/Router/Core/Settings/IOMeta.html","kind":"alias","full_name":"Place::Router::Core::Settings::IOMeta","name":"IOMeta","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, JSON::Any))","aliased_html":"Hash(String, Hash(String, JSON::Any))","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Input/outputs and their associated metadata. Attributes specified here are\nprogated to the assocated input status keys. This allows information such as\nname, type etc to be exposed to UI's.","summary":"

Input/outputs and their associated metadata.

"}]},{"html_id":"drivers/Place/Router/Core/SignalNode","path":"Place/Router/Core/SignalNode.html","kind":"struct","full_name":"Place::Router::Core::SignalNode","name":"SignalNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/core.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"doc":"Wrapper for providng simple interaction with a signal node and it's\nassociated driver.","summary":"

Wrapper for providng simple interaction with a signal node and it's associated driver.

","constructors":[{"html_id":"new(label:Place::Router::SignalGraph::Node::Label,proxy:Future::Compute(PlaceOS::Driver::Proxy::Driver))-class-method","name":"new","abstract":false,"args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"args_string":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","args_html":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","location":{"filename":"src/place/router/core.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L20"},"def":{"name":"new","args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(label, proxy)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"proxy-instance-method","name":"proxy","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L25"},"def":{"name":"proxy","visibility":"Public","body":"@proxy.get"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/core.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L29"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}},{"html_id":"watch(&handler:self->)-instance-method","name":"watch","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L33"},"def":{"name":"watch","yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"visibility":"Public","body":"@label.watch do\n handler.call(self)\nend"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/place/router/core.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L23"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" @label.\n{{ call }}\n\n \n"}}]}]},{"html_id":"drivers/Place/Router/Digraph","path":"Place/Router/Digraph.html","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Labelled digraph. Holds node labels of type *N* and edge labels of type *E*.\n\nNodes are stored on UInt64 ID's. This provides an interface that should feel\nsimilar to `Indexable` for interacting with nodes labels. Similarly edges can\nbe placed and retrieved by using a dual index of {predescessor, successor}.\n\nOPTIMIZE: replace with a sparse matrix and graphBLAS operations.","summary":"

Labelled digraph.

","constructors":[{"html_id":"new(initial_capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"args_string":"(initial_capacity = nil)","args_html":"(initial_capacity = nil)","location":{"filename":"src/place/router/digraph.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L19"},"def":{"name":"new","args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"visibility":"Public","body":"_ = Digraph(N, E).allocate\n_.initialize(initial_capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](pred_id,succ_id)-instance-method","name":"[]","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id)","args_html":"(pred_id, succ_id)","location":{"filename":"src/place/router/digraph.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L68"},"def":{"name":"[]","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"visibility":"Public","body":"fetch(pred_id, succ_id) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} does not exist\"))\nend"}},{"html_id":"[](id)-instance-method","name":"[]","doc":"Retrieves the label attached to node *id*.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L42"},"def":{"name":"[]","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).attr"}},{"html_id":"[]=(pred_id,succ_id,attr)-instance-method","name":"[]=","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(pred_id, succ_id, attr)","args_html":"(pred_id, succ_id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L81"},"def":{"name":"[]=","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(pred_id, succ_id, attr) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} already exists\"))\nend"}},{"html_id":"[]=(id,attr)-instance-method","name":"[]=","doc":"Insert a new node.","summary":"

Insert a new node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(id, attr)","args_html":"(id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L53"},"def":{"name":"[]=","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(id, attr) do\n raise(Error.new(\"Node #{id} already exists\"))\nend"}},{"html_id":"breadth_first_search(from,&:UInt64->Bool|Nil)-instance-method","name":"breadth_first_search","doc":"Perform a breadth first search across the graph, starting at *from*.\n\nEach node id is yielded as it's traversed. The search will terminate when\nthis block returns true. If `nil` is returned the node is skipped, but the\ntraversal continues.\n\nResults are provided as a Hash that includes all reached nodes as the keys,\nand their predecessor as the associated value.","summary":"

Perform a breadth first search across the graph, starting at from.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""}],"args_string":"(from, & : UInt64 -> Bool | Nil)","args_html":"(from, & : UInt64 -> Bool | Nil)","location":{"filename":"src/place/router/digraph.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L106"},"def":{"name":"breadth_first_search","args":[{"name":"from","external_name":"from","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"","external_name":"","restriction":"(UInt64 -> Bool | ::Nil)"},"visibility":"Public","body":"paths = Hash(UInt64, UInt64).new\nqueue = Deque(UInt64).new(1, from)\nwhile pred_id = queue.shift?\n (node(pred_id)).succ.each_key do |succ_id|\n if paths.has_key?(succ_id)\n next\n end\n done = yield succ_id\n if done.nil?\n next\n end\n paths[succ_id] = pred_id\n if done\n return paths\n end\n queue << succ_id\n end\nend\n"}},{"html_id":"clear(*args,**options)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@nodes.clear(*args, **options)"}},{"html_id":"clear(*args,**options,&)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@nodes.clear(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"fetch(pred_id,succ_id,&):E-instance-method","name":"fetch","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id, &) : E","args_html":"(pred_id, succ_id, &) : E","location":{"filename":"src/place/router/digraph.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L75"},"def":{"name":"fetch","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"yields":2,"block_arity":2,"return_type":"E","visibility":"Public","body":"succ_id = check_node_exists(succ_id)\n(node(pred_id)).succ.fetch(succ_id) do\n yield pred_id, succ_id\nend\n"}},{"html_id":"fetch(id,&):N-instance-method","name":"fetch","doc":"Retrieves the label attached to node *id*. Yields if it does not exist.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id, &) : N","args_html":"(id, &) : N","location":{"filename":"src/place/router/digraph.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L47"},"def":{"name":"fetch","args":[{"name":"id","external_name":"id","restriction":""}],"yields":1,"block_arity":1,"return_type":"N","visibility":"Public","body":"node = node(id) do\n return yield id\nend\nnode.attr\n"}},{"html_id":"indegree(id)-instance-method","name":"indegree","doc":"The number of incomming edges to *id*.","summary":"

The number of incomming edges to id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L183"},"def":{"name":"indegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"id = check_node_exists(id)\n@nodes.reduce(0) do |count, __arg1|\n node = __arg1[1]\n if node.succ.has_key?(id)\n count = count + 1\n end\n count\nend\n"}},{"html_id":"insert(pred_id,succ_id,attr:E,&)-instance-method","name":"insert","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"args_string":"(pred_id, succ_id, attr : E, &)","args_html":"(pred_id, succ_id, attr : E, &)","location":{"filename":"src/place/router/digraph.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L88"},"def":{"name":"insert","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"yields":2,"block_arity":2,"visibility":"Public","body":"succ_id = check_node_exists(succ_id)\npred = node(pred_id)\nif pred.succ.has_key?(succ_id)\n yield pred_id, succ_id\nelse\n pred.succ[succ_id] = attr\nend\n"}},{"html_id":"insert(id,attr:N,&)-instance-method","name":"insert","doc":"Inserts a node. Yields if it already exists.","summary":"

Inserts a node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"args_string":"(id, attr : N, &)","args_html":"(id, attr : N, &)","location":{"filename":"src/place/router/digraph.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L58"},"def":{"name":"insert","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"yields":1,"block_arity":1,"visibility":"Public","body":"id = id.to_u64\nif @nodes.has_key?(id)\n yield id\nelse\n @nodes[id] = Node(N, E).new(attr, {} of UInt64 => E)\nend\n"}},{"html_id":"nodes:Enumerable(UInt64)-instance-method","name":"nodes","doc":"Provides all nodes present within the graph.\n\nNOTE: ordering of nodes is _not_ defined.","summary":"

Provides all nodes present within the graph.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L149"},"def":{"name":"nodes","return_type":"Enumerable(UInt64)","visibility":"Public","body":"@nodes.each_key"}},{"html_id":"outdegree(id)-instance-method","name":"outdegree","doc":"The outgoing edges from *id*.","summary":"

The outgoing edges from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L178"},"def":{"name":"outdegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).succ.size"}},{"html_id":"path(from,to,invert=false):Enumerable(UInt64)|Nil-instance-method","name":"path","doc":"Returns a list of node IDs that form the shortest path between the passed\nnodes or `nil` if no path exists.","summary":"

Returns a list of node IDs that form the shortest path between the passed nodes or nil if no path exists.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"args_string":"(from, to, invert = false) : Enumerable(UInt64) | Nil","args_html":"(from, to, invert = false) : Enumerable(UInt64) | Nil","location":{"filename":"src/place/router/digraph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L130"},"def":{"name":"path","args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"return_type":"Enumerable(UInt64) | ::Nil","visibility":"Public","body":"from = check_node_exists(from)\nto = check_node_exists(to)\npaths = breadth_first_search(from, &.==(to))\nif paths.nil?\n return\nend\nnodes = [to]\nwhile !(nodes.last == from)\n nodes << paths[nodes.last]\nend\ninvert ? nodes : nodes.reverse!\n"}},{"html_id":"sink?(id):Bool-instance-method","name":"sink?","doc":"Checks if a node has incoming edges only.","summary":"

Checks if a node has incoming edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L154"},"def":{"name":"sink?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(outdegree(id)).zero? && (!(indegree(id)).zero?)"}},{"html_id":"sinks:Enumerable(UInt64)-instance-method","name":"sinks","doc":"Provides all nodes with incoming edges only.","summary":"

Provides all nodes with incoming edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L159"},"def":{"name":"sinks","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n sink?(id)\nend"}},{"html_id":"source?(id):Bool-instance-method","name":"source?","doc":"Checks if a node has outgoing edges only.","summary":"

Checks if a node has outgoing edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L164"},"def":{"name":"source?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(!(outdegree(id)).zero?) && (indegree(id)).zero?"}},{"html_id":"sources:Enumerable(UInt64)-instance-method","name":"sources","doc":"Provides all nodes with outgoing edges only.\n\nOPTIMIZE: this is _very_ slow [O(V * E)], but works for testing purposes.\nSwitching the sparse matrix should assist so not worth optimising for this\nsetup.","summary":"

Provides all nodes with outgoing edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L173"},"def":{"name":"sources","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n source?(id)\nend"}},{"html_id":"subtree(id):Enumerable(UInt64)-instance-method","name":"subtree","doc":"Provides all nodes reachable from *id*.","summary":"

Provides all nodes reachable from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Enumerable(UInt64)","args_html":"(id) : Enumerable(UInt64)","location":{"filename":"src/place/router/digraph.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L192"},"def":{"name":"subtree","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Enumerable(UInt64)","visibility":"Public","body":"id = check_node_exists(id)\nSubtreeIterator.new(self, id)\n"}}],"types":[{"html_id":"drivers/Place/Router/Digraph/Error","path":"Place/Router/Digraph/Error.html","kind":"class","full_name":"Place::Router::Digraph::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"}},{"html_id":"drivers/Place/Router/Digraph/Node","path":"Place/Router/Digraph/Node.html","kind":"struct","full_name":"Place::Router::Digraph::Node(N, E)","name":"Node","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"},"constructors":[{"html_id":"new(attr:N,succ:Hash(UInt64,E))-class-method","name":"new","abstract":false,"args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"args_string":"(attr : N, succ : Hash(UInt64, E))","args_html":"(attr : N, succ : Hash(UInt64, E))","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"new","args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"visibility":"Public","body":"_ = Node(N, E).allocate\n_.initialize(attr, succ)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attr:N-instance-method","name":"attr","abstract":false,"def":{"name":"attr","return_type":"N","visibility":"Public","body":"@attr"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@attr.clone, @succ.clone)"}},{"html_id":"copy_with(attr_attr=@attr,succ_succ=@succ)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"args_string":"(attr _attr = @attr, succ _succ = @succ)","args_html":"(attr _attr = @attr, succ _succ = @succ)","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"copy_with","args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"visibility":"Public","body":"self.class.new(_attr, _succ)"}},{"html_id":"succ:Hash(UInt64,E)-instance-method","name":"succ","abstract":false,"def":{"name":"succ","return_type":"Hash(UInt64, E)","visibility":"Public","body":"@succ"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph","path":"Place/Router/SignalGraph.html","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L11"},{"filename":"src/place/router/signal_graph/edge.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L3"},{"filename":"src/place/router/signal_graph/mod.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L5"},{"filename":"src/place/router/signal_graph/node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L5"},{"filename":"src/place/router/signal_graph/watchable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Structures and types for mapping between sys,mod,idx,io referencing and the\nunderlying graph structure.\n\nThe SignalGraph class _does not_ perform any direct interaction with devices,\nbut does provide the ability to discover routes and available connectivity\nwhen may then be acted on.","summary":"

Structures and types for mapping between sys,mod,idx,io referencing and the underlying graph structure.

","class_methods":[{"html_id":"build(nodes:Enumerable(Node::Ref),links:Enumerable(Tuple(Node::Ref,Node::Ref)))-class-method","name":"build","doc":"Construct a graph from a pre-parsed configuration.\n\n*nodes* must contain the set of all signal nodes that form the device inputs\nand outputs across the system. This includes those at the \"edge\" of the\nsignal network (e.g. a input to a switcher) as well as inputs in use on\nintermediate devices (e.g. a input on a display, which in turn is attached to\nthe switcher above).\n\n*links* declares the interconnections between devices.\n\nModules associated with any of these nodes are then introspected for\nswitching, input selection and mute control based on the interfaces they\nexpose.","summary":"

Construct a graph from a pre-parsed configuration.

","abstract":false,"args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"args_string":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","args_html":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","location":{"filename":"src/place/router/signal_graph.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L93"},"def":{"name":"build","args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"visibility":"Public","body":"mod_io = Hash(Mod, ::Tuple(Set(Input), Set(Output))).new do |h, k|\n h[k] = {Set(Input).new, Set(Output).new}\nend\nsiggraph = new(initial_capacity: nodes.size)\nsiggraph.insert(Mute)\nnodes.each do |node|\n siggraph.insert(node)\n case node\n when Input\n inputs, _ = mod_io[node.mod]\n inputs << node\n when Output\n _, outputs = mod_io[node.mod]\n outputs << node\n end\nend\nlinks.each do |source, dest|\n siggraph.connect(source, dest)\nend\nmod_io.each do |mod, __arg0|\n inputs = __arg0[0]\n outputs = __arg0[1]\n siggraph.link(mod, inputs, outputs)\nend\nsiggraph.inputs.each do |node|\n node.source = node.ref\nend\nsiggraph\n"}}],"instance_methods":[{"html_id":"[](node:Node::Ref)-instance-method","name":"[]","doc":"Retrieves the labelled state for *node*.","summary":"

Retrieves the labelled state for node.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref)","args_html":"(node : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L130"},"def":{"name":"[]","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"visibility":"Public","body":"g[node.id]"}},{"html_id":"[](node_id)-instance-method","name":"[]","doc":"Retrieves the labelled state for the signal node at *node_id*.","summary":"

Retrieves the labelled state for the signal node at node_id.

","abstract":false,"args":[{"name":"node_id","external_name":"node_id","restriction":""}],"args_string":"(node_id)","args_html":"(node_id)","location":{"filename":"src/place/router/signal_graph.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L135"},"def":{"name":"[]","args":[{"name":"node_id","external_name":"node_id","restriction":""}],"visibility":"Public","body":"g[node_id]"}},{"html_id":"input?(node:Node::Ref):Bool-instance-method","name":"input?","doc":"Checks if *node* is a system input.","summary":"

Checks if node is a system input.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L161"},"def":{"name":"input?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.sink?(node.id)"}},{"html_id":"inputs(destination:Node::Ref)-instance-method","name":"inputs","doc":"Provide all signal nodes that can be routed to *destination*.","summary":"

Provide all signal nodes that can be routed to destination.

","abstract":false,"args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"args_string":"(destination : Node::Ref)","args_html":"(destination : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L172"},"def":{"name":"inputs","args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"visibility":"Public","body":"(g.subtree(destination.id)).map do |id|\n g[id]\nend"}},{"html_id":"inputs-instance-method","name":"inputs","doc":"Provide the signal nodes that form system inputs.","summary":"

Provide the signal nodes that form system inputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L166"},"def":{"name":"inputs","visibility":"Public","body":"g.sinks.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"output?(node:Node::Ref):Bool-instance-method","name":"output?","doc":"Checks if *node* is a system output.","summary":"

Checks if node is a system output.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L177"},"def":{"name":"output?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.source?(node.id)"}},{"html_id":"outputs-instance-method","name":"outputs","doc":"Provide the signal nodes that form system outputs.","summary":"

Provide the signal nodes that form system outputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L182"},"def":{"name":"outputs","visibility":"Public","body":"g.sources.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"route(source:Node::Ref,destination:Node::Ref,max_dist=nil)-instance-method","name":"route","doc":"Find the signal path that connects *source* to *dest*, or `nil` if this is\nnot possible.\n\nProvides an `Iterator` that provides labels across each node, the edge, and\nsubsequent node.","summary":"

Find the signal path that connects source to dest, or nil if this is not possible.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"args_string":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","args_html":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","location":{"filename":"src/place/router/signal_graph.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L144"},"def":{"name":"route","args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"visibility":"Public","body":"path = g.path(destination.id, source.id, invert: true)\nif path\nelse\n return nil\nend\nif max_dist && path.size > max_dist\n return nil\nend\n(path.each_cons(2, true)).map do |__arg1|\n succ = __arg1[0]\n pred = __arg1[1]\n {g[succ], g[pred, succ], g[pred]}\nend\n"}}],"types":[{"html_id":"drivers/Place/Router/SignalGraph/Device","path":"Place/Router/SignalGraph/Device.html","kind":"alias","full_name":"Place::Router::SignalGraph::Device","name":"Device","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Device","aliased_html":"Place::Router::SignalGraph::Node::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge","path":"Place/Router/SignalGraph/Edge.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Active","path":"Place/Router/SignalGraph/Edge/Active.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Active","name":"Active","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"new(mod:Mod,func:Func::Type)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"args_string":"(mod : Mod, func : Func::Type)","args_html":"(mod : Mod, func : Func::Type)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, func)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @func.clone)"}},{"html_id":"copy_with(mod_mod=@mod,func_func=@func)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"args_string":"(mod _mod = @mod, func _func = @func)","args_html":"(mod _mod = @mod, func _func = @func)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _func)"}},{"html_id":"func:Func::Type-instance-method","name":"func","abstract":false,"def":{"name":"func","return_type":"Func::Type","visibility":"Public","body":"@func"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","path":"Place/Router/SignalGraph/Edge/Func.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Mute","path":"Place/Router/SignalGraph/Edge/Func/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(state:Bool,index:Int32|String=0)-class-method","name":"new","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool, index : Int32 | String = 0)","args_html":"(state : Bool, index : Int32 | String = 0)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"new","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(state, index)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@state.clone, @index.clone)"}},{"html_id":"copy_with(state_state=@state,index_index=@index)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"args_string":"(state _state = @state, index _index = @index)","args_html":"(state _state = @state, index _index = @index)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"copy_with","args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"visibility":"Public","body":"self.class.new(_state, _index)"}},{"html_id":"index:Int32|String-instance-method","name":"index","abstract":false,"def":{"name":"index","return_type":"Int32 | String","visibility":"Public","body":"@index"}},{"html_id":"state:Bool-instance-method","name":"state","abstract":false,"def":{"name":"state","return_type":"Bool","visibility":"Public","body":"@state"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Select","path":"Place/Router/SignalGraph/Edge/Func/Select.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Select","name":"Select","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"args_string":"(input : Int32 | String)","args_html":"(input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone)"}},{"html_id":"copy_with(input_input=@input)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"args_string":"(input _input = @input)","args_html":"(input _input = @input)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"visibility":"Public","body":"self.class.new(_input)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Switch","path":"Place/Router/SignalGraph/Edge/Func/Switch.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String,output:Int32|String,layer:String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"args_string":"(input : Int32 | String, output : Int32 | String, layer : String)","args_html":"(input : Int32 | String, output : Int32 | String, layer : String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Type","path":"Place/Router/SignalGraph/Edge/Func/Type.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Func::Type","name":"Type","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch)","aliased_html":"Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Label","path":"Place/Router/SignalGraph/Edge/Label.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Label","name":"Label","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static)","aliased_html":"Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Static","path":"Place/Router/SignalGraph/Edge/Static.html","kind":"class","full_name":"Place::Router::SignalGraph::Edge::Static","name":"Static","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L8"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Input","path":"Place/Router/SignalGraph/Input.html","kind":"alias","full_name":"Place::Router::SignalGraph::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceInput","aliased_html":"Place::Router::SignalGraph::Node::DeviceInput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Mod","path":"Place/Router/SignalGraph/Mod.html","kind":"class","full_name":"Place::Router::SignalGraph::Mod","name":"Mod","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/mod.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"doc":"Reference to a PlaceOS module that provides IO nodes within the graph.","summary":"

Reference to a PlaceOS module that provides IO nodes within the graph.

","class_methods":[{"html_id":"parse?(ref)-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref)","args_html":"(ref)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L44"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"visibility":"Public","body":"if m = ref.match(/^(.+)\\/(.+)\\_(\\d+)$/)\n sys = m[1]\n mod = m[2]\n idx = m[3].to_i\n new(sys, mod, idx)\nend"}}],"constructors":[{"html_id":"new(sys:String,name:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"args_string":"(sys : String, name : String, idx : Int32)","args_html":"(sys : String, name : String, idx : Int32)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L14"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"==(other:self)-instance-method","name":"==","doc":"Returns `true` if this reference is the same as *other*. Invokes `same?`.","summary":"

Returns true if this reference is the same as other.

","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"self"}],"args_string":"(other : self)","args_html":"(other : self)","def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"self"}],"visibility":"Public","body":"if same?(other)\n return true\nend\nif @id == (other.@id)\nelse\n return false\nend\ntrue\n"}},{"html_id":"audio_muteable?-instance-method","name":"audio_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"audio_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::AudioMuteable\".in?(metadata.implements)"}},{"html_id":"camera?-instance-method","name":"camera?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"camera?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Camera\".in?(metadata.implements)"}},{"html_id":"door_security?-instance-method","name":"door_security?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"door_security?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::DoorSecurity\".in?(metadata.implements)"}},{"html_id":"electrical_relay?-instance-method","name":"electrical_relay?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"electrical_relay?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::ElectricalRelay\".in?(metadata.implements)"}},{"html_id":"hash(hasher)-instance-method","name":"hash","doc":"See `Object#hash(hasher)`","summary":"

See Object#hash(hasher)

","abstract":false,"args":[{"name":"hasher","external_name":"hasher","restriction":""}],"args_string":"(hasher)","args_html":"(hasher)","def":{"name":"hash","args":[{"name":"hasher","external_name":"hasher","restriction":""}],"visibility":"Public","body":"hasher = @id.hash(hasher)\nhasher\n"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L12"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L10"},"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"input_muteable?-instance-method","name":"input_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputMuteable\".in?(metadata.implements)"}},{"html_id":"input_selection?-instance-method","name":"input_selection?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_selection?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputSelection\".in?(metadata.implements)"}},{"html_id":"lighting?-instance-method","name":"lighting?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lighting?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lighting\".in?(metadata.implements)"}},{"html_id":"locatable?-instance-method","name":"locatable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"locatable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Locatable\".in?(metadata.implements)"}},{"html_id":"lockers?-instance-method","name":"lockers?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lockers?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lockers\".in?(metadata.implements)"}},{"html_id":"mailer?-instance-method","name":"mailer?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"mailer?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Mailer\".in?(metadata.implements)"}},{"html_id":"metadata-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L19"},"def":{"name":"metadata","visibility":"Public","body":"(PlaceOS::Driver::Proxy::System.driver_metadata?(id)).not_nil!"}},{"html_id":"moveable?-instance-method","name":"moveable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"moveable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Moveable\".in?(metadata.implements)"}},{"html_id":"muteable?-instance-method","name":"muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Muteable\".in?(metadata.implements)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L9"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"powerable?-instance-method","name":"powerable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"powerable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Powerable\".in?(metadata.implements)"}},{"html_id":"selectable?-instance-method","name":"selectable?","doc":"FIXME: drop if / after renaming InputSelection -> Selectable","summary":"

FIXME drop if / after renaming InputSelection -> Selectable

","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"selectable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Selectable\".in?(metadata.implements)"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sensor?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Sensor\".in?(metadata.implements)"}},{"html_id":"sms?-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sms?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::SMS\".in?(metadata.implements)"}},{"html_id":"stoppable?-instance-method","name":"stoppable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"stoppable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Stoppable\".in?(metadata.implements)"}},{"html_id":"switchable?-instance-method","name":"switchable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"switchable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Switchable\".in?(metadata.implements)"}},{"html_id":"sys:String-instance-method","name":"sys","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L8"},"def":{"name":"sys","return_type":"String","visibility":"Public","body":"@sys"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L40"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((((io << sys) << '/') << name) << '_') << idx"}},{"html_id":"video_muteable?-instance-method","name":"video_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"video_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::VideoMuteable\".in?(metadata.implements)"}},{"html_id":"zoomable?-instance-method","name":"zoomable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"zoomable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Zoomable\".in?(metadata.implements)"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node","path":"Place/Router/SignalGraph/Node.html","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","path":"Place/Router/SignalGraph/Node/Device.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to the default / central node for a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1\n │ │ │\n │ │ └module index\n │ └module name\n └system\n","summary":"

Reference to the default / central node for a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L150"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if mod = Mod.parse?(ref)\n new(mod)\nend"}}],"constructors":[{"html_id":"new(sys,name,idx)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"args_string":"(sys, name, idx)","args_html":"(sys, name, idx)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L139"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"args_string":"(mod : Place::Router::SignalGraph::Mod)","args_html":"(mod : Place::Router::SignalGraph::Mod)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L143"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L137"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L146"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","path":"Place/Router/SignalGraph/Node/DeviceInput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L207"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal input to a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1:hdmi\n │ │ │ │\n │ │ │ └input\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal input to a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L222"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, i = ref.rpartition(':')\nif mod = Mod.parse?(m)\n input = i.to_i? || i\n new(mod, input)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(sys, name, idx, input : Int32 | String)","args_html":"(sys, name, idx, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L211"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L215"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L209"},"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L208"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L218"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << ':') << input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","path":"Place/Router/SignalGraph/Node/DeviceOutput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal output from a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Switcher_1.1!video\n │ │ │ │ │_layer\n │ │ │ └output\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal output from a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L187"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, o = ref.rpartition('.')\nif mod = Mod.parse?(m)\n output = o.to_i? || o\n new(mod, output)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,output:Int32|String,layer)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"args_string":"(sys, name, idx, output : Int32 | String, layer)","args_html":"(sys, name, idx, output : Int32 | String, layer)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L173"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,output:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L178"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, output)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L171"},"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L169"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L170"},"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L182"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << '.') << output\nif @layer == DEFAULT_LAYER\nelse\n (io << '!') << @layer\nend\n"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","path":"Place/Router/SignalGraph/Node/Label.html","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Metadata tracked against each signal node.","summary":"

Metadata tracked against each signal node.

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(ref:Place::Router::SignalGraph::Node::Ref)-class-method","name":"new","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"args_string":"(ref : Place::Router::SignalGraph::Node::Ref)","args_html":"(ref : Place::Router::SignalGraph::Node::Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L12"},"def":{"name":"new","args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ref)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(key,value:JSON::Any)-instance-method","name":"[]=","doc":"Sets a metadata property of `self`.","summary":"

Sets a metadata property of self.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(key, value : JSON::Any)","args_html":"(key, value : JSON::Any)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Int)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"args_string":"(key, value : Int)","args_html":"(key, value : Int)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Float)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"args_string":"(key, value : Float)","args_html":"(key, value : Float)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Array)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"args_string":"(key, value : Array)","args_html":"(key, value : Array)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Hash)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"args_string":"(key, value : Hash)","args_html":"(key, value : Hash)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"locked:Bool-instance-method","name":"locked","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L27"},"def":{"name":"locked","return_type":"Bool","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool)-instance-method","name":"locked=","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"args_string":"(locked : Bool)","args_html":"(locked : Bool)","def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"visibility":"Public","body":"(previous_def(locked)).tap do\n notify\nend"}},{"html_id":"meta:Hash(String,JSON::Any)-instance-method","name":"meta","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L33"},"def":{"name":"meta","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @meta).nil?\n @meta = (Hash(String, JSON::Any).new)\nelse\n value\nend"}},{"html_id":"meta=(meta:Hash(String,JSON::Any))-instance-method","name":"meta=","abstract":false,"args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"args_string":"(meta : Hash(String, JSON::Any))","args_html":"(meta : Hash(String, JSON::Any))","def":{"name":"meta=","args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"(previous_def(meta)).tap do\n notify\nend"}},{"html_id":"ref:Ref-instance-method","name":"ref","doc":"The `Node::Ref` used when creating this node.","summary":"

The Node::Ref used when creating this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L20"},"def":{"name":"ref","return_type":"Ref","visibility":"Public","body":"@ref"}},{"html_id":"source:Ref|Nil-instance-method","name":"source","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L23"},"def":{"name":"source","return_type":"Ref | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:Ref|Nil)-instance-method","name":"source=","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"args_string":"(source : Ref | Nil)","args_html":"(source : Ref | Nil)","def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"visibility":"Public","body":"(previous_def(source)).tap do\n notify\nend"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L15"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","path":"Place/Router/SignalGraph/Node/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Virtual node representing (any) mute source.\n\nThis may be refernced simply as `MUTE`.","summary":"

Virtual node representing (any) mute source.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L247"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if ref.upcase.ends_with?(\"MUTE\")\n instance\nend"}}],"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L235"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}],"instance_methods":[{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L240"},"def":{"name":"id","visibility":"Public","body":"0_u64"}},{"html_id":"mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L244"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L252"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << \"MUTE\""}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","path":"Place/Router/SignalGraph/Node/Ref.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"subclasses":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Base structure for referring to a node within the graph.","summary":"

Base structure for referring to a node within the graph.

","class_methods":[{"html_id":"resolve?(key:String,sys=nil)-class-method","name":"resolve?","doc":"Resolves a string-based node *key* to a fully-qualified reference.\n\nIf a system component is not present within *key*, this is resolved\nwithin the context of *sys*. For example:\n\n Ref.resolve(\"Display_1:hdmi\", \"sys-abc123\")\n # => DeviceInput(sys: \"sys-abc123\", mod: {\"Display\", 1}, input: \"hdmi\")\n","summary":"

Resolves a string-based node key to a fully-qualified reference.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"args_string":"(key : String, sys = nil)","args_html":"(key : String, sys = nil)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L81"},"def":{"name":"resolve?","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"visibility":"Public","body":"ref = key.includes?('/') ? key : \"#{sys}/#{key}\"\n{% if true %}\n {% for type in @type.subclasses %}\n {{ type }}.parse?(ref) || \\\n {% end %}\n nil\n {% end %}\n"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"==(other:Ref)-instance-method","name":"==","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"Ref"}],"args_string":"(other : Ref)","args_html":"(other : Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L104"},"def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"Ref"}],"visibility":"Public","body":"id == other.id"}},{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L92"},"def":{"name":"id","visibility":"Public","body":"self.class.hash ^ self.hash"}},{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"initialize","visibility":"Public","body":""}},{"html_id":"layer-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L100"},"def":{"name":"layer","visibility":"Public","body":"DEFAULT_LAYER"}},{"html_id":"local(sys:String)-instance-method","name":"local","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(sys : String)","args_html":"(sys : String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L108"},"def":{"name":"local","args":[{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"to_s.lchop(\"#{sys}/\")"}},{"html_id":"mod-instance-method","name":"mod","abstract":true,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L96"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_json(json)-instance-method","name":"to_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":""}],"args_string":"(json)","args_html":"(json)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L112"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":""}],"visibility":"Public","body":"json.string(to_s)"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Output","path":"Place/Router/SignalGraph/Output.html","kind":"alias","full_name":"Place::Router::SignalGraph::Output","name":"Output","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceOutput","aliased_html":"Place::Router::SignalGraph::Node::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","path":"Place/Router/SignalGraph/Watchable.html","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/watchable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"instance_methods":[{"html_id":"notify:Nil-instance-method","name":"notify","doc":"Notify subscribers with current state.","summary":"

Notify subscribers with current state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L10"},"def":{"name":"notify","return_type":"Nil","visibility":"Public","body":"@subscribers.try(&.each(&.call(self)))"}},{"html_id":"watch(initial=true,&handler:self->):Nil-instance-method","name":"watch","doc":"Subscribe to updates.","summary":"

Subscribe to updates.

","abstract":false,"args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"args_string":"(initial = true, &handler : self -> ) : Nil","args_html":"(initial = true, &handler : self -> ) : Nil","location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L4"},"def":{"name":"watch","args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"return_type":"Nil","visibility":"Public","body":"subscribers << handler\nif initial\n handler.call(self)\nend\n"}}]}]}]},{"html_id":"drivers/Place/SensorShutdown","path":"Place/SensorShutdown.html","kind":"class","full_name":"Place::SensorShutdown","name":"SensorShutdown","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/sensor_shutdown.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"event_in_progress?:Bool-instance-method","name":"event_in_progress?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L22"},"def":{"name":"event_in_progress?","return_type":"Bool","visibility":"Public","body":"@event_in_progress"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"timeout_ad_hoc = (setting?(UInt32, :timeout_ad_hoc)) || 15_u32.minutes\ntimeout_booked = (setting?(UInt32, :timeout_booked)) || 30_u32.minutes\nsubscriptions.clear\nbookings.subscribe(:status) do |_sub, status|\n update_status(status != \"\\\"free\\\"\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nav_control.subscribe(:active) do |_sub, active|\n update_room_power_state(active == \"true\")\nend\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L23"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}},{"html_id":"room_powered_on?:Bool-instance-method","name":"room_powered_on?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L25"},"def":{"name":"room_powered_on?","return_type":"Bool","visibility":"Public","body":"@room_powered_on"}},{"html_id":"sensor_stale?:Bool-instance-method","name":"sensor_stale?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L24"},"def":{"name":"sensor_stale?","return_type":"Bool","visibility":"Public","body":"@sensor_stale"}},{"html_id":"timer_active?:Bool-instance-method","name":"timer_active?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L27"},"def":{"name":"timer_active?","return_type":"Bool","visibility":"Public","body":"@timer_active"}}]},{"html_id":"drivers/Place/Smtp","path":"Place/Smtp.html","kind":"class","full_name":"Place::Smtp","name":"Smtp","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/smtp.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/smtp.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L94"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/smtp.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L90"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"defaults = URI.parse(config.uri.not_nil!)\ntls_mode = if scheme = defaults.scheme\n scheme.ends_with?('s') ? EMail::Client::TLSMode::SMTPS : EMail::Client::TLSMode::STARTTLS\nelse\n EMail::Client::TLSMode::STARTTLS\nend\nport = defaults.port || 587\nhost = defaults.host || \"smtp.host\"\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@sender = (setting?(String, :sender)) || \"support@place.tech\"\n@host = (setting?(String, :host)) || host\n@port = (setting?(Int32, :port)) || port\n@tls_mode = (setting?(EMail::Client::TLSMode, :tls_mode)) || tls_mode\n@ssl_verify_ignore = (setting?(Bool, :ssl_verify_ignore)) || false\n@smtp_client = new_smtp_client\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil,reply_to:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/smtp.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L98"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"if to.is_a?(Array)\nelse\n to = {to}\nend\nif from.nil? || from.is_a?(Array)\nelse\n from = {from}\nend\nif cc.nil? || cc.is_a?(Array)\nelse\n cc = {cc}\nend\nif bcc.nil? || bcc.is_a?(Array)\nelse\n bcc = {bcc}\nend\nif reply_to.nil? || reply_to.is_a?(Array)\nelse\n reply_to = {reply_to}\nend\nmessage = EMail::Message.new\nmessage.subject(subject)\nmessage.sender(@sender)\nif from.nil? || from.empty?\n message.from(@sender)\nelse\n from.each do |_from|\n message.from(_from)\n end\nend\nto.each do |_to|\n message.to(_to)\nend\nbcc.each do |_bcc|\n message.bcc(_bcc)\nend\ncc.each do |_cc|\n message.cc(_cc)\nend\nif reply_to\n reply_to.each do |_reply|\n message.reply_to(_reply)\n end\nend\nif message_plaintext.presence.nil?\nelse\n message.message(message_plaintext.as(String))\nend\nif message_html.presence.nil?\nelse\n message.message_html(message_html.as(String))\nend\n{resource_attachments, attachments}.map(&.each).each.flatten.each do |attachment|\n attachment_io = IO::Memory.new\n Base64.decode(attachment[:content], attachment_io)\n attachment_io.rewind\n case attachment\n in Attachment\n message.attach(io: attachment_io, file_name: attachment[:file_name])\n in ResourceAttachment\n message.message_resource(io: attachment_io, file_name: attachment[:file_name], cid: attachment[:content_id])\n end\nend\nsent = false\n@send_lock.synchronize do\n smtp_client.start do\n sent = send(message)\n end\nend\nsent\n"}}]},{"html_id":"drivers/Place/SpecHelper","path":"Place/SpecHelper.html","kind":"class","full_name":"Place::SpecHelper","name":"SpecHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/spec_helper.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/spec_helper.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"implemented_in_driver-instance-method","name":"implemented_in_driver","doc":"This method will be exposed on the module","summary":"

This method will be exposed on the module

","abstract":false,"location":{"filename":"src/place/spec_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/spec_helper.cr#L5"},"def":{"name":"implemented_in_driver","visibility":"Public","body":"\"woot!\""}}]},{"html_id":"drivers/Place/StaffAPI","path":"Place/StaffAPI.html","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve(booking_id:String|Int64)-instance-method","name":"approve","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":518,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L518"},"def":{"name":"approve","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"approving booking #{booking_id}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/approve\", headers: authentication)\nif response.success?\nelse\n raise(\"issue approving booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_check_in(booking_id:String|Int64,state:Bool=true,utm_source:String|Nil=nil)-instance-method","name":"booking_check_in","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L534"},"def":{"name":"booking_check_in","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"checking in booking #{booking_id} to: #{state}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n form.add(\"state\", state.to_s)\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/check_in?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue checking in booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_delete(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"booking_delete","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L547"},"def":{"name":"booking_delete","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = delete(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_state(booking_id:String|Int64,state:String)-instance-method","name":"booking_state","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(booking_id : String | Int64, state : String)","args_html":"(booking_id : String | Int64, state : String)","location":{"filename":"src/place/staff_api.cr","line_number":526,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L526"},"def":{"name":"booking_state","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id} state to: #{state}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/update_state?state=#{state}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"chat_members(session_id:String):Array(String)-instance-method","name":"chat_members","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String) : Array(String)","args_html":"(session_id : String) : Array(String)","location":{"filename":"src/place/staff_api.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L187"},"def":{"name":"chat_members","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"SimpleRetry.try_to(max_attempts: 3, base_interval: 1.second, max_interval: 5.seconds) do\n response = get(\"/api/engine/v2/webrtc/members/#{session_id}\", headers: authentication)\n if response.success?\n else\n raise(\"webrtc service possibly unavailable\")\n end\n Array(String).from_json(response.not_nil!.body)\nend"}},{"html_id":"create_booking(booking_type:String,asset_id:String,user_id:String,user_email:String,user_name:String,zones:Array(String),booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,checked_in:Bool=false,approved:Bool|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,time_zone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,utm_source:String|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"create_booking","doc":"===================================\nBOOKINGS ACTIONS\n===================================","summary":"

=================================== BOOKINGS ACTIONS ===================================

","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":408,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L408"},"def":{"name":"create_booking","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"now = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nbooking_start || (booking_start = now.at_beginning_of_day.to_unix)\nbooking_end || (booking_end = now.at_end_of_day.to_unix)\nif checked_in\n checked_in_at = now.to_unix\nend\nlogger.debug do\n \"creating a #{booking_type} booking, starting #{booking_start}, asset #{asset_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"booking_type\" => booking_type, \"asset_id\" => asset_id, \"user_id\" => user_id, \"user_email\" => user_email, \"user_name\" => user_name, \"zones\" => zones, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"approved\" => approved, \"title\" => title, \"description\" => description, \"timezone\" => time_zone, \"extension_data\" => extension_data || (JSON.parse(\"{}\"))}.compact.to_json)\nif response.success?\nelse\n raise(\"issue creating #{booking_type} booking, starting #{booking_start}, asset #{asset_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"create_user(body_json:String)-instance-method","name":"create_user","abstract":false,"args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(body_json : String)","args_html":"(body_json : String)","location":{"filename":"src/place/staff_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L104"},"def":{"name":"create_user","args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/users\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to create user: #{response.status_code}\")\nend\nPlaceOS::Client::API::Models::User.from_json(response.body)\n"}},{"html_id":"delete_event(system_id:String,event_id:String)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(system_id : String, event_id : String)","args_html":"(system_id : String, event_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L314"},"def":{"name":"delete_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"response = delete(\"/api/staff/v1/events/#{event_id}?system_id=#{system_id}\", headers: authentication)\nif response.success? || (response.status_code == 404)\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"delete_user(id:String,force_removal:Bool=false):Nil-instance-method","name":"delete_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"args_string":"(id : String, force_removal : Bool = false) : Nil","args_html":"(id : String, force_removal : Bool = false) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L122"},"def":{"name":"delete_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = delete(\"/api/engine/v2/users/#{id}?force_removal=#{force_removal}\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to delete user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L655"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"getting booking #{booking_id}\"\nend\nresponse = get(\"/api/staff/v1/bookings/#{booking_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue getting booking #{booking_id}: #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_event(event_id:String,system_id:String|Nil=nil,calendar:String|Nil=nil)-instance-method","name":"get_event","doc":"gets an event from either the `system_id` or `calendar` if only one is provided\nif both are provided, it gets the event from `calendar` and the metadata from `system_id`\nNOTE:: the use of `calendar` will typically not work from a driver unless the X-API-Key\n has read access to it. From a driver perspective you should probably use a\n dedicated Calendar driver with application access and the query_metadata function\n below if metadata is required: `query_metadata(system_id: \"sys\", event_ref: [\"id\", \"uuid\"])`","summary":"

gets an event from either the system_id or calendar if only one is provided if both are provided, it gets the event from calendar and the metadata from system_id NOTE:: the use of calendar will typically not work from a driver unless the X-API-Key has read access to it.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"args_string":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","args_html":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L286"},"def":{"name":"get_event","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"visibility":"Public","body":"if calendar.presence || system_id.presence\nelse\n raise(ArgumentError.new(\"requires system_id or calendar param\"))\nend\nparams = URI::Params.build do |form|\n if calendar.presence\n form.add(\"calendar\", calendar.to_s)\n end\n if system_id.presence\n form.add(\"system_id\", system_id.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events/#{event_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L666"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting survey_invites (survey #{survey_id}, sent #{sent})\"\nend\nparams = URI::Params.new\nif survey_id\n params[\"survey_id\"] = survey_id.to_s\nend\nif sent.nil?\nelse\n params[\"sent\"] = sent.to_s\nend\nresponse = get(\"/api/staff/v1/surveys/invitations\", params, headers: authentication)\nif response.success?\nelse\n raise(\"issue getting survey invitations (survey #{survey_id}, sent #{sent}): #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_system(id:String,complete:Bool=false)-instance-method","name":"get_system","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"args_string":"(id : String, complete : Bool = false)","args_html":"(id : String, complete : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L39"},"def":{"name":"get_system","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"visibility":"Public","body":"response = get(\"/api/engine/v2/systems/#{id}?complete=#{complete}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for system id #{id}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing system #{id}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"guest_details(guest_id:String)-instance-method","name":"guest_details","doc":"===================================\nGuest details\n===================================","summary":"

=================================== Guest details ===================================

","abstract":false,"args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"args_string":"(guest_id : String)","args_html":"(guest_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L203"},"def":{"name":"guest_details","args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/guests/#{guest_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"kick_user(user_id:String,session_id:String,reason:String)-instance-method","name":"kick_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"args_string":"(user_id : String, session_id : String, reason : String)","args_html":"(user_id : String, session_id : String, reason : String)","location":{"filename":"src/place/staff_api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L180"},"def":{"name":"kick_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/webrtc/kick/#{user_id}/#{session_id}\", headers: authentication, body: {reason: reason}.to_json)\nresponse.status_code\n"}},{"html_id":"merge_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"merge_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":379,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L379"},"def":{"name":"merge_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.merge(id, key, payload, description)"}},{"html_id":"metadata(id:String,key:String|Nil=nil)-instance-method","name":"metadata","doc":"===================================\nZONE METADATA\n===================================","summary":"

=================================== ZONE METADATA ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L365"},"def":{"name":"metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.fetch(id, key)"}},{"html_id":"metadata_children(id:String,key:String|Nil=nil)-instance-method","name":"metadata_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":369,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L369"},"def":{"name":"metadata_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.children(id, key)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L26"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = (setting(String, :api_key)) || \"\"\nif @api_key.presence\n @access_expires = 30.years.from_now\nend\n@place_domain = URI.parse(config.uri.not_nil!)\n@host_header = (setting?(String, :host_header)) || @place_domain.host.not_nil!\n"}},{"html_id":"patch_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"patch_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L320"},"def":{"name":"patch_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"query_bookings(type:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,zones:Array(String)=[]ofString,user:String|Nil=nil,email:String|Nil=nil,state:String|Nil=nil,created_before:Int64|Nil=nil,created_after:Int64|Nil=nil,approved:Bool|Nil=nil,rejected:Bool|Nil=nil,checked_in:Bool|Nil=nil)-instance-method","name":"query_bookings","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","args_html":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L596"},"def":{"name":"query_bookings","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 30.minutes.from_now.to_unix)\nparams = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n form.add(\"type\", type)\n if zones.empty?\n else\n form.add(\"zones\", zones.join(\",\"))\n end\n if user.presence\n form.add(\"user\", user.to_s)\n end\n if email.presence\n form.add(\"email\", email.to_s)\n end\n if state.presence\n form.add(\"state\", state.to_s)\n end\n if created_before\n form.add(\"created_before\", created_before.to_s)\n end\n if created_after\n form.add(\"created_after\", created_after.to_s)\n end\n if approved.nil?\n else\n form.add(\"approved\", approved.to_s)\n end\n if rejected.nil?\n else\n form.add(\"rejected\", rejected.to_s)\n end\n if checked_in.nil?\n else\n form.add(\"checked_in\", checked_in.to_s)\n end\nend\nlogger.debug do\n \"requesting staff/v1/bookings: #{params}\"\nend\nbookings = [] of JSON::Any\nnext_request = \"/api/staff/v1/bookings?#{params}\"\nloop do\n response = get(next_request, headers: authentication)\n if response.success?\n else\n raise(\"issue loading list of bookings (zones #{zones}): #{response.status_code}\")\n end\n links = LinkHeader.new(response)\n new_bookings = (JSON.parse(response.body)).as_a\n bookings.concat(new_bookings)\n next_request = links[\"next\"]?\n if next_request.nil? || new_bookings.empty?\n break\n end\nend\nlogger.debug do\n \"bookings count: #{bookings.size}\"\nend\nbookings\n"}},{"html_id":"query_events(period_start:Int64,period_end:Int64,zones:Array(String)|Nil=nil,systems:Array(String)|Nil=nil,capacity:Int32|Nil=nil,features:String|Nil=nil,bookable:Bool|Nil=nil,include_cancelled:Bool|Nil=nil)-instance-method","name":"query_events","doc":"===================================\nCALENDAR EVENT ACTIONS (via staff api)\n===================================","summary":"

=================================== CALENDAR EVENT ACTIONS (via staff api) ===================================

","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L248"},"def":{"name":"query_events","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n if zones && (!zones.empty?)\n form.add(\"zone_ids\", zones.join(\",\"))\n end\n if systems && (!systems.empty?)\n form.add(\"system_ids\", systems.join(\",\"))\n end\n if capacity\n form.add(\"capacity\", capacity.to_s)\n end\n if features\n form.add(\"features\", features)\n end\n if !bookable.nil?\n form.add(\"bookable\", bookable.to_s)\n end\n if !include_cancelled.nil?\n form.add(\"include_cancelled\", include_cancelled.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_guests(period_start:Int64,period_end:Int64,zones:Array(String))-instance-method","name":"query_guests","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String))","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L225"},"def":{"name":"query_guests","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n form.add(\"zone_ids\", zones.join(\",\"))\nend\nresponse = get(\"/api/staff/v1/guests?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_metadata(period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,field_name:String|Nil=nil,value:String|Nil=nil,system_id:String|Nil=nil,event_ref:Array(String)|Nil=nil)-instance-method","name":"query_metadata","doc":"search for metadata that exists on events to obtain the event information\nfor response details see `EventMetadata__Assigner` in the OpenAPI docs\nhttps://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml","summary":"

search for metadata that exists on events to obtain the event information for response details see EventMetadata__Assigner in the OpenAPI docs https://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml

","abstract":false,"args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"args_string":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","args_html":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L335"},"def":{"name":"query_metadata","args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n if field_name.presence\n form.add(\"field_name\", field_name)\n end\n if value.presence\n form.add(\"value\", value)\n end\n if event_ref && (!event_ref.empty?)\n form.add(\"event_ref\", event_ref.join(\",\"))\n end\nend\nresponse = get(\"/api/staff/v1/events/extension_metadata/#{system_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_users(q:String|Nil=nil,limit:Int32=20,offset:Int32=0,authority_id:String|Nil=nil,include_deleted:Bool=false)-instance-method","name":"query_users","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","args_html":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L147"},"def":{"name":"query_users","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"visibility":"Public","body":"placeos_client.users.search(q: q, limit: limit, offset: offset, authority_id: authority_id, include_deleted: include_deleted)"}},{"html_id":"reject(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"reject","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":505,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L505"},"def":{"name":"reject","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"rejecting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/reject?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue rejecting booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"replace_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"replace_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L326"},"def":{"name":"replace_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = put(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"resource_token-instance-method","name":"resource_token","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L134"},"def":{"name":"resource_token","visibility":"Public","body":"response = post(\"/api/engine/v2/users/resource_token\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"revive_user(id:String):Nil-instance-method","name":"revive_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L128"},"def":{"name":"revive_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = post(\"/api/engine/v2/users/#{id}/revive\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to revive user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"signal(channel:String,payload:JSON::Any|Nil=nil)-instance-method","name":"signal","abstract":false,"args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"args_string":"(channel : String, payload : JSON::Any | Nil = nil)","args_html":"(channel : String, payload : JSON::Any | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L694"},"def":{"name":"signal","args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"placeos_client.root.signal(channel, payload)"}},{"html_id":"staff_details(email:String)-instance-method","name":"staff_details","doc":"Staff details returns the information from AD","summary":"

Staff details returns the information from AD

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/staff_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L84"},"def":{"name":"staff_details","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/people/#{email}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for staff #{email}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing staff #{email}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"systems(q:String|Nil=nil,zone_id:String|Nil=nil,capacity:Int32|Nil=nil,bookable:Bool|Nil=nil,features:String|Nil=nil,limit:Int32=1000,offset:Int32=0)-instance-method","name":"systems","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","args_html":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","location":{"filename":"src/place/staff_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L51"},"def":{"name":"systems","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"placeos_client.systems.search(q: q, limit: limit, offset: offset, zone_id: zone_id, capacity: capacity, bookable: bookable, features: features)"}},{"html_id":"systems_in_building(zone_id:String,ids_only:Bool=true)-instance-method","name":"systems_in_building","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"args_string":"(zone_id : String, ids_only : Bool = true)","args_html":"(zone_id : String, ids_only : Bool = true)","location":{"filename":"src/place/staff_api.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L71"},"def":{"name":"systems_in_building","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"visibility":"Public","body":"levels = zones(parent: zone_id)\nif ids_only\n hash = {} of String => Array(String)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id).map(&.id)\n end\nelse\n hash = {} of String => Array(::PlaceOS::Client::API::Models::System)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id)\n end\nend\nhash\n"}},{"html_id":"transfer_user(user_id:String,session_id:String,payload:JSON::Any)-instance-method","name":"transfer_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(user_id : String, session_id : String, payload : JSON::Any)","args_html":"(user_id : String, session_id : String, payload : JSON::Any)","location":{"filename":"src/place/staff_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L162"},"def":{"name":"transfer_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"status = 200\npayload_str = payload.to_json\nSimpleRetry.try_to(max_attempts: 5, base_interval: 1.second, max_interval: 10.seconds) do\n response = post(\"/api/engine/v2/webrtc/transfer/#{user_id}/#{session_id}\", headers: authentication, body: payload_str)\n status = response.status_code\n if response.success?\n else\n raise(\"client not yet connected\")\n end\nend\nstatus\n"}},{"html_id":"update_booking(booking_id:String|Int64,booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,asset_id:String|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,timezone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,approved:Bool|Nil=nil,checked_in:Bool|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L461"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id}\"\nend\ncase checked_in\nin true\n checked_in_at = Time.utc.to_unix\nin false\n checked_out_at = Time.utc.to_unix\nin nil\nend\nparams = URI::Params.build do |form|\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = patch(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"checked_out_at\" => checked_out_at, \"asset_id\" => asset_id, \"title\" => title, \"description\" => description, \"timezone\" => timezone, \"extension_data\" => extension_data}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_event(system_id:String,event:PlaceCalendar::Event)-instance-method","name":"update_event","doc":"NOTE:: https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit#\nThe service account making this request needs delegated access and hence you can only edit\nevents associated with a resource calendar","summary":"

NOTE : https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit# The service account making this request needs delegated access and hence you can only edit events associated with a resource calendar

","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"args_string":"(system_id : String, event : PlaceCalendar::Event)","args_html":"(system_id : String, event : PlaceCalendar::Event)","location":{"filename":"src/place/staff_api.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L307"},"def":{"name":"update_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event.id}?system_id=#{system_id}\", headers: authentication, body: event.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nPlaceCalendar::Event.from_json(response.body)\n"}},{"html_id":"update_guest(id:String,body_json:String):Nil-instance-method","name":"update_guest","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L216"},"def":{"name":"update_guest","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/staff/v1/guests/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update guest #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":677,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L677"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating survey invite #{token}\"\nend\nresponse = patch(\"/api/staff/v1/surveys/invitations/#{token}\", headers: authentication, body: {\"email\" => email, \"sent\" => sent}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating survey invite #{token}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_user(id:String,body_json:String):Nil-instance-method","name":"update_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L113"},"def":{"name":"update_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/engine/v2/users/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"user(id:String)-instance-method","name":"user","doc":"===================================\nUser details\n===================================","summary":"

=================================== User details ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/staff_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L99"},"def":{"name":"user","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"placeos_client.users.fetch(id)"}},{"html_id":"write_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"write_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L374"},"def":{"name":"write_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.update(id, key, payload, description)"}},{"html_id":"zone(zone_id:String)-instance-method","name":"zone","doc":"===================================\nZONE INFORMATION\n===================================","summary":"

=================================== ZONE INFORMATION ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L386"},"def":{"name":"zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"placeos_client.zones.fetch(zone_id)"}},{"html_id":"zones(q:String|Nil=nil,limit:Int32=1000,offset:Int32=0,parent:String|Nil=nil,tags:Array(String)|String|Nil=nil)-instance-method","name":"zones","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","args_html":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L390"},"def":{"name":"zones","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"visibility":"Public","body":"placeos_client.zones.search(q: q, limit: limit, offset: offset, parent_id: parent, tags: tags)"}}],"types":[{"html_id":"drivers/Place/StaffAPI/Booking","path":"Place/StaffAPI/Booking.html","kind":"class","full_name":"Place::StaffAPI::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":560,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L560"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/StaffAPI","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI"},"doc":"===================================\nBOOKINGS QUERY\n===================================","summary":"

=================================== BOOKINGS QUERY ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/staff_api.cr","line_number":561,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L561"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approved:Bool-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L581"},"def":{"name":"approved","return_type":"Bool","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"args_string":"(approved : Bool)","args_html":"(approved : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L581"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L584"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L584"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_id:String|Nil-instance-method","name":"approver_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L583"},"def":{"name":"approver_id","return_type":"String | ::Nil","visibility":"Public","body":"@approver_id"}},{"html_id":"approver_id=(approver_id:String|Nil)-instance-method","name":"approver_id=","abstract":false,"args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"args_string":"(approver_id : String | Nil)","args_html":"(approver_id : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L583"},"def":{"name":"approver_id=","args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_id = approver_id"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L585"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L585"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L568"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"@asset_id"}},{"html_id":"asset_id=(asset_id:String)-instance-method","name":"asset_id=","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L568"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_id:String-instance-method","name":"booked_by_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id","return_type":"String","visibility":"Public","body":"@booked_by_id"}},{"html_id":"booked_by_id=(booked_by_id:String)-instance-method","name":"booked_by_id=","abstract":false,"args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"args_string":"(booked_by_id : String)","args_html":"(booked_by_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id=","args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"visibility":"Public","body":"@booked_by_id = booked_by_id"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L573"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L573"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L572"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L572"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L570"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L570"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L579"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L579"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"created:Int64|Nil-instance-method","name":"created","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L593"},"def":{"name":"created","return_type":"Int64 | ::Nil","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64|Nil)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"args_string":"(created : Int64 | Nil)","args_html":"(created : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L593"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@created = created"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L577"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L577"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L563"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L563"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L592"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L592"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L591"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L591"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L580"},"def":{"name":"rejected","return_type":"Bool","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"args_string":"(rejected : Bool)","args_html":"(rejected : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L580"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L575"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L575"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L576"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L576"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L566"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L566"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L565"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L565"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L567"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L567"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L569"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L569"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Place/SurveyMailer","path":"Place/SurveyMailer.html","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L17"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@send_invites = (setting?(String, :send_invites)).presence\n@email_template = (setting?(String, :email_template)) || \"survey\"\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nif invites = @send_invites\n schedule.cron(invites, @time_zone) do\n send_survey_emails\n end\nend\n"}},{"html_id":"send_survey_emails-instance-method","name":"send_survey_emails","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L47"},"def":{"name":"send_survey_emails","visibility":"Public","body":"invites = Array(SurveyInvite).from_json(staff_api.get_survey_invites.get.to_json)\nsent_invites : Hash(String, Array(Int64)) = {} of String => Array(Int64)\ninvites.each do |invite|\n if invite.sent\n next\n end\n begin\n if (!(sent_surveys = sent_invites[invite.email]?)) || (!(sent_surveys.includes?(invite.survey_id)))\n __temp_610 = invite.email\n sent_invites[__temp_610]? || (sent_invites[__temp_610] = [] of Int64)\n sent_invites[invite.email] << invite.survey_id\n mailer.send_template(to: invite.email, template: {@email_template, \"invite\"}, args: {email: invite.email, token: invite.token, survey_id: invite.survey_id})\n end\n staff_api.update_survey_invite(invite.token, sent: true)\n rescue error\n logger.warn(exception: error) do\n \"failed to send survey email to #{invite.email}\"\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Place/SurveyMailer/SurveyInvite","path":"Place/SurveyMailer/SurveyInvite.html","kind":"struct","full_name":"Place::SurveyMailer::SurveyInvite","name":"SurveyInvite","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L77"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/SurveyMailer","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/survey_mailer.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L78"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L83"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L83"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L80"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L80"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sent:Bool|Nil-instance-method","name":"sent","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L84"},"def":{"name":"sent","return_type":"Bool | ::Nil","visibility":"Public","body":"@sent"}},{"html_id":"sent=(sent:Bool|Nil)-instance-method","name":"sent=","abstract":false,"args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(sent : Bool | Nil)","args_html":"(sent : Bool | Nil)","location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L84"},"def":{"name":"sent=","args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@sent = sent"}},{"html_id":"survey_id:Int64-instance-method","name":"survey_id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id","return_type":"Int64","visibility":"Public","body":"@survey_id"}},{"html_id":"survey_id=(survey_id:Int64)-instance-method","name":"survey_id=","abstract":false,"args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"args_string":"(survey_id : Int64)","args_html":"(survey_id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id=","args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"visibility":"Public","body":"@survey_id = survey_id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L82"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L82"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]},{"html_id":"drivers/Place/Tab","path":"Place/Tab.html","kind":"class","full_name":"Place::Tab","name":"Tab","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/tab.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(icon:String,name:String,inputs:Array(String),help:Nil|String=nil,controls:Nil|String=nil,merge_on_join:Bool|Nil=nil,presentation_source:Nil|String=nil,json_unmapped:Hash(String,JSON::Any)=Hash(String,JSON::Any).new)-class-method","name":"new","abstract":false,"args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","args_html":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","location":{"filename":"src/place/meet/tab.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L7"},"def":{"name":"new","args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(icon, name, inputs, help, controls, merge_on_join, presentation_source, json_unmapped)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/tab.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"clone:Tab-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L23"},"def":{"name":"clone","return_type":"Tab","visibility":"Public","body":"Tab.new(@icon, @name, inputs.dup, @help, @controls, @merge_on_join, @presentation_source, @json_unmapped.dup)"}},{"html_id":"controls:String|Nil-instance-method","name":"controls","doc":"such as: vidconf-controls","summary":"

such as: vidconf-controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L17"},"def":{"name":"controls","return_type":"String | ::Nil","visibility":"Public","body":"@controls"}},{"html_id":"help:String|Nil-instance-method","name":"help","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L14"},"def":{"name":"help","return_type":"String | ::Nil","visibility":"Public","body":"@help"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L10"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"inputs:Array(String)-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L12"},"def":{"name":"inputs","return_type":"Array(String)","visibility":"Public","body":"@inputs"}},{"html_id":"merge(tab:Tab):Tab-instance-method","name":"merge","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L27"},"def":{"name":"merge","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"input = (inputs.dup.concat(tab.inputs)).uniq!\nnew_unmapped = tab.json_unmapped.merge(json_unmapped)\nTab.new(@icon, @name, input, @help, @controls, @merge_on_join, @presentation_source, new_unmapped)\n"}},{"html_id":"merge!(tab:Tab):Tab-instance-method","name":"merge!","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L33"},"def":{"name":"merge!","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"@json_unmapped.merge!(tab.json_unmapped)\n(@inputs.concat(tab.inputs)).uniq!\nself\n"}},{"html_id":"merge_on_join:Bool|Nil-instance-method","name":"merge_on_join","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L18"},"def":{"name":"merge_on_join","return_type":"Bool | ::Nil","visibility":"Public","body":"@merge_on_join"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"presentation_source:String|Nil-instance-method","name":"presentation_source","doc":"For the VC controls","summary":"

For the VC controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L21"},"def":{"name":"presentation_source","return_type":"String | ::Nil","visibility":"Public","body":"@presentation_source"}}]},{"html_id":"drivers/Place/TransportAdaptor","path":"Place/TransportAdaptor.html","kind":"class","full_name":"Place::TransportAdaptor","name":"TransportAdaptor","abstract":false,"superclass":{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},"ancestors":[{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(driver:PlaceOS::Driver::Transport,queue:PlaceOS::Driver::Queue)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"args_string":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","args_html":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L4"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, queue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"close!:Nil-instance-method","name":"close!","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L11"},"def":{"name":"close!","return_type":"Nil","visibility":"Public","body":"@driver.disconnect"}},{"html_id":"closed?:Bool-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L15"},"def":{"name":"closed?","return_type":"Bool","visibility":"Public","body":"!@queue.online"}},{"html_id":"process(data:Bytes)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L23"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"(@tokenizer.extract(data)).each do |bytes|\n spawn do\n @on_message.try(&.call(bytes))\n end\nend"}},{"html_id":"send(message):Nil-instance-method","name":"send","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message) : Nil","args_html":"(message) : Nil","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L19"},"def":{"name":"send","args":[{"name":"message","external_name":"message","restriction":""}],"return_type":"Nil","visibility":"Public","body":"@driver.send(message)"}}]},{"html_id":"drivers/Place/UserGroupMappings","path":"Place/UserGroupMappings.html","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_user(id:String):Nil-instance-method","name":"check_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/user_group_mappings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L88"},"def":{"name":"check_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"checking groups of: #{id}\"\nend\nuser_json = (staff_api.user(id)).get\nsync_user(user_json)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"auth/login\") do |_subscription, payload|\n new_user_login(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@group_mappings = (setting?(Hash(String, Mapping), :group_mappings)) || ({} of String => Mapping)\n@group_prefixes = (setting?(Hash(String, Prefix), :group_prefix)) || ({} of String => Prefix)\n@group_prefixes = @group_prefixes.transform_keys(&.downcase)\n@authority_id = (setting?(String, :authority_id)) || \"authority-12345\"\n"}},{"html_id":"sync_all_users-instance-method","name":"sync_all_users","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L134"},"def":{"name":"sync_all_users","visibility":"Public","body":"begin\n if @syncing\n return \"currently syncing\"\n end\n @syncing = true\n limit = 100\n offset = 0\n issues_with = [] of String\n loop do\n users = staff_api.query_users(limit: limit, offset: offset, authority_id: @authority_id).get.as_a\n logger.debug do\n \"syncing users #{offset}->#{offset + limit}...\"\n end\n users.each do |user|\n begin\n sync_user(user)\n sleep(50.milliseconds)\n rescue error\n issues_with << user[\"email\"].as_s\n end\n end\n if users.size < limit\n break\n end\n offset = offset + limit\n end\n logger.debug do\n \"sync complete! issues with #{issues_with.size}:\\n#{issues_with}\"\n end\n issues_with\nensure\n @syncing = false\nend"}}],"types":[{"html_id":"drivers/Place/UserGroupMappings/Mapping","path":"Place/UserGroupMappings/Mapping.html","kind":"alias","full_name":"Place::UserGroupMappings::Mapping","name":"Mapping","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(place_id: String)","aliased_html":"{place_id: String}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/Prefix","path":"Place/UserGroupMappings/Prefix.html","kind":"alias","full_name":"Place::UserGroupMappings::Prefix","name":"Prefix","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(strip_prefix: Bool | Nil, place_id: String | Nil)","aliased_html":"{strip_prefix: Bool?, place_id: String?}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/UserLogin","path":"Place/UserGroupMappings/UserLogin.html","kind":"class","full_name":"Place::UserGroupMappings::UserLogin","name":"UserLogin","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/user_group_mappings.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"provider:String-instance-method","name":"provider","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider","return_type":"String","visibility":"Public","body":"@provider"}},{"html_id":"provider=(provider:String)-instance-method","name":"provider=","abstract":false,"args":[{"name":"provider","external_name":"provider","restriction":"String"}],"args_string":"(provider : String)","args_html":"(provider : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider=","args":[{"name":"provider","external_name":"provider","restriction":"String"}],"visibility":"Public","body":"@provider = provider"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]}]},{"html_id":"drivers/Place/VisitorMailer","path":"Place/VisitorMailer.html","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_zone:ZoneDetails-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L71"},"def":{"name":"building_zone","return_type":"ZoneDetails","visibility":"Public","body":"if (value = @building_zone).nil?\n ::raise(NilAssertionError.new(\"Place::VisitorMailer#building_zone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"building_zone?:ZoneDetails|Nil-instance-method","name":"building_zone?","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L71"},"def":{"name":"building_zone?","return_type":"ZoneDetails | ::Nil","visibility":"Public","body":"@building_zone"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":411,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L411"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L41"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/guest/attending\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\nmonitor(\"staff/guest/checkin\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting?(Bool, :debug)) || true\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@send_reminders = (setting?(String, :send_reminders)).presence\n@reminder_template = (setting?(String, :reminder_template)) || \"visitor\"\n@event_template = (setting?(String, :event_template)) || \"event\"\n@booking_template = (setting?(String, :booking_template)) || \"booking\"\n@disable_qr_code = (setting?(Bool, :disable_qr_code)) || false\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@host_domain_filter = (setting?(Array(String), :host_domain_filter)) || ([] of String)\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\n@booking_space_name = (setting?(String, :booking_space_name)).presence || \"Client Floor\"\nzones = config.control_system.not_nil!.zones\nschedule.clear\nif reminders = @send_reminders\n schedule.cron(reminders, @time_zone) do\n send_reminder_emails\n end\nend\nspawn(same_thread: true) do\n find_building(zones)\nend\n"}},{"html_id":"send_reminder_emails-instance-method","name":"send_reminder_emails","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L310"},"def":{"name":"send_reminder_emails","visibility":"Public","body":"now = 1.hour.ago.to_unix\nlater = 12.hours.from_now.to_unix\nguests = staff_api.query_guests(period_start: now, period_end: later, zones: {building_zone.id}).get.as_a\nguests.uniq! do |g|\n g[\"email\"].as_s.downcase\nend\nguests.each do |guest|\n begin\n if event = guest[\"event\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, event[\"host\"].as_s, event[\"title\"].as_s, event[\"event_start\"].as_i64, (event.dig(\"system\", \"id\")).as_s, event[\"id\"].as_s, ((event.dig?(\"system\", \"display_name\")) || (event.dig(\"system\", \"name\"))).as_s, event_end: event[\"event_end\"].as_i64)\n else\n if booking = guest[\"booking\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, booking[\"user_email\"].as_s, booking[\"title\"].as_s?, booking[\"booking_start\"].as_i64, booking[\"asset_id\"].as_s, booking[\"id\"].as_i64.to_s, @booking_space_name, event_end: booking[\"booking_end\"].as_i64)\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to send reminder email to #{guest[\"email\"]}\"\n end\n end\nend\n"}},{"html_id":"send_visitor_qr_email(template:String,visitor_email:String,visitor_name:String|Nil,host_email:String|Nil,event_title:String|Nil,event_start:Int64,resource_id:String,event_id:String,area_name:String,event_end:Int64|Nil=nil)-instance-method","name":"send_visitor_qr_email","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"args_string":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","args_html":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L239"},"def":{"name":"send_visitor_qr_email","args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"local_start_time = (Time.unix(event_start)).in(@time_zone)\nattach = if @disable_qr_code\n [] of NamedTuple(file_name: String, content: String, content_id: String)\nelse\n qr_png = mailer.generate_png_qrcode(text: \"VISIT:#{visitor_email},#{resource_id},#{event_id},#{host_email}\", size: 256).get.as_s\n [{file_name: \"qr.png\", content: qr_png, content_id: visitor_email}]\nend\nnetwork_username = network_password = \"\"\nif @send_network_credentials\n network_username, network_password = update_network_user_password(visitor_email, generate_password(length: @network_password_length, exclude: @network_password_exclude, minimum_lowercase: @network_password_minimum_lowercase, minimum_uppercase: @network_password_minimum_uppercase, minimum_numbers: @network_password_minimum_numbers, minimum_symbols: @network_password_minimum_symbols), @network_group_ids)\nend\nevent_time = if (end_timestamp = event_end) && (((Time.unix(end_timestamp)) - (Time.unix(event_start))) == 24.hours)\n \"all day\"\nelse\n local_start_time.to_s(@time_format)\nend\nmailer.send_template(visitor_email, {\"visitor_invited\", template}, {visitor_email: visitor_email, visitor_name: visitor_name, host_name: get_host_name(host_email), host_email: host_email, room_name: area_name, building_name: building_zone.display_name.presence || building_zone.name, event_title: event_title, event_start: local_start_time.to_s(@time_format), event_date: local_start_time.to_s(@date_format), event_time: event_time, network_username: network_username, network_password: network_password}, attach)\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L400"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","path":"Place/VisitorMailer/BookingGuest.html","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L171"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L172"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_id:Int64-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L174"},"def":{"name":"booking_id","return_type":"Int64","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:Int64)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"args_string":"(booking_id : Int64)","args_html":"(booking_id : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L174"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"event_id-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L177"},"def":{"name":"event_id","visibility":"Public","body":"booking_id.to_s"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L175"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"args_string":"(resource_id : String)","args_html":"(resource_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L175"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"visibility":"Public","body":"@resource_id = resource_id"}}]},{"html_id":"drivers/Place/VisitorMailer/EventGuest","path":"Place/VisitorMailer/EventGuest.html","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L163"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L163"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"resource:String-instance-method","name":"resource","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L164"},"def":{"name":"resource","return_type":"String","visibility":"Public","body":"@resource"}},{"html_id":"resource=(resource:String)-instance-method","name":"resource=","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"}],"args_string":"(resource : String)","args_html":"(resource : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L164"},"def":{"name":"resource=","args":[{"name":"resource","external_name":"resource","restriction":"String"}],"visibility":"Public","body":"@resource = resource"}},{"html_id":"resource_id-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L166"},"def":{"name":"resource_id","visibility":"Public","body":"system_id"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L162"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L162"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}}]},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","path":"Place/VisitorMailer/GuestNotification.html","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L134"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest"},{"html_id":"drivers/Place/VisitorMailer/EventGuest","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L137"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"action\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'action' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'action'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"booking_created\"\n BookingGuest.from_json(json)\nwhen \"booking_updated\"\n BookingGuest.from_json(json)\nwhen \"meeting_created\"\n EventGuest.from_json(json)\nwhen \"meeting_update\"\n EventGuest.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'action' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L144"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String)-instance-method","name":"action=","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String"}],"args_string":"(action : String)","args_html":"(action : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L144"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String"}],"visibility":"Public","body":"@action = action"}},{"html_id":"attendee_email:String-instance-method","name":"attendee_email","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L150"},"def":{"name":"attendee_email","return_type":"String","visibility":"Public","body":"@attendee_email"}},{"html_id":"attendee_email=(attendee_email:String)-instance-method","name":"attendee_email=","abstract":false,"args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"args_string":"(attendee_email : String)","args_html":"(attendee_email : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L150"},"def":{"name":"attendee_email=","args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"visibility":"Public","body":"@attendee_email = attendee_email"}},{"html_id":"attendee_name:String|Nil-instance-method","name":"attendee_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L149"},"def":{"name":"attendee_name","return_type":"String | ::Nil","visibility":"Public","body":"@attendee_name"}},{"html_id":"attendee_name=(attendee_name:String|Nil)-instance-method","name":"attendee_name=","abstract":false,"args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"args_string":"(attendee_name : String | Nil)","args_html":"(attendee_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L149"},"def":{"name":"attendee_name=","args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attendee_name = attendee_name"}},{"html_id":"checkin:Bool|Nil-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L146"},"def":{"name":"checkin","return_type":"Bool | ::Nil","visibility":"Public","body":"@checkin"}},{"html_id":"checkin=(checkin:Bool|Nil)-instance-method","name":"checkin=","abstract":false,"args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"args_string":"(checkin : Bool | Nil)","args_html":"(checkin : Bool | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L146"},"def":{"name":"checkin=","args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checkin = checkin"}},{"html_id":"event_starting:Int64-instance-method","name":"event_starting","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L148"},"def":{"name":"event_starting","return_type":"Int64","visibility":"Public","body":"@event_starting"}},{"html_id":"event_starting=(event_starting:Int64)-instance-method","name":"event_starting=","abstract":false,"args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"args_string":"(event_starting : Int64)","args_html":"(event_starting : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L148"},"def":{"name":"event_starting=","args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"visibility":"Public","body":"@event_starting = event_starting"}},{"html_id":"event_summary:String-instance-method","name":"event_summary","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L147"},"def":{"name":"event_summary","return_type":"String","visibility":"Public","body":"@event_summary"}},{"html_id":"event_summary=(event_summary:String)-instance-method","name":"event_summary=","abstract":false,"args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"args_string":"(event_summary : String)","args_html":"(event_summary : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L147"},"def":{"name":"event_summary=","args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"visibility":"Public","body":"@event_summary = event_summary"}},{"html_id":"ext_data:Hash(String,JSON::Any)|Nil-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L156"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any) | ::Nil","visibility":"Public","body":"@ext_data"}},{"html_id":"ext_data=(ext_data:Hash(String,JSON::Any)|Nil)-instance-method","name":"ext_data=","abstract":false,"args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"args_string":"(ext_data : Hash(String, JSON::Any) | Nil)","args_html":"(ext_data : Hash(String, JSON::Any) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L156"},"def":{"name":"ext_data=","args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"visibility":"Public","body":"@ext_data = ext_data"}},{"html_id":"host:String-instance-method","name":"host","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L151"},"def":{"name":"host","return_type":"String","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String)-instance-method","name":"host=","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String"}],"args_string":"(host : String)","args_html":"(host : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L151"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String"}],"visibility":"Public","body":"@host = host"}},{"html_id":"zones:Array(String)|Nil-instance-method","name":"zones","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L154"},"def":{"name":"zones","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String)|Nil)-instance-method","name":"zones=","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"args_string":"(zones : Array(String) | Nil)","args_html":"(zones : Array(String) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L154"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/VisitorMailer/SystemDetails","path":"Place/VisitorMailer/SystemDetails.html","kind":"class","full_name":"Place::VisitorMailer::SystemDetails","name":"SystemDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L375"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L375"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L373"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L373"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"map_id:String|Nil-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L376"},"def":{"name":"map_id","return_type":"String | ::Nil","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String|Nil)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil)","args_html":"(map_id : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L376"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L374"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L374"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Place/VisitorMailer/ZoneDetails","path":"Place/VisitorMailer/ZoneDetails.html","kind":"class","full_name":"Place::VisitorMailer::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L360"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L361"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L365"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L365"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L363"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L363"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:String|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L366"},"def":{"name":"location","return_type":"String | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(location : String | Nil)","args_html":"(location : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L366"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L364"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L364"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L367"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L367"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/WorkspaceAPI","path":"Place/WorkspaceAPI.html","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/google/workspace_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/google/workspace_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}}]},{"html_id":"drivers/Point","path":"Point.html","kind":"struct","full_name":"Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L19"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"distance_to(point:Point)-instance-method","name":"distance_to","doc":"pythagoras","summary":"

pythagoras

","abstract":false,"args":[{"name":"point","external_name":"point","restriction":"Point"}],"args_string":"(point : Point)","args_html":"(point : Point)","location":{"filename":"src/place/area_polygon.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L26"},"def":{"name":"distance_to","args":[{"name":"point","external_name":"point","restriction":"Point"}],"visibility":"Public","body":"a = point.x - @x\nb = point.y - @y\nMath.sqrt((a * a) + (b * b))\n"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L22"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L22"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L23"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L23"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/PointGrab","path":"PointGrab.html","kind":"module","full_name":"PointGrab","name":"PointGrab","abstract":false,"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/PointGrab/CogniPoint","path":"PointGrab/CogniPoint.html","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/PointGrab","kind":"module","full_name":"PointGrab","name":"PointGrab"},"instance_methods":[{"html_id":"area(site_id:String,building_id:String,floor_id:String,area_id:String)-instance-method","name":"area","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String, area_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String, area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L263"},"def":{"name":"area","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas/#{area_id}\", Area)"}},{"html_id":"areas(site_id:String,building_id:String,floor_id:String)-instance-method","name":"areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L257"},"def":{"name":"areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"areas = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas\", NamedTuple(areas: Array(Area)))\nareas[:areas]\n"}},{"html_id":"building(site_id:String,building_id:String)-instance-method","name":"building","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L168"},"def":{"name":"building","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}\", Building)"}},{"html_id":"building_areas(site_id:String,building_id:String)-instance-method","name":"building_areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L251"},"def":{"name":"building_areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/areas\", NamedTuple(floorsAreas: FloorAreas))\nfloors[:floorsAreas]\n"}},{"html_id":"buildings(site_id:String)-instance-method","name":"buildings","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L163"},"def":{"name":"buildings","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"buildings = get_request(\"/be/cp/v2/sites/#{site_id}/buildings\", NamedTuple(buildings: Array(Building)))\nbuildings[:buildings]\n"}},{"html_id":"customers-instance-method","name":"customers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L93"},"def":{"name":"customers","visibility":"Public","body":"customers = get_request(\"/be/cp/v2/customers\", NamedTuple(endCustomers: Array(Customer)))\ncustomers[:endCustomers]\n"}},{"html_id":"delete_subscription(id:String)-instance-method","name":"delete_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L342"},"def":{"name":"delete_subscription","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"token = get_token\n(delete(\"/be/cp/v2/telemetry/subscriptions/#{id}\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(site_id:String,building_id:String,floor_id:String)-instance-method","name":"floor","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L198"},"def":{"name":"floor","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}\", Floor)"}},{"html_id":"floors(site_id:String,building_id:String)-instance-method","name":"floors","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L193"},"def":{"name":"floors","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors\", NamedTuple(floors: Array(Building)))\nfloors[:floors]\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/be/cp/oauth2/token\", body: \"grant_type=client_credentials\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\", \"Authorization\" => \"Basic #{Base64.strict_encode(\"#{@user_id}:#{@app_key}\")}\"})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body.not_nil!)\n token = resp.token\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"handlers-instance-method","name":"handlers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L280"},"def":{"name":"handlers","visibility":"Public","body":"handlers = get_request(\"/be/cp/v2/resources/handlers\", NamedTuple(handlers: Array(Handler)))\nhandlers[:handlers]\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@user_id = setting(String, :user_id)\n@app_key = setting(String, :app_key)\n"}},{"html_id":"site(site_id:String)-instance-method","name":"site","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L147"},"def":{"name":"site","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}\", Site)"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L142"},"def":{"name":"sites","visibility":"Public","body":"sites = get_request(\"/be/cp/v2/sites\", NamedTuple(sites: Array(Site)))\nsites[:sites]\n"}},{"html_id":"subscribe(handler_uri:String,auth_token:String=UUID.random.to_s,events:NotificationType=NotificationType::Counting)-instance-method","name":"subscribe","abstract":false,"args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"args_string":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","args_html":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L307"},"def":{"name":"subscribe","args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"visibility":"Public","body":"URI.parse(handler_uri)\ntoken = get_token\nresponse = post(\"/be/cp/v2/telemetry/subscriptions\", body: {subscriptionType: \"PUSH\", notificationType: events.to_s.upcase, endpoint: handler_uri, token: auth_token}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n Subscription.from_json(body.not_nil!)\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"subscriptions-instance-method","name":"subscriptions","doc":"provides access to the modules subscriptions tracker","summary":"

provides access to the modules subscriptions tracker

","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L338"},"def":{"name":"subscriptions","visibility":"Public","body":"get_request(\"/be/cp/v2/telemetry/subscriptions\", Array(Subscription))"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}},{"html_id":"update_count(count_json:String)-instance-method","name":"update_count","abstract":false,"args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"args_string":"(count_json : String)","args_html":"(count_json : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L380"},"def":{"name":"update_count","args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"visibility":"Public","body":"count = CountUpdate.from_json(count_json)\nself[\"area_#{count.area_id}\"] = count.count\n"}},{"html_id":"update_subscription(id:String,started:Bool=true)-instance-method","name":"update_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"args_string":"(id : String, started : Bool = true)","args_html":"(id : String, started : Bool = true)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L352"},"def":{"name":"update_subscription","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"token = get_token\n(patch(\"/be/cp/v2/telemetry/subscriptions/#{id}\", body: {started: started}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}}],"macros":[{"html_id":"get_request(path,result_type)-macro","name":"get_request","abstract":false,"args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"args_string":"(path, result_type)","args_html":"(path, result_type)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L69"},"def":{"name":"get_request","args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"visibility":"Public","body":" begin\n \n%token\n = get_token\n \n%response\n = get(\n{{ path }}\n, headers: \n{\n \"Accept\" => \"application/json\",\n \"Authorization\" => \n%token\n\n })\n\n if \n%response\n.success?\n \n{{ result_type }}\n.from_json(\n%response\n.body.not_nil!)\n \nelse\n \nexpire_token! if \n%response\n.status_code == 401\n raise \"unexpected response #{\n%response\n.status_code}\\n#{\n%response\n.body}\"\n \nend\n \nend\n \n"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area","path":"PointGrab/CogniPoint/Area.html","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L202"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L203"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"applications:Array(Application)-instance-method","name":"applications","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications","return_type":"Array(Application)","visibility":"Public","body":"@applications"}},{"html_id":"applications=(applications:Array(Application))-instance-method","name":"applications=","abstract":false,"args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"args_string":"(applications : Array(Application))","args_html":"(applications : Array(Application))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications=","args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"visibility":"Public","body":"@applications = applications"}},{"html_id":"center_x:Float64-instance-method","name":"center_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x","return_type":"Float64","visibility":"Public","body":"@center_x"}},{"html_id":"center_x=(center_x:Float64)-instance-method","name":"center_x=","abstract":false,"args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"args_string":"(center_x : Float64)","args_html":"(center_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x=","args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"visibility":"Public","body":"@center_x = center_x"}},{"html_id":"center_y:Float64-instance-method","name":"center_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y","return_type":"Float64","visibility":"Public","body":"@center_y"}},{"html_id":"center_y=(center_y:Float64)-instance-method","name":"center_y=","abstract":false,"args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"args_string":"(center_y : Float64)","args_html":"(center_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y=","args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"visibility":"Public","body":"@center_y = center_y"}},{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"device_ids=(device_ids:Array(String))-instance-method","name":"device_ids=","abstract":false,"args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"args_string":"(device_ids : Array(String))","args_html":"(device_ids : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids=","args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@device_ids = device_ids"}},{"html_id":"frequency:Int32-instance-method","name":"frequency","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency","return_type":"Int32","visibility":"Public","body":"@frequency"}},{"html_id":"frequency=(frequency:Int32)-instance-method","name":"frequency=","abstract":false,"args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"args_string":"(frequency : Int32)","args_html":"(frequency : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency=","args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"visibility":"Public","body":"@frequency = frequency"}},{"html_id":"geo_positions:Array(GeoPosition)|Nil-instance-method","name":"geo_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions","return_type":"Array(GeoPosition) | ::Nil","visibility":"Public","body":"@geo_positions"}},{"html_id":"geo_positions=(geo_positions:Array(GeoPosition)|Nil)-instance-method","name":"geo_positions=","abstract":false,"args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"args_string":"(geo_positions : Array(GeoPosition) | Nil)","args_html":"(geo_positions : Array(GeoPosition) | Nil)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions=","args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"visibility":"Public","body":"@geo_positions = geo_positions"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"length=(length:Float64)-instance-method","name":"length=","abstract":false,"args":[{"name":"length","external_name":"length","restriction":"Float64"}],"args_string":"(length : Float64)","args_html":"(length : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length=","args":[{"name":"length","external_name":"length","restriction":"Float64"}],"visibility":"Public","body":"@length = length"}},{"html_id":"metric_positions:Array(MetricPositions)-instance-method","name":"metric_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions","return_type":"Array(MetricPositions)","visibility":"Public","body":"@metric_positions"}},{"html_id":"metric_positions=(metric_positions:Array(MetricPositions))-instance-method","name":"metric_positions=","abstract":false,"args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"args_string":"(metric_positions : Array(MetricPositions))","args_html":"(metric_positions : Array(MetricPositions))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions=","args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"visibility":"Public","body":"@metric_positions = metric_positions"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"rotation:Int32-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation","return_type":"Int32","visibility":"Public","body":"@rotation"}},{"html_id":"rotation=(rotation:Int32)-instance-method","name":"rotation=","abstract":false,"args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"args_string":"(rotation : Int32)","args_html":"(rotation : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation=","args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"visibility":"Public","body":"@rotation = rotation"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area/Application","path":"PointGrab/CogniPoint/Area/Application.html","kind":"class","full_name":"PointGrab::CogniPoint::Area::Application","name":"Application","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L222"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Area","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L223"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"application_type:String-instance-method","name":"application_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type","return_type":"String","visibility":"Public","body":"@application_type"}},{"html_id":"application_type=(application_type:String)-instance-method","name":"application_type=","abstract":false,"args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"args_string":"(application_type : String)","args_html":"(application_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type=","args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"visibility":"Public","body":"@application_type = application_type"}},{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Building","path":"PointGrab/CogniPoint/Building.html","kind":"class","full_name":"PointGrab::CogniPoint::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L151"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L152"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Site::Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location","return_type":"Site::Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Site::Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"args_string":"(location : Site::Location)","args_html":"(location : Site::Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/CountUpdate","path":"PointGrab/CogniPoint/CountUpdate.html","kind":"class","full_name":"PointGrab::CogniPoint::CountUpdate","name":"CountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L367"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"doc":"TODO:: this data is posted to the subscription endpoint\nwe need to implement webhooks for this to work properly","summary":"

TODO : this data is posted to the subscription endpoint we need to implement webhooks for this to work properly

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L368"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"devices:Array(String)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices","return_type":"Array(String)","visibility":"Public","body":"@devices"}},{"html_id":"devices=(devices:Array(String))-instance-method","name":"devices=","abstract":false,"args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"args_string":"(devices : Array(String))","args_html":"(devices : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices=","args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"visibility":"Public","body":"@devices = devices"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}},{"html_id":"timestamp:UInt64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp","return_type":"UInt64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:UInt64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"args_string":"(timestamp : UInt64)","args_html":"(timestamp : UInt64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Customer","path":"PointGrab/CogniPoint/Customer.html","kind":"class","full_name":"PointGrab::CogniPoint::Customer","name":"Customer","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Floor","path":"PointGrab/CogniPoint/Floor.html","kind":"class","full_name":"PointGrab::CogniPoint::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L172"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L173"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_number:String-instance-method","name":"floor_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number","return_type":"String","visibility":"Public","body":"@floor_number"}},{"html_id":"floor_number=(floor_number:String)-instance-method","name":"floor_number=","abstract":false,"args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"args_string":"(floor_number : String)","args_html":"(floor_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number=","args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"visibility":"Public","body":"@floor_number = floor_number"}},{"html_id":"floor_plan_url:String-instance-method","name":"floor_plan_url","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url","return_type":"String","visibility":"Public","body":"@floor_plan_url"}},{"html_id":"floor_plan_url=(floor_plan_url:String)-instance-method","name":"floor_plan_url=","abstract":false,"args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"args_string":"(floor_plan_url : String)","args_html":"(floor_plan_url : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url=","args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"visibility":"Public","body":"@floor_plan_url = floor_plan_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length_distance:Float64-instance-method","name":"length_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance","return_type":"Float64","visibility":"Public","body":"@length_distance"}},{"html_id":"length_distance=(length_distance:Float64)-instance-method","name":"length_distance=","abstract":false,"args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"args_string":"(length_distance : Float64)","args_html":"(length_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance=","args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"visibility":"Public","body":"@length_distance = length_distance"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"width_distance:Float64-instance-method","name":"width_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance","return_type":"Float64","visibility":"Public","body":"@width_distance"}},{"html_id":"width_distance=(width_distance:Float64)-instance-method","name":"width_distance=","abstract":false,"args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"args_string":"(width_distance : Float64)","args_html":"(width_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance=","args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"visibility":"Public","body":"@width_distance = width_distance"}}]},{"html_id":"drivers/PointGrab/CogniPoint/FloorAreas","path":"PointGrab/CogniPoint/FloorAreas.html","kind":"class","full_name":"PointGrab::CogniPoint::FloorAreas","name":"FloorAreas","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"areas:Array(Area)-instance-method","name":"areas","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas","return_type":"Array(Area)","visibility":"Public","body":"@areas"}},{"html_id":"areas=(areas:Array(Area))-instance-method","name":"areas=","abstract":false,"args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"args_string":"(areas : Array(Area))","args_html":"(areas : Array(Area))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas=","args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"visibility":"Public","body":"@areas = areas"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/GeoPosition","path":"PointGrab/CogniPoint/GeoPosition.html","kind":"class","full_name":"PointGrab::CogniPoint::GeoPosition","name":"GeoPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"latitude=(latitude:Float64)-instance-method","name":"latitude=","abstract":false,"args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"args_string":"(latitude : Float64)","args_html":"(latitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude=","args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"visibility":"Public","body":"@latitude = latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"longitude=(longitude:Float64)-instance-method","name":"longitude=","abstract":false,"args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"args_string":"(longitude : Float64)","args_html":"(longitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude=","args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"visibility":"Public","body":"@longitude = longitude"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Handler","path":"PointGrab/CogniPoint/Handler.html","kind":"class","full_name":"PointGrab::CogniPoint::Handler","name":"Handler","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L267"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L268"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_id:UInt32-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id","return_type":"UInt32","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:UInt32)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"args_string":"(app_id : UInt32)","args_html":"(app_id : UInt32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"end_point:String-instance-method","name":"end_point","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point","return_type":"String","visibility":"Public","body":"@end_point"}},{"html_id":"end_point=(end_point:String)-instance-method","name":"end_point=","abstract":false,"args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"args_string":"(end_point : String)","args_html":"(end_point : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point=","args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"visibility":"Public","body":"@end_point = end_point"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/PointGrab/CogniPoint/MetricPositions","path":"PointGrab/CogniPoint/MetricPositions.html","kind":"class","full_name":"PointGrab::CogniPoint::MetricPositions","name":"MetricPositions","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"pos_x:Float64-instance-method","name":"pos_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x","return_type":"Float64","visibility":"Public","body":"@pos_x"}},{"html_id":"pos_x=(pos_x:Float64)-instance-method","name":"pos_x=","abstract":false,"args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"args_string":"(pos_x : Float64)","args_html":"(pos_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x=","args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"visibility":"Public","body":"@pos_x = pos_x"}},{"html_id":"pos_y:Float64-instance-method","name":"pos_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y","return_type":"Float64","visibility":"Public","body":"@pos_y"}},{"html_id":"pos_y=(pos_y:Float64)-instance-method","name":"pos_y=","abstract":false,"args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"args_string":"(pos_y : Float64)","args_html":"(pos_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y=","args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"visibility":"Public","body":"@pos_y = pos_y"}}]},{"html_id":"drivers/PointGrab/CogniPoint/NotificationType","path":"PointGrab/CogniPoint/NotificationType.html","kind":"enum","full_name":"PointGrab::CogniPoint::NotificationType","name":"NotificationType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L302"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Counting","name":"Counting","value":"0"},{"id":"Traffic","name":"Traffic","value":"1"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"instance_methods":[{"html_id":"counting?-instance-method","name":"counting?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L303"},"def":{"name":"counting?","visibility":"Public","body":"self == Counting"}},{"html_id":"traffic?-instance-method","name":"traffic?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L304"},"def":{"name":"traffic?","visibility":"Public","body":"self == Traffic"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Site","path":"PointGrab/CogniPoint/Site.html","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"customer_id:String-instance-method","name":"customer_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id","return_type":"String","visibility":"Public","body":"@customer_id"}},{"html_id":"customer_id=(customer_id:String)-instance-method","name":"customer_id=","abstract":false,"args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"args_string":"(customer_id : String)","args_html":"(customer_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id=","args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"visibility":"Public","body":"@customer_id = customer_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Site/Location","path":"PointGrab/CogniPoint/Site/Location.html","kind":"class","full_name":"PointGrab::CogniPoint::Site::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L121"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Site","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"city=(city:String)-instance-method","name":"city=","abstract":false,"args":[{"name":"city","external_name":"city","restriction":"String"}],"args_string":"(city : String)","args_html":"(city : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city=","args":[{"name":"city","external_name":"city","restriction":"String"}],"visibility":"Public","body":"@city = city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"country=(country:String)-instance-method","name":"country=","abstract":false,"args":[{"name":"country","external_name":"country","restriction":"String"}],"args_string":"(country : String)","args_html":"(country : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country=","args":[{"name":"country","external_name":"country","restriction":"String"}],"visibility":"Public","body":"@country = country"}},{"html_id":"county:String-instance-method","name":"county","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county","return_type":"String","visibility":"Public","body":"@county"}},{"html_id":"county=(county:String)-instance-method","name":"county=","abstract":false,"args":[{"name":"county","external_name":"county","restriction":"String"}],"args_string":"(county : String)","args_html":"(county : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county=","args":[{"name":"county","external_name":"county","restriction":"String"}],"visibility":"Public","body":"@county = county"}},{"html_id":"geo_position:GeoPosition-instance-method","name":"geo_position","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position","return_type":"GeoPosition","visibility":"Public","body":"@geo_position"}},{"html_id":"geo_position=(geo_position:GeoPosition)-instance-method","name":"geo_position=","abstract":false,"args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"args_string":"(geo_position : GeoPosition)","args_html":"(geo_position : GeoPosition)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position=","args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"visibility":"Public","body":"@geo_position = geo_position"}},{"html_id":"house_number:String-instance-method","name":"house_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number","return_type":"String","visibility":"Public","body":"@house_number"}},{"html_id":"house_number=(house_number:String)-instance-method","name":"house_number=","abstract":false,"args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"args_string":"(house_number : String)","args_html":"(house_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number=","args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"visibility":"Public","body":"@house_number = house_number"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"state=(state:String)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"@state = state"}},{"html_id":"street:String-instance-method","name":"street","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street","return_type":"String","visibility":"Public","body":"@street"}},{"html_id":"street=(street:String)-instance-method","name":"street=","abstract":false,"args":[{"name":"street","external_name":"street","restriction":"String"}],"args_string":"(street : String)","args_html":"(street : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street=","args":[{"name":"street","external_name":"street","restriction":"String"}],"visibility":"Public","body":"@street = street"}},{"html_id":"zip:String-instance-method","name":"zip","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip","return_type":"String","visibility":"Public","body":"@zip"}},{"html_id":"zip=(zip:String)-instance-method","name":"zip=","abstract":false,"args":[{"name":"zip","external_name":"zip","restriction":"String"}],"args_string":"(zip : String)","args_html":"(zip : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip=","args":[{"name":"zip","external_name":"zip","restriction":"String"}],"visibility":"Public","body":"@zip = zip"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Subscription","path":"PointGrab/CogniPoint/Subscription.html","kind":"class","full_name":"PointGrab::CogniPoint::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L286"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L287"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"endpoint:String-instance-method","name":"endpoint","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint","return_type":"String","visibility":"Public","body":"@endpoint"}},{"html_id":"endpoint=(endpoint:String)-instance-method","name":"endpoint=","abstract":false,"args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"args_string":"(endpoint : String)","args_html":"(endpoint : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint=","args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"visibility":"Public","body":"@endpoint = endpoint"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"notification_type:String-instance-method","name":"notification_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type","return_type":"String","visibility":"Public","body":"@notification_type"}},{"html_id":"notification_type=(notification_type:String)-instance-method","name":"notification_type=","abstract":false,"args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"args_string":"(notification_type : String)","args_html":"(notification_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type=","args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"visibility":"Public","body":"@notification_type = notification_type"}},{"html_id":"started:Bool-instance-method","name":"started","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started","return_type":"Bool","visibility":"Public","body":"@started"}},{"html_id":"started=(started:Bool)-instance-method","name":"started=","abstract":false,"args":[{"name":"started","external_name":"started","restriction":"Bool"}],"args_string":"(started : Bool)","args_html":"(started : Bool)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started=","args":[{"name":"started","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"@started = started"}},{"html_id":"subscription_type:String-instance-method","name":"subscription_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type","return_type":"String","visibility":"Public","body":"@subscription_type"}},{"html_id":"subscription_type=(subscription_type:String)-instance-method","name":"subscription_type=","abstract":false,"args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"args_string":"(subscription_type : String)","args_html":"(subscription_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type=","args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"visibility":"Public","body":"@subscription_type = subscription_type"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}}]},{"html_id":"drivers/PointGrab/CogniPoint/TokenResponse","path":"PointGrab/CogniPoint/TokenResponse.html","kind":"class","full_name":"PointGrab::CogniPoint::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]}]},{"html_id":"drivers/Polygon","path":"Polygon.html","kind":"class","full_name":"Polygon","name":"Polygon","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(points:Array(Point))-class-method","name":"new","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/place/area_polygon.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L36"},"def":{"name":"new","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(points)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contains(testx:Float64,testy:Float64)-instance-method","name":"contains","abstract":false,"args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"args_string":"(testx : Float64, testy : Float64)","args_html":"(testx : Float64, testy : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L54"},"def":{"name":"contains","args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"visibility":"Public","body":"if ((testx < @xmin || testx > @xmax) || testy < @ymin) || testy > @ymax\n return false\nend\ninside = false\nprevious_index = @points.size - 1\n@points.each_with_index do |point, index|\n previous = @points[previous_index]\n if ((point.y > testy) != (previous.y > testy)) && (testx < ((((previous.x - point.x) * (testy - point.y)) / (previous.y - point.y)) + point.x))\n inside = !inside\n end\n previous_index = index\nend\ninside\n"}},{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L48"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"xmax:Float64-instance-method","name":"xmax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L51"},"def":{"name":"xmax","return_type":"Float64","visibility":"Public","body":"@xmax"}},{"html_id":"xmin:Float64-instance-method","name":"xmin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L49"},"def":{"name":"xmin","return_type":"Float64","visibility":"Public","body":"@xmin"}},{"html_id":"ymax:Float64-instance-method","name":"ymax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L52"},"def":{"name":"ymax","return_type":"Float64","visibility":"Public","body":"@ymax"}},{"html_id":"ymin:Float64-instance-method","name":"ymin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L50"},"def":{"name":"ymin","return_type":"Float64","visibility":"Public","body":"@ymin"}}]},{"html_id":"drivers/Qbic","path":"Qbic.html","kind":"module","full_name":"Qbic","name":"Qbic","abstract":false,"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qbic/TouchPanel","path":"Qbic/TouchPanel.html","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"USERNAME","name":"USERNAME","value":"\"admin\""}],"namespace":{"html_id":"drivers/Qbic","kind":"module","full_name":"Qbic","name":"Qbic"},"instance_methods":[{"html_id":"device_info-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L192"},"def":{"name":"device_info","visibility":"Public","body":"query(\"GET\", \"/v1/info/\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_all_leds-instance-method","name":"get_all_leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L220"},"def":{"name":"get_all_leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n self[:light_names] = leds\n leds.each do |name|\n get_led_state(name)\n end\n true\nend"}},{"html_id":"get_eddystone_uid-instance-method","name":"get_eddystone_uid","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L169"},"def":{"name":"get_eddystone_uid","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_uid\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_eddystone_url-instance-method","name":"get_eddystone_url","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L188"},"def":{"name":"get_eddystone_url","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_url\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_ibeacon-instance-method","name":"get_ibeacon","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L147"},"def":{"name":"get_ibeacon","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/ibeacon\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_led_state(name:String)-instance-method","name":"get_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L216"},"def":{"name":"get_led_state","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led/#{name}\") do |data|\n self[name] = JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L64"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nif refresh_token = @refresh_token\n response = post(\"/v1/oauth2/token\", body: {grant_type: \"refresh_token\", refresh_token: refresh_token}.to_json)\n if response.success?\n resp = AuthResponse.from_json(response.body.not_nil!)\n @expired = false\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\n @refresh_token = resp.refresh_token\n return @auth_token\n else\n logger.debug do\n \"refresh token request failed\"\n end\n end\nend\nresponse = post(\"/v1/oauth2/token\", body: {grant_type: \"password\", username: USERNAME, password: @password}.to_json)\ndata = response.body.not_nil!\nif response.success?\n resp = AuthResponse.from_json(data)\n @expired = false\n @refresh_token = resp.refresh_token\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\nelse\n resp = FailureResponse.from_json(data)\n raise(\"failed to obtain access token: #{resp.detail} (#{response.status})\")\nend\n"}},{"html_id":"leds-instance-method","name":"leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L212"},"def":{"name":"leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n self[:leds] = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@password = URI.encode_www_form(setting(String, :password))\ntransport.before_request do |request|\n request.headers[\"Content-Type\"] = \"application/json\"\n if token_expired?\n else\n request.headers[\"Authorization\"] = @auth_token\n end\nend\nschedule.clear\nschedule.every(1.minute) do\n logger.debug do\n \"polling to check connectivity\"\n end\n resp = get(\"/v1/public/info/\")\n if resp.success?\n logger.debug do\n resp.body\n end\n get_all_leds\n end\nend\n"}},{"html_id":"set_all_leds(red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_all_leds","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L239"},"def":{"name":"set_all_leds","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n leds.each do |name|\n set_led_state(name, red, green, blue)\n end\n true\nend"}},{"html_id":"set_eddystone_uid(enabled:Bool,namespace:String|Nil=nil,instance:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_uid","doc":"https://github.com/google/eddystone/tree/master/eddystone-uid","summary":"

https://github.com/google/eddystone/tree/master/eddystone-uid

","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L153"},"def":{"name":"set_eddystone_uid","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_uid\", {enabled: enabled ? \"enabled\" : \"disabled\", namespace: namespace, instance: instance, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_eddystone_url(enabled:Bool,url:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_url","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L174"},"def":{"name":"set_eddystone_url","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_url\", {enabled: enabled ? \"enabled\" : \"disabled\", url: url, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_ibeacon(enabled:Bool,major:UInt16|Nil=nil,minor:UInt16|Nil=nil,uuid:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_ibeacon","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L129"},"def":{"name":"set_ibeacon","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/ibeacon\", {enabled: enabled ? \"enabled\" : \"disabled\", major: major, minor: minor, uuid: uuid, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_led_state(name:String,red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","args_html":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L230"},"def":{"name":"set_led_state","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"value = {red: red, green: green, blue: blue}\nquery(\"POST\", \"/v1/led/#{name}\", value.to_json) do\n self[name] = value\nend\n"}},{"html_id":"set_setting(key:String,value:String|JSON::Any)-instance-method","name":"set_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"args_string":"(key : String, value : String | JSON::Any)","args_html":"(key : String, value : String | JSON::Any)","location":{"filename":"src/qbic/touch_panel.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L201"},"def":{"name":"set_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"visibility":"Public","body":"query(\"POST\", \"/v1/settings/#{key}\", {value: value}.to_json) do\n true\nend"}},{"html_id":"set_url(value:String)-instance-method","name":"set_url","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L208"},"def":{"name":"set_url","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"set_setting(\"content_url\", value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L196"},"def":{"name":"settings","visibility":"Public","body":"query(\"GET\", \"/v1/settings\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"token_expired?:Bool-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L60"},"def":{"name":"token_expired?","visibility":"Public","body":"@expired"}},{"html_id":"update_password(new_password:String)-instance-method","name":"update_password","abstract":false,"args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"args_string":"(new_password : String)","args_html":"(new_password : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L110"},"def":{"name":"update_password","args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"visibility":"Public","body":"if new_password.size >= 4 && new_password.size <= 16\nelse\n raise(\"password must be between 4 and 16 characters\")\nend\nquery(\"POST\", \"/v1/user/password\") do\n define_setting(:password, new_password)\nend\n"}},{"html_id":"wifi_scan-instance-method","name":"wifi_scan","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L118"},"def":{"name":"wifi_scan","visibility":"Public","body":"query(\"GET\", \"/v1/wifi/scan_results\") do |data|\n JSON.parse(data.not_nil!)\nend"}}],"types":[{"html_id":"drivers/Qbic/TouchPanel/AdvertiseMode","path":"Qbic/TouchPanel/AdvertiseMode.html","kind":"enum","full_name":"Qbic::TouchPanel::AdvertiseMode","name":"AdvertiseMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LowLatency","name":"LowLatency","value":"0"},{"id":"Balanced","name":"Balanced","value":"1"},{"id":"LowPower","name":"LowPower","value":"2"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"instance_methods":[{"html_id":"balanced?-instance-method","name":"balanced?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L124"},"def":{"name":"balanced?","visibility":"Public","body":"self == Balanced"}},{"html_id":"low_latency?-instance-method","name":"low_latency?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L123"},"def":{"name":"low_latency?","visibility":"Public","body":"self == LowLatency"}},{"html_id":"low_power?-instance-method","name":"low_power?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L125"},"def":{"name":"low_power?","visibility":"Public","body":"self == LowPower"}}]},{"html_id":"drivers/Qbic/TouchPanel/AuthResponse","path":"Qbic/TouchPanel/AuthResponse.html","kind":"class","full_name":"Qbic::TouchPanel::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"refresh_token:String-instance-method","name":"refresh_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token","return_type":"String","visibility":"Public","body":"@refresh_token"}},{"html_id":"refresh_token=(refresh_token:String)-instance-method","name":"refresh_token=","abstract":false,"args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"args_string":"(refresh_token : String)","args_html":"(refresh_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token=","args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"visibility":"Public","body":"@refresh_token = refresh_token"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]},{"html_id":"drivers/Qbic/TouchPanel/FailureResponse","path":"Qbic/TouchPanel/FailureResponse.html","kind":"class","full_name":"Qbic::TouchPanel::FailureResponse","name":"FailureResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"detail:String-instance-method","name":"detail","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail","return_type":"String","visibility":"Public","body":"@detail"}},{"html_id":"detail=(detail:String)-instance-method","name":"detail=","abstract":false,"args":[{"name":"detail","external_name":"detail","restriction":"String"}],"args_string":"(detail : String)","args_html":"(detail : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail=","args":[{"name":"detail","external_name":"detail","restriction":"String"}],"visibility":"Public","body":"@detail = detail"}}]}]}]},{"html_id":"drivers/Qsc","path":"Qsc.html","kind":"module","full_name":"Qsc","name":"Qsc","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qsc/QSysControl","path":"Qsc/QSysControl.html","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"about-instance-method","name":"about","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L138"},"def":{"name":"about","visibility":"Public","body":"do_send(\"sg\\n\", name: :status, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L54"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nif @username\n login\nend\nrecreate_change_groups\nschedule.every(40.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n about\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n"}},{"html_id":"fader(fader_ids:Ids,level:Val)-instance-method","name":"fader","doc":"Compatibility Methods","summary":"

Compatibility Methods

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L163"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = -100..20\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = (level_actual + range.begin.to_f).round(1)\n(ensure_array(fader_ids)).each do |f_id|\n if @history[f_id]? == (:percentage_fader)\n set_value(f_id, level, name: \"fader#{f_id}\")\n else\n set_value(f_id, level_actual, name: \"fader#{f_id}\", fader_type: :fader)\n end\nend\n"}},{"html_id":"faders(fader_ids:Ids,level:Val)-instance-method","name":"faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L181"},"def":{"name":"faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"fader(fader_ids, level)"}},{"html_id":"get_status(control_id:String,**options)-instance-method","name":"get_status","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String, **options)","args_html":"(control_id : String, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L112"},"def":{"name":"get_status","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\ndo_send(\"cg #{control_id}\\n\", **options)\n"}},{"html_id":"history:Hash(String,Symbol)-instance-method","name":"history","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L31"},"def":{"name":"history","return_type":"Hash(String, Symbol)","visibility":"Public","body":"@history"}},{"html_id":"login(username:String|Nil=nil,password:String|Nil=nil)-instance-method","name":"login","abstract":false,"args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil = nil, password : String | Nil = nil)","args_html":"(username : String | Nil = nil, password : String | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L142"},"def":{"name":"login","args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"username || (username = @username)\npassword || (password = @password)\ndo_send(\"login #{username} #{password}\\n\", name: :login, priority: 99)\n"}},{"html_id":"mute(mute_ids:Ids,state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool = true)","args_html":"(mute_ids : Ids, state : Bool = true)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L185"},"def":{"name":"mute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 1 : 0\n(ensure_array(mute_ids)).each do |m_id|\n set_value(m_id, level, fader_type: :mute)\nend\n"}},{"html_id":"mute_toggle(mute_id:Ids)-instance-method","name":"mute_toggle","abstract":false,"args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"args_string":"(mute_id : Ids)","args_html":"(mute_id : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L198"},"def":{"name":"mute_toggle","args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_id, !self[\"fader#{mute_id}_mute\"]?.try(&.as_bool))"}},{"html_id":"mutes(mute_ids:Ids,state:Bool)-instance-method","name":"mutes","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool)","args_html":"(mute_ids : Ids, state : Bool)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L190"},"def":{"name":"mutes","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(mute_ids, state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nqueue.retries = 1\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@static_change_groups = (setting?(Hash(String, Group), :change_groups)) || ({} of String => Group)\nif @connected\n if @username\n login\n end\n recreate_change_groups\nend\n"}},{"html_id":"phone_dial(control_id:String)-instance-method","name":"phone_dial","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L233"},"def":{"name":"phone_dial","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"trigger(control_id)\nschedule.in(200.milliseconds) do\n poll_change_group(:phone)\nend\n"}},{"html_id":"phone_hangup(control_id:String)-instance-method","name":"phone_hangup","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L238"},"def":{"name":"phone_hangup","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"phone_dial(control_id)"}},{"html_id":"phone_number(number:String,control_id:String)-instance-method","name":"phone_number","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(number : String, control_id : String)","args_html":"(number : String, control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L229"},"def":{"name":"phone_number","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"set_string(control_id, number)"}},{"html_id":"query_fader(fader_ids:Ids)-instance-method","name":"query_fader","doc":"For inter-module compatibility","summary":"

For inter-module compatibility

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L211"},"def":{"name":"query_fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: (@history[fad]? || (:fader)))\n"}},{"html_id":"query_faders(fader_ids:Ids)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L216"},"def":{"name":"query_faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |f_id|\n get_status(f_id, fader_type: ( @history[f_id]? || (:fader)))\nend"}},{"html_id":"query_mute(fader_ids:Ids)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L220"},"def":{"name":"query_mute","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: :mute)\n"}},{"html_id":"query_mutes(fader_ids:Ids)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L225"},"def":{"name":"query_mutes","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |fad|\n get_status(fad, fader_type: :mute)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L277"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nputs(\"GOT: #{data}\")\nif data == \"none\\r\\n\"\n return task.try(&.success)\nend\nlogger.debug do\n \"QSys sent: #{data}\"\nend\nresp = shellsplit(data)\ncase resp[0]\nwhen \"cv\"\n control_id = resp[1]\n string_rep = resp[2]\n value = resp[-2]\n position = resp[-1].to_f\n self[\"pos_#{control_id}\"] = position\n if string_rep.ends_with?('%')\n @history[control_id] = :percentage_fader\n end\n if type = @history[control_id]?\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :percentage_fader\n self[\"fader#{control_id}\"] = value.to_f\n when :mute\n self[\"fader#{control_id}_mute\"] = value.to_i == 1\n end\n else\n value = resp[2]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id} == #{value}\"\n end\n end\nwhen \"cvv\"\n control_id = resp[1]\n count = resp[2].to_i\n if type = @history[control_id]?\n next_count = count + 3\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :mute\n self[\"fader#{control_id}_mute\"] = value == 1\n end\n end\n else\n next_count = 2\n 1.upto(count) do |index|\n value = resp[next_count + index]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id}\"\n end\n next_count = count + 3\n count = resp[next_count].to_i\n end\n next_count = (next_count + count) + 1\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n self[\"pos_#{control_id}\"] = value\n end\nwhen \"sr\"\n self[:design_name] = resp[1]\n self[:is_primary] = resp[3] == \"1\"\n self[:is_active] = resp[4] == \"1\"\nwhen \"core_not_active\", \"bad_change_group_handle\", \"bad_command\", \"bad_id\", \"control_read_only\", \"too_many_change_groups\"\n return task.try(&.abort(\"Error response received: #{data}\"))\nwhen \"login_required\"\n if @username\n login\n end\n return task.try(&.abort(\"Login is required!\"))\nwhen \"login_success\"\n logger.debug do\n \"Login success!\"\n end\nwhen \"login_failed\"\n return task.try(&.abort(\"Invalid login details provided\"))\nwhen \"rc\"\n logger.warn do\n \"System is notifying us of a disconnect!\"\n end\nwhen \"cmvv\"\n logger.debug do\n \"received cmvv response\"\n end\nelse\n logger.warn do\n \"Unknown response received #{data}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_snapshot(name:String,index:Int32)-instance-method","name":"save_snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(name : String, index : Int32)","args_html":"(name : String, index : Int32)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L206"},"def":{"name":"save_snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(\"sss \\\"#{name}\\\" #{index}\\n\")"}},{"html_id":"set_position(control_id:String,position:Int32,ramp_time:Val|Nil=nil)-instance-method","name":"set_position","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","args_html":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L118"},"def":{"name":"set_position","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"visibility":"Public","body":"if ramp_time\n do_send(\"cspr \\\"#{control_id}\\\" #{position} #{ramp_time}\\n\")\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csp \\\"#{control_id}\\\" #{position}\\n\")\nend"}},{"html_id":"set_string(control_ids:Ids,text:String)-instance-method","name":"set_string","doc":"Used to set a dial number/string","summary":"

Used to set a dial number/string

","abstract":false,"args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(control_ids : Ids, text : String)","args_html":"(control_ids : Ids, text : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L149"},"def":{"name":"set_string","args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"(ensure_array(control_ids)).each do |id|\n (do_send(\"css \\\"#{id}\\\" \\\"#{text}\\\"\\n\")).get\n self[id] = text\nend"}},{"html_id":"set_value(control_id:String,value:Val,ramp_time:Val|Nil=nil,**options)-instance-method","name":"set_value","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","args_html":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L127"},"def":{"name":"set_value","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\nif ramp_time\n do_send(\"csvr \\\"#{control_id}\\\" #{value} #{ramp_time}\\n\", **options)\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csv \\\"#{control_id}\\\" #{value}\\n\", **options)\nend\n"}},{"html_id":"snapshot(name:String,index:Int32,ramp_time:Val=1.5)-instance-method","name":"snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"args_string":"(name : String, index : Int32, ramp_time : Val = 1.5)","args_html":"(name : String, index : Int32, ramp_time : Val = 1.5)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L202"},"def":{"name":"snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"visibility":"Public","body":"do_send(\"ssl \\\"#{name}\\\" #{index} #{ramp_time}\\n\")"}},{"html_id":"trigger(control_id:String)-instance-method","name":"trigger","doc":"Used to trigger dialing etc","summary":"

Used to trigger dialing etc

","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L157"},"def":{"name":"trigger","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Sending trigger to Qsys: ct #{control_id}\"\nend\ndo_send(\"ct \\\"#{control_id}\\\"\\n\")\n"}},{"html_id":"unmute(mute_ids:Ids)-instance-method","name":"unmute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"args_string":"(mute_ids : Ids)","args_html":"(mute_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L194"},"def":{"name":"unmute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_ids, false)"}}],"types":[{"html_id":"drivers/Qsc/QSysControl/Group","path":"Qsc/QSysControl/Group.html","kind":"alias","full_name":"Qsc::QSysControl::Group","name":"Group","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: Int32, controls: Set(String))","aliased_html":"{id: Int32, controls: Set(String)}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Ids","path":"Qsc/QSysControl/Ids.html","kind":"alias","full_name":"Qsc::QSysControl::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Val","path":"Qsc/QSysControl/Val.html","kind":"alias","full_name":"Qsc::QSysControl::Val","name":"Val","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}}]},{"html_id":"drivers/Qsc/QSysRemote","path":"Qsc/QSysRemote.html","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BoolVals","name":"BoolVals","value":"[\"true\", \"false\"]"},{"id":"DB_RANGE","name":"DB_RANGE","value":"-100..20"},{"id":"Delimiter","name":"Delimiter","value":"\"\\u0000\""},{"id":"Errors","name":"Errors","value":"{-32700 => \"Parse error. Invalid JSON was received by the server.\", -32600 => \"Invalid request. The JSON sent is not a valid Request object.\", -32601 => \"Method not found.\", -32602 => \"Invalid params.\", -32603 => \"Server error.\", 2 => \"Invalid Page Request ID\", 3 => \"Bad Page Request - could not create the requested Page Request\", 4 => \"Missing file\", 5 => \"Change Groups exhausted\", 6 => \"Unknown change croup\", 7 => \"Unknown component name\", 8 => \"Unknown control\", 9 => \"Illegal mixer channel index\", 10 => \"Logon required\"}"},{"id":"Faders","name":"Faders","value":"{matrix_in: {type: :\"Mixer.SetInputGain\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputGain\", pri: :Outputs}, matrix_crosspoint: {type: :\"Mixer.SetCrossPointGain\", pri: :Inputs, sec: :Outputs}}"},{"id":"JsonRpcVer","name":"JsonRpcVer","value":"\"2.0\""},{"id":"Mutes","name":"Mutes","value":"{matrix_in: {type: :\"Mixer.SetInputMute\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputMute\", pri: :Outputs}}"}],"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"auto_poll_change_group(group_id:String,every:Num,**options)-instance-method","name":"auto_poll_change_group","doc":"Where every is the number of seconds between polls","summary":"

Where every is the number of seconds between polls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"args_string":"(group_id : String, every : Num, **options)","args_html":"(group_id : String, every : Num, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L175"},"def":{"name":"auto_poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AutoPoll\", {:Id => group_id, :Rate => every}, **options)"}},{"html_id":"change_group_add_component(group_id:String,component_name:String,controls:Array(String),**options)-instance-method","name":"change_group_add_component","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, component_name : String, controls : Array(String), **options)","args_html":"(group_id : String, component_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L149"},"def":{"name":"change_group_add_component","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddComponentControl\", {:Id => group_id, :Component => {:Name => component_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}}, **options)"}},{"html_id":"change_group_add_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_add_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L135"},"def":{"name":"change_group_add_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddControl\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"change_group_remove_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_remove_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L142"},"def":{"name":"change_group_remove_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Remove\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"clear_change_group(group_id:String,**options)-instance-method","name":"clear_change_group","doc":"Removes all controls from change group","summary":"

Removes all controls from change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L170"},"def":{"name":"clear_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Clear\", {:Id => group_id}, **options)"}},{"html_id":"component_get(c_name:String,controls:Array(String),**options)-instance-method","name":"component_get","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(c_name : String, controls : Array(String), **options)","args_html":"(c_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L108"},"def":{"name":"component_get","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Get\", {:Name => c_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}, **options)"}},{"html_id":"component_set(c_name:String,values:Values,**options)-instance-method","name":"component_set","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"args_string":"(c_name : String, values : Values, **options)","args_html":"(c_name : String, values : Values, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L115"},"def":{"name":"component_set","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"values = ensure_array(values)\ndo_send(next_id, \"Component.Set\", {:Name => c_name, :Controls => values}, **options)\n"}},{"html_id":"component_trigger(component:String,trigger:String,**options)-instance-method","name":"component_trigger","abstract":false,"args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"args_string":"(component : String, trigger : String, **options)","args_html":"(component : String, trigger : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L124"},"def":{"name":"component_trigger","args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Trigger\", {:Name => component, :Controls => [{:Name => trigger}]}, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(20.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n no_op\nend\n@id = 0\n"}},{"html_id":"control_get(names:Array(String),**options)-instance-method","name":"control_get","abstract":false,"args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"args_string":"(names : Array(String), **options)","args_html":"(names : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L104"},"def":{"name":"control_get","args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Control.Get\", names, **options)"}},{"html_id":"control_set(name:String,value:Num|Bool,ramp:Num|Nil=nil,**options)-instance-method","name":"control_set","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"args_string":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","args_html":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L87"},"def":{"name":"control_set","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ramp\n params = {:Name => name, :Value => value, :Ramp => ramp}\nelse\n params = {:Name => name, :Value => value}\nend\ndo_send(next_id, \"Control.Set\", params, **options)\n"}},{"html_id":"destroy_change_group(group_id:String,**options)-instance-method","name":"destroy_change_group","doc":"Removes the change group","summary":"

Removes the change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L165"},"def":{"name":"destroy_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Destroy\", {:Id => group_id}, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(fader_ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",use_value:Bool=false,**options)-instance-method","name":"fader","doc":"value can either be a number to set actual numeric values like decibels\nor Bool to deal with mute state","summary":"

value can either be a number to set actual numeric values like decibels or Bool to deal with mute state

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"args_string":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", use_value : Bool = false, **options)","args_html":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", use_value : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L264"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"faders = ensure_array(fader_ids)\nif component && (val = value.as?(Num))\n val = val.to_f.clamp(0.0, 100.0)\n if @db_based_faders || use_value\n percentage = val / 100.0\n level_actual = percentage * (DB_RANGE.size - 1).to_f\n level_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\n fads = faders.map do |fad|\n {Name: fad, Value: level_actual}\n end\n else\n fads = faders.map do |fad|\n {Name: fad, Position: val}\n end\n end\n (component_set(component, fads, name: \"level_#{faders[0]}\")).get\n component_get(component, faders)\nelse\n reqs = faders.map do |fad|\n control_set(fad, value)\n end\n reqs.last.get\n control_get(faders)\nend\n"}},{"html_id":"faders(ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L290"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(ids, value, component, type, **options)"}},{"html_id":"get_components(**options)-instance-method","name":"get_components","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L131"},"def":{"name":"get_components","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.GetComponents\", **options)"}},{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L72"},"def":{"name":"get_status","visibility":"Public","body":"do_send(next_id, cmd: :StatusGet, params: 0, priority: 0)"}},{"html_id":"logon-instance-method","name":"logon","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L76"},"def":{"name":"logon","visibility":"Public","body":"do_send(cmd: :Logon, params: {:User => @username, :Password => @password}, priority: 99)"}},{"html_id":"matrix_fader(name:String,level:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_fader","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, level : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, level : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L213"},"def":{"name":"matrix_fader","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Faders[type]\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nlevel_actual = percentage * (DB_RANGE.size - 1).to_f\nlevel_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\nif sec = info[:sec]?\n params = {:Name => name, info[:pri] => index[0], sec => index[1], :Value => level_actual}\nelse\n params = {:Name => name, info[:pri] => index, :Value => level_actual}\nend\ndo_send(next_id, info[:type], params, **options)\n"}},{"html_id":"matrix_mute(name:String,value:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_mute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, value : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, value : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L252"},"def":{"name":"matrix_mute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Mutes[type]\ndo_send(next_id, info[:type], {:Name => name, info[:pri] => index, :Value => value}, **options)\n"}},{"html_id":"mixer(name:String,inouts:Hash(Int32,Int32|Array(Int32)),mute:Bool=false,**options)-instance-method","name":"mixer","doc":"Example usage:\nmixer 'Parade', {1 => [2,3,4], 3 => 6}, true","summary":"

Example usage: mixer 'Parade', {1 => [2,3,4], 3 => 6}, true

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"args_string":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","args_html":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L184"},"def":{"name":"mixer","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, outputs|\n outputs = ensure_array(outputs)\n do_send(next_id, \"Mixer.SetCrossPointMute\", {:Name => name, :Inputs => input.to_s, :Outputs => outputs.join(' '), :Value => mute}, **options)\nend"}},{"html_id":"mute(fader_id:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L294"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(fader_id, state, component, type, state, **options)"}},{"html_id":"mutes(ids:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L298"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(ids, state, component, type, **options)"}},{"html_id":"next_id-instance-method","name":"next_id","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L399"},"def":{"name":"next_id","visibility":"Public","body":"@id = @id + 1\n@id\n"}},{"html_id":"no_op-instance-method","name":"no_op","doc":"This command does nothing but is useful for making sure the socket is left open","summary":"

This command does nothing but is useful for making sure the socket is left open

","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L68"},"def":{"name":"no_op","visibility":"Public","body":"do_send(cmd: :NoOp, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Delimiter)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@db_based_faders = setting?(Bool, :db_based_faders)\n@username = setting?(String, :username)\n@password = setting?(String, :password)\nif @username && @password\n logon\nend\n"}},{"html_id":"poll_change_group(group_id:String,**options)-instance-method","name":"poll_change_group","doc":"Returns values for all the controls","summary":"

Returns values for all the controls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L160"},"def":{"name":"poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Poll\", {:Id => group_id}, **options)"}},{"html_id":"query_fader(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L306"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"faders = ensure_array(fader_id)\ncomponent ? component_get(component, faders) : control_get(faders)\n"}},{"html_id":"query_faders(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L311"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"query_mute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L315"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(fader_id, component, type)"}},{"html_id":"query_mutes(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L319"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L323"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nresponse = JSON.parse(data)\nlogger.debug do\n \"QSys sent:\"\nend\nlogger.debug do\n response\nend\nif err = response[\"error\"]?\n code = err[\"code\"]\n logger.warn do\n \"Error code #{code} - #{Errors[code]}\"\n end\n if code == 10\n if @username && @password\n logon.get\n return task.try(&.retry(\"Logged on and retrying command\"))\n else\n return task.try(&.abort(\"Login required but no username and/or password in settings\"))\n end\n end\n return task.try(&.abort(err[\"message\"]))\nend\nif result = response[\"result\"]?\nelse\n return task.try(&.success(\"Unknown response\"))\nend\ncase result\nwhen .as_h?\n if result[\"Controls\"]?\n process(result[\"Controls\"].as_a, result[\"Name\"]?)\n else\n if result[\"Platform\"]?\n result.as_h.each do |k, v|\n self[k.underscore] = v\n end\n end\n end\nwhen .as_a?\n process(result.as_a)\nend\ntask.try(&.success)\n"}},{"html_id":"unmute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L302"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(fader_id, false, component, type, **options)"}}],"types":[{"html_id":"drivers/Qsc/QSysRemote/Ids","path":"Qsc/QSysRemote/Ids.html","kind":"alias","full_name":"Qsc::QSysRemote::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Num","path":"Qsc/QSysRemote/Num.html","kind":"alias","full_name":"Qsc::QSysRemote::Num","name":"Num","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/PosTup","path":"Qsc/QSysRemote/PosTup.html","kind":"alias","full_name":"Qsc::QSysRemote::PosTup","name":"PosTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Position: Float64 | Int32)","aliased_html":"{Name: String, Position: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/ValTup","path":"Qsc/QSysRemote/ValTup.html","kind":"alias","full_name":"Qsc::QSysRemote::ValTup","name":"ValTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Value: Float64 | Int32)","aliased_html":"{Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Values","path":"Qsc/QSysRemote/Values.html","kind":"alias","full_name":"Qsc::QSysRemote::Values","name":"Values","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(NamedTuple(Name: String, Position: Float64 | Int32)) | Array(NamedTuple(Name: String, Value: Float64 | Int32)) | NamedTuple(Name: String, Position: Float64 | Int32) | NamedTuple(Name: String, Value: Float64 | Int32))","aliased_html":"Array({Name: String, Position: Float64 | Int32}) | Array({Name: String, Value: Float64 | Int32}) | {Name: String, Position: Float64 | Int32} | {Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}}]}]},{"html_id":"drivers/RHBAccess","path":"RHBAccess.html","kind":"module","full_name":"RHBAccess","name":"RHBAccess","abstract":false,"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/RHBAccess/AxiomRoomLogic","path":"RHBAccess/AxiomRoomLogic.html","kind":"class","full_name":"RHBAccess::AxiomRoomLogic","name":"AxiomRoomLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock-instance-method","name":"lock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L29"},"def":{"name":"lock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.lock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while LOCKING #{@door_ids}\"\n end\nelse\n self[\"locked_by_placeos_at\"] = Time.local\n status?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@door_ids = setting(Array(String), :axiom_door_ids)\n@cron_string = setting(String, :axiom_status_poll_cron)\nschedule.clear\nschedule.cron(@cron_string) do\n status?\nend\n"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L47"},"def":{"name":"status?","visibility":"Public","body":"begin\n result = @door_ids.map do |id|\n {id, (axiom.status?(id)).get}\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR requesting STATUS of #{@door_ids}\"\n end\nelse\n result.map do |id, status|\n self[id] = status[\"Status\"]\n end\n self[\"doors_locked\"] = result.count do |status|\n status.includes?(\"Locked\")\n end\nend"}},{"html_id":"unlock-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L38"},"def":{"name":"unlock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.unlock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while UNLOCKING #{@door_ids}\"\n end\nelse\n self[\"unlocked_by_placeos_at\"] = Time.local\n status?\nend"}}]},{"html_id":"drivers/RHBAccess/Axiomxa","path":"RHBAccess/Axiomxa.html","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock(id:String,permanent:Bool=false)-instance-method","name":"lock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L27"},"def":{"name":"lock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg0|\n __arg0.access_points.lock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"locked\", \"permanent\" => permanent.to_s}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@client = Client.new(base_url: host_name.to_s, username: setting(String, :username), password: setting(String, :password))\n"}},{"html_id":"status?(id:String)-instance-method","name":"status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L37"},"def":{"name":"status?","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = @client.try() do |__arg2|\n __arg2.access_points.status(id: id)\nend\nself[\"access_point_#{id}_status\"] = JSON.parse(response.not_nil!.body)\n"}},{"html_id":"unlock(id:String,permanent:Bool=false)-instance-method","name":"unlock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L32"},"def":{"name":"unlock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg1|\n __arg1.access_points.unlock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"unlocked\", \"permanent\" => permanent.to_s}\n"}}],"types":[{"html_id":"drivers/RHBAccess/Axiomxa/Client","path":"RHBAccess/Axiomxa/Client.html","kind":"alias","full_name":"RHBAccess::Axiomxa::Client","name":"Client","abstract":false,"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Axio::Client","aliased_html":"Axio::Client","const":false,"namespace":{"html_id":"drivers/RHBAccess/Axiomxa","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa"}}]}]},{"html_id":"drivers/Rhombus","path":"Rhombus.html","kind":"module","full_name":"Rhombus","name":"Rhombus","abstract":false,"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Rhombus/SecurityInterop","path":"Rhombus/SecurityInterop.html","kind":"class","full_name":"Rhombus::SecurityInterop","name":"SecurityInterop","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"door_event(json:String)-instance-method","name":"door_event","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L80"},"def":{"name":"door_event","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"new door event detected: #{json}\"\nend\nwebhook = Webhook.new(Interface::DoorSecurity::DoorEvent.from_json(json))\n@event_count = @event_count + 1_u64\n@subscriptions.each do |sub|\n begin\n logger.debug do\n \"notifying webhook of new door event: #{sub.webhook}\"\n end\n webhook.sign(sub.secret)\n response = HTTP::Client.post(sub.webhook, HTTP::Headers {\"Content-Type\" => \"application/json\"}, webhook.to_json)\n if response.success?\n else\n logger.warn do\n \"request #{sub.webhook} failed with status: #{response.status_code}\\n#{response.body}\"\n end\n end\n rescue error\n logger.error(exception: error) do\n \"failed to notify subscription: #{sub.webhook}\"\n end\n end\nend\nself[:event_count] = @event_count\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\norg_id = (setting?(String, :organization_id)) || \"event\"\nmonitor(\"security/#{org_id}/door\") do |_subscription, payload|\n door_event(payload)\nend\n@subscriptions = (setting?(Array(Subscription), :subscriptions)) || ([] of Subscription)\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n"}},{"html_id":"request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L35"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\n end\n if @debug_webhook\n logger.debug do\n body\n end\n end\n case method.downcase\n when \"post\"\n @subscriptions << (Subscription.from_json(body))\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::CREATED.to_i, {} of String => String, \"\"}\n when \"delete\"\n sub_webhook = (Subscription.from_json(body)).webhook\n @subscriptions.reject! do |sub|\n sub.webhook == sub_webhook\n end\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::ACCEPTED.to_i, {} of String => String, \"\"}\n when \"get\"\n all_doors = [] of JSON::Any\n security.door_list.get.each do |doors|\n all_doors.concat(doors.as_a)\n end\n {HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, {doors: all_doors}.to_json}\n when \"put\"\n door = (Interface::DoorSecurity::Door.from_json(body)).door_id\n case (security.unlock(door)).get.first.as_bool?\n in true\n {HTTP::Status::OK.to_i, {} of String => String, \"\"}\n in false\n {HTTP::Status::FORBIDDEN.to_i, {} of String => String, \"\"}\n in nil\n {HTTP::Status::NOT_IMPLEMENTED.to_i, {} of String => String, \"\"}\n end\n else\n {HTTP::Status::BAD_REQUEST.to_i, {\"Content-Type\" => \"application/json\"}, {error: \"unexpected HTTP request method: #{method}\"}.to_json}\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, error.message.to_s}\nend"}}]},{"html_id":"drivers/Rhombus/SecurityMock","path":"Rhombus/SecurityMock.html","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"card_holders:Array(CardUser)-instance-method","name":"card_holders","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L27"},"def":{"name":"card_holders","return_type":"Array(CardUser)","visibility":"Public","body":"@card_holders"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L26"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"@door_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"door_list_size = (setting?(Int32, :door_list_size)) || 30\nFaker.seed(door_list_size)\ndoors = Array(Door).new(door_list_size)\ndoor_list_size.times do\n doors << (Door.new(Faker::Business.credit_card_number, Faker::Commerce.department))\nend\n@door_list = doors\n@card_holders = (0..10).map do\n CardUser.new(Faker::Business.credit_card_number, Faker::Name.name, Faker::Internet.safe_email)\nend\nswipe_event_period = (setting?(Int32, :swipe_event_every)) || 30\nschedule.clear\nschedule.every(swipe_event_period.seconds) do\n door = doors.sample\n action = Action::Granted\n case rand(6)\n when 0, 1, 2\n user = card_holders.sample\n when 3\n action = Action::Denied\n user = card_holders.sample\n when 4\n action = Action::Tamper\n when 5\n action = Action::RequestToExit\n end\n publish(\"security/event/door\", DoorEvent.new(module_id: module_id, security_system: \"mock\", door_id: door.door_id, action: action, card_id: user.try(&.card_id), user_name: user.try(&.user_name), user_email: user.try(&.user_email)).to_json)\nend\n"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/rhombus/security_mock.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L83"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"self[:last_unlocked] = door_id\ntrue\n"}}],"types":[{"html_id":"drivers/Rhombus/SecurityMock/CardUser","path":"Rhombus/SecurityMock/CardUser.html","kind":"struct","full_name":"Rhombus::SecurityMock::CardUser","name":"CardUser","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus/SecurityMock","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock"},"constructors":[{"html_id":"new(card_id:String,user_name:String,user_email:String)-class-method","name":"new","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(card_id : String, user_name : String, user_email : String)","args_html":"(card_id : String, user_name : String, user_email : String)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"new","args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(card_id, user_name, user_email)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_mock.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@card_id.clone, @user_name.clone, @user_email.clone)"}},{"html_id":"copy_with(card_id_card_id=@card_id,user_name_user_name=@user_name,user_email_user_email=@user_email)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"args_string":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","args_html":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"copy_with","args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"visibility":"Public","body":"self.class.new(_card_id, _user_name, _user_email)"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Rhombus/Subscription","path":"Rhombus/Subscription.html","kind":"class","full_name":"Rhombus::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(webhook:String,secret:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"args_string":"(webhook : String, secret : Nil | String = nil)","args_html":"(webhook : String, secret : Nil | String = nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L12"},"def":{"name":"new","args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(webhook, secret)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"secret:String|Nil-instance-method","name":"secret","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L10"},"def":{"name":"secret","return_type":"String | ::Nil","visibility":"Public","body":"@secret"}},{"html_id":"webhook:String-instance-method","name":"webhook","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L9"},"def":{"name":"webhook","return_type":"String","visibility":"Public","body":"@webhook"}}]},{"html_id":"drivers/Rhombus/Webhook","path":"Rhombus/Webhook.html","kind":"class","full_name":"Rhombus::Webhook","name":"Webhook","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(event:PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)-class-method","name":"new","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"args_string":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","args_html":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L27"},"def":{"name":"new","args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"visibility":"Public","body":"_ = allocate\n_.initialize(event)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"action:PlaceOS::Driver::Interface::DoorSecurity::Action-instance-method","name":"action","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L22"},"def":{"name":"action","return_type":"PlaceOS::Driver::Interface::DoorSecurity::Action","visibility":"Public","body":"@action"}},{"html_id":"card_id:String|Nil-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L23"},"def":{"name":"card_id","return_type":"String | ::Nil","visibility":"Public","body":"@card_id"}},{"html_id":"door_id:String-instance-method","name":"door_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L19"},"def":{"name":"door_id","return_type":"String","visibility":"Public","body":"@door_id"}},{"html_id":"sign(secret:String|Nil)-instance-method","name":"sign","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"args_string":"(secret : String | Nil)","args_html":"(secret : String | Nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L37"},"def":{"name":"sign","args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"visibility":"Public","body":"if key = secret.presence\n @signature = OpenSSL::HMAC.hexdigest(:sha256, key, timestamp.to_rfc3339)\nelse\n @signature = nil\nend\nself\n"}},{"html_id":"signature:String|Nil-instance-method","name":"signature","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L21"},"def":{"name":"signature","return_type":"String | ::Nil","visibility":"Public","body":"@signature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L20"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"user_email:String|Nil-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L25"},"def":{"name":"user_email","return_type":"String | ::Nil","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String|Nil-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L24"},"def":{"name":"user_name","return_type":"String | ::Nil","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Samsung","path":"Samsung.html","kind":"module","full_name":"Samsung","name":"Samsung","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Samsung/Displays","path":"Samsung/Displays.html","kind":"module","full_name":"Samsung::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Samsung","kind":"module","full_name":"Samsung","name":"Samsung"},"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol","path":"Samsung/Displays/MDCProtocol.html","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEVICE_SETTINGS","name":"DEVICE_SETTINGS","value":"{network_standby: Bool, auto_off_timer: Bool, auto_power: Bool, volume: Num, contrast: Num, brightness: Num, sharpness: Num, colour: Num, tint: Num, red_gain: Num, green_gain: Num, blue_gain: Num}"},{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"auto_off_timer(value:Bool,**options)-instance-method","name":"auto_off_timer","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_off_timer","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_off_timer\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_off_timer\"), data, **options)\n"}},{"html_id":"auto_power(value:Bool,**options)-instance-method","name":"auto_power","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_power","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_power\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_power\"), data, **options)\n"}},{"html_id":"blue_gain(value:Num,**options)-instance-method","name":"blue_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"blue_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"blue_gain\"), data, **options)\n"}},{"html_id":"brightness(value:Num,**options)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"brightness\"), data, **options)\n"}},{"html_id":"colour(value:Num,**options)-instance-method","name":"colour","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"colour","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"colour\"), data, **options)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L82"},"def":{"name":"connected","visibility":"Public","body":"if self[:hard_off]?.try(&.as_bool)\nelse\n do_device_config\nend\nschedule.every(30.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Num,**options)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"contrast\"), data, **options)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L90"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L209"},"def":{"name":"do_device_config","visibility":"Public","body":"{% for name, kind in DEVICE_SETTINGS %}\n %value = setting?({{ kind }}, {{ name.id.stringify }})\n {{ name.id }}(%value) if %value\n {% end %}"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L175"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::Status, Bytes.empty, priority: 0)\nif self[:hard_off]?.try(&.as_bool)\nelse\n power?\nend\n"}},{"html_id":"green_gain(value:Num,**options)-instance-method","name":"green_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"green_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"green_gain\"), data, **options)\n"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L113"},"def":{"name":"hard_off","visibility":"Public","body":"if self[:power]?.try(&.as_bool)\n do_send(Command::PanelMute, 0)\nend\ndo_send(Command::HardOff, 0)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L124"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L140"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","doc":"Adds video mute state compatible with projectors","summary":"

Adds video mute state compatible with projectors

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L134"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1 : 0\ndo_send(Command::PanelMute, state)\n"}},{"html_id":"network_standby(value:Bool,**options)-instance-method","name":"network_standby","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"network_standby","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"network_standby\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"network_standby\"), data, **options)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L62"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L76"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\n@blank = (setting?(String, :blanking_input)).try(&->Input.parse(String))\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L96"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n do_send(Command::HardOff, 1)\n do_send(Command::PanelMute, 0)\nelse\n if (blanking_input = @blank) && self[:power]?\n switch_to(blanking_input)\n end\n do_send(Command::PanelMute, 1)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L118"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::PanelMute, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L221"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .status?\n self[:hard_off] = hard_off = values[0] == 0\n if hard_off\n self[:power] = false\n end\n self[:volume] = values[1]\n self[:audio_mute] = values[2] == 1\n self[:input] = Input.from_value(values[3])\n check_power_state\n when .panel_mute?\n self[:power] = value == 0\n check_power_state\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .brightness?\n self[:brightness] = value\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n if self[:screen_split]?.try(&.as_bool)\n else\n if current_input == @input_target\n @input_target = nil\n else\n if input_target = @input_target\n switch_to(input_target)\n end\n end\n end\n when .speaker?\n self[:speaker] = SpeakerMode.from_value(value)\n when .hard_off?\n if self[:hard_off]?.try(&.as_bool)\n else\n self[:hard_off] = hard_off = value == 0\n if hard_off\n self[:power] = false\n end\n end\n when .screen_split?\n self[:screen_split] = value >= 0\n when .software_version?\n self[:software_version] = values.join\n when .serial_number?\n self[:serial_number] = values.join\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"red_gain(value:Num,**options)-instance-method","name":"red_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"red_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"red_gain\"), data, **options)\n"}},{"html_id":"serial_number-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L157"},"def":{"name":"serial_number","visibility":"Public","body":"do_send(Command::SerialNumber)"}},{"html_id":"sharpness(value:Num,**options)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"sharpness\"), data, **options)\n"}},{"html_id":"software_version-instance-method","name":"software_version","doc":"check software version","summary":"

check software version

","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L153"},"def":{"name":"software_version","visibility":"Public","body":"do_send(Command::SoftwareVersion)"}},{"html_id":"speaker_select(mode:SpeakerMode,**options)-instance-method","name":"speaker_select","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"args_string":"(mode : SpeakerMode, **options)","args_html":"(mode : SpeakerMode, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L171"},"def":{"name":"speaker_select","args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Speaker, mode.value, **options)"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L161"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"tint(value:Num,**options)-instance-method","name":"tint","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"tint","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"tint\"), data, **options)\n"}},{"html_id":"volume(value:Num,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"volume\"), data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol/Command","path":"Samsung/Displays/MDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L299"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L316"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L323"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L324"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L311"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L305"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L331"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L307"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L304"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L310"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L301"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":312,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L312"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L313"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L322"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L302"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L315"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L309"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L318"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L325"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L327"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L306"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L314"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L326"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L321"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L300"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L328"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L329"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L308"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L303"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L317"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L319"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L320"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Input","path":"Samsung/Displays/MDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Num","path":"Samsung/Displays/MDCProtocol/Num.html","kind":"alias","full_name":"Samsung::Displays::MDCProtocol::Num","name":"Num","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L180"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"}},{"html_id":"drivers/Samsung/Displays/MDCProtocol/ResponseStatus","path":"Samsung/Displays/MDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L216"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L217"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L218"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/SpeakerMode","path":"Samsung/Displays/MDCProtocol/SpeakerMode.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::SpeakerMode","name":"SpeakerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L166"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Internal","name":"Internal","value":"0"},{"id":"External","name":"External","value":"1"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"external?-instance-method","name":"external?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L168"},"def":{"name":"external?","visibility":"Public","body":"self == External"}},{"html_id":"internal?-instance-method","name":"internal?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L167"},"def":{"name":"internal?","visibility":"Public","body":"self == Internal"}}]}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","path":"Samsung/Displays/ReducedMDCProtocol.html","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"clear_whiteboard-instance-method","name":"clear_whiteboard","doc":"if the user has been using the display as a whiteboard\nthen the display needs to switch input","summary":"

if the user has been using the display as a whiteboard then the display needs to switch input

","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L142"},"def":{"name":"clear_whiteboard","visibility":"Public","body":"target_input = @input_target\nclear_input = @whiteboard_clear_input\nif target_input && clear_input\n (switch_to(clear_input)).get\n switch_to(target_input)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L87"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L93"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L159"},"def":{"name":"do_device_config","visibility":"Public","body":"value = setting?(Int32 | Float64, :volume)\nif value\n volume(value)\nend\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L151"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n do_send(Command::Volume, Bytes.empty, priority: 0)\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L104"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::HardOff, 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L114"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.audio? || layer.audio_video?\n mute_audio(state)\nend"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L123"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L77"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\nif clear_input = setting?(String, :whiteboard_clear_input)\n @whiteboard_clear_input = Input.parse(clear_input)\nelse\n @whiteboard_clear_input = nil\nend\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L99"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\ndo_send(Command::HardOff, state ? 1 : 0)\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L108"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::HardOff, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n when .hard_off?\n self[:power] = value != 0\n check_power_state\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L135"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"volume(value:Int32|Float64,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"args_string":"(value : Int32 | Float64, **options)","args_html":"(value : Int32 | Float64, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L164"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Command","path":"Samsung/Displays/ReducedMDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L241"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L248"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L249"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L236"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L230"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L256"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L232"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L229"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L235"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L226"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L237"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L238"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L247"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L227"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L240"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L234"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L243"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L250"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L252"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L231"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L239"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L251"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L246"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L225"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L253"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L254"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L233"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L228"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L242"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L244"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L245"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Input","path":"Samsung/Displays/ReducedMDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/ResponseStatus","path":"Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L169"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L170"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L171"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Screen","path":"Screen.html","kind":"class","full_name":"Screen","name":"Screen","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}}]},{"html_id":"drivers/ScreenTechnics","path":"ScreenTechnics.html","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics","abstract":false,"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/ScreenTechnics/Connect","path":"ScreenTechnics/Connect.html","kind":"class","full_name":"ScreenTechnics::Connect","name":"Connect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_LOOKUP","name":"CMD_LOOKUP","value":"{30 => :up, 33 => :down, 1 => :status, 36 => :stop}"},{"id":"COMMANDS","name":"COMMANDS","value":"{up: 30, down: 33, status: 1, stop: 36}"},{"id":"STATUS","name":"STATUS","value":"{0 => :moving_top, 1 => :moving_bottom, 2 => :moving_preset_1, 3 => :moving_preset_2, 4 => :moving_top, 5 => :moving_bottom, 6 => :at_top, 7 => :at_bottom, 8 => :at_preset_1, 9 => :at_preset_2, 10 => :stopped, 11 => :error, 13 => :error_timeout, 14 => :error_current, 15 => :error_rattle, 16 => :at_bottom}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/ScreenTechnics","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(15.seconds, immediate: true) do\n (0...@count).each do |index|\n query_state(index)\n end\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"queue.clear\nschedule.clear\n"}},{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L68"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if down?(index)\n return\nend\nstop(index)\ndo_send(:down, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"down?(index:Int32=0)-instance-method","name":"down?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L75"},"def":{"name":"down?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_bottom\", \"at_bottom\"}.includes?(self[\"screen#{index}\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L55"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i\ncase position\nwhen MoveablePosition::Up\n up(index)\nwhen MoveablePosition::Down\n down(index)\nelse\n raise(\"invalid position requested\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 500.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@count = (setting?(Int32, :screen_count)) || 1"}},{"html_id":"query_state(index:Int32=0)-instance-method","name":"query_state","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L101"},"def":{"name":"query_state","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(:status, index, 32)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/screen_technics/connect.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L125"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Screen sent #{data}\"\nend\nparts = (data.split(/,/)).map do |__arg0|\n __arg0.strip.to_i\nend\ncmd = CMD_LOOKUP[parts[0] - 100]?\nif cmd\n index = parts[2] - 17\n case cmd\n when :up\n logger.debug do\n \"Screen#{index} moving up\"\n end\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = true\n when :down\n logger.debug do\n \"Screen#{index} moving down\"\n end\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = true\n when :stop\n logger.debug do\n \"Screen#{index} stopped\"\n end\n self[\"moving#{index}\"] = false\n screen = \"screen#{index}\"\n if {\"at_top\", \"at_bottom\"}.includes?(self[screen]?)\n else\n self[screen] = :stopped\n end\n when :status\n self[\"screen#{index}\"] = status = STATUS[parts[-1]]\n case status\n when :moving_top, :at_top\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = status == (:moving_top)\n when :moving_bottom, :at_bottom\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = status == (:moving_bottom)\n when :stopped\n self[\"moving#{index}\"] = false\n when :error, :error_timeout, :error_current, :error_rattle\n self[\"moving#{index}\"] = false\n end\n end\n task.try(&.success)\nelse\n error = \"Unknown command #{parts[0]}\"\n logger.debug do\n error\n end\n task.try(&.abort(error))\nend\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/screen_technics/connect.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L90"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i\ndo_send(:stop, index, name: \"stop#{index}\", clear_queue: emergency, priority: emergency ? (queue.priority + 50) : queue.priority)\n"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L79"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if up?(index)\n return\nend\nstop(index)\ndo_send(:up, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"up?(index:Int32=0)-instance-method","name":"up?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L86"},"def":{"name":"up?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_top\", \"at_top\"}.includes?(self[\"screen#{index}\"]?)"}}]}]},{"html_id":"drivers/SecureOS","path":"SecureOS.html","kind":"module","full_name":"SecureOS","name":"SecureOS","abstract":false,"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/SecureOS/AuthResponse","path":"SecureOS/AuthResponse.html","kind":"struct","full_name":"SecureOS::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:AuthToken-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L93"},"def":{"name":"data","return_type":"AuthToken","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L94"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/AuthToken","path":"SecureOS/AuthToken.html","kind":"struct","full_name":"SecureOS::AuthToken","name":"AuthToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L97"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L98"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L100"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/SecureOS/Camera","path":"SecureOS/Camera.html","kind":"struct","full_name":"SecureOS::Camera","name":"Camera","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L110"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L111"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L113"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L114"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"settings:JSON::Any-instance-method","name":"settings","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L115"},"def":{"name":"settings","return_type":"JSON::Any","visibility":"Public","body":"@settings"}},{"html_id":"status:JSON::Any-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L116"},"def":{"name":"status","return_type":"JSON::Any","visibility":"Public","body":"@status"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L117"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/CameraResponse","path":"SecureOS/CameraResponse.html","kind":"struct","full_name":"SecureOS::CameraResponse","name":"CameraResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L103"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L104"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Camera)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L106"},"def":{"name":"data","return_type":"Array(Camera)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L107"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/Error","path":"SecureOS/Error.html","kind":"struct","full_name":"SecureOS::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String-instance-method","name":"error","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L87"},"def":{"name":"error","return_type":"String","visibility":"Public","body":"@error"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L86"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"request_id:String|Int64|Nil-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L85"},"def":{"name":"request_id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@request_id"}}]},{"html_id":"drivers/SecureOS/ErrorWrapper","path":"SecureOS/ErrorWrapper.html","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Error-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L52"},"def":{"name":"data","return_type":"Error","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L51"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Event","path":"SecureOS/Event.html","kind":"struct","full_name":"SecureOS::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L73"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L72"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"parameters:JSON::Any|Nil-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L79"},"def":{"name":"parameters","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@parameters"}},{"html_id":"ticks:Int64|Nil-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L74"},"def":{"name":"ticks","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L77"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L71"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/EventWrapper","path":"SecureOS/EventWrapper.html","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Event-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L47"},"def":{"name":"data","return_type":"Event","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L46"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Response","path":"SecureOS/Response.html","kind":"class","full_name":"SecureOS::Response","name":"Response","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/SecureOS/ErrorWrapper","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper"},{"html_id":"drivers/SecureOS/EventWrapper","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper"},{"html_id":"drivers/SecureOS/StateWrapper","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"state\"\n StateWrapper.from_json(json)\nwhen \"event\"\n EventWrapper.from_json(json)\nwhen \"error\"\n ErrorWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/SecureOS/State","path":"SecureOS/State.html","kind":"struct","full_name":"SecureOS::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L59"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"states:Hash(String,Bool)-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L65"},"def":{"name":"states","return_type":"Hash(String, Bool)","visibility":"Public","body":"@states"}},{"html_id":"ticks:Int64-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L60"},"def":{"name":"ticks","return_type":"Int64","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L63"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L58"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/StateType","path":"SecureOS/StateType.html","kind":"enum","full_name":"SecureOS::StateType","name":"StateType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Attached","name":"Attached","value":"0"},{"id":"Armed","name":"Armed","value":"1"},{"id":"Alarmed","name":"Alarmed","value":"2"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L7"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"armed?-instance-method","name":"armed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L6"},"def":{"name":"armed?","visibility":"Public","body":"self == Armed"}},{"html_id":"attached?-instance-method","name":"attached?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L5"},"def":{"name":"attached?","visibility":"Public","body":"self == Attached"}}]},{"html_id":"drivers/SecureOS/StateWrapper","path":"SecureOS/StateWrapper.html","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:State-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L42"},"def":{"name":"data","return_type":"State","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L41"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/SubscribeRule","path":"SecureOS/SubscribeRule.html","kind":"struct","full_name":"SecureOS::SubscribeRule","name":"SubscribeRule","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(type:String,id:String,action:Symbol,states:Array(StateType)|Nil=nil,events:Array(String)|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"args_string":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","args_html":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, id, action, states, events)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Symbol-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L17"},"def":{"name":"action","return_type":"Symbol","visibility":"Public","body":"@action"}},{"html_id":"events:Array(String)|Nil-instance-method","name":"events","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L16"},"def":{"name":"events","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@events"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L14"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"states:Array(StateType)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L15"},"def":{"name":"states","return_type":"Array(StateType) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L13"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Watchlist","path":"SecureOS/Watchlist.html","kind":"struct","full_name":"SecureOS::Watchlist","name":"Watchlist","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L127"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L128"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L130"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L131"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/SecureOS/WatchlistResponse","path":"SecureOS/WatchlistResponse.html","kind":"struct","full_name":"SecureOS::WatchlistResponse","name":"WatchlistResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Watchlist)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L123"},"def":{"name":"data","return_type":"Array(Watchlist)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L124"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/WsApi","path":"SecureOS/WsApi.html","kind":"class","full_name":"SecureOS::WsApi","name":"WsApi","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"basic_auth:NamedTuple(username:String,password:String)-instance-method","name":"basic_auth","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth","return_type":"NamedTuple(username: String, password: String)","visibility":"Public","body":"if (value = @basic_auth).nil?\n ::raise(NilAssertionError.new(\"SecureOS::WsApi#basic_auth cannot be nil\"))\nelse\n value\nend"}},{"html_id":"basic_auth?:NamedTuple(username:String,password:String)|Nil-instance-method","name":"basic_auth?","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth?","return_type":"NamedTuple(username: String, password: String) | ::Nil","visibility":"Public","body":"@basic_auth"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"begin\n response = http_client.get(\"#{@rest_api_host}/api/v1/ws_auth\")\n if response.success?\n auth = AuthResponse.from_json(response.body)\n send({type: :auth, token: auth.data.token}.to_json, wait: false)\n else\n raise(\"Authentication failed\")\n end\n schedule.every(30.seconds) do\n send({type: :get_server_time}.to_json, name: :server_time)\n end\n schedule.every(5.minutes, immediate: true) do\n camera_list\n subscribe_all\n watchlist_list\n end\nrescue error\n logger.warn(exception: error) do\n \"Authentication failed\"\n end\n disconnect\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@rest_api_host = setting(String, :rest_api_host)\n@basic_auth = setting(NamedTuple(username: String, password: String), :basic_auth)\n@camera_types = setting(Array(String), :camera_types)\n@camera_states = setting(Array(StateType), :camera_states)\n@camera_events = setting(Array(String), :camera_events)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/secure_os/ws_api.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L169"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"SecureOS sent: #{raw_json}\"\nend\ntype_check = (JSON.parse(raw_json))[\"type\"]?\nif type_check\n response = Response.from_json(raw_json)\n case response\n in StateWrapper\n self[\"camera_#{response.data.id}_states\"] = response.data\n in EventWrapper\n self[\"camera_#{response.data.id}\"] = response.data\n in ErrorWrapper\n logger.warn do\n \"SecureOS error: #{response.data}\"\n end\n if response.data.error.in?({\"INVALID_AUTH_TOKEN\", \"UNAUTHORIZED\"})\n disconnect\n else\n self[\"last_error\"] = response.data\n end\n in Response\n end\nend\ntask.try(&.success)\n"}},{"html_id":"watchlist_add_lp(watchlist:String,license_plate:String,comment:String=\"\")-instance-method","name":"watchlist_add_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String, comment : String = \"\")","args_html":"(watchlist : String, license_plate : String, comment : String = "")","location":{"filename":"src/secure_os/ws_api.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L120"},"def":{"name":"watchlist_add_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/set\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate, comment: comment}.to_json)\n if response\n else\n logger.warn do\n \"Failed to add license plate to watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to add license plate to watchlist\"\n end\nend"}},{"html_id":"watchlist_remove_lp(watchlist:String,license_plate:String)-instance-method","name":"watchlist_remove_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String)","args_html":"(watchlist : String, license_plate : String)","location":{"filename":"src/secure_os/ws_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L140"},"def":{"name":"watchlist_remove_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/delete\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate}.to_json)\n if response\n else\n logger.warn do\n \"Failed to remove license plate from watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to remove license plate from watchlist\"\n end\nend"}}]}]},{"html_id":"drivers/Settings","path":"Settings.html","kind":"alias","full_name":"Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Core::Settings","aliased_html":"Place::Router::Core::Settings","const":false},{"html_id":"drivers/Sharp","path":"Sharp.html","kind":"module","full_name":"Sharp","name":"Sharp","abstract":false,"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sharp/PnSeries","path":"Sharp/PnSeries.html","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"AUDIO","name":"AUDIO","value":"{audio1: \"ASDP 2\", audio2: \"ASDP 3\", dvi: \"ASDP 1\", dvi_alt: \"ASDA 1\", hdmi: \"ASHP 0\", hdmi_3mm: \"ASHP 1\", hdmi_rca: \"ASHP 2\", vga: \"ASAP 1\", component: \"ASCA 1\"}"},{"id":"AUDIO_RESPONSE","name":"AUDIO_RESPONSE","value":"AUDIO.to_h.invert"},{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"OPERATION_CODE","name":"OPERATION_CODE","value":"{video_input: \"INPS\", volume_status: \"VOLM\", mute_status: \"MUTE\", power_on_delay: \"PWOD\", contrast_status: \"CONT\", brightness_status: \"VLMP\", model_number: \"INF1\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sharp","kind":"module","full_name":"Sharp","name":"Sharp"},"instance_methods":[{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L127"},"def":{"name":"auto_adjust","visibility":"Public","body":"do_send(\"AGIN 1\", timeout: 20.seconds)"}},{"html_id":"brightness(val:Int32|Float64)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L131"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nbrightness = (percentage * @brightness_max.to_f).round_away.to_i\ndo_send(\"VLMP#{brightness.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"brightness_status(priority:Int32=0,**options)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VLMP\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"send_credentials\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Display\"\n end\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32|Float64)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L139"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\ncontrast = (percentage * @contrast_max.to_f).round_away.to_i\nmultiplier = (self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1\ncontrast = contrast * multiplier\ndo_send(\"CONT#{contrast.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"contrast_status(priority:Int32=0,**options)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"CONT\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L61"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L197"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n if self[:model_number]?\n else\n model_number\n end\n power_on_delay\n mute_status\nend"}},{"html_id":"model_number(priority:Int32=0,**options)-instance-method","name":"model_number","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"model_number","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INF1\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sharp/pn_series.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L165"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"Sharp LCD requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"Sharp LCD, requested to mute #{state}\"\n end\n do_send(\"MUTE #{state ? '1' : '0'}\")\n mute_status(50)\nend"}},{"html_id":"mute_status(priority:Int32=0,**options)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"MUTE\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sharp/pn_series.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L65"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"delay = self[:power_on_delay]?.try(&.as_i) || 5\nif state != (!(!self[:power]?.try(&.as_bool)))\n if state\n logger.debug do\n \"-- Sharp LCD, requested to power on\"\n end\n do_send(\"POWR 1\", name: :POWR, timeout: delay.seconds + 15.seconds)\n self[:warming] = true\n self[:power] = true\n do_send(\"POWR????\", name: :POWR, timeout: 10.seconds)\n else\n logger.debug do\n \"-- Sharp LCD, requested to power off\"\n end\n do_send(\"POWR 0\", name: :POWR, timeout: 15.seconds)\n self[:power] = false\n end\nend\npower?\nmute_status(0)\nvolume_status(0)\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L88"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(\"POWR????\", **options, name: :POWR, timeout: 10.seconds)).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0,**options)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"PWOD\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sharp/pn_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L219"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-3])\nlogger.debug do\n \"-- Sharp LCD, received: #{data}\"\nend\nif data == \"Password:OK\"\n return task.try(&.success(\"Login successful\"))\nelse\n if data == \"Password:Login incorrect\"\n schedule.in(5.seconds) do\n send_credentials\n end\n return task.try(&.success(\"Sharp LCD, bad login or logged off. Attempting login..\"))\n else\n if data == \"OK\"\n return task.try(&.success)\n else\n if data == \"WAIT\"\n logger.debug do\n \"-- Sharp LCD, wait\"\n end\n return\n else\n if data == \"ERR\"\n return task.try(&.abort(\"-- Sharp LCD, error\"))\n else\n if data.size < 8\n return task.try(&.abort(\"Sharp sent out of order response: #{data}\"))\n end\n end\n end\n end\n end\nend\ncommand, value = data.split\ncase command\nwhen \"POWR\"\n self[:warming] = false\n self[:power] = value.to_i > 0\nwhen \"INPS\"\n input = Input.from_value?(value.to_i)\n self[:input] = input || \"unknown\"\n logger.debug do\n \"-- Sharp LCD, input #{self[:input]} == #{value}\"\n end\nwhen \"VOLM\"\n vol_percent = (value.to_i.to_f / @volume_max.to_f) * 100.0\n if self[:audio_mute]?.try(&.as_bool)\n else\n self[:volume] = vol_percent.round(2)\n end\nwhen \"MUTE\"\n self[:audio_mute] = ( mute = value.to_i == 1)\n if mute\n self[:volume] = 0\n else\n volume_status(90)\n end\nwhen \"CONT\"\n val = value.to_i / ((self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1)\n contrast = (val.to_f / @contrast_max.to_f) * 100.0\n self[:contrast] = contrast.round(2)\nwhen \"VLMP\"\n brightness = (value.to_i.to_f / @brightness_max.to_f) * 100.0\n self[:brightness] = brightness.round(2)\nwhen \"PWOD\"\n self[:power_on_delay] = value.to_i\nwhen \"INF1\"\n self[:model_number] = value\n logger.debug do\n \"-- Sharp LCD, model number #{self[:model_number]}\"\n end\n determine_contrast_mode\nwhen \"ASDP\", \"ASDA\", \"ASHP\", \"ASAP\", \"ASCA\"\n self[:audio_input] = AUDIO_RESPONSE[data] || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"reset-instance-method","name":"reset","doc":"Resets the brightness and contrast settings","summary":"

Resets the brightness and contrast settings

","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L94"},"def":{"name":"reset","visibility":"Public","body":"do_send(\"ARST 2\")"}},{"html_id":"switch_audio(input:String)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/sharp/pn_series.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L119"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch audio to: #{input}\"\nend\ndo_send(AUDIO[input], name: \"audio\")\nmute_status(40)\nvolume_status(40)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sharp/pn_series.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L98"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch to: #{input}\"\nend\n(do_send(input.data, name: :input, delay: 2.seconds, timeout: 20.seconds)).get\nvideo_input(40)\nbrightness_status(40)\ncontrast_status(40)\n"}},{"html_id":"video_input(priority:Int32=0,**options)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INPS\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L150"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"@vol_status.try(&.cancel)\n@vol_status = schedule.in(2.seconds) do\n @vol_status = nil\n volume_status\nend\nval = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ndo_send(\"VOLM#{vol_actual.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"volume_status(priority:Int32=0,**options)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VOLM\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}}],"types":[{"html_id":"drivers/Sharp/PnSeries/Input","path":"Sharp/PnSeries/Input.html","kind":"enum","full_name":"Sharp::PnSeries::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L13"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Sharp/PnSeries","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L21"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"data-instance-method","name":"data","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L23"},"def":{"name":"data","visibility":"Public","body":"\"INPS\" + (self.value.to_s.rjust(4, '0'))"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L18"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L16"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L17"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L15"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L20"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L19"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Shure","path":"Shure.html","kind":"module","full_name":"Shure","name":"Shure","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Shure/Microphone","path":"Shure/Microphone.html","kind":"module","full_name":"Shure::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Shure","kind":"module","full_name":"Shure","name":"Shure"},"types":[{"html_id":"drivers/Shure/Microphone/MXA","path":"Shure/Microphone/MXA.html","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"}],"namespace":{"html_id":"drivers/Shure/Microphone","kind":"module","full_name":"Shure::Microphone","name":"Microphone"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L17"},"def":{"name":"connected","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\" >\")\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Mics\"\n end\n do_poll\nend\nquery_all\nif (setting?(Bool, :send_meter_levels)) != true\n set_meter_rate(0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L29"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L192"},"def":{"name":"do_poll","visibility":"Public","body":"query_device_id"}},{"html_id":"flash-instance-method","name":"flash","doc":"flash the LED for 30 seconds","summary":"

flash the LED for 30 seconds

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L81"},"def":{"name":"flash","visibility":"Public","body":"do_send(\"SET FLASH ON\")"}},{"html_id":"led(on:Bool=true)-instance-method","name":"led","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L101"},"def":{"name":"led","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"led_state_muted(on)\nled_state_unmuted(on)\n"}},{"html_id":"led_colour_muted(colour:Colour)-instance-method","name":"led_colour_muted","doc":"Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE","summary":"

Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE

","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L111"},"def":{"name":"led_colour_muted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_MUTED\", colour.to_s.upcase, name: :muted_color)"}},{"html_id":"led_colour_unmuted(colour:Colour)-instance-method","name":"led_colour_unmuted","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L119"},"def":{"name":"led_colour_unmuted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_UNMUTED\", colour.to_s.upcase, name: :unmuted_color)"}},{"html_id":"led_state_muted(on:Bool=true)-instance-method","name":"led_state_muted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L136"},"def":{"name":"led_state_muted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_MUTED\", state)\n"}},{"html_id":"led_state_unmuted(on:Bool=true)-instance-method","name":"led_state_unmuted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L127"},"def":{"name":"led_state_unmuted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_UNMUTED\", state)\n"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L56"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? \"ON\" : \"OFF\"\ndo_send(\"SET DEVICE_AUDIO_MUTE\", val, name: :mute)\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","doc":"part of the mutable interface","summary":"

part of the mutable interface

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L66"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L75"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"if number.in?(1..10)\nelse\n raise(\"must be a number between 1-10, was #{number}\")\nend\ndo_send(\"SET PRESET\", number.to_s, name: :preset)\n"}},{"html_id":"query_all-instance-method","name":"query_all","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L33"},"def":{"name":"query_all","visibility":"Public","body":"do_send(\"GET 0 ALL\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L37"},"def":{"name":"query_device_id","visibility":"Public","body":"do_send(\"GET DEVICE_ID\", name: :device_id)"}},{"html_id":"query_firmware-instance-method","name":"query_firmware","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L41"},"def":{"name":"query_firmware","visibility":"Public","body":"do_send(\"GET FW_VER\", name: :firmware)"}},{"html_id":"query_led_colour_muted-instance-method","name":"query_led_colour_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L106"},"def":{"name":"query_led_colour_muted","visibility":"Public","body":"do_send(\"GET LED_COLOR_MUTED\")"}},{"html_id":"query_led_colour_unmuted-instance-method","name":"query_led_colour_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L115"},"def":{"name":"query_led_colour_unmuted","visibility":"Public","body":"do_send(\"GET LED_COLOR_UNMUTED\")"}},{"html_id":"query_led_state-instance-method","name":"query_led_state","doc":"LED Setup","summary":"

LED Setup

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L97"},"def":{"name":"query_led_state","visibility":"Public","body":"do_send(\"GET DEV_LED_IN_STATE\")"}},{"html_id":"query_led_state_muted-instance-method","name":"query_led_state_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L132"},"def":{"name":"query_led_state_muted","visibility":"Public","body":"do_send(\"GET LED_STATE_MUTED\")"}},{"html_id":"query_led_state_unmuted-instance-method","name":"query_led_state_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L123"},"def":{"name":"query_led_state_unmuted","visibility":"Public","body":"do_send(\"GET LED_STATE_UNMUTED\")"}},{"html_id":"query_mute-instance-method","name":"query_mute","doc":"Mute commands","summary":"

Mute commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L52"},"def":{"name":"query_mute","visibility":"Public","body":"do_send(\"GET DEVICE_AUDIO_MUTE\")"}},{"html_id":"query_preset-instance-method","name":"query_preset","doc":"Preset commands","summary":"

Preset commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L71"},"def":{"name":"query_preset","visibility":"Public","body":"do_send(\"GET PRESET\")"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L141"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(bytes)\nlogger.debug do\n \"-- received: #{data}\"\nend\ndata = ((data.split(\"< \", 2))[1].gsub(/[\\{\\}]/, '\"')).rchop(\" >\")\nresp = (shellsplit(data)).map(&.strip)\nif resp[0] == \"SAMPLE\"\n resp[1..-1].each_with_index do |level, index|\n self[\"output#{index + 1}\"] = level.to_i\n end\n return\nend\nif resp[1] == \"ERR\"\n return task.try(&.abort)\nend\nif resp[1] =~ (/^[0-9]+$/)\n chann = resp[1]\n param = resp[2].try(&.downcase)\n value = resp[3].try(&.downcase)\n self[\"#{param}_#{chann}\"] = value\n return task.try(&.success)\nend\nparam = resp[1].downcase\nvalue = resp[2]\ncase param\nwhen \"device_audio_mute\"\n self[:muted] = value == \"ON\"\nwhen \"dev_led_state_muted\"\n self[:led_muted] = value == \"ON\"\nwhen \"dev_led_state_unmuted\"\n self[:led_unmuted] = value == \"ON\"\nelse\n self[param] = case value\n when \"ON\"\n true\n when \"OFF\"\n false\n when .to_i?\n value.to_i\n else\n value\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_meter_rate(rate:Int32)-instance-method","name":"set_meter_rate","doc":"rate in milliseconds","summary":"

rate in milliseconds

","abstract":false,"args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"args_string":"(rate : Int32)","args_html":"(rate : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L46"},"def":{"name":"set_meter_rate","args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"visibility":"Public","body":"if (rate == 0) || rate >= 100\nelse\n raise(\"rate must be a number greater than 100, was #{rate}\")\nend\ndo_send(\"SET METER_RATE\", rate.to_s, name: :meter_rate)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L61"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}}],"types":[{"html_id":"drivers/Shure/Microphone/MXA/Colour","path":"Shure/Microphone/MXA/Colour.html","kind":"enum","full_name":"Shure::Microphone::MXA::Colour","name":"Colour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"RED","name":"RED","value":"0"},{"id":"GREEN","name":"GREEN","value":"1"},{"id":"BLUE","name":"BLUE","value":"2"},{"id":"PINK","name":"PINK","value":"3"},{"id":"PURPLE","name":"PURPLE","value":"4"},{"id":"YELLOW","name":"YELLOW","value":"5"},{"id":"ORANGE","name":"ORANGE","value":"6"},{"id":"WHITE","name":"WHITE","value":"7"}],"namespace":{"html_id":"drivers/Shure/Microphone/MXA","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L88"},"def":{"name":"blue?","visibility":"Public","body":"self == BLUE"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L87"},"def":{"name":"green?","visibility":"Public","body":"self == GREEN"}},{"html_id":"orange?-instance-method","name":"orange?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L92"},"def":{"name":"orange?","visibility":"Public","body":"self == ORANGE"}},{"html_id":"pink?-instance-method","name":"pink?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L89"},"def":{"name":"pink?","visibility":"Public","body":"self == PINK"}},{"html_id":"purple?-instance-method","name":"purple?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L90"},"def":{"name":"purple?","visibility":"Public","body":"self == PURPLE"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L86"},"def":{"name":"red?","visibility":"Public","body":"self == RED"}},{"html_id":"white?-instance-method","name":"white?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L93"},"def":{"name":"white?","visibility":"Public","body":"self == WHITE"}},{"html_id":"yellow?-instance-method","name":"yellow?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L91"},"def":{"name":"yellow?","visibility":"Public","body":"self == YELLOW"}}]}]}]}]},{"html_id":"drivers/Siemens","path":"Siemens.html","kind":"module","full_name":"Siemens","name":"Siemens","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Siemens/Desigo","path":"Siemens/Desigo.html","kind":"class","full_name":"Siemens::Desigo","name":"Desigo","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Siemens","kind":"module","full_name":"Siemens","name":"Siemens"},"instance_methods":[{"html_id":"commands(id:String)-instance-method","name":"commands","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L47"},"def":{"name":"commands","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"commands = @client.try() do |__arg3|\n __arg3.commands.get(id: id)\nend\nself[\"commands#{id}\"] = commands\n"}},{"html_id":"execute(id:String,property_name:String,command_id:String,command_inputs_for_execution:String)-instance-method","name":"execute","doc":"Because of the introspect failing on generics,\nwe can pass in the `command_inputs_for_execution` as a JSON string.\n\"[{\\\"Name\\\": \\\"Value\\\", \\\"DataType\\\": \\\"ExtendedEnum\\\", \\\"Value\\\": \\\"1\\\"}]\"","summary":"

Because of the introspect failing on generics, we can pass in the command_inputs_for_execution as a JSON string.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"args_string":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","args_html":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","location":{"filename":"src/siemens/desigo.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L55"},"def":{"name":"execute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"visibility":"Public","body":"return_value = @client.try() do |__arg4|\n __arg4.commands.execute(id: id, property_name: property_name, command_id: command_id, command_inputs_for_execution: JSON.parse(command_inputs_for_execution))\nend\nself[\"execute#{id}_property#{property_name}_command#{command_id}\"] = return_value\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"base_url = config.uri.not_nil!.to_s\nusername = setting(String, :username)\npassword = setting(String, :password)\n@client = Client.new(base_url: base_url, username: username, password: password)\nspawn do\n loop do\n @client.try() do |__arg0|\n __arg0.heartbeat.signal\n end\n sleep(60)\n end\nend\n"}},{"html_id":"property_values(id:String)-instance-method","name":"property_values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L37"},"def":{"name":"property_values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"property_values = @client.try() do |__arg1|\n __arg1.property_values.get(id: id)\nend\nself[\"property_values#{id}\"] = property_values\n"}},{"html_id":"values(id:String)-instance-method","name":"values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L42"},"def":{"name":"values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"values = @client.try() do |__arg2|\n __arg2.values.get(id: id)\nend\nself[\"values#{id}\"] = values\n"}}],"types":[{"html_id":"drivers/Siemens/Desigo/Client","path":"Siemens/Desigo/Client.html","kind":"alias","full_name":"Siemens::Desigo::Client","name":"Client","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Desigo::Client","aliased_html":"Desigo::Client","const":false,"namespace":{"html_id":"drivers/Siemens/Desigo","kind":"class","full_name":"Siemens::Desigo","name":"Desigo"}}]}]},{"html_id":"drivers/SigGraph","path":"SigGraph.html","kind":"alias","full_name":"SigGraph","name":"SigGraph","abstract":false,"locations":[{"filename":"src/place/router/signal_graph_spec.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph_spec.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/SignalGraph","path":"SignalGraph.html","kind":"alias","full_name":"SignalGraph","name":"SignalGraph","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/Sony","path":"Sony.html","kind":"module","full_name":"Sony","name":"Sony","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sony/Camera","path":"Sony/Camera.html","kind":"module","full_name":"Sony::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Camera/CGI","path":"Sony/Camera/CGI.html","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L302"},"def":{"name":"home","visibility":"Public","body":"action(\"/command/presetposition.cgi?HomePos=ptz-recall\", name: \"position\") do\n query_status\nend"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L156"},"def":{"name":"info?","visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=system\", priority: 0) do |response|\n response.each do |key, value|\n if {\"ModelName\", \"Serial\", \"SoftVersion\", \"ModelForm\", \"CGIVersion\"}.includes?(key)\n self[key.underscore] = value\n end\n end\n response\nend"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Implement Camera interface","summary":"

Implement Camera interface

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L252"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\npan_speed = pan_speed.to_i\ntilt_speed = tilt_speed.to_i\nrange = -100..100\nin_range(range, pan_speed)\nin_range(range, tilt_speed)\nif @invert_controls && (tilt_speed != 0)\n tilt_speed = -tilt_speed\nend\naction(\"/command/ptzf.cgi?ContinuousPanTiltZoom=#{pan_speed.to_s(16)},#{tilt_speed.to_s(16)},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = ((pan_speed != 0) || (tilt_speed != 0))\n if !@moving\n query_status\n end\n @moving\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"Implement Moveable interface","summary":"

Implement Moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L194"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\ncase position\nwhen MoveablePosition::Up, MoveablePosition::Down, MoveablePosition::Left, MoveablePosition::Right\n if @invert_controls && (position.up? || position.down?)\n position = position.up? ? MoveablePosition::Down : MoveablePosition::Up\n end\n action(\"/command/ptzf.cgi?Move=#{position.to_s.downcase},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = true\n end\nwhen MoveablePosition::In\n zoom(ZoomDirection::In)\nwhen MoveablePosition::Out\n zoom(ZoomDirection::Out)\nelse\n raise(\"unsupported direction: #{position}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"@pantilt_speed = -100..100\nself[:pan_speed] = self[:tilt_speed] = {min: -100, max: 100, stop: 0}\nself[:has_discrete_zoom] = true\nschedule.every(60.seconds) do\n query_status\nend\nschedule.in(5.seconds) do\n query_status\n info?\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"self[:invert_controls] = @invert_controls = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32,zoom:Int32|Nil=nil):Nil-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"args_string":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","args_html":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L227"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"in_range(@pan_range, pan)\nin_range(@tilt_range, tilt)\nif zoom\n in_range(@zoom_range, zoom)\n action(\"/command/ptzf.cgi?AbsolutePTZF=#{pan.to_s(16)},#{tilt.to_s(16)},#{zoom.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n self[:zoom] = @zoom_raw = zoom.not_nil!\n end\nelse\n action(\"/command/ptzf.cgi?AbsolutePanTilt=#{pan.to_s(16)},#{tilt.to_s(16)},#{@max_speed.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n end\nend\n"}},{"html_id":"query_status(priority:Int32=0)-instance-method","name":"query_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L93"},"def":{"name":"query_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=ptzf\", priority: priority) do |response|\n response.each do |key, value|\n case key\n when \"AbsolutePTZF\"\n parts = value.split(\",\")\n self[:pan] = @pan = twos_complement(parts[0].to_i(16))\n self[:tilt] = @tilt = twos_complement(parts[1].to_i(16))\n @zoom_raw = parts[2].to_i(16)\n when \"PanMovementRange\"\n parts = value.split(\",\")\n pan_min = twos_complement(parts[0].to_i(16))\n pan_max = twos_complement(parts[1].to_i(16))\n @pan_range = pan_min..pan_max\n self[:pan_range] = {min: pan_min, max: pan_max}\n when \"TiltMovementRange\"\n parts = value.split(\",\")\n tilt_min = twos_complement(parts[0].to_i(16))\n tilt_max = twos_complement(parts[1].to_i(16))\n @tilt_range = tilt_min..tilt_max\n self[:tilt_range] = {min: tilt_min, max: tilt_max}\n when \"ZoomMovementRange\"\n parts = value.split(\",\")\n zoom_min = parts[0].to_i(16)\n zoom_max = parts[1].to_i(16)\n @zoom_range = zoom_min..zoom_max\n self[:zoom_range] = {min: zoom_min, max: zoom_max}\n when \"PtzfStatus\"\n parts = (value.split(\",\")).map do |state|\n Movement.parse(state)\n end[0..2]\n self[:moving] = @moving = parts.includes?(Movement::Moving)\n when \"PanTiltMaxVelocity\"\n @max_speed = value.to_i(16)\n end\n end\n self[:zoom] = @zoom_raw.not_nil!.to_f * (100.0 / @zoom_range.end.to_f)\n response\nend"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L308"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(**preset)\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L325"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L317"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"Implement Stoppable interface","summary":"

Implement Stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L178"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i + 1\naction(\"/command/ptzf.cgi?Move=stop,motor,image#{index}\", priority: 999, name: \"moving\", clear_queue: emergency) do\n if @zooming\n zoom(ZoomDirection::Stop)\n end\n self[:moving] = @moving = false\n query_status\nend\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L287"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nif direction.stop?\n action(\"/command/ptzf.cgi?Move=stop,zoom,image#{index}\", priority: 999, name: \"zooming\") do\n self[:zooming] = @zooming = false\n end\nelse\n action(\"/command/ptzf.cgi?Move=#{direction.out? ? \"wide\" : \"near\"},0,image#{index}\", name: \"zooming\") do\n self[:zooming] = @zooming = true\n end\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L272"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nposition = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_range.end.to_f).to_i\naction(\"/command/ptzf.cgi?AbsoluteZoom=#{zoom_value.to_s(16)}\", name: \"zooming\") do\n @zoom_raw = zoom_value\n self[:zoom] = @zoom = position\nend\n"}}],"macros":[{"html_id":"in_range(range,value)-macro","name":"in_range","abstract":false,"args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(range, value)","args_html":"(range, value)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L218"},"def":{"name":"in_range","args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":" \n{{ value }}\n = if \n{{ range }}\n.includes? \n{{ value }}\n\n \n{{ value }}\n\n \nelse\n \n{{ value }}\n < \n{{ range }}\n.begin ? \n{{ range }}\n.begin : \n{{ range }}\n.end\n \nend\n \n{{ value }}\n = twos_complement(\n{{ value }}\n)\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/CGI/Movement","path":"Sony/Camera/CGI/Movement.html","kind":"enum","full_name":"Sony::Camera::CGI::Movement","name":"Movement","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Idle","name":"Idle","value":"0"},{"id":"Moving","name":"Moving","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Sony/Camera/CGI","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI"},"instance_methods":[{"html_id":"idle?-instance-method","name":"idle?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L26"},"def":{"name":"idle?","visibility":"Public","body":"self == Idle"}},{"html_id":"moving?-instance-method","name":"moving?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L27"},"def":{"name":"moving?","visibility":"Public","body":"self == Moving"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L28"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA","path":"Sony/Camera/VISCA.html","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","doc":"clear the interface","summary":"

clear the interface

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L67"},"def":{"name":"connected","visibility":"Public","body":"reset_sequence_number\nsend_cmd(Bytes[0, 1], name: :if_clear, priority: 98)\n"}},{"html_id":"encode_position(value:UInt16):String-instance-method","name":"encode_position","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"args_string":"(value : UInt16) : String","args_html":"(value : UInt16) : String","location":{"filename":"src/sony/camera/visca.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L124"},"def":{"name":"encode_position","args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"return_type":"String","visibility":"Public","body":"io = IO::Memory.new\nio.write_bytes(value, IO::ByteFormat::BigEndian)\nbytes = io.to_slice.hexstring.rjust(4, '0')\n\"0#{bytes[0]}0#{bytes[1]}0#{bytes[2]}0#{bytes[3]}\"\n"}},{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L85"},"def":{"name":"home","visibility":"Public","body":"send_cmd(Bytes[6, 4], name: :pantilt)"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L89"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan_neg, pan_value, pan_zero = joyspeed(pan_speed, @max_pan_tilt_speed)\ntilt_neg, tilt_value, tilt_zero = joyspeed(tilt_speed, @max_pan_tilt_speed)\npan_direction = pan_zero ? \"03\" : (pan_neg ? \"01\" : \"02\")\ntilt_direction = tilt_zero ? \"03\" : (tilt_neg ? \"02\" : \"01\")\nbytes = \"0601#{pan_value}#{tilt_value}#{pan_direction}#{tilt_direction}\"\nresp = send_cmd(bytes.hexbytes, name: :joystick)\nif pan_zero && tilt_zero\n spawn(same_thread: true) do\n resp.get\n schedule.in(1.seconds) do\n pantilt?\n end\n end\nend\nresp\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L172"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","doc":"we want to tokenize the stream, ensure we only process a single packet at a time\nand that we have the complete message","summary":"

we want to tokenize the stream, ensure we only process a single packet at a time and that we have the complete message

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.size < 4\n next 0\n end\n ((IO::Memory.new(bytes[2..3])).read_bytes(UInt16, IO::ByteFormat::BigEndian)).to_i + 8\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@presets = (setting?(Presets, :camera_presets)) || @presets\n@max_pan_tilt_speed = (setting?(UInt8, :max_pan_tilt_speed)) || 15_u8\n@zoom_speed = (setting?(UInt8, :zoom_speed)) || 3_u8\n@zoom_max = (setting?(UInt16, :zoom_max)) || 16384_u16\n@camera_address = 128_u8 | ((setting?(UInt8, :camera_no)) || 1_u8)\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan_pos:UInt16-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L39"},"def":{"name":"pan_pos","return_type":"UInt16","visibility":"Public","body":"@pan_pos"}},{"html_id":"pantilt(pan:UInt16,tilt:UInt16,speed:UInt8)-instance-method","name":"pantilt","doc":"moves to an absolute position","summary":"

moves to an absolute position

","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"args_string":"(pan : UInt16, tilt : UInt16, speed : UInt8)","args_html":"(pan : UInt16, tilt : UInt16, speed : UInt8)","location":{"filename":"src/sony/camera/visca.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L138"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"visibility":"Public","body":"speed = speed.clamp(0_u8, @max_pan_tilt_speed)\nbytes = \"0602#{Bytes[speed].hexstring.rjust(2, '0')}00#{encode_position(pan)}#{encode_position(tilt)}\"\nsend_cmd(bytes.hexbytes, name: :pantilt)\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L221"},"def":{"name":"pantilt?","visibility":"Public","body":"send_inq(Bytes[6, 18], name: :pantilt_query, priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/camera/visca.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L74"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"payload = state ? Bytes[4, 0, 2] : Bytes[4, 0, 3]\nsend_cmd(payload, name: :power)\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L79"},"def":{"name":"power?","visibility":"Public","body":"send_inq(Bytes[4, 0], name: :power_query)"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L144"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n pantilt(pan_pos, tilt_pos, @max_pan_tilt_speed)\n zoom_to(zoom_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task,sequence:UInt32|Nil=nil):Nil-instance-method","name":"received","doc":"process incoming data, tokenised so we know each data packet is exactly one message","summary":"

process incoming data, tokenised so we know each data packet is exactly one message

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"args_string":"(data, task, sequence : UInt32 | Nil = nil) : Nil","args_html":"(data, task, sequence : UInt32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/visca.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L336"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"Camera sent: 0x#{data.hexstring}\"\nend\nif sequence.nil?\n logger.info do\n \"unexpected packet received, ignoring as no sequence pending\"\n end\n return\nend\nio = IO::Memory.new(data)\npacket = io.read_bytes(Packet)\npayload = packet.payload\ncase packet.type\nwhen .device_control?\n case payload[-1]\n when 1_u8\n reset_sequence_number(directly: true)\n logger.info do\n \"sequence number error, resetting sequence\"\n end\n when 2_u8\n task.try(&.abort(\"bad request\"))\n end\n return\nwhen .device_reply?\n if task && (task.name == \"reset_sequence_number\")\n task.success\n else\n task.try(&.retry(\"sequence number reset, retrying task\"))\n end\n return\nwhen .reply?\n if sequence != packet.sequence\n logger.info do\n \"unexpected sequence number, ignoring\"\n end\n return\n end\nelse\n logger.info do\n \"unexpected packet type #{packet.type}, ignoring\"\n end\n return\nend\ncheck_command = payload[1] & 240_u8\ncase check_command\nwhen 64_u8\n logger.debug do\n \"ignoring command accepted message\"\n end\n return\nwhen 80_u8\n logger.debug do\n \"command complete message\"\n end\nwhen 96_u8\n case payload[2]\n when 2_u8\n task.try(&.abort(\"syntax error in request\"))\n when 3_u8\n schedule.in(50.milliseconds) do\n task.try(&.retry(\"camera busy\"))\n end\n when 4_u8\n task.try(&.abort(\"request was cancelled by the user\"))\n when 5_u8\n task.try(&.success)\n when 65_u8\n task.try(&.abort(\"request could not be performed\"))\n end\n return\nend\ncase task.try(&.name)\nwhen \"zoom_query\"\n @zoom_raw = zoom_value = decode_position(payload[2..5])\n self[:zoom] = @zoom_pos = zoom_value.to_f * (100.0 / @zoom_max.to_f)\nwhen \"pantilt_query\"\n @pan_pos = decode_position(payload[2..5])\n @tilt_pos = decode_position(payload[6..9])\nwhen \"zoom_to\"\n zoom?\nwhen \"pantilt\"\n pantilt?\nwhen \"power_query\"\n self[:power] = payload[-2] == 2_u8\nend\ntask.try(&.success)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L159"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"reset_sequence_number(directly:Bool=false)-instance-method","name":"reset_sequence_number","abstract":false,"args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"args_string":"(directly : Bool = false)","args_html":"(directly : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L320"},"def":{"name":"reset_sequence_number","args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"visibility":"Public","body":"packet = Packet.new\npacket.type = :device_control\npacket.sequence = @sequence = 1_u32\npacket.payload = Bytes[1_u8]\nif directly\n return transport.send(packet)\nend\nqueue(name: :reset_sequence_number, priority: 99) do |task|\n transport.send(packet, task) do |data|\n received(data, task, @sequence)\n end\nend\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L154"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"send_cmd(bytes:String)-instance-method","name":"send_cmd","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L259"},"def":{"name":"send_cmd","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_cmd(bytes.hexbytes)"}},{"html_id":"send_inq(bytes:String)-instance-method","name":"send_inq","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L287"},"def":{"name":"send_inq","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_inq(bytes.hexbytes)"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L227"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"zoom(:stop)"}},{"html_id":"tilt_pos:UInt16-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L38"},"def":{"name":"tilt_pos","return_type":"UInt16","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L203"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"speed_byte = case direction\nin .stop?\n schedule.in(500.milliseconds) do\n zoom?\n end\n 0_u8\nin .out?\n 32_u8 | @zoom_speed\nin .in?\n 48_u8 | @zoom_speed\nend\nsend_cmd(Bytes[4, 7, speed_byte], name: :zoom)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L217"},"def":{"name":"zoom?","visibility":"Public","body":"send_inq(Bytes[4, 71], name: :zoom_query, priority: 0)"}},{"html_id":"zoom_raw:UInt16-instance-method","name":"zoom_raw","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L36"},"def":{"name":"zoom_raw","return_type":"UInt16","visibility":"Public","body":"@zoom_raw"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L194"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_max.to_f).to_u16\nbytes = \"0447#{encode_position(zoom_value)}\"\nsend_cmd(bytes.hexbytes, name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet","path":"Sony/Camera/VISCA/Packet.html","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Sony::Camera::VISCA::Packet]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: \"basic\", name: size, cls: UInt16, onlyif: nil, verify: nil, value: -> do\n payload.size.to_u16\nend}, {type: \"basic\", name: sequence, cls: UInt32, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: payload, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"},"doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L235"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"payload:Bytes-instance-method","name":"payload","abstract":false,"def":{"name":"payload","return_type":"Bytes","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:Bytes)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"args_string":"(payload : Bytes)","args_html":"(payload : Bytes)","def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"visibility":"Public","body":"@payload = payload"}},{"html_id":"sequence:UInt32-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt32","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt32)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"args_string":"(sequence : UInt32)","args_html":"(sequence : UInt32)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt16-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt16","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt16)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"args_string":"(size : UInt16)","args_html":"(size : UInt16)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"}],"args_string":"(type : Type)","args_html":"(type : Type)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet/Type","path":"Sony/Camera/VISCA/Packet/Type.html","kind":"enum","full_name":"Sony::Camera::VISCA::Packet::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L237"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"256_u16"},{"id":"Inquiry","name":"Inquiry","value":"272_u16"},{"id":"Reply","name":"Reply","value":"273_u16"},{"id":"DeviceSetting","name":"DeviceSetting","value":"288_u16","doc":"VISCA device setting","summary":"

VISCA device setting

"},{"id":"DeviceControl","name":"DeviceControl","value":"512_u16","doc":"reset: 0x01\nerror: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)","summary":"

reset: 0x01 error: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)

"},{"id":"DeviceReply","name":"DeviceReply","value":"513_u16","doc":"Acknowledge for reset","summary":"

Acknowledge for reset

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA/Packet","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet"},"instance_methods":[{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L238"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"device_control?-instance-method","name":"device_control?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L246"},"def":{"name":"device_control?","visibility":"Public","body":"self == DeviceControl"}},{"html_id":"device_reply?-instance-method","name":"device_reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L249"},"def":{"name":"device_reply?","visibility":"Public","body":"self == DeviceReply"}},{"html_id":"device_setting?-instance-method","name":"device_setting?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L242"},"def":{"name":"device_setting?","visibility":"Public","body":"self == DeviceSetting"}},{"html_id":"inquiry?-instance-method","name":"inquiry?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L239"},"def":{"name":"inquiry?","visibility":"Public","body":"self == Inquiry"}},{"html_id":"reply?-instance-method","name":"reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L240"},"def":{"name":"reply?","visibility":"Public","body":"self == Reply"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA/Presets","path":"Sony/Camera/VISCA/Presets.html","kind":"alias","full_name":"Sony::Camera::VISCA::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/sony/camera/visca.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(UInt16, UInt16, Float64))","aliased_html":"Hash(String, {UInt16, UInt16, Float64})","const":false,"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"}}]}]},{"html_id":"drivers/Sony/Displays","path":"Sony/Displays.html","kind":"module","full_name":"Sony::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Displays/Bravia","path":"Sony/Displays/Bravia.html","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{ir_code: \"IRCC\", power: \"POWR\", volume: \"VOLU\", audio_mute: \"AMUT\", mute: \"PMUT\", channel: \"CHNN\", tv_input: \"ISRC\", input: \"INPT\", toggle_mute: \"TPMU\", pip: \"PIPI\", toggle_pip: \"TPIP\", position_pip: \"TPPP\", broadcast_address: \"BADR\", mac_address: \"MADR\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Displays","kind":"module","full_name":"Sony::Displays","name":"Displays"},"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L102"},"def":{"name":"audio_mute?","visibility":"Public","body":"query(Command::AudioMute, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L116"},"def":{"name":"do_poll","visibility":"Public","body":"if self[:power]?\n input?\n mute?\n audio_mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L48"},"def":{"name":"input?","visibility":"Public","body":"query(Command::Input, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/displays/bravia.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L76"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"request(Command::Mute, state)\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L89"},"def":{"name":"mute?","visibility":"Public","body":"query(Command::Mute, priority: 0)"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/sony/displays/bravia.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L93"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::AudioMute, state)\naudio_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"self[:volume_min] = 0\nself[:volume_max] = 100\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/displays/bravia.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L67"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::Power, state)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L72"},"def":{"name":"power?","visibility":"Public","body":"query(Command::Power)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/displays/bravia.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L137"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"parsed_data = convert_binary(data[3..6])\ncmd = Command.from_response?(parsed_data)\nif cmd.nil?\n return task.try(&.abort(\"unrecognised command: #{parsed_data}\"))\nend\nparam = data[7..-1]\nif param.first? == MessageType::Error.value\n return task.try(&.abort(\"error\"))\nend\ncase MessageType.from_value?(data[2])\nwhen MessageType::Answer\n update_status(cmd, param)\n task.try(&.success)\nwhen MessageType::Notify\n update_status(cmd, param)\nelse\n logger.debug do\n \"Unhandled device response: #{begin\n data[2].chr\n rescue\n data[2]\n end}\"\n end\n task.try(&.abort(\"Unhandled device response\"))\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/displays/bravia.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L41"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching input to #{input}\"\nend\nrequest(Command::Input, input.to_param)\nself[:input] = input.to_s\ninput?\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L85"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L98"},"def":{"name":"unmute_audio","visibility":"Public","body":"mute_audio(false)"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/sony/displays/bravia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L106"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"level = (level.to_f.clamp(0.0, 100.0)).round_away.to_i\nrequest(Command::Volume, level)\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L112"},"def":{"name":"volume?","visibility":"Public","body":"query(Command::Volume, priority: 0)"}}],"types":[{"html_id":"drivers/Sony/Displays/Bravia/Command","path":"Sony/Displays/Bravia/Command.html","kind":"enum","full_name":"Sony::Displays::Bravia::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IrCode","name":"IrCode","value":"0"},{"id":"Power","name":"Power","value":"1"},{"id":"Volume","name":"Volume","value":"2"},{"id":"AudioMute","name":"AudioMute","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Channel","name":"Channel","value":"5"},{"id":"TvInput","name":"TvInput","value":"6"},{"id":"Input","name":"Input","value":"7"},{"id":"ToggleMute","name":"ToggleMute","value":"8"},{"id":"Pip","name":"Pip","value":"9"},{"id":"TogglePip","name":"TogglePip","value":"10"},{"id":"PositionPip","name":"PositionPip","value":"11"},{"id":"BroadcastAddress","name":"BroadcastAddress","value":"12"},{"id":"MacAddress","name":"MacAddress","value":"13"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"class_methods":[{"html_id":"from_response?(message)-class-method","name":"from_response?","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message)","args_html":"(message)","location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"from_response?","args":[{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"case message\nwhen \"IRCC\"\n IrCode\nwhen \"POWR\"\n Power\nwhen \"VOLU\"\n Volume\nwhen \"AMUT\"\n AudioMute\nwhen \"PMUT\"\n Mute\nwhen \"CHNN\"\n Channel\nwhen \"ISRC\"\n TvInput\nwhen \"INPT\"\n Input\nwhen \"TPMU\"\n ToggleMute\nwhen \"PIPI\"\n Pip\nwhen \"TPIP\"\n TogglePip\nwhen \"TPPP\"\n PositionPip\nwhen \"BADR\"\n BroadcastAddress\nwhen \"MADR\"\n MacAddress\nend"}}],"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"audio_mute?","visibility":"Public","body":"self == AudioMute"}},{"html_id":"broadcast_address?-instance-method","name":"broadcast_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"broadcast_address?","visibility":"Public","body":"self == BroadcastAddress"}},{"html_id":"channel?-instance-method","name":"channel?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"channel?","visibility":"Public","body":"self == Channel"}},{"html_id":"function-instance-method","name":"function","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"function","visibility":"Public","body":"case self\nin IrCode\n \"IRCC\"\nin Power\n \"POWR\"\nin Volume\n \"VOLU\"\nin AudioMute\n \"AMUT\"\nin Mute\n \"PMUT\"\nin Channel\n \"CHNN\"\nin TvInput\n \"ISRC\"\nin Input\n \"INPT\"\nin ToggleMute\n \"TPMU\"\nin Pip\n \"PIPI\"\nin TogglePip\n \"TPIP\"\nin PositionPip\n \"TPPP\"\nin BroadcastAddress\n \"BADR\"\nin MacAddress\n \"MADR\"\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"ir_code?-instance-method","name":"ir_code?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"ir_code?","visibility":"Public","body":"self == IrCode"}},{"html_id":"mac_address?-instance-method","name":"mac_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"mac_address?","visibility":"Public","body":"self == MacAddress"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"position_pip?-instance-method","name":"position_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"position_pip?","visibility":"Public","body":"self == PositionPip"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"toggle_mute?-instance-method","name":"toggle_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_mute?","visibility":"Public","body":"self == ToggleMute"}},{"html_id":"toggle_pip?-instance-method","name":"toggle_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_pip?","visibility":"Public","body":"self == TogglePip"}},{"html_id":"tv_input?-instance-method","name":"tv_input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"tv_input?","visibility":"Public","body":"self == TvInput"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}}]},{"html_id":"drivers/Sony/Displays/Bravia/Input","path":"Sony/Displays/Bravia/Input.html","kind":"enum","full_name":"Sony::Displays::Bravia::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L20"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Tv0","name":"Tv0","value":"0_u32"},{"id":"Hdmi0","name":"Hdmi0","value":"100000000_u32"},{"id":"Mirror0","name":"Mirror0","value":"500000000_u32"},{"id":"Vga0","name":"Vga0","value":"600000000_u32"},{"id":"Tv1","name":"Tv1","value":"1_u32"},{"id":"Hdmi1","name":"Hdmi1","value":"100000001_u32"},{"id":"Mirror1","name":"Mirror1","value":"500000001_u32"},{"id":"Vga1","name":"Vga1","value":"600000001_u32"},{"id":"Tv2","name":"Tv2","value":"2_u32"},{"id":"Hdmi2","name":"Hdmi2","value":"100000002_u32"},{"id":"Mirror2","name":"Mirror2","value":"500000002_u32"},{"id":"Vga2","name":"Vga2","value":"600000002_u32"},{"id":"Tv3","name":"Tv3","value":"3_u32"},{"id":"Hdmi3","name":"Hdmi3","value":"100000003_u32"},{"id":"Mirror3","name":"Mirror3","value":"500000003_u32"},{"id":"Vga3","name":"Vga3","value":"600000003_u32"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"constructors":[{"html_id":"from_param(value:String):self-class-method","name":"from_param","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String) : self","args_html":"(value : String) : self","location":{"filename":"src/sony/displays/bravia.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L28"},"def":{"name":"from_param","args":[{"name":"value","external_name":"value","restriction":"String"}],"return_type":"self","visibility":"Public","body":"begin\n from_value(UInt32.new(value))\nrescue\n raise(\"Unknown enum #{self} value: #{value}\")\nend"}}],"instance_methods":[{"html_id":"hdmi0?-instance-method","name":"hdmi0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi0?","visibility":"Public","body":"self == Hdmi0"}},{"html_id":"hdmi1?-instance-method","name":"hdmi1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi1?","visibility":"Public","body":"self == Hdmi1"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"mirror0?-instance-method","name":"mirror0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror0?","visibility":"Public","body":"self == Mirror0"}},{"html_id":"mirror1?-instance-method","name":"mirror1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror1?","visibility":"Public","body":"self == Mirror1"}},{"html_id":"mirror2?-instance-method","name":"mirror2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror2?","visibility":"Public","body":"self == Mirror2"}},{"html_id":"mirror3?-instance-method","name":"mirror3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror3?","visibility":"Public","body":"self == Mirror3"}},{"html_id":"to_param:String-instance-method","name":"to_param","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L34"},"def":{"name":"to_param","return_type":"String","visibility":"Public","body":"value.to_s.rjust(5, '0')"}},{"html_id":"tv0?-instance-method","name":"tv0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv0?","visibility":"Public","body":"self == Tv0"}},{"html_id":"tv1?-instance-method","name":"tv1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv1?","visibility":"Public","body":"self == Tv1"}},{"html_id":"tv2?-instance-method","name":"tv2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv2?","visibility":"Public","body":"self == Tv2"}},{"html_id":"tv3?-instance-method","name":"tv3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv3?","visibility":"Public","body":"self == Tv3"}},{"html_id":"vga0?-instance-method","name":"vga0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga0?","visibility":"Public","body":"self == Vga0"}},{"html_id":"vga1?-instance-method","name":"vga1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga1?","visibility":"Public","body":"self == Vga1"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga2?","visibility":"Public","body":"self == Vga2"}},{"html_id":"vga3?-instance-method","name":"vga3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga3?","visibility":"Public","body":"self == Vga3"}}]},{"html_id":"drivers/Sony/Displays/Bravia/MessageType","path":"Sony/Displays/Bravia/MessageType.html","kind":"enum","full_name":"Sony::Displays::Bravia::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L125"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Answer","name":"Answer","value":"65_u8"},{"id":"Control","name":"Control","value":"67_u8"},{"id":"Enquiry","name":"Enquiry","value":"69_u8"},{"id":"Notify","name":"Notify","value":"78_u8"},{"id":"Error","name":"Error","value":"70_u8"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L126"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"control?-instance-method","name":"control?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L127"},"def":{"name":"control?","visibility":"Public","body":"self == Control"}},{"html_id":"control_character-instance-method","name":"control_character","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L132"},"def":{"name":"control_character","visibility":"Public","body":"value.chr"}},{"html_id":"enquiry?-instance-method","name":"enquiry?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L128"},"def":{"name":"enquiry?","visibility":"Public","body":"self == Enquiry"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L130"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"notify?-instance-method","name":"notify?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L129"},"def":{"name":"notify?","visibility":"Public","body":"self == Notify"}}]}]}]},{"html_id":"drivers/Sony/Projector","path":"Sony/Projector.html","kind":"module","full_name":"Sony::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Projector/Fh","path":"Sony/Projector/Fh.html","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INPUTS_LOOKUP","name":"INPUTS_LOOKUP","value":"{\"hdmi1\" => Inputs::HDMI, \"dvi1\" => Inputs::DVI, \"video1\" => Inputs::Video, \"svideo1\" => Inputs::SVideo, \"rgb1\" => Inputs::RGB, \"hdbaset1\" => Inputs::HDBaseT, \"input_a\" => Inputs::InputA, \"input_b\" => Inputs::InputB, \"input_c\" => Inputs::InputC, \"input_d\" => Inputs::InputD, \"input_e\" => Inputs::InputE}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"brightness\", val.clamp(0, 100))"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness?","visibility":"Public","body":"get(\"brightness\")"}},{"html_id":"color(val:Int32)-instance-method","name":"color","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"color","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"color\", val.clamp(0, 100))"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"color?","visibility":"Public","body":"get(\"color\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"contrast\", val.clamp(0, 100))"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast?","visibility":"Public","body":"get(\"contrast\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(val:Int32)-instance-method","name":"hue","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"hue","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"hue\", val.clamp(0, 100))"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"hue?","visibility":"Public","body":"get(\"hue\")"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L99"},"def":{"name":"input?","visibility":"Public","body":"(get(\"input\")).get\nself[:input].as_s\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/fh.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L66"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"(set(\"blank\", state ? \"on\" : \"off\")).get\nself[:mute] = state\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L75"},"def":{"name":"mute?","visibility":"Public","body":"(get(\"blank\")).get\nself[:mute].as_bool\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/fh.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(set(\"power\", state ? \"on\" : \"off\")).get\nself[:power] = state\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L61"},"def":{"name":"power?","visibility":"Public","body":"get(\"power_status\")\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(response,task)-instance-method","name":"received","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(response, task)","args_html":"(response, task)","location":{"filename":"src/sony/projector/fh.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L120"},"def":{"name":"received","args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(response, task)"}},{"html_id":"sharpness(val:Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"sharpness\", val.clamp(0, 100))"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness?","visibility":"Public","body":"get(\"sharpness\")"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/sony/projector/fh.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L94"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"(set(\"input\", input.to_message)).get\nself[:input] = input.readable\n"}}],"types":[{"html_id":"drivers/Sony/Projector/Fh/Inputs","path":"Sony/Projector/Fh/Inputs.html","kind":"enum","full_name":"Sony::Projector::Fh::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"DVI","name":"DVI","value":"1"},{"id":"Video","name":"Video","value":"2"},{"id":"SVideo","name":"SVideo","value":"3"},{"id":"RGB","name":"RGB","value":"4"},{"id":"HDBaseT","name":"HDBaseT","value":"5"},{"id":"InputA","name":"InputA","value":"6"},{"id":"InputB","name":"InputB","value":"7"},{"id":"InputC","name":"InputC","value":"8"},{"id":"InputD","name":"InputD","value":"9"},{"id":"InputE","name":"InputE","value":"10"}],"namespace":{"html_id":"drivers/Sony/Projector/Fh","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L18"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L13"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L19"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L20"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L21"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L22"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"input_e?-instance-method","name":"input_e?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L23"},"def":{"name":"input_e?","visibility":"Public","body":"self == InputE"}},{"html_id":"readable:String-instance-method","name":"readable","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L34"},"def":{"name":"readable","return_type":"String","visibility":"Public","body":"to_s.downcase"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L17"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L16"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"to_message:String-instance-method","name":"to_message","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L25"},"def":{"name":"to_message","return_type":"String","visibility":"Public","body":"case self\nin HDMI, DVI, Video, SVideo, RGB, HDBaseT\n to_s.downcase + \"1\"\nin InputA, InputB, InputC, InputD, InputE\n to_s.underscore\nend"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L15"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Sony/Projector/PjTalk","path":"Sony/Projector/PjTalk.html","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CATEGORY","name":"ERROR_CATEGORY","value":"{1_u8 => :item_error, 2_u8 => :community_error, 16_u8 => :request_error, 32_u8 => :network_error, 240_u8 => :comms_error, 241_u8 => :ram_error}"},{"id":"ERRORS","name":"ERRORS","value":"{item_error: {1_u8 => \"Invalid Item\", 2_u8 => \"Invalid Item Request\", 3_u8 => \"Invalid Length\", 4_u8 => \"Invalid Data\", 17_u8 => \"Short Data\", 128_u8 => \"Not Applicable Item\"}, community_error: {1_u8 => \"Different Community\"}, request_error: {1_u8 => \"Invalid Version\", 2_u8 => \"Invalid Category\", 3_u8 => \"Invalid Request\", 17_u8 => \"Short Header\", 18_u8 => \"Short Community\", 19_u8 => \"Short Command\"}, network_error: {1_u8 => \"Timeout\"}, comms_error: {1_u8 => \"Timeout\", 16_u8 => \"Check Sum Error\", 32_u8 => \"Framing Error\", 48_u8 => \"Parity Error\", 64_u8 => \"Over Run Error\", 80_u8 => \"Other Comm Error\", 240_u8 => \"Unknown Response\"}, ram_error: {16_u8 => \"Read Error\", 32_u8 => \"Write Error\"}, unknown: {} of UInt8 => String}"},{"id":"METHODS","name":"METHODS","value":"[:contrast, :brightness, :color, :hue, :sharpness]"},{"id":"PJTALK_HEADER","name":"PJTALK_HEADER","value":"Bytes[2, 10]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(:get, :brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"color?","visibility":"Public","body":"do_send(:get, :color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L39"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(:get, :contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L177"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n input?\n mute?\n do_send(:get, :error_status, priority: 0)\n lamp_time?\nend"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"hue?","visibility":"Public","body":"do_send(:get, :hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L93"},"def":{"name":"input?","visibility":"Public","body":"do_send(:get, :input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L97"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(:get, :lamp_timer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L101"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(:set, :mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L110"},"def":{"name":"mute?","visibility":"Public","body":"do_send(:get, :mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.to_slice\n bytes.size < 10 ? -1 : 10 + bytes[9]\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@community = (setting?(String, :community)) || \"SONY\""}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L47"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:set, :power_on, name: :power)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:set, :power_off, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L61"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(:get, :power_status, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L191"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\nresponse_status = ResponseStatus.from_value(data[6])\npjt_command = Command.from_bytes(data[7..8])\npjt_length = data[9]\npjt_data = pjt_length > 0 ? data[10..-1] : Bytes.new(0)\nif response_status.no_good?\n category = ERROR_CATEGORY[pjt_data[0]]? || (:unknown)\n message = ERRORS[category][pjt_data[1]]? || \"unknown: category #{pjt_data[1].to_s(16)}, reason #{pjt_data[1].to_s(16)}\"\n self[:last_error] = \"#{category}: #{message}\"\n logger.debug do\n \"Command #{pjt_command} failed with #{category}: #{message}\"\n end\n return task.try(&.abort)\nend\ncase pjt_command\nwhen .power_on?\n self[:power] = true\nwhen .power_off?\n self[:power] = false\nwhen .lamp_timer?\n self[:lamp_usage] = (pjt_data[-2].to_u16 << 8) + pjt_data[-1]\nwhen .power_status?\n case pjt_data[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\nwhen .mute?\n self[:mute] = pjt_data[-1] == 1\nwhen .input?\n self[:input] = Input.from_bytes(pjt_data)\nwhen .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[pjt_command.to_s.downcase] = pjt_data[-1]\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(:get, :sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L86"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(:set, :input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/PjTalk/Command","path":"Sony/Projector/PjTalk/Command.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L130"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L148"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L138"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L139"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L137"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L135"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L140"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L133"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L142"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L134"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L132"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L131"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L136"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L141"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L144"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/CommandType","path":"Sony/Projector/PjTalk/CommandType.html","kind":"enum","full_name":"Sony::Projector::PjTalk::CommandType","name":"CommandType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L153"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L155"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L154"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/Input","path":"Sony/Projector/PjTalk/Input.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L79"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L67"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L68"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L69"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L70"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L71"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L73"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L75"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L72"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/ResponseStatus","path":"Sony/Projector/PjTalk/ResponseStatus.html","kind":"enum","full_name":"Sony::Projector::PjTalk::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"NoGood","name":"NoGood","value":"0_u8"},{"id":"Okay","name":"Okay","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"no_good?-instance-method","name":"no_good?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L187"},"def":{"name":"no_good?","visibility":"Public","body":"self == NoGood"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L188"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Sony/Projector/SerialControl","path":"Sony/Projector/SerialControl.html","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"154_u8"},{"id":"ERRORS","name":"ERRORS","value":"{0 => \"No Error\", 1 => \"Lamp Error\", 2 => \"Fan Error\", 4 => \"Cover Error\", 8 => \"Temperature Error\", 16 => \"D5V Error\", 32 => \"Power Error\", 64 => \"Warning Error\", 128 => \"NVM Data ERROR\"}"},{"id":"INDICATOR","name":"INDICATOR","value":"169_u8"},{"id":"METHODS","name":"METHODS","value":"[\"Contrast\", \"Brightness\", \"Color\", \"Hue\", \"Sharpness\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(Type::Get, Command::Brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"color?","visibility":"Public","body":"do_send(Type::Get, Command::Color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(Type::Get, Command::Contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"hue?","visibility":"Public","body":"do_send(Type::Get, Command::Hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"do_send(Type::Get, Command::Input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L81"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(Type::Get, Command::LampTimer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(Type::Set, Command::Mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L94"},"def":{"name":"mute?","visibility":"Public","body":"do_send(Type::Get, Command::Mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[DELIMITER])"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L30"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(Type::Set, Command::PowerOn, name: :power)\n do_send(Type::Set, Command::PowerOn, name: :power, delay: 3.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(Type::Set, Command::PowerOff, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L45"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(Type::Get, Command::PowerStatus, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L177"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\ncmd = data[1..2]\ntype = data[3]\nresp = data[4..5]\nchecksum = data[1..5].reduce do |a, b|\n a = a | b\nend\nif data[6] == checksum\nelse\n return task.try(&.abort(\"Checksum should be 0x#{checksum.to_s(base: 16, upcase: true)}\"))\nend\nif type == 3\n if cmd == Bytes[0, 0]\n return task.try(&.success)\n else\n return task.try(&.abort(\"Command failed with 0x#{cmd.join(&.to_s(base: 16, upcase: true))}\"))\n end\nelse\n case command = Command.from_bytes(cmd)\n when .power_on?\n self[:power] = true\n when .power_off?\n self[:power] = false\n when .lamp_timer?\n self[:lamp_usage] = (resp[-2].to_u16 << 8) + resp[-1]\n when .power_status?\n case resp[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\n when .mute?\n self[:mute] = resp[-1] == 1\n when .input?\n self[:input] = Input.from_bytes(resp)\n when .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[command.to_s.downcase] = resp[-1]\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(Type::Get, Command::Sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L70"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(Type::Set, Command::Input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/SerialControl/Command","path":"Sony/Projector/SerialControl/Command.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L153"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L143"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L144"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L142"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L140"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L145"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L138"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L147"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L139"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L137"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L136"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L141"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L146"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L149"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Input","path":"Sony/Projector/SerialControl/Input.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L50"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L63"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L51"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L52"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L53"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L54"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L55"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L57"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L59"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L56"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Type","path":"Sony/Projector/SerialControl/Type.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L158"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L160"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L159"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]}]}]}]},{"html_id":"drivers/StaffAPI","path":"StaffAPI.html","kind":"class","full_name":"StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L5"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"survey_id || (survey_id = 1)\ninvites = [{id: 1, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 2, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 3, survey_id: survey_id, token: \"QWERTY\", email: \"user2@spec.test\", sent: false}, {id: 4, survey_id: survey_id, token: \"QWERTY\", email: \"user3@spec.test\", sent: nil}, {id: 5, survey_id: survey_id, token: \"QWERTY\", email: \"user4@spec.test\", sent: true}]\nJSON.parse(invites.to_json)\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L49"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"true"}}]},{"html_id":"drivers/Steinel","path":"Steinel.html","kind":"module","full_name":"Steinel","name":"Steinel","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Steinel/HPD2","path":"Steinel/HPD2.html","kind":"class","full_name":"Steinel::HPD2","name":"HPD2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{illuminance: SensorType::Illuminance, temperature: SensorType::Temperature, humidity: SensorType::Humidity, presence: SensorType::Presence, people: SensorType::PeopleCount, illuminance_zones: SensorType::Illuminance, presence_zones: SensorType::Presence, people_zones: SensorType::PeopleCount}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Steinel","kind":"module","full_name":"Steinel","name":"Steinel"},"instance_methods":[{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L102"},"def":{"name":"get_status","visibility":"Public","body":"response = get(\"/api/sensorstatus.php\")\nlogger.debug do\n \"received #{response.body}\"\nend\nif response.success?\n status = SensorStatus.from_json(response.body.not_nil!)\n time = Time.utc.to_unix\n mod_id = module_id\n humidity = Interface::Sensor::Detail.new(SensorType::Humidity, status.humidity.to_f, time, @mac, \"humidity\", \"Humidity\", module_id: mod_id, binding: \"humidity\")\n self[:humidity] = status.humidity.to_f\n temperature = Interface::Sensor::Detail.new(SensorType::Temperature, status.temperature.to_f, time, @mac, \"temperature\", \"Temperature\", module_id: mod_id, binding: \"temperature\", unit: \"Cel\")\n self[:temperature] = status.temperature.to_f\n pres = status.person_presence.zero? ? 0.0 : 1.0\n presence = Interface::Sensor::Detail.new(SensorType::Presence, pres, time, @mac, \"presence\", \"Person Presence\", module_id: mod_id, binding: \"presence\")\n self[:presence] = pres\n people = Interface::Sensor::Detail.new(SensorType::PeopleCount, status.detected_persons.to_f, time, @mac, \"people\", \"Detected Persons\", module_id: mod_id, binding: \"people\")\n self[:people] = status.detected_persons\n illuminance = Interface::Sensor::Detail.new(SensorType::Illuminance, status.global_illuminance_lux, time, @mac, \"illuminance\", \"Illuminance\", module_id: mod_id, binding: \"illuminance\", unit: \"lx\")\n self[:illuminance] = status.global_illuminance_lux\n self[:presence_zones] = status.person_presence_zone.map do |value|\n value.zero? ? 0.0 : 1.0\n end\n presence_zones = status.person_presence_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Presence, value.zero? ? 0.0 : 1.0, time, @mac, \"presence-#{index}\", \"Person Presence in Zone#{index}\")\n end\n self[:people_zones] = status.detected_persons_zone\n people_zones = status.detected_persons_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::PeopleCount, value.to_f, time, @mac, \"people-#{index}\", \"Detected People in Zone#{index}\")\n end\n self[:illuminance_zones] = status.lux_zone\n illuminance_zones = status.lux_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Illuminance, value, time, @mac, \"illuminance-#{index}\", \"Illuminance in Zone#{index}\", unit: \"lx\")\n end\n @state = {humidity: humidity, temperature: temperature, presence: presence, people: people, illuminance: illuminance, presence_zones: presence_zones, people_zones: people_zones, illuminance_zones: illuminance_zones}\n status\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nschedule.every(5.seconds) do\n get_status\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/steinel/hpd2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L42"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n case id\n when \"humidity\"\n state[:humidity]\n when \"temperature\"\n state[:temperature]\n when \"presence\"\n state[:presence]\n when \"people\"\n state[:people]\n when \"illuminance\"\n state[:illuminance]\n end\n else\n if index = index_str.to_i?\n case id\n when \"presence\"\n state[:presence_zones][index]?\n when \"people\"\n state[:people_zones][index]?\n when \"illuminance\"\n state[:illuminance_zones][index]?\n end\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/steinel/hpd2.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L87"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return state.values.to_a.flatten\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Interface::Sensor::Detail | Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << state[key]\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"state:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))-instance-method","name":"state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L22"},"def":{"name":"state","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail))","visibility":"Public","body":"if (value = @state).nil?\n ::raise(NilAssertionError.new(\"Steinel::HPD2#state cannot be nil\"))\nelse\n value\nend"}},{"html_id":"state?:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))|Nil-instance-method","name":"state?","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L22"},"def":{"name":"state?","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail)) | ::Nil","visibility":"Public","body":"@state"}}],"types":[{"html_id":"drivers/Steinel/HPD2/SensorStatus","path":"Steinel/HPD2/SensorStatus.html","kind":"class","full_name":"Steinel::HPD2::SensorStatus","name":"SensorStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/steinel/hpd2.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_version:String-instance-method","name":"app_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version","return_type":"String","visibility":"Public","body":"@app_version"}},{"html_id":"app_version=(app_version:String)-instance-method","name":"app_version=","abstract":false,"args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"args_string":"(app_version : String)","args_html":"(app_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version=","args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"visibility":"Public","body":"@app_version = app_version"}},{"html_id":"arm_sensor_cpu_usage:String-instance-method","name":"arm_sensor_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage","return_type":"String","visibility":"Public","body":"@arm_sensor_cpu_usage"}},{"html_id":"arm_sensor_cpu_usage=(arm_sensor_cpu_usage:String)-instance-method","name":"arm_sensor_cpu_usage=","abstract":false,"args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"args_string":"(arm_sensor_cpu_usage : String)","args_html":"(arm_sensor_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage=","args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@arm_sensor_cpu_usage = arm_sensor_cpu_usage"}},{"html_id":"average_fps5:Float64-instance-method","name":"average_fps5","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5","return_type":"Float64","visibility":"Public","body":"@average_fps5"}},{"html_id":"average_fps50:Float64-instance-method","name":"average_fps50","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50","return_type":"Float64","visibility":"Public","body":"@average_fps50"}},{"html_id":"average_fps50=(average_fps50:Float64)-instance-method","name":"average_fps50=","abstract":false,"args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"args_string":"(average_fps50 : Float64)","args_html":"(average_fps50 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50=","args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"visibility":"Public","body":"@average_fps50 = average_fps50"}},{"html_id":"average_fps5=(average_fps5:Float64)-instance-method","name":"average_fps5=","abstract":false,"args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"args_string":"(average_fps5 : Float64)","args_html":"(average_fps5 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5=","args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"visibility":"Public","body":"@average_fps5 = average_fps5"}},{"html_id":"detected_persons:Int32-instance-method","name":"detected_persons","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons","return_type":"Int32","visibility":"Public","body":"@detected_persons"}},{"html_id":"detected_persons=(detected_persons:Int32)-instance-method","name":"detected_persons=","abstract":false,"args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"args_string":"(detected_persons : Int32)","args_html":"(detected_persons : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons=","args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"visibility":"Public","body":"@detected_persons = detected_persons"}},{"html_id":"detected_persons_zone:Array(Int32)-instance-method","name":"detected_persons_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone","return_type":"Array(Int32)","visibility":"Public","body":"@detected_persons_zone"}},{"html_id":"detected_persons_zone=(detected_persons_zone:Array(Int32))-instance-method","name":"detected_persons_zone=","abstract":false,"args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"args_string":"(detected_persons_zone : Array(Int32))","args_html":"(detected_persons_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone=","args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@detected_persons_zone = detected_persons_zone"}},{"html_id":"detection_zones_present:Int32-instance-method","name":"detection_zones_present","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present","return_type":"Int32","visibility":"Public","body":"@detection_zones_present"}},{"html_id":"detection_zones_present=(detection_zones_present:Int32)-instance-method","name":"detection_zones_present=","abstract":false,"args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"args_string":"(detection_zones_present : Int32)","args_html":"(detection_zones_present : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present=","args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"visibility":"Public","body":"@detection_zones_present = detection_zones_present"}},{"html_id":"final:String-instance-method","name":"final","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L241"},"def":{"name":"final","return_type":"String","visibility":"Public","body":"@final"}},{"html_id":"final=(final:String)-instance-method","name":"final=","abstract":false,"args":[{"name":"final","external_name":"final","restriction":"String"}],"args_string":"(final : String)","args_html":"(final : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L241"},"def":{"name":"final=","args":[{"name":"final","external_name":"final","restriction":"String"}],"visibility":"Public","body":"@final = final"}},{"html_id":"fpga_version:String-instance-method","name":"fpga_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version","return_type":"String","visibility":"Public","body":"@fpga_version"}},{"html_id":"fpga_version=(fpga_version:String)-instance-method","name":"fpga_version=","abstract":false,"args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"args_string":"(fpga_version : String)","args_html":"(fpga_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version=","args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"visibility":"Public","body":"@fpga_version = fpga_version"}},{"html_id":"frame_processing_time_ms:Int32-instance-method","name":"frame_processing_time_ms","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms","return_type":"Int32","visibility":"Public","body":"@frame_processing_time_ms"}},{"html_id":"frame_processing_time_ms=(frame_processing_time_ms:Int32)-instance-method","name":"frame_processing_time_ms=","abstract":false,"args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"args_string":"(frame_processing_time_ms : Int32)","args_html":"(frame_processing_time_ms : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms=","args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"visibility":"Public","body":"@frame_processing_time_ms = frame_processing_time_ms"}},{"html_id":"git_revision:String-instance-method","name":"git_revision","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision","return_type":"String","visibility":"Public","body":"@git_revision"}},{"html_id":"git_revision=(git_revision:String)-instance-method","name":"git_revision=","abstract":false,"args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"args_string":"(git_revision : String)","args_html":"(git_revision : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision=","args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"visibility":"Public","body":"@git_revision = git_revision"}},{"html_id":"global_illuminance_lux:Float64-instance-method","name":"global_illuminance_lux","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux","return_type":"Float64","visibility":"Public","body":"@global_illuminance_lux"}},{"html_id":"global_illuminance_lux=(global_illuminance_lux:Float64)-instance-method","name":"global_illuminance_lux=","abstract":false,"args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"args_string":"(global_illuminance_lux : Float64)","args_html":"(global_illuminance_lux : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux=","args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"visibility":"Public","body":"@global_illuminance_lux = global_illuminance_lux"}},{"html_id":"global_light_value:Int32-instance-method","name":"global_light_value","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value","return_type":"Int32","visibility":"Public","body":"@global_light_value"}},{"html_id":"global_light_value=(global_light_value:Int32)-instance-method","name":"global_light_value=","abstract":false,"args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"args_string":"(global_light_value : Int32)","args_html":"(global_light_value : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value=","args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"visibility":"Public","body":"@global_light_value = global_light_value"}},{"html_id":"humidity:String-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity","return_type":"String","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:String)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"args_string":"(humidity : String)","args_html":"(humidity : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"ir_led_on:Int32-instance-method","name":"ir_led_on","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on","return_type":"Int32","visibility":"Public","body":"@ir_led_on"}},{"html_id":"ir_led_on=(ir_led_on:Int32)-instance-method","name":"ir_led_on=","abstract":false,"args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"args_string":"(ir_led_on : Int32)","args_html":"(ir_led_on : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on=","args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"visibility":"Public","body":"@ir_led_on = ir_led_on"}},{"html_id":"knx_address:String-instance-method","name":"knx_address","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address","return_type":"String","visibility":"Public","body":"@knx_address"}},{"html_id":"knx_address=(knx_address:String)-instance-method","name":"knx_address=","abstract":false,"args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"args_string":"(knx_address : String)","args_html":"(knx_address : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address=","args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"visibility":"Public","body":"@knx_address = knx_address"}},{"html_id":"knx_detected:String-instance-method","name":"knx_detected","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected","return_type":"String","visibility":"Public","body":"@knx_detected"}},{"html_id":"knx_detected=(knx_detected:String)-instance-method","name":"knx_detected=","abstract":false,"args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"args_string":"(knx_detected : String)","args_html":"(knx_detected : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected=","args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"visibility":"Public","body":"@knx_detected = knx_detected"}},{"html_id":"knx_led_state:String-instance-method","name":"knx_led_state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state","return_type":"String","visibility":"Public","body":"@knx_led_state"}},{"html_id":"knx_led_state=(knx_led_state:String)-instance-method","name":"knx_led_state=","abstract":false,"args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"args_string":"(knx_led_state : String)","args_html":"(knx_led_state : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state=","args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"visibility":"Public","body":"@knx_led_state = knx_led_state"}},{"html_id":"knx_program_mode:String-instance-method","name":"knx_program_mode","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode","return_type":"String","visibility":"Public","body":"@knx_program_mode"}},{"html_id":"knx_program_mode=(knx_program_mode:String)-instance-method","name":"knx_program_mode=","abstract":false,"args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"args_string":"(knx_program_mode : String)","args_html":"(knx_program_mode : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode=","args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"visibility":"Public","body":"@knx_program_mode = knx_program_mode"}},{"html_id":"knx_sap_number:String-instance-method","name":"knx_sap_number","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number","return_type":"String","visibility":"Public","body":"@knx_sap_number"}},{"html_id":"knx_sap_number=(knx_sap_number:String)-instance-method","name":"knx_sap_number=","abstract":false,"args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"args_string":"(knx_sap_number : String)","args_html":"(knx_sap_number : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number=","args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"visibility":"Public","body":"@knx_sap_number = knx_sap_number"}},{"html_id":"knx_version:String-instance-method","name":"knx_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version","return_type":"String","visibility":"Public","body":"@knx_version"}},{"html_id":"knx_version=(knx_version:String)-instance-method","name":"knx_version=","abstract":false,"args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"args_string":"(knx_version : String)","args_html":"(knx_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version=","args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"visibility":"Public","body":"@knx_version = knx_version"}},{"html_id":"lux_zone:Array(Float64)-instance-method","name":"lux_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone","return_type":"Array(Float64)","visibility":"Public","body":"@lux_zone"}},{"html_id":"lux_zone=(lux_zone:Array(Float64))-instance-method","name":"lux_zone=","abstract":false,"args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"args_string":"(lux_zone : Array(Float64))","args_html":"(lux_zone : Array(Float64))","location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone=","args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"visibility":"Public","body":"@lux_zone = lux_zone"}},{"html_id":"model_name:String-instance-method","name":"model_name","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name","return_type":"String","visibility":"Public","body":"@model_name"}},{"html_id":"model_name=(model_name:String)-instance-method","name":"model_name=","abstract":false,"args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"args_string":"(model_name : String)","args_html":"(model_name : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name=","args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"visibility":"Public","body":"@model_name = model_name"}},{"html_id":"person_presence:Int32-instance-method","name":"person_presence","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence","return_type":"Int32","visibility":"Public","body":"@person_presence"}},{"html_id":"person_presence=(person_presence:Int32)-instance-method","name":"person_presence=","abstract":false,"args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"args_string":"(person_presence : Int32)","args_html":"(person_presence : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence=","args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"visibility":"Public","body":"@person_presence = person_presence"}},{"html_id":"person_presence_zone:Array(Int32)-instance-method","name":"person_presence_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone","return_type":"Array(Int32)","visibility":"Public","body":"@person_presence_zone"}},{"html_id":"person_presence_zone=(person_presence_zone:Array(Int32))-instance-method","name":"person_presence_zone=","abstract":false,"args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"args_string":"(person_presence_zone : Array(Int32))","args_html":"(person_presence_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone=","args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@person_presence_zone = person_presence_zone"}},{"html_id":"running_time:String-instance-method","name":"running_time","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time","return_type":"String","visibility":"Public","body":"@running_time"}},{"html_id":"running_time=(running_time:String)-instance-method","name":"running_time=","abstract":false,"args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"args_string":"(running_time : String)","args_html":"(running_time : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time=","args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"visibility":"Public","body":"@running_time = running_time"}},{"html_id":"temperature:String-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature","return_type":"String","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:String)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"args_string":"(temperature : String)","args_html":"(temperature : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"uptime:String-instance-method","name":"uptime","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime","return_type":"String","visibility":"Public","body":"@uptime"}},{"html_id":"uptime=(uptime:String)-instance-method","name":"uptime=","abstract":false,"args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"args_string":"(uptime : String)","args_html":"(uptime : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime=","args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"visibility":"Public","body":"@uptime = uptime"}},{"html_id":"web_server_cpu_usage:String-instance-method","name":"web_server_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage","return_type":"String","visibility":"Public","body":"@web_server_cpu_usage"}},{"html_id":"web_server_cpu_usage=(web_server_cpu_usage:String)-instance-method","name":"web_server_cpu_usage=","abstract":false,"args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"args_string":"(web_server_cpu_usage : String)","args_html":"(web_server_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage=","args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@web_server_cpu_usage = web_server_cpu_usage"}}]},{"html_id":"drivers/Steinel/HPD2/SensorType","path":"Steinel/HPD2/SensorType.html","kind":"alias","full_name":"Steinel::HPD2::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"}}]}]},{"html_id":"drivers/Stripe","path":"Stripe.html","kind":"module","full_name":"Stripe","name":"Stripe","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Stripe/API","path":"Stripe/API.html","kind":"class","full_name":"Stripe::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Stripe","kind":"module","full_name":"Stripe","name":"Stripe"},"instance_methods":[{"html_id":"add_payment_method(type:String,billing_details:Hash(String,String)|Nil=nil,metadata:Hash(String,String)|Nil=nil,acss_debit:Hash(String,String)|Nil=nil,affirm:Hash(String,String)|Nil=nil,afterpay_clearpay:Hash(String,String)|Nil=nil,alipay:Hash(String,String)|Nil=nil,au_becs_debit:Hash(String,String)|Nil=nil,bacs_debit:Hash(String,String)|Nil=nil,bancontact:Hash(String,String)|Nil=nil,blik:Hash(String,String)|Nil=nil,boleto:Hash(String,String)|Nil=nil,card:Hash(String,String)|Nil=nil,customer_balance:Hash(String,String)|Nil=nil,eps:Hash(String,String)|Nil=nil,fpx:Hash(String,String)|Nil=nil,giropay:Hash(String,String)|Nil=nil,ideal:Hash(String,String)|Nil=nil,interac_present:Hash(String,String)|Nil=nil,klarna:Hash(String,String)|Nil=nil,konbini:Hash(String,String)|Nil=nil,link:Hash(String,String)|Nil=nil,oxxo:Hash(String,String)|Nil=nil,p24:Hash(String,String)|Nil=nil,paynow:Hash(String,String)|Nil=nil,promptpay:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,sepa_debit:Hash(String,String)|Nil=nil,sofort:Hash(String,String)|Nil=nil,us_bank_account:Hash(String,String)|Nil=nil,wechat_pay:Hash(String,String)|Nil=nil)-instance-method","name":"add_payment_method","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","args_html":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L26"},"def":{"name":"add_payment_method","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"payment_method = @client.not_nil!.payment_methods.create(type, billing_details, metadata, acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, customer_balance, eps, fpx, giropay, ideal, interac_present, klarna, konbini, link, oxxo, p24, paynow, promptpay, radar_options, sepa_debit, sofort, us_bank_account, wechat_pay)\nself[\"payment_method\"] = payment_method\n"}},{"html_id":"cancel_payment_intent(id:String,cancellation_reason:String|Nil=nil)-instance-method","name":"cancel_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"args_string":"(id : String, cancellation_reason : String | Nil = nil)","args_html":"(id : String, cancellation_reason : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L83"},"def":{"name":"cancel_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client.not_nil!.payment_intents.cancel(id: id, cancellation_reason: cancellation_reason)\nself[\"payment_intent\"] = nil\n"}},{"html_id":"confirm_payment_intent(id:String,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,capture_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"confirm_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L78"},"def":{"name":"confirm_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.confirm(id: id, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, capture_method: capture_method, error_on_requires_action: error_on_requires_action, mandate: mandate, mandate_data: mandate_data, off_session: off_session, payment_method_data: payment_method_data, payment_method_options: payment_method_options, payment_method_types: payment_method_types, radar_options: radar_options, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"create_payment_intent(amount:Int32,currency:String,automatic_payment_methods:Hash(String,String)|Nil=nil,confirm:Bool|Nil=nil,customer:String|Nil=nil,description:String|Nil=nil,metadata:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,statement_descriptor:String|Nil=nil,statement_descriptor_suffix:String|Nil=nil,application_fee_amount:Int32|Nil=nil,capture_method:String|Nil=nil,confrimation_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,on_behalf_of:String|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,transfer_data:Hash(String,String)|Nil=nil,transfer_group:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"create_payment_intent","abstract":false,"args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L73"},"def":{"name":"create_payment_intent","args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.create(amount: amount, currency: currency, automatic_payment_methods: automatic_payment_methods, confirm: confirm, customer: customer, description: description, metadata: metadata, off_session: off_session, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, statement_descriptor: statement_descriptor, statement_descriptor_suffix: statement_descriptor_suffix, application_fee_amount: application_fee_amount, capture_method: capture_method, confrimation_method: confrimation_method, error_on_requires_action: error_on_requires_action, mandate_data: mandate_data, on_behalf_of: on_behalf_of, payment_method_data: payment_method_data, payment_method_types: payment_method_types, payment_method_options: payment_method_options, radar_options: radar_options, return_url: return_url, transfer_data: transfer_data, transfer_group: transfer_group, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"get_product_price(active:Bool|Nil=nil,currency:String|Nil=nil,product:String|Nil=nil,type:String|Nil=nil,created:Hash(String,String)|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,lookup_keys:Array(String)|Nil=nil,recurring:Hash(String,String)|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"get_product_price","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L68"},"def":{"name":"get_product_price","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"product_prices = @client.not_nil!.prices.list(active: active, currency: currency, product: product, type: type, created: created, ending_before: ending_before, limit: limit, lookup_keys: lookup_keys, recurring: recurring, starting_after: starting_after)\nself[\"product_prices\"] = product_prices\n"}},{"html_id":"list_payment_methods(type:String,customer:String|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"list_payment_methods","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","args_html":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L63"},"def":{"name":"list_payment_methods","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"payment_methods = @client.not_nil!.payment_methods.list(type: type, customer: customer, ending_before: ending_before, limit: limit, starting_after: starting_after)\nself[\"payment_methods\"] = payment_methods\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L19"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\napi_key = setting(String, :api_key)\n@client = Stripetease::Client.new(base_url: host_name, api_key: api_key)\n"}}],"types":[{"html_id":"drivers/Stripe/API/Client","path":"Stripe/API/Client.html","kind":"alias","full_name":"Stripe::API::Client","name":"Client","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Stripetease::Client","aliased_html":"Stripetease::Client","const":false,"namespace":{"html_id":"drivers/Stripe/API","kind":"class","full_name":"Stripe::API","name":"API"}}]}]},{"html_id":"drivers/TwentyFiveLivePro","path":"TwentyFiveLivePro.html","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L4"},{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L4"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L3"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L3"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/TwentyFiveLivePro/API","path":"TwentyFiveLivePro/API.html","kind":"class","full_name":"TwentyFiveLivePro::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"availability(id:Int32,start_date:String,end_date:String,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"availability","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L93"},"def":{"name":"availability","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nbody = {\"spaces\" => [{\"spaceId\" => id, \"dates\" => {\"startDt\" => start_date, \"endDt\" => end_date}}]}\nresponse = post(\"/external/spaceAvailability.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"}, body: body.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Availability.from_json(response.body)\n"}},{"html_id":"get_event_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_event_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L256"},"def":{"name":"get_event_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/event/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::EventDetail.from_json(response.body)\n"}},{"html_id":"get_organization_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_organization_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L180"},"def":{"name":"get_organization_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/organization/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::OrganizationDetail.from_json(response.body)\n"}},{"html_id":"get_resource_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_resource_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L119"},"def":{"name":"get_resource_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/resource/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ResourceDetail.from_json(response.body)\n"}},{"html_id":"get_space_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_space_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L32"},"def":{"name":"get_space_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/space/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::SpaceDetail.from_json(response.body)\n"}},{"html_id":"list_events(space_id:Int32=1,page:Int32=1,items_per_page:Int32=100,since:String|Nil=nil,paginate:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","args_html":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L270"},"def":{"name":"list_events","args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"events = [] of Models::Event\nloop do\n params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if since\n form.add(\"created_since\", since)\n end\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/event/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nevents\n"}},{"html_id":"list_organizations(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_organizations","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L194"},"def":{"name":"list_organizations","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"organizations = [] of Models::Organization\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/organization/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\norganizations\n"}},{"html_id":"list_reservations(space_id:Int32,start_date:String,end_date:String)-instance-method","name":"list_reservations","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(space_id : Int32, start_date : String, end_date : String)","args_html":"(space_id : Int32, start_date : String, end_date : String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L241"},"def":{"name":"list_reservations","args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"start_dt\", start_date)\n form.add(\"end_dt\", end_date)\nend\nresponse = get(\"/reservations.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Reservations.from_json(response.body)\n"}},{"html_id":"list_resources(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_resources","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L133"},"def":{"name":"list_resources","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"resources = [] of Models::Resource\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/resource/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nresources\n"}},{"html_id":"list_spaces(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_spaces","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L46"},"def":{"name":"list_spaces","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"spaces = [] of Models::Space\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/space/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nspaces\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/TwentyFiveLivePro/Date","path":"TwentyFiveLivePro/Date.html","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L13"},"def":{"name":"duration","visibility":"Public","body":"end_date - start_date"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","path":"TwentyFiveLivePro/Date/Converter.html","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Date","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L24"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_rfc3339(value.read_string)"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L20"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_rfc3339)"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models","path":"TwentyFiveLivePro/Models.html","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L5"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L4"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L4"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"reservations:Reservations-instance-method","name":"reservations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations","return_type":"Reservations","visibility":"Public","body":"@reservations"}},{"html_id":"reservations=(reservations:Reservations)-instance-method","name":"reservations=","abstract":false,"args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"args_string":"(reservations : Reservations)","args_html":"(reservations : Reservations)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations=","args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"visibility":"Public","body":"@reservations = reservations"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Attribute","path":"TwentyFiveLivePro/Models/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","path":"TwentyFiveLivePro/Models/Availability.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","path":"TwentyFiveLivePro/Models/Availability/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:String-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id","return_type":"String","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:String)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"args_string":"(request_id : String)","args_html":"(request_id : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","path":"TwentyFiveLivePro/Models/Availability/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data/Space","path":"TwentyFiveLivePro/Models/Availability/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"available=(available:Bool)-instance-method","name":"available=","abstract":false,"args":[{"name":"available","external_name":"available","restriction":"Bool"}],"args_string":"(available : Bool)","args_html":"(available : Bool)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available=","args":[{"name":"available","external_name":"available","restriction":"Bool"}],"visibility":"Public","body":"@available = available"}},{"html_id":"conflict_type:Int64|Nil-instance-method","name":"conflict_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conflict_type"}},{"html_id":"conflict_type=(conflict_type:Int64|Nil)-instance-method","name":"conflict_type=","abstract":false,"args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"args_string":"(conflict_type : Int64 | Nil)","args_html":"(conflict_type : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type=","args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conflict_type = conflict_type"}},{"html_id":"dates:Array(Hash(String,JSON::Any))-instance-method","name":"dates","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates","return_type":"Array(Hash(String, JSON::Any))","visibility":"Public","body":"@dates"}},{"html_id":"dates=(dates:Array(Hash(String,JSON::Any)))-instance-method","name":"dates=","abstract":false,"args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"args_string":"(dates : Array(Hash(String, JSON::Any)))","args_html":"(dates : Array(Hash(String, JSON::Any)))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates=","args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"visibility":"Public","body":"@dates = dates"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_types:Array(Expanded::Conflict)|Nil-instance-method","name":"conflict_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types","return_type":"Array(Expanded::Conflict) | ::Nil","visibility":"Public","body":"@conflict_types"}},{"html_id":"conflict_types=(conflict_types:Array(Expanded::Conflict)|Nil)-instance-method","name":"conflict_types=","abstract":false,"args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"args_string":"(conflict_types : Array(Expanded::Conflict) | Nil)","args_html":"(conflict_types : Array(Expanded::Conflict) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types=","args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"visibility":"Public","body":"@conflict_types = conflict_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Category","path":"TwentyFiveLivePro/Models/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"inherit_code:Int64|Nil-instance-method","name":"inherit_code","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code","return_type":"Int64 | ::Nil","visibility":"Public","body":"@inherit_code"}},{"html_id":"inherit_code=(inherit_code:Int64|Nil)-instance-method","name":"inherit_code=","abstract":false,"args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"args_string":"(inherit_code : Int64 | Nil)","args_html":"(inherit_code : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code=","args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@inherit_code = inherit_code"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Event","path":"TwentyFiveLivePro/Models/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","path":"TwentyFiveLivePro/Models/EventDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","path":"TwentyFiveLivePro/Models/EventDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"args_string":"(id : Int64 | Nil)","args_html":"(id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Event)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items","return_type":"Array(Event)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Event))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"args_string":"(items : Array(Event))","args_html":"(items : Array(Event))","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"priority:Int64-instance-method","name":"priority","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority","return_type":"Int64","visibility":"Public","body":"@priority"}},{"html_id":"priority=(priority:Int64)-instance-method","name":"priority=","abstract":false,"args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"args_string":"(priority : Int64)","args_html":"(priority : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority=","args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"visibility":"Public","body":"@priority = priority"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"event_types:Array(Expanded::EventType)|Nil-instance-method","name":"event_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types","return_type":"Array(Expanded::EventType) | ::Nil","visibility":"Public","body":"@event_types"}},{"html_id":"event_types=(event_types:Array(Expanded::EventType)|Nil)-instance-method","name":"event_types=","abstract":false,"args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"args_string":"(event_types : Array(Expanded::EventType) | Nil)","args_html":"(event_types : Array(Expanded::EventType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types=","args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"visibility":"Public","body":"@event_types = event_types"}},{"html_id":"organizations:Array(Expanded::Organization)|Nil-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations","return_type":"Array(Expanded::Organization) | ::Nil","visibility":"Public","body":"@organizations"}},{"html_id":"organizations=(organizations:Array(Expanded::Organization)|Nil)-instance-method","name":"organizations=","abstract":false,"args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"args_string":"(organizations : Array(Expanded::Organization) | Nil)","args_html":"(organizations : Array(Expanded::Organization) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations=","args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"visibility":"Public","body":"@organizations = organizations"}},{"html_id":"parent_nodes:Array(Expanded::ParentNode)|Nil-instance-method","name":"parent_nodes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes","return_type":"Array(Expanded::ParentNode) | ::Nil","visibility":"Public","body":"@parent_nodes"}},{"html_id":"parent_nodes=(parent_nodes:Array(Expanded::ParentNode)|Nil)-instance-method","name":"parent_nodes=","abstract":false,"args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"args_string":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","args_html":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes=","args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"visibility":"Public","body":"@parent_nodes = parent_nodes"}},{"html_id":"resources:Array(Expanded::Resource)|Nil-instance-method","name":"resources","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources","return_type":"Array(Expanded::Resource) | ::Nil","visibility":"Public","body":"@resources"}},{"html_id":"resources=(resources:Array(Expanded::Resource)|Nil)-instance-method","name":"resources=","abstract":false,"args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"args_string":"(resources : Array(Expanded::Resource) | Nil)","args_html":"(resources : Array(Expanded::Resource) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources=","args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"visibility":"Public","body":"@resources = resources"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"spaces:Array(Expanded::Space)|Nil-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces","return_type":"Array(Expanded::Space) | ::Nil","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Expanded::Space)|Nil)-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"args_string":"(spaces : Array(Expanded::Space) | Nil)","args_html":"(spaces : Array(Expanded::Space) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"states:Array(Expanded::State)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states","return_type":"Array(Expanded::State) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"states=(states:Array(Expanded::State)|Nil)-instance-method","name":"states=","abstract":false,"args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"args_string":"(states : Array(Expanded::State) | Nil)","args_html":"(states : Array(Expanded::State) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states=","args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"visibility":"Public","body":"@states = states"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","path":"TwentyFiveLivePro/Models/Expanded.html","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Attribute","path":"TwentyFiveLivePro/Models/Expanded/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}},{"html_id":"attribute_name:String-instance-method","name":"attribute_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name","return_type":"String","visibility":"Public","body":"@attribute_name"}},{"html_id":"attribute_name=(attribute_name:String)-instance-method","name":"attribute_name=","abstract":false,"args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"args_string":"(attribute_name : String)","args_html":"(attribute_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name=","args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"visibility":"Public","body":"@attribute_name = attribute_name"}},{"html_id":"attribute_type:String|Nil-instance-method","name":"attribute_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type","return_type":"String | ::Nil","visibility":"Public","body":"@attribute_type"}},{"html_id":"attribute_type=(attribute_type:String|Nil)-instance-method","name":"attribute_type=","abstract":false,"args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"args_string":"(attribute_type : String | Nil)","args_html":"(attribute_type : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type=","args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attribute_type = attribute_type"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Category","path":"TwentyFiveLivePro/Models/Expanded/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"category_name:String-instance-method","name":"category_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name","return_type":"String","visibility":"Public","body":"@category_name"}},{"html_id":"category_name=(category_name:String)-instance-method","name":"category_name=","abstract":false,"args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"args_string":"(category_name : String)","args_html":"(category_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name=","args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"visibility":"Public","body":"@category_name = category_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Conflict","path":"TwentyFiveLivePro/Models/Expanded/Conflict.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_type_description:String-instance-method","name":"conflict_type_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description","return_type":"String","visibility":"Public","body":"@conflict_type_description"}},{"html_id":"conflict_type_description=(conflict_type_description:String)-instance-method","name":"conflict_type_description=","abstract":false,"args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"args_string":"(conflict_type_description : String)","args_html":"(conflict_type_description : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description=","args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"visibility":"Public","body":"@conflict_type_description = conflict_type_description"}},{"html_id":"conflict_type_id:Int64-instance-method","name":"conflict_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id","return_type":"Int64","visibility":"Public","body":"@conflict_type_id"}},{"html_id":"conflict_type_id=(conflict_type_id:Int64)-instance-method","name":"conflict_type_id=","abstract":false,"args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"args_string":"(conflict_type_id : Int64)","args_html":"(conflict_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id=","args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"visibility":"Public","body":"@conflict_type_id = conflict_type_id"}},{"html_id":"conflict_type_name:String-instance-method","name":"conflict_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name","return_type":"String","visibility":"Public","body":"@conflict_type_name"}},{"html_id":"conflict_type_name=(conflict_type_name:String)-instance-method","name":"conflict_type_name=","abstract":false,"args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"args_string":"(conflict_type_name : String)","args_html":"(conflict_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name=","args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"visibility":"Public","body":"@conflict_type_name = conflict_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Contact","path":"TwentyFiveLivePro/Models/Expanded/Contact.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64|Nil-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64|Nil)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"args_string":"(contact_id : Int64 | Nil)","args_html":"(contact_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"etag:String|Nil-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag","return_type":"String | ::Nil","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String|Nil)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"args_string":"(etag : String | Nil)","args_html":"(etag : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"family_name:String|Nil-instance-method","name":"family_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name","return_type":"String | ::Nil","visibility":"Public","body":"@family_name"}},{"html_id":"family_name=(family_name:String|Nil)-instance-method","name":"family_name=","abstract":false,"args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"args_string":"(family_name : String | Nil)","args_html":"(family_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name=","args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family_name = family_name"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/EventType","path":"TwentyFiveLivePro/Models/Expanded/EventType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::EventType","name":"EventType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"type_id:Int64-instance-method","name":"type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id","return_type":"Int64","visibility":"Public","body":"@type_id"}},{"html_id":"type_id=(type_id:Int64)-instance-method","name":"type_id=","abstract":false,"args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"args_string":"(type_id : Int64)","args_html":"(type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id=","args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"visibility":"Public","body":"@type_id = type_id"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Feature","path":"TwentyFiveLivePro/Models/Expanded/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"feature_name:String-instance-method","name":"feature_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name","return_type":"String","visibility":"Public","body":"@feature_name"}},{"html_id":"feature_name=(feature_name:String)-instance-method","name":"feature_name=","abstract":false,"args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"args_string":"(feature_name : String)","args_html":"(feature_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name=","args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"visibility":"Public","body":"@feature_name = feature_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Layout","path":"TwentyFiveLivePro/Models/Expanded/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name","return_type":"String","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"args_string":"(layout_name : String)","args_html":"(layout_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"visibility":"Public","body":"@layout_name = layout_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Organization","path":"TwentyFiveLivePro/Models/Expanded/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/OrganizationType","path":"TwentyFiveLivePro/Models/Expanded/OrganizationType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::OrganizationType","name":"OrganizationType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"organization_type_name:String-instance-method","name":"organization_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name","return_type":"String","visibility":"Public","body":"@organization_type_name"}},{"html_id":"organization_type_name=(organization_type_name:String)-instance-method","name":"organization_type_name=","abstract":false,"args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"args_string":"(organization_type_name : String)","args_html":"(organization_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name=","args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"visibility":"Public","body":"@organization_type_name = organization_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/ParentNode","path":"TwentyFiveLivePro/Models/Expanded/ParentNode.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::ParentNode","name":"ParentNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_dt:String-instance-method","name":"end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt","return_type":"String","visibility":"Public","body":"@end_dt"}},{"html_id":"end_dt=(end_dt:String)-instance-method","name":"end_dt=","abstract":false,"args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"args_string":"(end_dt : String)","args_html":"(end_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt=","args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"visibility":"Public","body":"@end_dt = end_dt"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"locator:String-instance-method","name":"locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator","return_type":"String","visibility":"Public","body":"@locator"}},{"html_id":"locator=(locator:String)-instance-method","name":"locator=","abstract":false,"args":[{"name":"locator","external_name":"locator","restriction":"String"}],"args_string":"(locator : String)","args_html":"(locator : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator=","args":[{"name":"locator","external_name":"locator","restriction":"String"}],"visibility":"Public","body":"@locator = locator"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"start_dt:String-instance-method","name":"start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt","return_type":"String","visibility":"Public","body":"@start_dt"}},{"html_id":"start_dt=(start_dt:String)-instance-method","name":"start_dt=","abstract":false,"args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"args_string":"(start_dt : String)","args_html":"(start_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt=","args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"visibility":"Public","body":"@start_dt = start_dt"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Resource","path":"TwentyFiveLivePro/Models/Expanded/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"resource_id:Int64-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id","return_type":"Int64","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:Int64)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"args_string":"(resource_id : Int64)","args_html":"(resource_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Role","path":"TwentyFiveLivePro/Models/Expanded/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}},{"html_id":"role_name:String-instance-method","name":"role_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name","return_type":"String","visibility":"Public","body":"@role_name"}},{"html_id":"role_name=(role_name:String)-instance-method","name":"role_name=","abstract":false,"args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"args_string":"(role_name : String)","args_html":"(role_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name=","args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"visibility":"Public","body":"@role_name = role_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Space","path":"TwentyFiveLivePro/Models/Expanded/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name","return_type":"String","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"args_string":"(space_formal_name : String)","args_html":"(space_formal_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/State","path":"TwentyFiveLivePro/Models/Expanded/State.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"state:Int64-instance-method","name":"state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state","return_type":"Int64","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int64)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int64"}],"args_string":"(state : Int64)","args_html":"(state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int64"}],"visibility":"Public","body":"@state = state"}},{"html_id":"state_name:String-instance-method","name":"state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name","return_type":"String","visibility":"Public","body":"@state_name"}},{"html_id":"state_name=(state_name:String)-instance-method","name":"state_name=","abstract":false,"args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"args_string":"(state_name : String)","args_html":"(state_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name=","args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"visibility":"Public","body":"@state_name = state_name"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Feature","path":"TwentyFiveLivePro/Models/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"quantity:Int64-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity","return_type":"Int64","visibility":"Public","body":"@quantity"}},{"html_id":"quantity=(quantity:Int64)-instance-method","name":"quantity=","abstract":false,"args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"args_string":"(quantity : Int64)","args_html":"(quantity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity=","args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"visibility":"Public","body":"@quantity = quantity"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Layout","path":"TwentyFiveLivePro/Models/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default_layout:Bool-instance-method","name":"default_layout","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout","return_type":"Bool","visibility":"Public","body":"@default_layout"}},{"html_id":"default_layout=(default_layout:Bool)-instance-method","name":"default_layout=","abstract":false,"args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"args_string":"(default_layout : Bool)","args_html":"(default_layout : Bool)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout=","args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"visibility":"Public","body":"@default_layout = default_layout"}},{"html_id":"layout_capacity:Int64-instance-method","name":"layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity","return_type":"Int64","visibility":"Public","body":"@layout_capacity"}},{"html_id":"layout_capacity=(layout_capacity:Int64)-instance-method","name":"layout_capacity=","abstract":false,"args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"args_string":"(layout_capacity : Int64)","args_html":"(layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity=","args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@layout_capacity = layout_capacity"}},{"html_id":"layout_diagram_id:Int64|Nil-instance-method","name":"layout_diagram_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_diagram_id"}},{"html_id":"layout_diagram_id=(layout_diagram_id:Int64|Nil)-instance-method","name":"layout_diagram_id=","abstract":false,"args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_diagram_id : Int64 | Nil)","args_html":"(layout_diagram_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id=","args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_diagram_id = layout_diagram_id"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_photo_id:Int64|Nil-instance-method","name":"layout_photo_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_photo_id"}},{"html_id":"layout_photo_id=(layout_photo_id:Int64|Nil)-instance-method","name":"layout_photo_id=","abstract":false,"args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_photo_id : Int64 | Nil)","args_html":"(layout_photo_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id=","args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_photo_id = layout_photo_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Organization","path":"TwentyFiveLivePro/Models/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String|Nil-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title","return_type":"String | ::Nil","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String|Nil)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"args_string":"(organization_title : String | Nil)","args_html":"(organization_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64|Nil-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64|Nil)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"args_string":"(organization_type_id : Int64 | Nil)","args_html":"(organization_type_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","path":"TwentyFiveLivePro/Models/OrganizationDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Organization)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items","return_type":"Array(Organization)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Organization))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"args_string":"(items : Array(Organization))","args_html":"(items : Array(Organization))","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title","return_type":"String","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"args_string":"(organization_title : String)","args_html":"(organization_title : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_categories:Array(Expanded::Category)|Nil-instance-method","name":"organization_categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@organization_categories"}},{"html_id":"organization_categories=(organization_categories:Array(Expanded::Category)|Nil)-instance-method","name":"organization_categories=","abstract":false,"args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(organization_categories : Array(Expanded::Category) | Nil)","args_html":"(organization_categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories=","args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@organization_categories = organization_categories"}},{"html_id":"organization_types:Array(Expanded::OrganizationType)|Nil-instance-method","name":"organization_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types","return_type":"Array(Expanded::OrganizationType) | ::Nil","visibility":"Public","body":"@organization_types"}},{"html_id":"organization_types=(organization_types:Array(Expanded::OrganizationType)|Nil)-instance-method","name":"organization_types=","abstract":false,"args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"args_string":"(organization_types : Array(Expanded::OrganizationType) | Nil)","args_html":"(organization_types : Array(Expanded::OrganizationType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types=","args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"visibility":"Public","body":"@organization_types = organization_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","path":"TwentyFiveLivePro/Models/PaginatedResponse.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_item_count:Int64-instance-method","name":"current_item_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count","return_type":"Int64","visibility":"Public","body":"@current_item_count"}},{"html_id":"current_item_count=(current_item_count:Int64)-instance-method","name":"current_item_count=","abstract":false,"args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"args_string":"(current_item_count : Int64)","args_html":"(current_item_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count=","args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"visibility":"Public","body":"@current_item_count = current_item_count"}},{"html_id":"items_per_page:Int64-instance-method","name":"items_per_page","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page","return_type":"Int64","visibility":"Public","body":"@items_per_page"}},{"html_id":"items_per_page=(items_per_page:Int64)-instance-method","name":"items_per_page=","abstract":false,"args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"args_string":"(items_per_page : Int64)","args_html":"(items_per_page : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page=","args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"visibility":"Public","body":"@items_per_page = items_per_page"}},{"html_id":"page_index:Int64-instance-method","name":"page_index","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index","return_type":"Int64","visibility":"Public","body":"@page_index"}},{"html_id":"page_index=(page_index:Int64)-instance-method","name":"page_index=","abstract":false,"args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"args_string":"(page_index : Int64)","args_html":"(page_index : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index=","args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"visibility":"Public","body":"@page_index = page_index"}},{"html_id":"paginate_key:Int64-instance-method","name":"paginate_key","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key","return_type":"Int64","visibility":"Public","body":"@paginate_key"}},{"html_id":"paginate_key=(paginate_key:Int64)-instance-method","name":"paginate_key=","abstract":false,"args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"args_string":"(paginate_key : Int64)","args_html":"(paginate_key : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key=","args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"visibility":"Public","body":"@paginate_key = paginate_key"}},{"html_id":"paging_link_template:String-instance-method","name":"paging_link_template","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template","return_type":"String","visibility":"Public","body":"@paging_link_template"}},{"html_id":"paging_link_template=(paging_link_template:String)-instance-method","name":"paging_link_template=","abstract":false,"args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"args_string":"(paging_link_template : String)","args_html":"(paging_link_template : String)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template=","args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"visibility":"Public","body":"@paging_link_template = paging_link_template"}},{"html_id":"total_items:Int64-instance-method","name":"total_items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items","return_type":"Int64","visibility":"Public","body":"@total_items"}},{"html_id":"total_items=(total_items:Int64)-instance-method","name":"total_items=","abstract":false,"args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"args_string":"(total_items : Int64)","args_html":"(total_items : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items=","args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"visibility":"Public","body":"@total_items = total_items"}},{"html_id":"total_pages:Int64-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages","return_type":"Int64","visibility":"Public","body":"@total_pages"}},{"html_id":"total_pages=(total_pages:Int64)-instance-method","name":"total_pages=","abstract":false,"args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"args_string":"(total_pages : Int64)","args_html":"(total_pages : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages=","args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"visibility":"Public","body":"@total_pages = total_pages"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","path":"TwentyFiveLivePro/Models/Reservations.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"engine:String|Nil-instance-method","name":"engine","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine","return_type":"String | ::Nil","visibility":"Public","body":"@engine"}},{"html_id":"engine=(engine:String|Nil)-instance-method","name":"engine=","abstract":false,"args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"args_string":"(engine : String | Nil)","args_html":"(engine : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine=","args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"visibility":"Public","body":"@engine = engine"}},{"html_id":"reservation:Array(Data)-instance-method","name":"reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation","return_type":"Array(Data)","visibility":"Public","body":"@reservation"}},{"html_id":"reservation=(reservation:Array(Data))-instance-method","name":"reservation=","abstract":false,"args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"args_string":"(reservation : Array(Data))","args_html":"(reservation : Array(Data))","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation=","args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"visibility":"Public","body":"@reservation = reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","path":"TwentyFiveLivePro/Models/Reservations/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_end_dt:Date-instance-method","name":"event_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt","return_type":"Date","visibility":"Public","body":"@event_end_dt"}},{"html_id":"event_end_dt=(event_end_dt:Date)-instance-method","name":"event_end_dt=","abstract":false,"args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"args_string":"(event_end_dt : Date)","args_html":"(event_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt=","args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"visibility":"Public","body":"@event_end_dt = event_end_dt"}},{"html_id":"event_id:Int64-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id","return_type":"Int64","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:Int64)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"args_string":"(event_id : Int64)","args_html":"(event_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"event_locator:String|Nil-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator","return_type":"String | ::Nil","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String|Nil)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"args_string":"(event_locator : String | Nil)","args_html":"(event_locator : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"event_name:String|Nil-instance-method","name":"event_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_name"}},{"html_id":"event_name=(event_name:String|Nil)-instance-method","name":"event_name=","abstract":false,"args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"args_string":"(event_name : String | Nil)","args_html":"(event_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name=","args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_name = event_name"}},{"html_id":"event_start_dt:Date-instance-method","name":"event_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt","return_type":"Date","visibility":"Public","body":"@event_start_dt"}},{"html_id":"event_start_dt=(event_start_dt:Date)-instance-method","name":"event_start_dt=","abstract":false,"args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"args_string":"(event_start_dt : Date)","args_html":"(event_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt=","args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"visibility":"Public","body":"@event_start_dt = event_start_dt"}},{"html_id":"event_title:String|Nil-instance-method","name":"event_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title","return_type":"String | ::Nil","visibility":"Public","body":"@event_title"}},{"html_id":"event_title=(event_title:String|Nil)-instance-method","name":"event_title=","abstract":false,"args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"args_string":"(event_title : String | Nil)","args_html":"(event_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title=","args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_title = event_title"}},{"html_id":"event_type_class:String|Nil-instance-method","name":"event_type_class","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_class"}},{"html_id":"event_type_class=(event_type_class:String|Nil)-instance-method","name":"event_type_class=","abstract":false,"args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"args_string":"(event_type_class : String | Nil)","args_html":"(event_type_class : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class=","args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_class = event_type_class"}},{"html_id":"event_type_name:String|Nil-instance-method","name":"event_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_name"}},{"html_id":"event_type_name=(event_type_name:String|Nil)-instance-method","name":"event_type_name=","abstract":false,"args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"args_string":"(event_type_name : String | Nil)","args_html":"(event_type_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name=","args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_name = event_type_name"}},{"html_id":"expected_count:Int64-instance-method","name":"expected_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count","return_type":"Int64","visibility":"Public","body":"@expected_count"}},{"html_id":"expected_count=(expected_count:Int64)-instance-method","name":"expected_count=","abstract":false,"args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"args_string":"(expected_count : Int64)","args_html":"(expected_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count=","args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"visibility":"Public","body":"@expected_count = expected_count"}},{"html_id":"last_mod_dt:Date-instance-method","name":"last_mod_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt","return_type":"Date","visibility":"Public","body":"@last_mod_dt"}},{"html_id":"last_mod_dt=(last_mod_dt:Date)-instance-method","name":"last_mod_dt=","abstract":false,"args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"args_string":"(last_mod_dt : Date)","args_html":"(last_mod_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt=","args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"visibility":"Public","body":"@last_mod_dt = last_mod_dt"}},{"html_id":"last_mod_user:String|Nil-instance-method","name":"last_mod_user","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user","return_type":"String | ::Nil","visibility":"Public","body":"@last_mod_user"}},{"html_id":"last_mod_user=(last_mod_user:String|Nil)-instance-method","name":"last_mod_user=","abstract":false,"args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"args_string":"(last_mod_user : String | Nil)","args_html":"(last_mod_user : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user=","args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_mod_user = last_mod_user"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String|Nil-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name","return_type":"String | ::Nil","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String|Nil)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"args_string":"(organization_name : String | Nil)","args_html":"(organization_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"post_event_dt:Date-instance-method","name":"post_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt","return_type":"Date","visibility":"Public","body":"@post_event_dt"}},{"html_id":"post_event_dt=(post_event_dt:Date)-instance-method","name":"post_event_dt=","abstract":false,"args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"args_string":"(post_event_dt : Date)","args_html":"(post_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt=","args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"visibility":"Public","body":"@post_event_dt = post_event_dt"}},{"html_id":"pre_event_dt:Date-instance-method","name":"pre_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt","return_type":"Date","visibility":"Public","body":"@pre_event_dt"}},{"html_id":"pre_event_dt=(pre_event_dt:Date)-instance-method","name":"pre_event_dt=","abstract":false,"args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"args_string":"(pre_event_dt : Date)","args_html":"(pre_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt=","args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"visibility":"Public","body":"@pre_event_dt = pre_event_dt"}},{"html_id":"profile_description:String-instance-method","name":"profile_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description","return_type":"String","visibility":"Public","body":"@profile_description"}},{"html_id":"profile_description=(profile_description:String)-instance-method","name":"profile_description=","abstract":false,"args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"args_string":"(profile_description : String)","args_html":"(profile_description : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description=","args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"visibility":"Public","body":"@profile_description = profile_description"}},{"html_id":"profile_id:Int64-instance-method","name":"profile_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id","return_type":"Int64","visibility":"Public","body":"@profile_id"}},{"html_id":"profile_id=(profile_id:Int64)-instance-method","name":"profile_id=","abstract":false,"args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"args_string":"(profile_id : Int64)","args_html":"(profile_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id=","args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"visibility":"Public","body":"@profile_id = profile_id"}},{"html_id":"profile_name:String|Nil-instance-method","name":"profile_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name","return_type":"String | ::Nil","visibility":"Public","body":"@profile_name"}},{"html_id":"profile_name=(profile_name:String|Nil)-instance-method","name":"profile_name=","abstract":false,"args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"args_string":"(profile_name : String | Nil)","args_html":"(profile_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name=","args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@profile_name = profile_name"}},{"html_id":"registered_count:Int64-instance-method","name":"registered_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count","return_type":"Int64","visibility":"Public","body":"@registered_count"}},{"html_id":"registered_count=(registered_count:Int64)-instance-method","name":"registered_count=","abstract":false,"args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"args_string":"(registered_count : Int64)","args_html":"(registered_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count=","args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"visibility":"Public","body":"@registered_count = registered_count"}},{"html_id":"registration_label:String|Nil-instance-method","name":"registration_label","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label","return_type":"String | ::Nil","visibility":"Public","body":"@registration_label"}},{"html_id":"registration_label=(registration_label:String|Nil)-instance-method","name":"registration_label=","abstract":false,"args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"args_string":"(registration_label : String | Nil)","args_html":"(registration_label : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label=","args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"visibility":"Public","body":"@registration_label = registration_label"}},{"html_id":"registration_url:String-instance-method","name":"registration_url","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url","return_type":"String","visibility":"Public","body":"@registration_url"}},{"html_id":"registration_url=(registration_url:String)-instance-method","name":"registration_url=","abstract":false,"args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"args_string":"(registration_url : String)","args_html":"(registration_url : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url=","args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"visibility":"Public","body":"@registration_url = registration_url"}},{"html_id":"reservation_comment_id:String|Nil-instance-method","name":"reservation_comment_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comment_id"}},{"html_id":"reservation_comment_id=(reservation_comment_id:String|Nil)-instance-method","name":"reservation_comment_id=","abstract":false,"args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"args_string":"(reservation_comment_id : String | Nil)","args_html":"(reservation_comment_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id=","args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comment_id = reservation_comment_id"}},{"html_id":"reservation_comments:String|Nil-instance-method","name":"reservation_comments","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comments"}},{"html_id":"reservation_comments=(reservation_comments:String|Nil)-instance-method","name":"reservation_comments=","abstract":false,"args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"args_string":"(reservation_comments : String | Nil)","args_html":"(reservation_comments : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments=","args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comments = reservation_comments"}},{"html_id":"reservation_end_dt:Date-instance-method","name":"reservation_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt","return_type":"Date","visibility":"Public","body":"@reservation_end_dt"}},{"html_id":"reservation_end_dt=(reservation_end_dt:Date)-instance-method","name":"reservation_end_dt=","abstract":false,"args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"args_string":"(reservation_end_dt : Date)","args_html":"(reservation_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt=","args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_end_dt = reservation_end_dt"}},{"html_id":"reservation_id:Int64-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id","return_type":"Int64","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:Int64)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"args_string":"(reservation_id : Int64)","args_html":"(reservation_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"reservation_start_dt:Date-instance-method","name":"reservation_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt","return_type":"Date","visibility":"Public","body":"@reservation_start_dt"}},{"html_id":"reservation_start_dt=(reservation_start_dt:Date)-instance-method","name":"reservation_start_dt=","abstract":false,"args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"args_string":"(reservation_start_dt : Date)","args_html":"(reservation_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt=","args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_start_dt = reservation_start_dt"}},{"html_id":"reservation_state:Int64-instance-method","name":"reservation_state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state","return_type":"Int64","visibility":"Public","body":"@reservation_state"}},{"html_id":"reservation_state=(reservation_state:Int64)-instance-method","name":"reservation_state=","abstract":false,"args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"args_string":"(reservation_state : Int64)","args_html":"(reservation_state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state=","args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"visibility":"Public","body":"@reservation_state = reservation_state"}},{"html_id":"reservation_state_name:String|Nil-instance-method","name":"reservation_state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_state_name"}},{"html_id":"reservation_state_name=(reservation_state_name:String|Nil)-instance-method","name":"reservation_state_name=","abstract":false,"args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"args_string":"(reservation_state_name : String | Nil)","args_html":"(reservation_state_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name=","args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_state_name = reservation_state_name"}},{"html_id":"space_reservation:Space-instance-method","name":"space_reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation","return_type":"Space","visibility":"Public","body":"@space_reservation"}},{"html_id":"space_reservation=(space_reservation:Space)-instance-method","name":"space_reservation=","abstract":false,"args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"args_string":"(space_reservation : Space)","args_html":"(space_reservation : Space)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation=","args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"visibility":"Public","body":"@space_reservation = space_reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data/Space","path":"TwentyFiveLivePro/Models/Reservations/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual_count:String|Nil-instance-method","name":"actual_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count","return_type":"String | ::Nil","visibility":"Public","body":"@actual_count"}},{"html_id":"actual_count=(actual_count:String|Nil)-instance-method","name":"actual_count=","abstract":false,"args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"args_string":"(actual_count : String | Nil)","args_html":"(actual_count : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count=","args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"visibility":"Public","body":"@actual_count = actual_count"}},{"html_id":"default_layout_capacity:String|Nil-instance-method","name":"default_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity","return_type":"String | ::Nil","visibility":"Public","body":"@default_layout_capacity"}},{"html_id":"default_layout_capacity=(default_layout_capacity:String|Nil)-instance-method","name":"default_layout_capacity=","abstract":false,"args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"args_string":"(default_layout_capacity : String | Nil)","args_html":"(default_layout_capacity : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity=","args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default_layout_capacity = default_layout_capacity"}},{"html_id":"formal_name:String|Nil-instance-method","name":"formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@formal_name"}},{"html_id":"formal_name=(formal_name:String|Nil)-instance-method","name":"formal_name=","abstract":false,"args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"args_string":"(formal_name : String | Nil)","args_html":"(formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name=","args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@formal_name = formal_name"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String|Nil-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name","return_type":"String | ::Nil","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String|Nil)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"args_string":"(layout_name : String | Nil)","args_html":"(layout_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@layout_name = layout_name"}},{"html_id":"selected_layout_capacity:Int64-instance-method","name":"selected_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity","return_type":"Int64","visibility":"Public","body":"@selected_layout_capacity"}},{"html_id":"selected_layout_capacity=(selected_layout_capacity:Int64)-instance-method","name":"selected_layout_capacity=","abstract":false,"args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"args_string":"(selected_layout_capacity : Int64)","args_html":"(selected_layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity=","args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@selected_layout_capacity = selected_layout_capacity"}},{"html_id":"shared:String|Nil-instance-method","name":"shared","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared","return_type":"String | ::Nil","visibility":"Public","body":"@shared"}},{"html_id":"shared=(shared:String|Nil)-instance-method","name":"shared=","abstract":false,"args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"args_string":"(shared : String | Nil)","args_html":"(shared : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared=","args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"visibility":"Public","body":"@shared = shared"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_instruction_id:String|Nil-instance-method","name":"space_instruction_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_instruction_id"}},{"html_id":"space_instruction_id=(space_instruction_id:String|Nil)-instance-method","name":"space_instruction_id=","abstract":false,"args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"args_string":"(space_instruction_id : String | Nil)","args_html":"(space_instruction_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id=","args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instruction_id = space_instruction_id"}},{"html_id":"space_instructions:String|Nil-instance-method","name":"space_instructions","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions","return_type":"String | ::Nil","visibility":"Public","body":"@space_instructions"}},{"html_id":"space_instructions=(space_instructions:String|Nil)-instance-method","name":"space_instructions=","abstract":false,"args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"args_string":"(space_instructions : String | Nil)","args_html":"(space_instructions : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions=","args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instructions = space_instructions"}},{"html_id":"space_name:String|Nil-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String|Nil)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"args_string":"(space_name : String | Nil)","args_html":"(space_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_name = space_name"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Resource","path":"TwentyFiveLivePro/Models/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","path":"TwentyFiveLivePro/Models/ResourceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","path":"TwentyFiveLivePro/Models/ResourceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Resource)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items","return_type":"Array(Resource)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Resource))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"args_string":"(items : Array(Resource))","args_html":"(items : Array(Resource))","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Role","path":"TwentyFiveLivePro/Models/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id","return_type":"Int64","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"args_string":"(contact_id : Int64)","args_html":"(contact_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Space","path":"TwentyFiveLivePro/Models/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","path":"TwentyFiveLivePro/Models/SpaceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","path":"TwentyFiveLivePro/Models/SpaceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Space)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items","return_type":"Array(Space)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Space))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"args_string":"(items : Array(Space))","args_html":"(items : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"args_string":"(attributes : Array(Attribute) | Nil)","args_html":"(attributes : Array(Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"args_string":"(categories : Array(Category) | Nil)","args_html":"(categories : Array(Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"features:Array(Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features","return_type":"Array(Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"args_string":"(features : Array(Feature) | Nil)","args_html":"(features : Array(Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"layouts:Array(Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts","return_type":"Array(Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"args_string":"(layouts : Array(Layout) | Nil)","args_html":"(layouts : Array(Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"roles:Array(Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles","return_type":"Array(Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"args_string":"(roles : Array(Role) | Nil)","args_html":"(roles : Array(Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L70"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"features:Array(Expanded::Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features","return_type":"Array(Expanded::Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Expanded::Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"args_string":"(features : Array(Expanded::Feature) | Nil)","args_html":"(features : Array(Expanded::Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"layouts:Array(Expanded::Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts","return_type":"Array(Expanded::Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Expanded::Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"args_string":"(layouts : Array(Expanded::Layout) | Nil)","args_html":"(layouts : Array(Expanded::Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}}]}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/RoomSchedule","path":"TwentyFiveLivePro/RoomSchedule.html","kind":"class","full_name":"TwentyFiveLivePro::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L36"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local\n todays_events = fetch_events(today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y%m%d\"))\n todays_events.sort_by() do |__arg1|\n __arg1.date.duration\n end.reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.date.start_date\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by? do |__arg2|\n __arg2.date.start_date\n end\n previous_event = past_events.max_by? do |__arg3|\n __arg3.date.end_date\n end\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String,since:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"args_string":"(start_date : String, end_date : String, since : String)","args_html":"(start_date : String, end_date : String, since : String)","location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L80"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"visibility":"Public","body":"relevant_events = [] of Models::Event\nevents = Array(Models::Event).from_json((twenty_five_live_pro.list_events(1, 100, since, nil)).get.not_nil!.to_json)\nevents.each do |event|\n details = Models::EventDetail.from_json((twenty_five_live_pro.get_event_details(event.id, [\"all\"], [\"all\"])).get.not_nil!.to_json)\n if expanded_info = details.content.expanded_info\n if spaces = expanded_info.spaces\n if spaces.empty?\n next\n end\n if @space_id == spaces.first.space_id\n if event_data = details.content.data\n if event_items = event_data.items\n if event_items.empty?\n next\n end\n event_items.each do |event_item|\n if date = event_item.date\n if (date.start_date.to_rfc3339.includes?(start_date)) && (date.end_date.to_rfc3339.includes?(start_date))\n relevant_events.push(Models::Event.from_json(event_item.to_json))\n end\n end\n end\n end\n end\n end\n end\n end\nend\nrelevant_events\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@space_id = setting(String, :twenty_five_live_pro_space_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/Union","path":"Union.html","kind":"struct","full_name":"Union(*T)","name":"Union","abstract":false,"superclass":{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},"ancestors":[{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/http-params-serializable/src/http-params-serializable/ext/union.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/http-params-serializable/src/http-params-serializable/ext/union.cr#L2"},{"filename":"src/place/router/settings.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"FIXME: submit as PR to crystal standard lib to support this neatly","summary":"

FIXME submit as PR to crystal standard lib to support this neatly

","class_methods":[{"html_id":"from_json_object_key?(key:String)-class-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L171"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"{% for t in T %}\n instance = {{ t }}.from_json_object_key? key\n return instance unless instance.nil?\n {% end %}\nraise(JSON::ParseException.new(\"Couldn't parse #{self} from #{key}\", 176, 0))\n"}}]},{"html_id":"drivers/Vecos","path":"Vecos.html","kind":"module","full_name":"Vecos","name":"Vecos","abstract":false,"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L3"},{"filename":"src/vecos/releezme/booking.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L3"},{"filename":"src/vecos/releezme/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L3"},{"filename":"src/vecos/releezme/locker.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L3"},{"filename":"src/vecos/releezme/locker_bank.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L3"},{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L4"},{"filename":"src/vecos/releezme/locker_group.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L3"},{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L3"},{"filename":"src/vecos/releezme/locker_users.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L3"},{"filename":"src/vecos/releezme/paging.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L3"},{"filename":"src/vecos/releezme/section.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Vecos/Allocation","path":"Vecos/Allocation.html","kind":"struct","full_name":"Vecos::Allocation","name":"Allocation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/allocation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_by_locker_action_on_release?:Bool-instance-method","name":"allocated_by_locker_action_on_release?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L33"},"def":{"name":"allocated_by_locker_action_on_release?","return_type":"Bool","visibility":"Public","body":"@allocated_by_locker_action_on_release"}},{"html_id":"allocated_for_package?:Bool-instance-method","name":"allocated_for_package?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L30"},"def":{"name":"allocated_for_package?","return_type":"Bool","visibility":"Public","body":"@allocated_for_package"}},{"html_id":"dynamically_allocated?:Bool-instance-method","name":"dynamically_allocated?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L18"},"def":{"name":"dynamically_allocated?","return_type":"Bool","visibility":"Public","body":"@dynamically_allocated"}},{"html_id":"expiring:Time-instance-method","name":"expiring","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L24"},"def":{"name":"expiring","return_type":"Time","visibility":"Public","body":"@expiring"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L12"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"self_releasable?:Bool-instance-method","name":"self_releasable?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L15"},"def":{"name":"self_releasable?","return_type":"Bool","visibility":"Public","body":"@self_releasable"}},{"html_id":"shared_to_user?:Bool-instance-method","name":"shared_to_user?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L27"},"def":{"name":"shared_to_user?","return_type":"Bool","visibility":"Public","body":"@shared_to_user"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L21"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L9"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Booking","path":"Vecos/Booking.html","kind":"struct","full_name":"Vecos::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/booking.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/booking.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ending:Time-instance-method","name":"ending","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L26"},"def":{"name":"ending","return_type":"Time","visibility":"Public","body":"@ending"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L20"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L17"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L11"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L23"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}}]},{"html_id":"drivers/Vecos/Location","path":"Vecos/Location.html","kind":"struct","full_name":"Vecos::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/location.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"time_zone:String|Nil-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L14"},"def":{"name":"time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Vecos/Locker","path":"Vecos/Locker.html","kind":"struct","full_name":"Vecos::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blocked:Bool-instance-method","name":"blocked","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L20"},"def":{"name":"blocked","return_type":"Bool","visibility":"Public","body":"@blocked"}},{"html_id":"door_number:Int32-instance-method","name":"door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L35"},"def":{"name":"door_number","return_type":"Int32","visibility":"Public","body":"@door_number"}},{"html_id":"door_number_prefix:String-instance-method","name":"door_number_prefix","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L32"},"def":{"name":"door_number_prefix","return_type":"String","visibility":"Public","body":"@door_number_prefix"}},{"html_id":"dynamic_allocated:Bool|Nil-instance-method","name":"dynamic_allocated","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L41"},"def":{"name":"dynamic_allocated","return_type":"Bool | ::Nil","visibility":"Public","body":"@dynamic_allocated"}},{"html_id":"expires_date_time_utc:Time|Nil-instance-method","name":"expires_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L62"},"def":{"name":"expires_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@expires_date_time_utc"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L29"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_detected:Bool-instance-method","name":"is_detected","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L26"},"def":{"name":"is_detected","return_type":"Bool","visibility":"Public","body":"@is_detected"}},{"html_id":"is_shareable:Bool|Nil-instance-method","name":"is_shareable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L56"},"def":{"name":"is_shareable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shareable"}},{"html_id":"is_shared:Bool|Nil-instance-method","name":"is_shared","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L53"},"def":{"name":"is_shared","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shared"}},{"html_id":"is_usable:Bool-instance-method","name":"is_usable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L23"},"def":{"name":"is_usable","return_type":"Bool","visibility":"Public","body":"@is_usable"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_brick_id:String-instance-method","name":"locker_brick_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L17"},"def":{"name":"locker_brick_id","return_type":"String","visibility":"Public","body":"@locker_brick_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L11"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"number_of_allocations:Int32|Nil-instance-method","name":"number_of_allocations","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L47"},"def":{"name":"number_of_allocations","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_allocations"}},{"html_id":"number_of_digits_for_door_number:Int32-instance-method","name":"number_of_digits_for_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L68"},"def":{"name":"number_of_digits_for_door_number","return_type":"Int32","visibility":"Public","body":"@number_of_digits_for_door_number"}},{"html_id":"open_time:Int32-instance-method","name":"open_time","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L44"},"def":{"name":"open_time","return_type":"Int32","visibility":"Public","body":"@open_time"}},{"html_id":"self_release_allowed:Bool|Nil-instance-method","name":"self_release_allowed","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L38"},"def":{"name":"self_release_allowed","return_type":"Bool | ::Nil","visibility":"Public","body":"@self_release_allowed"}},{"html_id":"sequence_number:Int32-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L59"},"def":{"name":"sequence_number","return_type":"Int32","visibility":"Public","body":"@sequence_number"}},{"html_id":"shared_to_user:Bool|Nil-instance-method","name":"shared_to_user","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L50"},"def":{"name":"shared_to_user","return_type":"Bool | ::Nil","visibility":"Public","body":"@shared_to_user"}},{"html_id":"start_date_time_utc:Time|Nil-instance-method","name":"start_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L65"},"def":{"name":"start_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@start_date_time_utc"}}]},{"html_id":"drivers/Vecos/LockerBank","path":"Vecos/LockerBank.html","kind":"struct","full_name":"Vecos::LockerBank","name":"LockerBank","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L29"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L17"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"published:Bool-instance-method","name":"published","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L20"},"def":{"name":"published","return_type":"Bool","visibility":"Public","body":"@published"}},{"html_id":"random_allocation:Bool|Nil-instance-method","name":"random_allocation","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L23"},"def":{"name":"random_allocation","return_type":"Bool | ::Nil","visibility":"Public","body":"@random_allocation"}},{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L14"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}},{"html_id":"service_mode:Bool-instance-method","name":"service_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L26"},"def":{"name":"service_mode","return_type":"Bool","visibility":"Public","body":"@service_mode"}}]},{"html_id":"drivers/Vecos/LockerBankAndLockerGroup","path":"Vecos/LockerBankAndLockerGroup.html","kind":"struct","full_name":"Vecos::LockerBankAndLockerGroup","name":"LockerBankAndLockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"locker_bank:LockerBank-instance-method","name":"locker_bank","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L9"},"def":{"name":"locker_bank","return_type":"LockerBank","visibility":"Public","body":"@locker_bank"}},{"html_id":"locker_group:LockerGroup-instance-method","name":"locker_group","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L12"},"def":{"name":"locker_group","return_type":"LockerGroup","visibility":"Public","body":"@locker_group"}}]},{"html_id":"drivers/Vecos/LockerGroup","path":"Vecos/LockerGroup.html","kind":"struct","full_name":"Vecos::LockerGroup","name":"LockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"lock_mode:Int32-instance-method","name":"lock_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L14"},"def":{"name":"lock_mode","return_type":"Int32","visibility":"Public","body":"@lock_mode"}},{"html_id":"locker_booking_feature_enabled:Bool-instance-method","name":"locker_booking_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L17"},"def":{"name":"locker_booking_feature_enabled","return_type":"Bool","visibility":"Public","body":"@locker_booking_feature_enabled"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"postal_service_feature_enabled:Bool-instance-method","name":"postal_service_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L20"},"def":{"name":"postal_service_feature_enabled","return_type":"Bool","visibility":"Public","body":"@postal_service_feature_enabled"}}]},{"html_id":"drivers/Vecos/LockerGroupStatus","path":"Vecos/LockerGroupStatus.html","kind":"struct","full_name":"Vecos::LockerGroupStatus","name":"LockerGroupStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_dynamic_lockers:Int32-instance-method","name":"allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L26"},"def":{"name":"allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_dynamic_lockers"}},{"html_id":"allocated_static_lockers:Int32-instance-method","name":"allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L38"},"def":{"name":"allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_static_lockers"}},{"html_id":"available_dynamic_lockers:Int32-instance-method","name":"available_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L23"},"def":{"name":"available_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@available_dynamic_lockers"}},{"html_id":"available_static_lockers:Int32-instance-method","name":"available_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L35"},"def":{"name":"available_static_lockers","return_type":"Int32","visibility":"Public","body":"@available_static_lockers"}},{"html_id":"blocked_allocated_dynamic_lockers:Int32-instance-method","name":"blocked_allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L29"},"def":{"name":"blocked_allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_dynamic_lockers"}},{"html_id":"blocked_allocated_static_lockers:Int32-instance-method","name":"blocked_allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L41"},"def":{"name":"blocked_allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_static_lockers"}},{"html_id":"blocked_unallocated_dynamic_lockers:Int32-instance-method","name":"blocked_unallocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L32"},"def":{"name":"blocked_unallocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_dynamic_lockers"}},{"html_id":"blocked_unallocated_static_lockers:Int32-instance-method","name":"blocked_unallocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L44"},"def":{"name":"blocked_unallocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_static_lockers"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L8"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_group_name:String-instance-method","name":"locker_group_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L11"},"def":{"name":"locker_group_name","return_type":"String","visibility":"Public","body":"@locker_group_name"}},{"html_id":"public_lockers:Int32-instance-method","name":"public_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L20"},"def":{"name":"public_lockers","return_type":"Int32","visibility":"Public","body":"@public_lockers"}},{"html_id":"unusable_lockers:Int32-instance-method","name":"unusable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L17"},"def":{"name":"unusable_lockers","return_type":"Int32","visibility":"Public","body":"@unusable_lockers"}},{"html_id":"usable_lockers:Int32-instance-method","name":"usable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L14"},"def":{"name":"usable_lockers","return_type":"Int32","visibility":"Public","body":"@usable_lockers"}}]},{"html_id":"drivers/Vecos/LockerUsers","path":"Vecos/LockerUsers.html","kind":"struct","full_name":"Vecos::LockerUsers","name":"LockerUsers","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_users.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L17"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L11"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L14"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L20"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Paging","path":"Vecos/Paging.html","kind":"struct","full_name":"Vecos::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/paging.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/paging.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"first_item_on_page:Int32-instance-method","name":"first_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L8"},"def":{"name":"first_item_on_page","return_type":"Int32","visibility":"Public","body":"@first_item_on_page"}},{"html_id":"has_next_page:Bool-instance-method","name":"has_next_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L11"},"def":{"name":"has_next_page","return_type":"Bool","visibility":"Public","body":"@has_next_page"}},{"html_id":"has_previous_page:Bool-instance-method","name":"has_previous_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L14"},"def":{"name":"has_previous_page","return_type":"Bool","visibility":"Public","body":"@has_previous_page"}},{"html_id":"is_first_page:Bool-instance-method","name":"is_first_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L17"},"def":{"name":"is_first_page","return_type":"Bool","visibility":"Public","body":"@is_first_page"}},{"html_id":"is_last_page:Bool-instance-method","name":"is_last_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L20"},"def":{"name":"is_last_page","return_type":"Bool","visibility":"Public","body":"@is_last_page"}},{"html_id":"last_item_on_page:Int32-instance-method","name":"last_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L23"},"def":{"name":"last_item_on_page","return_type":"Int32","visibility":"Public","body":"@last_item_on_page"}},{"html_id":"page_count:Int32-instance-method","name":"page_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L26"},"def":{"name":"page_count","return_type":"Int32","visibility":"Public","body":"@page_count"}},{"html_id":"page_number:Int32-instance-method","name":"page_number","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L29"},"def":{"name":"page_number","return_type":"Int32","visibility":"Public","body":"@page_number"}},{"html_id":"page_size:Int32-instance-method","name":"page_size","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L32"},"def":{"name":"page_size","return_type":"Int32","visibility":"Public","body":"@page_size"}},{"html_id":"total_item_count:Int32-instance-method","name":"total_item_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L35"},"def":{"name":"total_item_count","return_type":"Int32","visibility":"Public","body":"@total_item_count"}}]},{"html_id":"drivers/Vecos/Releezme","path":"Vecos/Releezme.html","kind":"class","full_name":"Vecos::Releezme","name":"Releezme","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"bank(bank_id:String)-instance-method","name":"bank","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L174"},"def":{"name":"bank","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"LockerBank.from_json(fetch_item(\"/api/lockerbanks/#{bank_id}\"))"}},{"html_id":"bank_group_lockers_available(bank_id:String,group_id:String)-instance-method","name":"bank_group_lockers_available","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String)","args_html":"(bank_id : String, group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L187"},"def":{"name":"bank_group_lockers_available","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/#{group_id}/availablelockers?pageSize=200\")"}},{"html_id":"bank_groups(bank_id:String)-instance-method","name":"bank_groups","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L178"},"def":{"name":"bank_groups","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockergroups?pageSize=200\")"}},{"html_id":"bank_locker_allocations(bank_id:String)-instance-method","name":"bank_locker_allocations","doc":"NOTE:: Only accessible to System Control Clients","summary":"

NOTE : Only accessible to System Control Clients

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L192"},"def":{"name":"bank_locker_allocations","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/allocations?pageSize=200\")"}},{"html_id":"bank_lockers(bank_id:String)-instance-method","name":"bank_lockers","doc":"returns all the lockers in the bank without paging (but paging json is included)","summary":"

returns all the lockers in the bank without paging (but paging json is included)

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L183"},"def":{"name":"bank_lockers","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockers?pageSize=200\")"}},{"html_id":"banks-instance-method","name":"banks","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L170"},"def":{"name":"banks","visibility":"Public","body":"fetch_pages(\"/api/lockerbanks?pageSize=200\")"}},{"html_id":"bearer_token:String-instance-method","name":"bearer_token","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L110"},"def":{"name":"bearer_token","visibility":"Public","body":"@bearer_token"}},{"html_id":"book_locker(starting:Int64,ending:Int64,user_id:String,locker_id:String|Nil=nil,group_id:String|Nil=nil,bank_id:String|Nil=nil,timezone:String=\"UTC\")-instance-method","name":"book_locker","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"args_string":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = \"UTC\")","args_html":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = "UTC")","location":{"filename":"src/vecos/releezme.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L248"},"def":{"name":"book_locker","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"tz = Time::Location.load(timezone)\nresponse = post(\"/api/bookings\", body: {\"StartDateTimeUtc\" => ((Time.unix(starting)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"EndDateTimeUtc\" => ((Time.unix(ending)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"LockerGroupId\" => group_id, \"LockerBankId\" => bank_id, \"LockerId\" => locker_id, \"ExternalUserId\" => user_id}.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"bookings(user_id:String)-instance-method","name":"bookings","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L216"},"def":{"name":"bookings","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings?#{params}\")\n"}},{"html_id":"bookings_availability(user_id:String,starting:Int64,ending:Int64,section_id:String|Nil=nil,location_id:String|Nil=nil,bank_id:String|Nil=nil,group_id:String|Nil=nil,locker_id:String|Nil=nil)-instance-method","name":"bookings_availability","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","args_html":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L224"},"def":{"name":"bookings_availability","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"startDateTimeUtc\", (Time.unix(starting)).to_rfc3339)\n form.add(\"endDateTimeUtc\", (Time.unix(ending)).to_rfc3339)\n if section_id.presence\n form.add(\"sectionId\", section_id.as(String))\n end\n if location_id.presence\n form.add(\"locationId\", location_id.as(String))\n end\n if bank_id.presence\n form.add(\"lockerBankId\", bank_id.as(String))\n end\n if bank_id.presence && group_id.presence\n form.add(\"lockerBankId\", group_id.as(String))\n end\n if locker_id.presence\n form.add(\"lockerId\", locker_id.as(String))\n end\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings/availability?#{params}\")\n"}},{"html_id":"can_allocate_locker?(user_id:String):String-instance-method","name":"can_allocate_locker?","doc":"check if a user can be allocated a new locker","summary":"

check if a user can be allocated a new locker

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : String","args_html":"(user_id : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L278"},"def":{"name":"can_allocate_locker?","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = get(\"/api/lockers/canallocate?#{params}\")\nresponse.body\n"}},{"html_id":"can_share_locker_with?(locker_id:String,owner_id:String,search:String)-instance-method","name":"can_share_locker_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, search : String)","args_html":"(locker_id : String, owner_id : String, search : String)","location":{"filename":"src/vecos/releezme.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L343"},"def":{"name":"can_share_locker_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"searchString\", search)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"companies-instance-method","name":"companies","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L118"},"def":{"name":"companies","visibility":"Public","body":"(JSON.parse(fetch_item(\"/api/companies\")))[\"Companies\"]"}},{"html_id":"fetch_item(location:String):String-instance-method","name":"fetch_item","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L101"},"def":{"name":"fetch_item","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get(location)\nif response.status_code == 401\n @expires = 1.minute.ago\nend\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nresponse.body\n"}},{"html_id":"fetch_pages(location:String):Array(JSON::Any)-instance-method","name":"fetch_pages","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : Array(JSON::Any)","args_html":"(location : String) : Array(JSON::Any)","location":{"filename":"src/vecos/releezme.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L75"},"def":{"name":"fetch_pages","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"Array(JSON::Any)","visibility":"Public","body":"append = location.includes?('?') ? '&' : '?'\nnext_page = \"#{location}#{append}pageNumber=#{1}\"\ndata = [] of JSON::Any\nloop do\n response = get(next_page)\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = (JSON.parse(response.body)).as_h\n pages = if has_paging = payload.delete(\"Paging\")\n Paging.from_json(has_paging.to_json)\n end\n data.concat(payload[payload.keys.first].as_a)\n if pages && pages.has_next_page\n else\n break\n end\n next_page = \"#{location}#{append}pageNumber=#{pages.page_number + 1}\"\nend\ndata\n"}},{"html_id":"group(group_id:String)-instance-method","name":"group","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L204"},"def":{"name":"group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"Array(LockerGroup).from_json(fetch_item(\"/api/lockergroups/#{group_id}\"))"}},{"html_id":"group_locker_banks(group_id:String)-instance-method","name":"group_locker_banks","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L208"},"def":{"name":"group_locker_banks","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockergroups/#{group_id}/lockerbanks?pageSize=200\")"}},{"html_id":"groups-instance-method","name":"groups","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L200"},"def":{"name":"groups","visibility":"Public","body":"fetch_pages(\"/api/lockergroups?pageSize=200\")"}},{"html_id":"location(location_id:String)-instance-method","name":"location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L131"},"def":{"name":"location","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"Location.from_json(fetch_item(\"/api/locations/#{location_id}\"))"}},{"html_id":"location_sections(location_id:String)-instance-method","name":"location_sections","doc":"typically these are floors in the building","summary":"

typically these are floors in the building

","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L136"},"def":{"name":"location_sections","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/locations/#{location_id}/sections?pageSize=200\")"}},{"html_id":"locations-instance-method","name":"locations","doc":"typically these are buildings","summary":"

typically these are buildings

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L127"},"def":{"name":"locations","visibility":"Public","body":"fetch_pages(\"/api/locations?pageSize=200\")"}},{"html_id":"locker_allocate(locker_id:String,user_id:String)-instance-method","name":"locker_allocate","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, user_id : String)","args_html":"(locker_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L286"},"def":{"name":"locker_allocate","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_allocate_random(bank_id:String,group_id:String,user_id:String)-instance-method","name":"locker_allocate_random","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String, user_id : String)","args_html":"(bank_id : String, group_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":295,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L295"},"def":{"name":"locker_allocate_random","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"lockerBankId\", bank_id)\n form.add(\"lockerGroupId\", group_id)\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_release(locker_id:String,user_id:String|Nil=nil):Nil-instance-method","name":"locker_release","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, user_id : String | Nil = nil) : Nil","args_html":"(locker_id : String, user_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L306"},"def":{"name":"locker_release","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"params = URI::Params.build do |form|\n if user_id.presence\n form.add(\"externalUserId\", user_id)\n end\nend\nresponse = post(\"/api/lockers/#{locker_id}/release?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"locker_shared_with?(locker_id:String,owner_id:String)-instance-method","name":"locker_shared_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String)","args_html":"(locker_id : String, owner_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L351"},"def":{"name":"locker_shared_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"locker_unlock(locker_id:String,pin_code:String|Nil=nil)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, pin_code : String | Nil = nil)","args_html":"(locker_id : String, pin_code : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L314"},"def":{"name":"locker_unlock","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"pin_route = pin_code ? nil : \"/withoutpincode\"\nresponse = post(\"/api/lockers/#{locker_id}/pincode/unlock#{pin_route}\", body: pin_code)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"lockers_allocated_to(user_id:String)-instance-method","name":"lockers_allocated_to","doc":"the lockers that are currently allocated to the specified user\nthe user ID is typically email - defined by the client","summary":"

the lockers that are currently allocated to the specified user the user ID is typically email - defined by the client

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L269"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/lockers/allocated?#{params}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"client_id = setting(String, :client_id)\nclient_secret = setting(String, :client_secret)\nusername = setting(String, :username)\npassword = setting(String, :password)\nreleezme_authentication_domain = setting(String, :releezme_authentication_domain)\ntransport.before_request do |req|\n access_token = get_access_token(client_id, client_secret, username, password, releezme_authentication_domain)\n req.headers[\"Authorization\"] = access_token\n req.headers[\"Content-Type\"] = \"application/json\"\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"section(section_id:String)-instance-method","name":"section","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L149"},"def":{"name":"section","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"Section.from_json(fetch_item(\"/api/locations/#{section_id}\"))"}},{"html_id":"section_banks_allocatable(section_id:String,user_id:String)-instance-method","name":"section_banks_allocatable","doc":"banks and groups in the banks that the user can allocate to themselves","summary":"

banks and groups in the banks that the user can allocate to themselves

","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(section_id : String, user_id : String)","args_html":"(section_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L158"},"def":{"name":"section_banks_allocatable","args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/sections/#{section_id}/lockerbanklockergroups/allocatable?#{params}\")\n"}},{"html_id":"section_locker_banks(section_id:String)-instance-method","name":"section_locker_banks","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L153"},"def":{"name":"section_locker_banks","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/sections/#{section_id}/lockerbanks?pageSize=200\")"}},{"html_id":"sections-instance-method","name":"sections","doc":"all floors from all buildings in one request","summary":"

all floors from all buildings in one request

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L145"},"def":{"name":"sections","visibility":"Public","body":"fetch_pages(\"/api/sections?pageSize=200\")"}},{"html_id":"share_locker_with(locker_id:String,owner_id:String,user_id:String):Bool-instance-method","name":"share_locker_with","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, user_id : String) : Bool","args_html":"(locker_id : String, owner_id : String, user_id : String) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L324"},"def":{"name":"share_locker_with","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"sharedUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/share?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"unshare_locker(locker_id:String,owner_id:String,shared_with_internal_id:String|Nil=nil):Bool-instance-method","name":"unshare_locker","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","args_html":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L334"},"def":{"name":"unshare_locker","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/unshare/#{shared_with_internal_id}?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}}]},{"html_id":"drivers/Vecos/ReleezmeLocations","path":"Vecos/ReleezmeLocations.html","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L72"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L275"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of lockers on this level","summary":"

array of lockers on this level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L281"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for lockers in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nreleexme_section_id = @floor_mappings[zone_id]\nbanks = Array(Vecos::LockerBank).from_json((releezme.section_locker_banks(releexme_section_id)).get.to_json)\nif @door_number_lookup && @last_mapped < 3.hour.ago\n @last_mapped = Time.utc\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n self[locker.full_door_number.downcase] = locker.id\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nelse\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L64"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L262"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"releezme incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"locker_allocate(user_id:String,bank_id:String|Int64,locker_id:String|Int64|Nil=nil,expires_at:Int64|Nil=nil):PlaceLocker-instance-method","name":"locker_allocate","doc":"allocates a locker now, the allocation may expire","summary":"

allocates a locker now, the allocation may expire

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","args_html":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","location":{"filename":"src/vecos/releezme_locations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L136"},"def":{"name":"locker_allocate","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"return_type":"PlaceLocker","visibility":"Public","body":"user_id = get_user_key(user_id)\nlocker_id = locker_id ? lookup_id(locker_id.to_s) : nil\nif expires_at\n timezone = system.timezone || \"UTC\"\n booking = if locker_id\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, locker_id, timezone: timezone)).get\n else\n group_id = get_group_id(user_id, bank_id)\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, group_id: group_id, bank_id: bank_id, timezone: timezone)).get\n end\n PlaceLocker.new(Vecos::Booking.from_json(booking.to_json))\nelse\n if locker_id\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate(locker_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n else\n group_id = get_group_id(user_id, bank_id)\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate_random(bank_id, group_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n end\nend\n"}},{"html_id":"locker_release(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil):Nil-instance-method","name":"locker_release","doc":"return the locker to the pool","summary":"

return the locker to the pool

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L173"},"def":{"name":"locker_release","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\nif owner_id\n owner_id = get_user_key(owner_id)\nend\n(releezme.locker_release(locker_id, owner_id)).get\n"}},{"html_id":"locker_share(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,share_with:String):Nil-instance-method","name":"locker_share","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L194"},"def":{"name":"locker_share","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.share_locker_with(locker_id, get_user_key(owner_id), get_user_key(share_with))).get\n"}},{"html_id":"locker_shared_with(bank_id:String|Int64,locker_id:String|Int64,owner_id:String):Array(String)-instance-method","name":"locker_shared_with","doc":"a list of user-ids that the locker is shared with.\nthis can be placeos user ids or emails","summary":"

a list of user-ids that the locker is shared with.

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L229"},"def":{"name":"locker_shared_with","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nshared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\nshared_with.map do |user|\n user.email || user.user_id\nend\n"}},{"html_id":"locker_unlock(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil,open_time:Int32=60,pin_code:String|Nil=nil):Nil-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L241"},"def":{"name":"locker_unlock","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.locker_unlock(locker_id, pin_code)).get\n"}},{"html_id":"locker_unshare(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,shared_with_id:String|Nil=nil):Nil-instance-method","name":"locker_unshare","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L205"},"def":{"name":"locker_unshare","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nif shared_with_id\n shared_with_external_id = get_user_key(shared_with_id)\n shared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\n shared_user = shared_with.find do |user|\n user.user_id == shared_with_external_id\n end\n if shared_user\n else\n return\n end\n shared_with_id = shared_user.id\nend\n(releezme.unshare_locker(locker_id, owner_id, shared_with_id)).get\n"}},{"html_id":"lockers_allocated_to(user_id:String):Array(PlaceLocker)-instance-method","name":"lockers_allocated_to","doc":"a list of lockers that are allocated to the user","summary":"

a list of lockers that are allocated to the user

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(PlaceLocker)","args_html":"(user_id : String) : Array(PlaceLocker)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L187"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(PlaceLocker)","visibility":"Public","body":"user_id = get_user_key(user_id)\nlockers = Array(Vecos::Locker).from_json((releezme.lockers_allocated_to(user_id)).get.to_json)\nlockers.map do |locker|\n PlaceLocker.new(locker, true)\nend\n"}},{"html_id":"lookup_id(locker_id:String):String-instance-method","name":"lookup_id","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"args_string":"(locker_id : String) : String","args_html":"(locker_id : String) : String","location":{"filename":"src/vecos/releezme_locations.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L74"},"def":{"name":"lookup_id","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"if @door_number_lookup\n (status?(String, locker_id.downcase)) || locker_id\nelse\n locker_id\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L269"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@door_number_lookup = (setting?(Bool, :door_number_lookup)) || false\n@user_id_key = (setting?(String, :user_id_key)) || \"email\"\n@floor_mappings = (setting(Hash(String, Mapping), :vecos_floor_mappings)).transform_values(&.section_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\nif @door_number_lookup\n schedule.clear\n schedule.in((rand(10)).seconds) do\n @floor_mappings.each_key do |zone_id|\n device_locations(zone_id)\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Vecos/ReleezmeLocations/Mapping","path":"Vecos/ReleezmeLocations/Mapping.html","kind":"struct","full_name":"Vecos::ReleezmeLocations::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos/ReleezmeLocations","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L60"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}}]},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers/PlaceLocker","path":"PlaceOS/Driver/Interface/Lockers/PlaceLocker.html","kind":"class","full_name":"PlaceOS::Driver::Interface::Lockers::PlaceLocker","name":"PlaceLocker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/placeos-driver/src/placeos-driver/interface/lockers.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/placeos-driver/src/placeos-driver/interface/lockers.cr#L9"},{"filename":"src/vecos/releezme_locations.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},"doc":"inherit this to extend with additional locker information","summary":"

inherit this to extend with additional locker information

","constructors":[{"html_id":"new(locker:Vecos::Locker,allocated:Bool=false,building:Nil|String=nil,level:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"args_string":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","args_html":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L87"},"def":{"name":"new","args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(locker, allocated, building, level)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(booking:Vecos::Booking)-class-method","name":"new","abstract":false,"args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"args_string":"(booking : Vecos::Booking)","args_html":"(booking : Vecos::Booking)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L106"},"def":{"name":"new","args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"visibility":"Public","body":"_ = allocate\n_.initialize(booking)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"group_id:String|Nil-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L116"},"def":{"name":"group_id","return_type":"String | ::Nil","visibility":"Public","body":"@group_id"}},{"html_id":"locker_uid:String|Nil-instance-method","name":"locker_uid","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L117"},"def":{"name":"locker_uid","return_type":"String | ::Nil","visibility":"Public","body":"@locker_uid"}}]}]},{"html_id":"drivers/Vecos/Section","path":"Vecos/Section.html","kind":"struct","full_name":"Vecos::Section","name":"Section","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/section.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/section.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L14"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Vergesense","path":"Vergesense.html","kind":"module","full_name":"Vergesense","name":"Vergesense","abstract":false,"locations":[{"filename":"src/vergesense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Vergesense Data Models","summary":"

Vergesense Data Models

","types":[{"html_id":"drivers/Vergesense/Building","path":"Vergesense/Building.html","kind":"struct","full_name":"Vergesense::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L10"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"address=(address:String|Nil)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"args_string":"(address : String | Nil)","args_html":"(address : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L10"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@address = address"}},{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L8"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Vergesense/BuildingWithFloors","path":"Vergesense/BuildingWithFloors.html","kind":"struct","full_name":"Vergesense::BuildingWithFloors","name":"BuildingWithFloors","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L17"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"floors=(floors:Array(Floor))-instance-method","name":"floors=","abstract":false,"args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"args_string":"(floors : Array(Floor))","args_html":"(floors : Array(Floor))","location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L17"},"def":{"name":"floors=","args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"visibility":"Public","body":"@floors = floors"}}]},{"html_id":"drivers/Vergesense/Environment","path":"Vergesense/Environment.html","kind":"struct","full_name":"Vergesense::Environment","name":"Environment","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"humidity:Sensor-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L43"},"def":{"name":"humidity","return_type":"Sensor","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:Sensor)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"args_string":"(humidity : Sensor)","args_html":"(humidity : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L43"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"iaq:Sensor|Nil-instance-method","name":"iaq","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L44"},"def":{"name":"iaq","return_type":"Sensor | ::Nil","visibility":"Public","body":"@iaq"}},{"html_id":"iaq=(iaq:Sensor|Nil)-instance-method","name":"iaq=","abstract":false,"args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"args_string":"(iaq : Sensor | Nil)","args_html":"(iaq : Sensor | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L44"},"def":{"name":"iaq=","args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"visibility":"Public","body":"@iaq = iaq"}},{"html_id":"sensor:String-instance-method","name":"sensor","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L40"},"def":{"name":"sensor","return_type":"String","visibility":"Public","body":"@sensor"}},{"html_id":"sensor=(sensor:String)-instance-method","name":"sensor=","abstract":false,"args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"args_string":"(sensor : String)","args_html":"(sensor : String)","location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L40"},"def":{"name":"sensor=","args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"visibility":"Public","body":"@sensor = sensor"}},{"html_id":"temperature:Sensor-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L45"},"def":{"name":"temperature","return_type":"Sensor","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Sensor)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"args_string":"(temperature : Sensor)","args_html":"(temperature : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L45"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/Floor","path":"Vergesense/Floor.html","kind":"struct","full_name":"Vergesense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L25"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L25"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"floor_ref_id:String-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id","return_type":"String","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"args_string":"(floor_ref_id : String)","args_html":"(floor_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L27"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L27"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/Vergesense/Geometry","path":"Vergesense/Geometry.html","kind":"struct","full_name":"Vergesense::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"coordinates:Array(Array(Array(Float64)))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L95"},"def":{"name":"coordinates","return_type":"Array(Array(Array(Float64)))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Array(Array(Float64))))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"args_string":"(coordinates : Array(Array(Array(Float64))))","args_html":"(coordinates : Array(Array(Array(Float64))))","location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L95"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L94"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L94"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Vergesense/LocationService","path":"Vergesense/LocationService.html","kind":"class","full_name":"Vergesense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L90"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L95"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfloor = @occupancy_mappings[zone_id]?\nif floor\nelse\n return [] of Nil\nend\ndesk_types = @desk_space_types\nfloor.spaces.compact_map do |space|\n loc_type = space.space_type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n people_count = space.people.try(&.count)\n if @return_empty_spaces || (people_count && people_count > 0)\n if env = space.environment\n humidity = env.humidity.value\n temperature = env.temperature.value\n iaq = env.iaq.try(&.value)\n end\n {location: loc_type, at_location: people_count || 0, map_id: space.name, level: zone_id, building: @building_mappings[zone_id]?, capacity: space.capacity, vergesense_space_id: space.ref_id, vergesense_space_type: space.space_type, area_humidity: humidity, area_temperature: temperature, area_air_quality: iaq, signs_of_life: space.signs_of_life}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L80"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vergesense/location_service.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L85"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(String), :desk_space_types)) || [\"desk\"]\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.values.map do |z|\n level = z[:level_id]\n @building_mappings[level] = z[:building_id]\n level\nend\nbind_floor_status\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L138"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id\n else\n return nil\n end\n zone_id, _, space_id = mac.rpartition('-')\n if zone_id.empty? || space_id.empty?\n return nil\n end\n floor = @occupancy_mappings[zone_id]?\n if floor\n else\n return nil\n end\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(zone_id, floor, floor_space, :people_count)\n when \"presence\"\n build_sensor_details(zone_id, floor, floor_space, :presence)\n when \"humidity\"\n build_sensor_details(zone_id, floor, floor_space, :humidity)\n when \"temp\"\n build_sensor_details(zone_id, floor, floor_space, :temperature)\n when \"air\"\n build_sensor_details(zone_id, floor, floor_space, :air_quality)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/vergesense/location_service.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L172"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n level_zone, _, space_id = mac.rpartition('-')\n if (zone_id && (zone_id != level_zone)) || space_id.empty?\n return NO_MATCH\n end\n zone_id = level_zone\nend\nif zone_id && (!(@occupancy_mappings.has_key?(zone_id)))\n return NO_MATCH\nend\nif space_id\n floor = @occupancy_mappings[zone_id]\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return NO_MATCH\n end\n spaces = [{zone_id, floor, floor_space}]\nelse\n if zone_id\n floor = @occupancy_mappings[zone_id]\n spaces = floor.spaces.map do |space|\n {zone_id, floor, space}\n end\n else\n spaces = @occupancy_mappings.flat_map do |__arg2|\n zone = __arg2[0]\n floor = __arg2[1]\n floor.spaces.map do |space|\n {zone, floor, space}\n end\n end\n end\nend\nif sensor_type\n spaces.compact_map do |__arg3|\n zone = __arg3[0]\n floor = __arg3[1]\n space = __arg3[2]\n build_sensor_details(zone.not_nil!, floor, space, sensor_type)\n end\nelse\n spaces.flat_map do |__arg4|\n zone = __arg4[0]\n floor = __arg4[1]\n space = __arg4[2]\n space_sensors(zone.not_nil!, floor, space)\n end.compact\nend\n"}}]},{"html_id":"drivers/Vergesense/MqttExport","path":"Vergesense/MqttExport.html","kind":"class","full_name":"Vergesense::MqttExport","name":"MqttExport","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/mqtt_export.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L46"},"def":{"name":"inspect_state","visibility":"Public","body":"{vergesense_subscriptions: @subscriptions, people_counts: @previous_counts}"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L31"},"def":{"name":"on_update","visibility":"Public","body":"@mqtt_root_topic = (setting(String, :mqtt_root_topic)) || \"/t/root-topic\"\n@floors_to_export = (setting(Array(String), :floors_to_export)) || ([] of String)\n@debug = (setting(Bool, :debug)) || false\nsubscriptions.clear\n@subscriptions = 0\n@floors_to_export.each do |floor|\n system.subscribe(:Vergesense_1, floor) do |_subscription, vergesense_floor_json|\n vergesense_to_mqtt(Floor.from_json(vergesense_floor_json))\n end\n @subscriptions = @subscriptions + 1\nend\n"}}]},{"html_id":"drivers/Vergesense/People","path":"Vergesense/People.html","kind":"struct","full_name":"Vergesense::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:UInt32|Nil-instance-method","name":"count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L101"},"def":{"name":"count","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"count=(count:UInt32|Nil)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"args_string":"(count : UInt32 | Nil)","args_html":"(count : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L101"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@count = count"}}]},{"html_id":"drivers/Vergesense/Report","path":"Vergesense/Report.html","kind":"struct","full_name":"Vergesense::Report","name":"Report","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person_count:Int32|Nil-instance-method","name":"person_count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L52"},"def":{"name":"person_count","return_type":"Int32 | ::Nil","visibility":"Public","body":"@person_count"}},{"html_id":"person_count=(person_count:Int32|Nil)-instance-method","name":"person_count=","abstract":false,"args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"args_string":"(person_count : Int32 | Nil)","args_html":"(person_count : Int32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L52"},"def":{"name":"person_count=","args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@person_count = person_count"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L51"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L51"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/RoomSensor","path":"Vergesense/RoomSensor.html","kind":"class","full_name":"Vergesense::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"if (value = @floor_name).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#floor_name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_name?:String|Nil-instance-method","name":"floor_name?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsystem.subscribe(:Vergesense, 1, \"init_complete\") do |_sub, value|\n if value == \"true\"\n subscribe_to_sensor\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/vergesense/room_sensor.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L100"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"verg-#{@space_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nwhen \"humidity\"\n build_sensor_details(:humidity)\nwhen \"temperature\"\n build_sensor_details(:temperature)\nwhen \"air_quality\"\n build_sensor_details(:air_quality)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/vergesense/room_sensor.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L81"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"verg-#{@space_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"space:Space-instance-method","name":"space","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space","return_type":"Space","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:Space|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space?","return_type":"Space | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/Vergesense/Sensor","path":"Vergesense/Sensor.html","kind":"struct","full_name":"Vergesense::Sensor","name":"Sensor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"units:String-instance-method","name":"units","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L33"},"def":{"name":"units","return_type":"String","visibility":"Public","body":"@units"}},{"html_id":"units=(units:String)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"String"}],"args_string":"(units : String)","args_html":"(units : String)","location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L33"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"String"}],"visibility":"Public","body":"@units = units"}},{"html_id":"value:Float64-instance-method","name":"value","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L34"},"def":{"name":"value","return_type":"Float64","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Float64)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64"}],"args_string":"(value : Float64)","args_html":"(value : Float64)","location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L34"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Float64"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Vergesense/Space","path":"Vergesense/Space.html","kind":"class","full_name":"Vergesense::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String|Nil-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String|Nil)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"args_string":"(building_ref_id : String | Nil)","args_html":"(building_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L64"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L64"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"environment:Environment|Nil-instance-method","name":"environment","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L69"},"def":{"name":"environment","return_type":"Environment | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:Environment|Nil)-instance-method","name":"environment=","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"args_string":"(environment : Environment | Nil)","args_html":"(environment : Environment | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L69"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"floor_key-instance-method","name":"floor_key","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L82"},"def":{"name":"floor_key","visibility":"Public","body":"\"#{building_ref_id}-#{floor_ref_id}\".strip"}},{"html_id":"floor_ref_id:String|Nil-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String|Nil)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"args_string":"(floor_ref_id : String | Nil)","args_html":"(floor_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"last_reports:Array(Report)|Nil-instance-method","name":"last_reports","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L68"},"def":{"name":"last_reports","return_type":"Array(Report) | ::Nil","visibility":"Public","body":"@last_reports"}},{"html_id":"last_reports=(last_reports:Array(Report)|Nil)-instance-method","name":"last_reports=","abstract":false,"args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"args_string":"(last_reports : Array(Report) | Nil)","args_html":"(last_reports : Array(Report) | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L68"},"def":{"name":"last_reports=","args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"visibility":"Public","body":"@last_reports = last_reports"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"motion_detected:Bool|Nil-instance-method","name":"motion_detected","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected","return_type":"Bool | ::Nil","visibility":"Public","body":"@motion_detected"}},{"html_id":"motion_detected=(motion_detected:Bool|Nil)-instance-method","name":"motion_detected=","abstract":false,"args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"args_string":"(motion_detected : Bool | Nil)","args_html":"(motion_detected : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected=","args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@motion_detected = motion_detected"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L63"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L63"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"people:People|Nil-instance-method","name":"people","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L67"},"def":{"name":"people","return_type":"People | ::Nil","visibility":"Public","body":"@people"}},{"html_id":"people=(people:People|Nil)-instance-method","name":"people=","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"args_string":"(people : People | Nil)","args_html":"(people : People | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L67"},"def":{"name":"people=","args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"visibility":"Public","body":"@people = people"}},{"html_id":"ref_id-instance-method","name":"ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L86"},"def":{"name":"ref_id","visibility":"Public","body":"(self.space_ref_id || self.floor_ref_id) || self.space_type"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"signs_of_life?:Bool|Nil-instance-method","name":"signs_of_life?","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L73"},"def":{"name":"signs_of_life?","return_type":"Bool | ::Nil","visibility":"Public","body":"if report = last_reports.try(&.first?)\n if report.timestamp >= 2.hours.ago\n report.signs_of_life\n end\nend"}},{"html_id":"space_ref_id:String|Nil-instance-method","name":"space_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_ref_id"}},{"html_id":"space_ref_id=(space_ref_id:String|Nil)-instance-method","name":"space_ref_id=","abstract":false,"args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"args_string":"(space_ref_id : String | Nil)","args_html":"(space_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id=","args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_ref_id = space_ref_id"}},{"html_id":"space_type:String|Nil-instance-method","name":"space_type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L62"},"def":{"name":"space_type","return_type":"String | ::Nil","visibility":"Public","body":"@space_type"}},{"html_id":"space_type=(space_type:String|Nil)-instance-method","name":"space_type=","abstract":false,"args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"args_string":"(space_type : String | Nil)","args_html":"(space_type : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L62"},"def":{"name":"space_type=","args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_type = space_type"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L70"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time|Nil)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"args_string":"(timestamp : Time | Nil)","args_html":"(timestamp : Time | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L70"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/VergesenseAPI","path":"Vergesense/VergesenseAPI.html","kind":"class","full_name":"Vergesense::VergesenseAPI","name":"VergesenseAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/vergesense_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_key(space_id:String)-instance-method","name":"floor_key","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L85"},"def":{"name":"floor_key","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@spaces[space_id]"}},{"html_id":"init_sync-instance-method","name":"init_sync","doc":"Performs initial sync by loading buildings / floors / spaces","summary":"

Performs initial sync by loading buildings / floors / spaces

","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L45"},"def":{"name":"init_sync","visibility":"Public","body":"begin\n @sync_lock.synchronize do\n init_buildings\n if @buildings\n init_floors\n init_spaces\n init_floors_status\n self[\"init_complete\"] = true\n end\n end\nrescue e\n logger.error do\n \"failed to perform vergesense API sync\\n#{e.inspect_with_backtrace}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.in(200.milliseconds) do\n init_sync\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :vergesense_api_key)\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@poll_every = (setting?(Int32, :poll_every)).try(&.seconds)\nschedule.clear\nif poll_time = @poll_every\n schedule.every(poll_time) do\n init_sync\n end\nend\n"}},{"html_id":"space_report_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"space_report_api","doc":"Webhook endpoint for space_report API, expects version 2","summary":"

Webhook endpoint for space_report API, expects version 2

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L65"},"def":{"name":"space_report_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"space_report API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nbegin\n remote_space = Space.from_json(body)\n logger.debug do\n \"parsed vergesense payload\"\n end\n update_floor_space(remote_space)\n update_single_floor_status(remote_space.floor_key, @floors[remote_space.floor_key]?)\nrescue e\n logger.error do\n \"failed to parse vergesense space_report API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]}]},{"html_id":"drivers/Whispir","path":"Whispir.html","kind":"module","full_name":"Whispir","name":"Whispir","abstract":false,"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Whispir/Messages","path":"Whispir/Messages.html","kind":"class","full_name":"Whispir::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/Whispir","kind":"module","full_name":"Whispir","name":"Whispir"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/whispir/messages.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L33"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponse = post(\"/messages?apikey=#{@api_key}\", body: {to: phone_numbers.join(\";\"), subject: \"PlaceOS Notification\", body: message}.to_json, headers: {\"Content-Type\" => \"application/vnd.whispir.message-v1+json\", \"Accept\" => \"application/vnd.whispir.message-v1+json\", \"x-api-key\" => @api_key})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nlocation = response.headers[\"Location\"]?\nlogger.debug do\n \"message sent: #{location}\"\nend\nlocation\n"}}]}]},{"html_id":"drivers/WilliamsAV","path":"WilliamsAV.html","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV","abstract":false,"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM","path":"WilliamsAV/WaveCastFM.html","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TYPES","name":"TYPES","value":"{Command::TDU8_REBOOT => Type::TT_U8, Command::TDU8_RESTORE_DEFAULTS => Type::TT_U8, Command::TDU8_VU_METER_VALUE => Type::TT_U8, Command::TDU8_INPUT_GAIN => Type::TT_U8, Command::TDU8_INPUT_SOURCE => Type::TT_U8, Command::TDU8_PRESET => Type::TT_U8, Command::TDU8_HIGH_PASS => Type::TT_U8, Command::TDU8_LOW_PASS => Type::TT_U8, Command::TDU8_COMPRESSION => Type::TT_U8, Command::TDU8_USE_DHCP => Type::TT_U8, Command::TDU8_AUDIO_TX_MODE => Type::TT_U8, Command::TDU8_TTL => Type::TT_U8, Command::TDU8_SECURE_MODE => Type::TT_U8, Command::TDU8_PANEL_LOCK => Type::TT_U8, Command::TDU32_RF_TIMEOUT => Type::TT_U32, Command::TDU8_RF_CHANNEL => Type::TT_U8, Command::TDU8_RF_17_CHANNEL_MODE => Type::TT_U8, Command::TDU8_RF_POWER => Type::TT_U8, Command::TDSTR_SERVER_NAME => Type::TT_STRING, Command::TDSTR_STATIC_IP_ADDR => Type::TT_STRING, Command::TDSTR_STATIC_SUBNET_MASK => Type::TT_STRING, Command::TDSTR_STATIC_GATEWAY_ADDR => Type::TT_STRING, Command::TDSTR_MULTICAST_ADDR => Type::TT_STRING, Command::TDSTR_JOIN_CODE => Type::TT_STRING}"}],"namespace":{"html_id":"drivers/WilliamsAV","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"query_state"}},{"html_id":"enable_join_code(state:Bool)-instance-method","name":"enable_join_code","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L161"},"def":{"name":"enable_join_code","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_SECURE_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"input_gain(value:UInt8)-instance-method","name":"input_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L187"},"def":{"name":"input_gain","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 50_u8)\nwrite(Command::TDU8_INPUT_GAIN, value)\n"}},{"html_id":"input_source(value:InputSource)-instance-method","name":"input_source","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"args_string":"(value : InputSource)","args_html":"(value : InputSource)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L202"},"def":{"name":"input_source","args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"visibility":"Public","body":"write(Command::TDU8_INPUT_SOURCE, value.to_u8)"}},{"html_id":"lock_front_panel(state:Bool)-instance-method","name":"lock_front_panel","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L230"},"def":{"name":"lock_front_panel","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_PANEL_LOCK, state ? 1_u8 : 0_u8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute) do\n query_state\nend\n"}},{"html_id":"preset(value:Preset)-instance-method","name":"preset","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Preset"}],"args_string":"(value : Preset)","args_html":"(value : Preset)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L214"},"def":{"name":"preset","args":[{"name":"value","external_name":"value","restriction":"Preset"}],"visibility":"Public","body":"write(Command::TDU8_PRESET, value.to_u8)"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L92"},"def":{"name":"query_state","visibility":"Public","body":"response = get(\"/TBL-READ?All\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\ncount = 0\n(response.body.split('\\n')).each do |line|\n if line.presence\n else\n next\n end\n parts = (line.split(\",\")).map!(&.strip)\n begin\n type = Type.parse(parts[0])\n command = (Command.parse?(parts[1])) || parts[1]\n value_raw = parts[2]\n value = case type\n in Type::TT_FLOAT\n value_raw.to_f\n in Type::TT_U8, Type::TT_U32, Type::TT_S8, Type::TT_S32\n value_raw.to_i\n in Type::TT_STRING\n value_raw\n end\n set_status(command, value)\n count = count + 1\n rescue error\n raise(\"error parsing response line\\n#{error.inspect_with_backtrace}\")\n end\nend\n\"#{count} values updated\"\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L171"},"def":{"name":"reboot","visibility":"Public","body":"write(Command::TDU8_REBOOT, 1_u8)"}},{"html_id":"restore_defaults-instance-method","name":"restore_defaults","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L176"},"def":{"name":"restore_defaults","visibility":"Public","body":"write(Command::TDU8_RESTORE_DEFAULTS, 1_u8)"}},{"html_id":"set_join_code(pin:String)-instance-method","name":"set_join_code","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L166"},"def":{"name":"set_join_code","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_JOIN_CODE, pin)"}},{"html_id":"set_multicast_address(ip_address:String)-instance-method","name":"set_multicast_address","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L235"},"def":{"name":"set_multicast_address","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_MULTICAST_ADDR, ip_address)"}},{"html_id":"set_ttl(value:UInt8)-instance-method","name":"set_ttl","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L224"},"def":{"name":"set_ttl","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 30_u8)\nwrite(Command::TDU8_TTL, value)\n"}},{"html_id":"set_vu_meter(value:UInt8,overload:Bool=false)-instance-method","name":"set_vu_meter","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"args_string":"(value : UInt8, overload : Bool = false)","args_html":"(value : UInt8, overload : Bool = false)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L181"},"def":{"name":"set_vu_meter","args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"visibility":"Public","body":"if overload\nelse\n value = value.clamp(0_u8, 9_u8)\nend\nwrite(Command::TDU8_VU_METER_VALUE, value)\n"}},{"html_id":"transmit_multicast(state:Bool)-instance-method","name":"transmit_multicast","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L219"},"def":{"name":"transmit_multicast","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_AUDIO_TX_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"write(command:Command,value:UInt8|UInt32|String)-instance-method","name":"write","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"args_string":"(command : Command, value : UInt8 | UInt32 | String)","args_html":"(command : Command, value : UInt8 | UInt32 | String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L145"},"def":{"name":"write","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"visibility":"Public","body":"body_data = URI::Params.build do |form|\n form.add(\"type\", TYPES[command].to_s)\n form.add(\"id\", command.to_s)\n form.add(\"value\", value.to_s)\nend.to_s\nlogger.debug do\n \"updating setting: #{body_data}\"\nend\nresponse = post(\"/TBL-WRITE\", body: body_data)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nset_status(command, value)\n"}}],"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM/Command","path":"WilliamsAV/WaveCastFM/Command.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TDU8_REBOOT","name":"TDU8_REBOOT","value":"0"},{"id":"TDU8_RESTORE_DEFAULTS","name":"TDU8_RESTORE_DEFAULTS","value":"1"},{"id":"TDU8_VU_METER_VALUE","name":"TDU8_VU_METER_VALUE","value":"2"},{"id":"TDU8_INPUT_GAIN","name":"TDU8_INPUT_GAIN","value":"3"},{"id":"TDU8_INPUT_SOURCE","name":"TDU8_INPUT_SOURCE","value":"4"},{"id":"TDU8_PRESET","name":"TDU8_PRESET","value":"5"},{"id":"TDU8_HIGH_PASS","name":"TDU8_HIGH_PASS","value":"6"},{"id":"TDU8_LOW_PASS","name":"TDU8_LOW_PASS","value":"7"},{"id":"TDU8_COMPRESSION","name":"TDU8_COMPRESSION","value":"8"},{"id":"TDU8_USE_DHCP","name":"TDU8_USE_DHCP","value":"9"},{"id":"TDU8_AUDIO_TX_MODE","name":"TDU8_AUDIO_TX_MODE","value":"10"},{"id":"TDU8_TTL","name":"TDU8_TTL","value":"11"},{"id":"TDU8_SECURE_MODE","name":"TDU8_SECURE_MODE","value":"12"},{"id":"TDU8_PANEL_LOCK","name":"TDU8_PANEL_LOCK","value":"13"},{"id":"TDU32_RF_TIMEOUT","name":"TDU32_RF_TIMEOUT","value":"14"},{"id":"TDU8_RF_CHANNEL","name":"TDU8_RF_CHANNEL","value":"15"},{"id":"TDU8_RF_17_CHANNEL_MODE","name":"TDU8_RF_17_CHANNEL_MODE","value":"16"},{"id":"TDU8_RF_POWER","name":"TDU8_RF_POWER","value":"17"},{"id":"TDSTR_SERVER_NAME","name":"TDSTR_SERVER_NAME","value":"18"},{"id":"TDSTR_STATIC_IP_ADDR","name":"TDSTR_STATIC_IP_ADDR","value":"19"},{"id":"TDSTR_STATIC_SUBNET_MASK","name":"TDSTR_STATIC_SUBNET_MASK","value":"20"},{"id":"TDSTR_STATIC_GATEWAY_ADDR","name":"TDSTR_STATIC_GATEWAY_ADDR","value":"21"},{"id":"TDSTR_MULTICAST_ADDR","name":"TDSTR_MULTICAST_ADDR","value":"22"},{"id":"TDSTR_JOIN_CODE","name":"TDSTR_JOIN_CODE","value":"23"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tdstr_join_code?-instance-method","name":"tdstr_join_code?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L53"},"def":{"name":"tdstr_join_code?","visibility":"Public","body":"self == TDSTR_JOIN_CODE"}},{"html_id":"tdstr_multicast_addr?-instance-method","name":"tdstr_multicast_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L52"},"def":{"name":"tdstr_multicast_addr?","visibility":"Public","body":"self == TDSTR_MULTICAST_ADDR"}},{"html_id":"tdstr_server_name?-instance-method","name":"tdstr_server_name?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L48"},"def":{"name":"tdstr_server_name?","visibility":"Public","body":"self == TDSTR_SERVER_NAME"}},{"html_id":"tdstr_static_gateway_addr?-instance-method","name":"tdstr_static_gateway_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L51"},"def":{"name":"tdstr_static_gateway_addr?","visibility":"Public","body":"self == TDSTR_STATIC_GATEWAY_ADDR"}},{"html_id":"tdstr_static_ip_addr?-instance-method","name":"tdstr_static_ip_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L49"},"def":{"name":"tdstr_static_ip_addr?","visibility":"Public","body":"self == TDSTR_STATIC_IP_ADDR"}},{"html_id":"tdstr_static_subnet_mask?-instance-method","name":"tdstr_static_subnet_mask?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L50"},"def":{"name":"tdstr_static_subnet_mask?","visibility":"Public","body":"self == TDSTR_STATIC_SUBNET_MASK"}},{"html_id":"tdu32_rf_timeout?-instance-method","name":"tdu32_rf_timeout?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L44"},"def":{"name":"tdu32_rf_timeout?","visibility":"Public","body":"self == TDU32_RF_TIMEOUT"}},{"html_id":"tdu8_audio_tx_mode?-instance-method","name":"tdu8_audio_tx_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L40"},"def":{"name":"tdu8_audio_tx_mode?","visibility":"Public","body":"self == TDU8_AUDIO_TX_MODE"}},{"html_id":"tdu8_compression?-instance-method","name":"tdu8_compression?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L38"},"def":{"name":"tdu8_compression?","visibility":"Public","body":"self == TDU8_COMPRESSION"}},{"html_id":"tdu8_high_pass?-instance-method","name":"tdu8_high_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L36"},"def":{"name":"tdu8_high_pass?","visibility":"Public","body":"self == TDU8_HIGH_PASS"}},{"html_id":"tdu8_input_gain?-instance-method","name":"tdu8_input_gain?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L33"},"def":{"name":"tdu8_input_gain?","visibility":"Public","body":"self == TDU8_INPUT_GAIN"}},{"html_id":"tdu8_input_source?-instance-method","name":"tdu8_input_source?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L34"},"def":{"name":"tdu8_input_source?","visibility":"Public","body":"self == TDU8_INPUT_SOURCE"}},{"html_id":"tdu8_low_pass?-instance-method","name":"tdu8_low_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L37"},"def":{"name":"tdu8_low_pass?","visibility":"Public","body":"self == TDU8_LOW_PASS"}},{"html_id":"tdu8_panel_lock?-instance-method","name":"tdu8_panel_lock?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L43"},"def":{"name":"tdu8_panel_lock?","visibility":"Public","body":"self == TDU8_PANEL_LOCK"}},{"html_id":"tdu8_preset?-instance-method","name":"tdu8_preset?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L35"},"def":{"name":"tdu8_preset?","visibility":"Public","body":"self == TDU8_PRESET"}},{"html_id":"tdu8_reboot?-instance-method","name":"tdu8_reboot?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L30"},"def":{"name":"tdu8_reboot?","visibility":"Public","body":"self == TDU8_REBOOT"}},{"html_id":"tdu8_restore_defaults?-instance-method","name":"tdu8_restore_defaults?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L31"},"def":{"name":"tdu8_restore_defaults?","visibility":"Public","body":"self == TDU8_RESTORE_DEFAULTS"}},{"html_id":"tdu8_rf_17_channel_mode?-instance-method","name":"tdu8_rf_17_channel_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L46"},"def":{"name":"tdu8_rf_17_channel_mode?","visibility":"Public","body":"self == TDU8_RF_17_CHANNEL_MODE"}},{"html_id":"tdu8_rf_channel?-instance-method","name":"tdu8_rf_channel?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L45"},"def":{"name":"tdu8_rf_channel?","visibility":"Public","body":"self == TDU8_RF_CHANNEL"}},{"html_id":"tdu8_rf_power?-instance-method","name":"tdu8_rf_power?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L47"},"def":{"name":"tdu8_rf_power?","visibility":"Public","body":"self == TDU8_RF_POWER"}},{"html_id":"tdu8_secure_mode?-instance-method","name":"tdu8_secure_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L42"},"def":{"name":"tdu8_secure_mode?","visibility":"Public","body":"self == TDU8_SECURE_MODE"}},{"html_id":"tdu8_ttl?-instance-method","name":"tdu8_ttl?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L41"},"def":{"name":"tdu8_ttl?","visibility":"Public","body":"self == TDU8_TTL"}},{"html_id":"tdu8_use_dhcp?-instance-method","name":"tdu8_use_dhcp?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L39"},"def":{"name":"tdu8_use_dhcp?","visibility":"Public","body":"self == TDU8_USE_DHCP"}},{"html_id":"tdu8_vu_meter_value?-instance-method","name":"tdu8_vu_meter_value?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L32"},"def":{"name":"tdu8_vu_meter_value?","visibility":"Public","body":"self == TDU8_VU_METER_VALUE"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/InputSource","path":"WilliamsAV/WaveCastFM/InputSource.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::InputSource","name":"InputSource","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L192"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"AnalogLineIn","name":"AnalogLineIn","value":"1"},{"id":"Mic","name":"Mic","value":"2"},{"id":"PhantomMic","name":"PhantomMic","value":"3"},{"id":"AES","name":"AES","value":"4"},{"id":"S_PDIF","name":"S_PDIF","value":"5"},{"id":"TestTone","name":"TestTone","value":"6"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"aes?-instance-method","name":"aes?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L196"},"def":{"name":"aes?","visibility":"Public","body":"self == AES"}},{"html_id":"analog_line_in?-instance-method","name":"analog_line_in?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L193"},"def":{"name":"analog_line_in?","visibility":"Public","body":"self == AnalogLineIn"}},{"html_id":"mic?-instance-method","name":"mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L194"},"def":{"name":"mic?","visibility":"Public","body":"self == Mic"}},{"html_id":"phantom_mic?-instance-method","name":"phantom_mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L195"},"def":{"name":"phantom_mic?","visibility":"Public","body":"self == PhantomMic"}},{"html_id":"s_pdif?-instance-method","name":"s_pdif?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L197"},"def":{"name":"s_pdif?","visibility":"Public","body":"self == S_PDIF"}},{"html_id":"test_tone?-instance-method","name":"test_tone?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L198"},"def":{"name":"test_tone?","visibility":"Public","body":"self == TestTone"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Preset","path":"WilliamsAV/WaveCastFM/Preset.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Preset","name":"Preset","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L206"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Voice","name":"Voice","value":"1"},{"id":"Music","name":"Music","value":"2"},{"id":"HearingAssist","name":"HearingAssist","value":"3"},{"id":"Custom","name":"Custom","value":"4"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"custom?-instance-method","name":"custom?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L210"},"def":{"name":"custom?","visibility":"Public","body":"self == Custom"}},{"html_id":"hearing_assist?-instance-method","name":"hearing_assist?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L209"},"def":{"name":"hearing_assist?","visibility":"Public","body":"self == HearingAssist"}},{"html_id":"music?-instance-method","name":"music?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L208"},"def":{"name":"music?","visibility":"Public","body":"self == Music"}},{"html_id":"voice?-instance-method","name":"voice?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L207"},"def":{"name":"voice?","visibility":"Public","body":"self == Voice"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Type","path":"WilliamsAV/WaveCastFM/Type.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L56"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TT_FLOAT","name":"TT_FLOAT","value":"0"},{"id":"TT_U8","name":"TT_U8","value":"1"},{"id":"TT_U32","name":"TT_U32","value":"2"},{"id":"TT_S8","name":"TT_S8","value":"3"},{"id":"TT_S32","name":"TT_S32","value":"4"},{"id":"TT_STRING","name":"TT_STRING","value":"5"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tt_float?-instance-method","name":"tt_float?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L57"},"def":{"name":"tt_float?","visibility":"Public","body":"self == TT_FLOAT"}},{"html_id":"tt_s32?-instance-method","name":"tt_s32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L61"},"def":{"name":"tt_s32?","visibility":"Public","body":"self == TT_S32"}},{"html_id":"tt_s8?-instance-method","name":"tt_s8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L60"},"def":{"name":"tt_s8?","visibility":"Public","body":"self == TT_S8"}},{"html_id":"tt_string?-instance-method","name":"tt_string?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L62"},"def":{"name":"tt_string?","visibility":"Public","body":"self == TT_STRING"}},{"html_id":"tt_u32?-instance-method","name":"tt_u32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L59"},"def":{"name":"tt_u32?","visibility":"Public","body":"self == TT_U32"}},{"html_id":"tt_u8?-instance-method","name":"tt_u8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L58"},"def":{"name":"tt_u8?","visibility":"Public","body":"self == TT_U8"}}]}]}]},{"html_id":"drivers/Winmate","path":"Winmate.html","kind":"module","full_name":"Winmate","name":"Winmate","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Winmate/LedLightBar","path":"Winmate/LedLightBar.html","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COLOUR_LOOKUP","name":"COLOUR_LOOKUP","value":"{16 => Led::Red, 17 => Led::Green, 18 => Led::Blue}"},{"id":"COLOURS","name":"COLOURS","value":"{Led::Red => 16_u8, Led::Green => 17_u8, Led::Blue => 18_u8}"},{"id":"COMMANDS","name":"COMMANDS","value":"{set: 97_u8, get: 96_u8}"},{"id":"DEFAULT_COLOURS","name":"DEFAULT_COLOURS","value":"{\"red\" => {red: 255_u8, green: 0_u8, blue: 0_u8}, \"green\" => {red: 0_u8, green: 255_u8, blue: 0_u8}, \"blue\" => {red: 0_u8, green: 0_u8, blue: 255_u8}, \"orange\" => {red: 200_u8, green: 0_u8, blue: 0_u8}, \"off\" => {red: 0_u8, green: 0_u8, blue: 0_u8}}"}],"namespace":{"html_id":"drivers/Winmate","kind":"module","full_name":"Winmate","name":"Winmate"},"instance_methods":[{"html_id":"colour(colour:String)-instance-method","name":"colour","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"String"}],"args_string":"(colour : String)","args_html":"(colour : String)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L72"},"def":{"name":"colour","args":[{"name":"colour","external_name":"colour","restriction":"String"}],"visibility":"Public","body":"colours = @colours[colour]\nself[:colour_name] = colour\ncolours.each do |component, intensity|\n led = Led.parse(component.to_s)\n set(led, intensity)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L53"},"def":{"name":"connected","visibility":"Public","body":"@buffer = String.new\ntransport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n bytes[0].to_i\nend\ndo_poll\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Polling Winmate LED\"\n end\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L68"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L121"},"def":{"name":"do_poll","visibility":"Public","body":"query(:red, priority: 0)\nquery(:green, priority: 0)\nquery(:blue, priority: 0)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"colours = (setting?(Colours, :colours)) || Colours.new\n@colours = colours.merge(DEFAULT_COLOURS)\n"}},{"html_id":"query(led:Led,**options)-instance-method","name":"query","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"}],"args_string":"(led : Led, **options)","args_html":"(led : Led, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L104"},"def":{"name":"query","args":[{"name":"led","external_name":"led","restriction":"Led"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(**options.merge({command: :get, colour: led}))"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L127"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received: #{bytes.hexstring}\"\nend\nif check_checksum(bytes)\nelse\n logger.warn do\n \"Error processing response. Possibly incorrect baud rate configured\"\n end\n return task.try(&.abort)\nend\nindicator = bytes[1]\ncolour = COLOUR_LOOKUP[indicator]?\nif colour\n self[colour.to_s.downcase] = bytes[2]\n task.try(&.success(bytes[2]))\nelse\n if indicator == 12\n else\n return task.try(&.abort)\n end\n task.try(&.success)\nend\n"}},{"html_id":"set(led:Led,value:UInt8,**options)-instance-method","name":"set","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(led : Led, value : UInt8, **options)","args_html":"(led : Led, value : UInt8, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L111"},"def":{"name":"set","args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[led.to_s.downcase] = value\ndo_send(**options.merge({command: :set, colour: led, value: value}))\n"}}],"types":[{"html_id":"drivers/Winmate/LedLightBar/Colours","path":"Winmate/LedLightBar/Colours.html","kind":"alias","full_name":"Winmate::LedLightBar::Colours","name":"Colours","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, NamedTuple(red: UInt8, green: UInt8, blue: UInt8))","aliased_html":"Hash(String, {red: UInt8, green: UInt8, blue: UInt8})","const":false,"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"}},{"html_id":"drivers/Winmate/LedLightBar/Led","path":"Winmate/LedLightBar/Led.html","kind":"enum","full_name":"Winmate::LedLightBar::Led","name":"Led","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L84"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L83"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L82"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]}]}]},{"html_id":"drivers/Xovis","path":"Xovis.html","kind":"module","full_name":"Xovis","name":"Xovis","abstract":false,"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Xovis/SensorAPI","path":"Xovis/SensorAPI.html","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{\"line-counts\" => SensorType::QueueSize, \"zone-occupancy-counts\" => SensorType::PeopleCount, \"zone-in-out-counts\" => SensorType::Counter}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Xovis","kind":"module","full_name":"Xovis","name":"Xovis"},"instance_methods":[{"html_id":"capacity_data-instance-method","name":"capacity_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L150"},"def":{"name":"capacity_data","visibility":"Public","body":"response = get(\"/api/info/persistence\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlast_checked = Time.utc.to_unix\n{\"line\", \"zone-occupancy\", \"zone-in-out\"}.each do |count_name|\n xml_key_name = \"//count-#{count_name}-storage\"\n if count_data = (document.xpath_nodes(xml_key_name)).first?\n count_type = (count_name.split(\"-\", 2))[0]\n capacity = xpath_text(document, \"#{xml_key_name}/capacity\", &.to_i)\n key = \"#{count_name}-counts\"\n @state[key] = self[key] = (document.xpath_nodes(\"#{xml_key_name}/count-#{count_type}s/count-#{count_type}\")).map_with_index do |zone, index|\n attrs = {} of String => String | Int32 | Int64 | Nil\n zone.children.each do |child|\n content = child.text.strip\n attrs[child.name] = case child.name\n when \"entry-count\"\n content.to_i\n when \"first-entry\", \"last-entry\"\n content.empty? ? nil : (Time.parse!(content, \"%Y-%m-%dT%H:%M:%S%z\")).to_unix\n when \"text\"\n next\n else\n content\n end\n end\n last_entry = attrs[\"last-entry\"].as(Int64 | ::Nil)\n sensor = case count_name\n when \"line\"\n SensorDetail.new(SensorType::QueueSize, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"line-#{index}\", attrs[\"name\"].as(String))\n when \"zone-occupancy\"\n SensorDetail.new(SensorType::PeopleCount, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-occupancy-#{index}\", \"Occupancy #{attrs[\"name\"].as(String)}\")\n when \"zone-in-out\"\n SensorDetail.new(SensorType::Counter, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-in-out-#{index}\", \"In Out #{attrs[\"name\"].as(String)}\")\n else\n next\n end\n sensor.capacity = capacity\n sensor.last_entry = last_entry\n sensor.first_entry = attrs[\"first-entry\"].as(Int64 | ::Nil)\n sensor\n end.compact\n end\nend\ntrue\n"}},{"html_id":"count_data-instance-method","name":"count_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L130"},"def":{"name":"count_data","visibility":"Public","body":"response = get(\"/api/count-data\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlines = {} of String => NamedTuple(name: String, id: String, type: String, sensor: String, data: Hash(String, String | Int32 | Float32))\nlines_xml = document.xpath_nodes(\"//lines/line\")\nself[:lines] = lines_xml.map do |line|\n attrs = {} of String => String | Hash(String, Int32)\n counts = {} of String => Int32\n line.attributes.each do |attr|\n attrs[attr.name] = attr.content\n end\n line.children.each do |child|\n if child.name == \"text\"\n next\n end\n counts[child.name] = child.text.to_i\n end\n attrs[\"counts\"] = counts\n attrs\nend\n"}},{"html_id":"device_status-instance-method","name":"device_status","doc":"Combined `/info` and `/info/status`","summary":"

Combined /info and /info/status

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L202"},"def":{"name":"device_status","visibility":"Public","body":"response = get(\"/api/info/sensor-status\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nparse_type_info(document, \"version\")\nparse_type_info(document, \"temperature\")\nif sensor = parse_text_info(document, \"sensor\")\n @mac = sensor[\"serial-number\"]? || @mac\nend\nparse_text_info(document, \"illumination\")\nparse_text_info(document, \"configuration\")\nparse_text_info(document, \"operation\")\ntrue\n"}},{"html_id":"get_logs-instance-method","name":"get_logs","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L109"},"def":{"name":"get_logs","visibility":"Public","body":"response = get(\"/api/info/log\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining logs: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_token-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L102"},"def":{"name":"get_token","visibility":"Public","body":"response = get(\"/api/auth/token\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"is_alive?-instance-method","name":"is_alive?","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L122"},"def":{"name":"is_alive?","visibility":"Public","body":"begin\n response = get(\"/api/info/alive\", headers: {\"Accept\" => \"text/xml\"})\n check_success(response)\n true\nrescue\n false\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@poll_rate = ((setting?(Int32, :poll_rate)) || 15).seconds\n@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nquery_capacity = setting?(Bool, :query_capacity)\nquery_counts = setting?(Bool, :query_counts)\nschedule.clear\nschedule.every(@poll_rate) do\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\nschedule.every(5.minutes) do\n device_status\nend\nschedule.in(@poll_rate / 3) do\n device_status\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\n"}},{"html_id":"reset_count-instance-method","name":"reset_count","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L116"},"def":{"name":"reset_count","visibility":"Public","body":"response = get(\"/api/count-data/reset\", headers: {\"Accept\" => \"text/xml\"})\ncheck_success(response)\ntrue\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/xovis/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L58"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n return nil\n end\n index = index_str.to_i\n if sensors = @state[\"#{sensor}-counts\"]?\n sensors[index]?\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/xovis/sensor_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L85"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return @state.values.flatten.map do |__arg0|\n __arg0.as(Interface::Sensor::Detail)\n end\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << @state[key].map do |__arg1|\n __arg1.as(Interface::Sensor::Detail)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}}],"types":[{"html_id":"drivers/Xovis/SensorAPI/SensorDetail","path":"Xovis/SensorAPI/SensorDetail.html","kind":"class","full_name":"Xovis::SensorAPI::SensorDetail","name":"SensorDetail","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Xovis/SensorAPI","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"args_string":"(capacity : Int32 | Nil)","args_html":"(capacity : Int32 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"first_entry:Int64|Nil-instance-method","name":"first_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@first_entry"}},{"html_id":"first_entry=(first_entry:Int64|Nil)-instance-method","name":"first_entry=","abstract":false,"args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"args_string":"(first_entry : Int64 | Nil)","args_html":"(first_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry=","args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@first_entry = first_entry"}},{"html_id":"last_entry:Int64|Nil-instance-method","name":"last_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_entry"}},{"html_id":"last_entry=(last_entry:Int64|Nil)-instance-method","name":"last_entry=","abstract":false,"args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"args_string":"(last_entry : Int64 | Nil)","args_html":"(last_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry=","args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_entry = last_entry"}}]}]}]},{"html_id":"drivers/XYSense","path":"XYSense.html","kind":"module","full_name":"XYSense","name":"XYSense","abstract":false,"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/XYSense/LocationService","path":"XYSense/LocationService.html","kind":"class","full_name":"XYSense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/XYSense","kind":"module","full_name":"XYSense","name":"XYSense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/xy_sense/location_service.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L191"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L196"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\n@occupancy_mappings[zone_id].compact_map do |space_name, space|\n capacity = space.details.capacity\n if capacity == 1\n if space.headcount > 0\n else\n next\n end\n if location.presence && (location != \"desk\")\n next\n end\n {location: :desk, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n else\n if location.presence && (location != \"area\")\n next\n end\n {location: :area, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n end\nend\n"}},{"html_id":"floor_subscriptions-instance-method","name":"floor_subscriptions","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L138"},"def":{"name":"floor_subscriptions","visibility":"Public","body":"@floor_subscriptions.keys"}},{"html_id":"level_state_change(zone_id:String,spaces:Array(Occupancy))-instance-method","name":"level_state_change","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"args_string":"(zone_id : String, spaces : Array(Occupancy))","args_html":"(zone_id : String, spaces : Array(Occupancy))","location":{"filename":"src/xy_sense/location_service.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L161"},"def":{"name":"level_state_change","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"visibility":"Public","body":"begin\n area_occupancy = {} of String => Occupancy\n spaces.each do |space|\n space.details = @space_details[space.space_id]\n space_name = space.details.name\n if space_name\n else\n logger.warn do\n \"missing space name for id #{space.details.id}\"\n end\n next\n end\n area_occupancy[space_name] = space\n end\n @occupancy_mappings[zone_id] = area_occupancy\n area_manager.update_available({zone_id})\nrescue error\n logger.error(exception: error) do\n \"error updating level #{zone_id} space changes\"\n end\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L181"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L186"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@floor_mappings = setting(Hash(String, NamedTuple(zone_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.map do |_, detail|\n detail[:zone_id]\nend\nschedule.clear\nschedule.every(30.minutes) do\n sync_floor_states\nend\n"}},{"html_id":"sync_floor_states-instance-method","name":"sync_floor_states","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L142"},"def":{"name":"sync_floor_states","visibility":"Public","body":"logger.debug do\n \"-- updating space details...\"\nend\ndetails = update_space_details\nlogger.debug do\n \"-- details:\\n#{details}\"\nend\nlogger.debug do\n \"-- grabbing floor details...\"\nend\nxy = xy_sense\n@change_lock.synchronize do\n floor_subscriptions.each do |zone_id|\n level_state_change(zone_id, xy.status(Array(Occupancy), zone_id))\n end\nend\nlogger.debug do\n \"-- floor states synced!\"\nend\n@occupancy_mappings\n"}},{"html_id":"update_space_details-instance-method","name":"update_space_details","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L83"},"def":{"name":"update_space_details","visibility":"Public","body":"@change_lock.synchronize do\n floors = xy_sense.status(Hash(String, FloorDetails), :floors)\n space_details = {} of String => SpaceDetails\n floors.each do |floor_id, floor|\n mapping = @floor_mappings[floor_id]?\n if mapping\n else\n next\n end\n floor.spaces.each do |space|\n space_details[space.id] = space\n end\n end\n @space_details = space_details\nend"}}],"types":[{"html_id":"drivers/XYSense/LocationService/FloorDetails","path":"XYSense/LocationService/FloorDetails.html","kind":"class","full_name":"XYSense::LocationService::FloorDetails","name":"FloorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"doc":"===================================\nBindings into xy-sense data\n===================================","summary":"

=================================== Bindings into xy-sense data ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"floor_name=(floor_name:String)-instance-method","name":"floor_name=","abstract":false,"args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"args_string":"(floor_name : String)","args_html":"(floor_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name=","args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"visibility":"Public","body":"@floor_name = floor_name"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_name:String-instance-method","name":"location_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name","return_type":"String","visibility":"Public","body":"@location_name"}},{"html_id":"location_name=(location_name:String)-instance-method","name":"location_name=","abstract":false,"args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"args_string":"(location_name : String)","args_html":"(location_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name=","args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"visibility":"Public","body":"@location_name = location_name"}},{"html_id":"spaces:Array(SpaceDetails)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces","return_type":"Array(SpaceDetails)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(SpaceDetails))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"args_string":"(spaces : Array(SpaceDetails))","args_html":"(spaces : Array(SpaceDetails))","location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/XYSense/LocationService/Occupancy","path":"XYSense/LocationService/Occupancy.html","kind":"class","full_name":"XYSense::LocationService::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L64"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L65"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"collected:Time-instance-method","name":"collected","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected","return_type":"Time","visibility":"Public","body":"@collected"}},{"html_id":"collected=(collected:Time)-instance-method","name":"collected=","abstract":false,"args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"args_string":"(collected : Time)","args_html":"(collected : Time)","location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected=","args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"visibility":"Public","body":"@collected = collected"}},{"html_id":"details:SpaceDetails-instance-method","name":"details","abstract":false,"def":{"name":"details","return_type":"SpaceDetails","visibility":"Public","body":"if (value = @details).nil?\n ::raise(NilAssertionError.new(\"XYSense::LocationService::Occupancy#details cannot be nil\"))\nelse\n value\nend"}},{"html_id":"details=(details:SpaceDetails)-instance-method","name":"details=","abstract":false,"args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"args_string":"(details : SpaceDetails)","args_html":"(details : SpaceDetails)","location":{"filename":"src/xy_sense/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L75"},"def":{"name":"details=","args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"visibility":"Public","body":"@details = details"}},{"html_id":"details?:SpaceDetails|Nil-instance-method","name":"details?","abstract":false,"def":{"name":"details?","return_type":"SpaceDetails | ::Nil","visibility":"Public","body":"@details"}},{"html_id":"headcount:Int32-instance-method","name":"headcount","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount","return_type":"Int32","visibility":"Public","body":"@headcount"}},{"html_id":"headcount=(headcount:Int32)-instance-method","name":"headcount=","abstract":false,"args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"args_string":"(headcount : Int32)","args_html":"(headcount : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount=","args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"visibility":"Public","body":"@headcount = headcount"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:String)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L67"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/XYSense/LocationService/SpaceDetails","path":"XYSense/LocationService/SpaceDetails.html","kind":"class","full_name":"XYSense::LocationService::SpaceDetails","name":"SpaceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L61"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String"}],"args_string":"(category : String)","args_html":"(category : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L61"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String"}],"visibility":"Public","body":"@category = category"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L59"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]}]}]},{"html_id":"drivers/Zencontrol","path":"Zencontrol.html","kind":"module","full_name":"Zencontrol","name":"Zencontrol","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI","path":"Zencontrol/AdvancedTPI.html","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CODES","name":"ERROR_CODES","value":"{1_u8 => \"The checksum check failed\", 2_u8 => \"A short on the DALI line was detected\", 3_u8 => \"A receive error occured\", 4_u8 => \"The command in the request is unrecognised\", 176_u8 => \"The command requested relies on a paid feature that hasn't been purchsed\", 177_u8 => \"Invalid arguments supplied for the given command in the re quest\", 178_u8 => \"The command couldn't be processed\", 179_u8 => \"The queue or buffer that's required to process the command in the request\\n is full or broken\", 180_u8 => \"The command in the request may stream multiple responses back, but this\\n feature isn't available for some reason\", 181_u8 => \"The DALI related request couldn't be processed due to an error\", 182_u8 => \"There are an insufficient number of the required resource remaining service\\n the request\", 183_u8 => \"An unexpected result occurred\"}"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L61"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L103"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(170_u8, area_id.to_u8)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L81"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(173_u8, area_id.to_u8)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n logger.debug do\n \"Received: #{bytes.hexstring}\"\n end\n bytes.size < 3 ? 0 : ( bytes[2].to_i + 4)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :api_version)) || 4_u8"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L187"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\nio = IO::Memory.new(data)\nresponse = io.read_bytes(ResponseFrame)\ncase response.type\nwhen .okay?, .no_answer?\nwhen .answer?\n if (request = task.try(&.request_payload)) && (request.sequence == response.sequence)\n case request.command\n when 173_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[area.to_s] = response.bytes[0]\n when 170_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[(area.append(\"level\")).to_s] = response.bytes[0]\n else\n logger.debug do\n \"unknown answer for #{request.command.to_s(16)}\\n - req: #{request.to_slice.hexstring}\\n - resp: #{response.to_slice.hexstring}\"\n end\n end\n end\nwhen .error?\n error_code = response.bytes[0]\n error_message = ERROR_CODES[error_code]?\n logger.error do\n \"request failed with code #{error_code}, message: #{error_message}\"\n end\n return task.try(&.abort(error_message))\nend\nif request = task.try(&.request_payload)\n if request.sequence == response.sequence\n return task.try(&.success)\n else\n return\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L89"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u32\nbasic_request(162_u8, area_id.to_u8, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L70"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nself[area.to_s] = scene\nbasic_request(161_u8, area_id.to_u8, scene)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L55"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI/Area","path":"Zencontrol/AdvancedTPI/Area.html","kind":"alias","full_name":"Zencontrol::AdvancedTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"}},{"html_id":"drivers/Zencontrol/AdvancedTPI/BasicRequest","path":"Zencontrol/AdvancedTPI/BasicRequest.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::BasicRequest","name":"BasicRequest","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::BasicRequest]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"basic\", name: version, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: command, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: address, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bitfield\", name: 20, cls: Zencontrol::AdvancedTPI::BasicRequest, onlyif: nil, verify: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: nil, value: -> do\n (((((version ^ sequence) ^ command) ^ address) ^ ((data >> 16) & 255).to_u8) ^ ((data >> 8) & 255).to_u8) ^ (data & 255).to_u8\nend}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L114"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"address:UInt8-instance-method","name":"address","abstract":false,"def":{"name":"address","return_type":"UInt8","visibility":"Public","body":"@address"}},{"html_id":"address=(address:UInt8)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"args_string":"(address : UInt8)","args_html":"(address : UInt8)","def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"visibility":"Public","body":"@address = address"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"command:UInt8-instance-method","name":"command","abstract":false,"def":{"name":"command","return_type":"UInt8","visibility":"Public","body":"@command"}},{"html_id":"command=(command:UInt8)-instance-method","name":"command=","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"args_string":"(command : UInt8)","args_html":"(command : UInt8)","def":{"name":"command=","args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"visibility":"Public","body":"@command = command"}},{"html_id":"data:UInt32-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"UInt32","visibility":"Public","body":"@data"}},{"html_id":"data=(data:UInt32)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"args_string":"(data : UInt32)","args_html":"(data : UInt32)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"visibility":"Public","body":"@data = data"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"version:UInt8-instance-method","name":"version","abstract":false,"def":{"name":"version","return_type":"UInt8","visibility":"Public","body":"@version"}},{"html_id":"version=(version:UInt8)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"args_string":"(version : UInt8)","args_html":"(version : UInt8)","def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"visibility":"Public","body":"@version = version"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseFrame","path":"Zencontrol/AdvancedTPI/ResponseFrame.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::ResponseFrame","name":"ResponseFrame","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::ResponseFrame]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: ResponseType}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: size, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: bytes, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: -> do\n sum = (type.to_u8 ^ sequence) ^ size\n checksum == (bytes.reduce(sum) do |acc, i|\n i ^ acc\n end)\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L175"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"bytes:Bytes-instance-method","name":"bytes","abstract":false,"def":{"name":"bytes","return_type":"Bytes","visibility":"Public","body":"@bytes"}},{"html_id":"bytes=(bytes:Bytes)-instance-method","name":"bytes=","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"args_string":"(bytes : Bytes)","args_html":"(bytes : Bytes)","def":{"name":"bytes=","args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"visibility":"Public","body":"@bytes = bytes"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt8-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt8","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt8)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"args_string":"(size : UInt8)","args_html":"(size : UInt8)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:ResponseType-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"ResponseType","visibility":"Public","body":"@type"}},{"html_id":"type=(type:ResponseType)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"args_string":"(type : ResponseType)","args_html":"(type : ResponseType)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_response_frame(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_response_frame","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_response_frame","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::ResponseFrame = Zencontrol::AdvancedTPI::ResponseFrame.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseType","path":"Zencontrol/AdvancedTPI/ResponseType.html","kind":"enum","full_name":"Zencontrol::AdvancedTPI::ResponseType","name":"ResponseType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L167"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Okay","name":"Okay","value":"160"},{"id":"Answer","name":"Answer","value":"161"},{"id":"NoAnswer","name":"NoAnswer","value":"162"},{"id":"Error","name":"Error","value":"163"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L169"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L171"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"no_answer?-instance-method","name":"no_answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L170"},"def":{"name":"no_answer?","visibility":"Public","body":"self == NoAnswer"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L168"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Zencontrol/ClassicTPI","path":"Zencontrol/ClassicTPI.html","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BROADCAST","name":"BROADCAST","value":"Bytes[255, 255, 255, 255, 255, 255]"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L52"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L88"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[(area.append(\"level\")).to_s]?\nend"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L70"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[area.to_s]?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :version)) || 1_u8\ncontroller = setting?(String, :controller_id)\nif controller\n @controller = (controller.rjust(12, '0')).hexbytes\nelse\n @controller = BROADCAST\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L101"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L76"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u8\narea_id = ((area.id.as(UInt32)).clamp(0, 127)).to_u8\nself[(area.append(\"level\")).to_s] = level\ndo_send(area_id, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L61"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nscene = (scene.clamp(0, 15)) + 16\narea_id = ((area.id.as(UInt32)).clamp(0, 127)) + 128\nself[area.to_s] = scene\ndo_send(area_id.to_u8, scene.to_u8)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L46"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/ClassicTPI/Area","path":"Zencontrol/ClassicTPI/Area.html","kind":"alias","full_name":"Zencontrol::ClassicTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/ClassicTPI","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI"}}]}]}]}} \ No newline at end of file diff --git a/search-index.js b/search-index.js index c76e9ce9c2..6df81b1e19 100644 --- a/search-index.js +++ b/search-index.js @@ -1 +1 @@ -crystal_doc_search_index_callback({"repository_name":"drivers","body":"# PlaceOS Drivers\n\n[![CI](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml/badge.svg)](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml)\n\nManage and test [PlaceOS](https://place.technology) drivers.\n\n## Development\n\n### `harness`\n\n`harness` is a helper for easing development of PlaceOS Drivers.\n\n```\nUsage: ./harness [-h|--help] [command]\n\nHelper script for interfacing with the PlaceOS Driver spec runner\n\nCommand:\n report check all drivers' compilation status\n up starts the harness\n down stops the harness\n build builds drivers and uploads them to S3\n format formats driver code\n help display this message\n```\n\nTo spin up the test harness, clone the repository and run...\n\n```shell-session\n$ ./harness up\n```\n\nPoint a browser to [localhost:8085](http://localhost:8085), and you're good to go.\n\nWhen the environment is not in use, remember to run...\n\n```shell-session\n$ ./harness down\n```\n\nBefore committing, please run...\n\n```shell-session\n$ ./harness format\n```\n\n## Documentation\n\n- [Existing Driver Docs](https://placeos.github.io/drivers/)\n- [Writing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver)\n- [Testing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver/testing-drivers)\n- [Sending Emails](docs/guide-event-emails.md)\n- [Environment Setup](docs/setup.md)\n- [Runtime Debugging](docs/runtime-debugging.md)\n- [Directory Structure](docs/directory_structure.md)\n- [PlaceOS Spec Runner HTTP API](docs/http-api.md)\n\n## Contributing\n\n1. [Fork it](https://github.com/PlaceOS/drivers/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","program":{"html_id":"drivers/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"}],"locations":[],"repository_name":"drivers","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"CAPTURE_STATUS","name":"CAPTURE_STATUS","value":"\" \\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n 2014-02-12T15:30:00.000Z\\n 3000\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n \\n John Doe\\n \\n \\n
\\n \\n Some other capture\\n 2014-02-13T15:30:00.000Z\\n 1500\\n
Some other capture
\\n \\n \\n Steve\\n \\n \\n
\\n
\""},{"id":"DEFAULT_PASSWORD_EXCLUDE","name":"DEFAULT_PASSWORD_EXCLUDE","value":"\"0Oo1Il`'\\\\/\""},{"id":"DEFAULT_PASSWORD_LENGTH","name":"DEFAULT_PASSWORD_LENGTH","value":"6","doc":"Password defaults","summary":"

Password defaults

"},{"id":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","name":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","name":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","name":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","value":"0"},{"id":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","name":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","value":"0"},{"id":"DESK_LOC","name":"DESK_LOC","value":"{\"location\" => \"desk\", \"at_location\" => true, \"map_id\" => \"desk-4-1006\", \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"},{"id":"EXAMPLE_COLOCATION","name":"EXAMPLE_COLOCATION","value":"\"[\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1b\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 7662\\n }\\n ]\\n },\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1e\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 2386\\n }\\n ]\\n }\\n ]\""},{"id":"EXAMPLE_RESPONSE","name":"EXAMPLE_RESPONSE","value":"\"{\\\"content\\\": #{EXAMPLE_COLOCATION}}\""},{"id":"PASSWORD_LOWERCASE_CHARACTERS","name":"PASSWORD_LOWERCASE_CHARACTERS","value":"('a'..'z').to_a"},{"id":"PASSWORD_NUMBER_CHARACTERS","name":"PASSWORD_NUMBER_CHARACTERS","value":"('0'..'9').to_a"},{"id":"PASSWORD_SYMBOL_CHARACTERS","name":"PASSWORD_SYMBOL_CHARACTERS","value":"['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '{', '}', '[', ']', '|', '\\\\', ':', ';', '\"', '\\'', '<', '>', ',', '.', '?', '/', '`', '~']"},{"id":"PASSWORD_UPPERCASE_CHARACTERS","name":"PASSWORD_UPPERCASE_CHARACTERS","value":"('A'..'Z').to_a"},{"id":"RAW_GUEST_RESPONSE","name":"RAW_GUEST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Guest\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": false,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RAW_HASH_RESPONSE","name":"RAW_HASH_RESPONSE","value":"\"{\\n \\\"host\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJCWXpoYmV4W\\\",\\n \\\"short\\\": \\\"abc1234\\\"\\n }],\\n \\\"guest\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJaVVJsejNsb1\\\",\\n \\\"short\\\": \\\"def1234\\\"\\n }],\\n \\\"baseUrl\\\": \\\"https://somedomain.com/chat/\\\"\\n}\""},{"id":"RAW_HOST_RESPONSE","name":"RAW_HOST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Host\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": true,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RETVAL","name":"RETVAL","value":"\"{\\n \\\"space_id\\\":\\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"host_token\\\":\\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"guest_token\\\":\\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"host_url\\\": \\\"https://somedomain.com/chat/abc1234\\\",\\n \\\"guest_url\\\": \\\"https://somedomain.com/chat/def1234\\\"\\n}\""},{"id":"SPACES_RESPONSE","name":"SPACES_RESPONSE","value":"[{\"id\" => 96978, \"location\" => {\"id\" => 775, \"scalingFactor\" => nil, \"raw\" => true, \"policy\" => true}, \"name\" => \"WS7-01\", \"srf\" => {\"x\" => 91, \"y\" => 2169, \"z\" => 0}, \"marker\" => {\"type\" => \"CIRCLE\", \"data\" => \"20\"}, \"category\" => {\"id\" => 297, \"name\" => \"Assigned Desks\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => true, \"iconUrl\" => nil, \"colorScheme\" => \"#ffb3b3\", \"orderingIndex\" => 113}, \"sensingPolicyId\" => 247, \"department\" => {\"id\" => 498, \"name\" => \"Sales\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => nil}, \"subCategory\" => {\"id\" => 194, \"name\" => \"None\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => 194}, \"device\" => {\"id\" => 2016090160, \"displayName\" => \"1609010160\", \"updatedAt\" => nil, \"floorId\" => nil, \"shape\" => nil, \"coord\" => nil, \"blessId\" => 1609010160, \"blessQr\" => nil, \"accessedAt\" => \"2021-03-11T08:06:01.000+0000\", \"installedOn\" => nil, \"licenseeId\" => nil, \"hardware\" => nil, \"network\" => nil, \"itemId\" => nil}, \"markerUniqueId\" => \"K_2493713878097_18542\", \"live\" => false, \"capacity\" => 1, \"counter\" => \"NO_COUNTER\", \"serial\" => 1, \"locationId\" => 775, \"counted\" => true}].to_json"},{"id":"SYSTEM_STATUS","name":"SYSTEM_STATUS","value":"\" \\n 2014-02-12T15:02:19.037Z\\n \\n 3.0\\n \\n \\n Audio Only (Podcast). Balanced between file size & quality\\n Display Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n DualDisplay (Podcast/Vodcast/EchoPlayer). Optimized for file size & bandwidth\\n Dual Video (Podcast/Vodcast/EchoPlayer) -Balance between file size & quality\\n Dual Video (Podcast/Vodcast/EchoPlayer) -High Quality\\n Video Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n media\\n 2014-02-12T23:00:00.000Z\\n 3000\\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n John Doe\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n archive\\n \\n \\n \\n balanced\\n stereo\\n -6\\n 44100\\n 0\\n false\\n \\n \\n 1\\n dvi\\n 50\\n 50\\n 50\\n 10.0\\n 960\\n 720\\n true\\n true\\n \\n \\n 2\\n composite\\n 50\\n 50\\n 50\\n 29.97\\n 704\\n 480\\n true\\n false\\n ntsc\\n \\n \\n audio\\n aac\\n true\\n \\n 128000\\n lc\\n \\n \\n \\n graphics1\\n h264\\n \\n vbr\\n 736000\\n 1104000\\n base\\n 50\\n \\n \\n \\n graphics2\\n h264\\n \\n vbr\\n 1056000\\n 1584000\\n base\\n 150\\n \\n \\n \\n audio-archive\\n \\n file\\n audio.aac\\n \\n \\n \\n graphics1-archive\\n \\n file\\n display.h264\\n \\n \\n \\n graphics2-archive\\n \\n file\\n video.h264\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\""},{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"WIRELESS_LOC","name":"WIRELESS_LOC","value":"{\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => 16.764784482481577, \"y\" => 25.435735950388988, \"lng\" => 55.274935030154325, \"lat\" => 25.201036346211698, \"variance\" => 7.944837533996209, \"last_seen\" => 1601526474, \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"}],"included_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"extended_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"class_methods":[{"html_id":"create_request(mode:String,device_name:String,modbus_device:String,md5:String,file_time:String,file_descriptor:String,file_name:String,file:String|Nil)-class-method","name":"create_request","doc":"Some of these fields may not be present in every request but\nhaving them there doesn't hurt anything so why bother removing them","summary":"

Some of these fields may not be present in every request but having them there doesn't hurt anything so why bother removing them

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"args_string":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","args_html":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","location":{"filename":"src/leviton/acquisuite_spec.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite_spec.cr#L87"},"def":{"name":"create_request","args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"visibility":"Public","body":"if file.nil?\n file = \"fileplaceholder\"\nend\n\"--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODE\\\"\\n\\n#{mode}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICENAME\\\"\\n\\n#{device_name}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICE\\\"\\n\\n#{modbus_device}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MD5CHECKSUM\\\"\\n\\n#{md5}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"FILETIME\\\"\\n\\n#{file_time}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"#{file_descriptor}\\\"; filename=\\\"#{file_name}\\\"\\nContent-Type: application/octet-stream;\\n\\n#{file}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY--\\n\"\n"}},{"html_id":"generate_password(length:Int32|Nil=DEFAULT_PASSWORD_LENGTH,exclude:String|Nil=DEFAULT_PASSWORD_EXCLUDE,minimum_lowercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_LOWERCASE,minimum_uppercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_UPPERCASE,minimum_numbers:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_NUMBERS,minimum_symbols:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_SYMBOLS):String-class-method","name":"generate_password","abstract":false,"args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"args_string":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","args_html":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","location":{"filename":"src/place/password_generator_helper.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/password_generator_helper.cr#L14"},"def":{"name":"generate_password","args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"return_type":"String","visibility":"Public","body":"length || (length = DEFAULT_PASSWORD_LENGTH)\nexclude || (exclude = DEFAULT_PASSWORD_EXCLUDE)\nminimum_lowercase || (minimum_lowercase = DEFAULT_PASSWORD_MINIMUM_LOWERCASE)\nminimum_uppercase || (minimum_uppercase = DEFAULT_PASSWORD_MINIMUM_UPPERCASE)\nminimum_numbers || (minimum_numbers = DEFAULT_PASSWORD_MINIMUM_NUMBERS)\nminimum_symbols || (minimum_symbols = DEFAULT_PASSWORD_MINIMUM_SYMBOLS)\nminimums = ((minimum_lowercase + minimum_uppercase) + minimum_numbers) + minimum_symbols\nif length < minimums\n length = minimums\nend\ncharacters = [] of Char\nif minimum_lowercase > 0\n characters = PASSWORD_LOWERCASE_CHARACTERS\nend\nif minimum_uppercase > 0\n characters = characters + PASSWORD_UPPERCASE_CHARACTERS\nend\nif minimum_numbers > 0\n characters = characters + PASSWORD_NUMBER_CHARACTERS\nend\nif minimum_symbols > 0\n characters = characters + PASSWORD_SYMBOL_CHARACTERS\nend\ncharacters = characters - exclude.chars\nif characters.empty?\n characters = (PASSWORD_LOWERCASE_CHARACTERS + PASSWORD_NUMBER_CHARACTERS) - DEFAULT_PASSWORD_EXCLUDE.chars\nend\npassword = [] of Char\nminimum_lowercase.times do\n password << (PASSWORD_LOWERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_uppercase.times do\n password << (PASSWORD_UPPERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_numbers.times do\n password << (PASSWORD_NUMBER_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_symbols.times do\n password << (PASSWORD_SYMBOL_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\n(length - minimums).times do\n password << characters.sample(random: Random::Secure)\nend\npassword.shuffle(random: Random::Secure).join\n"}}],"types":[{"html_id":"drivers/AmberTech","path":"AmberTech.html","kind":"module","full_name":"AmberTech","name":"AmberTech","abstract":false,"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AmberTech/Devices","path":"AmberTech/Devices.html","kind":"class","full_name":"AmberTech::Devices","name":"Devices","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_ip:String-instance-method","name":"current_ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L37"},"def":{"name":"current_ip","return_type":"String","visibility":"Public","body":"@current_ip"}},{"html_id":"device_info:Array(DevInfo)-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L34"},"def":{"name":"device_info","return_type":"Array(DevInfo)","visibility":"Public","body":"@device_info"}}]},{"html_id":"drivers/AmberTech/DevInfo","path":"AmberTech/DevInfo.html","kind":"class","full_name":"AmberTech::DevInfo","name":"DevInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L16"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L17"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"ip_gateway:String-instance-method","name":"ip_gateway","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L23"},"def":{"name":"ip_gateway","return_type":"String","visibility":"Public","body":"@ip_gateway"}},{"html_id":"ip_subnet:String-instance-method","name":"ip_subnet","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L20"},"def":{"name":"ip_subnet","return_type":"String","visibility":"Public","body":"@ip_subnet"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"pass:String|Nil-instance-method","name":"pass","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L25"},"def":{"name":"pass","return_type":"String | ::Nil","visibility":"Public","body":"@pass"}},{"html_id":"pass2:String|Nil-instance-method","name":"pass2","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L26"},"def":{"name":"pass2","return_type":"String | ::Nil","visibility":"Public","body":"@pass2"}},{"html_id":"status:Status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L27"},"def":{"name":"status","return_type":"Status","visibility":"Public","body":"@status"}},{"html_id":"ver:String-instance-method","name":"ver","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L15"},"def":{"name":"ver","return_type":"String","visibility":"Public","body":"@ver"}}]},{"html_id":"drivers/AmberTech/Grandview","path":"AmberTech/Grandview.html","kind":"class","full_name":"AmberTech::Grandview","name":"Grandview","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L109"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:down)"}},{"html_id":"down?-instance-method","name":"down?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L113"},"def":{"name":"down?","visibility":"Public","body":"{\"closed\", \"closing\"}.includes?(self[\"status\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moveable interface","summary":"

moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L30"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"command = case position\nwhen .up?, .close?, .in?\n \"/Close.js?a=100\"\nwhen .down?, .open?, .out?\n \"/Open.js?a=100\"\nelse\n raise(\"unsupported move option: #{position}\")\nend\nqueue(name: \"move\") do |task|\n response = get(command, headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 2.seconds\nschedule.every(1.minute) do\n status\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L59"},"def":{"name":"status","visibility":"Public","body":"if queue.online\n queue(name: \"status\", priority: 0) do |task|\n response = perform_status_request\n if response.success?\n task.success(parse_status(response))\n else\n task.abort(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n end\nelse\n response = perform_status_request\n if response.success?\n parse_status(response)\n end\nend"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"stoppable interface","summary":"

stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/amber_tech/grandview.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L49"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"queue(name: \"stop\", priority: 999, clear_queue: emergency) do |task|\n response = get(\"/Stop.js?a=100\", headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","doc":"compatibility with Screen Technics","summary":"

compatibility with Screen Technics

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L101"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:up)"}},{"html_id":"up?-instance-method","name":"up?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview.cr#L105"},"def":{"name":"up?","visibility":"Public","body":"{\"opened\", \"opening\"}.includes?(self[\"status\"]?)"}}]},{"html_id":"drivers/AmberTech/Status","path":"AmberTech/Status.html","kind":"enum","full_name":"AmberTech::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stop","name":"Stop","value":"0"},{"id":"Opening","name":"Opening","value":"1"},{"id":"Opened","name":"Opened","value":"2"},{"id":"Closing","name":"Closing","value":"3"},{"id":"Closed","name":"Closed","value":"4"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L9"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"closing?-instance-method","name":"closing?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L8"},"def":{"name":"closing?","visibility":"Public","body":"self == Closing"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L7"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}},{"html_id":"opening?-instance-method","name":"opening?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L6"},"def":{"name":"opening?","visibility":"Public","body":"self == Opening"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L5"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/AmberTech/StatusResp","path":"AmberTech/StatusResp.html","kind":"class","full_name":"AmberTech::StatusResp","name":"StatusResp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L41"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:Status|String-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amber_tech/grandview_models.cr#L43"},"def":{"name":"status","return_type":"Status | String","visibility":"Public","body":"@status"}}]}]},{"html_id":"drivers/Amx","path":"Amx.html","kind":"module","full_name":"Amx","name":"Amx","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Amx/Svsi","path":"Amx/Svsi.html","kind":"module","full_name":"Amx::Svsi","name":"Svsi","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Amx","kind":"module","full_name":"Amx","name":"Amx"},"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","path":"Amx/Svsi/NSeriesDecoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"OutputModes","name":"OutputModes","value":"[\"auto\", \"1080p59.94\", \"1080p60\", \"720p60\", \"4K30\", \"4K25\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L41"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L49"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L208"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"live(state:Bool=true)-instance-method","name":"live","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L86"},"def":{"name":"live","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? do_send(Command::Live) : local(self[:playlist].as_i)"}},{"html_id":"local(playlist:Int32=0)-instance-method","name":"local","abstract":false,"args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"args_string":"(playlist : Int32 = 0)","args_html":"(playlist : Int32 = 0)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L90"},"def":{"name":"local","args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Local, playlist)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L72"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\n do_send(Command::Mute, name: :mute)\n do_send(Command::SetAudio, 0)\nelse\n do_send(Command::SetAudio, @previous_stream || 0)\n do_send(Command::Unmute, name: :mute)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"output_resolution(mode:String)-instance-method","name":"output_resolution","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L108"},"def":{"name":"output_resolution","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if OutputModes.includes?(mode)\nelse\n logger.error do\n \"\\\"#{mode}\\\" is not a valid resolution\"\n end\n return\nend\ndo_send(Command::ModeSet, mode)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nprop, value = data.split(':')\ncase Response.from_mapped_value?(prop.downcase)\nin Response::Stream\n self[:video] = @stream = value.to_i\nin Response::StreamAudio\n stream_id = value.to_i\n self[:audio_actual] = stream_id\n self[:audio] = stream_id == 0 ? ( @mute ? 0 : @stream) : stream_id\nin Response::Name\n self[:device_name] = value\nin Response::Playmode\n self[:local_playback] = value == \"local\"\nin Response::Playlist\n self[:playlist] = value.to_i\nin Response::Mute\n self[:mute] = @mute = value == \"1\"\nin Response::ScalerBypass\n self[:scaler_active] = value != \"no\"\nin Response::Mode\n self[:output_res] = value\nin Response::InputRes\n self[:input_res] = value\nin Nil\n raise(\"Unexpected response: #{prop}\")\nend\ntask.try(&.success)\n"}},{"html_id":"scaler(state:Bool)-instance-method","name":"scaler","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L94"},"def":{"name":"scaler","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"action = state ? Command::ScalerEnable : Command::ScalerDisable\ndo_send(action, name: :scaler)\n"}},{"html_id":"switch_audio(stream_id:Int32)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L62"},"def":{"name":"switch_audio","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"@previous_stream = stream_id\nunmute\n"}},{"html_id":"switch_kvm(ip_address:String,video_follow:Bool=true)-instance-method","name":"switch_kvm","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"args_string":"(ip_address : String, video_follow : Bool = true)","args_html":"(ip_address : String, video_follow : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L67"},"def":{"name":"switch_kvm","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"visibility":"Public","body":"host = \"#{ip_address},#{video_follow ? 1 : 0}\"\ndo_send(Command::SwitchKVM, host)\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L53"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"switch_video(input)\nswitch_audio(0)\n"}},{"html_id":"switch_video(stream_id:Int32)-instance-method","name":"switch_video","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L58"},"def":{"name":"switch_video","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Set, stream_id)"}},{"html_id":"videowall(width:Int32,height:Int32,x_pos:Int32,y_pos:Int32,scale:VideowallScalingMode=VideowallScalingMode::Auto)-instance-method","name":"videowall","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"args_string":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","args_html":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L116"},"def":{"name":"videowall","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"if width > 1 && height > 1\n videowall_size(width, height)\n videowall_position(x_pos, y_pos)\n videowall_scaling(scale)\n videowall_enable\nelse\n videowall_disable\nend"}},{"html_id":"videowall_disable-instance-method","name":"videowall_disable","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L138"},"def":{"name":"videowall_disable","visibility":"Public","body":"videowall_enable(false)"}},{"html_id":"videowall_enable(state:Bool=true)-instance-method","name":"videowall_enable","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L133"},"def":{"name":"videowall_enable","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? \"on\" : \"off\"\ndo_send(Command::SetSettings, \"wallEnable\", state)\n"}},{"html_id":"videowall_position(x:Int32,y:Int32)-instance-method","name":"videowall_position","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(x : Int32, y : Int32)","args_html":"(x : Int32, y : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L147"},"def":{"name":"videowall_position","args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallMonPosV\", x)\ndo_send(Command::SetSettings, \"wallMonPosH\", y)\n"}},{"html_id":"videowall_scaling(scaling_mode:VideowallScalingMode)-instance-method","name":"videowall_scaling","abstract":false,"args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"args_string":"(scaling_mode : VideowallScalingMode)","args_html":"(scaling_mode : VideowallScalingMode)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L158"},"def":{"name":"videowall_scaling","args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallStretch\", scaling_mode)"}},{"html_id":"videowall_size(width:Int32,height:Int32)-instance-method","name":"videowall_size","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(width : Int32, height : Int32)","args_html":"(width : Int32, height : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L142"},"def":{"name":"videowall_size","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallHorMons\", width)\ndo_send(Command::SetSettings, \"wallVerMons\", height)\n"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Command","path":"Amx/Svsi/NSeriesDecoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"Set","name":"Set","value":"1"},{"id":"SetSettings","name":"SetSettings","value":"2"},{"id":"SwitchKVM","name":"SwitchKVM","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Unmute","name":"Unmute","value":"5"},{"id":"SetAudio","name":"SetAudio","value":"6"},{"id":"Live","name":"Live","value":"7"},{"id":"Local","name":"Local","value":"8"},{"id":"ScalerEnable","name":"ScalerEnable","value":"9"},{"id":"ScalerDisable","name":"ScalerDisable","value":"10"},{"id":"ModeSet","name":"ModeSet","value":"11"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mode_set?-instance-method","name":"mode_set?","abstract":false,"def":{"name":"mode_set?","visibility":"Public","body":"self == ModeSet"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"scaler_disable?-instance-method","name":"scaler_disable?","abstract":false,"def":{"name":"scaler_disable?","visibility":"Public","body":"self == ScalerDisable"}},{"html_id":"scaler_enable?-instance-method","name":"scaler_enable?","abstract":false,"def":{"name":"scaler_enable?","visibility":"Public","body":"self == ScalerEnable"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"def":{"name":"set?","visibility":"Public","body":"self == Set"}},{"html_id":"set_audio?-instance-method","name":"set_audio?","abstract":false,"def":{"name":"set_audio?","visibility":"Public","body":"self == SetAudio"}},{"html_id":"set_settings?-instance-method","name":"set_settings?","abstract":false,"def":{"name":"set_settings?","visibility":"Public","body":"self == SetSettings"}},{"html_id":"switch_kvm?-instance-method","name":"switch_kvm?","abstract":false,"def":{"name":"switch_kvm?","visibility":"Public","body":"self == SwitchKVM"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Response","path":"Amx/Svsi/NSeriesDecoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stream","name":"Stream","value":"0"},{"id":"StreamAudio","name":"StreamAudio","value":"1"},{"id":"Name","name":"Name","value":"2"},{"id":"Playmode","name":"Playmode","value":"3"},{"id":"Playlist","name":"Playlist","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"ScalerBypass","name":"ScalerBypass","value":"6"},{"id":"Mode","name":"Mode","value":"7"},{"id":"InputRes","name":"InputRes","value":"8"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"input_res?-instance-method","name":"input_res?","abstract":false,"def":{"name":"input_res?","visibility":"Public","body":"self == InputRes"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playlist?-instance-method","name":"playlist?","abstract":false,"def":{"name":"playlist?","visibility":"Public","body":"self == Playlist"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"scaler_bypass?-instance-method","name":"scaler_bypass?","abstract":false,"def":{"name":"scaler_bypass?","visibility":"Public","body":"self == ScalerBypass"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}},{"html_id":"stream_audio?-instance-method","name":"stream_audio?","abstract":false,"def":{"name":"stream_audio?","visibility":"Public","body":"self == StreamAudio"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/VideowallScalingMode","path":"Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::VideowallScalingMode","name":"VideowallScalingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L152"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Fit","name":"Fit","value":"1"},{"id":"Stretch","name":"Stretch","value":"2"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L153"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"fit?-instance-method","name":"fit?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L154"},"def":{"name":"fit?","visibility":"Public","body":"self == Fit"}},{"html_id":"stretch?-instance-method","name":"stretch?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_decoder.cr#L155"},"def":{"name":"stretch?","visibility":"Public","body":"self == Stretch"}}]}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","path":"Amx/Svsi/NSeriesEncoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L8"},{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CommonCommands","name":"CommonCommands","value":"[:monitor, :monitornotify, :live, :local, :serial, :readresponse, :sendir, :sendirraw, :audioon, :audiooff, :enablehdmiaudio, :disablehdmiaudio, :autohdmiaudio, :record, :dsrecord, :dvrswitch1, :dvrswitch2, :mpeg, :mpegall, :deletempegfile, :play, :stop, :pause, :unpause, :fastforward, :rewind, :deletefile, :stepforward, :stepreverse, :stoprecord, :recordhold, :recordrelease, :playhold, :playrelease, :deleteallplaylist, :deleteallmpegs, :remotecopy, :wpswitch, :wpaudioin, :wpactive, :wpinactive, :wpaudioon, :wpaudiooff, :wpmodeon, :wpmodeoff, :wparrange, :wpbackground, :wpcrop, :wppriority, :wpbordon, :wpbordoff, :wppreset, :atrswitch, :atrmute, :atrunmute, :atrtxmute, :atrtxunmute, :atrhpvol, :atrlovol, :atrlovolup, :atrlovoldown, :atrhpvolup, :atrhpvoldown, :openrelay, :closerelay, :videowall, :script, :goto, :tcpclient, :udpclient, :reboot, :gc_serial, :gc_openrelay, :gc_closerelay, :gc_ir]"},{"id":"Modes","name":"Modes","value":"(1..8).map(&.to_s)"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"atrhpvol(ip_address:String,*args,**options)-instance-method","name":"atrhpvol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvol\", ip_address, *args, **options)"}},{"html_id":"atrhpvoldown(ip_address:String,*args,**options)-instance-method","name":"atrhpvoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvoldown\", ip_address, *args, **options)"}},{"html_id":"atrhpvolup(ip_address:String,*args,**options)-instance-method","name":"atrhpvolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvolup\", ip_address, *args, **options)"}},{"html_id":"atrlovol(ip_address:String,*args,**options)-instance-method","name":"atrlovol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovol\", ip_address, *args, **options)"}},{"html_id":"atrlovoldown(ip_address:String,*args,**options)-instance-method","name":"atrlovoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovoldown\", ip_address, *args, **options)"}},{"html_id":"atrlovolup(ip_address:String,*args,**options)-instance-method","name":"atrlovolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovolup\", ip_address, *args, **options)"}},{"html_id":"atrmute(ip_address:String,*args,**options)-instance-method","name":"atrmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrmute\", ip_address, *args, **options)"}},{"html_id":"atrswitch(ip_address:String,*args,**options)-instance-method","name":"atrswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrswitch\", ip_address, *args, **options)"}},{"html_id":"atrtxmute(ip_address:String,*args,**options)-instance-method","name":"atrtxmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxmute\", ip_address, *args, **options)"}},{"html_id":"atrtxunmute(ip_address:String,*args,**options)-instance-method","name":"atrtxunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxunmute\", ip_address, *args, **options)"}},{"html_id":"atrunmute(ip_address:String,*args,**options)-instance-method","name":"atrunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrunmute\", ip_address, *args, **options)"}},{"html_id":"audiofollow(output:InOut,*args,**options)-instance-method","name":"audiofollow","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"audiofollow","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiofollow\", get_output(output), *args, **options)"}},{"html_id":"audiooff(ip_address:String,*args,**options)-instance-method","name":"audiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiooff\", ip_address, *args, **options)"}},{"html_id":"audioon(ip_address:String,*args,**options)-instance-method","name":"audioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audioon\", ip_address, *args, **options)"}},{"html_id":"autocc(input:InOut,*args,**options)-instance-method","name":"autocc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"autocc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autocc\", get_input(input), *args, **options)"}},{"html_id":"autohdmiaudio(ip_address:String,*args,**options)-instance-method","name":"autohdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"autohdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autohdmiaudio\", ip_address, *args, **options)"}},{"html_id":"closerelay(ip_address:String,*args,**options)-instance-method","name":"closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"closerelay\", ip_address, *args, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L40"},"def":{"name":"connected","visibility":"Public","body":"@lookup.each_key do |ip_address|\n monitor(ip_address, priority: 0)\n monitornotify(ip_address, priority: 0)\nend\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Maintaining Connection --\"\n end\n monitornotify(@list.first, priority: 0)\nend\n"}},{"html_id":"cropref(output:InOut,*args,**options)-instance-method","name":"cropref","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"cropref","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"cropref\", get_output(output), *args, **options)"}},{"html_id":"deleteallmpegs(ip_address:String,*args,**options)-instance-method","name":"deleteallmpegs","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallmpegs","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallmpegs\", ip_address, *args, **options)"}},{"html_id":"deleteallplaylist(ip_address:String,*args,**options)-instance-method","name":"deleteallplaylist","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallplaylist","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallplaylist\", ip_address, *args, **options)"}},{"html_id":"deletefile(ip_address:String,*args,**options)-instance-method","name":"deletefile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletefile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletefile\", ip_address, *args, **options)"}},{"html_id":"deletempegfile(ip_address:String,*args,**options)-instance-method","name":"deletempegfile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletempegfile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletempegfile\", ip_address, *args, **options)"}},{"html_id":"disablecc(input:InOut,*args,**options)-instance-method","name":"disablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"disablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablecc\", get_input(input), *args, **options)"}},{"html_id":"disablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"disablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"disablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L48"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L111"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"do_send(*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L201"},"def":{"name":"do_send","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"cmd = args.join(' ')\nlogger.debug do\n \"sending #{cmd}\"\nend\nsend(\"#{cmd}\\r\\n\", **options)\n"}},{"html_id":"dsrecord(ip_address:String,*args,**options)-instance-method","name":"dsrecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dsrecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dsrecord\", ip_address, *args, **options)"}},{"html_id":"dvioff(output:InOut,*args,**options)-instance-method","name":"dvioff","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvioff","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvioff\", get_output(output), *args, **options)"}},{"html_id":"dvion(output:InOut,*args,**options)-instance-method","name":"dvion","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvion","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvion\", get_output(output), *args, **options)"}},{"html_id":"dvrswitch1(ip_address:String,*args,**options)-instance-method","name":"dvrswitch1","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch1","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch1\", ip_address, *args, **options)"}},{"html_id":"dvrswitch2(ip_address:String,*args,**options)-instance-method","name":"dvrswitch2","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch2","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch2\", ip_address, *args, **options)"}},{"html_id":"enablecc(input:InOut,*args,**options)-instance-method","name":"enablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"enablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablecc\", get_input(input), *args, **options)"}},{"html_id":"enablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"enablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"enablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"fastforward(ip_address:String,*args,**options)-instance-method","name":"fastforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"fastforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"fastforward\", ip_address, *args, **options)"}},{"html_id":"gc_closerelay(ip_address:String,*args,**options)-instance-method","name":"gc_closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_closerelay\", ip_address, *args, **options)"}},{"html_id":"gc_ir(ip_address:String,*args,**options)-instance-method","name":"gc_ir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_ir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_ir\", ip_address, *args, **options)"}},{"html_id":"gc_openrelay(ip_address:String,*args,**options)-instance-method","name":"gc_openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_openrelay\", ip_address, *args, **options)"}},{"html_id":"gc_serial(ip_address:String,*args,**options)-instance-method","name":"gc_serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_serial\", ip_address, *args, **options)"}},{"html_id":"getStatus(output:InOut,*args,**options)-instance-method","name":"getStatus","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"getStatus","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"getStatus\", get_output(output), *args, **options)"}},{"html_id":"goto(ip_address:String,*args,**options)-instance-method","name":"goto","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"goto","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"goto\", ip_address, *args, **options)"}},{"html_id":"live(ip_address:String,*args,**options)-instance-method","name":"live","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"live","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"live\", ip_address, *args, **options)"}},{"html_id":"local(ip_address:String,*args,**options)-instance-method","name":"local","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"local","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"local\", ip_address, *args, **options)"}},{"html_id":"media_source(mode:String)-instance-method","name":"media_source","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L58"},"def":{"name":"media_source","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if mode == \"live\"\n do_send(Command::Live)\nelse\n if Modes.includes?(mode)\n do_send(Command::Local, mode)\n else\n raise(\"invalid mode #{mode}\")\n end\nend"}},{"html_id":"modeoff(input:InOut,*args,**options)-instance-method","name":"modeoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"modeoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"modeoff\", get_input(input), *args, **options)"}},{"html_id":"monitor(ip_address:String,*args,**options)-instance-method","name":"monitor","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitor","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitor\", ip_address, *args, **options)"}},{"html_id":"monitornotify(ip_address:String,*args,**options)-instance-method","name":"monitornotify","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitornotify","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitornotify\", ip_address, *args, **options)"}},{"html_id":"mpeg(ip_address:String,*args,**options)-instance-method","name":"mpeg","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpeg","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpeg\", ip_address, *args, **options)"}},{"html_id":"mpegall(ip_address:String,*args,**options)-instance-method","name":"mpegall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpegall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpegall\", ip_address, *args, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L155"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"address = index.is_a?(Int32) && (val = @encoders[index]? || @decoders[index]?) ? val : index.as(String)\nif state\n if layer.audio_video? || layer.video?\n dvioff(address)\n end\n if layer.audio_video? || layer.audio?\n audiooff(address)\n end\nelse\n if layer.audio_video? || layer.video?\n dvion(address)\n end\n if layer.audio_video? || layer.audio?\n audioon(address)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = (setting?(Hash(String, String), :inputs)) || ({} of String => String)\n@outputs = (setting?(Hash(String, String), :outputs)) || ({} of String => String)\n@encoders = @inputs.keys\n@decoders = @outputs.keys\n@lookup = @inputs.merge(@outputs)\n@list = @encoders + @decoders\n"}},{"html_id":"openrelay(ip_address:String,*args,**options)-instance-method","name":"openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"openrelay\", ip_address, *args, **options)"}},{"html_id":"pause(ip_address:String,*args,**options)-instance-method","name":"pause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"pause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"pause\", ip_address, *args, **options)"}},{"html_id":"play(ip_address:String,*args,**options)-instance-method","name":"play","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"play","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"play\", ip_address, *args, **options)"}},{"html_id":"playhold(ip_address:String,*args,**options)-instance-method","name":"playhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playhold\", ip_address, *args, **options)"}},{"html_id":"playrelease(ip_address:String,*args,**options)-instance-method","name":"playrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playrelease\", ip_address, *args, **options)"}},{"html_id":"readresponse(ip_address:String,*args,**options)-instance-method","name":"readresponse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"readresponse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"readresponse\", ip_address, *args, **options)"}},{"html_id":"reboot(ip_address:String,*args,**options)-instance-method","name":"reboot","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"reboot","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"reboot\", ip_address, *args, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L170"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nresp = data.split(':')\ncase resp.size\nwhen 13\n self[resp[0]] = {communications: resp[1] == \"1\", dvioff: resp[2] == \"1\", scaler: resp[3] == \"1\", source_detected: resp[4] == \"1\", mode: resp[5], audio_enabled: resp[6] == \"1\", video_stream: resp[7].to_i, audio_stream: resp[8] == \"follow video\" ? resp[8] : resp[8].to_i, playlist: resp[9], colorspace: resp[10], hdmiaudio: resp[11], resolution: resp[12]}\nwhen 10\n self[resp[0]] = resp\nelse\n logger.warn do\n \"unknown response type: #{resp}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"record(ip_address:String,*args,**options)-instance-method","name":"record","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"record","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"record\", ip_address, *args, **options)"}},{"html_id":"recordhold(ip_address:String,*args,**options)-instance-method","name":"recordhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordhold\", ip_address, *args, **options)"}},{"html_id":"recordrelease(ip_address:String,*args,**options)-instance-method","name":"recordrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordrelease\", ip_address, *args, **options)"}},{"html_id":"remotecopy(ip_address:String,*args,**options)-instance-method","name":"remotecopy","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"remotecopy","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"remotecopy\", ip_address, *args, **options)"}},{"html_id":"rewind(ip_address:String,*args,**options)-instance-method","name":"rewind","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"rewind","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"rewind\", ip_address, *args, **options)"}},{"html_id":"script(ip_address:String,*args,**options)-instance-method","name":"script","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"script","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"script\", ip_address, *args, **options)"}},{"html_id":"sendir(ip_address:String,*args,**options)-instance-method","name":"sendir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendir\", ip_address, *args, **options)"}},{"html_id":"sendirraw(ip_address:String,*args,**options)-instance-method","name":"sendirraw","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendirraw","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendirraw\", ip_address, *args, **options)"}},{"html_id":"serial(ip_address:String,*args,**options)-instance-method","name":"serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"serial\", ip_address, *args, **options)"}},{"html_id":"serialhex(ip_address:String,wait_time:Int32=1,*data,**options)-instance-method","name":"serialhex","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"args_string":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","args_html":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L85"},"def":{"name":"serialhex","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":2,"visibility":"Public","body":"do_send(\"serialhex\", wait_time, ip_address, *data, **options)"}},{"html_id":"stepforward(ip_address:String,*args,**options)-instance-method","name":"stepforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepforward\", ip_address, *args, **options)"}},{"html_id":"stepreverse(ip_address:String,*args,**options)-instance-method","name":"stepreverse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepreverse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepreverse\", ip_address, *args, **options)"}},{"html_id":"stop(ip_address:String,*args,**options)-instance-method","name":"stop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stop\", ip_address, *args, **options)"}},{"html_id":"stoprecord(ip_address:String,*args,**options)-instance-method","name":"stoprecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stoprecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stoprecord\", ip_address, *args, **options)"}},{"html_id":"switch(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L103"},"def":{"name":"switch","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n dvion(output_actual, **options)\n audioon(output_actual, **options)\n audiofollow(output_actual, **options)\n self[\"video#{output_actual}\"] = input_actual\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switch, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n output_actual = get_output(o)\n dvioff(output_actual, **options)\n audiooff(output_actual, **options)\n end\n end\nend"}},{"html_id":"switch_audio(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L131"},"def":{"name":"switch_audio","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n audioon(input_actual, **options)\n audioon(output_actual, **options)\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switchaudio, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n audiooff(get_output(o), **options)\n end\n end\nend"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L52"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::VideoSource, input, **options)"}},{"html_id":"tcpclient(ip_address:String,*args,**options)-instance-method","name":"tcpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"tcpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"tcpclient\", ip_address, *args, **options)"}},{"html_id":"udpclient(ip_address:String,*args,**options)-instance-method","name":"udpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"udpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"udpclient\", ip_address, *args, **options)"}},{"html_id":"uncompressedoff(input:InOut,*args,**options)-instance-method","name":"uncompressedoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"uncompressedoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"uncompressedoff\", get_input(input), *args, **options)"}},{"html_id":"unpause(ip_address:String,*args,**options)-instance-method","name":"unpause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"unpause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"unpause\", ip_address, *args, **options)"}},{"html_id":"videowall(ip_address:String,*args,**options)-instance-method","name":"videowall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"videowall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"videowall\", ip_address, *args, **options)"}},{"html_id":"volume(output:InOut,*args,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"volume","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"volume\", get_output(output), *args, **options)"}},{"html_id":"wpactive(ip_address:String,*args,**options)-instance-method","name":"wpactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpactive\", ip_address, *args, **options)"}},{"html_id":"wparrange(ip_address:String,*args,**options)-instance-method","name":"wparrange","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wparrange","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wparrange\", ip_address, *args, **options)"}},{"html_id":"wpaudioin(ip_address:String,*args,**options)-instance-method","name":"wpaudioin","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioin","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioin\", ip_address, *args, **options)"}},{"html_id":"wpaudiooff(ip_address:String,*args,**options)-instance-method","name":"wpaudiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudiooff\", ip_address, *args, **options)"}},{"html_id":"wpaudioon(ip_address:String,*args,**options)-instance-method","name":"wpaudioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioon\", ip_address, *args, **options)"}},{"html_id":"wpbackground(ip_address:String,*args,**options)-instance-method","name":"wpbackground","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbackground","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbackground\", ip_address, *args, **options)"}},{"html_id":"wpbordoff(ip_address:String,*args,**options)-instance-method","name":"wpbordoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordoff\", ip_address, *args, **options)"}},{"html_id":"wpbordon(ip_address:String,*args,**options)-instance-method","name":"wpbordon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordon\", ip_address, *args, **options)"}},{"html_id":"wpcrop(ip_address:String,*args,**options)-instance-method","name":"wpcrop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpcrop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpcrop\", ip_address, *args, **options)"}},{"html_id":"wpinactive(ip_address:String,*args,**options)-instance-method","name":"wpinactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpinactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpinactive\", ip_address, *args, **options)"}},{"html_id":"wpmodeoff(ip_address:String,*args,**options)-instance-method","name":"wpmodeoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeoff\", ip_address, *args, **options)"}},{"html_id":"wpmodeon(ip_address:String,*args,**options)-instance-method","name":"wpmodeon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeon\", ip_address, *args, **options)"}},{"html_id":"wppreset(ip_address:String,*args,**options)-instance-method","name":"wppreset","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppreset","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppreset\", ip_address, *args, **options)"}},{"html_id":"wppriority(ip_address:String,*args,**options)-instance-method","name":"wppriority","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppriority","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppriority\", ip_address, *args, **options)"}},{"html_id":"wpswitch(ip_address:String,*args,**options)-instance-method","name":"wpswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpswitch\", ip_address, *args, **options)"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Command","path":"Amx/Svsi/NSeriesEncoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"VideoSource","name":"VideoSource","value":"1"},{"id":"Live","name":"Live","value":"2"},{"id":"Local","name":"Local","value":"3"},{"id":"Disable","name":"Disable","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"Unmute","name":"Unmute","value":"6"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"disable?-instance-method","name":"disable?","abstract":false,"def":{"name":"disable?","visibility":"Public","body":"self == Disable"}},{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}},{"html_id":"video_source?-instance-method","name":"video_source?","abstract":false,"def":{"name":"video_source?","visibility":"Public","body":"self == VideoSource"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/InOut","path":"Amx/Svsi/NSeriesEncoder/InOut.html","kind":"alias","full_name":"Amx::Svsi::NSeriesEncoder::InOut","name":"InOut","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_switcher.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Int32 | String)","aliased_html":"Int32 | String","const":false,"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"}},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Input","path":"Amx/Svsi/NSeriesEncoder/Input.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmionly","name":"Hdmionly","value":"0"},{"id":"Vgaonly","name":"Vgaonly","value":"1"},{"id":"Hdmivga","name":"Hdmivga","value":"2"},{"id":"Vgahdmi","name":"Vgahdmi","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"hdmionly?-instance-method","name":"hdmionly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L12"},"def":{"name":"hdmionly?","visibility":"Public","body":"self == Hdmionly"}},{"html_id":"hdmivga?-instance-method","name":"hdmivga?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L14"},"def":{"name":"hdmivga?","visibility":"Public","body":"self == Hdmivga"}},{"html_id":"vgahdmi?-instance-method","name":"vgahdmi?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L15"},"def":{"name":"vgahdmi?","visibility":"Public","body":"self == Vgahdmi"}},{"html_id":"vgaonly?-instance-method","name":"vgaonly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L13"},"def":{"name":"vgaonly?","visibility":"Public","body":"self == Vgaonly"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Response","path":"Amx/Svsi/NSeriesEncoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L82"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Name","name":"Name","value":"0"},{"id":"Stream","name":"Stream","value":"1"},{"id":"Playmode","name":"Playmode","value":"2"},{"id":"Mute","name":"Mute","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L86"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L83"},"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L85"},"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/n_series_encoder.cr#L84"},"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}}]}]},{"html_id":"drivers/Amx/Svsi/VirtualSwitcher","path":"Amx/Svsi/VirtualSwitcher.html","kind":"class","full_name":"Amx::Svsi::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L22"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nconnect(map) do |mod, stream|\n if layer.all? || layer.audio?\n mod.switch_audio(stream)\n end\n if layer.all? || layer.video?\n mod.switch_video(stream)\n end\nend\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/amx/svsi/virtual_switcher.cr#L18"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"decoders.each(&.switch_to(input))"}}]}]}]},{"html_id":"drivers/Ashrae","path":"Ashrae.html","kind":"module","full_name":"Ashrae","name":"Ashrae","abstract":false,"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Ashrae/BACnet","path":"Ashrae/BACnet.html","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L157"},"def":{"name":"connected","visibility":"Public","body":"bbmd_ip = setting?(String, :bbmd_ip)\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"device(device_id:UInt32)-instance-method","name":"device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L205"},"def":{"name":"device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device_details((get_device(device_id)).not_nil!)"}},{"html_id":"devices-instance-method","name":"devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L209"},"def":{"name":"devices","visibility":"Public","body":"device_registry.devices.map do |device|\n device_details(device)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L55"},"def":{"name":"on_load","visibility":"Public","body":"server = UDPSocket.new\nserver.bind(\"0.0.0.0\", 47808)\nserver.write_timeout = 200.milliseconds\n@udp_server = server\nqueue.timeout = 2.seconds\nclient = ::BACnet::Client::IPv4.new(0, 2.seconds)\nclient.on_transmit do |message, address|\n if address.address == Socket::IPAddress::BROADCAST\n if @bbmd_forwarding.size == 4\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::ForwardedNPDU\n message.data_link.address.ip1 = @bbmd_forwarding[0]\n message.data_link.address.ip2 = @bbmd_forwarding[1]\n message.data_link.address.ip3 = @bbmd_forwarding[2]\n message.data_link.address.ip4 = @bbmd_forwarding[3]\n message.data_link.address.port = 47808_u16\n end\n logger.debug do\n \"sending broadcase message #{message.inspect}\"\n end\n devices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\n devices.each do |dev|\n begin\n server.send(message, to: dev.address)\n rescue error\n logger.warn(exception: error) do\n \"error sending message to #{dev.address}\"\n end\n end\n end\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::DistributeBroadcastToNetwork\n payload = DispatchProtocol.new\n payload.message = DispatchProtocol::MessageType::WRITE\n payload.ip_address = @bbmd_ip.address\n payload.id_or_port = @bbmd_ip.port.to_u64\n payload.data = message.to_slice\n transport.send(payload.to_slice)\n else\n server.send(message, to: address)\n end\nend\n@bacnet_client = client\nregistry = ::BACnet::Client::DeviceRegistry.new(client, logger)\nregistry.on_new_device do |device|\n new_device_found(device)\nend\n@device_registry = registry\nspawn do\n process_data(server, client)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L128"},"def":{"name":"on_unload","visibility":"Public","body":"udp_server.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L132"},"def":{"name":"on_update","visibility":"Public","body":"bbmd_ip = (setting?(String, :bbmd_ip)) || \"\"\nbbmd_forwarding = (setting?(String, :bbmd_forwarding)) || \"\"\n@bbmd_forwarding = (bbmd_forwarding.strip.split(\".\")).select(&.presence).map(&.to_u8)\nif bbmd_ip.presence\n @bbmd_ip = Socket::IPAddress.new(bbmd_ip, 47808)\nend\n@verbose_debug = (setting?(Bool, :verbose_debug)) || false\nschedule.clear\nschedule.in(5.seconds) do\n query_known_devices\nend\npoll_period = (setting?(UInt32, :poll_period)) || 3\nschedule.every(poll_period.minutes) do\n logger.debug do\n \"--- Polling all known bacnet devices\"\n end\n keys = @mutex.synchronize do\n @devices.keys\n end\n keys.each do |device_id|\n poll_device(device_id)\n end\nend\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"packets_processed:UInt64-instance-method","name":"packets_processed","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L153"},"def":{"name":"packets_processed","visibility":"Public","body":"@packets_processed"}},{"html_id":"perform_discovery:Nil-instance-method","name":"perform_discovery","doc":"Performs a WhoIs discovery against the BACnet network","summary":"

Performs a WhoIs discovery against the BACnet network

","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L258"},"def":{"name":"perform_discovery","return_type":"Nil","visibility":"Public","body":"bacnet_client.who_is"}},{"html_id":"poll_device(device_id:UInt32)-instance-method","name":"poll_device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L232"},"def":{"name":"poll_device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device = get_device(device_id)\nif device\nelse\n return false\nend\nclient = bacnet_client\nobjects = @mutex.synchronize do\n device.objects.dup\nend\nobjects.each do |obj|\n if obj.object_type.in?(::BACnet::Client::DeviceRegistry::OBJECTS_WITH_VALUES)\n else\n next\n end\n name = object_binding(device_id, obj)\n queue(name: name, priority: 0, timeout: 500.milliseconds) do |task|\n spawn_action(task) do\n obj.sync_value(client)\n self[name] = object_value(obj)\n end\n end\n Fiber.yield\nend\ntrue\n"}},{"html_id":"query_known_devices-instance-method","name":"query_known_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L213"},"def":{"name":"query_known_devices","visibility":"Public","body":"sent = [] of UInt32\n@seen_devices.each_value do |info|\n sent << info.id.not_nil!\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\nend\ndevices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\ndevices.each do |info|\n if id = info.id\n if id.in?(sent)\n next\n end\n sent << id\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\n end\nend\n\"inspected #{sent.size} devices\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/ashrae/bacnet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L406"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"protocol = (IO::Memory.new(data)).read_bytes(DispatchProtocol)\nlogger.debug do\n \"received message: #{protocol.message} #{protocol.ip_address}:#{protocol.id_or_port} (size #{protocol.data_size})\"\nend\nif protocol.message.received?\n message = (IO::Memory.new(protocol.data)).read_bytes(::BACnet::Message::IPv4)\n if @verbose_debug\n logger.debug do\n \"dispatch sent:\\n#{message.inspect}\"\n end\n end\n bacnet_client.received(message, @bbmd_ip)\n app = message.application\n is_iam = false\n is_cov = case app\n when ::BACnet::ConfirmedRequest\n app.service.cov_notification?\n when ::BACnet::UnconfirmedRequest\n is_iam = app.service.i_am?\n app.service.cov_notification?\n else\n false\n end\n network = message.network\n if network && is_cov\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n if network.source_specifier\n addr = network.source_address\n net = network.source.network\n end\n device = message.objects.find do |obj|\n obj.tag == 1\n end.not_nil!.to_object_id.instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, net, addr)\n end\n if network && is_iam\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n details = ::BACnet::Client::Message::IAm.parse(message)\n device = details[:object_id].instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, details[:network], details[:address])\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_seen_devices-instance-method","name":"save_seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L631"},"def":{"name":"save_seen_devices","visibility":"Public","body":"define_setting(:known_devices, @seen_devices.values)"}},{"html_id":"seen_devices:Hash(UInt32,Ashrae::DeviceAddress)-instance-method","name":"seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":463,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L463"},"def":{"name":"seen_devices","visibility":"Public","body":"@seen_devices"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/ashrae/bacnet.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L601"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ndevice_id = mac.to_u32?\nif device_id\nelse\n return nil\nend\ndevice = get_device(device_id)\nif device\nelse\n return nil\nend\nobj_type_string, instance_id_string = id.split('[', 2)\ninstance_id = instance_id_string.rchop.to_u32?\nif instance_id\nelse\n return nil\nend\nobject_type = ObjectType.parse?(obj_type_string)\nif object_type\nelse\n return nil\nend\nobject = get_object_details(device_id, instance_id, object_type)\nif object.changed < 1.minutes.ago\n begin\n object.sync_value(bacnet_client)\n rescue error\n logger.warn(exception: error) do\n \"failed to obtain latest value for sensor at #{mac}.#{id}\"\n end\n end\nend\nto_sensor(device_id, device, object)\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/ashrae/bacnet.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L577"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n if mac\n device_id = mac.to_u32?\n if device_id\n else\n return NO_MATCH\n end\n device = get_device(device_id)\n if device\n else\n return NO_MATCH\n end\n return device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n matches = @mutex.synchronize do\n @devices.map do |__arg4|\n device_id = __arg4[0]\n device = __arg4[1]\n device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"update_value(device_id:UInt32,instance_id:UInt32,object_type:ObjectType)-instance-method","name":"update_value","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","args_html":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","location":{"filename":"src/ashrae/bacnet.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L264"},"def":{"name":"update_value","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"obj = get_object_details(device_id, instance_id, object_type)\nname = object_binding(device_id, obj)\nqueue(name: name, priority: 50) do |task|\n spawn_action(task) do\n obj.sync_value(bacnet_client)\n self[name] = object_value(obj)\n end\nend\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L29"},"def":{"name":"websocket_headers","visibility":"Public","body":"dispatcher_key = setting?(String, :dispatcher_key)\nHTTP::Headers {\"Authorization\" => \"Bearer #{dispatcher_key}\", \"X-Module-ID\" => module_id}\n"}},{"html_id":"write_binary(device_id:UInt32,instance_id:UInt32,value:Bool,object_type:ObjectType=ObjectType::BinaryValue)-instance-method","name":"write_binary","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L371"},"def":{"name":"write_binary","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"val = value ? 1 : 0\nobject = get_object_details(device_id, instance_id, object_type)\nval = ::BACnet::Object.new.set_value(val)\nval.short_tag = 9_u8\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, val, network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_double(device_id:UInt32,instance_id:UInt32,value:Float64,object_type:ObjectType=ObjectType::LargeAnalogValue)-instance-method","name":"write_double","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L299"},"def":{"name":"write_double","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_real(device_id:UInt32,instance_id:UInt32,value:Float32,object_type:ObjectType=ObjectType::AnalogValue)-instance-method","name":"write_real","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L281"},"def":{"name":"write_real","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_signed_int(device_id:UInt32,instance_id:UInt32,value:Int64,object_type:ObjectType=ObjectType::IntegerValue)-instance-method","name":"write_signed_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L335"},"def":{"name":"write_signed_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_string(device_id:UInt32,instance_id:UInt32,value:String,object_type:ObjectType=ObjectType::CharacterStringValue)-instance-method","name":"write_string","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L353"},"def":{"name":"write_string","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_unsigned_int(device_id:UInt32,instance_id:UInt32,value:UInt64,object_type:ObjectType=ObjectType::PositiveIntegerValue)-instance-method","name":"write_unsigned_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L317"},"def":{"name":"write_unsigned_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}}],"types":[{"html_id":"drivers/Ashrae/BACnet/DeviceInfo","path":"Ashrae/BACnet/DeviceInfo.html","kind":"alias","full_name":"Ashrae::BACnet::DeviceInfo","name":"DeviceInfo","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::Client::DeviceRegistry::DeviceInfo","aliased_html":"BACnet::Client::DeviceRegistry::DeviceInfo","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}},{"html_id":"drivers/Ashrae/BACnet/ObjectType","path":"Ashrae/BACnet/ObjectType.html","kind":"alias","full_name":"Ashrae::BACnet::ObjectType","name":"ObjectType","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet.cr#L262"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::ObjectIdentifier::ObjectType","aliased_html":"BACnet::ObjectIdentifier::ObjectType","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}}]},{"html_id":"drivers/Ashrae/BACnetDataPoints","path":"Ashrae/BACnetDataPoints.html","kind":"class","full_name":"Ashrae::BACnetDataPoints","name":"BACnetDataPoints","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_datapoints.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\npoints = setting(Hash(String, String), :points)\npoints.each do |__arg0|\n key = __arg0[0]\n status = __arg0[1]\n bacnet.subscribe(status) do |_sub, payload|\n self[key] = JSON.parse(payload)\n end\nend\n"}}]},{"html_id":"drivers/Ashrae/DeviceAddress","path":"Ashrae/DeviceAddress.html","kind":"class","full_name":"Ashrae::DeviceAddress","name":"DeviceAddress","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"constructors":[{"html_id":"new(ip:String,id:UInt32|Nil,net:UInt16|Nil,addr:Nil|String)-class-method","name":"new","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"args_string":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","args_html":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L8"},"def":{"name":"new","args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ip, id, net, addr)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"addr:String|Nil-instance-method","name":"addr","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L14"},"def":{"name":"addr","return_type":"String | ::Nil","visibility":"Public","body":"@addr"}},{"html_id":"address-instance-method","name":"address","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L16"},"def":{"name":"address","visibility":"Public","body":"Socket::IPAddress.new(@ip, 47808)"}},{"html_id":"id:UInt32|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L12"},"def":{"name":"id","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"identifier-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L20"},"def":{"name":"identifier","visibility":"Public","body":"::BACnet::ObjectIdentifier.new(:device, @id.not_nil!)"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L11"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"net:UInt16|Nil-instance-method","name":"net","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L13"},"def":{"name":"net","return_type":"UInt16 | ::Nil","visibility":"Public","body":"@net"}}]},{"html_id":"drivers/Ashrae/DispatchProtocol","path":"Ashrae/DispatchProtocol.html","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Ashrae::DispatchProtocol]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: message, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: MessageType}, {type: \"string\", name: ip_address, cls: String, onlyif: nil, verify: nil, length: nil, value: nil, encoding: nil}, {type: \"basic\", name: id_or_port, cls: UInt64, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: data_size, cls: UInt32, onlyif: nil, verify: nil, value: -> do\n data.size\nend}, {type: \"bytes\", name: data, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n data_size\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L26"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Bytes)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data_size:UInt32-instance-method","name":"data_size","abstract":false,"def":{"name":"data_size","return_type":"UInt32","visibility":"Public","body":"@data_size"}},{"html_id":"data_size=(data_size:UInt32)-instance-method","name":"data_size=","abstract":false,"args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"args_string":"(data_size : UInt32)","args_html":"(data_size : UInt32)","def":{"name":"data_size=","args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"visibility":"Public","body":"@data_size = data_size"}},{"html_id":"id_or_port:UInt64-instance-method","name":"id_or_port","abstract":false,"def":{"name":"id_or_port","return_type":"UInt64","visibility":"Public","body":"@id_or_port"}},{"html_id":"id_or_port=(id_or_port:UInt64)-instance-method","name":"id_or_port=","abstract":false,"args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"args_string":"(id_or_port : UInt64)","args_html":"(id_or_port : UInt64)","def":{"name":"id_or_port=","args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"visibility":"Public","body":"@id_or_port = id_or_port"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"message:MessageType-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"MessageType","visibility":"Public","body":"@message"}},{"html_id":"message=(message:MessageType)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"args_string":"(message : MessageType)","args_html":"(message : MessageType)","def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"visibility":"Public","body":"@message = message"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}}],"types":[{"html_id":"drivers/Ashrae/DispatchProtocol/MessageType","path":"Ashrae/DispatchProtocol/MessageType.html","kind":"enum","full_name":"Ashrae::DispatchProtocol::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L28"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"OPENED","name":"OPENED","value":"0"},{"id":"CLOSED","name":"CLOSED","value":"1"},{"id":"RECEIVED","name":"RECEIVED","value":"2"},{"id":"WRITE","name":"WRITE","value":"3"},{"id":"CLOSE","name":"CLOSE","value":"4"}],"namespace":{"html_id":"drivers/Ashrae/DispatchProtocol","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol"},"instance_methods":[{"html_id":"close?-instance-method","name":"close?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L33"},"def":{"name":"close?","visibility":"Public","body":"self == CLOSE"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L30"},"def":{"name":"closed?","visibility":"Public","body":"self == CLOSED"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L29"},"def":{"name":"opened?","visibility":"Public","body":"self == OPENED"}},{"html_id":"received?-instance-method","name":"received?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L31"},"def":{"name":"received?","visibility":"Public","body":"self == RECEIVED"}},{"html_id":"write?-instance-method","name":"write?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/ashrae/bacnet_models.cr#L32"},"def":{"name":"write?","visibility":"Public","body":"self == WRITE"}}]}]}]},{"html_id":"drivers/Aver","path":"Aver.html","kind":"module","full_name":"Aver","name":"Aver","abstract":false,"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Aver/Auth","path":"Aver/Auth.html","kind":"struct","full_name":"Aver::Auth","name":"Auth","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L14"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/Aver/AxisSelect","path":"Aver/AxisSelect.html","kind":"enum","full_name":"Aver::AxisSelect","name":"AxisSelect","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pan","name":"Pan","value":"0"},{"id":"Tilt","name":"Tilt","value":"1"},{"id":"Zoom","name":"Zoom","value":"2"},{"id":"Focus","name":"Focus","value":"3"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L8"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L5"},"def":{"name":"pan?","visibility":"Public","body":"self == Pan"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L6"},"def":{"name":"tilt?","visibility":"Public","body":"self == Tilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L7"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Aver/Cam520Pro","path":"Aver/Cam520Pro.html","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"send(\"token:#{authenticate}\")\nschedule.clear\nschedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.minutes) do\n keep_alive\nend\npan?\ntilt?\nzoom?\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L67"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L129"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\nif pan_speed.abs >= tilt_speed.abs\n axis = AxisSelect::Pan\n stop = AxisSelect::Tilt\n dir = pan_speed >= 0.0 ? 0 : 1\n cmd = pan_speed.zero? ? 2 : 1\nelse\n stop = AxisSelect::Pan\n axis = AxisSelect::Tilt\n dir = tilt_speed >= 0.0 ? 0 : 1\n cmd = tilt_speed.zero? ? 2 : 1\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: stop.to_i, dir: dir, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: axis.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L95"},"def":{"name":"keep_alive","visibility":"Public","body":"send(\"alive\")"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L289"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\ntransport.before_request do |request|\n logger.debug do\n \"performing request: #{request.method} #{request.path}\\n#{String.new((request.body.as(IO::Memory)).to_slice)}\"\n end\n if request.path != \"/login_name\"\n bearer = bearer_token.presence || authenticate\n request.headers[\"Authorization\"] = \"Bearer #{bearer}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\nif @username != \"spec\"\n device_host = URI.parse(config.uri.not_nil!)\n device_host.port = nil\n transport.http_uri_override = device_host\nend\n@zoom_max = setting(Int32, :zoom_max)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L216"},"def":{"name":"pan?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_p_s\"}.to_json)\n@pan_pos = parse(response, Int32)\n"}},{"html_id":"pan_direct(position:Int32)-instance-method","name":"pan_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L196"},"def":{"name":"pan_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_p\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"pan_pos:Int32-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L99"},"def":{"name":"pan_pos","return_type":"Int32","visibility":"Public","body":"@pan_pos"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"dummy interface as no power command, camera is always on","summary":"

dummy interface as no power command, camera is always on

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/aver/cam520_pro.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L347"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L170"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n zoom_native(zoom_pos)\n pan_direct(pan_pos)\n tilt_direct(tilt_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task):Nil-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task) : Nil","args_html":"(data, task) : Nil","location":{"filename":"src/aver/cam520_pro.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L103"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"return_type":"Nil","visibility":"Public","body":"begin\n data = String.new(data)\n logger.debug do\n \"Camera sent: #{data}\"\n end\n payload = (Event.from_json(data)).data\n case payload\n in Option\n value = payload.value.to_i\n case payload.option\n in .ptz_ps?\n @pan_pos = value\n in .ptz_ts?\n @tilt_pos = value\n in .ptz_zs?\n @zoom_pos = value\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n end\n in Event\n raise(\"not possible\")\n end\nensure\n task.try(&.success)\nend"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L186"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L181"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/aver/cam520_pro.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L310"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"spawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Tilt.to_i, dir: 0, cmd: 2}.to_json)\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Pan.to_i, dir: 0, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: 0, cmd: 2}.to_json)\nparse(response, Nil)\n"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L225"},"def":{"name":"tilt?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_t_s\"}.to_json)\n@tilt_pos = parse(response, Int32)\n"}},{"html_id":"tilt_direct(position:Int32)-instance-method","name":"tilt_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L206"},"def":{"name":"tilt_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_t\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"tilt_pos:Int32-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L100"},"def":{"name":"tilt_pos","return_type":"Int32","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L243"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .stop?\n dir = 0\n cmd = 2\nin .out?\n dir = 1\n cmd = 1\nin .in?\n dir = 0\n cmd = 1\nend\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L276"},"def":{"name":"zoom?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_z_s\"}.to_json)\n@zoom_pos = value = parse(response, Int32)\nself[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n"}},{"html_id":"zoom_native(position:Int32)-instance-method","name":"zoom_native","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L266"},"def":{"name":"zoom_native","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_z\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"zoom_pos:Int32-instance-method","name":"zoom_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L101"},"def":{"name":"zoom_pos","return_type":"Int32","visibility":"Public","body":"@zoom_pos"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L237"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_native((percentage * @zoom_max.to_f).to_i)\n"}}],"macros":[{"html_id":"parse(response,klass=::Union(Nil,::Nil))-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"args_string":"(response, klass = ::Union(Nil, ::Nil))","args_html":"(response, klass = ::Union(Nil, ::Nil))","location":{"filename":"src/aver/cam520_pro.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L79"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"visibility":"Public","body":" check_success(\n{{ response }}\n)\n HttpResponse(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!).data\n \n"}}],"types":[{"html_id":"drivers/Aver/Cam520Pro/Presets","path":"Aver/Cam520Pro/Presets.html","kind":"alias","full_name":"Aver::Cam520Pro::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro.cr#L167"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(Int32, Int32, Int32))","aliased_html":"Hash(String, {Int32, Int32, Int32})","const":false,"namespace":{"html_id":"drivers/Aver/Cam520Pro","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro"}}]},{"html_id":"drivers/Aver/Event","path":"Aver/Event.html","kind":"struct","full_name":"Aver::Event","name":"Event","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Aver/EventOption","kind":"struct","full_name":"Aver::EventOption","name":"EventOption"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"event\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'event' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'event'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"option\"\n EventOption.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'event' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L28"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]},{"html_id":"drivers/Aver/EventOption","path":"Aver/EventOption.html","kind":"struct","full_name":"Aver::EventOption","name":"EventOption","abstract":false,"superclass":{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Option-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L51"},"def":{"name":"data","return_type":"Option","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Aver/HttpResponse","path":"Aver/HttpResponse.html","kind":"struct","full_name":"Aver::HttpResponse(Data)","name":"HttpResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L20"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L22"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"msg:String-instance-method","name":"msg","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L21"},"def":{"name":"msg","return_type":"String","visibility":"Public","body":"@msg"}}]},{"html_id":"drivers/Aver/Option","path":"Aver/Option.html","kind":"struct","full_name":"Aver::Option","name":"Option","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"option:OptionType-instance-method","name":"option","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L44"},"def":{"name":"option","return_type":"OptionType","visibility":"Public","body":"@option"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L45"},"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Aver/OptionType","path":"Aver/OptionType.html","kind":"enum","full_name":"Aver::OptionType","name":"OptionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PtzPS","name":"PtzPS","value":"0"},{"id":"PtzTS","name":"PtzTS","value":"1"},{"id":"PtzZS","name":"PtzZS","value":"2"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"ptz_ps?-instance-method","name":"ptz_ps?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L36"},"def":{"name":"ptz_ps?","visibility":"Public","body":"self == PtzPS"}},{"html_id":"ptz_ts?-instance-method","name":"ptz_ts?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L37"},"def":{"name":"ptz_ts?","visibility":"Public","body":"self == PtzTS"}},{"html_id":"ptz_zs?-instance-method","name":"ptz_zs?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aver/cam520_pro_models.cr#L38"},"def":{"name":"ptz_zs?","visibility":"Public","body":"self == PtzZS"}}]}]},{"html_id":"drivers/AWS","path":"AWS.html","kind":"module","full_name":"AWS","name":"AWS","abstract":false,"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AWS/SnsSms","path":"AWS/SnsSms.html","kind":"class","full_name":"AWS::SnsSms","name":"SnsSms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/AWS","kind":"module","full_name":"AWS","name":"AWS"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"access_key = setting(String, :aws_access_key)\nsecret = setting(String, :aws_secret)\nuri_parts = (URI.parse(config.uri.not_nil!)).host.not_nil!.split('.')\nservice = uri_parts[0]\nregion = uri_parts[1]\n@signer = Awscr::Signer::Signers::V4.new(service, region, access_key, secret)\ntransport.before_request do |request|\n signer.sign(request)\nend\n"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/aws/sns_sms.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L40"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponses = phone_numbers.map do |number|\n params = URI::Params.build do |form|\n form.add(\"Action\", \"Publish\")\n form.add(\"PhoneNumber\", number)\n form.add(\"Message\", message)\n if source\n if source =~ (/^\\+?\\d{5,14}$/)\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.MM.SMS.OriginationNumber\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source)\n else\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.SNS.SMS.SenderID\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source.gsub(' ', '-'))\n end\n end\n end\n post(\"/?#{params}\", headers: HTTP::Headers {\"Accept\" => \"application/json\"})\nend\nresponses.each do |response|\n if response.success?\n else\n raise(\"request failed with #{response.status_code}: #{response.body}\")\n end\nend\nnil\n"}},{"html_id":"signer:Awscr::Signer::Signers::V4-instance-method","name":"signer","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L25"},"def":{"name":"signer","return_type":"Awscr::Signer::Signers::V4","visibility":"Public","body":"if (value = @signer).nil?\n ::raise(NilAssertionError.new(\"AWS::SnsSms#signer cannot be nil\"))\nelse\n value\nend"}},{"html_id":"signer?:Awscr::Signer::Signers::V4|Nil-instance-method","name":"signer?","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/aws/sns_sms.cr#L25"},"def":{"name":"signer?","return_type":"Awscr::Signer::Signers::V4 | ::Nil","visibility":"Public","body":"@signer"}}]}]},{"html_id":"drivers/Biamp","path":"Biamp.html","kind":"module","full_name":"Biamp","name":"Biamp","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L3"},{"filename":"src/biamp/tesira.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Biamp/Nexia","path":"Biamp/Nexia.html","kind":"class","full_name":"Biamp::Nexia","name":"Nexia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/nexia.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L19"},"def":{"name":"connected","visibility":"Public","body":"send(Bytes[255, 254, 1], wait: false)\nschedule.every(60.seconds, true) do\n query_device_id\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(id:Int32,level:Float64|Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L78"},"def":{"name":"fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = get_range(type)\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = level_actual + range.begin.to_f\nsend(Command[:SETD, device_id, type.mapped_value, id, index, level_actual], name: \"fader_#{id}\")\n"}},{"html_id":"mixer(id:Int32,inouts:Hash(Int32,Array(Int32))|Array(Int32),mute:Bool=false,type:Mixer=Mixer::Matrix)-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"args_string":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","args_html":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","location":{"filename":"src/biamp/nexia.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L44"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"visibility":"Public","body":"value = mute ? 0 : 1\nif inouts.is_a?(Hash)\n inouts.each do |input, outputs|\n outputs.each do |output|\n send(Command[:SET, device_id, type.mapped_value, id, input, output, value])\n end\n end\nelse\n inouts.each do |input|\n send(Command[:SET, device_id, Mixer::Auto.mapped_value, id, input, value])\n end\nend\n"}},{"html_id":"mute(id:Int32,state:Bool=true,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L106"},"def":{"name":"mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"value = state ? 1 : 0\nsend(Command[:SETD, device_id, type.mapped_value, id, index, value], name: \"mute_#{id}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 30.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\", \"\\xFF\\xFE\\u0001\")\n"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/biamp/nexia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L34"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"send(Command[:RECALL, 0, \"PRESET\", number], name: \"preset_#{number}\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L30"},"def":{"name":"query_device_id","visibility":"Public","body":"send(Command[:GETD, 0, \"DEVID\"])"}},{"html_id":"query_fader(id:Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"query_fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L90"},"def":{"name":"query_fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"query_mute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L115"},"def":{"name":"query_mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/nexia.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L119"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"case response = Response.parse(data)\nin Response::FullPath\n logger.debug do\n \"Device responded #{response.message}\"\n end\n result = process_full_path_response(response)\n task.try(&.success(result))\nin Response::OK\n logger.info do\n \"OK\"\n end\n task.try(&.success)\nin Response::Error\n logger.warn do\n \"Device error: #{data}\"\n end\n task.try(&.abort(response.message))\nin Response::Invalid\n logger.error do\n \"Invalid response structure\"\n end\n task.try(&.abort(response.data))\nend"}},{"html_id":"unmute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"unmute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/nexia.cr#L111"},"def":{"name":"unmute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"mute(id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Nexia/Faders","path":"Biamp/Nexia/Faders.html","kind":"enum","full_name":"Biamp::Nexia::Faders","name":"Faders","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"MatrixCrosspoint","name":"MatrixCrosspoint","value":"3"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"4"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"5"},{"id":"AutoIn","name":"AutoIn","value":"6"},{"id":"AutoOut","name":"AutoOut","value":"7"},{"id":"IoIn","name":"IoIn","value":"8"},{"id":"IoOut","name":"IoOut","value":"9"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_crosspoint?-instance-method","name":"matrix_crosspoint?","abstract":false,"def":{"name":"matrix_crosspoint?","visibility":"Public","body":"self == MatrixCrosspoint"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mixer","path":"Biamp/Nexia/Mixer.html","kind":"enum","full_name":"Biamp::Nexia::Mixer","name":"Mixer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Matrix","name":"Matrix","value":"0"},{"id":"Standard","name":"Standard","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"matrix?-instance-method","name":"matrix?","abstract":false,"def":{"name":"matrix?","visibility":"Public","body":"self == Matrix"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mutes","path":"Biamp/Nexia/Mutes.html","kind":"enum","full_name":"Biamp::Nexia::Mutes","name":"Mutes","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"AutoIn","name":"AutoIn","value":"3"},{"id":"AutoOut","name":"AutoOut","value":"4"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"5"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"6"},{"id":"IoIn","name":"IoIn","value":"7"},{"id":"IoOut","name":"IoOut","value":"8"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]}]},{"html_id":"drivers/Biamp/NTP","path":"Biamp/NTP.html","kind":"module","full_name":"Biamp::NTP","name":"NTP","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"doc":"Biamp ATP/NTP protocol utilities.\nhttps://support.biamp.com/Audia-Nexia/Control/Audia-Nexia_Text_Protocol","summary":"

Biamp ATP/NTP protocol utilities.

","types":[{"html_id":"drivers/Biamp/NTP/Command","path":"Biamp/NTP/Command.html","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"constructors":[{"html_id":"new(type:Type,device:Int32,attribute:String,instance:Int32|Nil=nil,index_1:Int32|Nil=nil,index_2:Int32|Nil=nil,value:String|Int32|Float64|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"args_string":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","args_html":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, device, attribute, instance, index_1, index_2, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@type.clone, @device.clone, @attribute.clone, @instance.clone, @index_1.clone, @index_2.clone, @value.clone)"}},{"html_id":"copy_with(type_type=@type,device_device=@device,attribute_attribute=@attribute,instance_instance=@instance,index_1_index_1=@index_1,index_2_index_2=@index_2,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","args_html":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L4"},"def":{"name":"copy_with","args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_type, _device, _attribute, _instance, _index_1, _index_2, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"index_1:Int32|Nil-instance-method","name":"index_1","abstract":false,"def":{"name":"index_1","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_1"}},{"html_id":"index_2:Int32|Nil-instance-method","name":"index_2","abstract":false,"def":{"name":"index_2","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_2"}},{"html_id":"instance:Int32|Nil-instance-method","name":"instance","abstract":false,"def":{"name":"instance","return_type":"Int32 | ::Nil","visibility":"Public","body":"@instance"}},{"html_id":"to_io(io:IO,format=nil)-instance-method","name":"to_io","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"args_string":"(io : IO, format = nil)","args_html":"(io : IO, format = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L33"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"visibility":"Public","body":"io << type\n{device, attribute, instance, index_1, index_2, value}.each do |field|\n if field.nil?\n next\n end\n (io << ' ') << field\nend\nio << '\\n'\n"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"value:String|Int32|Float64|Nil-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String | Int32 | Float64 | Nil","visibility":"Public","body":"@value"}}],"macros":[{"html_id":"[](type,*params)-macro","name":"[]","abstract":false,"args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"args_string":"(type, *params)","args_html":"(type, *params)","location":{"filename":"src/biamp/ntp.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L12"},"def":{"name":"[]","args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"splat_index":1,"visibility":"Public","body":" \n{% if (type == (:GET)) || (type == (:GETD)) %}\n {{ @type.name }}.new({{ type }}, {{ params.splat }})\n {% else %}\n {{ @type.name }}.new({{ type }}, {{ params[0...-1].splat }}, value: {{ params[-1] }})\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Biamp/NTP/Command/Type","path":"Biamp/NTP/Command/Type.html","kind":"enum","full_name":"Biamp::NTP::Command::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L19"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SET","name":"SET","value":"0"},{"id":"SETD","name":"SETD","value":"1"},{"id":"GET","name":"GET","value":"2"},{"id":"GETD","name":"GETD","value":"3"},{"id":"INC","name":"INC","value":"4"},{"id":"INCD","name":"INCD","value":"5"},{"id":"DEC","name":"DEC","value":"6"},{"id":"DECD","name":"DECD","value":"7"},{"id":"RECALL","name":"RECALL","value":"8"},{"id":"DIAL","name":"DIAL","value":"9"}],"namespace":{"html_id":"drivers/Biamp/NTP/Command","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command"},"instance_methods":[{"html_id":"dec?-instance-method","name":"dec?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L27"},"def":{"name":"dec?","visibility":"Public","body":"self == DEC"}},{"html_id":"decd?-instance-method","name":"decd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L28"},"def":{"name":"decd?","visibility":"Public","body":"self == DECD"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L30"},"def":{"name":"dial?","visibility":"Public","body":"self == DIAL"}},{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L23"},"def":{"name":"get?","visibility":"Public","body":"self == GET"}},{"html_id":"getd?-instance-method","name":"getd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L24"},"def":{"name":"getd?","visibility":"Public","body":"self == GETD"}},{"html_id":"inc?-instance-method","name":"inc?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L25"},"def":{"name":"inc?","visibility":"Public","body":"self == INC"}},{"html_id":"incd?-instance-method","name":"incd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L26"},"def":{"name":"incd?","visibility":"Public","body":"self == INCD"}},{"html_id":"recall?-instance-method","name":"recall?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L29"},"def":{"name":"recall?","visibility":"Public","body":"self == RECALL"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L21"},"def":{"name":"set?","visibility":"Public","body":"self == SET"}},{"html_id":"setd?-instance-method","name":"setd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L22"},"def":{"name":"setd?","visibility":"Public","body":"self == SETD"}}]}]},{"html_id":"drivers/Biamp/NTP/Response","path":"Biamp/NTP/Response.html","kind":"module","full_name":"Biamp::NTP::Response","name":"Response","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"class_methods":[{"html_id":"parse(data:Bytes)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L55"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"case data[0]\nwhen '#'\n response = String.new(data)\n if response.includes?(\" -ERR\")\n Error.new(response)\n else\n fields = response[1..].split\n type = Command::Type.parse(fields[0])\n device = fields[1].to_i\n attribute = fields[2]\n params = fields[3..]\n value = type.getd? ? fields[-1] : fields[-2]\n FullPath.new(response, type, device, attribute, params, value)\n end\nwhen '+'\n OK.new\nwhen '-'\n Error.new(String.new(data))\nelse\n Invalid.new(data)\nend"}}],"types":[{"html_id":"drivers/Biamp/NTP/Response/Error","path":"Biamp/NTP/Response/Error.html","kind":"struct","full_name":"Biamp::NTP::Response::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone)"}},{"html_id":"copy_with(message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(message _message = @message)","args_html":"(message _message = @message)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L52"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_message)"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Biamp/NTP/Response/FullPath","path":"Biamp/NTP/Response/FullPath.html","kind":"struct","full_name":"Biamp::NTP::Response::FullPath","name":"FullPath","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String,type:Command::Type,device:Int32,attribute:String,params:Array(String),value:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","args_html":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message, type, device, attribute, params, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone, @type.clone, @device.clone, @attribute.clone, @params.clone, @value.clone)"}},{"html_id":"copy_with(message_message=@message,type_type=@type,device_device=@device,attribute_attribute=@attribute,params_params=@params,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","args_html":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L44"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_message, _type, _device, _attribute, _params, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)-instance-method","name":"params","abstract":false,"def":{"name":"params","return_type":"Array(String)","visibility":"Public","body":"@params"}},{"html_id":"type:Command::Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Command::Type","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Biamp/NTP/Response/Invalid","path":"Biamp/NTP/Response/Invalid.html","kind":"struct","full_name":"Biamp::NTP::Response::Invalid","name":"Invalid","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(data:Bytes)-class-method","name":"new","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"new","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"_ = allocate\n_.initialize(data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@data.clone)"}},{"html_id":"copy_with(data_data=@data)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"args_string":"(data _data = @data)","args_html":"(data _data = @data)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L53"},"def":{"name":"copy_with","args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"visibility":"Public","body":"self.class.new(_data)"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Biamp/NTP/Response/OK","path":"Biamp/NTP/Response/OK.html","kind":"struct","full_name":"Biamp::NTP::Response::OK","name":"OK","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"clone","visibility":"Public","body":"self.class.new()"}},{"html_id":"copy_with-instance-method","name":"copy_with","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/ntp.cr#L51"},"def":{"name":"copy_with","visibility":"Public","body":"self.class.new()"}}]}]}]},{"html_id":"drivers/Biamp/Tesira","path":"Biamp/Tesira.html","kind":"class","full_name":"Biamp::Tesira","name":"Tesira","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/tesira.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"FADERS","name":"FADERS","value":"{\"fader\" => \"level\", \"matrix_in\" => \"inputLevel\", \"matrix_out\" => \"outputLevel\", \"matrix_crosspoint\" => \"crosspointLevel\", \"level\" => \"fader\", \"inputLevel\" => \"matrix_in\", \"outputLevel\" => \"matrix_out\", \"crosspointLevel\" => \"matrix_crosspoint\"}"},{"id":"MIXERS","name":"MIXERS","value":"{\"matrix\" => \"crosspointLevelState\", \"mixer\" => \"crosspoint\"}"},{"id":"MUTES","name":"MUTES","value":"{\"fader\" => \"mute\", \"matrix_in\" => \"inputMute\", \"matrix_out\" => \"outputMute\", \"mute\" => \"fader\", \"inputMute\" => \"matrix_in\", \"outputMute\" => \"matrix_out\"}"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"@telnet = telnet = Telnet.new do |telnet_response|\n transport.send(telnet_response)\nend\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\nif setting(Bool, :no_password)\n do_send((setting(String, :username)) || \"admin\", wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\nend\ndo_send(\"SESSION set verbose false\", priority: 96)\nschedule.clear\nschedule.every(60.seconds) do\n do_send(\"DEVICE get serialNumber\", priority: 95)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"transport.tokenizer = nil\nschedule.clear\n"}},{"html_id":"fader(fader_id:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L103"},"def":{"name":"fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader_type = FADERS[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, fader_type, i, level), priority: 30, name: \"fade_#{fad}_#{i}\")\n self[\"#{fader_type}_#{fad}_#{i}\"] = level\n end\nend\n"}},{"html_id":"faders(ids:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L118"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader(ids, level, index, type)"}},{"html_id":"get_aliases-instance-method","name":"get_aliases","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L66"},"def":{"name":"get_aliases","visibility":"Public","body":"do_send(\"SESSION get aliases\")"}},{"html_id":"mixer(id:String,inouts:Hash(Int32,Int32|Array(Int32))|Array(Int32),mute:Bool=false,type:String=\"matrix\")-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"args_string":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = \"matrix\")","args_html":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = "matrix")","location":{"filename":"src/biamp/tesira.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L75"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mixer_type = MIXERS[type] || type\nif inouts.is_a?(Hash)\n inouts.each do |input, outs|\n outputs = ensure_array(outs)\n outputs.each do |output|\n do_send(build(id, :set, mixer_type, input, output, mute), priority: 30, name: \"mixmute_#{input}_#{output}\")\n end\n end\nelse\n inouts.each do |input|\n do_send(build(id, :set, mixer_type, input, mute), priority: 30, name: \"mixmute_#{input}\")\n end\nend\n"}},{"html_id":"mute(fader_id:Ids,value:Bool=true,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L131"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, mute_type, i, value), priority: 30, name: \"mute_#{fad}_#{i}\")\n self[\"#{mute_type}_#{fad}_#{i}_mute\"] = value\n end\nend\n"}},{"html_id":"mutes(ids:Ids,muted:Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L145"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(ids, muted, index, type)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 30.milliseconds\n"}},{"html_id":"preset(number_or_name:String|Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"args_string":"(number_or_name : String | Int32)","args_html":"(number_or_name : String | Int32)","location":{"filename":"src/biamp/tesira.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L50"},"def":{"name":"preset","args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"visibility":"Public","body":"if number_or_name.is_a?(Int32)\n do_send(\"DEVICE recallPreset #{number_or_name}\", priority: 30, name: \"preset_#{number_or_name}\")\nelse\n do_send(build(:DEVICE, :recallPresetByName, number_or_name), priority: 30, name: \"preset_#{number_or_name}\")\nend"}},{"html_id":"query_fader(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L153"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fad_type = FADERS[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, fad_type, index))\n"}},{"html_id":"query_faders(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L162"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(ids, index, type)"}},{"html_id":"query_mute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L166"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, mute_type, index))\n"}},{"html_id":"query_mutes(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L175"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_mute(ids, index, type)"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L62"},"def":{"name":"reboot","visibility":"Public","body":"do_send(\"DEVICE reboot\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/tesira.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L179"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Tesira responded -> data: #{data}\"\nend\nresult = data.split(\" \")\nif result[0] == \"-\"\n task.try(&.abort)\nend\nif data =~ (/login:|server/i)\n transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nend\ntask.try(&.success)\n"}},{"html_id":"start_audio-instance-method","name":"start_audio","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L58"},"def":{"name":"start_audio","visibility":"Public","body":"do_send(\"DEVICE startAudio\")"}},{"html_id":"unmute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L149"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(fader_id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Tesira/Ids","path":"Biamp/Tesira/Ids.html","kind":"alias","full_name":"Biamp::Tesira::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}},{"html_id":"drivers/Biamp/Tesira/Num","path":"Biamp/Tesira/Num.html","kind":"alias","full_name":"Biamp::Tesira::Num","name":"Num","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/biamp/tesira.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}}]}]},{"html_id":"drivers/Bose","path":"Bose.html","kind":"module","full_name":"Bose","name":"Bose","abstract":false,"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Bose/ControlSpaceSerial","path":"Bose/ControlSpaceSerial.html","kind":"class","full_name":"Bose::ControlSpaceSerial","name":"ControlSpaceSerial","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Bose","kind":"module","full_name":"Bose","name":"Bose"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L20"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n do_send(\"GS\", priority: 99)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L27"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_parameter_group-instance-method","name":"get_parameter_group","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L41"},"def":{"name":"get_parameter_group","visibility":"Public","body":"do_send(\"GS\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[13])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L17"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/bose/control_space_serial.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L45"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).rchop\nlogger.debug do\n \"ControlSpace sent: #{data}\"\nend\nparts = data.split(\" \")\ncase parts[0]\nwhen \"S\"\n self[:parameter_group] = parts[1].to_i(16)\nend\ntask.try(&.success)\n"}},{"html_id":"set_parameter_group(id:UInt8)-instance-method","name":"set_parameter_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"args_string":"(id : UInt8)","args_html":"(id : UInt8)","location":{"filename":"src/bose/control_space_serial.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/bose/control_space_serial.cr#L36"},"def":{"name":"set_parameter_group","args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"visibility":"Public","body":"(do_send(\"SS #{(id.to_s(16)).upcase}\", wait: false, name: \"set_pgroup\")).get\nself[:parameter_group] = id\n"}}]}]},{"html_id":"drivers/Cisco","path":"Cisco.html","kind":"module","full_name":"Cisco","name":"Cisco","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L4"},{"filename":"src/cisco/webex/api/messages.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L1"},{"filename":"src/cisco/webex/api/people.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L1"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L1"},{"filename":"src/cisco/webex/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L1"},{"filename":"src/cisco/webex/command.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L1"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L1"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L1"},{"filename":"src/cisco/webex/constants.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L1"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L1"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L1"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L1"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L1"},{"filename":"src/cisco/webex/models/device.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L1"},{"filename":"src/cisco/webex/models/event.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L1"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L1"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L1"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L1"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L1"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L1"},{"filename":"src/cisco/webex/models/message.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L1"},{"filename":"src/cisco/webex/models/peek.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L1"},{"filename":"src/cisco/webex/models/person.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L1"},{"filename":"src/cisco/webex/models/room.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L1"},{"filename":"src/cisco/webex/session.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L1"},{"filename":"src/cisco/webex/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L1"},{"filename":"src/cisco/webex/utils.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint","path":"Cisco/CollaborationEndpoint.html","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"bind_feedback(path:String,status_key:String)-instance-method","name":"bind_feedback","doc":"Bind arbitary device feedback to a status variable.","summary":"

Bind arbitary device feedback to a status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L425"},"def":{"name":"bind_feedback","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"register_feedback(path) do |value_path, value|\n if value_path == path\n self[status_key] = value\n else\n key_path = value_path.sub(path, \"\")\n hash = @status_keys[status_key]\n hash[key_path] = value\n self[status_key] = hash\n end\nend"}},{"html_id":"bind_status(path:String,status_key:String)-instance-method","name":"bind_status","doc":"Bind device status to a module status variable.","summary":"

Bind device status to a module status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":439,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L439"},"def":{"name":"bind_status","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"bind_path = \"Status/#{path.tr(\" \", \"/\")}\"\nbind_feedback(\"/#{bind_path}\", status_key)\npayload = xstatus(path)\nif (payload.size == 1) && (payload.has_key?(bind_path))\n self[status_key] = payload[bind_path]\nelse\n self[status_key] = @status_keys[status_key] = payload.transform_keys do |key|\n key.sub(path, \"\")\n end\nend\npayload\n"}},{"html_id":"clear_event(path:String)-instance-method","name":"clear_event","doc":"Clear external event subscribtions for a specific device path.","summary":"

Clear external event subscribtions for a specific device path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L481"},"def":{"name":"clear_event","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Clearing event subscription for #{path}\"\nend\nunregister_feedback(path)\n"}},{"html_id":"clear_feedback_subscriptions(connected:Bool=true)-instance-method","name":"clear_feedback_subscriptions","abstract":false,"args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool = true)","args_html":"(connected : Bool = true)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L409"},"def":{"name":"clear_feedback_subscriptions","args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"Unsubscribing all feedback\"\nend\n@status_keys.clear\nfeedback.clear\n@feedback_paths.clear\nif connected\n do_send(XAPI.xfeedback(:deregister_all))\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L74"},"def":{"name":"connected","visibility":"Public","body":"reset_connection_flags\nschedule.every(2.minutes) do\n ensure_feedback_registered\nend\nschedule.every(30.seconds) do\n if @last_received > 40.seconds.ago.to_unix\n heartbeat(timeout: 35)\n else\n disconnect\n end\nend\nschedule.in(10.seconds) do\n if @ready || @init_called\n else\n init_connection\n end\n schedule.in(15.seconds) do\n if (!@ready) || self[\"configuration\"]?.nil?\n disconnect\n end\n end\nend\nbegin\n transport.send(\"xPreferences OutputMode JSON\\n\")\nrescue\nend\nqueue.clear(abort_current: true)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L95"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nreset_connection_flags\nclear_feedback_subscriptions(false)\nqueue.clear(abort_current: true)\nself[:ready] = false\n"}},{"html_id":"ensure_feedback_registered-instance-method","name":"ensure_feedback_registered","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L107"},"def":{"name":"ensure_feedback_registered","visibility":"Public","body":"send(\"xPreferences OutputMode JSON\\n\", priority: 0, wait: false, name: \"output_json\")\nresults = @feedback_paths.map do |path|\n request = XAPI.xfeedback(:register, path)\n do_send(request, priority: 0, name: path)\nend\nspawn(same_thread: true) do\n success = 0\n results.each do |task|\n begin\n if task.get.state.success?\n success = success + 1\n end\n rescue\n end\n end\n logger.debug do\n \"FEEDBACK REGISTERED #{success}\"\n end\n if success > 0\n else\n disconnect\n end\nend\n@feedback_paths.size\n"}},{"html_id":"feedback_paths:Array(String)-instance-method","name":"feedback_paths","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L34"},"def":{"name":"feedback_paths","return_type":"Array(String)","visibility":"Public","body":"@feedback_paths"}},{"html_id":"generate_request_uuid-instance-method","name":"generate_request_uuid","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L103"},"def":{"name":"generate_request_uuid","visibility":"Public","body":"UUID.random.to_s"}},{"html_id":"on_event(path:String,mod_id:String,channel:String)-instance-method","name":"on_event","doc":"Subscribe another module to async device events.\nCallback methods must be of arity 1 and public.","summary":"

Subscribe another module to async device events.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"args_string":"(path : String, mod_id : String, channel : String)","args_html":"(path : String, mod_id : String, channel : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L471"},"def":{"name":"on_event","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Registering callback for #{path} to #{mod_id}/#{channel}\"\nend\nregister_feedback(path) do |event_path, value|\n event_json = {event_path => value}.to_json\n logger.debug do\n \"Publishing #{path} event to #{mod_id}/#{channel} with payload #{event_json}\"\n end\n publish(\"#{mod_id}/#{channel}\", event_json)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 80.milliseconds\nqueue.timeout = 3.seconds\n@peripheral_id = setting?(String, :peripheral_id)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"if @ignore_update\n @ignore_update = false\n return\nend\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\ndisconnect\n"}},{"html_id":"peripheral_id:String-instance-method","name":"peripheral_id","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L20"},"def":{"name":"peripheral_id","return_type":"String","visibility":"Public","body":"if (value = @peripheral_id).nil?\n @peripheral_id = (begin\n uuid = generate_request_uuid\n @ignore_update = true\n define_setting(:peripheral_id, uuid)\n uuid\n end)\nelse\n value\nend"}},{"html_id":"push_config-instance-method","name":"push_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L455"},"def":{"name":"push_config","visibility":"Public","body":"if config = setting?(Config, :configuration)\n xconfigurations(config)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L332"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n @last_received = Time.utc.to_unix\n payload = String.new(data)\n logger.debug do\n \"<- #{payload}\"\n end\n if transport.tokenizer.nil? && (payload =~ XAPI::LOGIN_COMPLETE)\n queue.clear(abort_current: true)\n sleep(500.milliseconds)\n transport.send(\"xPreferences OutputMode JSON\\n\")\n logger.info do\n \"initializing connection\"\n end\n spawn(same_thread: true) do\n init_connection\n end\n return\n end\n response = XAPI.parse(payload)\n if task.nil?\n return feedback.notify(response)\n end\n if task.xapi_request_id == response[\"ResultId\"]?\n command_result = task.xapi_callback.try(&.call(response))\n if command_result.nil?\n feedback.notify(response)\n end\n command_result == (:abort) ? task.abort : task.success(command_result)\n else\n feedback.notify(response)\n end\nrescue error : JSON::ParseException\n payload = (String.new(data)).strip\n case payload\n when \"OK\"\n task.try(&.success(payload))\n when \"Command not recognized.\"\n logger.error do\n \"Command not recognized: `#{task.try(&.request_payload)}`\"\n end\n task.try(&.abort(payload))\n else\n logger.debug do\n \"Malformed device response: #{error}\\n#{payload}\"\n end\n task.try(&.abort(\"Malformed device response: #{error}\"))\n end\nend"}},{"html_id":"register_feedback(path:String,&update_handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"register_feedback","doc":"Subscribe to feedback from the device.","summary":"

Subscribe to feedback from the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L376"},"def":{"name":"register_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"update_handler","external_name":"update_handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"if !@ready\n if feedback.contains?(path)\n else\n @feedback_paths << path\n @feedback_paths.uniq!\n feedback.insert(path, &update_handler)\n end\n return true\nend\nlogger.debug do\n \"Subscribing to device feedback for #{path}\"\nend\nif feedback.contains?(path)\nelse\n @feedback_paths << path\n @feedback_paths.uniq!\n request = XAPI.xfeedback(:register, path)\n result = do_send(request, name: path)\nend\nfeedback.insert(path, &update_handler)\nresult.try(&.get) || true\n"}},{"html_id":"sync_config-instance-method","name":"sync_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L461"},"def":{"name":"sync_config","visibility":"Public","body":"bind_feedback(\"/Configuration\", \"configuration\")\nsend(\"xConfiguration *\\n\", wait: false)\n"}},{"html_id":"unregister_feedback(path:String)-instance-method","name":"unregister_feedback","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L401"},"def":{"name":"unregister_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"if path == \"/\"\n return clear_feedback_subscriptions\nend\nlogger.debug do\n \"Unsubscribing feedback for #{path}\"\nend\nfeedback.remove(path)\n@feedback_paths.delete(path)\ndo_send(XAPI.xfeedback(:deregister, path))\n"}},{"html_id":"xcommand(command:String,multiline_body:String|Nil=nil,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-instance-method","name":"xcommand","doc":"Execute an xCommand on the device.","summary":"

Execute an xCommand on the device.

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L140"},"def":{"name":"xcommand","args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"request = XAPI.xcommand(command, **kwargs.merge({hash_args: hash_args}))\nname = if kwargs.empty?\n command\nelse\n if kwargs.size == 1\n \"#{command} #{kwargs.keys.to_a.first}\"\n end\nend\npriority = kwargs[:priority]? || queue.priority\ndo_send(request, multiline_body, name: name, priority: priority) do |response|\n result_key = (((command.split(' ')).last(2)).join(\"\")) + \"Result\"\n command_result = response[\"CommandResponse/#{result_key}/status\"]?\n failure_result = response[\"CommandResponse/Result/Reason\"]?\n result = command_result || failure_result\n if result\n if result == \"OK\"\n result\n else\n failure_result || (failure_result = response[\"CommandResponse/#{result_key}/Reason\"]?)\n logger.error do\n failure_result.inspect\n end\n :abort\n end\n else\n logger.warn do\n \"Unexpected response format\"\n end\n :abort\n end\nend\n"}},{"html_id":"xconfiguration(path:String,hash_args:Hash(String,JSONBasic)={}ofString=>JSONBasic,**kwargs)-instance-method","name":"xconfiguration","doc":"Apply a single configuration on the device.","summary":"

Apply a single configuration on the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"args_string":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L186"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"promises = hash_args.map do |setting, value|\n apply_configuration(path, setting, value)\nend\nkwargs.each do |setting, value|\n promise = apply_configuration(path, setting, value)\n promises << promise\nend\n(Promise.all(promises)).get.first\n"}},{"html_id":"xconfigurations(config:Config)-instance-method","name":"xconfigurations","doc":"Push a configuration settings to the device.","summary":"

Push a configuration settings to the device.

","abstract":false,"args":[{"name":"config","external_name":"config","restriction":"Config"}],"args_string":"(config : Config)","args_html":"(config : Config)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L135"},"def":{"name":"xconfigurations","args":[{"name":"config","external_name":"config","restriction":"Config"}],"visibility":"Public","body":"config.each do |path, settings|\n xconfiguration(path, settings)\nend"}},{"html_id":"xstatus(path:String)-instance-method","name":"xstatus","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L229"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"request = XAPI.xstatus(path)\npromise = Promise.new(Hash(String, Enumerable::JSONComplex))\ntask = do_send(request) do |response|\n prefix = \"Status/#{(XAPI.tokenize(path)).join('/')}\"\n results = {} of String => Enumerable::JSONComplex\n response.each do |key, value|\n if key.starts_with?(prefix)\n results[key] = value\n end\n end\n if !results.empty?\n promise.resolve(results)\n results\n else\n if error = response[\"Status/status\"]? || response[\"CommandResponse/Status/status\"]?\n reason = response[\"Status/Reason\"]? || response[\"CommandResponse/Status/Reason\"]?\n xpath = response[\"Status/XPath\"]? || response[\"CommandResponse/Status/XPath\"]?\n error_msg = \"#{reason} (#{xpath})\"\n promise.reject(RuntimeError.new(error_msg))\n logger.error do\n error_msg\n end\n :abort\n else\n results[prefix] = nil\n promise.resolve(results)\n results\n end\n end\nend\nspawn(same_thread: true) do\n task.get\n if task.state == (:abort)\n promise.reject(RuntimeError.new(\"failed to obtain status: #{path}\"))\n end\nend\npromise.get\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","path":"Cisco/CollaborationEndpoint/Cameras.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"camera_move(camera_id:Int32,pan:Interface::Camera::PanDirection|Nil=nil,pan_speed:Int32|Nil=nil,tilt:Interface::Camera::TiltDirection|Nil=nil,tilt_speed:Int32|Nil=nil,zoom:Interface::Zoomable::ZoomDirection|Nil=nil,zoom_speed:Int32|Nil=nil,focus:FocusDirection|Nil=nil)-instance-method","name":"camera_move","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"args_string":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","args_html":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L43"},"def":{"name":"camera_move","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif pan_speed\n if (1..15).includes?(pan_speed)\n else\n raise(ArgumentError.new(\"\\\"pan_speed\\\" must be within #{1..15}, was #{pan_speed}\"))\n end\nend\nif tilt_speed\n if (1..15).includes?(tilt_speed)\n else\n raise(ArgumentError.new(\"\\\"tilt_speed\\\" must be within #{1..15}, was #{tilt_speed}\"))\n end\nend\nif zoom_speed\n if (1..15).includes?(zoom_speed)\n else\n raise(ArgumentError.new(\"\\\"zoom_speed\\\" must be within #{1..15}, was #{zoom_speed}\"))\n end\nend\nxcommand(\"Camera Ramp\", camera_id: camera_id, pan: pan, pan_speed: pan_speed, tilt: tilt, tilt_speed: tilt_speed, zoom: zoom, zoom_speed: zoom_speed, focus: focus)\n"}},{"html_id":"camera_position_reset(camera_id:Int32,axis:CameraAxis|Nil=nil)-instance-method","name":"camera_position_reset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"args_string":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","args_html":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L40"},"def":{"name":"camera_position_reset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nxcommand(\"Camera PositionReset\", camera_id: camera_id, axis: axis)\n"}},{"html_id":"camera_preset(preset_id:Int32)-instance-method","name":"camera_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L16"},"def":{"name":"camera_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Activate\", preset_id: preset_id)\n"}},{"html_id":"camera_remove_preset(preset_id:Int32)-instance-method","name":"camera_remove_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L24"},"def":{"name":"camera_remove_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Remove\", preset_id: preset_id)\n"}},{"html_id":"camera_store_preset(camera_id:Int32,preset_id:Int32,name:String|Nil=nil,take_snapshot:Bool|Nil=nil,default_position:Bool|Nil=nil)-instance-method","name":"camera_store_preset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"args_string":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","args_html":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L18"},"def":{"name":"camera_store_preset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Store\", camera_id: camera_id, preset_id: preset_id, name: name, take_snapshot: take_snapshot, default_position: default_position)\n"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L107"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"pan_speed = pan_speed.clamp(-100.0, 100.0)\ntilt_speed = tilt_speed.clamp(-100.0, 100.0)\npan = if pan_speed.zero?\n pan_speed = nil\n PanDirection::Stop\nelse\n pan_speed.negative? ? PanDirection::Left : PanDirection::Right\nend\ntilt = if tilt_speed.zero?\n tilt_speed = nil\n TiltDirection::Stop\nelse\n tilt_speed.negative? ? TiltDirection::Down : TiltDirection::Up\nend\ncam = index.to_i\nif cam.zero?\n cam = 1\nend\nif pan_speed\n percentage = pan_speed.abs / 100.0\n pan_speed_actual = (percentage * 15.0).round.to_i\nend\nif tilt_speed\n percentage = tilt_speed.abs / 100.0\n tilt_speed_actual = (percentage * 15.0).round.to_i\nend\ncamera_move(camera_id: cam, pan: pan, pan_speed: pan_speed_actual, tilt: tilt, tilt_speed: tilt_speed_actual, zoom: ZoomDirection::Stop)\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L68"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncase position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0.0, tilt_speed: position.down? ? -50.0 : 50.0, index: cam)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -50.0 : 50.0, tilt_speed: 0.0, index: cam)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out, cam)\nend\n"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L148"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npreset = presets[position]?\nif preset\nelse\n raise(\"preset '#{position}' not found on camera #{index}\")\nend\ncamera_preset(preset_id: preset)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L179"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npresets.delete(name)\nif presets.empty?\n @presets.delete(cam)\nelse\n @presets[cam] = presets\nend\nsave_presets\ntrue\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L159"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\nin_use = @presets.values.flat_map(&.values)\nnext_available = ((1..35).to_a - in_use).first\npresets[name] = next_available\ncamera_store_preset(camera_id: cam, preset_id: next_available, name: name).get\n@presets[cam] = presets\nsave_presets\ntrue\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L56"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, pan: PanDirection::Stop, tilt: TiltDirection::Stop, zoom: ZoomDirection::Stop)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L96"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, zoom: direction, zoom_speed: 6)\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L92"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"raise(\"direct zoom unsupported on this camera\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/CameraAxis","path":"Cisco/CollaborationEndpoint/Cameras/CameraAxis.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::CameraAxis","name":"CameraAxis","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L27"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"0"},{"id":"Focus","name":"Focus","value":"1"},{"id":"PanTilt","name":"PanTilt","value":"2"},{"id":"Zoom","name":"Zoom","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L28"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L29"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan_tilt?-instance-method","name":"pan_tilt?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L30"},"def":{"name":"pan_tilt?","visibility":"Public","body":"self == PanTilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L31"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/FocusDirection","path":"Cisco/CollaborationEndpoint/Cameras/FocusDirection.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::FocusDirection","name":"FocusDirection","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L34"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Far","name":"Far","value":"0"},{"id":"Near","name":"Near","value":"1"},{"id":"Stop","name":"Stop","value":"2"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"far?-instance-method","name":"far?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L35"},"def":{"name":"far?","visibility":"Public","body":"self == Far"}},{"html_id":"near?-instance-method","name":"near?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L36"},"def":{"name":"near?","visibility":"Public","body":"self == Near"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L37"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/Interface","path":"Cisco/CollaborationEndpoint/Cameras/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Cameras::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/cameras.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Config","path":"Cisco/CollaborationEndpoint/Config.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Config","name":"Config","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L132"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","aliased_html":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Feedback","path":"Cisco/CollaborationEndpoint/Feedback.html","kind":"class","full_name":"Cisco::CollaborationEndpoint::Feedback","name":"Feedback","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L2"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L44"},"def":{"name":"clear","visibility":"Public","body":"@callbacks = Hash(String, Array(Proc(String, Enumerable::JSONComplex, Nil))).new do |h, k|\n h[k] = [] of Proc(String, Enumerable::JSONComplex, Nil)\nend"}},{"html_id":"contains?(path:String)-instance-method","name":"contains?","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L23"},"def":{"name":"contains?","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"found = false\n@callbacks.each_key do |key|\n if path.starts_with?(key)\n found = true\n break\n end\nend\nfound\n"}},{"html_id":"insert(path:String,&handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"insert","doc":"Insert a response handler block to be notified of updates effecting the\nspecified feedback path.","summary":"

Insert a response handler block to be notified of updates effecting the specified feedback path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L18"},"def":{"name":"insert","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"handler","external_name":"handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"@callbacks[path] << handler\nself\n"}},{"html_id":"notify(path:String,value:Enumerable::JSONComplex)-instance-method","name":"notify","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"args_string":"(path : String, value : Enumerable::JSONComplex)","args_html":"(path : String, value : Enumerable::JSONComplex)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L34"},"def":{"name":"notify","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"visibility":"Public","body":"@callbacks.each do |key, callbacks|\n if path.starts_with?(key)\n callbacks.each(&.call(path, value))\n end\nend"}},{"html_id":"notify(payload:Hash(String,Enumerable::JSONComplex))-instance-method","name":"notify","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"args_string":"(payload : Hash(String, Enumerable::JSONComplex))","args_html":"(payload : Hash(String, Enumerable::JSONComplex))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L40"},"def":{"name":"notify","args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"visibility":"Public","body":"payload.each do |key, value|\n notify(\"/#{key}\", value)\nend"}},{"html_id":"remove(path:String)-instance-method","name":"remove","doc":"Nuke a subtree below the path","summary":"

Nuke a subtree below the path

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/feedback.cr#L9"},"def":{"name":"remove","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"remove = [] of String\n@callbacks.each_key do |key|\n if key.starts_with?(path)\n remove << key\n end\nend\nremove.each do |key|\n @callbacks.delete(key)\nend\nself\n"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/JSONBasic","path":"Cisco/CollaborationEndpoint/JSONBasic.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","path":"Cisco/CollaborationEndpoint/Powerable.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"half_wake-instance-method","name":"half_wake","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L14"},"def":{"name":"half_wake","visibility":"Public","body":"xcommand(\"Standby HalfWake\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L18"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? powerup : half_wake\nself[:power] = state\n"}},{"html_id":"power_state(state:Interface::Powerable::PowerState)-instance-method","name":"power_state","doc":"override this to implement `PowerState::FullOff` if it is available for the device","summary":"

override this to implement PowerState::FullOff if it is available for the device

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"args_string":"(state : Interface::Powerable::PowerState)","args_html":"(state : Interface::Powerable::PowerState)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L23"},"def":{"name":"power_state","args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"visibility":"Public","body":"case state\nin .on?\n power(true)\nin .off?\n power(false)\nin .full_off?\n standby\n self[:power] = false\nend\nself[:power_state] = state\n"}},{"html_id":"powerup-instance-method","name":"powerup","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L13"},"def":{"name":"powerup","visibility":"Public","body":"xcommand(\"Standby Deactivate\")"}},{"html_id":"reset_standby_timer(delay:Int32)-instance-method","name":"reset_standby_timer","abstract":false,"args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"args_string":"(delay : Int32)","args_html":"(delay : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L16"},"def":{"name":"reset_standby_timer","args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"visibility":"Public","body":"if (1..480).includes?(delay)\nelse\n raise(ArgumentError.new(\"delay must be within #{1..480}, was #{delay}\"))\nend\nxcommand(\"Standby ResetTimer\", delay: delay)\n"}},{"html_id":"standby-instance-method","name":"standby","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L15"},"def":{"name":"standby","visibility":"Public","body":"xcommand(\"Standby Activate\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/Interface","path":"Cisco/CollaborationEndpoint/Powerable/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Powerable::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/PowerOff","path":"Cisco/CollaborationEndpoint/Powerable/PowerOff.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Powerable::PowerOff","name":"PowerOff","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L36"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Restart","name":"Restart","value":"0"},{"id":"Shutdown","name":"Shutdown","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},"instance_methods":[{"html_id":"restart?-instance-method","name":"restart?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L37"},"def":{"name":"restart?","visibility":"Public","body":"self == Restart"}},{"html_id":"shutdown?-instance-method","name":"shutdown?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/powerable.cr#L38"},"def":{"name":"shutdown?","visibility":"Public","body":"self == Shutdown"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","path":"Cisco/CollaborationEndpoint/Presentation.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"presentation_start(presentation_source:Int32|Nil=nil,sending_mode:SendingMode|Nil=nil,connector_id:Int32|Nil=nil,instance:Int32|Nil=nil)-instance-method","name":"presentation_start","abstract":false,"args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"args_string":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","args_html":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L24"},"def":{"name":"presentation_start","args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if presentation_source\n if (1..2).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..2}, was #{presentation_source}\"))\n end\nend\nif connector_id\n if (1..2).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..2}, was #{connector_id}\"))\n end\nend\nif instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nxcommand(\"Presentation Start\", presentation_source: presentation_source, sending_mode: sending_mode, connector_id: connector_id, instance: instance)\n"}},{"html_id":"presentation_stop(instance:Int32|Nil=nil,presentation_source:Int32|Nil=nil)-instance-method","name":"presentation_stop","abstract":false,"args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"args_string":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","args_html":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L29"},"def":{"name":"presentation_stop","args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nif presentation_source\n if (1..4).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..4}, was #{presentation_source}\"))\n end\nend\nxcommand(\"Presentation Stop\", instance: instance, presentation_source: presentation_source)\n"}},{"html_id":"send_presentation_to(remote:Bool)-instance-method","name":"send_presentation_to","abstract":false,"args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"args_string":"(remote : Bool)","args_html":"(remote : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L51"},"def":{"name":"send_presentation_to","args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"visibility":"Public","body":"@sending_mode = remote ? SendingMode::LocalRemote : SendingMode::LocalOnly\nself[:present_to_remote] = remote\nif input = @presenting_input\n presentation_start(presentation_source: input, sending_mode: @sending_mode)\nend\n"}},{"html_id":"switch_to(input:PresentationInputs)-instance-method","name":"switch_to","doc":"Provide compatabilty with the router module for activating presentation.","summary":"

Provide compatabilty with the router module for activating presentation.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"args_string":"(input : PresentationInputs)","args_html":"(input : PresentationInputs)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"visibility":"Public","body":"if input.none?\n @presenting_input = nil\n presentation_stop\nelse\n source = input.to_s[5..-1].to_i\n @presenting_input = source\n presentation_start(presentation_source: source, sending_mode: @sending_mode)\nend\nself[:presenting_input] = @presenting_input\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/PresentationInputs","path":"Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::PresentationInputs","name":"PresentationInputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"},{"id":"Input3","name":"Input3","value":"3"},{"id":"Input4","name":"Input4","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"input3?-instance-method","name":"input3?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L9"},"def":{"name":"input3?","visibility":"Public","body":"self == Input3"}},{"html_id":"input4?-instance-method","name":"input4?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L10"},"def":{"name":"input4?","visibility":"Public","body":"self == Input4"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/SendingMode","path":"Cisco/CollaborationEndpoint/Presentation/SendingMode.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::SendingMode","name":"SendingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LocalRemote","name":"LocalRemote","value":"0"},{"id":"LocalOnly","name":"LocalOnly","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"local_only?-instance-method","name":"local_only?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L18"},"def":{"name":"local_only?","visibility":"Public","body":"self == LocalOnly"}},{"html_id":"local_remote?-instance-method","name":"local_remote?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/presentation.cr#L17"},"def":{"name":"local_remote?","visibility":"Public","body":"self == LocalRemote"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presets","path":"Cisco/CollaborationEndpoint/Presets.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Int32, Hash(String, Int32))","aliased_html":"Hash(Int32, Hash(String, Int32))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"Camera idx => Preset name => Preset id","summary":"

Camera idx => Preset name => Preset id

"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Toogle","path":"Cisco/CollaborationEndpoint/Toogle.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L15"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"used by many of the commands","summary":"

used by many of the commands

","instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L17"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint.cr#L16"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","path":"Cisco/CollaborationEndpoint/UIExtensions.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"msg_alert(text:String,title:String|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"msg_alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L7"},"def":{"name":"msg_alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message Alert Display\", text: text, title: title, duration: duration)\n"}},{"html_id":"msg_alert_clear-instance-method","name":"msg_alert_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L6"},"def":{"name":"msg_alert_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"msg_prompt(text:String,options:Array(JSON::Any::Type),title:String|Nil=nil,feedback_id:String|Nil=nil,duration:Int64|Nil=nil)-instance-method","name":"msg_prompt","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"args_string":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","args_html":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L14"},"def":{"name":"msg_prompt","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"option_map = {} of String => JSON::Any::Type\n(\"Option.1\"..\"Option.5\").each_with_index do |key, i|\n if i >= options.size\n break\n end\n option_map[key] = options[i]\nend\nxcommand(\"UserInterface Message Prompt Display\", hash_args: Hash(String, JSON::Any::Type) {\"text\" => text, \"title\" => title, \"feedback_id\" => feedback_id, \"duration\" => duration}.merge(option_map))\n"}},{"html_id":"msg_prompt_clear-instance-method","name":"msg_prompt_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L12"},"def":{"name":"msg_prompt_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Prompt Clear\")"}},{"html_id":"msg_text(text:String,feedback_id:String,title:String|Nil=nil,duration:Int32|Nil=nil,input_type:TextInputType|Nil=nil,keyboard_state:TextKeyboardState|Nil=nil,place_holder:String|Nil=nil,submit_text:String|Nil=nil)-instance-method","name":"msg_text","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"args_string":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","args_html":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L45"},"def":{"name":"msg_text","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message TextInput Display\", text: text, feedback_id: feedback_id, title: title, duration: duration, input_type: input_type, keyboard_state: keyboard_state, place_holder: place_holder, submit_text: submit_text)\n"}},{"html_id":"msg_text_clear-instance-method","name":"msg_text_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L44"},"def":{"name":"msg_text_clear","visibility":"Public","body":"xcommand(\"UserInterface Message TextInput Clear\")"}},{"html_id":"ui_extensions_clear-instance-method","name":"ui_extensions_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L73"},"def":{"name":"ui_extensions_clear","visibility":"Public","body":"xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"ui_extensions_deploy(id:String,xml_def:String)-instance-method","name":"ui_extensions_deploy","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L65"},"def":{"name":"ui_extensions_deploy","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface Extensions Set\", xml_def, config_id: id)"}},{"html_id":"ui_extensions_list-instance-method","name":"ui_extensions_list","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L69"},"def":{"name":"ui_extensions_list","visibility":"Public","body":"xcommand(\"UserInterface Extensions List\")"}},{"html_id":"ui_set_value(widget:String,value:JSON::Any::Type|Nil=nil)-instance-method","name":"ui_set_value","abstract":false,"args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"args_string":"(widget : String, value : JSON::Any::Type | Nil = nil)","args_html":"(widget : String, value : JSON::Any::Type | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L55"},"def":{"name":"ui_set_value","args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"visibility":"Public","body":"if value.nil?\n xcommand(\"UserInterface Extensions Widget UnsetValue\", widget_id: widget)\nelse\n xcommand(\"UserInterface Extensions Widget SetValue\", value: value, widget_id: widget)\nend"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextInputType","path":"Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextInputType","name":"TextInputType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L32"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SingleLine","name":"SingleLine","value":"0"},{"id":"Numeric","name":"Numeric","value":"1"},{"id":"Password","name":"Password","value":"2"},{"id":"PIN","name":"PIN","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"numeric?-instance-method","name":"numeric?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L34"},"def":{"name":"numeric?","visibility":"Public","body":"self == Numeric"}},{"html_id":"password?-instance-method","name":"password?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L35"},"def":{"name":"password?","visibility":"Public","body":"self == Password"}},{"html_id":"pin?-instance-method","name":"pin?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L36"},"def":{"name":"pin?","visibility":"Public","body":"self == PIN"}},{"html_id":"single_line?-instance-method","name":"single_line?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L33"},"def":{"name":"single_line?","visibility":"Public","body":"self == SingleLine"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState","path":"Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextKeyboardState","name":"TextKeyboardState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L39"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L41"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/ui_extensions.cr#L40"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","path":"Cisco/CollaborationEndpoint/XAPI.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L3"},{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BOOL_OR","name":"BOOL_OR","value":"->(term : String) do\n ->(val : String) do\n val == term ? term : BOOLEAN.call(val)\n end\nend"},{"id":"BOOLEAN","name":"BOOLEAN","value":"->(val : String) do\n TRUTHY.includes?(val.downcase)\nend"},{"id":"COMMAND_RESPONSE","name":"COMMAND_RESPONSE","value":"Regex.union(INVALID_COMMAND, SUCCESS)"},{"id":"FALSEY","name":"FALSEY","value":"{\"false\", \"unavailable\", \"off\", \"inactive\"}"},{"id":"INVALID_COMMAND","name":"INVALID_COMMAND","value":"/(?<=Command not recognized\\.)[\\r\\n]+/","doc":"Regexp's for tokenizing the xAPI command and response structure.","summary":"

Regexp's for tokenizing the xAPI command and response structure.

"},{"id":"LOGIN_COMPLETE","name":"LOGIN_COMPLETE","value":"/Login successful/"},{"id":"PARSERS","name":"PARSERS","value":"{\"TTPAR_OnOff\" => BOOLEAN, \"TTPAR_OnOffAuto\" => BOOL_OR.call(\"Auto\"), \"TTPAR_OnOffCurrent\" => BOOL_OR.call(\"Current\"), \"TTPAR_MuteEnabled\" => BOOLEAN}"},{"id":"SUCCESS","name":"SUCCESS","value":"/(?<=OK)[\\r\\n]+/"},{"id":"TRUTHY","name":"TRUTHY","value":"{\"true\", \"available\", \"standby\", \"on\", \"active\"}"}],"including_types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"class_methods":[{"html_id":"create_action(__action__:ActionType,*args,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,priority:Int32|Nil=nil,**kwargs)-class-method","name":"create_action","doc":"Serialize an xAPI action into transmittable command.","summary":"

Serialize an xAPI action into transmittable command.

","abstract":false,"args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"args_string":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","args_html":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L45"},"def":{"name":"create_action","args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"splat_index":1,"visibility":"Public","body":"[__action__.to_s.camelcase(lower: true), args.compact_map(&.to_s), hash_args.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend, kwargs.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend.to_a.compact!].flatten.join(\" \")"}},{"html_id":"parse(data:String)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L31"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"(JSON.parse(data)).as_h.flatten_xapi_json"}},{"html_id":"tokenize(path:String)-class-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L101"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split(/[\\s\\/\\\\]/)).reject(&.empty?)"}},{"html_id":"value_convert(value:String,valuespace:String|Nil=nil)-class-method","name":"value_convert","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"args_string":"(value : String, valuespace : String | Nil = nil)","args_html":"(value : String, valuespace : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L15"},"def":{"name":"value_convert","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"begin\n parser = PARSERS[valuespace]?\n if parser\n else\n return value.to_i64\n end\n parser.call(value)\nrescue\n check = value.downcase\n if check.in?(TRUTHY)\n true\n else\n if check.in?(FALSEY)\n false\n else\n value\n end\n end\nend"}},{"html_id":"xcommand(path:String,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-class-method","name":"xcommand","doc":"Serialize an xCommand into transmittable command.","summary":"

Serialize an xCommand into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L71"},"def":{"name":"xcommand","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"create_action(ActionType::XCommand, path, **kwargs.merge({hash_args: hash_args}))"}},{"html_id":"xconfiguration(path:String,setting:String,value:JSON::Any::Type)-class-method","name":"xconfiguration","doc":"Serialize an xConfiguration action into a transmittable command.","summary":"

Serialize an xConfiguration action into a transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"args_string":"(path : String, setting : String, value : JSON::Any::Type)","args_html":"(path : String, setting : String, value : JSON::Any::Type)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L80"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"visibility":"Public","body":"create_action(ActionType::XConfiguration, path, hash_args: {setting => value})"}},{"html_id":"xfeedback(action:FeedbackAction,path:String|Nil=nil)-class-method","name":"xfeedback","doc":"Serialize a xFeedback subscription request.","summary":"

Serialize a xFeedback subscription request.

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(action : FeedbackAction, path : String | Nil = nil)","args_html":"(action : FeedbackAction, path : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L92"},"def":{"name":"xfeedback","args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"if path\n xpath = tokenize(path)\n create_action(ActionType::XFeedback, action, \"/#{xpath.join('/')}\")\nelse\n create_action(ActionType::XFeedback, action)\nend"}},{"html_id":"xstatus(path:String)-class-method","name":"xstatus","doc":"Serialize an xStatus request into transmittable command.","summary":"

Serialize an xStatus request into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L87"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"create_action(ActionType::XStatus, path)"}}],"macros":[{"html_id":"command(cmd_name,**params)-macro","name":"command","abstract":false,"args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"args_string":"(cmd_name, **params)","args_html":"(cmd_name, **params)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L106"},"def":{"name":"command","args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":" \n{% for cmd, name in cmd_name %}\n def {{ name.id }}(\n {% for param, klass in params %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {% if klass.is_a?(RangeLiteral) %}\n {{ param.id }} : Int32{% if optional %}? = nil{% end %},\n {% else %}\n {{ param.id }} : {{ klass }}{% if optional %}? = nil{% end %},\n {% end %}\n {% end %}\n )\n {% for param, klass in params %}\n {% if klass.is_a?(RangeLiteral) %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n {% if optional %} if {{ param.id }}{% end %}\n raise ArgumentError.new(\"#{ {{ param.stringify }} } must be within #{ {{ klass }} }, was #{ {{ param.id }} }\") unless ({{ klass }}).includes?({{ param.id }})\n {% if optional %}end{% end %}\n {% end %}\n {% end %}\n\n # send the command\n xcommand(\n {{ cmd }},\n {% for param, klass in params %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {{ param.id }}: {{ param.id }},\n {% end %}\n )\n end\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/ActionType","path":"Cisco/CollaborationEndpoint/XAPI/ActionType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::ActionType","name":"ActionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"XConfiguration","name":"XConfiguration","value":"0"},{"id":"XCommand","name":"XCommand","value":"1"},{"id":"XStatus","name":"XStatus","value":"2"},{"id":"XFeedback","name":"XFeedback","value":"3"},{"id":"XPreferences","name":"XPreferences","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"x_command?-instance-method","name":"x_command?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L31"},"def":{"name":"x_command?","visibility":"Public","body":"self == XCommand"}},{"html_id":"x_configuration?-instance-method","name":"x_configuration?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L30"},"def":{"name":"x_configuration?","visibility":"Public","body":"self == XConfiguration"}},{"html_id":"x_feedback?-instance-method","name":"x_feedback?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L33"},"def":{"name":"x_feedback?","visibility":"Public","body":"self == XFeedback"}},{"html_id":"x_preferences?-instance-method","name":"x_preferences?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L34"},"def":{"name":"x_preferences?","visibility":"Public","body":"self == XPreferences"}},{"html_id":"x_status?-instance-method","name":"x_status?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L32"},"def":{"name":"x_status?","visibility":"Public","body":"self == XStatus"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/FeedbackAction","path":"Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::FeedbackAction","name":"FeedbackAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L37"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Register","name":"Register","value":"0"},{"id":"Deregister","name":"Deregister","value":"1"},{"id":"DeregisterAll","name":"DeregisterAll","value":"2"},{"id":"List","name":"List","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"deregister?-instance-method","name":"deregister?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L39"},"def":{"name":"deregister?","visibility":"Public","body":"self == Deregister"}},{"html_id":"deregister_all?-instance-method","name":"deregister_all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L40"},"def":{"name":"deregister_all?","visibility":"Public","body":"self == DeregisterAll"}},{"html_id":"list?-instance-method","name":"list?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L41"},"def":{"name":"list?","visibility":"Public","body":"self == List"}},{"html_id":"register?-instance-method","name":"register?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/xapi.cr#L38"},"def":{"name":"register?","visibility":"Public","body":"self == Register"}}]}]}]},{"html_id":"drivers/Cisco/DNASpaces","path":"Cisco/DNASpaces.html","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L9"},{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IOT_SENSORS","name":"IOT_SENSORS","value":"{SensorType::Presence, SensorType::PeopleCount, SensorType::Humidity, SensorType::AirQuality, SensorType::SoundPressure, SensorType::Temperature}"},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"activate-instance-method","name":"activate","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L104"},"def":{"name":"activate","visibility":"Public","body":"if @activation_token.empty?\n return\nend\nresponse = get(\"/client/v1/partner/partnerPublicKey/\")\nif response.success?\nelse\n raise(\"failed to obtain partner public key, code #{response.status_code}\")\nend\nlogger.debug do\n \"public key requested: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: Array(ActivactionPublicKey)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining partner public key: #{payload[:message]}\")\nend\npublic_key = payload[:data][0].public_key\npayload, header = JWT.decode(@activation_token, public_key, JWT::Algorithm::RS256, @verify_activation_key)\napp_id = payload[\"appId\"].as_s\nref_id = payload[\"activationRefId\"].as_s\ntenant_id = payload[\"tenantId\"].as_i64.to_s\nresponse = post(\"/client/v1/partner/activateOnPremiseApp\", headers: {\"Content-Type\" => \"application/json\", \"Authorization\" => \"Bearer #{@activation_token}\"}, body: {appId: app_id, activationRefId: ref_id}.to_json)\nif response.success?\nelse\n raise(\"failed to obtain API key, code #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"application activated: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: NamedTuple(apiKey: String)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining API key: #{payload[:message]}\")\nend\napi_key = payload[:data][:apiKey]\nlogger.debug do\n \"saving API key: #{tenant_id}, #{api_key}\"\nend\ndefine_setting(:tenant_id, tenant_id)\ndefine_setting(:dna_spaces_api_key, api_key)\ndefine_setting(:dna_spaces_activation_key, \"\")\nlogger.debug do\n \"settings saved! Starting stream\"\nend\n@api_key = api_key\n@tenant_id = tenant_id\nif !@streaming\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":513,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L513"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"if location = locate_mac(mac_address)\n {location: \"wireless\", assigned_to: format_username(location.raw_user_id), mac_address: format_mac(mac_address)}\nend"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L244"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago.to_unix\nremove_keys = [] of String\nlocations do |locs|\n locs.each do |mac, location|\n if location.last_seen < old\n remove_keys << mac\n end\n end\n remove_keys.each do |mac|\n locs.delete(mac)\n end\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":524,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L524"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of Nil\nend\nfloors = [] of String\nadjustments = {} of String => Tuple(Float64, Float64, Float64, Float64)\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n offset_x = (data[\"offset_x\"]? || 0.0).as(Float64)\n offset_y = (data[\"offset_y\"]? || 0.0).as(Float64)\n map_width = (data[\"map_width\"]? || -1.0).as(Float64)\n map_height = (data[\"map_height\"]? || -1.0).as(Float64)\n adjustments[floor_id] = {offset_x, offset_y, map_width, map_height}\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of Nil\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago.to_unix\nmatching = locations(&.compact_map do |mac, loc|\n if loc.last_seen < oldest_location\n too_old = too_old + 1\n next\n end\n if (floors & loc.location_mappings.values).empty?\n wrong_floor = wrong_floor + 1\n next\n end\n loc.device.mac_address = mac\n loc\nend)\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.map_id).flat_map do |map_id, locations|\n map_width = -1.0\n map_height = -1.0\n offset_x = 0.0\n offset_y = 0.0\n locations.first.location_mappings.each_value do |location_id|\n if level_data = adjustments[location_id]?\n offset_x, offset_y, map_width, map_height = level_data\n break\n end\n end\n if (map_width == -1.0) || (map_height == -1.0)\n if map_size = get_map_details(map_id)\n map_width = map_width > -1.0 ? map_width : ( map_size.length - offset_x)\n map_height = map_height > -1.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n locations.map do |loc|\n lat = loc.latitude\n lon = loc.longitude\n {location: :wireless, coordinates_from: \"top-left\", x: loc.x_pos - offset_x, y: loc.y_pos - offset_y, lon: lon, lat: lat, s2_cell_id: (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), mac: loc.device.mac_address, variance: loc.unc, last_seen: loc.last_seen, map_width: map_width, map_height: map_height, ssid: loc.ssid, manufacturer: loc.device.manufacturer, os: loc.device.os}\n end\nend\n"}},{"html_id":"devices(&)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L194"},"def":{"name":"devices","yields":1,"block_arity":1,"visibility":"Public","body":"@dev_lock.synchronize do\n yield @devices\nend"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":614,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L614"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L618"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_location_info(location_id:String)-instance-method","name":"get_location_info","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L168"},"def":{"name":"get_location_info","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/partners/v1/locations/#{location_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\nif response.success?\nelse\n raise(\"failed to obtain location id #{location_id}, code #{response.status_code}\")\nend\nLocationInfo.from_json(response.body.not_nil!)\n"}},{"html_id":"get_map_details(map_id:String)-instance-method","name":"get_map_details","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L226"},"def":{"name":"get_map_details","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"map = @map_lock.synchronize do\n @map_details[map_id]?\nend\nif !map\n response = get(\"/api/partners/v1/maps/#{map_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\n if !response.success?\n message = \"failed to obtain map id #{map_id}, code #{response.status_code}\"\n logger.warn do\n message\n end\n return nil\n end\n map = (MapInfo.from_json(response.body.not_nil!)).dimension\n @map_lock.synchronize do\n @map_details[map_id] = map\n end\nend\nmap\n"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L216"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"MAC Locations: #{locations(&.keys)}\"\nend\n{tracking: locations(&.size), events_received: @events_received}\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L210"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"formatted_address = format_mac(address)\nlocations do |locs|\n locs[formatted_address]?\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"=============================\nLocatable interface\n=============================","summary":"

============================= Locatable interface =============================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L427"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"if macs = user_lookup(username.presence || email.presence.not_nil!)\n location_max_age = @max_location_age.ago.to_unix\n macs.compact_map do |mac|\n if location = locate_mac(mac)\n if location.last_seen > location_max_age\n location.device.mac_address = mac\n location\n end\n end\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end.map do |location|\n lat = location.latitude\n lon = location.longitude\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"top-left\", \"x\" => location.x_pos, \"y\" => location.y_pos, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), \"mac\" => location.device.mac_address, \"variance\" => location.unc, \"last_seen\" => location.last_seen, \"dna_floor_id\" => location.map_id, \"ssid\" => location.ssid, \"manufacturer\" => location.device.manufacturer, \"os\" => location.device.os}\n map_width = 0.0\n map_height = 0.0\n offset_x = 0.0\n offset_y = 0.0\n location.location_mappings.each_value do |location_id|\n if level_data = @floorplan_mappings[location_id]?\n level_data.each do |key, value|\n case key\n when \"offset_x\"\n offset_x = value.as(Float64)\n loc[\"x\"] = location.x_pos - offset_x\n when \"offset_y\"\n offset_y = value.as(Float64)\n loc[\"y\"] = location.y_pos - offset_y\n when \"map_width\"\n map_width = value.as(Float64)\n when \"map_height\"\n map_height = value.as(Float64)\n else\n loc[key] = value\n end\n end\n break\n end\n end\n if map_width > 0.0 && map_height > 0.0\n loc[\"map_width\"] = map_width\n loc[\"map_height\"] = map_height\n else\n if map_size = get_map_details(location.map_id)\n loc[\"map_width\"] = map_width > 0.0 ? map_width : ( map_size.length - offset_x)\n loc[\"map_height\"] = map_height > 0.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n loc\n end\nelse\n [] of Nil\nend"}},{"html_id":"locations(&)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L190"},"def":{"name":"locations","yields":1,"block_arity":1,"visibility":"Public","body":"@loc_lock.synchronize do\n yield @locations\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L508"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(user_lookup(username.presence || email.presence.not_nil!)).try(&.to_a) || ([] of String)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nif !@api_key.empty?\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L56"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close\n@stream_active = false\nupdate_monitoring_status(running: false)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L73"},"def":{"name":"on_update","visibility":"Public","body":"@max_location_age = ((setting?(UInt32, :max_location_age)) || 10).minutes\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@debug_stream = (setting?(Bool, :debug_stream)) || false\n@verify_activation_key = (setting?(Bool, :verify_activation_key)) || false\nschedule.clear\nschedule.every(30.minutes) do\n cleanup_caches\nend\nschedule.every(5.minutes) do\n update_monitoring_status\nend\nschedule.in(5.seconds) do\n update_monitoring_status\nend\n@activation_token = (setting?(String, :dna_spaces_activation_key)) || \"\"\nif @activation_token.empty?\n @api_key = setting(String, :dna_spaces_api_key)\n @tenant_id = (setting(String | Int64, :tenant_id)).to_s\nelse\n @api_key = (setting?(String, :dna_spaces_api_key)) || \"\"\n @tenant_id = (setting?(String | Int64, :tenant_id)).try(&.to_s) || \"\"\n if @api_key.empty?\n schedule.in(5.seconds) do\n activate\n end\n end\nend\nif (!@streaming) && (!@api_key.empty?)\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"seen_locations-instance-method","name":"seen_locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L180"},"def":{"name":"seen_locations","visibility":"Public","body":"@description_lock.synchronize do\n @location_descriptions.dup\nend"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L117"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nmac = format_mac(mac)\ndevice = devices do |dev|\n dev[mac]?\nend\nif device\nelse\n return nil\nend\nfilter = SensorType.parse(id)\ncase device\nin IotTelemetry\n (to_sensors(nil, filter, device)).first?\nin DeviceLocationUpdate\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/sensor_interface.cr#L88"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nfilter = type ? SensorType.parse(type) : nil\nif filter && (!(filter.in?(IOT_SENSORS)))\n return NO_MATCH\nend\nif mac\n mac = format_mac(mac)\n device = devices do |dev|\n dev[mac]?\n end\n if device\n else\n return NO_MATCH\n end\n return case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\ndevice_values = devices(&.values)\ndevice_values.flat_map do |device|\n case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\n"}},{"html_id":"update_monitoring_status(running:Bool=true):Nil-instance-method","name":"update_monitoring_status","doc":"This provides the DNA Spaces dashboard with stream consumption status","summary":"

This provides the DNA Spaces dashboard with stream consumption status

","abstract":false,"args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"args_string":"(running : Bool = true) : Nil","args_html":"(running : Bool = true) : Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L629"},"def":{"name":"update_monitoring_status","args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = put(\"/api/partners/v1/monitoring/status\", headers: {\"Content-Type\" => \"application/json\", \"X-API-KEY\" => @api_key}, body: {data: {overallStatus: {status: running ? \"up\" : \"down\", notices: [] of Nil}, instanceDetails: {ipAddress: \"\", instanceId: module_id}, cloudFirehose: {status: @stream_active ? \"connected\" : \"disconnected\", lastReceived: @last_received}, localFirehose: {status: \"disconnected\", lastReceived: 0}, subsystems: [] of Nil}}.to_json)\nif response.success?\nelse\n raise(\"failed to update status, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"user_lookup(&)-instance-method","name":"user_lookup","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L201"},"def":{"name":"user_lookup","yields":1,"block_arity":1,"visibility":"Public","body":"@user_loc.synchronize do\n yield @user_lookup\nend"}},{"html_id":"user_lookup(user_id:String)-instance-method","name":"user_lookup","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L205"},"def":{"name":"user_lookup","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"formatted_user = format_username(user_id)\nuser_lookup do |lookup|\n lookup[formatted_user]?\nend\n"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/ActivactionPublicKey","path":"Cisco/DNASpaces/ActivactionPublicKey.html","kind":"class","full_name":"Cisco::DNASpaces::ActivactionPublicKey","name":"ActivactionPublicKey","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"public_key-instance-method","name":"public_key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L11"},"def":{"name":"public_key","visibility":"Public","body":"\"-----BEGIN PUBLIC KEY-----\\n#{@public_key}\\n-----END PUBLIC KEY-----\\n\""}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/activation_publickey.cr#L6"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivaction","path":"Cisco/DNASpaces/AppActivaction.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivaction","name":"AppActivaction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"instance_name:String-instance-method","name":"instance_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L20"},"def":{"name":"instance_name","return_type":"String","visibility":"Public","body":"@instance_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L13"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"reference_id:String-instance-method","name":"reference_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L17"},"def":{"name":"reference_id","return_type":"String","visibility":"Public","body":"@reference_id"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L10"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/app_activaction.cr#L7"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","path":"Cisco/DNASpaces/AppActivactionWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L108"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L109"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:AppActivaction-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L112"},"def":{"name":"payload","return_type":"AppActivaction","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/BlePayload","path":"Cisco/DNASpaces/BlePayload.html","kind":"class","full_name":"Cisco::DNASpaces::BlePayload","name":"BlePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data","return_type":"String","visibility":"Public","body":"@data"}},{"html_id":"data=(data:String)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"@data = data"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdate","path":"Cisco/DNASpaces/BleRssiUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdate","name":"BleRssiUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L48"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"notification:RssiNotification-instance-method","name":"notification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L47"},"def":{"name":"notification","return_type":"RssiNotification","visibility":"Public","body":"@notification"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","path":"Cisco/DNASpaces/BleRssiUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L122"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L123"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:BleRssiUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L126"},"def":{"name":"payload","return_type":"BleRssiUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Device","path":"Cisco/DNASpaces/Device.html","kind":"class","full_name":"Cisco::DNASpaces::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_id:String-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L7"},"def":{"name":"device_id","return_type":"String","visibility":"Public","body":"@device_id"}},{"html_id":"email-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L16"},"def":{"name":"email","visibility":"Public","body":"@email.try(&.downcase)"}},{"html_id":"email_raw:String?-instance-method","name":"email_raw","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L20"},"def":{"name":"email_raw","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L27"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L24"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L30"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L42"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L13"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L43"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os_version:String|Nil-instance-method","name":"os_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L46"},"def":{"name":"os_version","return_type":"String | ::Nil","visibility":"Public","body":"@os_version"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L33"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L12"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L47"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCount","path":"Cisco/DNASpaces/DeviceCount.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCount","name":"DeviceCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"associated_count:Int32-instance-method","name":"associated_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L9"},"def":{"name":"associated_count","return_type":"Int32","visibility":"Public","body":"@associated_count"}},{"html_id":"estimated_capacity_percentage:Float64-instance-method","name":"estimated_capacity_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L21"},"def":{"name":"estimated_capacity_percentage","return_type":"Float64","visibility":"Public","body":"@estimated_capacity_percentage"}},{"html_id":"estimated_density:Float64-instance-method","name":"estimated_density","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L18"},"def":{"name":"estimated_density","return_type":"Float64","visibility":"Public","body":"@estimated_density"}},{"html_id":"estimated_probing_count:Int32-instance-method","name":"estimated_probing_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L12"},"def":{"name":"estimated_probing_count","return_type":"Int32","visibility":"Public","body":"@estimated_probing_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L6"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"probing_randomized_percentage:Float64-instance-method","name":"probing_randomized_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_count.cr#L15"},"def":{"name":"probing_randomized_percentage","return_type":"Float64","visibility":"Public","body":"@probing_randomized_percentage"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","path":"Cisco/DNASpaces/DeviceCountWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L116"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceCount-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L119"},"def":{"name":"payload","return_type":"DeviceCount","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntry","path":"Cisco/DNASpaces/DeviceEntry.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntry","name":"DeviceEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"days_sinc_last_visit:Int32-instance-method","name":"days_sinc_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L25"},"def":{"name":"days_sinc_last_visit","return_type":"Int32","visibility":"Public","body":"@days_sinc_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L22"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L16"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L13"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L19"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_entry.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","path":"Cisco/DNASpaces/DeviceEntryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L53"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceEntry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L56"},"def":{"name":"payload","return_type":"DeviceEntry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExit","path":"Cisco/DNASpaces/DeviceExit.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExit","name":"DeviceExit","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L34"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L22"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L19"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L28"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L25"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L31"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L37"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L16"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_exit.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","path":"Cisco/DNASpaces/DeviceExitWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L60"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceExit-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L63"},"def":{"name":"payload","return_type":"DeviceExit","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdate","path":"Cisco/DNASpaces/DeviceLocationUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdate","name":"DeviceLocationUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L33"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L21"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L38"},"def":{"name":"has_position?","visibility":"Public","body":"true"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L34"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L46"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L35"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L12"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L9"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L36"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"@unc"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L15"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L27"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_location_update.cr#L30"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","path":"Cisco/DNASpaces/DeviceLocationUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L81"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceLocationUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L84"},"def":{"name":"payload","return_type":"DeviceLocationUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresence","path":"Cisco/DNASpaces/DevicePresence.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresence","name":"DevicePresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_devices_count:Int32-instance-method","name":"active_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L50"},"def":{"name":"active_devices_count","return_type":"Int32","visibility":"Public","body":"@active_devices_count"}},{"html_id":"days_since_last_visit:Int32-instance-method","name":"days_since_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L23"},"def":{"name":"days_since_last_visit","return_type":"Int32","visibility":"Public","body":"@days_since_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L11"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L44"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L29"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L26"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_date_time:String-instance-method","name":"exit_date_time","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L35"},"def":{"name":"exit_date_time","return_type":"String","visibility":"Public","body":"@exit_date_time"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L32"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_devices_count:Int32-instance-method","name":"inactive_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L53"},"def":{"name":"inactive_devices_count","return_type":"Int32","visibility":"Public","body":"@inactive_devices_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L12"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L7"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L17"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L14"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L41"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L47"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L38"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L20"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/device_presence.cr#L10"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","path":"Cisco/DNASpaces/DevicePresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L94"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L95"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DevicePresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L98"},"def":{"name":"payload","return_type":"DevicePresence","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Dimension","path":"Cisco/DNASpaces/Dimension.html","kind":"class","full_name":"Cisco::DNASpaces::Dimension","name":"Dimension","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L8"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L6"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"offset_x:Float64-instance-method","name":"offset_x","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L11"},"def":{"name":"offset_x","return_type":"Float64","visibility":"Public","body":"@offset_x"}},{"html_id":"offset_y:Float64-instance-method","name":"offset_y","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L14"},"def":{"name":"offset_y","return_type":"Float64","visibility":"Public","body":"@offset_y"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L7"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/Cisco/DNASpaces/Events","path":"Cisco/DNASpaces/Events.html","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper"},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper"},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive"},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper"},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is used to map the various events into a simpler data structure","summary":"

This is used to map the various events into a simpler data structure

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"event type hint","summary":"

event type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"eventType\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'eventType' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'eventType'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"KEEP_ALIVE\"\n KeepAlive.from_json(json)\nwhen \"DEVICE_ENTRY\"\n DeviceEntryWrapper.from_json(json)\nwhen \"DEVICE_EXIT\"\n DeviceExitWrapper.from_json(json)\nwhen \"PROFILE_UPDATE\"\n ProfileUpdateWrapper.from_json(json)\nwhen \"LOCATION_CHANGE\"\n LocationChangeWrapper.from_json(json)\nwhen \"DEVICE_LOCATION_UPDATE\"\n DeviceLocationUpdateWrapper.from_json(json)\nwhen \"TP_PEOPLE_COUNT_UPDATE\"\n PeopleCountUpdateWrapper.from_json(json)\nwhen \"DEVICE_PRESENCE\"\n DevicePresenceWrapper.from_json(json)\nwhen \"USER_PRESENCE\"\n UserPresenceWrapper.from_json(json)\nwhen \"APP_ACTIVATION\"\n AppActivactionWrapper.from_json(json)\nwhen \"DEVICE_COUNT\"\n DeviceCountWrapper.from_json(json)\nwhen \"BLE_RSSI_UPDATE\"\n BleRssiUpdateWrapper.from_json(json)\nwhen \"IOT_TELEMETRY\"\n IotTelemetryWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'eventType' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L41"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"record_timestamp:Int64-instance-method","name":"record_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L32"},"def":{"name":"record_timestamp","return_type":"Int64","visibility":"Public","body":"@record_timestamp"}},{"html_id":"record_uid:String-instance-method","name":"record_uid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L29"},"def":{"name":"record_uid","return_type":"String","visibility":"Public","body":"@record_uid"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L35"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L38"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotDeviceInfo","path":"Cisco/DNASpaces/IotDeviceInfo.html","kind":"class","full_name":"Cisco::DNASpaces::IotDeviceInfo","name":"IotDeviceInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_name:String-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name","return_type":"String","visibility":"Public","body":"@device_name"}},{"html_id":"device_name=(device_name:String)-instance-method","name":"device_name=","abstract":false,"args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"args_string":"(device_name : String)","args_html":"(device_name : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name=","args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"visibility":"Public","body":"@device_name = device_name"}},{"html_id":"firmware_version:String-instance-method","name":"firmware_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version","return_type":"String","visibility":"Public","body":"@firmware_version"}},{"html_id":"firmware_version=(firmware_version:String)-instance-method","name":"firmware_version=","abstract":false,"args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"args_string":"(firmware_version : String)","args_html":"(firmware_version : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version=","args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"visibility":"Public","body":"@firmware_version = firmware_version"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer","return_type":"String","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"args_string":"(manufacturer : String)","args_html":"(manufacturer : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L26"},"def":{"name":"os","visibility":"Public","body":"type"}},{"html_id":"raw_id:String-instance-method","name":"raw_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id","return_type":"String","visibility":"Public","body":"@raw_id"}},{"html_id":"raw_id=(raw_id:String)-instance-method","name":"raw_id=","abstract":false,"args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"args_string":"(raw_id : String)","args_html":"(raw_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id=","args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"visibility":"Public","body":"@raw_id = raw_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotPosition","path":"Cisco/DNASpaces/IotPosition.html","kind":"class","full_name":"Cisco::DNASpaces::IotPosition","name":"IotPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L44"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L45"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L46"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"time_located:Int64-instance-method","name":"time_located","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located","return_type":"Int64","visibility":"Public","body":"@time_located"}},{"html_id":"time_located=(time_located:Int64)-instance-method","name":"time_located=","abstract":false,"args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"args_string":"(time_located : Int64)","args_html":"(time_located : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located=","args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"visibility":"Public","body":"@time_located = time_located"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L38"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L41"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetry","path":"Cisco/DNASpaces/IotTelemetry.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetry","name":"IotTelemetry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"air_pressure-instance-method","name":"air_pressure","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L165"},"def":{"name":"air_pressure","visibility":"Public","body":"if pressure = @air_pressure_actual\n pressure[:pressure]\nend"}},{"html_id":"air_pressure_actual:NamedTuple(pressure:Float64)|Nil-instance-method","name":"air_pressure_actual","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L127"},"def":{"name":"air_pressure_actual","return_type":"NamedTuple(pressure: Float64) | ::Nil","visibility":"Public","body":"@air_pressure_actual"}},{"html_id":"air_quality-instance-method","name":"air_quality","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L147"},"def":{"name":"air_quality","visibility":"Public","body":"if index = @air_quality_index\n index[:airQualityIndex]\nend"}},{"html_id":"air_quality_index:NamedTuple(airQualityIndex:Float64)|Nil-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L118"},"def":{"name":"air_quality_index","return_type":"NamedTuple(airQualityIndex: Float64) | ::Nil","visibility":"Public","body":"@air_quality_index"}},{"html_id":"ambient_noise-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L143"},"def":{"name":"ambient_noise","visibility":"Public","body":"tele_presence_data.try(&.ambient_noise)"}},{"html_id":"confidence_factor(*args,**options)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.confidence_factor(*args, **options)"}},{"html_id":"confidence_factor(*args,**options,&)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.confidence_factor(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"detected_position:IotPosition|Nil-instance-method","name":"detected_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L98"},"def":{"name":"detected_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@detected_position"}},{"html_id":"device:IotDeviceInfo-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L95"},"def":{"name":"device","return_type":"IotDeviceInfo","visibility":"Public","body":"@device"}},{"html_id":"device_rtc:Int64-instance-method","name":"device_rtc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L106"},"def":{"name":"device_rtc","return_type":"Int64","visibility":"Public","body":"@device_rtc"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L191"},"def":{"name":"has_position?","visibility":"Public","body":"!(!(@detected_position || @placed_position))"}},{"html_id":"humidity-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L159"},"def":{"name":"humidity","visibility":"Public","body":"if humidity = @humidity_percent\n humidity[:humidityInPercentage]\nend"}},{"html_id":"humidity_percent:NamedTuple(humidityInPercentage:Float64)|Nil-instance-method","name":"humidity_percent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L124"},"def":{"name":"humidity_percent","return_type":"NamedTuple(humidityInPercentage: Float64) | ::Nil","visibility":"Public","body":"@humidity_percent"}},{"html_id":"last_seen-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L215"},"def":{"name":"last_seen","visibility":"Public","body":"tele_presence_data.try(&.time_stamp) || position.time_located"}},{"html_id":"last_seen=(time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":""}],"args_string":"(time)","args_html":"(time)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L219"},"def":{"name":"last_seen=","args":[{"name":"time","external_name":"time","restriction":""}],"visibility":"Public","body":"if tele_data = tele_presence_data\n tele_data.time_stamp = time\nelse\n position.time_located = time\nend"}},{"html_id":"latitude(*args,**options)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.latitude(*args, **options)"}},{"html_id":"latitude(*args,**options,&)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.latitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L103"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L181"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude(*args,**options)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.longitude(*args, **options)"}},{"html_id":"longitude(*args,**options,&)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.longitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id(*args,**options)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.map_id(*args, **options)"}},{"html_id":"map_id(*args,**options,&)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.map_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id=(id)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L207"},"def":{"name":"map_id=","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"position.map_id = id"}},{"html_id":"people_count-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L135"},"def":{"name":"people_count","visibility":"Public","body":"tele_presence_data.try(&.people_count)"}},{"html_id":"pir_trigger:NamedTuple(timestamp:Int64)|Nil-instance-method","name":"pir_trigger","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L130"},"def":{"name":"pir_trigger","return_type":"NamedTuple(timestamp: Int64) | ::Nil","visibility":"Public","body":"@pir_trigger"}},{"html_id":"pir_triggered-instance-method","name":"pir_triggered","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L171"},"def":{"name":"pir_triggered","visibility":"Public","body":"if pir_trigger = @pir_trigger\n pir_trigger[:timestamp]\nend"}},{"html_id":"placed_position:IotPosition|Nil-instance-method","name":"placed_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L101"},"def":{"name":"placed_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@placed_position"}},{"html_id":"position:IotPosition-instance-method","name":"position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L195"},"def":{"name":"position","return_type":"IotPosition","visibility":"Public","body":"(@detected_position || @placed_position).not_nil!"}},{"html_id":"presence-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L139"},"def":{"name":"presence","visibility":"Public","body":"tele_presence_data.try(&.presence)"}},{"html_id":"raw_header:Int64-instance-method","name":"raw_header","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L109"},"def":{"name":"raw_header","return_type":"Int64","visibility":"Public","body":"@raw_header"}},{"html_id":"raw_payload:String-instance-method","name":"raw_payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L112"},"def":{"name":"raw_payload","return_type":"String","visibility":"Public","body":"@raw_payload"}},{"html_id":"raw_user_id-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L227"},"def":{"name":"raw_user_id","visibility":"Public","body":"\"\""}},{"html_id":"sequence_num:Int64-instance-method","name":"sequence_num","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L115"},"def":{"name":"sequence_num","return_type":"Int64","visibility":"Public","body":"@sequence_num"}},{"html_id":"ssid-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L235"},"def":{"name":"ssid","visibility":"Public","body":"\"IoT\""}},{"html_id":"tele_presence_data:TpData|Nil-instance-method","name":"tele_presence_data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L133"},"def":{"name":"tele_presence_data","return_type":"TpData | ::Nil","visibility":"Public","body":"@tele_presence_data"}},{"html_id":"temperature-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L153"},"def":{"name":"temperature","visibility":"Public","body":"if temp = @temperature_celsius\n temp[:temperatureInCelsius]\nend"}},{"html_id":"temperature_celsius:NamedTuple(temperatureInCelsius:Float64)|Nil-instance-method","name":"temperature_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L121"},"def":{"name":"temperature_celsius","return_type":"NamedTuple(temperatureInCelsius: Float64) | ::Nil","visibility":"Public","body":"@temperature_celsius"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L231"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"3.0"}},{"html_id":"visit_id-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L211"},"def":{"name":"visit_id","visibility":"Public","body":"\"unknown for IoT\""}},{"html_id":"x_pos(*args,**options)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.x_pos(*args, **options)"}},{"html_id":"x_pos(*args,**options,&)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.x_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"y_pos(*args,**options)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.y_pos(*args, **options)"}},{"html_id":"y_pos(*args,**options,&)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.y_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","path":"Cisco/DNASpaces/IotTelemetryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L129"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L130"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:IotTelemetry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L133"},"def":{"name":"payload","return_type":"IotTelemetry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","path":"Cisco/DNASpaces/KeepAlive.html","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L45"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L47"},"def":{"name":"payload","visibility":"Public","body":"nil"}}]},{"html_id":"drivers/Cisco/DNASpaces/Location","path":"Cisco/DNASpaces/Location.html","kind":"class","full_name":"Cisco::DNASpaces::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"descriptions(mappings={}ofString=>String)-instance-method","name":"descriptions","doc":"Maps location_ids to location names","summary":"

Maps location_ids to location names

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L25"},"def":{"name":"descriptions","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.descriptions(mappings))\nmappings[location_id] = name\nmappings\n"}},{"html_id":"details(mappings={}ofString=>String)-instance-method","name":"details","doc":"Maps tag names to location_ids","summary":"

Maps tag names to location_ids

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L18"},"def":{"name":"details","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.details(mappings))\ntags.each do |tag|\n mappings[tag] = location_id\nend\nmappings\n"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L7"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"parent:Location|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L15"},"def":{"name":"parent","return_type":"Location | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location.cr#L13"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange","path":"Cisco/DNASpaces/LocationChange.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_type:String-instance-method","name":"change_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L7"},"def":{"name":"change_type","return_type":"String","visibility":"Public","body":"@change_type"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L8"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/LocationChange/LocationDetails","path":"Cisco/DNASpaces/LocationChange/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L25"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L22"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L24"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L27"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L28"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"metadata:Array(Metadata)-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L30"},"def":{"name":"metadata","return_type":"Array(Metadata)","visibility":"Public","body":"@metadata"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L23"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L21"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange/Metadata","path":"Cisco/DNASpaces/LocationChange/Metadata.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L13"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"values:Array(String)-instance-method","name":"values","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_change.cr#L14"},"def":{"name":"values","return_type":"Array(String)","visibility":"Public","body":"@values"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","path":"Cisco/DNASpaces/LocationChangeWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L74"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:LocationChange-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L77"},"def":{"name":"payload","return_type":"LocationChange","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationDetails","path":"Cisco/DNASpaces/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L12"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L9"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L11"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L14"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L15"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L10"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/location_details.cr#L7"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationInfo","path":"Cisco/DNASpaces/LocationInfo.html","kind":"class","full_name":"Cisco::DNASpaces::LocationInfo","name":"LocationInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"details:LocationDetails-instance-method","name":"details","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L165"},"def":{"name":"details","return_type":"LocationDetails","visibility":"Public","body":"@details"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces.cr#L162"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}]},{"html_id":"drivers/Cisco/DNASpaces/MapInfo","path":"Cisco/DNASpaces/MapInfo.html","kind":"class","full_name":"Cisco::DNASpaces::MapInfo","name":"MapInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dimension:Cisco::DNASpaces::Dimension-instance-method","name":"dimension","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L29"},"def":{"name":"dimension","return_type":"Cisco::DNASpaces::Dimension","visibility":"Public","body":"@dimension"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L21"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_height:Float64-instance-method","name":"image_height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L27"},"def":{"name":"image_height","return_type":"Float64","visibility":"Public","body":"@image_height"}},{"html_id":"image_width:Float64-instance-method","name":"image_width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/map_info.cr#L24"},"def":{"name":"image_width","return_type":"Float64","visibility":"Public","body":"@image_width"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdate","path":"Cisco/DNASpaces/PeopleCountUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdate","name":"PeopleCountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is triggered from telepresence devices","summary":"

This is triggered from telepresence devices

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L25"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L19"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L22"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L9"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L13"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L10"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L28"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L16"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L31"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"tp_device_id:String-instance-method","name":"tp_device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/people_count_update.cr#L8"},"def":{"name":"tp_device_id","return_type":"String","visibility":"Public","body":"@tp_device_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","path":"Cisco/DNASpaces/PeopleCountUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L88"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:PeopleCountUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L91"},"def":{"name":"payload","return_type":"PeopleCountUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","path":"Cisco/DNASpaces/ProfileUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L67"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:Device-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L70"},"def":{"name":"payload","return_type":"Device","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiMeasurement","path":"Cisco/DNASpaces/RssiMeasurement.html","kind":"class","full_name":"Cisco::DNASpaces::RssiMeasurement","name":"RssiMeasurement","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"antenna_id:Int32-instance-method","name":"antenna_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id","return_type":"Int32","visibility":"Public","body":"@antenna_id"}},{"html_id":"antenna_id=(antenna_id:Int32)-instance-method","name":"antenna_id=","abstract":false,"args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"args_string":"(antenna_id : Int32)","args_html":"(antenna_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id=","args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"visibility":"Public","body":"@antenna_id = antenna_id"}},{"html_id":"band_id:Int32-instance-method","name":"band_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id","return_type":"Int32","visibility":"Public","body":"@band_id"}},{"html_id":"band_id=(band_id:Int32)-instance-method","name":"band_id=","abstract":false,"args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"args_string":"(band_id : Int32)","args_html":"(band_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id=","args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"visibility":"Public","body":"@band_id = band_id"}},{"html_id":"if_slot_id:Int32-instance-method","name":"if_slot_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id","return_type":"Int32","visibility":"Public","body":"@if_slot_id"}},{"html_id":"if_slot_id=(if_slot_id:Int32)-instance-method","name":"if_slot_id=","abstract":false,"args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"args_string":"(if_slot_id : Int32)","args_html":"(if_slot_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id=","args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"visibility":"Public","body":"@if_slot_id = if_slot_id"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiNotification","path":"Cisco/DNASpaces/RssiNotification.html","kind":"class","full_name":"Cisco::DNASpaces::RssiNotification","name":"RssiNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"measurements:Array(RssiMeasurement)-instance-method","name":"measurements","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements","return_type":"Array(RssiMeasurement)","visibility":"Public","body":"@measurements"}},{"html_id":"measurements=(measurements:Array(RssiMeasurement))-instance-method","name":"measurements=","abstract":false,"args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"args_string":"(measurements : Array(RssiMeasurement))","args_html":"(measurements : Array(RssiMeasurement))","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements=","args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"visibility":"Public","body":"@measurements = measurements"}},{"html_id":"payload:BlePayload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload","return_type":"BlePayload","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:BlePayload)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"args_string":"(payload : BlePayload)","args_html":"(payload : BlePayload)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"visibility":"Public","body":"@payload = payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/TpData","path":"Cisco/DNASpaces/TpData.html","kind":"class","full_name":"Cisco::DNASpaces::TpData","name":"TpData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"active_calls=(active_calls:Int32)-instance-method","name":"active_calls=","abstract":false,"args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"args_string":"(active_calls : Int32)","args_html":"(active_calls : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls=","args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"visibility":"Public","body":"@active_calls = active_calls"}},{"html_id":"air_quality_index:Float64-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index","return_type":"Float64","visibility":"Public","body":"@air_quality_index"}},{"html_id":"air_quality_index=(air_quality_index:Float64)-instance-method","name":"air_quality_index=","abstract":false,"args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"args_string":"(air_quality_index : Float64)","args_html":"(air_quality_index : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index=","args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"visibility":"Public","body":"@air_quality_index = air_quality_index"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"ambient_noise=(ambient_noise:Int32)-instance-method","name":"ambient_noise=","abstract":false,"args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"args_string":"(ambient_noise : Int32)","args_html":"(ambient_noise : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise=","args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"visibility":"Public","body":"@ambient_noise = ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"dryness_score=(dryness_score:Int32)-instance-method","name":"dryness_score=","abstract":false,"args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"args_string":"(dryness_score : Int32)","args_html":"(dryness_score : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score=","args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"visibility":"Public","body":"@dryness_score = dryness_score"}},{"html_id":"humidity_in_percentage:Float64-instance-method","name":"humidity_in_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage","return_type":"Float64","visibility":"Public","body":"@humidity_in_percentage"}},{"html_id":"humidity_in_percentage=(humidity_in_percentage:Float64)-instance-method","name":"humidity_in_percentage=","abstract":false,"args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"args_string":"(humidity_in_percentage : Float64)","args_html":"(humidity_in_percentage : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage=","args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"visibility":"Public","body":"@humidity_in_percentage = humidity_in_percentage"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"people_count=(people_count:Int32)-instance-method","name":"people_count=","abstract":false,"args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"args_string":"(people_count : Int32)","args_html":"(people_count : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count=","args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"visibility":"Public","body":"@people_count = people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L88"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"presentation_state=(presentation_state:Int32)-instance-method","name":"presentation_state=","abstract":false,"args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"args_string":"(presentation_state : Int32)","args_html":"(presentation_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state=","args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"visibility":"Public","body":"@presentation_state = presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"standby_state=(standby_state:Int32)-instance-method","name":"standby_state=","abstract":false,"args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"args_string":"(standby_state : Int32)","args_html":"(standby_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state=","args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"visibility":"Public","body":"@standby_state = standby_state"}},{"html_id":"temperature_in_celsius:Float64-instance-method","name":"temperature_in_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius","return_type":"Float64","visibility":"Public","body":"@temperature_in_celsius"}},{"html_id":"temperature_in_celsius=(temperature_in_celsius:Float64)-instance-method","name":"temperature_in_celsius=","abstract":false,"args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"args_string":"(temperature_in_celsius : Float64)","args_html":"(temperature_in_celsius : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius=","args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"visibility":"Public","body":"@temperature_in_celsius = temperature_in_celsius"}},{"html_id":"time_stamp:Int64-instance-method","name":"time_stamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp","return_type":"Int64","visibility":"Public","body":"@time_stamp"}},{"html_id":"time_stamp=(time_stamp:Int64)-instance-method","name":"time_stamp=","abstract":false,"args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"args_string":"(time_stamp : Int64)","args_html":"(time_stamp : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp=","args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"visibility":"Public","body":"@time_stamp = time_stamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence","path":"Cisco/DNASpaces/UserPresence.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_users_count:UserCount-instance-method","name":"active_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L79"},"def":{"name":"active_users_count","return_type":"UserCount","visibility":"Public","body":"@active_users_count"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L64"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L61"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L70"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L67"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_users_count:UserCount-instance-method","name":"inactive_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L82"},"def":{"name":"inactive_users_count","return_type":"UserCount","visibility":"Public","body":"@inactive_users_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L52"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L46"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L55"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L76"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"user:User-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L51"},"def":{"name":"user","return_type":"User","visibility":"Public","body":"@user"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L73"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L58"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L49"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/UserPresence/User","path":"Cisco/DNASpaces/UserPresence/User.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L13"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L16"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L20"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L17"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L23"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L15"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L26"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L14"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence/UserCount","path":"Cisco/DNASpaces/UserPresence/UserCount.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::UserCount","name":"UserCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"total_users:Int64-instance-method","name":"total_users","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L42"},"def":{"name":"total_users","return_type":"Int64","visibility":"Public","body":"@total_users"}},{"html_id":"users_with_user_id:Int64-instance-method","name":"users_with_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L36"},"def":{"name":"users_with_user_id","return_type":"Int64","visibility":"Public","body":"@users_with_user_id"}},{"html_id":"users_without_user_id:Int64-instance-method","name":"users_without_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/user_presence.cr#L39"},"def":{"name":"users_without_user_id","return_type":"Int64","visibility":"Public","body":"@users_without_user_id"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","path":"Cisco/DNASpaces/UserPresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L102"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:UserPresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/dna_spaces/events.cr#L105"},"def":{"name":"payload","return_type":"UserPresence","visibility":"Public","body":"@payload"}}]}]},{"html_id":"drivers/Cisco/Ise","path":"Cisco/Ise.html","kind":"module","full_name":"Cisco::Ise","name":"Ise","abstract":false,"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Ise/Guests","path":"Cisco/Ise/Guests.html","kind":"class","full_name":"Cisco::Ise::Guests","name":"Guests","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/vnd.com.cisco.ise.identity.guestuser.2.0+xml\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_guest(event_start:Int64,attendee_email:String,attendee_name:String,company_name:String|Nil=nil,phone_number:String=\"0123456789\",sms_service_provider:String|Nil=nil,guest_type:String|Nil=nil,portal_id:String|Nil=nil)-instance-method","name":"create_guest","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"args_string":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = \"0123456789\", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","args_html":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = "0123456789", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L53"},"def":{"name":"create_guest","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"guest_names = attendee_name.split\nfirst_name_index_end = guest_names.size > 1 ? -2 : -1\nfirst_name = guest_names[0..first_name_index_end].join(' ')\nlast_name = guest_names[-1]\nusername = genererate_username(first_name, last_name)\nif setting?(Bool, :test)\n return {\"username\" => username, \"password\" => UUID.random.to_s[0..3]}.merge(@custom_data)\nend\nsms_service_provider || (sms_service_provider = @sms_service_provider)\nguest_type || (guest_type = @guest_type)\nportal_id || (portal_id = @portal_id)\ntime_object = (Time.unix(event_start)).in(@timezone)\nfrom_date = time_object.at_beginning_of_day.to_s(TIME_FORMAT)\nto_date = time_object.at_end_of_day.to_s(TIME_FORMAT)\ncompany_name || (company_name = ((attendee_email.split('@'))[1].split('.'))[0].capitalize)\nxml_string = \"\\n \"\nif @location\n xml_string = xml_string + \"\\n \"\nend\nxml_string = xml_string + \"\\n \\n #{from_date}\"\nif @location\n xml_string = xml_string + \"\\n #{@location}\"\nend\nxml_string = xml_string + \"\\n #{to_date}\\n 1\\n \\n \\n #{company_name}\\n #{attendee_email}\\n #{first_name}\\n #{last_name}\\n English\\n #{phone_number}\"\nif sms_service_provider\n xml_string = xml_string + \"\\n #{sms_service_provider}\"\nend\nxml_string = xml_string + \"\\n #{username}\\n \\n #{guest_type}\\n #{portal_id}\\n \"\nresponse = post(\"/guestuser/\", body: xml_string, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\nguest_id = (response.headers[\"Location\"].split('/')).last\n(guest_crendentials(guest_id)).merge(@custom_data)\n"}},{"html_id":"guest_crendentials(id:String)-instance-method","name":"guest_crendentials","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L140"},"def":{"name":"guest_crendentials","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/guestuser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nparsed_body = XML.parse(response.body)\nguest_user = parsed_body.first_element_child.not_nil!\nguest_info = guest_user.children.find do |c|\n c.name == \"guestInfo\"\nend.not_nil!\n{\"username\" => guest_info.children.find do |c|\n c.name == \"userName\"\nend.not_nil!.content, \"password\" => guest_info.children.find do |c|\n c.name == \"password\"\nend.not_nil!.content}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@basic_auth = \"Basic #{Base64.strict_encode(\"#{setting?(String, :username)}:#{setting?(String, :password)}\")}\"\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@location = setting?(String, :location)\n@sms_service_provider = setting?(String, :sms_service_provider)\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, JSON::Any::Type), :custom_data)) || ({} of String => JSON::Any::Type)\n"}},{"html_id":"test2-instance-method","name":"test2","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L164"},"def":{"name":"test2","visibility":"Public","body":"xml_string = \"\\n\\n\\n08/06/2014 23:22\\n08/07/2014 23:22\\n1\\n\\n\\nNew Company\\njohn@example.com\\nJohn\\nDoe\\nEnglish\\n9999998877\\nGlobal Default\\nautoguestuser1\\n\\nDaily\\nsponsor\\nportal101\\ninterview\\n\"\ntest_xml(xml_string)\n"}},{"html_id":"test_json(json:String)-instance-method","name":"test_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L190"},"def":{"name":"test_json","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: json, headers: {\"Accept\" => \"application/json\", \"Content-Type\" => \"application/json\", \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"test_xml(xml_string:String)-instance-method","name":"test_xml","abstract":false,"args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"args_string":"(xml_string : String)","args_html":"(xml_string : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/guest_users.cr#L155"},"def":{"name":"test_xml","args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: (XML.parse(xml_string)).to_s, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}}]},{"html_id":"drivers/Cisco/Ise/Models","path":"Cisco/Ise/Models.html","kind":"module","full_name":"Cisco::Ise::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"types":[{"html_id":"drivers/Cisco/Ise/Models/InternalUser","path":"Cisco/Ise/Models/InternalUser.html","kind":"class","full_name":"Cisco::Ise::Models::InternalUser","name":"InternalUser","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Ise/Models","kind":"module","full_name":"Cisco::Ise::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_password:Bool-instance-method","name":"change_password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password","return_type":"Bool","visibility":"Public","body":"@change_password"}},{"html_id":"change_password=(change_password:Bool)-instance-method","name":"change_password=","abstract":false,"args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"args_string":"(change_password : Bool)","args_html":"(change_password : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password=","args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"visibility":"Public","body":"@change_password = change_password"}},{"html_id":"custom_attributes:Hash(String,String)-instance-method","name":"custom_attributes","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes","return_type":"Hash(String, String)","visibility":"Public","body":"@custom_attributes"}},{"html_id":"custom_attributes=(custom_attributes:Hash(String,String))-instance-method","name":"custom_attributes=","abstract":false,"args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"args_string":"(custom_attributes : Hash(String, String))","args_html":"(custom_attributes : Hash(String, String))","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes=","args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@custom_attributes = custom_attributes"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"enabled=(enabled:Bool)-instance-method","name":"enabled=","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"args_string":"(enabled : Bool)","args_html":"(enabled : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled=","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"visibility":"Public","body":"@enabled = enabled"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"identity_groups:String|Nil-instance-method","name":"identity_groups","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups","return_type":"String | ::Nil","visibility":"Public","body":"@identity_groups"}},{"html_id":"identity_groups=(identity_groups:String|Nil)-instance-method","name":"identity_groups=","abstract":false,"args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"args_string":"(identity_groups : String | Nil)","args_html":"(identity_groups : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups=","args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"visibility":"Public","body":"@identity_groups = identity_groups"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"password:String|Nil-instance-method","name":"password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password","return_type":"String | ::Nil","visibility":"Public","body":"@password"}},{"html_id":"password=(password:String|Nil)-instance-method","name":"password=","abstract":false,"args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(password : String | Nil)","args_html":"(password : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password=","args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"@password = password"}},{"html_id":"password_store:String-instance-method","name":"password_store","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store","return_type":"String","visibility":"Public","body":"@password_store"}},{"html_id":"password_store=(password_store:String)-instance-method","name":"password_store=","abstract":false,"args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"args_string":"(password_store : String)","args_html":"(password_store : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store=","args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"visibility":"Public","body":"@password_store = password_store"}}]}]},{"html_id":"drivers/Cisco/Ise/NetworkAccess","path":"Cisco/Ise/NetworkAccess.html","kind":"class","full_name":"Cisco::Ise::NetworkAccess","name":"NetworkAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/network_access.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/json\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_internal_user(email:String,name:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,password:String|Nil=nil,identity_groups:Array(String)=[]ofString)-instance-method","name":"create_internal_user","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","args_html":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L79"},"def":{"name":"create_internal_user","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"name || (name = email)\npassword || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = Models::InternalUser.from_json({name: name, email: email, password: password, firstName: first_name, lastName: last_name, description: description, identityGroups: identity_groups.join(\",\")}.to_json)\nif @debug\n logger.debug do\n \"Creating Internal User: #{internal_user.to_json}\"\n end\nend\nresponse = post(\"/internaluser/\", body: {\"InternalUser\" => internal_user}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"Failed to create internal user, code #{response.status_code}\\n#{response.body}\")\nend\nuser = get_internal_user_by_name(name)\nuser.password = password\nuser\n"}},{"html_id":"get_internal_user_by_email(email:String)-instance-method","name":"get_internal_user_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L160"},"def":{"name":"get_internal_user_by_email","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/?filter=email.CONTAINS.#{email}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\nresources = parsed_body[\"SearchResult\"].as_h[\"resources\"].as_a\nif resources.empty?\n raise(\"returned body has no resources\")\nend\nget_internal_user_by_id(resources.first.as_h[\"id\"].to_s)\n"}},{"html_id":"get_internal_user_by_id(id:String)-instance-method","name":"get_internal_user_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L126"},"def":{"name":"get_internal_user_by_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by id, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"get_internal_user_by_name(name:String)-instance-method","name":"get_internal_user_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L143"},"def":{"name":"get_internal_user_by_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/name/#{name}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by name, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L49"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L53"},"def":{"name":"on_update","visibility":"Public","body":"username = setting?(String, :username)\npassword = setting?(String, :password)\n@basic_auth = [\"Basic\", Base64.strict_encode([username, password].join(\":\"))].join(\" \")\n@debug = (setting?(Bool, :debug)) || false\n@test_mode = (setting?(Bool, :test)) || false\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@sms_service_provider = setting?(String, :sms_service_provider)\n@password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, String), :custom_data)) || ({} of String => String)\nif @debug\n logger.debug do\n \"Basic auth details: #{@basic_auth}\"\n end\nend\n"}},{"html_id":"update_internal_user_identity_groups_by_email(email:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, identity_groups : Array(String))","args_html":"(email : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L262"},"def":{"name":"update_internal_user_identity_groups_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_email(email)\nupdate_internal_user_identity_groups_by_id(internal_user.id.to_s, identity_groups)\n"}},{"html_id":"update_internal_user_identity_groups_by_id(id:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(id : String, identity_groups : Array(String))","args_html":"(id : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L236"},"def":{"name":"update_internal_user_identity_groups_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_id(id)\nresponse = put(\"/internaluser/#{internal_user.id}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_identity_groups_by_name(name:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(name : String, identity_groups : Array(String))","args_html":"(name : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L250"},"def":{"name":"update_internal_user_identity_groups_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"response = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_email(email:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(email : String, password : String | Nil = nil)","args_html":"(email : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L222"},"def":{"name":"update_internal_user_password_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = get_internal_user_by_email(email)\nupdate_internal_user_password_by_id(internal_user.id.to_s, password)\n"}},{"html_id":"update_internal_user_password_by_id(id:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(id : String, password : String | Nil = nil)","args_html":"(id : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L180"},"def":{"name":"update_internal_user_password_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/#{id}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_name(name:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(name : String, password : String | Nil = nil)","args_html":"(name : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ise/network_access.cr#L201"},"def":{"name":"update_internal_user_password_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}}]}]},{"html_id":"drivers/Cisco/Meraki","path":"Cisco/Meraki.html","kind":"module","full_name":"Cisco::Meraki","name":"Meraki","abstract":false,"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L6"},{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L4"},{"filename":"src/cisco/meraki/scanning_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"\"%FT%T%z\""}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"doc":"Meraki MQTT Data Models","summary":"

Meraki MQTT Data Models

","types":[{"html_id":"drivers/Cisco/Meraki/AlertType","path":"Cisco/Meraki/AlertType.html","kind":"enum","full_name":"Cisco::Meraki::AlertType","name":"AlertType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L365"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PortConnected","name":"PortConnected","value":"0"},{"id":"PortDisconnected","name":"PortDisconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"port_connected?-instance-method","name":"port_connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L366"},"def":{"name":"port_connected?","visibility":"Public","body":"self == PortConnected"}},{"html_id":"port_disconnected?-instance-method","name":"port_disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L367"},"def":{"name":"port_disconnected?","visibility":"Public","body":"self == PortDisconnected"}}]},{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","path":"Cisco/Meraki/CameraAnalytics.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601_MS","name":"ISO8601_MS","value":"\"%FT%T.%3N%z\""}],"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ts:Time-instance-method","name":"ts","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts","return_type":"Time","visibility":"Public","body":"@ts"}},{"html_id":"ts=(ts:Time)-instance-method","name":"ts=","abstract":false,"args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"args_string":"(ts : Time)","args_html":"(ts : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts=","args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"visibility":"Public","body":"@ts = ts"}},{"html_id":"zones:Hash(Int64,PeopleCount)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones","return_type":"Hash(Int64, PeopleCount)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Hash(Int64,PeopleCount))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"args_string":"(zones : Hash(Int64, PeopleCount))","args_html":"(zones : Hash(Int64, PeopleCount))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"visibility":"Public","body":"@zones = zones"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraAnalytics/PeopleCount","path":"Cisco/Meraki/CameraAnalytics/PeopleCount.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics::PeopleCount","name":"PeopleCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person:Int32-instance-method","name":"person","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person","return_type":"Int32","visibility":"Public","body":"@person"}},{"html_id":"person=(person:Int32)-instance-method","name":"person=","abstract":false,"args":[{"name":"person","external_name":"person","restriction":"Int32"}],"args_string":"(person : Int32)","args_html":"(person : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person=","args":[{"name":"person","external_name":"person","restriction":"Int32"}],"visibility":"Public","body":"@person = person"}}]}]},{"html_id":"drivers/Cisco/Meraki/CameraZone","path":"Cisco/Meraki/CameraZone.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L302"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L303"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"distance:Float64-instance-method","name":"distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance","return_type":"Float64","visibility":"Public","body":"@distance"}},{"html_id":"distance=(distance:Float64)-instance-method","name":"distance=","abstract":false,"args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"args_string":"(distance : Float64)","args_html":"(distance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance=","args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"visibility":"Public","body":"@distance = distance"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L315"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"label:String-instance-method","name":"label","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L317"},"def":{"name":"label","return_type":"String","visibility":"Public","body":"@label"}},{"html_id":"mid_point-instance-method","name":"mid_point","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L325"},"def":{"name":"mid_point","visibility":"Public","body":"mid_x = (region.x0.to_f64 + region.x1.to_f64) / 2.0\nmid_y = (region.y0.to_f64 + region.y1.to_f64) / 2.0\n{mid_x, mid_y}\n"}},{"html_id":"region:Region-instance-method","name":"region","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L320"},"def":{"name":"region","return_type":"Region","visibility":"Public","body":"@region"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L316"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L331"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"if (value = @x).nil?\n @x = (begin\n xpos, @y = mid_point\n xpos\n end)\nelse\n value\nend"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L336"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"if (value = @y).nil?\n @y = (begin\n @x, ypos = mid_point\n ypos\n end)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraZone/Region","path":"Cisco/Meraki/CameraZone/Region.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone::Region","name":"Region","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L305"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraZone","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L306"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x0:String-instance-method","name":"x0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L308"},"def":{"name":"x0","return_type":"String","visibility":"Public","body":"@x0"}},{"html_id":"x1:String-instance-method","name":"x1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L310"},"def":{"name":"x1","return_type":"String","visibility":"Public","body":"@x1"}},{"html_id":"y0:String-instance-method","name":"y0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L309"},"def":{"name":"y0","return_type":"String","visibility":"Public","body":"@y0"}},{"html_id":"y1:String-instance-method","name":"y1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L311"},"def":{"name":"y1","return_type":"String","visibility":"Public","body":"@y1"}}]}]},{"html_id":"drivers/Cisco/Meraki/CaptivePortal","path":"Cisco/Meraki/CaptivePortal.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"JSON_HEADERS","name":"JSON_HEADERS","value":"{\"Content-Type\" => \"application/json\"}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"challenge(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"challenge","doc":"Webhook for providing guest access","summary":"

Webhook for providing guest access

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L98"},"def":{"name":"challenge","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"guest access attempt: #{method},\\nheaders #{headers},\\nbody #{body}\"\n end\n challenge = ChallengePayload.from_json(body)\n check_code = challenge.code\n guest_codes = generate_guest_data(challenge.email, Time.utc.to_unix, challenge.timezone)\n matched = (guest_codes.scan(/.{#{@code_length}}/)).count do |code|\n code[0] == check_code\n end > 0\n if matched\n challenge.expires = @access_duration.from_now\n @guests[format_mac(challenge.client_mac)] = challenge\n @granted = @granted + 1_u64\n self[:granted_access] = @granted\n redirect_url = \"#{challenge.base_grant_url}?duration=#{@access_duration.to_i}&continue_url=#{challenge.user_continue || @success_url}\"\n response = {redirect_to: redirect_url}.to_json\n logger.debug do\n \"successful joined network #{challenge.inspect}\"\n end\n {HTTP::Status::OK, JSON_HEADERS, response}\n else\n @denied = @denied + 1_u64\n self[:denied_access] = @denied\n logger.debug do\n \"failed wifi access attempt by #{challenge.inspect}\"\n end\n {HTTP::Status::NOT_ACCEPTABLE, JSON_HEADERS, \"{}\"}\n end\nrescue error\n @errors = @errors + 1_u64\n self[:errors] = @errors\n last_error = error.inspect_with_backtrace\n self[:last_error] = last_error\n logger.error do\n \"failed to parse wifi challenge payload\\n#{error}\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR, EMPTY_HEADERS, nil}\nend"}},{"html_id":"generate_guest_data(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_data","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L62"},"def":{"name":"generate_guest_data","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_zone = time_zone.presence ? Time::Location.load(time_zone.not_nil!) : @default_timezone\ndate = ((Time.unix(time)).in(time_zone)).to_s(@date_format)\nguest_string = \"#{email.downcase}-#{date}-#{@wifi_secret}\"\n((OpenSSL::Digest.new(\"SHA256\")).update(guest_string)).final.hexstring\n"}},{"html_id":"generate_guest_token(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_token","doc":"Splits the SHA256 into code length and then randomly selects one","summary":"

Splits the SHA256 into code length and then randomly selects one

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L71"},"def":{"name":"generate_guest_token","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"(((generate_guest_data(email, time, time_zone)).scan(/.{#{@code_length}}/)).sample(1))[0][0]"}},{"html_id":"guests:Hash(String,Cisco::Meraki::CaptivePortal::ChallengePayload)-instance-method","name":"guests","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L53"},"def":{"name":"guests","visibility":"Public","body":"@guests"}},{"html_id":"lookup(mac:String)-instance-method","name":"lookup","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L58"},"def":{"name":"lookup","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@guests[format_mac(mac)]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@wifi_secret = (setting?(String, :wifi_secret)) || \"anything really\"\n@date_format = (setting?(String, :date_format)) || \"%Y%m%d\"\n@success_url = (setting?(String, :success_url)) || \"https://place.technology/\"\n@access_duration = ((setting?(Int32, :access_duration)) || 12).hours\n@code_length = (setting?(Int32, :code_length)) || 4\ntime_zone = (setting?(String, :default_timezone)).presence\nif time_zone\n @default_timezone = Time::Location.load(time_zone)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CaptivePortal/ChallengePayload","path":"Cisco/Meraki/CaptivePortal/ChallengePayload.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal::ChallengePayload","name":"ChallengePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CaptivePortal","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"base_grant_url:String-instance-method","name":"base_grant_url","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url","return_type":"String","visibility":"Public","body":"@base_grant_url"}},{"html_id":"base_grant_url=(base_grant_url:String)-instance-method","name":"base_grant_url=","abstract":false,"args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"args_string":"(base_grant_url : String)","args_html":"(base_grant_url : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url=","args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"visibility":"Public","body":"@base_grant_url = base_grant_url"}},{"html_id":"client_ip:String-instance-method","name":"client_ip","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip","return_type":"String","visibility":"Public","body":"@client_ip"}},{"html_id":"client_ip=(client_ip:String)-instance-method","name":"client_ip=","abstract":false,"args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"args_string":"(client_ip : String)","args_html":"(client_ip : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip=","args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"visibility":"Public","body":"@client_ip = client_ip"}},{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"code:String-instance-method","name":"code","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code","return_type":"String","visibility":"Public","body":"@code"}},{"html_id":"code=(code:String)-instance-method","name":"code=","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"}],"args_string":"(code : String)","args_html":"(code : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"String"}],"visibility":"Public","body":"@code = code"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expires:Time|Nil-instance-method","name":"expires","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires","return_type":"Time | ::Nil","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time|Nil)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"args_string":"(expires : Time | Nil)","args_html":"(expires : Time | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@expires = expires"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_continue:String|Nil-instance-method","name":"user_continue","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue","return_type":"String | ::Nil","visibility":"Public","body":"@user_continue"}},{"html_id":"user_continue=(user_continue:String|Nil)-instance-method","name":"user_continue=","abstract":false,"args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"args_string":"(user_continue : String | Nil)","args_html":"(user_continue : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue=","args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user_continue = user_continue"}}]}]},{"html_id":"drivers/Cisco/Meraki/Client","path":"Cisco/Meraki/Client.html","kind":"class","full_name":"Cisco::Meraki::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"first_seen:String-instance-method","name":"first_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen","return_type":"String","visibility":"Public","body":"@first_seen"}},{"html_id":"first_seen=(first_seen:String)-instance-method","name":"first_seen=","abstract":false,"args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"args_string":"(first_seen : String)","args_html":"(first_seen : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen=","args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"visibility":"Public","body":"@first_seen = first_seen"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"ip:String|Nil-instance-method","name":"ip","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip","return_type":"String | ::Nil","visibility":"Public","body":"@ip"}},{"html_id":"ip6:String|Nil-instance-method","name":"ip6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6","return_type":"String | ::Nil","visibility":"Public","body":"@ip6"}},{"html_id":"ip6=(ip6:String|Nil)-instance-method","name":"ip6=","abstract":false,"args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"args_string":"(ip6 : String | Nil)","args_html":"(ip6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6=","args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6 = ip6"}},{"html_id":"ip6_local:String|Nil-instance-method","name":"ip6_local","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local","return_type":"String | ::Nil","visibility":"Public","body":"@ip6_local"}},{"html_id":"ip6_local=(ip6_local:String|Nil)-instance-method","name":"ip6_local=","abstract":false,"args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"args_string":"(ip6_local : String | Nil)","args_html":"(ip6_local : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local=","args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6_local = ip6_local"}},{"html_id":"ip=(ip:String|Nil)-instance-method","name":"ip=","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"args_string":"(ip : String | Nil)","args_html":"(ip : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip=","args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip = ip"}},{"html_id":"last_seen:Time-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen","return_type":"Time","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"args_string":"(last_seen : Time)","args_html":"(last_seen : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"recent_device_mac:String|Nil-instance-method","name":"recent_device_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_mac"}},{"html_id":"recent_device_mac=(recent_device_mac:String|Nil)-instance-method","name":"recent_device_mac=","abstract":false,"args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"args_string":"(recent_device_mac : String | Nil)","args_html":"(recent_device_mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac=","args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_mac = recent_device_mac"}},{"html_id":"recent_device_serial:String|Nil-instance-method","name":"recent_device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_serial"}},{"html_id":"recent_device_serial=(recent_device_serial:String|Nil)-instance-method","name":"recent_device_serial=","abstract":false,"args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"args_string":"(recent_device_serial : String | Nil)","args_html":"(recent_device_serial : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial=","args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_serial = recent_device_serial"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}},{"html_id":"switch_port:Int32-instance-method","name":"switch_port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L151"},"def":{"name":"switch_port","return_type":"Int32","visibility":"Public","body":"if (value = @switch_port).nil?\n @switch_port = ((@switchport.as(String)).to_i)\nelse\n value\nend"}},{"html_id":"switchport:String|Nil-instance-method","name":"switchport","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport","return_type":"String | ::Nil","visibility":"Public","body":"@switchport"}},{"html_id":"switchport=(switchport:String|Nil)-instance-method","name":"switchport=","abstract":false,"args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"args_string":"(switchport : String | Nil)","args_html":"(switchport : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport=","args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"visibility":"Public","body":"@switchport = switchport"}},{"html_id":"time_added:Time-instance-method","name":"time_added","abstract":false,"def":{"name":"time_added","return_type":"Time","visibility":"Public","body":"if (value = @time_added).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::Client#time_added cannot be nil\"))\nelse\n value\nend"}},{"html_id":"time_added=(time_added:Time)-instance-method","name":"time_added=","abstract":false,"args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"args_string":"(time_added : Time)","args_html":"(time_added : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L148"},"def":{"name":"time_added=","args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"visibility":"Public","body":"@time_added = time_added"}},{"html_id":"time_added?:Time|Nil-instance-method","name":"time_added?","abstract":false,"def":{"name":"time_added?","return_type":"Time | ::Nil","visibility":"Public","body":"@time_added"}},{"html_id":"user:String|Nil-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"vlan:String|Nil-instance-method","name":"vlan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan","return_type":"String | ::Nil","visibility":"Public","body":"@vlan"}},{"html_id":"vlan=(vlan:String|Nil)-instance-method","name":"vlan=","abstract":false,"args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"args_string":"(vlan : String | Nil)","args_html":"(vlan : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan=","args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"visibility":"Public","body":"@vlan = vlan"}}]},{"html_id":"drivers/Cisco/Meraki/ConnectionType","path":"Cisco/Meraki/ConnectionType.html","kind":"enum","full_name":"Cisco::Meraki::ConnectionType","name":"ConnectionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L360"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Wired","name":"Wired","value":"0"},{"id":"Wireless","name":"Wireless","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"wired?-instance-method","name":"wired?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L361"},"def":{"name":"wired?","visibility":"Public","body":"self == Wired"}},{"html_id":"wireless?-instance-method","name":"wireless?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L362"},"def":{"name":"wireless?","visibility":"Public","body":"self == Wireless"}}]},{"html_id":"drivers/Cisco/Meraki/CountType","path":"Cisco/Meraki/CountType.html","kind":"enum","full_name":"Cisco::Meraki::CountType","name":"CountType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"People","name":"People","value":"0"},{"id":"Vehicles","name":"Vehicles","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"people?-instance-method","name":"people?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L44"},"def":{"name":"people?","visibility":"Public","body":"self == People"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L46"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicles?-instance-method","name":"vehicles?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L45"},"def":{"name":"vehicles?","visibility":"Public","body":"self == Vehicles"}}]},{"html_id":"drivers/Cisco/Meraki/Crossing","path":"Cisco/Meraki/Crossing.html","kind":"struct","full_name":"Cisco::Meraki::Crossing","name":"Crossing","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event:CrossingEvent-instance-method","name":"event","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L95"},"def":{"name":"event","return_type":"CrossingEvent","visibility":"Public","body":"@event"}},{"html_id":"label:String|Nil-instance-method","name":"label","doc":"getter object_id : Int64","summary":"

getter object_id : Int64

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L94"},"def":{"name":"label","return_type":"String | ::Nil","visibility":"Public","body":"@label"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L92"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"type:CrossingObject-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L96"},"def":{"name":"type","return_type":"CrossingObject","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingEvent","path":"Cisco/Meraki/CrossingEvent.html","kind":"enum","full_name":"Cisco::Meraki::CrossingEvent","name":"CrossingEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CrossingIn","name":"CrossingIn","value":"0"},{"id":"CrossingOut","name":"CrossingOut","value":"1"},{"id":"Expired","name":"Expired","value":"2"},{"id":"Appeared","name":"Appeared","value":"3"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"appeared?-instance-method","name":"appeared?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L85"},"def":{"name":"appeared?","visibility":"Public","body":"self == Appeared"}},{"html_id":"crossing_in?-instance-method","name":"crossing_in?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L82"},"def":{"name":"crossing_in?","visibility":"Public","body":"self == CrossingIn"}},{"html_id":"crossing_out?-instance-method","name":"crossing_out?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L83"},"def":{"name":"crossing_out?","visibility":"Public","body":"self == CrossingOut"}},{"html_id":"expired?-instance-method","name":"expired?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L84"},"def":{"name":"expired?","visibility":"Public","body":"self == Expired"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingObject","path":"Cisco/Meraki/CrossingObject.html","kind":"enum","full_name":"Cisco::Meraki::CrossingObject","name":"CrossingObject","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Person","name":"Person","value":"0"},{"id":"Vehicle","name":"Vehicle","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"person?-instance-method","name":"person?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L76"},"def":{"name":"person?","visibility":"Public","body":"self == Person"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L78"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicle?-instance-method","name":"vehicle?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L77"},"def":{"name":"vehicle?","visibility":"Public","body":"self == Vehicle"}}]},{"html_id":"drivers/Cisco/Meraki/Dashboard","path":"Cisco/Meraki/Dashboard.html","kind":"class","full_name":"Cisco::Meraki::Dashboard","name":"Dashboard","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/dashboard.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK.to_i, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"fetch(location:String)-instance-method","name":"fetch","doc":"Perform fetch with the required API request limits in place","summary":"

Perform fetch with the required API request limits in place

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L69"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"req(location, &.body)"}},{"html_id":"fetch_all(location:String)-instance-method","name":"fetch_all","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L74"},"def":{"name":"fetch_all","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"responses = [] of String\nreq_all_pages(location) do |response|\n responses << response.body\nend\nresponses\n"}},{"html_id":"get_zones(camera_serial:String)-instance-method","name":"get_zones","abstract":false,"args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"args_string":"(camera_serial : String)","args_html":"(camera_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L183"},"def":{"name":"get_zones","args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{camera_serial}/camera/analytics/zones\") do |response|\n Array(CameraZone).from_json(response.body)\nend"}},{"html_id":"networks(organization_id:String)-instance-method","name":"networks","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L142"},"def":{"name":"networks","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"nets = [] of Network\nreq_all_pages(\"/api/v1/organizations/#{organization_id}/networks?perPage=1000\") do |response|\n nets.concat(Array(Network).from_json(response.body))\nend\nnets\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L38"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@scanning_validator = (setting?(String, :meraki_validator)) || \"\"\n@scanning_secret = (setting?(String, :meraki_secret)) || \"\"\n@api_key = (setting?(String, :meraki_api_key)) || \"\"\n@scanning_api_filter = (setting?(MessageType, :scanning_api_filter)) || MessageType::WiFi\n@rate_limit = (setting?(Int32, :rate_limit)) || 4\n@wait_time = 1.second / @rate_limit\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n"}},{"html_id":"organizations-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L135"},"def":{"name":"organizations","visibility":"Public","body":"req(\"/api/v1/organizations?perPage=1000\") do |response|\n Array(Organization).from_json(response.body)\nend"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil,statuses:String=\"Online\")-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = \"Online\")","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = "Online")","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L151"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"perPage\", \"1000\")\n form.add(\"timespan\", timespan.to_s)\n form.add(\"statuses[]\", statuses)\n if connection\n form.add(\"recentDeviceConnections[]\", connection.to_s)\n end\nend\nclients = [] of Client\nreq_all_pages(\"/api/v1/networks/#{network_id}/clients?#{params}\") do |response|\n clients.concat(Array(Client).from_json(response.body))\nend\nif device_serial\n clients.select! do |client|\n client.recent_device_serial == device_serial\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nelse\n clients.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nend\n"}},{"html_id":"port_status(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"port_status","doc":"a webhook for obtaining changes in port status","summary":"

a webhook for obtaining changes in port status

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L228"},"def":{"name":"port_status","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Webhook Alert received: #{method},\\nheaders #{headers},\\nbody #{body}\"\nend\nself[:port_update] = WebhookAlert.from_json(body)\nSUCCESS_RESPONSE\n"}},{"html_id":"ports_statuses(device_serial:String)-instance-method","name":"ports_statuses","abstract":false,"args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"args_string":"(device_serial : String)","args_html":"(device_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L177"},"def":{"name":"ports_statuses","args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{device_serial}/switch/ports/statuses\") do |response|\n Array(PortStatusResponse).from_json(response.body)\nend"}},{"html_id":"scanning_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"scanning_api","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/dashboard.cr#L190"},"def":{"name":"scanning_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nif method == \"GET\"\n return {HTTP::Status::OK.to_i, EMPTY_HEADERS, @scanning_validator}\nend\nif !(body.starts_with?(\"{\\\"version\\\":\\\"3.0\\\"\"))\n logger.warn do\n \"unknown scanning API message received:\\n#{body[0..96]}\"\n end\n return SUCCESS_RESPONSE\nend\nbegin\n seen = DevicesSeen.from_json(body)\n logger.debug do\n \"parsed meraki payload\"\n end\n if (!@scanning_api_filter.none?) && (seen.message_type != @scanning_api_filter)\n logger.debug do\n \"ignoring message type: #{seen.message_type}\"\n end\n return SUCCESS_RESPONSE\n end\n if seen.secret == @scanning_secret\n else\n raise(\"secret mismatch, sent: #{seen.secret}\")\n end\n self[seen.data.network_id] = seen.data.observations\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]},{"html_id":"drivers/Cisco/Meraki/Data","path":"Cisco/Meraki/Data.html","kind":"class","full_name":"Cisco::Meraki::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L276"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L277"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"network_id=(network_id:String)-instance-method","name":"network_id=","abstract":false,"args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"args_string":"(network_id : String)","args_html":"(network_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id=","args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"visibility":"Public","body":"@network_id = network_id"}},{"html_id":"observations:Array(Observation)-instance-method","name":"observations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations","return_type":"Array(Observation)","visibility":"Public","body":"@observations"}},{"html_id":"observations=(observations:Array(Observation))-instance-method","name":"observations=","abstract":false,"args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"args_string":"(observations : Array(Observation))","args_html":"(observations : Array(Observation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations=","args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"visibility":"Public","body":"@observations = observations"}}]},{"html_id":"drivers/Cisco/Meraki/DeskMappings","path":"Cisco/Meraki/DeskMappings.html","kind":"struct","full_name":"Cisco::Meraki::DeskMappings","name":"DeskMappings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L342"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L343"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L346"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}},{"html_id":"ports:Hash(Int32,String)-instance-method","name":"ports","doc":"port_id => desk_id","summary":"

port_id => desk_id

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L349"},"def":{"name":"ports","return_type":"Hash(Int32, String)","visibility":"Public","body":"@ports"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L345"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}}]},{"html_id":"drivers/Cisco/Meraki/DetectedDesks","path":"Cisco/Meraki/DetectedDesks.html","kind":"class","full_name":"Cisco::Meraki::DetectedDesks","name":"DetectedDesks","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api_version:Int32-instance-method","name":"api_version","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L17"},"def":{"name":"api_version","return_type":"Int32","visibility":"Public","body":"@api_version"}},{"html_id":"desks:Array(Tuple(Float64,Float64,Float64,Float64,Float64,Float64,Float64))-instance-method","name":"desks","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L26"},"def":{"name":"desks","return_type":"Array(Tuple(Float64, Float64, Float64, Float64, Float64, Float64, Float64))","visibility":"Public","body":"@desks"}},{"html_id":"time_string:String|Nil-instance-method","name":"time_string","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L24"},"def":{"name":"time_string","return_type":"String | ::Nil","visibility":"Public","body":"@time_string"}},{"html_id":"time_unix:Int64|Nil-instance-method","name":"time_unix","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L21"},"def":{"name":"time_unix","return_type":"Int64 | ::Nil","visibility":"Public","body":"@time_unix"}}]},{"html_id":"drivers/Cisco/Meraki/DeviceLocation","path":"Cisco/Meraki/DeviceLocation.html","kind":"class","full_name":"Cisco::Meraki::DeviceLocation","name":"DeviceLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"calculate_location(floor:FloorPlan,device:NetworkDevice,time:Time):DeviceLocation-class-method","name":"calculate_location","abstract":false,"args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","args_html":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L173"},"def":{"name":"calculate_location","args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"return_type":"DeviceLocation","visibility":"Public","body":"distance = Geo.calculate_xy(floor.top_left, floor.bottom_left, floor.bottom_right, device, floor.to_distance)\nDeviceLocation.new(distance.x, distance.y, device.lng, device.lat, 25_f64, floor.id, floor.name, time)\n"}},{"html_id":"new(x:Float64|String|Nil,y:Float64|String|Nil,lng:Float64|Nil,lat:Float64|Nil,variance:Float64,floor_plan_id:Nil|String,floor_plan_name:Nil|String,time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"args_string":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","args_html":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L165"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y, lng, lat, variance, floor_plan_id, floor_plan_name, time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client:Client|Nil-instance-method","name":"client","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client","return_type":"Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"client=(client:Client|Nil)-instance-method","name":"client=","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"args_string":"(client : Client | Nil)","args_html":"(client : Client | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"visibility":"Public","body":"@client = client"}},{"html_id":"floor_plan:FloorPlanLocation|Nil-instance-method","name":"floor_plan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan","return_type":"FloorPlanLocation | ::Nil","visibility":"Public","body":"@floor_plan"}},{"html_id":"floor_plan=(floor_plan:FloorPlanLocation|Nil)-instance-method","name":"floor_plan=","abstract":false,"args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"args_string":"(floor_plan : FloorPlanLocation | Nil)","args_html":"(floor_plan : FloorPlanLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan=","args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"visibility":"Public","body":"@floor_plan = floor_plan"}},{"html_id":"floor_plan_id-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L237"},"def":{"name":"floor_plan_id","visibility":"Public","body":"wifi_floor_plan_id || floor_plan.try(&.id)"}},{"html_id":"floor_plan_name-instance-method","name":"floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L241"},"def":{"name":"floor_plan_name","visibility":"Public","body":"wifi_floor_plan_name || floor_plan.try(&.name)"}},{"html_id":"get_x:Float64|Nil-instance-method","name":"get_x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L221"},"def":{"name":"get_x","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = x || floor_plan.try(&.x)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"get_y:Float64|Nil-instance-method","name":"get_y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L229"},"def":{"name":"get_y","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = y || floor_plan.try(&.y)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64|Nil)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"args_string":"(lat : Float64 | Nil)","args_html":"(lat : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64|Nil)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"args_string":"(lng : Float64 | Nil)","args_html":"(lng : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"nearest_ap_tags:Array(String)-instance-method","name":"nearest_ap_tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags","return_type":"Array(String)","visibility":"Public","body":"if (value = @nearest_ap_tags).nil?\n @nearest_ap_tags = ([] of String)\nelse\n value\nend"}},{"html_id":"nearest_ap_tags=(nearest_ap_tags:Array(String))-instance-method","name":"nearest_ap_tags=","abstract":false,"args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"args_string":"(nearest_ap_tags : Array(String))","args_html":"(nearest_ap_tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags=","args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"visibility":"Public","body":"@nearest_ap_tags = nearest_ap_tags"}},{"html_id":"rssi_records:Array(RSSI)-instance-method","name":"rssi_records","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records","return_type":"Array(RSSI)","visibility":"Public","body":"@rssi_records"}},{"html_id":"rssi_records=(rssi_records:Array(RSSI))-instance-method","name":"rssi_records=","abstract":false,"args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"args_string":"(rssi_records : Array(RSSI))","args_html":"(rssi_records : Array(RSSI))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records=","args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"visibility":"Public","body":"@rssi_records = rssi_records"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}},{"html_id":"variance:Float64-instance-method","name":"variance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance","return_type":"Float64","visibility":"Public","body":"@variance"}},{"html_id":"variance=(variance:Float64)-instance-method","name":"variance=","abstract":false,"args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"args_string":"(variance : Float64)","args_html":"(variance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance=","args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"visibility":"Public","body":"@variance = variance"}},{"html_id":"wifi_floor_plan_id:String|Nil-instance-method","name":"wifi_floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_id=(wifi_floor_plan_id:String|Nil)-instance-method","name":"wifi_floor_plan_id=","abstract":false,"args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_id : String | Nil)","args_html":"(wifi_floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id=","args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_id = wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_name:String|Nil-instance-method","name":"wifi_floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_name"}},{"html_id":"wifi_floor_plan_name=(wifi_floor_plan_name:String|Nil)-instance-method","name":"wifi_floor_plan_name=","abstract":false,"args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_name : String | Nil)","args_html":"(wifi_floor_plan_name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name=","args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_name = wifi_floor_plan_name"}},{"html_id":"x:Float64|String|Nil-instance-method","name":"x","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x","return_type":"Float64 | String | Nil","visibility":"Public","body":"@x"}},{"html_id":"x!-instance-method","name":"x!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L213"},"def":{"name":"x!","visibility":"Public","body":"get_x.not_nil!"}},{"html_id":"x=(x:Float64|String|Nil)-instance-method","name":"x=","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"args_string":"(x : Float64 | String | Nil)","args_html":"(x : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|String|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y","return_type":"Float64 | String | Nil","visibility":"Public","body":"@y"}},{"html_id":"y!-instance-method","name":"y!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L217"},"def":{"name":"y!","visibility":"Public","body":"get_y.not_nil!"}},{"html_id":"y=(y:Float64|String|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"args_string":"(y : Float64 | String | Nil)","args_html":"(y : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/DevicesSeen","path":"Cisco/Meraki/DevicesSeen.html","kind":"class","full_name":"Cisco::Meraki::DevicesSeen","name":"DevicesSeen","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L290"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L291"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"message_type:MessageType-instance-method","name":"message_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type","return_type":"MessageType","visibility":"Public","body":"@message_type"}},{"html_id":"message_type=(message_type:MessageType)-instance-method","name":"message_type=","abstract":false,"args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"args_string":"(message_type : MessageType)","args_html":"(message_type : MessageType)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type=","args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"visibility":"Public","body":"@message_type = message_type"}},{"html_id":"secret:String-instance-method","name":"secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret","return_type":"String","visibility":"Public","body":"@secret"}},{"html_id":"secret=(secret:String)-instance-method","name":"secret=","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String"}],"args_string":"(secret : String)","args_html":"(secret : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret=","args":[{"name":"secret","external_name":"secret","restriction":"String"}],"visibility":"Public","body":"@secret = secret"}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"String"}],"visibility":"Public","body":"@version = version"}}]},{"html_id":"drivers/Cisco/Meraki/Entrances","path":"Cisco/Meraki/Entrances.html","kind":"class","full_name":"Cisco::Meraki::Entrances","name":"Entrances","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L72"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n @count = ((counts[:person] || counts[:vehicle]) || 0)\nelse\n value\nend"}},{"html_id":"count_type:CountType-instance-method","name":"count_type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L61"},"def":{"name":"count_type","return_type":"CountType","visibility":"Public","body":"if (value = @count_type).nil?\n @count_type = (if counts[:person]\n CountType::People\n else\n if counts[:vehicle]\n CountType::Vehicles\n else\n CountType::Unknown\n end\n end)\nelse\n value\nend"}},{"html_id":"counts:NamedTuple(person:Int32|Nil,vehicle:Int32|Nil)-instance-method","name":"counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L55"},"def":{"name":"counts","return_type":"NamedTuple(person: Int32 | ::Nil, vehicle: Int32 | ::Nil)","visibility":"Public","body":"@counts"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L53"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Cisco/Meraki/FloorMapping","path":"Cisco/Meraki/FloorMapping.html","kind":"class","full_name":"Cisco::Meraki::FloorMapping","name":"FloorMapping","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:String|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L10"},"def":{"name":"building_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"camera_serials:Array(String)-instance-method","name":"camera_serials","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L8"},"def":{"name":"camera_serials","return_type":"Array(String)","visibility":"Public","body":"@camera_serials"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L9"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlan","path":"Cisco/Meraki/FloorPlan.html","kind":"class","full_name":"Cisco::Meraki::FloorPlan","name":"FloorPlan","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_left:Geo::Point-instance-method","name":"bottom_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left","return_type":"Geo::Point","visibility":"Public","body":"@bottom_left"}},{"html_id":"bottom_left=(bottom_left:Geo::Point)-instance-method","name":"bottom_left=","abstract":false,"args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"args_string":"(bottom_left : Geo::Point)","args_html":"(bottom_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left=","args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_left = bottom_left"}},{"html_id":"bottom_right:Geo::Point-instance-method","name":"bottom_right","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right","return_type":"Geo::Point","visibility":"Public","body":"@bottom_right"}},{"html_id":"bottom_right=(bottom_right:Geo::Point)-instance-method","name":"bottom_right=","abstract":false,"args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"args_string":"(bottom_right : Geo::Point)","args_html":"(bottom_right : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right=","args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_right = bottom_right"}},{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Float64)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Float64"}],"args_string":"(height : Float64)","args_html":"(height : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Float64"}],"visibility":"Public","body":"@height = height"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"to_distance-instance-method","name":"to_distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L74"},"def":{"name":"to_distance","visibility":"Public","body":"Geo::Distance.new(width, height)"}},{"html_id":"top_left:Geo::Point-instance-method","name":"top_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left","return_type":"Geo::Point","visibility":"Public","body":"@top_left"}},{"html_id":"top_left=(top_left:Geo::Point)-instance-method","name":"top_left=","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"args_string":"(top_left : Geo::Point)","args_html":"(top_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left=","args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@top_left = top_left"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlanLocation","path":"Cisco/Meraki/FloorPlanLocation.html","kind":"class","full_name":"Cisco::Meraki::FloorPlanLocation","name":"FloorPlanLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L79"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo","path":"Cisco/Meraki/Geo.html","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo","abstract":false,"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EarthRadiusApprox","name":"EarthRadiusApprox","value":"6371000.7900","doc":"radius in meters, approx as we're using a perfect sphere the same volume as the earth","summary":"

radius in meters, approx as we're using a perfect sphere the same volume as the earth

"},{"id":"Radians","name":"Radians","value":"Math::PI / 180_f64"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"class_methods":[{"html_id":"calculate_xy(top_left:Point,bottom_left:Point,bottom_right:Point,position,distance:Distance)-class-method","name":"calculate_xy","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"args_string":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","args_html":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L29"},"def":{"name":"calculate_xy","args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"visibility":"Public","body":"y_base = geo_distance(top_left, bottom_left)\na = geo_distance(top_left, position)\nc = geo_distance(bottom_left, position)\nx_raw = triangle_height(a, y_base, c)\nx_base = geo_distance(bottom_left, bottom_right)\na = geo_distance(bottom_left, position)\nc = geo_distance(bottom_right, position)\ny_raw = triangle_height(a, x_base, c)\npercentage_height = y_raw / y_base\npercentage_width = x_raw / x_base\nDistance.new(distance.x * percentage_width, distance.y * percentage_height)\n"}},{"html_id":"geo_distance(start:Point,ending)-class-method","name":"geo_distance","doc":"https://www.movable-type.co.uk/scripts/latlong.html\nreturns the distance in meters","summary":"

https://www.movable-type.co.uk/scripts/latlong.html returns the distance in meters

","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"args_string":"(start : Point, ending)","args_html":"(start : Point, ending)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L54"},"def":{"name":"geo_distance","args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"visibility":"Public","body":"lat_diff = (ending.lat - start.lat) * Radians\nlng_diff = (ending.lng - start.lng) * Radians\nstart_lat_radian = start.lat * Radians\nend_lng_radian = ending.lng * Radians\na = ((Math.sin(lat_diff / 2_f64)) * (Math.sin(lat_diff / 2_f64))) + ((((Math.cos(start_lat_radian)) * (Math.cos(end_lng_radian))) * (Math.sin(lng_diff / 2_f64))) * (Math.sin(lng_diff / 2_f64)))\nc = 2_f64 * (Math.atan2(Math.sqrt(a), Math.sqrt(1_f64 - a)))\nEarthRadiusApprox * c\n"}},{"html_id":"triangle_height(a:Float64,base:Float64,c:Float64)-class-method","name":"triangle_height","doc":"https://www.omnicalculator.com/math/triangle-height","summary":"

https://www.omnicalculator.com/math/triangle-height

","abstract":false,"args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"args_string":"(a : Float64, base : Float64, c : Float64)","args_html":"(a : Float64, base : Float64, c : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L70"},"def":{"name":"triangle_height","args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"visibility":"Public","body":"(0.5 * (Math.sqrt(((((a + base) + c) * ((base + c) - a)) * ((a - base) + c)) * ((a + base) - c)))) / base"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Geo/Distance","path":"Cisco/Meraki/Geo/Distance.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Distance","name":"Distance","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L22"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo/Point","path":"Cisco/Meraki/Geo/Point.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(lat:Float64,lng:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"args_string":"(lat : Float64, lng : Float64)","args_html":"(lat : Float64, lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L12"},"def":{"name":"new","args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(lat, lng)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]}]},{"html_id":"drivers/Cisco/Meraki/LatestRecord","path":"Cisco/Meraki/LatestRecord.html","kind":"class","full_name":"Cisco::Meraki::LatestRecord","name":"LatestRecord","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"nearest_ap_mac:String-instance-method","name":"nearest_ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac","return_type":"String","visibility":"Public","body":"@nearest_ap_mac"}},{"html_id":"nearest_ap_mac=(nearest_ap_mac:String)-instance-method","name":"nearest_ap_mac=","abstract":false,"args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"args_string":"(nearest_ap_mac : String)","args_html":"(nearest_ap_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac=","args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"visibility":"Public","body":"@nearest_ap_mac = nearest_ap_mac"}},{"html_id":"nearest_ap_rssi:Int32-instance-method","name":"nearest_ap_rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi","return_type":"Int32","visibility":"Public","body":"@nearest_ap_rssi"}},{"html_id":"nearest_ap_rssi=(nearest_ap_rssi:Int32)-instance-method","name":"nearest_ap_rssi=","abstract":false,"args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"args_string":"(nearest_ap_rssi : Int32)","args_html":"(nearest_ap_rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi=","args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"visibility":"Public","body":"@nearest_ap_rssi = nearest_ap_rssi"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations","path":"Cisco/Meraki/Locations.html","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"building_zone:String-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L94"},"def":{"name":"building_zone","return_type":"String","visibility":"Public","body":"@building_zone"}},{"html_id":"camera_analytics(serial:String)-instance-method","name":"camera_analytics","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L711"},"def":{"name":"camera_analytics","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{serial}/camera/analytics/live\") do |response|\n CameraAnalytics.from_json(response)\nend"}},{"html_id":"cameras:Array(Cisco::Meraki::NetworkDevice)-instance-method","name":"cameras","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":726,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L726"},"def":{"name":"cameras","visibility":"Public","body":"@cameras"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L418"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = user_mac_mappings(&.[]?(lookup))\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":638,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L638"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing IP and location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago\nremove_keys = [] of String\n@ip_lookup.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_lookup.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => MAC mappings\"\nend\nremove_keys.clear\n@ip_usernames.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_usernames.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => Username mappings\"\nend\nremove_keys.clear\n@client_details.each do |mac, client|\n if client.time_added < old\n remove_keys << mac\n end\nend\nremove_keys.each do |mac|\n @client_details.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} client details\"\nend\nremove_keys.clear\n@locations.each do |mac, location|\n if location.time < old\n if client = @client_details[mac]?\n if client.time_added < old\n remove_keys << mac\n end\n else\n remove_keys << mac\n end\n end\nend\nremove_keys.each do |mac|\n @locations.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\n"}},{"html_id":"desk_details:Hash(String,DetectedDesks)-instance-method","name":"desk_details","doc":"serial => desks detected","summary":"

serial => desks detected

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L221"},"def":{"name":"desk_details","return_type":"Hash(String, DetectedDesks)","visibility":"Public","body":"@desk_details"}},{"html_id":"desk_locations(zone_id:String)-instance-method","name":"desk_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1260"},"def":{"name":"desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"serials = @zone_lookup[zone_id]? || ([] of String)\nreturn_empty_spaces = @return_empty_spaces\nexpiry_time = desk_data_expiry_time\nserials.compact_map do |serial|\n desks = @desk_mappings[serial]?\n if desks\n else\n next\n end\n if desk_details[serial]?\n else\n next\n end\n floor = @floor_lookup[serial]\n illumination = lux[serial]?\n desks.compact_map do |desk|\n desk_id = desk.label\n occupied = is_occupied?(desk_id, expiry_time)\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: desk_id, level: floor.level_id, building: floor.building_id, capacity: 1, area_lux: illumination, merakimv: serial}\n end\nend.flatten\n"}},{"html_id":"desk_mappings:Hash(String,Array(CameraZone))-instance-method","name":"desk_mappings","doc":"Camera serial => [desk location]","summary":"

Camera serial => [desk location]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1258"},"def":{"name":"desk_mappings","return_type":"Hash(String, Array(CameraZone))","visibility":"Public","body":"@desk_mappings"}},{"html_id":"desk_occupancy:Hash(String,Array(Tuple(Int64,Bool)))-instance-method","name":"desk_occupancy","doc":"=================\nCamera Desk data:\n=================\ndesk_id => [{time, occupied}]","summary":"

================= Camera Desk data: ================= desk_id => [{time, occupied}]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1195"},"def":{"name":"desk_occupancy","return_type":"Hash(String, Array(Tuple(Int64, Bool)))","visibility":"Public","body":"@desk_occupancy"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":510,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L510"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\ncase location.presence\nwhen \"wireless\"\n wireless_locations(zone_id)\nwhen \"desk\"\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(cam_locs[0]) | typeof(desk_locs[0])).new(cam_locs.size + desk_locs.size)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nwhen nil\n wireless_locs = wireless_locations(zone_id)\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(wireless_locs[0]) | typeof(cam_locs[0]) | typeof(desk_locs[0])).new((wireless_locs.size + cam_locs.size) + desk_locs.size)\n combind.concat(wireless_locs)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nelse\n [] of String\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":935,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L935"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L400"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"hostname_ownership(hostname:String,username:String|Nil):Nil-instance-method","name":"hostname_ownership","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(hostname : String, username : String | Nil) : Nil","args_html":"(hostname : String, username : String | Nil) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1006,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1006"},"def":{"name":"hostname_ownership","args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"macs = @mac_hostnames.compact_map do |__arg7|\n mac = __arg7[0]\n host = __arg7[1]\n host == hostname ? mac : nil\nend\nif username && username.presence\n user_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(mac, username, storage)\n end\n end\nelse\n macs.each do |mac|\n @mac_hostnames.delete(mac)\n end\nend\n"}},{"html_id":"inspect_foorplans:Hash(String,Cisco::Meraki::FloorPlan)-instance-method","name":"inspect_foorplans","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L269"},"def":{"name":"inspect_foorplans","visibility":"Public","body":"@floorplan_sizes"}},{"html_id":"inspect_network_devices:Hash(String,Cisco::Meraki::NetworkDevice)-instance-method","name":"inspect_network_devices","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L274"},"def":{"name":"inspect_network_devices","visibility":"Public","body":"@network_devices"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L279"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"IP Mappings: #{@ip_lookup.keys}\\n\\nMAC Locations: #{@locations.keys}\\n\\nClient Details: #{@client_details.keys}\"\nend\n{ip_mappings: @ip_lookup.size, tracking: @locations.size, client_details: @client_details.size}\n"}},{"html_id":"ip_username_mappings(ip_map:Array(Tuple(String,String,String,String|Nil))):Nil-instance-method","name":"ip_username_mappings","abstract":false,"args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"args_string":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","args_html":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":943,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L943"},"def":{"name":"ip_username_mappings","args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"return_type":"Nil","visibility":"Public","body":"now = Time.utc\nuser_mac_mappings do |storage|\n ip_map.each do |__arg6|\n ip = __arg6[0]\n username = __arg6[1]\n domain = __arg6[2]\n hostname = __arg6[3]\n username = format_username(username)\n @ip_usernames[ip] = Lookup.new(now, username)\n if lookup = @ip_lookup[ip]?\n map_user_mac(lookup.mac, username, storage)\n end\n end\nend\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L264"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@locations[format_mac(address)]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"returns locations based on most recently seen\nversus most accurate location","summary":"

returns locations based on most recently seen versus most accurate location

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L431"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n location_max_age = @max_location_age.ago\n (Array(String).from_json(macs)).compact_map do |mac|\n if location = locate_mac(mac)\n client = @client_details[mac]?\n if @regex_filter_device_os\n if client && client.os\n if (/#{@regex_filter_device_os}/).match(client.os.not_nil!)\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS does not match regex filter\"\n end\n next\n end\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS is UNKNOWN\"\n end\n next\n end\n end\n location.client = client\n location.mac = mac\n if client && client.time_added > location_max_age\n location\n else\n if location.time > location_max_age\n location\n end\n end\n end\n end.sort! do |a, b|\n b.time <=> a.time\n end.map do |location|\n lat = location.lat\n lon = location.lng\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => location.x, \"y\" => location.y, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, \"mac\" => location.mac, \"variance\" => location.variance, \"last_seen\" => location.time.to_unix, \"meraki_floor_id\" => location.floor_plan_id, \"meraki_floor_name\" => location.floor_plan_name}\n if level_data = @floorplan_mappings[location.floor_plan_id]?\n level_data.each do |k, v|\n loc[k] = v\n end\n end\n if map_size = @floorplan_sizes[location.floor_plan_id]?\n loc[\"map_width\"] = map_size.width\n loc[\"map_height\"] = map_size.height\n end\n if client = location.client\n if client.manufacturer\n loc[\"manufacturer\"] = client.manufacturer\n end\n if client.os\n loc[\"os\"] = client.os\n end\n if client.ssid\n loc[\"ssid\"] = client.ssid\n end\n end\n loc\n end\nelse\n [] of Nil\nend\n"}},{"html_id":"locateable-instance-method","name":"locateable","doc":"Returns the list of users who can be located","summary":"

Returns the list of users who can be located

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L288"},"def":{"name":"locateable","visibility":"Public","body":"too_old = @max_location_age.ago\n@client_details.compact_map do |mac, client|\n location = @locations[mac]?\n if location && ((location.time > too_old) || (client.time_added > too_old))\n client.user\n end\nend\n"}},{"html_id":"lookup_ip(address:String)-instance-method","name":"lookup_ip","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L260"},"def":{"name":"lookup_ip","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@ip_lookup[address.downcase]?"}},{"html_id":"lux:Hash(String,Float64)-instance-method","name":"lux","doc":"serial => lux","summary":"

serial => lux

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L224"},"def":{"name":"lux","return_type":"Hash(String, Float64)","visibility":"Public","body":"@lux"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":958,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L958"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"mac_hostnames:Hash(String,String)-instance-method","name":"mac_hostnames","doc":"User lookup helpers using device hostnames","summary":"

User lookup helpers using device hostnames

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":981,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L981"},"def":{"name":"mac_hostnames","return_type":"Hash(String, String)","visibility":"Public","body":"@mac_hostnames"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L409"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"map_users_to_macs(network_id:String|Nil=nil)-instance-method","name":"map_users_to_macs","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L310"},"def":{"name":"map_users_to_macs","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"mapping users to device MACs\"\nend\nclients = poll_clients(network_id)\nnew_devices = 0\nupdated_dev = 0\nnow = Time.utc\nlogger.debug do\n \"mapping found #{clients.size} devices\"\nend\nuser_mac_mappings do |storage|\n clients.each do |client|\n user_mac = format_mac(client.mac)\n client.time_added = now\n if hostname = client.description\n @mac_hostnames[user_mac] = hostname\n end\n user_id = client.user\n if user_id\n @ignore_usernames.each do |name|\n if user_id.starts_with?(name)\n client.user = user_id = nil\n break\n end\n end\n end\n if user_id.nil?\n if known_id = storage[user_mac]?\n client.user = known_id\n end\n end\n @client_details[user_mac] = client\n if user_id\n else\n next\n end\n was_update, was_new = map_user_mac(user_mac, user_id, storage)\n if was_update\n updated_dev = updated_dev + 1\n end\n if was_new\n new_devices = new_devices + 1\n end\n end\nend\nlogger.debug do\n \"mapping assigned #{new_devices} new devices, #{updated_dev} user updated\"\nend\nnil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L84"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L116"},"def":{"name":"on_update","visibility":"Public","body":"@default_network = (setting?(String, :default_network_id)) || \"\"\n@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@acceptable_confidence = (setting?(Float64, :acceptable_confidence)) || 5.0\n@maximum_uncertainty = (setting?(Float64, :maximum_uncertainty)) || 25.0\n@override_min_variance = (setting?(Float64, :override_min_variance)) || 0.0\n@regex_filter_device_os = setting?(String, :regex_filter_device_os)\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\n@confidence_time = @max_location_age / 3\n@drift_location_age = @max_location_age - @confidence_time\n@time_multiplier = 1.0 / (@drift_location_age.to_i - @confidence_time.to_i).to_f64\n@confidence_multiplier = 1.0 / (@maximum_uncertainty.to_i - @acceptable_confidence.to_i).to_f64\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\ndisable_username_lookup = (setting?(Bool, :disable_username_lookup)) || false\nschedule.clear\ninit_wired_port_mappings\nif @default_network.presence\n schedule.every(59.seconds) do\n update_sensor_cache\n end\n if disable_username_lookup\n else\n schedule.every(2.minutes) do\n map_users_to_macs\n end\n end\n schedule.every(29.minutes) do\n sync_floorplan_sizes\n end\n schedule.in(30.milliseconds) do\n sync_floorplan_sizes\n update_sensor_cache\n end\nend\nschedule.every(30.minutes) do\n cleanup_caches\nend\nsubscriptions.clear\nif @default_network.presence\n dashboard.subscribe(@default_network) do |_subscription, new_value|\n parse_new_locations(new_value)\n end\nend\nzones = config.control_system.not_nil!.zones\nspawn(same_thread: true) do\n find_building(zones)\nend\nif system.exists?(:MerakiMQTT)\n mqtt_module = system[:MerakiMQTT]\n mqtt_module.subscribe(:floor_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @floor_lookup = Hash(String, FloorMapping).from_json(new_value)\n if @zone_lookup.empty?\n else\n update_desk_mappings\n end\n end\n mqtt_module.subscribe(:zone_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @zone_lookup = Hash(String, Array(String)).from_json(new_value)\n if @floor_lookup.empty?\n else\n update_desk_mappings\n end\n end\n schedule.every(10.minutes) do\n update_desk_mappings\n end\n mqtt_module.subscribe(:camera_updated) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n _time, camera_serial = Tuple(Int64, String).from_json(new_value)\n if @desk_mappings.has_key?(camera_serial)\n check_camera_status(mqtt_module, camera_serial)\n end\n end\nend\n"}},{"html_id":"parse_new_locations(payload:String):Nil-instance-method","name":"parse_new_locations","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(payload : String) : Nil","args_html":"(payload : String) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L763"},"def":{"name":"parse_new_locations","args":[{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"if @debug_payload\n logger.debug do\n payload\n end\nend\nlocations_updated = 0\nbegin\n observations = Array(Observation).from_json(payload)\n logger.debug do\n \"parsed meraki payload\"\n end\n ignore_older = @max_location_age.ago.in(Time::Location::UTC)\n drift_older = @drift_location_age.ago.in(Time::Location::UTC)\n current_time = Time.utc\n observations.each do |observation|\n client_mac = format_mac(observation.client_mac)\n existing = @locations[client_mac]?\n if @debug_webhook\n logger.debug do\n \"parsing new observation for #{client_mac}\"\n end\n end\n if @regex_filter_device_os\n client = @client_details[format_mac(observation.client_mac)]?\n if client.nil? || (/#{@regex_filter_device_os}/).match(client.os || \"\").nil?\n if @debug_webhook\n logger.debug do\n \"FILTERED OUT #{client_mac}: OS \\\"#{observation.os}\\\" did not match \\\"#{@regex_filter_device_os}\\\"\"\n end\n end\n next\n end\n end\n location = parse(existing, ignore_older, drift_older, observation)\n if location\n @locations[client_mac] = location\n locations_updated = locations_updated + 1\n end\n update_ipv4(observation.ipv4, client_mac, current_time)\n update_ipv6(observation.ipv6.try(&.downcase), client_mac, current_time)\n end\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{payload}\"\n end\nend\nlogger.debug do\n \"updated #{locations_updated} locations\"\nend\n"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil)-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L297"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nArray(Client).from_json((dashboard.poll_clients(network_id, timespan, connection, device_serial)).get.to_json)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1163"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ncam_state = @camera_analytics[format_mac(mac)]?\nif cam_state\nelse\n return nil\nend\narea_str, _, sensor_type = id.rpartition('-')\nfilter = case sensor_type\nwhen \"people\"\n SensorType::PeopleCount\nwhen \"presence\"\n SensorType::Presence\nelse\n return nil\nend\narea_id = area_str.to_i64?\nif area_id\nelse\n return nil\nend\nzone_count = cam_state[:details].zones[area_id]?.try(&.person)\nif zone_count\nelse\n return nil\nend\n(to_sensors(nil, filter, **cam_state)).find do |sensor|\n sensor.id == id\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1148"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (!(type.in?({\"Presence\", \"PeopleCount\"})))\n return NO_MATCH\nend\nfilter = type ? SensorType.parse(type) : nil\nif mac\n cam_state = @camera_analytics[format_mac(mac)]?\n if cam_state\n else\n return NO_MATCH\n end\n return to_sensors(zone_id, filter, **cam_state)\nend\n@camera_analytics.values.flat_map do |cam_data|\n to_sensors(zone_id, filter, **cam_data)\nend\n"}},{"html_id":"sync_floorplan_sizes(network_id:String|Nil=nil)-instance-method","name":"sync_floorplan_sizes","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L676"},"def":{"name":"sync_floorplan_sizes","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"syncing floor plan sizes for network #{network_id}\"\nend\nfloor_plans = {} of String => FloorPlan\nreq_all(\"/api/v1/networks/#{network_id}/floorPlans?perPage=1000\") do |response|\n (Array(FloorPlan).from_json(response)).each do |plan|\n floor_plans[plan.id] = plan\n end\n nil\nend\n@floorplan_sizes = floor_plans\nnetwork_devices = {} of String => NetworkDevice\ncameras = [] of NetworkDevice\nreq_all(\"/api/v1/networks/#{network_id}/devices?perPage=1000\") do |response|\n (Array(NetworkDevice).from_json(response)).each do |device|\n if device.firmware.starts_with?(\"cam\")\n cameras << device\n end\n if device.floor_plan_id\n else\n next\n end\n network_devices[format_mac(device.mac)] = device\n end\n nil\nend\n@network_devices = network_devices\n@cameras = cameras\n{floor_plans, network_devices}\n"}},{"html_id":"update_desk_mappings-instance-method","name":"update_desk_mappings","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1297"},"def":{"name":"update_desk_mappings","visibility":"Public","body":"desk_mappings = Hash(String, Array(CameraZone)).new\n@floor_lookup.keys.each do |serial|\n begin\n desk_mappings[serial] = (Array(CameraZone).from_json((dashboard.get_zones(serial)).get.to_json)).reject!() do |__arg12|\n __arg12.id == \"0\"\n end\n rescue error\n logger.warn(exception: error) do\n \"fetching zones for camera: #{serial}\"\n end\n end\nend\n@desk_mappings = desk_mappings\nmqtt_module = system[:MerakiMQTT]\ndesk_mappings.keys.each do |camera_serial|\n check_camera_status(mqtt_module, camera_serial)\nend\n"}},{"html_id":"update_sensor_cache-instance-method","name":"update_sensor_cache","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L728"},"def":{"name":"update_sensor_cache","visibility":"Public","body":"analytics = {} of String => CamAnalytics\ncameras.each do |cam|\n begin\n mappings = @floorplan_mappings[cam.floor_plan_id]?\n counts = camera_analytics(cam.serial)\n mac = format_mac(cam.mac)\n if mappings\n analytics[mac] = {camera: cam, details: counts, building: mappings[\"building\"]?.as(String | ::Nil), level: mappings[\"level\"]?.as(String | ::Nil)}\n else\n analytics[mac] = {camera: cam, details: counts, building: nil.as(String | ::Nil), level: nil.as(String | ::Nil)}\n end\n counts.zones.each do |area_id, count|\n self[\"people-#{mac}-#{area_id}\"] = count.person\n self[\"presence-#{mac}-#{area_id}\"] = count.person > 0\n end\n rescue error\n logger.debug(exception: error) do\n \"failed to obtain analytics for #{cam.name} (serial: #{cam.serial})\"\n end\n end\nend\n@camera_analytics = analytics\n"}},{"html_id":"wired_desk_locations(zone_id:String)-instance-method","name":"wired_desk_locations","doc":"grabs the wired desk data for a level","summary":"

grabs the wired desk data for a level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1064,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L1064"},"def":{"name":"wired_desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"return_empty_spaces = @return_empty_spaces\nserials = if zone_id == @building_zone\n @level_serials.values.flatten\nelse\n @level_serials[zone_id]? || ([] of String)\nend\nserials.compact_map do |serial|\n ports = @port_status[serial]?\n if ports\n else\n next\n end\n ports.map do |__arg8|\n port_num = __arg8[0]\n port = __arg8[1]\n occupied = port.status.connected? ? 1 : 0\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: port.desk_id, level: port.level_id, building: @building_zone, capacity: 1, mac: port.mac, port: port_num, switch: port.switch_serial}\n end\nend.flatten\n"}},{"html_id":"wireless_locations(zone_id:String)-instance-method","name":"wireless_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L534"},"def":{"name":"wireless_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"floors = [] of String\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of String\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago\nmatching = @locations.compact_map do |mac, loc|\n client = @client_details[mac]?\n loc.client = client\n if loc.time < oldest_location\n if client\n if client.time_added < oldest_location\n too_old = too_old + 1\n next\n end\n else\n too_old = too_old + 1\n next\n end\n end\n if !(floors.includes?(loc.floor_plan_id))\n wrong_floor = wrong_floor + 1\n next\n end\n loc.mac = mac\n loc\nend\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.floor_plan_id).flat_map do |floor_id, locations|\n map_width = -1.0\n map_height = -1.0\n if map_size = @floorplan_sizes[floor_id]?\n map_width = map_size.width\n map_height = map_size.height\n else\n if mappings = @floorplan_mappings[floor_id]?\n map_width = (mappings[\"width\"]? || map_width).as(Float64)\n map_height = (mappings[\"height\"]? || map_width).as(Float64)\n end\n end\n locations.compact_map do |loc|\n lat = loc.lat\n lon = loc.lng\n if client = @client_details[loc.mac]?\n manufacturer = client.manufacturer\n os = client.os\n ssid = client.ssid\n end\n if (x = loc.x) && (y = loc.y)\n if x.is_a?(Float64) && y.is_a?(Float64)\n if (loc.x.as(Float64)).nan? || (loc.y.as(Float64)).nan?\n logger.warn do\n \"ignoring bad location for #{loc.mac}, NaN\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, unexpected value #{loc.x.inspect}\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, no coordinates provided\"\n end\n next\n end\n {location: :wireless, coordinates_from: \"bottom-left\", x: loc.x, y: loc.y, lon: lon, lat: lat, s2_cell_id: lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, mac: loc.mac, variance: loc.variance, last_seen: loc.time.to_unix, map_width: map_width, map_height: map_height, manufacturer: manufacturer, os: os, ssid: ssid}\n end\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Locations/CamAnalytics","path":"Cisco/Meraki/Locations/CamAnalytics.html","kind":"alias","full_name":"Cisco::Meraki::Locations::CamAnalytics","name":"CamAnalytics","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L717"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String | Nil, level: String | Nil)","aliased_html":"{camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String?, level: String?}","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}},{"html_id":"drivers/Cisco/Meraki/Locations/Lookup","path":"Cisco/Meraki/Locations/Lookup.html","kind":"struct","full_name":"Cisco::Meraki::Locations::Lookup","name":"Lookup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"},"constructors":[{"html_id":"new(time:Time,mac:String)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"args_string":"(time : Time, mac : String)","args_html":"(time : Time, mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L252"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time, mac)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations/WiredDesks","path":"Cisco/Meraki/Locations/WiredDesks.html","kind":"alias","full_name":"Cisco::Meraki::Locations::WiredDesks","name":"WiredDesks","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/meraki_locations.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(Int32, String))","aliased_html":"Hash(String, Hash(Int32, String))","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}}]},{"html_id":"drivers/Cisco/Meraki/LuxLevel","path":"Cisco/Meraki/LuxLevel.html","kind":"class","full_name":"Cisco::Meraki::LuxLevel","name":"LuxLevel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lux:Float64-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L40"},"def":{"name":"lux","return_type":"Float64","visibility":"Public","body":"@lux"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt_models.cr#L38"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"if (value = @timestamp).nil?\n @timestamp = (Time.utc.to_unix)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/MessageType","path":"Cisco/Meraki/MessageType.html","kind":"enum","full_name":"Cisco::Meraki::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L284"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"WiFi","name":"WiFi","value":"1"},{"id":"Bluetooth","name":"Bluetooth","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"bluetooth?-instance-method","name":"bluetooth?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L287"},"def":{"name":"bluetooth?","visibility":"Public","body":"self == Bluetooth"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L285"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"wi_fi?-instance-method","name":"wi_fi?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L286"},"def":{"name":"wi_fi?","visibility":"Public","body":"self == WiFi"}}]},{"html_id":"drivers/Cisco/Meraki/MQTT","path":"Cisco/Meraki/MQTT.html","kind":"class","full_name":"Cisco::Meraki::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LUX_ID","name":"LUX_ID","value":"\"lux\""},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SUBS","name":"SUBS","value":"{\"/merakimv/+/net.meraki.detector\", \"/merakimv/+/light\", \"/merakimv/+/0\", \"/merakimv/+/crossing/+\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L149"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\nend\n"}},{"html_id":"crossing_people:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_people","doc":"Serial => count","summary":"

Serial => count

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L192"},"def":{"name":"crossing_people","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_people).nil?\n @crossing_people = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"crossing_vehicle:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_vehicle","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L196"},"def":{"name":"crossing_vehicle","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_vehicle).nil?\n @crossing_vehicle = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L163"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"lux:Hash(String,Tuple(Float64,Int64))-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L200"},"def":{"name":"lux","return_type":"Hash(String, Tuple(Float64, Int64))","visibility":"Public","body":"@lux"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L85"},"def":{"name":"on_unload","visibility":"Public","body":""}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L88"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\nzone_lookup = Hash(String, Array(String)).new do |h, k|\n h[k] = [] of String\nend\nfloor_lookup = {} of String => FloorMapping\nfloor_mappings = (setting?(Array(FloorMapping), :floor_mappings)) || ([] of FloorMapping)\nfloor_mappings.each do |mapping|\n mapping.camera_serials.each do |serial|\n zone_lookup[mapping.level_id] << serial\n if mapping.building_id\n zone_lookup[mapping.building_id.not_nil!] << serial\n end\n floor_lookup[serial] = mapping\n end\nend\nself[:floor_lookup] = @floor_lookup = floor_lookup\nself[:zone_lookup] = zone_lookup\nexisting = @subs\n@subs = SUBS.to_a\n@line_crossing = line_crossing_combined = (setting?(Hash(String, Array(String)), :line_crossing_combined)) || ({} of String => Array(String))\nline_crossing_mapping = {} of String => String\nline_crossing_combined.each do |name, serials|\n serials.each do |serial|\n line_crossing_mapping[serial] = name\n end\nend\n@crossing_lookup = line_crossing_mapping\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif !(setting?(Bool, :disable_line_crossing_reset))\n time_zone = (setting?(String, :timezone)).presence || \"America/New_York\"\n tz = Time::Location.load(time_zone)\n schedule.cron(\"30 3 * * *\", tz) do\n crossing_people.each_key do |key|\n self[\"camera_mvx-#{key}_person\"] = 0\n end\n crossing_people.clear\n crossing_vehicle.each_key do |key|\n self[\"camera_mvx-#{key}_vehicle\"] = 0\n end\n crossing_vehicle.clear\n end\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n client.unsubscribe(sub)\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"people_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L179"},"def":{"name":"people_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @people_counts).nil?\n @people_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L168"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\n@mqtt.not_nil!.ping\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L173"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L254"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif id == \"lux\"\n (add_lux_values([] of Detail, mac)).first?\nelse\n if id.starts_with?(\"zone\")\n zone, count_type = id.split('_', 2)\n zone = zone[4..-1]\n sensor_type = SensorType::PeopleCount\n lookup = case count_type\n when \"people\"\n people_counts\n when \"vehicles\"\n sensor_type = SensorType::Counter\n vehicle_counts\n end\n if lookup\n if counts = lookup[mac]?\n if count = counts[zone]?\n to_sensor(sensor_type, mac, \"zone#{zone}_#{count_type}\", count[0], count[1])\n end\n end\n end\n else\n nil\n end\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L291"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n serial_filter = nil\n if zone_id && (!@floor_lookup.empty?)\n serial_filter = [] of String\n @floor_lookup.each do |serial, floor|\n if {floor.level_id, floor.building_id}.includes?(zone_id)\n serial_filter << serial\n end\n end\n end\n sensors = [] of Detail\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n case filter\n when nil\n add_lux_values(sensors, mac, serial_filter)\n add_people_counts(sensors, mac, serial_filter)\n add_vehicle_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .people_count?\n add_people_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n when .counter?\n add_vehicle_counts(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .illuminance?\n add_lux_values(sensors, mac, serial_filter)\n else\n sensors\n end\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"vehicle_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"vehicle_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/mqtt.cr#L185"},"def":{"name":"vehicle_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @vehicle_counts).nil?\n @vehicle_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/Network","path":"Cisco/Meraki/Network.html","kind":"class","full_name":"Cisco::Meraki::Network","name":"Network","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"enrollment_string:String|Nil-instance-method","name":"enrollment_string","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string","return_type":"String | ::Nil","visibility":"Public","body":"@enrollment_string"}},{"html_id":"enrollment_string=(enrollment_string:String|Nil)-instance-method","name":"enrollment_string=","abstract":false,"args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"args_string":"(enrollment_string : String | Nil)","args_html":"(enrollment_string : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string=","args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@enrollment_string = enrollment_string"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"organization_id:String-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id","return_type":"String","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:String)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"product_types:Array(String)-instance-method","name":"product_types","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types","return_type":"Array(String)","visibility":"Public","body":"@product_types"}},{"html_id":"product_types=(product_types:Array(String))-instance-method","name":"product_types=","abstract":false,"args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"args_string":"(product_types : Array(String))","args_html":"(product_types : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types=","args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"visibility":"Public","body":"@product_types = product_types"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"time_zone=(time_zone:String)-instance-method","name":"time_zone=","abstract":false,"args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"args_string":"(time_zone : String)","args_html":"(time_zone : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone=","args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"visibility":"Public","body":"@time_zone = time_zone"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/NetworkDevice","path":"Cisco/Meraki/NetworkDevice.html","kind":"class","full_name":"Cisco::Meraki::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"floor_plan_id:String|Nil-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_plan_id"}},{"html_id":"floor_plan_id=(floor_plan_id:String|Nil)-instance-method","name":"floor_plan_id=","abstract":false,"args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(floor_plan_id : String | Nil)","args_html":"(floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id=","args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_plan_id = floor_plan_id"}},{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"location:DeviceLocation|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location","return_type":"DeviceLocation | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:DeviceLocation|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"args_string":"(location : DeviceLocation | Nil)","args_html":"(location : DeviceLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"model:String-instance-method","name":"model","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:String)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"@serial = serial"}}]},{"html_id":"drivers/Cisco/Meraki/Observation","path":"Cisco/Meraki/Observation.html","kind":"class","full_name":"Cisco::Meraki::Observation","name":"Observation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"ipv4:String|Nil-instance-method","name":"ipv4","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4","return_type":"String | ::Nil","visibility":"Public","body":"@ipv4"}},{"html_id":"ipv4=(ipv4:String|Nil)-instance-method","name":"ipv4=","abstract":false,"args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"args_string":"(ipv4 : String | Nil)","args_html":"(ipv4 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4=","args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv4 = ipv4"}},{"html_id":"ipv6:String|Nil-instance-method","name":"ipv6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6","return_type":"String | ::Nil","visibility":"Public","body":"@ipv6"}},{"html_id":"ipv6=(ipv6:String|Nil)-instance-method","name":"ipv6=","abstract":false,"args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"args_string":"(ipv6 : String | Nil)","args_html":"(ipv6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6=","args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv6 = ipv6"}},{"html_id":"latest_record:LatestRecord-instance-method","name":"latest_record","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record","return_type":"LatestRecord","visibility":"Public","body":"@latest_record"}},{"html_id":"latest_record=(latest_record:LatestRecord)-instance-method","name":"latest_record=","abstract":false,"args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"args_string":"(latest_record : LatestRecord)","args_html":"(latest_record : LatestRecord)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record=","args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"visibility":"Public","body":"@latest_record = latest_record"}},{"html_id":"locations:Array(DeviceLocation)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations","return_type":"Array(DeviceLocation)","visibility":"Public","body":"@locations"}},{"html_id":"locations=(locations:Array(DeviceLocation))-instance-method","name":"locations=","abstract":false,"args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"args_string":"(locations : Array(DeviceLocation))","args_html":"(locations : Array(DeviceLocation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations=","args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"visibility":"Public","body":"@locations = locations"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}}]},{"html_id":"drivers/Cisco/Meraki/Organization","path":"Cisco/Meraki/Organization.html","kind":"class","full_name":"Cisco::Meraki::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api:NamedTuple(enabled:Bool)-instance-method","name":"api","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api","return_type":"NamedTuple(enabled: Bool)","visibility":"Public","body":"@api"}},{"html_id":"api=(api:NamedTuple(enabled:Bool))-instance-method","name":"api=","abstract":false,"args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"args_string":"(api : NamedTuple(enabled: Bool))","args_html":"(api : NamedTuple(enabled: Bool))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api=","args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"visibility":"Public","body":"@api = api"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/PortState","path":"Cisco/Meraki/PortState.html","kind":"enum","full_name":"Cisco::Meraki::PortState","name":"PortState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L400"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Connected","name":"Connected","value":"0"},{"id":"Disconnected","name":"Disconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected?-instance-method","name":"connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L401"},"def":{"name":"connected?","visibility":"Public","body":"self == Connected"}},{"html_id":"disconnected?-instance-method","name":"disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L402"},"def":{"name":"disconnected?","visibility":"Public","body":"self == Disconnected"}}]},{"html_id":"drivers/Cisco/Meraki/PortStatusResponse","path":"Cisco/Meraki/PortStatusResponse.html","kind":"class","full_name":"Cisco::Meraki::PortStatusResponse","name":"PortStatusResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":405,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L405"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L406"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_id:String-instance-method","name":"desk_id","abstract":false,"def":{"name":"desk_id","return_type":"String","visibility":"Public","body":"if (value = @desk_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#desk_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"desk_id=(desk_id:String)-instance-method","name":"desk_id=","abstract":false,"args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"args_string":"(desk_id : String)","args_html":"(desk_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L427"},"def":{"name":"desk_id=","args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"visibility":"Public","body":"@desk_id = desk_id"}},{"html_id":"desk_id?:String|Nil-instance-method","name":"desk_id?","abstract":false,"def":{"name":"desk_id?","return_type":"String | ::Nil","visibility":"Public","body":"@desk_id"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":414,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L414"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_uplink?:Bool-instance-method","name":"is_uplink?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L418"},"def":{"name":"is_uplink?","return_type":"Bool","visibility":"Public","body":"@is_uplink"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"if (value = @level_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#level_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"level_id=(level_id:String)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"args_string":"(level_id : String)","args_html":"(level_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":430,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L430"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_id?:String|Nil-instance-method","name":"level_id?","abstract":false,"def":{"name":"level_id?","return_type":"String | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"port:Int32-instance-method","name":"port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L412"},"def":{"name":"port","return_type":"Int32","visibility":"Public","body":"if (value = @port).nil?\n @port = (port_id.to_i)\nelse\n value\nend"}},{"html_id":"port_id:String-instance-method","name":"port_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L409"},"def":{"name":"port_id","return_type":"String","visibility":"Public","body":"@port_id"}},{"html_id":"status:PortState-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L415"},"def":{"name":"status","return_type":"PortState","visibility":"Public","body":"@status"}},{"html_id":"switch_serial:String-instance-method","name":"switch_serial","abstract":false,"def":{"name":"switch_serial","return_type":"String","visibility":"Public","body":"if (value = @switch_serial).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#switch_serial cannot be nil\"))\nelse\n value\nend"}},{"html_id":"switch_serial=(switch_serial:String)-instance-method","name":"switch_serial=","abstract":false,"args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"args_string":"(switch_serial : String)","args_html":"(switch_serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L421"},"def":{"name":"switch_serial=","args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"visibility":"Public","body":"@switch_serial = switch_serial"}},{"html_id":"switch_serial?:String|Nil-instance-method","name":"switch_serial?","abstract":false,"def":{"name":"switch_serial?","return_type":"String | ::Nil","visibility":"Public","body":"@switch_serial"}}]},{"html_id":"drivers/Cisco/Meraki/RSSI","path":"Cisco/Meraki/RSSI.html","kind":"class","full_name":"Cisco::Meraki::RSSI","name":"RSSI","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}}]},{"html_id":"drivers/Cisco/Meraki/WebhookAlert","path":"Cisco/Meraki/WebhookAlert.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alert_data:PortData-instance-method","name":"alert_data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":387,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L387"},"def":{"name":"alert_data","return_type":"PortData","visibility":"Public","body":"@alert_data"}},{"html_id":"alert_type:AlertType-instance-method","name":"alert_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":384,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L384"},"def":{"name":"alert_type","return_type":"AlertType","visibility":"Public","body":"@alert_type"}},{"html_id":"device_serial:String-instance-method","name":"device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L390"},"def":{"name":"device_serial","return_type":"String","visibility":"Public","body":"@device_serial"}},{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":381,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L381"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L395"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"alert_data.port_num"}},{"html_id":"shared_secret:String-instance-method","name":"shared_secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":393,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L393"},"def":{"name":"shared_secret","return_type":"String","visibility":"Public","body":"@shared_secret"}}],"types":[{"html_id":"drivers/Cisco/Meraki/WebhookAlert/PortData","path":"Cisco/Meraki/WebhookAlert/PortData.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert::PortData","name":"PortData","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L373"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/WebhookAlert","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L374"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L377"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"@port_num"}}]}]},{"html_id":"drivers/Cisco/Meraki/ZoneDetails","path":"Cisco/Meraki/ZoneDetails.html","kind":"struct","full_name":"Cisco::Meraki::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Cisco/RoomKit","path":"Cisco/RoomKit.html","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L45"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}],"instance_methods":[{"html_id":"autofocus_diagnostics_start(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_start","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L248"},"def":{"name":"autofocus_diagnostics_start","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Start\", camera_id: camera_id)\n"}},{"html_id":"autofocus_diagnostics_stop(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_stop","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L252"},"def":{"name":"autofocus_diagnostics_stop","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Stop\", camera_id: camera_id)\n"}},{"html_id":"bookings(days:Int32|Nil=nil,day_offset:Int32|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L163"},"def":{"name":"bookings","args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if days\n if (1..365).includes?(days)\n else\n raise(ArgumentError.new(\"\\\"days\\\" must be within #{1..365}, was #{days}\"))\n end\nend\nif day_offset\n if (0..365).includes?(day_offset)\n else\n raise(ArgumentError.new(\"\\\"day_offset\\\" must be within #{0..365}, was #{day_offset}\"))\n end\nend\nxcommand(\"Bookings List\", days: days, day_offset: day_offset, limit: limit, offset: offset)\n"}},{"html_id":"call_accept(call_id:Int32|Nil=nil)-instance-method","name":"call_accept","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L169"},"def":{"name":"call_accept","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Accept\", call_id: call_id)"}},{"html_id":"call_place_on_hold(call_id:Int32|Nil=nil)-instance-method","name":"call_place_on_hold","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L172"},"def":{"name":"call_place_on_hold","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Hold\", call_id: call_id)"}},{"html_id":"call_reject(call_id:Int32|Nil=nil)-instance-method","name":"call_reject","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L170"},"def":{"name":"call_reject","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Reject\", call_id: call_id)"}},{"html_id":"call_resume(call_id:Int32|Nil=nil)-instance-method","name":"call_resume","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L173"},"def":{"name":"call_resume","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Resume\", call_id: call_id)"}},{"html_id":"camera_select(connector_id:Int32|Nil=nil,layout:VideoLayout|Nil=nil,source_id:Int32|Nil=nil)-instance-method","name":"camera_select","abstract":false,"args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"args_string":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","args_html":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L202"},"def":{"name":"camera_select","args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if connector_id\n if (1..3).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..3}, was #{connector_id}\"))\n end\nend\nif source_id\n if (1..3).includes?(source_id)\n else\n raise(ArgumentError.new(\"\\\"source_id\\\" must be within #{1..3}, was #{source_id}\"))\n end\nend\nxcommand(\"Video Input SetMainVideoSource\", connector_id: connector_id, layout: layout, source_id: source_id)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L60"},"def":{"name":"connected","visibility":"Public","body":"super()\nschedule.in(40.seconds) do\n if self[\"calls\"]?.nil?\n disconnect\n end\nend\n"}},{"html_id":"dial(number:String,protocol:DialProtocol|Nil=nil,call_rate:Int32|Nil=nil,call_type:CallType|Nil=nil)-instance-method","name":"dial","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"args_string":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","args_html":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L191"},"def":{"name":"dial","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"visibility":"Public","body":"if call_rate\n if (64..6000).includes?(call_rate)\n else\n raise(ArgumentError.new(\"\\\"call_rate\\\" must be within #{64..6000}, was #{call_rate}\"))\n end\nend\nxcommand(\"Dial\", number: number, protocol: protocol, call_rate: call_rate, call_type: call_type)\n"}},{"html_id":"dtmf_send(d_t_m_f_string:String,call_id:Int32|Nil=nil)-instance-method","name":"dtmf_send","abstract":false,"args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","args_html":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L175"},"def":{"name":"dtmf_send","args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if call_id\n if (0..65534).includes?(call_id)\n else\n raise(ArgumentError.new(\"\\\"call_id\\\" must be within #{0..65534}, was #{call_id}\"))\n end\nend\nxcommand(\"Call DTMFSend\", d_t_m_f_string: d_t_m_f_string, call_id: call_id)\n"}},{"html_id":"hangup(call_id:Int32|Nil=nil)-instance-method","name":"hangup","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L171"},"def":{"name":"hangup","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Disconnect\", call_id: call_id)"}},{"html_id":"mic_mute(state:Bool=true)-instance-method","name":"mic_mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L298"},"def":{"name":"mic_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? mic_mute_on : mic_mute_off"}},{"html_id":"mic_mute_off-instance-method","name":"mic_mute_off","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L121"},"def":{"name":"mic_mute_off","visibility":"Public","body":"xcommand(\"Audio Microphones Unmute\")"}},{"html_id":"mic_mute_on-instance-method","name":"mic_mute_on","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L120"},"def":{"name":"mic_mute_on","visibility":"Public","body":"xcommand(\"Audio Microphones Mute\")"}},{"html_id":"mic_mute_toggle-instance-method","name":"mic_mute_toggle","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L122"},"def":{"name":"mic_mute_toggle","visibility":"Public","body":"xcommand(\"Audio Microphones ToggleMute\")"}},{"html_id":"phonebook_search(search_string:String,phonebook_type:PhonebookType|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"phonebook_search","abstract":false,"args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L276"},"def":{"name":"phonebook_search","args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Phonebook Search\", search_string: search_string, phonebook_type: phonebook_type, limit: limit, offset: offset)"}},{"html_id":"play_sound(sound:Sound,loop:Toogle|Nil=nil)-instance-method","name":"play_sound","abstract":false,"args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"args_string":"(sound : Sound, loop : Toogle | Nil = nil)","args_html":"(sound : Sound, loop : Toogle | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L158"},"def":{"name":"play_sound","args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"visibility":"Public","body":"xcommand(\"Audio Sound Play\", sound: sound, loop: loop)"}},{"html_id":"presentation_mode(value:PresentationMode)-instance-method","name":"presentation_mode","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"args_string":"(value : PresentationMode)","args_html":"(value : PresentationMode)","location":{"filename":"src/cisco/room_kit.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L302"},"def":{"name":"presentation_mode","args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"visibility":"Public","body":"case value\nin .remote?\n presentation_start(sending_mode: :LocalRemote)\nin .local?\n @presentation_mode = PresentationMode::Local\n presentation_start(sending_mode: :LocalOnly)\nin .none?\n @presentation_mode = PresentationMode::None\n presentation_stop\nend"}},{"html_id":"reboot(action:PowerOff|Nil=nil)-instance-method","name":"reboot","abstract":false,"args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"args_string":"(action : PowerOff | Nil = nil)","args_html":"(action : PowerOff | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L288"},"def":{"name":"reboot","args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"visibility":"Public","body":"xcommand(\"SystemUnit Boot\", action: action)"}},{"html_id":"selfview(mode:Toogle|Nil=nil,full_screen_mode:Toogle|Nil=nil,p_i_p_position:PiPPosition|Nil=nil,on_monitor_role:MonitorRole|Nil=nil)-instance-method","name":"selfview","abstract":false,"args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"args_string":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","args_html":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L241"},"def":{"name":"selfview","args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Selfview Set\", mode: mode, full_screen_mode: full_screen_mode, p_i_p_position: p_i_p_position, on_monitor_role: on_monitor_role)"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/room_kit.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L340"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == config.ip\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/room_kit.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L322"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"show_camera_pip(visible:Bool)-instance-method","name":"show_camera_pip","abstract":false,"args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(visible : Bool)","args_html":"(visible : Bool)","location":{"filename":"src/cisco/room_kit.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L293"},"def":{"name":"show_camera_pip","args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"mode = visible ? Toogle::On : Toogle::Off\nselfview(mode: mode)\n"}},{"html_id":"speaker_track(state:Bool=true)-instance-method","name":"speaker_track","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L267"},"def":{"name":"speaker_track","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? speaker_track_activate : speaker_track_deactivate"}},{"html_id":"speaker_track_activate-instance-method","name":"speaker_track_activate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L262"},"def":{"name":"speaker_track_activate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Activate\")"}},{"html_id":"speaker_track_deactivate-instance-method","name":"speaker_track_deactivate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L265"},"def":{"name":"speaker_track_deactivate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Deactivate\")"}},{"html_id":"speaker_track_diagnostics_start-instance-method","name":"speaker_track_diagnostics_start","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L256"},"def":{"name":"speaker_track_diagnostics_start","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Start\")"}},{"html_id":"speaker_track_diagnostics_stop-instance-method","name":"speaker_track_diagnostics_stop","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L259"},"def":{"name":"speaker_track_diagnostics_stop","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Stop\")"}},{"html_id":"stop_sound-instance-method","name":"stop_sound","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L161"},"def":{"name":"stop_sound","visibility":"Public","body":"xcommand(\"Audio Sound Stop\")"}},{"html_id":"video_layout(layout_family:LayoutFamily,target:LayoutTarget|Nil=nil)-instance-method","name":"video_layout","abstract":false,"args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"args_string":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","args_html":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L220"},"def":{"name":"video_layout","args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Layout LayoutFamily Set\", layout_family: layout_family, target: target)"}},{"html_id":"webview_clear-instance-method","name":"webview_clear","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L285"},"def":{"name":"webview_clear","visibility":"Public","body":"xcommand(\"UserInterface WebView Clear\")"}},{"html_id":"webview_display(url:String)-instance-method","name":"webview_display","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/room_kit.cr","line_number":282,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L282"},"def":{"name":"webview_display","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface WebView Display\", url: url)"}}],"types":[{"html_id":"drivers/Cisco/RoomKit/CallType","path":"Cisco/RoomKit/CallType.html","kind":"enum","full_name":"Cisco::RoomKit::CallType","name":"CallType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L187"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L188"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Cisco/RoomKit/DialProtocol","path":"Cisco/RoomKit/DialProtocol.html","kind":"enum","full_name":"Cisco::RoomKit::DialProtocol","name":"DialProtocol","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L179"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"H320","name":"H320","value":"0"},{"id":"H323","name":"H323","value":"1"},{"id":"Sip","name":"Sip","value":"2"},{"id":"Spark","name":"Spark","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"h320?-instance-method","name":"h320?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L180"},"def":{"name":"h320?","visibility":"Public","body":"self == H320"}},{"html_id":"h323?-instance-method","name":"h323?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L181"},"def":{"name":"h323?","visibility":"Public","body":"self == H323"}},{"html_id":"sip?-instance-method","name":"sip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L182"},"def":{"name":"sip?","visibility":"Public","body":"self == Sip"}},{"html_id":"spark?-instance-method","name":"spark?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L183"},"def":{"name":"spark?","visibility":"Public","body":"self == Spark"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutFamily","path":"Cisco/RoomKit/LayoutFamily.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutFamily","name":"LayoutFamily","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L207"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Equal","name":"Equal","value":"1"},{"id":"Overlay","name":"Overlay","value":"2"},{"id":"Prominent","name":"Prominent","value":"3"},{"id":"Single","name":"Single","value":"4"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L208"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L209"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"overlay?-instance-method","name":"overlay?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L210"},"def":{"name":"overlay?","visibility":"Public","body":"self == Overlay"}},{"html_id":"prominent?-instance-method","name":"prominent?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L211"},"def":{"name":"prominent?","visibility":"Public","body":"self == Prominent"}},{"html_id":"single?-instance-method","name":"single?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L212"},"def":{"name":"single?","visibility":"Public","body":"self == Single"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutTarget","path":"Cisco/RoomKit/LayoutTarget.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutTarget","name":"LayoutTarget","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L215"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Local","name":"Local","value":"0"},{"id":"Remote","name":"Remote","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L216"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L217"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/MonitorRole","path":"Cisco/RoomKit/MonitorRole.html","kind":"enum","full_name":"Cisco::RoomKit::MonitorRole","name":"MonitorRole","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L234"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"First","name":"First","value":"0"},{"id":"Second","name":"Second","value":"1"},{"id":"Third","name":"Third","value":"2"},{"id":"Fourth","name":"Fourth","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"first?-instance-method","name":"first?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L235"},"def":{"name":"first?","visibility":"Public","body":"self == First"}},{"html_id":"fourth?-instance-method","name":"fourth?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L238"},"def":{"name":"fourth?","visibility":"Public","body":"self == Fourth"}},{"html_id":"second?-instance-method","name":"second?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L236"},"def":{"name":"second?","visibility":"Public","body":"self == Second"}},{"html_id":"third?-instance-method","name":"third?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L237"},"def":{"name":"third?","visibility":"Public","body":"self == Third"}}]},{"html_id":"drivers/Cisco/RoomKit/PhonebookType","path":"Cisco/RoomKit/PhonebookType.html","kind":"enum","full_name":"Cisco::RoomKit::PhonebookType","name":"PhonebookType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L271"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Corporate","name":"Corporate","value":"0"},{"id":"Local","name":"Local","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"corporate?-instance-method","name":"corporate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L272"},"def":{"name":"corporate?","visibility":"Public","body":"self == Corporate"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L273"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}}]},{"html_id":"drivers/Cisco/RoomKit/PiPPosition","path":"Cisco/RoomKit/PiPPosition.html","kind":"enum","full_name":"Cisco::RoomKit::PiPPosition","name":"PiPPosition","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CenterLeft","name":"CenterLeft","value":"0"},{"id":"CenterRight","name":"CenterRight","value":"1"},{"id":"LowerLeft","name":"LowerLeft","value":"2"},{"id":"LowerRight","name":"LowerRight","value":"3"},{"id":"UpperCenter","name":"UpperCenter","value":"4"},{"id":"UpperLeft","name":"UpperLeft","value":"5"},{"id":"UpperRight","name":"UpperRight","value":"6"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"center_left?-instance-method","name":"center_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L225"},"def":{"name":"center_left?","visibility":"Public","body":"self == CenterLeft"}},{"html_id":"center_right?-instance-method","name":"center_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L226"},"def":{"name":"center_right?","visibility":"Public","body":"self == CenterRight"}},{"html_id":"lower_left?-instance-method","name":"lower_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L227"},"def":{"name":"lower_left?","visibility":"Public","body":"self == LowerLeft"}},{"html_id":"lower_right?-instance-method","name":"lower_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L228"},"def":{"name":"lower_right?","visibility":"Public","body":"self == LowerRight"}},{"html_id":"upper_center?-instance-method","name":"upper_center?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L229"},"def":{"name":"upper_center?","visibility":"Public","body":"self == UpperCenter"}},{"html_id":"upper_left?-instance-method","name":"upper_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L230"},"def":{"name":"upper_left?","visibility":"Public","body":"self == UpperLeft"}},{"html_id":"upper_right?-instance-method","name":"upper_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L231"},"def":{"name":"upper_right?","visibility":"Public","body":"self == UpperRight"}}]},{"html_id":"drivers/Cisco/RoomKit/PresentationMode","path":"Cisco/RoomKit/PresentationMode.html","kind":"enum","full_name":"Cisco::RoomKit::PresentationMode","name":"PresentationMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L51"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Local","name":"Local","value":"1"},{"id":"Remote","name":"Remote","value":"2"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L53"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L52"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L54"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/Sound","path":"Cisco/RoomKit/Sound.html","kind":"enum","full_name":"Cisco::RoomKit::Sound","name":"Sound","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L133"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Alert","name":"Alert","value":"0"},{"id":"Bump","name":"Bump","value":"1"},{"id":"Busy","name":"Busy","value":"2"},{"id":"CallDisconnect","name":"CallDisconnect","value":"3"},{"id":"CallInitiate","name":"CallInitiate","value":"4"},{"id":"CallWaiting","name":"CallWaiting","value":"5"},{"id":"Dial","name":"Dial","value":"6"},{"id":"KeyInput","name":"KeyInput","value":"7"},{"id":"KeyInputDelete","name":"KeyInputDelete","value":"8"},{"id":"KeyTone","name":"KeyTone","value":"9"},{"id":"Nav","name":"Nav","value":"10"},{"id":"NavBack","name":"NavBack","value":"11"},{"id":"Notification","name":"Notification","value":"12"},{"id":"OK","name":"OK","value":"13"},{"id":"PresentationConnect","name":"PresentationConnect","value":"14"},{"id":"Ringing","name":"Ringing","value":"15"},{"id":"SignIn","name":"SignIn","value":"16"},{"id":"SpecialInfo","name":"SpecialInfo","value":"17"},{"id":"TelephoneCall","name":"TelephoneCall","value":"18"},{"id":"VideoCall","name":"VideoCall","value":"19"},{"id":"VolumeAdjust","name":"VolumeAdjust","value":"20"},{"id":"WakeUp","name":"WakeUp","value":"21"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"alert?-instance-method","name":"alert?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L134"},"def":{"name":"alert?","visibility":"Public","body":"self == Alert"}},{"html_id":"bump?-instance-method","name":"bump?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L135"},"def":{"name":"bump?","visibility":"Public","body":"self == Bump"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L136"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"call_disconnect?-instance-method","name":"call_disconnect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L137"},"def":{"name":"call_disconnect?","visibility":"Public","body":"self == CallDisconnect"}},{"html_id":"call_initiate?-instance-method","name":"call_initiate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L138"},"def":{"name":"call_initiate?","visibility":"Public","body":"self == CallInitiate"}},{"html_id":"call_waiting?-instance-method","name":"call_waiting?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L139"},"def":{"name":"call_waiting?","visibility":"Public","body":"self == CallWaiting"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L140"},"def":{"name":"dial?","visibility":"Public","body":"self == Dial"}},{"html_id":"key_input?-instance-method","name":"key_input?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L141"},"def":{"name":"key_input?","visibility":"Public","body":"self == KeyInput"}},{"html_id":"key_input_delete?-instance-method","name":"key_input_delete?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L142"},"def":{"name":"key_input_delete?","visibility":"Public","body":"self == KeyInputDelete"}},{"html_id":"key_tone?-instance-method","name":"key_tone?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L143"},"def":{"name":"key_tone?","visibility":"Public","body":"self == KeyTone"}},{"html_id":"nav?-instance-method","name":"nav?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L144"},"def":{"name":"nav?","visibility":"Public","body":"self == Nav"}},{"html_id":"nav_back?-instance-method","name":"nav_back?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L145"},"def":{"name":"nav_back?","visibility":"Public","body":"self == NavBack"}},{"html_id":"notification?-instance-method","name":"notification?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L146"},"def":{"name":"notification?","visibility":"Public","body":"self == Notification"}},{"html_id":"ok?-instance-method","name":"ok?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L147"},"def":{"name":"ok?","visibility":"Public","body":"self == OK"}},{"html_id":"presentation_connect?-instance-method","name":"presentation_connect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L148"},"def":{"name":"presentation_connect?","visibility":"Public","body":"self == PresentationConnect"}},{"html_id":"ringing?-instance-method","name":"ringing?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L149"},"def":{"name":"ringing?","visibility":"Public","body":"self == Ringing"}},{"html_id":"sign_in?-instance-method","name":"sign_in?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L150"},"def":{"name":"sign_in?","visibility":"Public","body":"self == SignIn"}},{"html_id":"special_info?-instance-method","name":"special_info?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L151"},"def":{"name":"special_info?","visibility":"Public","body":"self == SpecialInfo"}},{"html_id":"telephone_call?-instance-method","name":"telephone_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L152"},"def":{"name":"telephone_call?","visibility":"Public","body":"self == TelephoneCall"}},{"html_id":"video_call?-instance-method","name":"video_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L153"},"def":{"name":"video_call?","visibility":"Public","body":"self == VideoCall"}},{"html_id":"volume_adjust?-instance-method","name":"volume_adjust?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L154"},"def":{"name":"volume_adjust?","visibility":"Public","body":"self == VolumeAdjust"}},{"html_id":"wake_up?-instance-method","name":"wake_up?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L155"},"def":{"name":"wake_up?","visibility":"Public","body":"self == WakeUp"}}]},{"html_id":"drivers/Cisco/RoomKit/Toogle","path":"Cisco/RoomKit/Toogle.html","kind":"enum","full_name":"Cisco::RoomKit::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L130"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L129"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/RoomKit/VideoLayout","path":"Cisco/RoomKit/VideoLayout.html","kind":"enum","full_name":"Cisco::RoomKit::VideoLayout","name":"VideoLayout","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L197"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Equal","name":"Equal","value":"0"},{"id":"PIP","name":"PIP","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L198"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_kit.cr#L199"},"def":{"name":"pip?","visibility":"Public","body":"self == PIP"}}]}]},{"html_id":"drivers/Cisco/RoomOS","path":"Cisco/RoomOS.html","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_os.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_os.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_os.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/room_os.cr#L38"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}]},{"html_id":"drivers/Cisco/Switch","path":"Cisco/Switch.html","kind":"module","full_name":"Cisco::Switch","name":"Switch","abstract":false,"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Switch/SnoopingCatalyst","path":"Cisco/Switch/SnoopingCatalyst.html","kind":"class","full_name":"Cisco::Switch::SnoopingCatalyst","name":"SnoopingCatalyst","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Switch","kind":"module","full_name":"Cisco::Switch","name":"Switch"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.in(1.second) do\n query_connected_devices\nend\nschedule.every(1.minute) do\n query_connected_devices\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L60"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nqueue.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\n\", \"--More--\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@ignore_macs = ::Set.new(((setting?(Hash(String, String), :ignore_macs)) || ({} of String => String)).values)\nself[:name] = @switch_name = setting?(String, :switch_name)\nself[:ip_address] = config.ip.not_nil!.downcase\nself[:building] = setting?(String, :building)\nself[:level] = setting?(String, :level)\nself[:last_successful_query]? || (self[:last_successful_query] = 0)\n"}},{"html_id":"query_connected_devices-instance-method","name":"query_connected_devices","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L87"},"def":{"name":"query_connected_devices","visibility":"Public","body":"begin\n if @querying_devices\n return\n end\n @querying_devices = true\n logger.debug do\n \"Querying for connected devices\"\n end\n query_interface_status.get\n sleep(3.seconds)\n query_mac_addresses.get\n sleep(3.seconds)\n query_snooping_bindings.get\n sleep(2.seconds)\n nil\nensure\n @querying_devices = false\nend"}},{"html_id":"query_interface_status-instance-method","name":"query_interface_status","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L71"},"def":{"name":"query_interface_status","visibility":"Public","body":"do_send(\"show interfaces status\")"}},{"html_id":"query_mac_addresses-instance-method","name":"query_mac_addresses","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L75"},"def":{"name":"query_mac_addresses","visibility":"Public","body":"@interface_macs.clear\ndo_send(\"show mac address-table\")\n"}},{"html_id":"query_snooping_bindings-instance-method","name":"query_snooping_bindings","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L80"},"def":{"name":"query_snooping_bindings","visibility":"Public","body":"@snooping.clear\ndo_send(\"show ip dhcp snooping binding\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L107"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Switch sent: #{data}\"\nend\nif @hostname.nil?\n parts = data.split(\">\")\n if parts.size == 2\n self[:hostname] = @hostname = parts[0]\n return task.try(&.success)\n end\nend\ncase data\nwhen /More/\n send(\" \", priority: 99, retries: 0)\n return task.try(&.success)\nwhen /STATIC|DYNAMIC/\n parts = (data.split(/\\s+/)).reject(&.empty?)\n mac = format(parts[1])\n interface = normalise(parts[-1])\n if mac && interface\n @interface_macs[interface] = mac\n end\n return :success\nwhen /%LINK/\n interface = normalise(((data.split(\",\"))[0].split(/\\s/))[-1])\n if data =~ (/Up:/)\n logger.debug do\n \"Notify Up: #{interface}\"\n end\n @check_interface << interface\n else\n if data =~ (/Down:/)\n logger.debug do\n \"Notify Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\n end\n self[:interfaces] = @check_interface\n return task.try(&.success)\nwhen .starts_with?(\"Total number\")\n logger.debug do\n \"Processing #{@snooping.size} bindings\"\n end\n checked = Set(String).new\n devices = {} of String => NamedTuple(mac: String, ip: String)\n state_changed = false\n @snooping.each do |mac, ip, interface|\n if @check_interface.includes?(interface)\n else\n next\n end\n if @interface_macs[interface]? == mac\n else\n next\n end\n if checked.includes?(interface)\n next\n end\n checked << interface\n iface = @devices[interface]? || {mac: \"\", ip: \"\"}\n if (iface[:ip] != ip) || (iface[:mac] != mac)\n logger.debug do\n \"New connection on #{interface} with #{ip}: #{mac}\"\n end\n devices[interface] = {mac: mac, ip: ip}\n state_changed = true\n else\n devices[interface] = iface\n end\n end\n if state_changed\n @devices = devices\n self[:devices] = devices\n end\n if @check_interface != checked\n @check_interface = checked\n self[:interfaces] = checked\n end\n self[:last_successful_query] = Time.utc.to_unix\n return task.try(&.success)\nend\nentries = (data.split(/\\s+/)).reject(&.empty?)\ncase entries\nwhen .includes?(\"connected\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n else\n logger.debug do\n \"Interface Up: #{interface}\"\n end\n @check_interface << interface\n end\nwhen .includes?(\"notconnect\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n logger.debug do\n \"Interface Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\nelse\n if entries.size > 2\n interface = normalise(entries[-1])\n if @check_interface.includes?(interface)\n mac = entries[0]\n if mac =~ (/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)\n mac = format(mac)\n ip = entries[1]\n if @ignore_macs.includes?(mac[0..5])\n else\n @snooping << {mac, ip, interface}\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"run(command:String)-instance-method","name":"run","doc":"Don't want the every day user using this method","summary":"

Don't want the every day user using this method

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(command : String)","args_html":"(command : String)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/switch/snooping_catalyst.cr#L67"},"def":{"name":"run","args":[{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"do_send(command)"}}]}]},{"html_id":"drivers/Cisco/UIExtender","path":"Cisco/UIExtender.html","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IGNORE_METHODS","name":"IGNORE_METHODS","value":"[\"on_load\", \"on_unload\", \"on_update\"] of ::String","doc":"Build a list of all callback methods that have been defined.\n\nCallback methods are denoted being single arity and beginning with `on_`.","summary":"

Build a list of all callback methods that have been defined.

"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"alert(text:String,title:String=\"\",duration:Int32=0)-instance-method","name":"alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"args_string":"(text : String, title : String = \"\", duration : Int32 = 0)","args_html":"(text : String, title : String = "", duration : Int32 = 0)","location":{"filename":"src/cisco/ui_extender.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L200"},"def":{"name":"alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Display\", hash_args: {Text: text, Title: title, Duration: duration})"}},{"html_id":"clear_alert-instance-method","name":"clear_alert","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L211"},"def":{"name":"clear_alert","visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"clear_extensions-instance-method","name":"clear_extensions","doc":"Clear any deployed UI extensions.","summary":"

Clear any deployed UI extensions.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L75"},"def":{"name":"clear_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"close_panel-instance-method","name":"close_panel","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L82"},"def":{"name":"close_panel","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Panel Close\")"}},{"html_id":"deploy_extensions(id:String,xml_def:String)-instance-method","name":"deploy_extensions","doc":"Push a UI definition build with the in-room control editor to the device.","summary":"

Push a UI definition build with the in-room control editor to the device.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L65"},"def":{"name":"deploy_extensions","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Set\", xml_def, {\"config_id\" => id})"}},{"html_id":"highlight(id:String,state:Bool=true,momentary:Bool=false,time:Int32=500)-instance-method","name":"highlight","doc":"Set the highlight state for a button widget.","summary":"

Set the highlight state for a button widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"args_string":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","args_html":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","location":{"filename":"src/cisco/ui_extender.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L145"},"def":{"name":"highlight","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"visibility":"Public","body":"value = state ? \"active\" : \"inactive\"\nif momentary\n schedule.in(time.milliseconds) do\n highlight(id, !state)\n nil\n end\nend\nset(id, value)\n"}},{"html_id":"label(id:String,value:String|Bool|Nil)-instance-method","name":"label","doc":"Set the text label used on text or spinner widget.","summary":"

Set the text label used on text or spinner widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L152"},"def":{"name":"label","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"link_widget(id:String,bindings:Binding)-instance-method","name":"link_widget","doc":"Wire up a widget based on a binding target.","summary":"

Wire up a widget based on a binding target.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"args_string":"(id : String, bindings : Binding)","args_html":"(id : String, bindings : Binding)","location":{"filename":"src/cisco/ui_extender.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L328"},"def":{"name":"link_widget","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"visibility":"Public","body":"logger.debug do\n \"setting up bindings for #{id}\"\nend\nbinding = case bindings\nin String\n (([\"clicked\", \"changed\", \"status\"] of ::String).product([bindings])).to_h\nin Hash(String, Hash(String, Hash(String, Array(String)) | String) | String)\n bindings\nend\nbinding.each do |type, target|\n if type == \"status\"\n case target\n in String\n mod, state = target.split(\".\")\n link_feedback(id, mod, state)\n in Hash(String, String | Hash(String, Array(String)))\n mod, state = target.first\n link_feedback(id, mod, state.as(String))\n end\n else\n handler = build_handler(target)\n if handler\n @event_handlers[{id, type}] = handler\n else\n logger.warn do\n \"invalid #{type} binding for #{id}\"\n end\n end\n end\nend\n"}},{"html_id":"list_extensions-instance-method","name":"list_extensions","doc":"Retrieve the extensions currently loaded.","summary":"

Retrieve the extensions currently loaded.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L70"},"def":{"name":"list_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions List\")"}},{"html_id":"on_extensions_widget_action(event:Hash(String,JSON::Any))-instance-method","name":"on_extensions_widget_action","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"args_string":"(event : Hash(String, JSON::Any))","args_html":"(event : Hash(String, JSON::Any))","location":{"filename":"src/cisco/ui_extender.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L159"},"def":{"name":"on_extensions_widget_action","args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"logger.debug do\n \"received widget action update #{event}\"\nend\ncurrent_key = event.keys.first\ncase current_key\nwhen \"/Event/UserInterface/Extensions/Widget/Action/WidgetId\"\n @action_merged[\"WidgetId\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action\", \"/Event/UserInterface/Extensions/Widget/Action/Value\"\n @action_merged[\"Value\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action/Type\"\n @action_merged[\"Type\"] = event[current_key]\nelse\n logger.debug do\n \"ignoring key #{current_key} processing widget_action event\"\n end\nend\nlogger.debug do\n \"current action state: #{@action_merged}\"\nend\nif @action_merged.size == 3\nelse\n return\nend\nid, value, type = @action_merged.values_at(\"WidgetId\", \"Value\", \"Type\")\n@action_merged = {} of String => JSON::Any\nlogger.debug do\n \"#{id} #{type} = #{value}\"\nend\nid = id.as_s\ntype = type.as_s\nif [\"\", \"increment\", \"decrement\"].includes?(value.raw)\nelse\n self[id] = value\nend\nbegin\n handler = @event_handlers.fetch([id, type], nil)\n handler.try(&.call(value))\nrescue e\n logger.error(exception: e) do\n \"error in binding for #{id}.#{type}\"\n end\nend\nself[:__event_stream] = {id: id, type: type, value: value}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update(true)"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L27"},"def":{"name":"on_unload","visibility":"Public","body":"clear_extensions\nunbind\n"}},{"html_id":"on_update(loading=false)-instance-method","name":"on_update","abstract":false,"args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"args_string":"(loading = false)","args_html":"(loading = false)","location":{"filename":"src/cisco/ui_extender.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L37"},"def":{"name":"on_update","args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"visibility":"Public","body":"if loading\nelse\n begin\n clear_events\n rescue\n end\nend\ncodec_mod = (setting?(String, :codec)) || \"VidConf_1\"\nif system.exists?(codec_mod)\nelse\n logger.warn do\n \"could not find codec #{codec_mod}\"\n end\n return\nend\nui_layout = setting?(String, :cisco_ui_layout)\nbindings = (setting?(Bindings, :cisco_ui_bindings)) || ({} of String => Binding)\nbind(codec_mod) do\n if ui_layout\n deploy_extensions(\"PlaceOS\", ui_layout)\n end\n bindings.each do |id, config|\n link_widget(id, config)\n end\nend\n"}},{"html_id":"set(id:String,value:String|Bool|Nil)-instance-method","name":"set","doc":"Set the value of a widget.","summary":"

Set the value of a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L119"},"def":{"name":"set","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"switch(id:String,state:Bool|Nil=nil)-instance-method","name":"switch","doc":"Set the state of a switch widget.","summary":"

Set the state of a switch widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"args_string":"(id : String, state : Bool | Nil = nil)","args_html":"(id : String, state : Bool | Nil = nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L138"},"def":{"name":"switch","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if state.nil?\n state = !(status?(Bool, id))\nend\nvalue = state ? \"on\" : \"off\"\nset(id, value)\n"}},{"html_id":"sync_widget_state-instance-method","name":"sync_widget_state","doc":"Push the current module state to the device.","summary":"

Push the current module state to the device.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L262"},"def":{"name":"sync_widget_state","visibility":"Public","body":"@__status__.each do |key, value|\n if key == \"connected\"\n next\n end\n if key =~ (/^__.*/)\n next\n end\n case value\n when .starts_with?(\"\\\"\")\n set(key, String.from_json(value))\n when \"true\", \"false\"\n set(key, value == \"true\")\n end\nend"}},{"html_id":"unset(id:String)-instance-method","name":"unset","doc":"Clear the value associated with a widget.","summary":"

Clear the value associated with a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L124"},"def":{"name":"unset","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"clearing #{id}\"\nend\nupdate = codec.xcommand(\"UserInterface Extensions Widget UnsetValue\", hash_args: {WidgetId: id})\nPromise.defer(same_thread: true) do\n update.get\n self[id] = nil\n nil.as(String | Nil)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/UIExtender/Binding","path":"Cisco/UIExtender/Binding.html","kind":"alias","full_name":"Cisco::UIExtender::Binding","name":"Binding","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"}},{"html_id":"drivers/Cisco/UIExtender/Bindings","path":"Cisco/UIExtender/Bindings.html","kind":"alias","full_name":"Cisco::UIExtender::Bindings","name":"Bindings","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/ui_extender.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"},"doc":"id => binding","summary":"

id => binding

"}]},{"html_id":"drivers/Cisco/Webex","path":"Cisco/Webex.html","kind":"module","full_name":"Cisco::Webex","name":"Webex","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L2"},{"filename":"src/cisco/webex/api/people.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L2"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L2"},{"filename":"src/cisco/webex/client.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L2"},{"filename":"src/cisco/webex/command.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L2"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L2"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L2"},{"filename":"src/cisco/webex/constants.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L2"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L2"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L2"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L2"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L2"},{"filename":"src/cisco/webex/models/device.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L2"},{"filename":"src/cisco/webex/models/event.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L2"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L2"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L2"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L2"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L2"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L2"},{"filename":"src/cisco/webex/models/message.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L2"},{"filename":"src/cisco/webex/models/peek.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L2"},{"filename":"src/cisco/webex/models/person.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L2"},{"filename":"src/cisco/webex/models/room.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L2"},{"filename":"src/cisco/webex/session.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L2"},{"filename":"src/cisco/webex/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L2"},{"filename":"src/cisco/webex/utils.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Webex/Api","path":"Cisco/Webex/Api.html","kind":"module","full_name":"Cisco::Webex::Api","name":"Api","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L3"},{"filename":"src/cisco/webex/api/people.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L3"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Api/Messages","path":"Cisco/Webex/Api/Messages.html","kind":"class","full_name":"Cisco::Webex::Api::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/messages.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/People","path":"Cisco/Webex/Api/People.html","kind":"class","full_name":"Cisco::Webex::Api::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/people.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/people.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"me:Models::Person-instance-method","name":"me","abstract":false,"location":{"filename":"src/cisco/webex/api/people.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/people.cr#L8"},"def":{"name":"me","return_type":"Models::Person","visibility":"Public","body":"response = @session.get([Constants::PEOPLE_ENDPOINT, \"/\", \"me\"].join(\"\"))\nModels::Person.from_json(response.body)\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/Rooms","path":"Cisco/Webex/Api/Rooms.html","kind":"class","full_name":"Cisco::Webex::Api::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/rooms.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/api/rooms.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]}]},{"html_id":"drivers/Cisco/Webex/Client","path":"Cisco/Webex/Client.html","kind":"class","full_name":"Cisco::Webex::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/client.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(name:String,access_token:String,emails:String,session:Session,commands:Array(Command))-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"args_string":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","args_html":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L10"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, access_token, emails, session, commands)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"keywords:Hash(String,Command)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords","return_type":"Hash(String, Command)","visibility":"Public","body":"@keywords"}},{"html_id":"keywords=(keywords:Hash(String,Command))-instance-method","name":"keywords=","abstract":false,"args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"args_string":"(keywords : Hash(String, Command))","args_html":"(keywords : Hash(String, Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords=","args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"visibility":"Public","body":"@keywords = keywords"}},{"html_id":"messages:Cisco::Webex::Api::Messages-instance-method","name":"messages","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L31"},"def":{"name":"messages","visibility":"Public","body":"@messages"}},{"html_id":"people:Cisco::Webex::Api::People-instance-method","name":"people","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L27"},"def":{"name":"people","visibility":"Public","body":"@people"}},{"html_id":"rooms:Cisco::Webex::Api::Rooms-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L23"},"def":{"name":"rooms","visibility":"Public","body":"@rooms"}},{"html_id":"run:Void-instance-method","name":"run","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L124"},"def":{"name":"run","return_type":"Void","visibility":"Public","body":"device = device()\n@socket = socket = HTTP::WebSocket.new(URI.parse(device.websocket_url))\nsocket.on_message do |message|\n process_incoming_websocket_message(socket, message)\nend\nsocket.on_binary do |binary|\n process_incoming_websocket_message(socket, String.new(binary))\nend\nmessage = {\"id\" => UUID.random.to_s, \"type\" => \"authorization\", \"trackingId\" => [\"webex\", \"-\", UUID.random.to_s].join(\"\"), \"data\" => {\"token\" => [\"Bearer\", @access_token].join(\" \")}}\nsocket.send(message.to_json)\nsocket.run\n"}},{"html_id":"socket:HTTP::WebSocket|Nil-instance-method","name":"socket","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L8"},"def":{"name":"socket","return_type":"HTTP::WebSocket | ::Nil","visibility":"Public","body":"@socket"}},{"html_id":"socket=(socket:HTTP::WebSocket|Nil)-instance-method","name":"socket=","abstract":false,"args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"args_string":"(socket : HTTP::WebSocket | Nil)","args_html":"(socket : HTTP::WebSocket | Nil)","location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L8"},"def":{"name":"socket=","args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"visibility":"Public","body":"@socket = socket"}},{"html_id":"stop:Void-instance-method","name":"stop","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/client.cr#L148"},"def":{"name":"stop","return_type":"Void","visibility":"Public","body":"@socket.close"}}]},{"html_id":"drivers/Cisco/Webex/Command","path":"Cisco/Webex/Command.html","kind":"class","full_name":"Cisco::Webex::Command","name":"Command","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/command.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo"},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L5"},"def":{"name":"description","return_type":"String","visibility":"Public","body":""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":true,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L6"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":""}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/command.cr#L4"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":""}}]},{"html_id":"drivers/Cisco/Webex/Commands","path":"Cisco/Webex/Commands.html","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands","abstract":false,"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L3"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","path":"Cisco/Webex/Commands/Echo.html","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply replies your message!\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => message.text}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/echo.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"echo\"]"}}]},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","path":"Cisco/Webex/Commands/Greeting.html","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/greeting.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply responds to hello, hi, how are you, etc.\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => \"👋\"}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/commands/greeting.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"hello\", \"hi\"]"}}]}]},{"html_id":"drivers/Cisco/Webex/Constants","path":"Cisco/Webex/Constants.html","kind":"module","full_name":"Cisco::Webex::Constants","name":"Constants","abstract":false,"locations":[{"filename":"src/cisco/webex/constants.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/constants.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_BASE_URL","name":"DEFAULT_BASE_URL","value":"\"https://webexapis.com/v1/\""},{"id":"DEFAULT_DEVICE_URL","name":"DEFAULT_DEVICE_URL","value":"\"https://wdm-a.wbx2.com/wdm/api/v1/\""},{"id":"DEFAULT_SINGLE_REQUEST_TIMEOUT","name":"DEFAULT_SINGLE_REQUEST_TIMEOUT","value":"60"},{"id":"DEFAULT_WAIT_ON_RATE_LIMIT","name":"DEFAULT_WAIT_ON_RATE_LIMIT","value":"true"},{"id":"DEVICE","name":"DEVICE","value":"{\"deviceType\" => \"DESKTOP\", \"localizedModel\" => \"crystal\", \"model\" => \"crystal\", \"name\" => UUID.random.to_s, \"systemName\" => \"webex-bot-client\", \"systemVersion\" => VERSION}"},{"id":"MESSAGES_ENDPOINT","name":"MESSAGES_ENDPOINT","value":"\"messages\""},{"id":"PEOPLE_ENDPOINT","name":"PEOPLE_ENDPOINT","value":"\"people\""},{"id":"ROOMS_ENDPOINT","name":"ROOMS_ENDPOINT","value":"\"rooms\""},{"id":"STATUS_CODES","name":"STATUS_CODES","value":"{200 => \"Successful request with body content.\", 204 => \"Successful request without body content.\", 400 => \"The request was invalid or cannot be otherwise served.\", 401 => \"Authentication credentials were missing or incorrect.\", 403 => \"The request is understood, but it has been refused or access is not allowed.\", 404 => \"The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.\", 405 => \"The request was made to a resource using an HTTP request method that is not supported.\", 409 => \"The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.\", 410 => \"The requested resource is no longer available.\", 415 => \"The request was made to a resource without specifying a media type or used a media type that is not supported.\", 423 => \"The requested resource is temporarily unavailable. A `Retry-After` header may be present that specifies how many seconds you need to wait before attempting the request again.\", 429 => \"Too many requests have been sent in a given amount of time and the request has been rate limited. A `Retry-After` header should be present that specifies how many seconds you need to wait before a successful request can be made.\", 500 => \"Something went wrong on the server. If the issue persists, feel free to contact the Webex Developer Support team (https://developer.webex.com/support).\", 502 => \"The server received an invalid response from an upstream server while processing the request. Try again later.\", 503 => \"Server is overloaded with requests. Try again later.\"}"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/drivers/drivers/src/cisco/webex\\\"`).chomp.stringify.downcase }}"},{"id":"WEBEX_TEAMS_DATETIME_FORMAT","name":"WEBEX_TEAMS_DATETIME_FORMAT","value":"\"%Y-%m-%dT%H:%M:%S.%fZ\""}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"}},{"html_id":"drivers/Cisco/Webex/Exceptions","path":"Cisco/Webex/Exceptions.html","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions","abstract":false,"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L3"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L3"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L3"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Exceptions/Argument","path":"Cisco/Webex/Exceptions/Argument.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Argument","name":"Argument","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/argument.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/Method","path":"Cisco/Webex/Exceptions/Method.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Method","name":"Method","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/method.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/method.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/RateLimit","path":"Cisco/Webex/Exceptions/RateLimit.html","kind":"class","full_name":"Cisco::Webex::Exceptions::RateLimit","name":"RateLimit","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/rate_limit.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/StatusCode","path":"Cisco/Webex/Exceptions/StatusCode.html","kind":"class","full_name":"Cisco::Webex::Exceptions::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/exceptions/status_code.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect","path":"Cisco/Webex/InstantConnect.html","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"create_guest_bearer(user_id:String,display_name:String,expiry:Int64|Nil=nil)-instance-method","name":"create_guest_bearer","doc":"Cisco docs on the subject:\n* Guest JWT: https://developer.webex.com/docs/guest-issuer\n* Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/","summary":"

Cisco docs on the subject: * Guest JWT: https://developer.webex.com/docs/guest-issuer * Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","args_html":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L38"},"def":{"name":"create_guest_bearer","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"expires_at = expiry || 12.hours.from_now.to_unix\nJWT.encode({sub: user_id, name: display_name, iss: @webex_guest_issuer, iat: 3.minutes.ago.to_unix, exp: expires_at}, Base64.decode_string(@webex_guest_secret), :hs256)\n"}},{"html_id":"create_meeting(room_id:String)-instance-method","name":"create_meeting","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L49"},"def":{"name":"create_meeting","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"expiry = 24.hours.from_now.to_unix\nrequest = {aud: @jwt_audience, provideShortUrls: true, jwt: {sub: room_id, exp: expiry}}.to_json\nget_meeting_details(get_hash(request))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@webex_guest_issuer = (setting?(String, :webex_guest_issuer)) || \"\"\n@webex_guest_secret = (setting?(String, :webex_guest_secret)) || \"\"\n@audience_setting = (setting?(String, :jwt_audience)) || \"a4d886b0-979f-4e2c-a958-3e8c14605e51\"\n@bot_access_token = setting(String, :bot_access_token)\n"}}],"types":[{"html_id":"drivers/Cisco/Webex/InstantConnect/JoseEncryptResponse","path":"Cisco/Webex/InstantConnect/JoseEncryptResponse.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::JoseEncryptResponse","name":"JoseEncryptResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L95"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"guest:Array(MeetingDetails)-instance-method","name":"guest","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L92"},"def":{"name":"guest","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@guest"}},{"html_id":"host:Array(MeetingDetails)-instance-method","name":"host","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L91"},"def":{"name":"host","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@host"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect/MeetingDetails","path":"Cisco/Webex/InstantConnect/MeetingDetails.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::MeetingDetails","name":"MeetingDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cipher:String-instance-method","name":"cipher","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L101"},"def":{"name":"cipher","return_type":"String","visibility":"Public","body":"@cipher"}},{"html_id":"short:String-instance-method","name":"short","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/instant_connect.cr#L102"},"def":{"name":"short","return_type":"String","visibility":"Public","body":"@short"}}]}]},{"html_id":"drivers/Cisco/Webex/Models","path":"Cisco/Webex/Models.html","kind":"module","full_name":"Cisco::Webex::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L3"},{"filename":"src/cisco/webex/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L3"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L3"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L3"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L3"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L3"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L3"},{"filename":"src/cisco/webex/models/message.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L3"},{"filename":"src/cisco/webex/models/peek.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L3"},{"filename":"src/cisco/webex/models/person.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L3"},{"filename":"src/cisco/webex/models/room.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Device","path":"Cisco/Webex/Models/Device.html","kind":"class","full_name":"Cisco::Webex::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"websocket_url:String-instance-method","name":"websocket_url","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url","return_type":"String","visibility":"Public","body":"@websocket_url"}},{"html_id":"websocket_url=(websocket_url:String)-instance-method","name":"websocket_url=","abstract":false,"args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"args_string":"(websocket_url : String)","args_html":"(websocket_url : String)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url=","args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"visibility":"Public","body":"@websocket_url = websocket_url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Event","path":"Cisco/Webex/Models/Event.html","kind":"class","full_name":"Cisco::Webex::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data","return_type":"Events::Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"args_string":"(data : Events::Data)","args_html":"(data : Events::Data)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"filter_message:Bool-instance-method","name":"filter_message","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message","return_type":"Bool","visibility":"Public","body":"@filter_message"}},{"html_id":"filter_message=(filter_message:Bool)-instance-method","name":"filter_message=","abstract":false,"args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"args_string":"(filter_message : Bool)","args_html":"(filter_message : Bool)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message=","args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"visibility":"Public","body":"@filter_message = filter_message"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sequence_number:Int64-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number","return_type":"Int64","visibility":"Public","body":"@sequence_number"}},{"html_id":"sequence_number=(sequence_number:Int64)-instance-method","name":"sequence_number=","abstract":false,"args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"args_string":"(sequence_number : Int64)","args_html":"(sequence_number : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number=","args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"visibility":"Public","body":"@sequence_number = sequence_number"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"tracking_id:String-instance-method","name":"tracking_id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id","return_type":"String","visibility":"Public","body":"@tracking_id"}},{"html_id":"tracking_id=(tracking_id:String)-instance-method","name":"tracking_id=","abstract":false,"args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"args_string":"(tracking_id : String)","args_html":"(tracking_id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id=","args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"visibility":"Public","body":"@tracking_id = tracking_id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events","path":"Cisco/Webex/Models/Events.html","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events","abstract":false,"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L4"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L4"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L4"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L4"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Events/Activity","path":"Cisco/Webex/Models/Events/Activity.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Activity","name":"Activity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actor:Actor-instance-method","name":"actor","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor","return_type":"Actor","visibility":"Public","body":"@actor"}},{"html_id":"actor=(actor:Actor)-instance-method","name":"actor=","abstract":false,"args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"args_string":"(actor : Actor)","args_html":"(actor : Actor)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor=","args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"visibility":"Public","body":"@actor = actor"}},{"html_id":"client_temp_id:String|Nil-instance-method","name":"client_temp_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id","return_type":"String | ::Nil","visibility":"Public","body":"@client_temp_id"}},{"html_id":"client_temp_id=(client_temp_id:String|Nil)-instance-method","name":"client_temp_id=","abstract":false,"args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"args_string":"(client_temp_id : String | Nil)","args_html":"(client_temp_id : String | Nil)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id=","args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client_temp_id = client_temp_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"target:Target-instance-method","name":"target","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target","return_type":"Target","visibility":"Public","body":"@target"}},{"html_id":"target=(target:Target)-instance-method","name":"target=","abstract":false,"args":[{"name":"target","external_name":"target","restriction":"Target"}],"args_string":"(target : Target)","args_html":"(target : Target)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target=","args":[{"name":"target","external_name":"target","restriction":"Target"}],"visibility":"Public","body":"@target = target"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"verb:String-instance-method","name":"verb","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb","return_type":"String","visibility":"Public","body":"@verb"}},{"html_id":"verb=(verb:String)-instance-method","name":"verb=","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"}],"args_string":"(verb : String)","args_html":"(verb : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb=","args":[{"name":"verb","external_name":"verb","restriction":"String"}],"visibility":"Public","body":"@verb = verb"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Actor","path":"Cisco/Webex/Models/Events/Actor.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Actor","name":"Actor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/actor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"entry_uuid:String-instance-method","name":"entry_uuid","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid","return_type":"String","visibility":"Public","body":"@entry_uuid"}},{"html_id":"entry_uuid=(entry_uuid:String)-instance-method","name":"entry_uuid=","abstract":false,"args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"args_string":"(entry_uuid : String)","args_html":"(entry_uuid : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid=","args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"visibility":"Public","body":"@entry_uuid = entry_uuid"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"organisation_id:String-instance-method","name":"organisation_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id","return_type":"String","visibility":"Public","body":"@organisation_id"}},{"html_id":"organisation_id=(organisation_id:String)-instance-method","name":"organisation_id=","abstract":false,"args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"args_string":"(organisation_id : String)","args_html":"(organisation_id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id=","args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"visibility":"Public","body":"@organisation_id = organisation_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Data","path":"Cisco/Webex/Models/Events/Data.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/data.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activity:Activity-instance-method","name":"activity","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity","return_type":"Activity","visibility":"Public","body":"@activity"}},{"html_id":"activity=(activity:Activity)-instance-method","name":"activity=","abstract":false,"args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"args_string":"(activity : Activity)","args_html":"(activity : Activity)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity=","args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"visibility":"Public","body":"@activity = activity"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Target","path":"Cisco/Webex/Models/Events/Target.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Target","name":"Target","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/target.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Type","path":"Cisco/Webex/Models/Events/Type.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Type","name":"Type","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]}]},{"html_id":"drivers/Cisco/Webex/Models/Message","path":"Cisco/Webex/Models/Message.html","kind":"class","full_name":"Cisco::Webex::Models::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/message.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Array(String)|Nil-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@attachments"}},{"html_id":"attachments=(attachments:Array(String)|Nil)-instance-method","name":"attachments=","abstract":false,"args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"args_string":"(attachments : Array(String) | Nil)","args_html":"(attachments : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments=","args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@attachments = attachments"}},{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"files:Array(String)|Nil-instance-method","name":"files","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@files"}},{"html_id":"files=(files:Array(String)|Nil)-instance-method","name":"files=","abstract":false,"args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"args_string":"(files : Array(String) | Nil)","args_html":"(files : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files=","args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@files = files"}},{"html_id":"html:String|Nil-instance-method","name":"html","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html","return_type":"String | ::Nil","visibility":"Public","body":"@html"}},{"html_id":"html=(html:String|Nil)-instance-method","name":"html=","abstract":false,"args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(html : String | Nil)","args_html":"(html : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html=","args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"visibility":"Public","body":"@html = html"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"markdown:String|Nil-instance-method","name":"markdown","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown","return_type":"String | ::Nil","visibility":"Public","body":"@markdown"}},{"html_id":"markdown=(markdown:String|Nil)-instance-method","name":"markdown=","abstract":false,"args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"args_string":"(markdown : String | Nil)","args_html":"(markdown : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown=","args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"visibility":"Public","body":"@markdown = markdown"}},{"html_id":"mentioned_groups:Array(String)|Nil-instance-method","name":"mentioned_groups","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_groups"}},{"html_id":"mentioned_groups=(mentioned_groups:Array(String)|Nil)-instance-method","name":"mentioned_groups=","abstract":false,"args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_groups : Array(String) | Nil)","args_html":"(mentioned_groups : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups=","args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_groups = mentioned_groups"}},{"html_id":"mentioned_people:Array(String)|Nil-instance-method","name":"mentioned_people","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_people"}},{"html_id":"mentioned_people=(mentioned_people:Array(String)|Nil)-instance-method","name":"mentioned_people=","abstract":false,"args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_people : Array(String) | Nil)","args_html":"(mentioned_people : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people=","args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_people = mentioned_people"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"parent_id=(parent_id:String|Nil)-instance-method","name":"parent_id=","abstract":false,"args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"args_string":"(parent_id : String | Nil)","args_html":"(parent_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id=","args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@parent_id = parent_id"}},{"html_id":"person_email:String-instance-method","name":"person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email","return_type":"String","visibility":"Public","body":"@person_email"}},{"html_id":"person_email=(person_email:String)-instance-method","name":"person_email=","abstract":false,"args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"args_string":"(person_email : String)","args_html":"(person_email : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email=","args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"visibility":"Public","body":"@person_email = person_email"}},{"html_id":"person_id:String-instance-method","name":"person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id","return_type":"String","visibility":"Public","body":"@person_id"}},{"html_id":"person_id=(person_id:String)-instance-method","name":"person_id=","abstract":false,"args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"args_string":"(person_id : String)","args_html":"(person_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id=","args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"visibility":"Public","body":"@person_id = person_id"}},{"html_id":"room_id:String-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id","return_type":"String","visibility":"Public","body":"@room_id"}},{"html_id":"room_id=(room_id:String)-instance-method","name":"room_id=","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id=","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"@room_id = room_id"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}},{"html_id":"room_type=(room_type:String)-instance-method","name":"room_type=","abstract":false,"args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"args_string":"(room_type : String)","args_html":"(room_type : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type=","args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"visibility":"Public","body":"@room_type = room_type"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}},{"html_id":"to_person_email:String|Nil-instance-method","name":"to_person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_email"}},{"html_id":"to_person_email=(to_person_email:String|Nil)-instance-method","name":"to_person_email=","abstract":false,"args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"args_string":"(to_person_email : String | Nil)","args_html":"(to_person_email : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email=","args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_email = to_person_email"}},{"html_id":"to_person_id:String|Nil-instance-method","name":"to_person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_id"}},{"html_id":"to_person_id=(to_person_id:String|Nil)-instance-method","name":"to_person_id=","abstract":false,"args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"args_string":"(to_person_id : String | Nil)","args_html":"(to_person_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id=","args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_id = to_person_id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/Cisco/Webex/Models/Peek","path":"Cisco/Webex/Models/Peek.html","kind":"class","full_name":"Cisco::Webex::Models::Peek","name":"Peek","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/peek.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Type-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data","return_type":"Events::Type","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Type)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"args_string":"(data : Events::Type)","args_html":"(data : Events::Type)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"visibility":"Public","body":"@data = data"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Person","path":"Cisco/Webex/Models/Person.html","kind":"class","full_name":"Cisco::Webex::Models::Person","name":"Person","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/person.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Room","path":"Cisco/Webex/Models/Room.html","kind":"class","full_name":"Cisco::Webex::Models::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/room.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"creator_id:String-instance-method","name":"creator_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id","return_type":"String","visibility":"Public","body":"@creator_id"}},{"html_id":"creator_id=(creator_id:String)-instance-method","name":"creator_id=","abstract":false,"args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"args_string":"(creator_id : String)","args_html":"(creator_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id=","args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"visibility":"Public","body":"@creator_id = creator_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_locked:Bool-instance-method","name":"is_locked","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked","return_type":"Bool","visibility":"Public","body":"@is_locked"}},{"html_id":"is_locked=(is_locked:Bool)-instance-method","name":"is_locked=","abstract":false,"args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"args_string":"(is_locked : Bool)","args_html":"(is_locked : Bool)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked=","args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"visibility":"Public","body":"@is_locked = is_locked"}},{"html_id":"last_activity:String-instance-method","name":"last_activity","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity","return_type":"String","visibility":"Public","body":"@last_activity"}},{"html_id":"last_activity=(last_activity:String)-instance-method","name":"last_activity=","abstract":false,"args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"args_string":"(last_activity : String)","args_html":"(last_activity : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity=","args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"visibility":"Public","body":"@last_activity = last_activity"}},{"html_id":"owner_id:String-instance-method","name":"owner_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id","return_type":"String","visibility":"Public","body":"@owner_id"}},{"html_id":"owner_id=(owner_id:String)-instance-method","name":"owner_id=","abstract":false,"args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(owner_id : String)","args_html":"(owner_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id=","args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"@owner_id = owner_id"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"team_id=(team_id:String|Nil)-instance-method","name":"team_id=","abstract":false,"args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(team_id : String | Nil)","args_html":"(team_id : String | Nil)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id=","args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@team_id = team_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]}]},{"html_id":"drivers/Cisco/Webex/Session","path":"Cisco/Webex/Session.html","kind":"class","full_name":"Cisco::Webex::Session","name":"Session","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/session.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(access_token:String)-class-method","name":"new","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L13"},"def":{"name":"new","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"base_url=(base_url:String)-instance-method","name":"base_url=","abstract":false,"args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"args_string":"(base_url : String)","args_html":"(base_url : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url=","args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"visibility":"Public","body":"@base_url = base_url"}},{"html_id":"delete(url:String,**kwargs):Halite::Response-instance-method","name":"delete","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L76"},"def":{"name":"delete","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"DELETE\", url, **kwargs)"}},{"html_id":"get(url:String,**kwargs):Halite::Response-instance-method","name":"get","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L61"},"def":{"name":"get","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"GET\", url, **kwargs)"}},{"html_id":"post(url:String,**kwargs):Halite::Response-instance-method","name":"post","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L66"},"def":{"name":"post","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"POST\", url, **kwargs)"}},{"html_id":"put(url:String,**kwargs):Halite::Response-instance-method","name":"put","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L71"},"def":{"name":"put","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"PUT\", url, **kwargs)"}},{"html_id":"request(method:String,url:String,**kwargs):Halite::Response-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String, **kwargs) : Halite::Response","args_html":"(method : String, url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L16"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"absolute_url = ((URI.parse(base_url)).resolve(url)).to_s\n@client.headers({\"Authorization\" => [\"Bearer\", @access_token].join(\" \")})\n@client.headers({\"Content-Type\" => \"application/json;charset=utf-8\"})\n@client.timeout(single_request_timeout)\nloop do\n case method\n when \"GET\"\n response = @client.get(absolute_url, **kwargs)\n when \"POST\"\n response = @client.post(absolute_url, **kwargs)\n when \"PUT\"\n response = @client.put(absolute_url, **kwargs)\n when \"DELETE\"\n response = @client.delete(absolute_url, **kwargs)\n else\n raise(Exceptions::Method.new(\"The request-method type is invalid.\"))\n end\n begin\n status_code = StatusCode.new(response.status_code)\n if response.status_code == 429\n raise(Exceptions::RateLimit.new(status_code.message))\n end\n if !status_code.valid?\n raise(Exceptions::StatusCode.new(status_code.message))\n end\n return response\n rescue e : Exceptions::StatusCode\n Log.error(exception: e) do\n end\n rescue e : Exceptions::RateLimit\n Log.error(exception: e) do\n end\n retry_after = (response.headers[\"Retry-After\"]? || \"15\").to_i * 1000\n sleep(retry_after)\n end\nend\n"}},{"html_id":"single_request_timeout:Int32-instance-method","name":"single_request_timeout","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout","return_type":"Int32","visibility":"Public","body":"@single_request_timeout"}},{"html_id":"single_request_timeout=(single_request_timeout:Int32)-instance-method","name":"single_request_timeout=","abstract":false,"args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"args_string":"(single_request_timeout : Int32)","args_html":"(single_request_timeout : Int32)","location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout=","args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"visibility":"Public","body":"@single_request_timeout = single_request_timeout"}},{"html_id":"user_agent:String-instance-method","name":"user_agent","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent","return_type":"String","visibility":"Public","body":"@user_agent"}},{"html_id":"user_agent=(user_agent:String)-instance-method","name":"user_agent=","abstract":false,"args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"args_string":"(user_agent : String)","args_html":"(user_agent : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent=","args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"visibility":"Public","body":"@user_agent = user_agent"}},{"html_id":"wait_on_rate_limit:Bool-instance-method","name":"wait_on_rate_limit","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit","return_type":"Bool","visibility":"Public","body":"@wait_on_rate_limit"}},{"html_id":"wait_on_rate_limit=(wait_on_rate_limit:Bool)-instance-method","name":"wait_on_rate_limit=","abstract":false,"args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"args_string":"(wait_on_rate_limit : Bool)","args_html":"(wait_on_rate_limit : Bool)","location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit=","args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"visibility":"Public","body":"@wait_on_rate_limit = wait_on_rate_limit"}}]},{"html_id":"drivers/Cisco/Webex/StatusCode","path":"Cisco/Webex/StatusCode.html","kind":"class","full_name":"Cisco::Webex::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(code:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/cisco/webex/status_code.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L6"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"Constants::STATUS_CODES[@code]"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/status_code.cr#L9"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"case @code\nwhen 200, 204\n true\nelse\n false\nend"}}]},{"html_id":"drivers/Cisco/Webex/Utils","path":"Cisco/Webex/Utils.html","kind":"module","full_name":"Cisco::Webex::Utils","name":"Utils","abstract":false,"locations":[{"filename":"src/cisco/webex/utils.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"class_methods":[{"html_id":"hash_from_items_with_values(**kwargs)-class-method","name":"hash_from_items_with_values","abstract":false,"location":{"filename":"src/cisco/webex/utils.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L4"},"def":{"name":"hash_from_items_with_values","double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"kwargs = kwargs.map do |k, v|\n if (v != nil) && (v != \"\")\n {\"#{k}\" => v}\n end\nend\nkwargs.reject!(nil)\nkwargs = kwargs.reduce do |acc, i|\n acc.try(&.merge(i.not_nil!))\nend\nkwargs\n"}},{"html_id":"named_tuple_from_hash(hash)-class-method","name":"named_tuple_from_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":""}],"args_string":"(hash)","args_html":"(hash)","location":{"filename":"src/cisco/webex/utils.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/utils.cr#L17"},"def":{"name":"named_tuple_from_hash","args":[{"name":"hash","external_name":"hash","restriction":""}],"visibility":"Public","body":"named_tuple = NamedTuple.new(roomId: String, text: String)\nnamed_tuple.from(hash)\n"}}]}]}]},{"html_id":"drivers/Crestron","path":"Crestron.html","kind":"module","full_name":"Crestron","name":"Crestron","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Crestron/AspectRatio","path":"Crestron/AspectRatio.html","kind":"enum","full_name":"Crestron::AspectRatio","name":"AspectRatio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MaintainAspectRatio","name":"MaintainAspectRatio","value":"0"},{"id":"StretchToFit","name":"StretchToFit","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"maintain_aspect_ratio?-instance-method","name":"maintain_aspect_ratio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L12"},"def":{"name":"maintain_aspect_ratio?","visibility":"Public","body":"self == MaintainAspectRatio"}},{"html_id":"stretch_to_fit?-instance-method","name":"stretch_to_fit?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L13"},"def":{"name":"stretch_to_fit?","visibility":"Public","body":"self == StretchToFit"}}]},{"html_id":"drivers/Crestron/CresNext","path":"Crestron/CresNext.html","kind":"class","full_name":"Crestron::CresNext","name":"CresNext","abstract":true,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/cres_next.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"}],"subclasses":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Parent module for Crestron DM NVX devices.","summary":"

Parent module for Crestron DM NVX devices.

","instance_methods":[{"html_id":"maintain_session-instance-method","name":"maintain_session","doc":"========================================\nHTTP for updates and session maintenance\n========================================","summary":"

======================================== HTTP for updates and session maintenance ========================================

","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L93"},"def":{"name":"maintain_session","visibility":"Public","body":"response = get(\"/Device/DeviceInfo\")\nif response.success?\nelse\n return logout\nend\nreceived(response.body.to_slice, nil)\n"}},{"html_id":"manual_send(payload:JSON::Any)-instance-method","name":"manual_send","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(payload : JSON::Any)","args_html":"(payload : JSON::Any)","location":{"filename":"src/crestron/cres_next.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L79"},"def":{"name":"manual_send","args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"data = payload.to_json\nlogger.debug do\n \"Sending: #{data}\"\nend\nsend(data, wait: false)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/cres_next.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\n"}},{"html_id":"tokenize(path:String)-instance-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/crestron/cres_next.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L30"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split('/')).reject(&.empty?)"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next.cr#L15"},"def":{"name":"websocket_headers","visibility":"Public","body":"authenticate\nheaders = HTTP::Headers.new\ntransport.cookies.add_request_headers(headers)\nif @xsrf_token.empty?\nelse\n headers[\"CREST-XSRF-TOKEN\"] = @xsrf_token\nend\nheaders[\"User-Agent\"] = \"advanced-rest-client\"\nschedule.clear\nschedule.every(10.minutes) do\n maintain_session\nend\nheaders\n"}}]},{"html_id":"drivers/Crestron/CresNextAuth","path":"Crestron/CresNextAuth.html","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth","abstract":false,"locations":[{"filename":"src/crestron/cres_next_auth.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/OccupancySensor","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"authenticate-instance-method","name":"authenticate","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L6"},"def":{"name":"authenticate","visibility":"Public","body":"logger.debug do\n \"Authenticating\"\nend\nuri = URI.parse(config.uri.not_nil!)\nhost = uri.host\nresponse = post(\"/userlogin.html\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Referer\" => \"https://#{host}/userlogin.html\", \"Origin\" => \"https://#{host}\"}, body: URI::Params.build do |form|\n form.add(\"login\", setting(String, :username))\n form.add(\"passwd\", setting(String, :password))\nend)\ncase response.status_code\nwhen 200, 302\n auth_cookies = [\"AuthByPasswd\", \"iv\", \"tag\", \"userid\", \"userstr\"] of ::String\n if (auth_cookies - response.cookies.to_h.keys).empty?\n @xsrf_token = response.headers[\"CREST-XSRF-TOKEN\"]? || \"\"\n logger.debug do\n \"Authenticated\"\n end\n else\n error = \"Device did not return all auth information\"\n end\nwhen 403\n error = \"Invalid credentials\"\nelse\n error = \"Unexpected response (HTTP #{response.status})\"\nend\nif error\n logger.error do\n error\n end\n raise(error)\nend\n"}},{"html_id":"logout-instance-method","name":"logout","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/cres_next_auth.cr#L43"},"def":{"name":"logout","visibility":"Public","body":"begin\n response = post(\"/logout\")\n case response.status\n when 302\n logger.debug do\n \"Logout successful\"\n end\n true\n else\n logger.warn do\n \"Unexpected response (HTTP #{response.status})\"\n end\n false\n end\nensure\n @xsrf_token = \"\"\n transport.cookies.clear\n schedule.clear\n disconnect\nend"}}]},{"html_id":"drivers/Crestron/Fusion","path":"Crestron/Fusion.html","kind":"class","full_name":"Crestron::Fusion","name":"Fusion","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/fusion.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"TODO: add handling of security level 2\nTODO: parse returend results into models\n\nDocumentation: https://sdkcon78221.crestron.com/sdk/Fusion_APIs/Content/Topics/Default.htm","summary":"

TODO add handling of security level 2 TODO: parse returend results into models

","instance_methods":[{"html_id":"delete_room(room_id:String)-instance-method","name":"delete_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L132"},"def":{"name":"delete_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"DELETE\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_action(action_id:String)-instance-method","name":"get_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"args_string":"(action_id : String)","args_html":"(action_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L65"},"def":{"name":"get_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/actions/#{action_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_actions(name:String|Nil,room_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_actions","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L55"},"def":{"name":"get_actions","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif room_id\n params[\"room\"] = room_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/actions\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_alerts(node_ids:Array(String)|Nil=nil,room_ids:Array(String)|Nil=nil,start_time:String|Nil=nil,end_time:String|Nil=nil,severity:Int32|Nil=nil,active_alerts:Bool=true)-instance-method","name":"get_alerts","doc":"Severity should be in the range 1-4","summary":"

Severity should be in the range 1-4

","abstract":false,"args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"args_string":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","args_html":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","location":{"filename":"src/crestron/fusion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L90"},"def":{"name":"get_alerts","args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"visibility":"Public","body":"params = URI::Params.new\nif node_ids\n params[\"nodes\"] = node_ids.join(',')\nend\nif room_ids\n params[\"rooms\"] = room_ids.join(',')\nend\nif start_time\n params[\"start\"] = start_time\nend\nif end_time\n params[\"end\"] = end_time\nend\nif severity\n params[\"severity\"] = severity.to_s\nend\nif active_alerts\n params[\"activeAlerts\"] = active_alerts.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_room(room_id:String)-instance-method","name":"get_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L122"},"def":{"name":"get_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_rooms(name:String|Nil,node_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_rooms","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L112"},"def":{"name":"get_rooms","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif node_id\n params[\"node\"] = node_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_value(symbol_id:String,attribute_id:String)-instance-method","name":"get_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String)","args_html":"(symbol_id : String, attribute_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L146"},"def":{"name":"get_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}/#{attribute_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_values(symbol_id:String)-instance-method","name":"get_signal_values","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"args_string":"(symbol_id : String)","args_html":"(symbol_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L141"},"def":{"name":"get_signal_values","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L44"},"def":{"name":"on_update","visibility":"Public","body":"@security_level = setting(Int32, :security_level)\n@user_id = setting(String, :user_id)\n@api_pass_code = setting(String, :api_pass_code)\n@content_type = \"application/\" + (setting(String, :content_type))\n"}},{"html_id":"post_room(room_xml_or_json:String)-instance-method","name":"post_room","abstract":false,"args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_xml_or_json : String)","args_html":"(room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L107"},"def":{"name":"post_room","args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"POST\", \"/rooms\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_room(room_id:String,room_xml_or_json:String)-instance-method","name":"put_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_id : String, room_xml_or_json : String)","args_html":"(room_id : String, room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L127"},"def":{"name":"put_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"PUT\", \"/rooms/#{room_id}\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_signal_value(symbol_id:String,attribute_id:String,value:String)-instance-method","name":"put_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String, value : String)","args_html":"(symbol_id : String, attribute_id : String, value : String)","location":{"filename":"src/crestron/fusion.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L151"},"def":{"name":"put_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.new\nparams[\"value\"] = value\nresponse = perform_request(\"PUT\", \"/signalvalues/#{symbol_id}/#{attribute_id}\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"send_action(action_id:String|Nil,room_id:String|Nil=nil,node_id:String|Nil=nil)-instance-method","name":"send_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"args_string":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","args_html":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/fusion.cr#L70"},"def":{"name":"send_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif room_id\n params[\"room\"] = room_id\nend\nif node_id\n params[\"node\"] = node_id\nend\npath = if (id = action_id) && (!id.empty?)\n \"/actions/#{id}\"\nelse\n \"/actions\"\nend\nresponse = perform_request(\"POST\", path, params)\nJSON.parse(response.body)\n"}}]},{"html_id":"drivers/Crestron/NvxAddressManager","path":"Crestron/NvxAddressManager.html","kind":"class","full_name":"Crestron::NvxAddressManager","name":"NvxAddressManager","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_address_manager.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MULTICAST_ADDRESSES","name":"MULTICAST_ADDRESSES","value":"::IPAddress::IPv4.new(\"224.0.0.0/4\")","doc":"https://github.com/Sija/ipaddress.cr","summary":"

https://github.com/Sija/ipaddress.cr

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"addr = setting(String, :base_address)\nbase_addr = ::IPAddress::IPv4.new(addr)\n@base_address = base_addr.to_u32\nif MULTICAST_ADDRESSES.includes?(base_addr)\nelse\n logger.warn do\n \"#{addr} is not a valid multicast address\"\n end\nend\n@block_size = setting(Int32, :block_size)\n"}},{"html_id":"readdress_streams-instance-method","name":"readdress_streams","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_address_manager.cr#L42"},"def":{"name":"readdress_streams","visibility":"Public","body":"logger.debug do\n \"readdressing devices\"\nend\naddress_pairs = encoders.zip(addresses)\ninteractions = address_pairs.map_with_index(1) do |__arg0, idx|\n mod = __arg0[0]\n ip_u32 = __arg0[1]\n ip = ::IPAddress::IPv4.parse_u32(ip_u32)\n logger.debug do\n \"setting encoder #{idx} to #{ip}\"\n end\n mod.multicast_address(ip.to_s)\nend\nfailed = 0\ninteractions.each do |request|\n begin\n request.get\n rescue error\n failed = failed + 1\n logger.warn(exception: error) do\n \"addressing NVX devices\"\n end\n end\nend\nif failed == 0\nelse\n raise(\"#{failed} failed to set stream address\")\nend\ninteractions.size\n"}}]},{"html_id":"drivers/Crestron/NvxRx","path":"Crestron/NvxRx.html","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"aspect_ratio(mode:AspectRatio)-instance-method","name":"aspect_ratio","doc":"aspect ratio defined in nvx_rx_models","summary":"

aspect ratio defined in nvx_rx_models

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"args_string":"(mode : AspectRatio)","args_html":"(mode : AspectRatio)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L99"},"def":{"name":"aspect_ratio","args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"visibility":"Public","body":"logger.debug do\n \"setting output aspect ratio mode: #{mode}\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{AspectRatioMode: mode}]}], name: :aspect_ratio)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"audio_follows_video = setting?(Bool, :audio_follows_video)\n@audio_follows_video = audio_follows_video.nil? ? true : audio_follows_video\nquery(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Receiver\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Receiver\"\nend\nquery(\"/XioSubscription/Subscriptions\") do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\nend\nschedule.every(1.hour) do\n query(\"/XioSubscription/Subscriptions\", priority: 5) do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\n end\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L84"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L80"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"switch_layer(map.keys.first, layer)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L58"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}}],"types":[{"html_id":"drivers/Crestron/NvxRx/Input","path":"Crestron/NvxRx/Input.html","kind":"alias","full_name":"Crestron::NvxRx::Input","name":"Input","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/Output","path":"Crestron/NvxRx/Output.html","kind":"alias","full_name":"Crestron::NvxRx::Output","name":"Output","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Int32","aliased_html":"Int32","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/SourceType","path":"Crestron/NvxRx/SourceType.html","kind":"enum","full_name":"Crestron::NvxRx::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L227"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L228"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_rx.cr#L229"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Crestron/NvxScalerControl","path":"Crestron/NvxScalerControl.html","kind":"class","full_name":"Crestron::NvxScalerControl","name":"NvxScalerControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_scaler_control.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SCALE_TO_FIT_BOUNDS","name":"SCALE_TO_FIT_BOUNDS","value":"((16 / 9) * 0.95)..((16 / 9) * 1.05)","doc":"Window of aspect ratio's to detect as 16:9 - allows for +/-5% for\nslightly off-shape windows","summary":"

Window of aspect ratio's to detect as 16:9 - allows for +/-5% for slightly off-shape windows

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_scaler_control.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@links = (setting?(Hash(String, String), :link_scalers)) || ({} of String => String)"}}]},{"html_id":"drivers/Crestron/NvxTx","path":"Crestron/NvxTx.html","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L21"},"def":{"name":"connected","visibility":"Public","body":"query(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Transmitter\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Transmitter\"\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"emulate_input_sync(state:Bool=true,idx:Int32=1)-instance-method","name":"emulate_input_sync","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"args_string":"(state : Bool = true, idx : Int32 = 1)","args_html":"(state : Bool = true, idx : Int32 = 1)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L64"},"def":{"name":"emulate_input_sync","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"self[\"input_#{idx}_sync\"] = state"}},{"html_id":"multicast_address(address:String)-instance-method","name":"multicast_address","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L59"},"def":{"name":"multicast_address","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"setting multicast address to #{address}\"\nend\nupdate(\"/StreamTransmit/Streams\", [{MulticastAddress: address}], name: :multicast_address)\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L45"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nupdate(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L105"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\nif raw_json.includes?(\"AudioVideoInputOutput\")\nelse\n return\nend\npayload = JSON.parse(raw_json)\nif av_inputs = (payload.dig?(\"Device\", \"AudioVideoInputOutput\", \"Inputs\")).try(&.as_a?)\n av_inputs.each do |input|\n name = input[\"Name\"]?.try(&.as_s) || \"\"\n idx = case name\n when /input(\\d+)/\n $~[1].to_i.succ\n when /input-(\\d+)/\n $~[1].to_i\n else\n 1\n end\n sync = (input.dig?(\"Ports\", 0, \"IsSyncDetected\")).try(&.as_bool?)\n if sync.nil?\n else\n self[\"input_#{idx}_sync\"] = sync\n end\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L35"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching to #{input}\"\nend\n(update(\"/DeviceSpecific\", {VideoSource: input, AudioSource: \"AudioFollowsVideo\"}, name: :switch)).get\nupdate_source_info\n"}}],"types":[{"html_id":"drivers/Crestron/NvxTx/Input","path":"Crestron/NvxTx/Input.html","kind":"enum","full_name":"Crestron::NvxTx::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"}],"namespace":{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_tx.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]}]},{"html_id":"drivers/Crestron/OccupancySensor","path":"Crestron/OccupancySensor.html","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/occupancy_sensor.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L36"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nauthenticate\npoll_device_state\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false"}},{"html_id":"get_sensor_details-instance-method","name":"get_sensor_details","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L126"},"def":{"name":"get_sensor_details","visibility":"Public","body":"Detail.new(type: :presence, value: @occupied ? 1.0 : 0.0, last_seen: @connected ? Time.utc.to_unix : @last_update, mac: @mac, id: nil, name: @name, module_id: module_id, binding: \"presence\", status: @connected ? Status::Normal : Status::Fault)"}},{"html_id":"last_update:Int64-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L26"},"def":{"name":"last_update","return_type":"Int64","visibility":"Public","body":"@last_update"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.hour) do\n poll_device_state\nend\n"}},{"html_id":"poll_counter:UInt64-instance-method","name":"poll_counter","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L27"},"def":{"name":"poll_counter","return_type":"UInt64","visibility":"Public","body":"@poll_counter"}},{"html_id":"poll_device_state:Nil-instance-method","name":"poll_device_state","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L47"},"def":{"name":"poll_device_state","return_type":"Nil","visibility":"Public","body":"response = get(\"/Device\")\nif response.success?\nelse\n raise(\"unexpected response code: #{response.status_code}\")\nend\npayload = JSON.parse(response.body)\n@last_update = Time.utc.to_unix\nself[:occupied] = @occupied = (payload.dig(\"Device\", \"OccupancySensor\", \"IsRoomOccupied\")).as_bool\nself[:presence] = @occupied ? 1.0 : 0.0\nself[:mac] = @mac = format_mac((payload.dig(\"Device\", \"DeviceInfo\", \"MacAddress\")).as_s)\nself[:name] = @name = (payload.dig(\"Device\", \"DeviceInfo\", \"Name\")).as_s?\n@poll_counter = @poll_counter + 1\nif @long_polling\nelse\n long_poll\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L120"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif @mac == mac\nelse\n return nil\nend\nget_sensor_details\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/occupancy_sensor.cr#L108"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != @mac)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\n[get_sensor_details]\n"}}]},{"html_id":"drivers/Crestron/Receiver","path":"Crestron/Receiver.html","kind":"module","full_name":"Crestron::Receiver","name":"Receiver","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"}},{"html_id":"drivers/Crestron/SourceType","path":"Crestron/SourceType.html","kind":"enum","full_name":"Crestron::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L17"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L18"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Crestron/Transmitter","path":"Crestron/Transmitter.html","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/nvx_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Interface for enumerating devices","summary":"

Interface for enumerating devices

"},{"html_id":"drivers/Crestron/VirtualSwitcher","path":"Crestron/VirtualSwitcher.html","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"available_inputs-instance-method","name":"available_inputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L108"},"def":{"name":"available_inputs","visibility":"Public","body":"encoder_name_map.keys"}},{"html_id":"available_outputs-instance-method","name":"available_outputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L112"},"def":{"name":"available_outputs","visibility":"Public","body":"decoder_name_map.keys"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"only support muting the outputs, no unmuting","summary":"

only support muting the outputs, no unmuting

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n SwitchLayer::Audio\nin MuteLayer::Video\n SwitchLayer::Video\nin MuteLayer::AudioVideo\n SwitchLayer::All\nend\nswitch({\"none\" => [index]}, switch_layer)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@audio = setting?(AudioSink, :audio_sink)"}},{"html_id":"receivers-instance-method","name":"receivers","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L57"},"def":{"name":"receivers","visibility":"Public","body":"system.implementing(Crestron::Receiver)"}},{"html_id":"switch(map:Hash(Input,Array(Output|Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L134"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nif (layer.all? || layer.video?) || layer.audio?\nelse\n return\nend\nconnect(map, layer) do |mod, __arg0|\n video = __arg0[0]\n audio = __arg0[1]\n if layer.all? || layer.audio?\n switch_audio_to(audio)\n end\n if layer.all? || layer.video?\n mod.switch_to(video)\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L99"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"stream = get_streams(input)\nif stream\nelse\n return\nend\nswitch_audio_to(stream[1])\nreceivers.switch_to(stream[0])\n"}},{"html_id":"transmitters-instance-method","name":"transmitters","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L53"},"def":{"name":"transmitters","visibility":"Public","body":"system.implementing(Crestron::Transmitter)"}}],"types":[{"html_id":"drivers/Crestron/VirtualSwitcher/AudioSink","path":"Crestron/VirtualSwitcher/AudioSink.html","kind":"class","full_name":"Crestron::VirtualSwitcher::AudioSink","name":"AudioSink","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Crestron/VirtualSwitcher","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L31"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L30"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L29"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/crestron/virtual_switcher.cr#L32"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]}]}]},{"html_id":"drivers/Delta","path":"Delta.html","kind":"module","full_name":"Delta","name":"Delta","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L3"},{"filename":"src/delta/models/generic_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L3"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L3"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L3"},{"filename":"src/delta/models/list_sites_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L3"},{"filename":"src/delta/models/local_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L3"},{"filename":"src/delta/models/object.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L3"},{"filename":"src/delta/models/property_identifier.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L3"},{"filename":"src/delta/models/reference.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L3"},{"filename":"src/delta/models/value_property.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Delta/API","path":"Delta/API.html","kind":"class","full_name":"Delta::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"instance_methods":[{"html_id":"get_value_property_by_object_type_through_instance(site_name:String,device_number:String,object_type:String,instance:String)-instance-method","name":"get_value_property_by_object_type_through_instance","doc":"get value of property from object through instance","summary":"

get value of property from object through instance

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, instance : String)","args_html":"(site_name : String, device_number : String, object_type : String, instance : String)","location":{"filename":"src/delta/api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L85"},"def":{"name":"get_value_property_by_object_type_through_instance","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{instance}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_property_name(site_name:String,device_number:String,object_type:String,property_name:String)-instance-method","name":"get_value_property_by_object_type_through_property_name","doc":"get value of property from object through property name","summary":"

get value of property from object through property name

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, property_name : String)","args_html":"(site_name : String, device_number : String, object_type : String, property_name : String)","location":{"filename":"src/delta/api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L97"},"def":{"name":"get_value_property_by_object_type_through_property_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{property_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_subproperty_path(site_name:String,device_number:String,object_type:String,subproperty_path:String)-instance-method","name":"get_value_property_by_object_type_through_subproperty_path","doc":"get value of property from object through subproperty path","summary":"

get value of property from object through subproperty path

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","args_html":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","location":{"filename":"src/delta/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L108"},"def":{"name":"get_value_property_by_object_type_through_subproperty_path","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{subproperty_path}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"list_devices_by_site_name(site_name:String)-instance-method","name":"list_devices_by_site_name","doc":"list devices for site","summary":"

list devices for site

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"args_string":"(site_name : String)","args_html":"(site_name : String)","location":{"filename":"src/delta/api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L44"},"def":{"name":"list_devices_by_site_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"visibility":"Public","body":"devices = [] of Models::Device\npath = URI.encode_path(\"/api/.bacnet/#{site_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListDevicesBySiteNameResponse.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n devices.push(Models::Device.new(id: key, base: value[\"$base\"].to_s, node_type: value[\"nodeType\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\ndevices\n"}},{"html_id":"list_objects_by_device_number(site_name:String,device_number:String)-instance-method","name":"list_objects_by_device_number","doc":"list objects from device resource","summary":"

list objects from device resource

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"args_string":"(site_name : String, device_number : String)","args_html":"(site_name : String, device_number : String)","location":{"filename":"src/delta/api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L65"},"def":{"name":"list_objects_by_device_number","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"visibility":"Public","body":"objects = [] of Models::Object\npath = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListObjectsByDeviceNumber.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n objects.push(Models::Object.new(id: key, base: value[\"$base\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\nobjects\n"}},{"html_id":"list_sites-instance-method","name":"list_sites","doc":"list all sites","summary":"

list all sites

","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L38"},"def":{"name":"list_sites","visibility":"Public","body":"response = Models::ListSitesResponse.from_json((fetch(\"/api/.bacnet\")).body)\nresponse.json_unmapped.keys\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/Delta/Models","path":"Delta/Models.html","kind":"module","full_name":"Delta::Models","name":"Models","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L4"},{"filename":"src/delta/models/generic_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L4"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L4"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L4"},{"filename":"src/delta/models/list_sites_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L4"},{"filename":"src/delta/models/local_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L4"},{"filename":"src/delta/models/object.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L4"},{"filename":"src/delta/models/property_identifier.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L4"},{"filename":"src/delta/models/reference.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L4"},{"filename":"src/delta/models/value_property.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"types":[{"html_id":"drivers/Delta/Models/Device","path":"Delta/Models/Device.html","kind":"struct","full_name":"Delta::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,node_type:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L23"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, node_type, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/device.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L18"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L18"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L15"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L15"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L21"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/device.cr#L21"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/GenericValue","path":"Delta/Models/GenericValue.html","kind":"struct","full_name":"Delta::Models::GenericValue","name":"GenericValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/generic_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/generic_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/generic_value.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/ListDevicesBySiteNameResponse","path":"Delta/Models/ListDevicesBySiteNameResponse.html","kind":"struct","full_name":"Delta::Models::ListDevicesBySiteNameResponse","name":"ListDevicesBySiteNameResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}}]},{"html_id":"drivers/Delta/Models/ListObjectsByDeviceNumber","path":"Delta/Models/ListObjectsByDeviceNumber.html","kind":"struct","full_name":"Delta::Models::ListObjectsByDeviceNumber","name":"ListObjectsByDeviceNumber","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/ListSitesResponse","path":"Delta/Models/ListSitesResponse.html","kind":"struct","full_name":"Delta::Models::ListSitesResponse","name":"ListSitesResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_sites_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/LocalValue","path":"Delta/Models/LocalValue.html","kind":"struct","full_name":"Delta::Models::LocalValue","name":"LocalValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/local_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/local_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"real:GenericValue-instance-method","name":"real","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L12"},"def":{"name":"real","return_type":"GenericValue","visibility":"Public","body":"@real"}},{"html_id":"real=(real:GenericValue)-instance-method","name":"real=","abstract":false,"args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"args_string":"(real : GenericValue)","args_html":"(real : GenericValue)","location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/local_value.cr#L12"},"def":{"name":"real=","args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"visibility":"Public","body":"@real = real"}}]},{"html_id":"drivers/Delta/Models/Object","path":"Delta/Models/Object.html","kind":"struct","full_name":"Delta::Models::Object","name":"Object","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/object.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L20"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/object.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L18"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/object.cr#L18"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/PropertyIdentifier","path":"Delta/Models/PropertyIdentifier.html","kind":"struct","full_name":"Delta::Models::PropertyIdentifier","name":"PropertyIdentifier","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/property_identifier.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/Reference","path":"Delta/Models/Reference.html","kind":"struct","full_name":"Delta::Models::Reference","name":"Reference","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/reference.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/reference.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"device_identifier:GenericValue-instance-method","name":"device_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier","return_type":"GenericValue","visibility":"Public","body":"@device_identifier"}},{"html_id":"device_identifier=(device_identifier:GenericValue)-instance-method","name":"device_identifier=","abstract":false,"args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"args_string":"(device_identifier : GenericValue)","args_html":"(device_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier=","args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@device_identifier = device_identifier"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"property_identifier:PropertyIdentifier-instance-method","name":"property_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier","return_type":"PropertyIdentifier","visibility":"Public","body":"@property_identifier"}},{"html_id":"property_identifier=(property_identifier:PropertyIdentifier)-instance-method","name":"property_identifier=","abstract":false,"args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"args_string":"(property_identifier : PropertyIdentifier)","args_html":"(property_identifier : PropertyIdentifier)","location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier=","args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"visibility":"Public","body":"@property_identifier = property_identifier"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L12"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/reference.cr#L12"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Delta/Models/ValueProperty","path":"Delta/Models/ValueProperty.html","kind":"struct","full_name":"Delta::Models::ValueProperty","name":"ValueProperty","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/value_property.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/value_property.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"cov_increment:GenericValue-instance-method","name":"cov_increment","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment","return_type":"GenericValue","visibility":"Public","body":"@cov_increment"}},{"html_id":"cov_increment=(cov_increment:GenericValue)-instance-method","name":"cov_increment=","abstract":false,"args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"args_string":"(cov_increment : GenericValue)","args_html":"(cov_increment : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment=","args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"visibility":"Public","body":"@cov_increment = cov_increment"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"exchange_flags:GenericValue-instance-method","name":"exchange_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags","return_type":"GenericValue","visibility":"Public","body":"@exchange_flags"}},{"html_id":"exchange_flags=(exchange_flags:GenericValue)-instance-method","name":"exchange_flags=","abstract":false,"args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"args_string":"(exchange_flags : GenericValue)","args_html":"(exchange_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags=","args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_flags = exchange_flags"}},{"html_id":"exchange_type:GenericValue-instance-method","name":"exchange_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type","return_type":"GenericValue","visibility":"Public","body":"@exchange_type"}},{"html_id":"exchange_type=(exchange_type:GenericValue)-instance-method","name":"exchange_type=","abstract":false,"args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"args_string":"(exchange_type : GenericValue)","args_html":"(exchange_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type=","args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_type = exchange_type"}},{"html_id":"last_error:GenericValue-instance-method","name":"last_error","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error","return_type":"GenericValue","visibility":"Public","body":"@last_error"}},{"html_id":"last_error=(last_error:GenericValue)-instance-method","name":"last_error=","abstract":false,"args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"args_string":"(last_error : GenericValue)","args_html":"(last_error : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error=","args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"visibility":"Public","body":"@last_error = last_error"}},{"html_id":"last_sent:GenericValue-instance-method","name":"last_sent","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent","return_type":"GenericValue","visibility":"Public","body":"@last_sent"}},{"html_id":"last_sent=(last_sent:GenericValue)-instance-method","name":"last_sent=","abstract":false,"args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"args_string":"(last_sent : GenericValue)","args_html":"(last_sent : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent=","args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"visibility":"Public","body":"@last_sent = last_sent"}},{"html_id":"local_flags:LocalValue-instance-method","name":"local_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags","return_type":"LocalValue","visibility":"Public","body":"@local_flags"}},{"html_id":"local_flags=(local_flags:GenericValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"args_string":"(local_flags : GenericValue)","args_html":"(local_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L37"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_flags=(local_flags:LocalValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"args_string":"(local_flags : LocalValue)","args_html":"(local_flags : LocalValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_ref:Reference-instance-method","name":"local_ref","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref","return_type":"Reference","visibility":"Public","body":"@local_ref"}},{"html_id":"local_ref=(local_ref:Reference)-instance-method","name":"local_ref=","abstract":false,"args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"args_string":"(local_ref : Reference)","args_html":"(local_ref : Reference)","location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref=","args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"visibility":"Public","body":"@local_ref = local_ref"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"object_name:GenericValue-instance-method","name":"object_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name","return_type":"GenericValue","visibility":"Public","body":"@object_name"}},{"html_id":"object_name=(object_name:GenericValue)-instance-method","name":"object_name=","abstract":false,"args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"args_string":"(object_name : GenericValue)","args_html":"(object_name : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name=","args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"visibility":"Public","body":"@object_name = object_name"}},{"html_id":"object_type:GenericValue-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type","return_type":"GenericValue","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:GenericValue)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"args_string":"(object_type : GenericValue)","args_html":"(object_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"send_frequency:GenericValue-instance-method","name":"send_frequency","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency","return_type":"GenericValue","visibility":"Public","body":"@send_frequency"}},{"html_id":"send_frequency=(send_frequency:GenericValue)-instance-method","name":"send_frequency=","abstract":false,"args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"args_string":"(send_frequency : GenericValue)","args_html":"(send_frequency : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency=","args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"visibility":"Public","body":"@send_frequency = send_frequency"}},{"html_id":"subscribers:Hash(String,JSON::Any)-instance-method","name":"subscribers","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@subscribers"}},{"html_id":"subscribers=(subscribers:Hash(String,JSON::Any))-instance-method","name":"subscribers=","abstract":false,"args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"args_string":"(subscribers : Hash(String, JSON::Any))","args_html":"(subscribers : Hash(String, JSON::Any))","location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers=","args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@subscribers = subscribers"}}]}]}]},{"html_id":"drivers/Denon","path":"Denon.html","kind":"module","full_name":"Denon","name":"Denon","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"","summary":"","types":[{"html_id":"drivers/Denon/Amplifier","path":"Denon/Amplifier.html","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Denon","kind":"module","full_name":"Denon","name":"Denon"},"types":[{"html_id":"drivers/Denon/Amplifier/AvReceiver","path":"Denon/Amplifier/AvReceiver.html","kind":"class","full_name":"Denon::Amplifier::AvReceiver","name":"AvReceiver","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power: :PW, power_query: :\"PW?\", mute: :MU, mute_query: :\"MU?\", volume: :MV, volume_query: :\"MV?\", input: :SI, input_query: :\"SI?\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"}],"namespace":{"html_id":"drivers/Denon/Amplifier","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L65"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.info do\n \"-- Polling Denon AVR\"\n end\n power?\n do_send(:input, priority: 0, name: :input)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L80"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"input(input:String=\"\")-instance-method","name":"input","doc":"Just here for documentation (there are many more)\n\nINPUTS = [:cd, :tuner, :dvd, :bd, :tv, :\"sat/cbl\", :dvr, :game, :game2, :\"v.aux\", :dock]","summary":"

Just here for documentation (there are many more)

","abstract":false,"args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"args_string":"(input : String = \"\")","args_html":"(input : String = "")","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L148"},"def":{"name":"input","args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"visibility":"Public","body":"status = input.upcase\nif status != self[:input]\n input = input.to_s.upcase\n do_send(:input, input, name: :input)\nend\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L156"},"def":{"name":"input?","visibility":"Public","body":"do_send(:input_query, priority: 0, name: :input_query)"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L104"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"req = state ? \"ON\" : \"OFF\"\nif self[:mute] == req\n return\nend\ndo_send(:mute, req, name: :mute)\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L99"},"def":{"name":"mute?","visibility":"Public","body":"self[:mute] = \"OFF\"\ndo_send(:mute_query, priority: 0, name: :mute_query)\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L110"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:volume_min] = 0\nself[:volume_max] = @volume_range.max\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L60"},"def":{"name":"on_update","visibility":"Public","body":"self[:max_waits] = 10\nself[:timeout] = 3000\n"}},{"html_id":"power(state:Bool=false)-instance-method","name":"power","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L84"},"def":{"name":"power","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state && ((self[:power] == \"OFF\") || (self[:power] == \"STANDBY\"))\n do_send(:power, \"ON\", delay: 3.milliseconds, name: :power)\nelse\n if (!state) && (self[:power] == \"ON\")\n do_send(:power, \"STANDBY\", delay: 3.milliseconds, name: :power)\n end\nend"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L93"},"def":{"name":"power?","visibility":"Public","body":"do_send(:power_query, priority: 0, name: :power_query)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.info do\n \"Denon sent #{data.inspect}\"\nend\nif task\nelse\n return\nend\ncmd = data[0..1]\nval = data[2..-2]\ncase cmd\nwhen \"PW\"\n self[:power] = val\nwhen \"SI\"\n self[:input] = val\nwhen \"MV\"\n vol_percent = ((val.to_f * 2) / @volume_range.end.to_f) * 100.0\n self[:volume] = vol_percent\nwhen \"MU\"\n self[:mute] = val\nelse\n return :ignore\nend\ntask.try(&.success)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L114"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L118"},"def":{"name":"unmute_audio","visibility":"Public","body":"unmute"}},{"html_id":"volume(level:Float64|Int32=0)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"args_string":"(level : Float64 | Int32 = 0)","args_html":"(level : Float64 | Int32 = 0)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L122"},"def":{"name":"volume","args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\nif self[:volume] == level\n return\nend\npercentage = level / 100.0\nvalue = (percentage * @volume_range.end.to_f).round_away.to_i\nstep = value % 2\nactual = value / 2\nreq = actual.to_s.rjust(2, '0')\nif step != 0\n req = req + \"5\"\nend\ndo_send(:volume, req, name: :volume)\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/denon/amplifier/av_receiver.cr#L141"},"def":{"name":"volume?","visibility":"Public","body":"do_send(:volume_query, priority: 0, name: :volume_query)"}}]}]}]},{"html_id":"drivers/DigitalIO","path":"DigitalIO.html","kind":"class","full_name":"DigitalIO","name":"DigitalIO","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv_spec.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv_spec.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"ir(index:Int32,command:String)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String)","args_html":"(index : Int32, command : String)","location":{"filename":"src/global_cache/ir_tv_spec.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv_spec.cr#L6"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"@called = @called + 1\nself[:call_count] = @called\nnil\n"}}]},{"html_id":"drivers/Digraph","path":"Digraph.html","kind":"alias","full_name":"Digraph","name":"Digraph","abstract":false,"locations":[{"filename":"src/place/router/digraph_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Digraph(N, E)","aliased_html":"Place::Router::Digraph(N, E)","const":false},{"html_id":"drivers/Echo360","path":"Echo360.html","kind":"module","full_name":"Echo360","name":"Echo360","abstract":false,"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Echo360/DeviceCapture","path":"Echo360/DeviceCapture.html","kind":"class","full_name":"Echo360::DeviceCapture","name":"DeviceCapture","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CHECK","name":"CHECK","value":"{\"next\", \"current\"}"},{"id":"STATUS_CMDS","name":"STATUS_CMDS","value":"{system_status: :system, capture_status: :captures, next: :next_capture, current: :current_capture, state: :monitoring}"}],"namespace":{"html_id":"drivers/Echo360","kind":"module","full_name":"Echo360","name":"Echo360"},"instance_methods":[{"html_id":"capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"capture","doc":"This will auto-start a recording","summary":"

This will auto-start a recording

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L74"},"def":{"name":"capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/new_capture\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"capture_status-instance-method","name":"capture_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"capture_status","visibility":"Public","body":"response = get(\"/status/captures\")\nprocess_status(check(response))\n"}},{"html_id":"captures-instance-method","name":"captures","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L61"},"def":{"name":"captures","visibility":"Public","body":"response = get(\"/diagnostics/recovery/saved-content\")\nself[:captures] = (check(response))[\"captures\"][\"capture\"]\n"}},{"html_id":"current-instance-method","name":"current","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"current","visibility":"Public","body":"response = get(\"/status/current_capture\")\nprocess_status(check(response))\n"}},{"html_id":"extend(duration:Int32)-instance-method","name":"extend","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"args_string":"(duration : Int32)","args_html":"(duration : Int32)","location":{"filename":"src/echo360/device_capture.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L94"},"def":{"name":"extend","args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"duration\", duration.to_s)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"next-instance-method","name":"next","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"next","visibility":"Public","body":"response = get(\"/status/next_capture\")\nprocess_status(check(response))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(15.seconds) do\n logger.debug do\n \"-- Polling Capture\"\n end\n system_status\n capture_status\nend\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L101"},"def":{"name":"pause","visibility":"Public","body":"response = post(\"/capture/pause\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L56"},"def":{"name":"reboot","visibility":"Public","body":"(post(\"/diagnostics/reboot\")).success?"}},{"html_id":"record-instance-method","name":"record","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L115"},"def":{"name":"record","visibility":"Public","body":"start"}},{"html_id":"restart_application-instance-method","name":"restart_application","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L51"},"def":{"name":"restart_application","visibility":"Public","body":"(post(\"/diagnostics/restart_all\")).success?"}},{"html_id":"resume-instance-method","name":"resume","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L111"},"def":{"name":"resume","visibility":"Public","body":"start"}},{"html_id":"start-instance-method","name":"start","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L106"},"def":{"name":"start","visibility":"Public","body":"response = post(\"/capture/record\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"state-instance-method","name":"state","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"state","visibility":"Public","body":"response = get(\"/status/monitoring\")\nprocess_status(check(response))\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L119"},"def":{"name":"stop","visibility":"Public","body":"response = post(\"/capture/stop\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"system_status-instance-method","name":"system_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L40"},"def":{"name":"system_status","visibility":"Public","body":"response = get(\"/status/system\")\nprocess_status(check(response))\n"}},{"html_id":"test_capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"test_capture","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L84"},"def":{"name":"test_capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"upload(id:String)-instance-method","name":"upload","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/echo360/device_capture.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/echo360/device_capture.cr#L67"},"def":{"name":"upload","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/diagnostics/recovery/#{id}/upload\")\nif response.success?\nelse\n raise(\"upload request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}}]}]},{"html_id":"drivers/Enumerable","path":"Enumerable.html","kind":"module","full_name":"Enumerable(T)","name":"Enumerable","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"The `Enumerable` mixin provides collection classes with several traversal, searching,\nfiltering and querying methods.\n\nIncluding types must provide an `each` method, which yields successive members\nof the collection.\n\nFor example:\n\n```\nclass Three\n include Enumerable(Int32)\n\n def each(&)\n yield 1\n yield 2\n yield 3\n end\nend\n\nthree = Three.new\nthree.to_a # => [1, 2, 3]\nthree.select &.odd? # => [1, 3]\nthree.all? { |x| x < 10 } # => true\n```\n\nNote that most search and filter methods traverse an Enumerable eagerly,\nproducing an `Array` as the result. For a lazy alternative refer to\nthe `Iterator` and `Iterable` modules.","summary":"

The Enumerable mixin provides collection classes with several traversal, searching, filtering and querying methods.

","instance_methods":[{"html_id":"flatten_xapi_json(parent_prefix:String|Nil=nil,delimiter:String=\"/\")-instance-method","name":"flatten_xapi_json","abstract":false,"args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"args_string":"(parent_prefix : String | Nil = nil, delimiter : String = \"/\")","args_html":"(parent_prefix : String | Nil = nil, delimiter : String = "/")","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L40"},"def":{"name":"flatten_xapi_json","args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"visibility":"Public","body":"res = {} of String => JSONComplex\nself.each_with_index do |elem, i|\n if elem.is_a?(Tuple)\n k, v = elem\n else\n k, v = i, elem\n if id = v.as_h?.try(&.delete(\"id\"))\n k = id\n end\n end\n key = parent_prefix ? \"#{parent_prefix}#{delimiter}#{k}\" : k.to_s\n raw = v.raw\n case raw\n in Array(JSON::Any)\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n in Hash(String, JSON::Any)\n value = raw[\"Value\"]?\n if value && value.as_h?.nil?\n valuespaceref = raw[\"valueSpaceRef\"]?.try do |__arg1|\n (__arg1.as_s.split('/')).last\n end\n res[key] = Cisco::CollaborationEndpoint::XAPI.value_convert(value.as_s, valuespaceref)\n else\n if id\n res[key] = raw.flatten_xapi_json(delimiter: delimiter)\n else\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n end\n end\n in JSONBasic\n res[key] = raw\n end\nend\nres\n"}}],"types":[{"html_id":"drivers/Enumerable/JSONBasic","path":"Enumerable/JSONBasic.html","kind":"alias","full_name":"Enumerable::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}},{"html_id":"drivers/Enumerable/JSONComplex","path":"Enumerable/JSONComplex.html","kind":"alias","full_name":"Enumerable::JSONComplex","name":"JSONComplex","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/collaboration_endpoint/response.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}}]},{"html_id":"drivers/Epson","path":"Epson.html","kind":"module","full_name":"Epson","name":"Epson","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Epson/Projector","path":"Epson/Projector.html","kind":"module","full_name":"Epson::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Epson","kind":"module","full_name":"Epson","name":"Epson"},"types":[{"html_id":"drivers/Epson/Projector/EscVp21","path":"Epson/Projector/EscVp21.html","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{power: \"PWR\", input: \"SOURCE\", volume: \"VOL\", av_mute: \"MUTE\", video_mute: \"MSEL\", error: \"ERR\", lamp: \"LAMP\"}"},{"id":"ERRORS","name":"ERRORS","value":"[\"00: no error\", \"01: fan error\", \"03: lamp failure at power on\", \"04: high internal temperature\", \"06: lamp error\", \"07: lamp cover door open\", \"08: cinema filter error\", \"09: capacitor is disconnected\", \"0A: auto iris error\", \"0B: subsystem error\", \"0C: low air flow error\", \"0D: air flow sensor error\", \"0E: ballast power supply error\", \"0F: shutter error\", \"10: peltiert cooling error\", \"11: pump cooling error\", \"12: static iris error\", \"13: power supply unit error\", \"14: exhaust shutter error\", \"15: obstacle detection error\", \"16: IF board discernment error\"]"},{"id":"RESPONSE","name":"RESPONSE","value":"COMMAND.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Epson/Projector","kind":"module","full_name":"Epson::Projector","name":"Projector"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L33"},"def":{"name":"connected","visibility":"Public","body":"send(\"ESC/VP.net\\u0010\\u0003\\u0000\\u0000\\u0000\\u0000\")\nschedule.every(52.seconds, true) do\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L39"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L221"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 20) && @power_stable\n input?\n video_mute?\n volume?\nend\ndo_send(:lamp, priority: 20)\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L73"},"def":{"name":"input?","visibility":"Public","body":"(do_send(:input, priority: 0)).get\nself[:input]\n"}},{"html_id":"inspect_error-instance-method","name":"inspect_error","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L145"},"def":{"name":"inspect_error","visibility":"Public","body":"do_send(:error, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L98"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"case layer\nwhen .audio_video?\n do_send(:av_mute, state ? \"ON\" : \"OFF\", name: :mute)\n do_send(:av_mute, name: :\"mute?\", priority: 0)\nwhen .video?\n do_send(:video_mute, state ? \"ON\" : \"OFF\", name: :video_mute)\n video_mute?\nwhen .audio?\n val = state ? 0.0 : @unmute_volume\n volume(val)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:type] = :projector\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L43"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n @power_target = true\n logger.debug do\n \"-- epson Proj, requested to power on\"\n end\n do_send(:power, \"ON\", delay: 40.seconds, name: \"power\", priority: 99)\nelse\n @power_target = false\n logger.debug do\n \"-- epson Proj, requested to power off\"\n end\n do_send(:power, \"OFF\", delay: 10.seconds, name: \"power\", priority: 99)\nend\n@power_stable = false\nself[:power] = state\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L58"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power, **options)).get\n@power_actual || false\n"}},{"html_id":"power_actual:Bool|Nil-instance-method","name":"power_actual","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L22"},"def":{"name":"power_actual","return_type":"Bool | ::Nil","visibility":"Public","body":"@power_actual"}},{"html_id":"power_stable?:Bool-instance-method","name":"power_stable?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L23"},"def":{"name":"power_stable?","return_type":"Bool","visibility":"Public","body":"@power_stable"}},{"html_id":"power_target?:Bool-instance-method","name":"power_target?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L24"},"def":{"name":"power_target?","return_type":"Bool","visibility":"Public","body":"@power_target"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if data.size <= 2\n return task.try(&.success)\nend\ndata = String.new(data[1..-2])\nlogger.debug do\n \"epson Proj sent: #{data}\"\nend\ndata = data.split('=')\ncase RESPONSE[data[0]]\nwhen :error\n if data[1]?\n code = data[1].to_i(16)\n self[:last_error] = ERRORS[code]? || \"#{data[1]}: unknown error code #{code}\"\n return task.try(&.success(\"Epson PJ error was #{self[:last_error]}\"))\n else\n return task.try(&.abort(\"Epson PJ sent error response for #{task.not_nil!.name || \"unknown\"}\"))\n end\nwhen :power\n state = data[1].to_i\n @power_actual = powered = state < 3\n warming = state == 2\n cooling = state == 3\n if warming || cooling\n schedule.in(5.seconds) do\n power?(priority: 10)\n end\n else\n if !@power_stable\n if @power_actual == @power_target\n @power_stable = true\n else\n power(@power_target)\n end\n end\n end\n if @power_stable\n self[:power] = powered\n end\n self[:warming] = warming\n self[:cooling] = cooling\n if powered == @power_target\n if powered\n else\n self[:video_mute] = false\n end\n end\nwhen :av_mute\n self[:video_mute] = self[:audio_mute] = data[1] == \"ON\"\n self[:volume] = 0.0\nwhen :video_mute\n self[:video_mute] = data[1] == \"ON\"\nwhen :volume\n vol = data[1].to_i\n vol_percent = (vol.to_f / 255.0) * 100.0\n self[:volume] = vol_percent\n mute = vol == 0\n if mute\n self[:audio_mute] = mute\n end\n if mute\n else\n @unmute_volume || (@unmute_volume = vol_percent)\n end\nwhen :lamp\n self[:lamp_usage] = data[1].to_i\nwhen :input\n self[:input] = (Input.from_value(data[1].to_i(16))) || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L63"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- epson Proj, requested to switch to: #{input}\"\nend\ndo_send(:input, input.value.to_s(16), name: :input)\nself[:input] = input\nself[:video_mute] = false\ninput?\n"}},{"html_id":"video_mute?-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L116"},"def":{"name":"video_mute?","visibility":"Public","body":"(do_send(:video_mute, priority: 0)).get\n!(!self[:video_mute]?.try(&.as_bool))\n"}},{"html_id":"volume(vol:Float64|Int32,**options)-instance-method","name":"volume","doc":"Volume commands are sent using the inpt command","summary":"

Volume commands are sent using the inpt command

","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"args_string":"(vol : Float64 | Int32, **options)","args_html":"(vol : Float64 | Int32, **options)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L79"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * 255.0).round_away.to_i\nif (mute = vol == 0.0) && self[:volume]?\n @unmute_volume = self[:volume].as_f\nend\ndo_send(:volume, vol_actual, **options, name: :volume)\nself[:volume] = vol\nself[:audio_mute] = mute\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L93"},"def":{"name":"volume?","visibility":"Public","body":"(do_send(:volume, priority: 0)).get\nself[:volume]?.try(&.as_f)\n"}}],"types":[{"html_id":"drivers/Epson/Projector/EscVp21/Input","path":"Epson/Projector/EscVp21/Input.html","kind":"enum","full_name":"Epson::Projector::EscVp21::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"48"},{"id":"HDBaseT","name":"HDBaseT","value":"128"}],"namespace":{"html_id":"drivers/Epson/Projector/EscVp21","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21"},"instance_methods":[{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L12"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/epson/projector/esc_vp21.cr#L11"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}}]}]}]}]},{"html_id":"drivers/Exterity","path":"Exterity.html","kind":"module","full_name":"Exterity","name":"Exterity","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Exterity/AvediaPlayer","path":"Exterity/AvediaPlayer.html","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity","kind":"module","full_name":"Exterity","name":"Exterity"},"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R92xx","path":"Exterity/AvediaPlayer/R92xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R92xx","name":"R92xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L40"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L23"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.info do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L52"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L56"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L72"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L60"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L76"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.info do\n \"Exterity sent #{data}\"\nend\nif @ready\n if data =~ (/sh: .* not found/i)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 2.seconds, priority: 95)\n return :failure\n end\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Exterity Control Interface| Exit/i)\n logger.info do\n \"-- got the control interface message, we're READY now\"\n end\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n logger.info do\n \"-- got the login: prompt\"\n end\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\n do_send(\"6\", wait: false, delay: 2.seconds, priority: 96)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 200.milliseconds, priority: 95)\n schedule.in(20.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n else\n if logger.info do\n \"Somehow we got here #{data}\"\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L48"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L64"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r92xx.cr#L68"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}]},{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","path":"Exterity/AvediaPlayer/R93xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L4"},{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L39"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"channel_name(name:String)-instance-method","name":"channel_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L79"},"def":{"name":"channel_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"(set(:currentChannel_name, name, name: :name)).get\ncurrent_channel_name\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"current_channel-instance-method","name":"current_channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L98"},"def":{"name":"current_channel","visibility":"Public","body":"get(:currentChannel)"}},{"html_id":"current_channel_name-instance-method","name":"current_channel_name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L102"},"def":{"name":"current_channel_name","visibility":"Public","body":"get(:currentChannel_name)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L32"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L51"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L55"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L71"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"channel_lookup = {} of String => ChannelDetail\nif channel_details = setting?(Array(ChannelDetail), :channel_details)\n self[:channel_details] = channel_details\n channel_details.each do |lookup|\n channel_lookup[lookup.channel] = lookup\n end\nelse\n self[:channel_details] = nil\nend\n@channel_lookup = channel_lookup\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L59"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L75"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Exterity sent #{data}\"\nend\nif @ready\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Terminal Control Interface/i)\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 2.seconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 2.seconds, priority: 97)\n schedule.in(5.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L47"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L63"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/r93xx.cr#L67"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}],"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R93xx/ChannelDetail","path":"Exterity/AvediaPlayer/R93xx/ChannelDetail.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx::ChannelDetail","name":"ChannelDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L29"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L28"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/exterity/avedia_player/m93xx.cr#L27"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]}]}]},{"html_id":"drivers/Extron","path":"Extron.html","kind":"module","full_name":"Extron","name":"Extron","abstract":false,"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Extron/Matrix","path":"Extron/Matrix.html","kind":"class","full_name":"Extron::Matrix","name":"Matrix","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/matrix.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MUTE_INPUT","name":"MUTE_INPUT","value":"0_u16"}],"included_modules":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"instance_methods":[{"html_id":"audio_mute(state:Bool=true,group:Int32=2)-instance-method","name":"audio_mute","doc":"Sets the audio mute *state* on the specified *group*.\n\nNOTE: mute groups may differ from volume groups depending on device\nconfiguration. Default group (2) is program audio.","summary":"

Sets the audio mute state on the specified group.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"args_string":"(state : Bool = true, group : Int32 = 2)","args_html":"(state : Bool = true, group : Int32 = 2)","location":{"filename":"src/extron/matrix.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L212"},"def":{"name":"audio_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"device_state = state ? '1' : '0'\nsend(Command[\"\\eD\", group, '*', device_state, \"GRPM\\r\"], Response::GroupMute) do\n state\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n query_device_info\nend"}},{"html_id":"device_size-instance-method","name":"device_size","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L60"},"def":{"name":"device_size","visibility":"Public","body":"if (value = @device_size).nil?\n @device_size = (begin\n empty = MatrixSize.new(0_u16, 0_u16)\n SwitcherInformation.new(empty, empty)\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nif config.role.ssh?\nelse\n @ready = false\n transport.tokenizer = nil\nend\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/extron/matrix.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L82"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"output = index.to_u16\nif output > 0\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n MatrixLayer::Aud\nin MuteLayer::Video\n MatrixLayer::Vid\nin MuteLayer::AudioVideo\n MatrixLayer::All\nend\nif state\n record_mute(output, switch_layer)\n switch_one(MUTE_INPUT, output, switch_layer)\nelse\n video_input = audio_input = MUTE_INPUT\n if switch_layer.all? || switch_layer.vid?\n video_input = (@muted_video.delete(output)) || MUTE_INPUT\n end\n if switch_layer.all? || switch_layer.aud?\n audio_input = (@muted_audio.delete(output)) || MUTE_INPUT\n end\n if audio_input > 0\n switch_one(audio_input, output, MatrixLayer::Aud)\n end\n if video_input > 0\n switch_one(video_input, output, MatrixLayer::Vid)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"if config.role.ssh?\n @ready = true\n transport.tokenizer = Tokenizer.new(DELIMITER)\nend\nqueue.delay = 200.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"inputs = (setting?(UInt16, :input_count)) || 8_u16\noutputs = (setting?(UInt16, :output_count)) || 1_u16\nio = MatrixSize.new(inputs, outputs)\n@device_size = SwitcherInformation.new(video: io, audio: io)\n"}},{"html_id":"query_device_info-instance-method","name":"query_device_info","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L65"},"def":{"name":"query_device_info","visibility":"Public","body":"send(Command['I'], Response::SwitcherInformation) do |info|\n video_io = MatrixSize.new(info.video.inputs, info.video.outputs)\n audio_io = MatrixSize.new(info.audio.inputs, info.audio.outputs)\n @device_size = SwitcherInformation.new(video: video_io, audio: audio_io)\n self[:video_matrix] = \"#{info.video.inputs}x#{info.video.outputs}\"\n self[:audio_matrix] = \"#{info.audio.inputs}x#{info.audio.outputs}\"\n info\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","doc":"Response callback for async responses.","summary":"

Response callback for async responses.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/extron/matrix.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L240"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Ready #{@ready}, Received #{String.new(data)}\"\nend\nif !@ready\n payload = String.new(data)\n if payload =~ (/Copyright/i)\n if password = setting?(String, :password)\n send(\"#{password}\\r\", wait: false, priority: 99)\n end\n transport.tokenizer = Tokenizer.new(DELIMITER)\n @ready = true\n schedule.in(1.second) do\n query_device_info\n end\n end\n return\nend\ncase response = Response.parse(data, as: Response::Unsolicited)\nin Tie\n update_io(response)\nin Error, Response::ParseError\n logger.error do\n response\n end\nin Time\n query_device_info\nin String\n logger.info do\n response\n end\nin Nil\nend\nresponse\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","doc":"Implementing switchable interface","summary":"

Implementing switchable interface

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/extron/matrix.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L118"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"extron_layer = case layer\nin Nil, .all?\n MatrixLayer::All\nin .audio?\n MatrixLayer::Aud\nin .video?\n MatrixLayer::Vid\nin .data?, .data2?\n logger.debug do\n \"layer #{layer} not available on extron matrix\"\n end\n return\nend\nif (map.size == 1) && (map.first_value.size == 1)\n switch_one(map.first_key, map.first_value.first, extron_layer)\nelse\n switch_map(map, extron_layer)\nend\n"}},{"html_id":"switch_layer(input:Input,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_layer","doc":"Connect *input* to all outputs at the specified *layer*.","summary":"

Connect input to all outputs at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L154"},"def":{"name":"switch_layer","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio = {} of UInt16 => UInt16\nend\nif layer.all? || layer.aud?\n @muted_video = {} of UInt16 => UInt16\nend\nsend(Command[input, layer], Response::Switch, name: \"present-#{input}-#{layer}\", &->update_io(Switch))\n"}},{"html_id":"switch_map(map:SignalMap,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_map","doc":"Applies a `SignalMap` as a single operation. All included ties will take\nsimultaneously on the device.","summary":"

Applies a SignalMap as a single operation.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","args_html":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L162"},"def":{"name":"switch_map","args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if map.size == 1\n outp = map.first_value\n if outp.is_a?(Array)\n if outp.size == 1\n return switch_one(map.first_key, outp.first, layer)\n end\n else\n return switch_one(map.first_key, outp, layer)\n end\nend\nties = map.flat_map do |__arg2|\n input = __arg2[0]\n outputs = __arg2[1]\n if outputs.is_a?(Enumerable)\n outputs.each.map do |output|\n if layer.all? || layer.aud?\n @muted_audio.delete(output)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(output)\n end\n Tie.new(input, output, layer)\n end\n else\n if layer.all? || layer.aud?\n @muted_audio.delete(outputs)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(outputs)\n end\n Tie.new(input, outputs, layer)\n end\nend\nconflicts = ties - ties.uniq(&.output)\nif conflicts.empty?\nelse\n raise(ArgumentError.new(\"map contains conflicts for output(s) #{conflicts.join(\", \", &.output)}\"))\nend\nsend(Command[\"\\e+Q\", ties.map do |tie|\n [tie.input, '*', tie.output, tie.layer]\nend, '\\r'], Response::Qik) do\n ties.each(&->update_io(Tie))\nend\n"}},{"html_id":"switch_one(input:Input,output:Output,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_one","doc":"Connect a signal *input* to an *output* at the specified *layer*.\n\n`0` may be used as either an input or output to specify a disconnection at\nthe corresponding signal point. For example, to disconnect input 1 from all\noutputs is is currently feeding `switch(1, 0)`.","summary":"

Connect a signal input to an output at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L147"},"def":{"name":"switch_one","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio.delete(output)\nend\nif layer.all? || layer.vid?\n @muted_video.delete(output)\nend\nsend(Command[input, '*', output, layer], Response::Tie, name: \"switch-#{output}-#{layer}\", &->update_io(Tie))\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/extron/matrix.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L134"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}},{"html_id":"volume(level:Float64|Int32,group:Int32=1)-instance-method","name":"volume","doc":"Sets the audio volume *level* (0..100) on the specified mix *group*.","summary":"

Sets the audio volume level (0..100) on the specified mix group.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"args_string":"(level : Float64 | Int32, group : Int32 = 1)","args_html":"(level : Float64 | Int32, group : Int32 = 1)","location":{"filename":"src/extron/matrix.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L199"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\ndevice_level = (level * 10.0).round_away.to_i - 1000\nsend(Command[\"\\eD\", group, '*', device_level, \"GRPM\\r\"], Response::GroupVolume) do\n level\nend\n"}}],"types":[{"html_id":"drivers/Extron/Matrix/Outputs","path":"Extron/Matrix/Outputs.html","kind":"alias","full_name":"Extron::Matrix::Outputs","name":"Outputs","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(UInt16)","aliased_html":"Array(UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}},{"html_id":"drivers/Extron/Matrix/SignalMap","path":"Extron/Matrix/SignalMap.html","kind":"alias","full_name":"Extron::Matrix::SignalMap","name":"SignalMap","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/matrix.cr#L140"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(UInt16, Array(UInt16) | UInt16)","aliased_html":"Hash(UInt16, Array(UInt16) | UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}}]},{"html_id":"drivers/Extron/SIS","path":"Extron/SIS.html","kind":"module","full_name":"Extron::SIS","name":"SIS","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L9"},{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"SPECIAL_CHARS","name":"SPECIAL_CHARS","value":"\"+-,@=‘[]{}<>`“;:|?\".chars","doc":"Illegal characters for use in property names.","summary":"

Illegal characters for use in property names.

"},{"id":"SSH_PORT","name":"SSH_PORT","value":"22023"},{"id":"TELNET_PORT","name":"TELNET_PORT","value":"23"}],"including_types":[{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"doc":"Implementation, types and utilities for working with the Extron Simple\nInstruction Set (SIS) device control protocol.\n\nThis protocol is used for control of all Extron signal distribution,\nprocessing and general audio-visual products via SSH, telnet and serial\ncontrol.","summary":"

Implementation, types and utilities for working with the Extron Simple Instruction Set (SIS) device control protocol.

","types":[{"html_id":"drivers/Extron/SIS/Command","path":"Extron/SIS/Command.html","kind":"struct","full_name":"Extron::SIS::Command(*T)","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Structure for representing a SIS device command.\n\nCommands are composed from a set of *fields*. The contents and types of these\nare arbitrary, however they must be capable of serialising to an IO.","summary":"

Structure for representing a SIS device command.

","constructors":[{"html_id":"new(*fields:*T)-class-method","name":"new","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"args_string":"(*fields : *T)","args_html":"(*fields : *T)","location":{"filename":"src/extron/sis/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L6"},"def":{"name":"new","args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"splat_index":0,"visibility":"Public","body":"_ = Command(*T).allocate\n_.initialize(*fields)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_io(io:IO,format=IO::ByteFormat::SystemEndian)-instance-method","name":"to_io","doc":"Writes `self` to the passed *io*.","summary":"

Writes self to the passed io.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"args_string":"(io : IO, format = IO::ByteFormat::SystemEndian)","args_html":"(io : IO, format = IO::ByteFormat::SystemEndian)","location":{"filename":"src/extron/sis/command.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L18"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"visibility":"Public","body":"@fields.each.flatten.each do |field|\n if field.is_a?(Enum)\n io.write_byte(field.value)\n else\n io << field\n end\nend"}},{"html_id":"to_s(io:IO)-instance-method","name":"to_s","doc":"Serialises `self` in a format suitable for log messages.","summary":"

Serialises self in a format suitable for log messages.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"}],"args_string":"(io : IO)","args_html":"(io : IO)","location":{"filename":"src/extron/sis/command.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L11"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":"IO"}],"visibility":"Public","body":"io << '‹'\nto_io(io)\nio << '›'\n"}}],"macros":[{"html_id":"[](*fields)-macro","name":"[]","doc":"Syntactical suger for `Command` definition. Provides the ability to express\ncommand fields in the same way as `Byte` objects and other similar\ncollections from the Crystal std lib.","summary":"

Syntactical suger for Command definition.

","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":""}],"args_string":"(*fields)","args_html":"(*fields)","location":{"filename":"src/extron/sis/command.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/command.cr#L31"},"def":{"name":"[]","args":[{"name":"fields","external_name":"fields","restriction":""}],"splat_index":0,"visibility":"Public","body":" Extron::SIS::Command.new(\n{{ *fields }}\n)\n \n"}}]},{"html_id":"drivers/Extron/SIS/Error","path":"Extron/SIS/Error.html","kind":"enum","full_name":"Extron::SIS::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"InvalidInput","name":"InvalidInput","value":"1"},{"id":"InvalidCommand","name":"InvalidCommand","value":"10"},{"id":"InvalidPresent","name":"InvalidPresent","value":"11"},{"id":"InvalidOutput","name":"InvalidOutput","value":"12"},{"id":"InvalidParameter","name":"InvalidParameter","value":"13"},{"id":"InvalidForConfig","name":"InvalidForConfig","value":"14"},{"id":"Timeout","name":"Timeout","value":"17"},{"id":"Busy","name":"Busy","value":"22"},{"id":"PrivilegesViolation","name":"PrivilegesViolation","value":"24"},{"id":"DeviceNotPresent","name":"DeviceNotPresent","value":"25"},{"id":"MaxConnectionsExceeded","name":"MaxConnectionsExceeded","value":"26"},{"id":"InvalidEventNumber","name":"InvalidEventNumber","value":"27"},{"id":"FileNotFound","name":"FileNotFound","value":"28"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Device error numbers","summary":"

Device error numbers

","instance_methods":[{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L30"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"device_not_present?-instance-method","name":"device_not_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L32"},"def":{"name":"device_not_present?","visibility":"Public","body":"self == DeviceNotPresent"}},{"html_id":"file_not_found?-instance-method","name":"file_not_found?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L35"},"def":{"name":"file_not_found?","visibility":"Public","body":"self == FileNotFound"}},{"html_id":"invalid_command?-instance-method","name":"invalid_command?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L24"},"def":{"name":"invalid_command?","visibility":"Public","body":"self == InvalidCommand"}},{"html_id":"invalid_event_number?-instance-method","name":"invalid_event_number?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L34"},"def":{"name":"invalid_event_number?","visibility":"Public","body":"self == InvalidEventNumber"}},{"html_id":"invalid_for_config?-instance-method","name":"invalid_for_config?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L28"},"def":{"name":"invalid_for_config?","visibility":"Public","body":"self == InvalidForConfig"}},{"html_id":"invalid_input?-instance-method","name":"invalid_input?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L23"},"def":{"name":"invalid_input?","visibility":"Public","body":"self == InvalidInput"}},{"html_id":"invalid_output?-instance-method","name":"invalid_output?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L26"},"def":{"name":"invalid_output?","visibility":"Public","body":"self == InvalidOutput"}},{"html_id":"invalid_parameter?-instance-method","name":"invalid_parameter?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L27"},"def":{"name":"invalid_parameter?","visibility":"Public","body":"self == InvalidParameter"}},{"html_id":"invalid_present?-instance-method","name":"invalid_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L25"},"def":{"name":"invalid_present?","visibility":"Public","body":"self == InvalidPresent"}},{"html_id":"max_connections_exceeded?-instance-method","name":"max_connections_exceeded?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L33"},"def":{"name":"max_connections_exceeded?","visibility":"Public","body":"self == MaxConnectionsExceeded"}},{"html_id":"privileges_violation?-instance-method","name":"privileges_violation?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L31"},"def":{"name":"privileges_violation?","visibility":"Public","body":"self == PrivilegesViolation"}},{"html_id":"retryable?-instance-method","name":"retryable?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L37"},"def":{"name":"retryable?","visibility":"Public","body":"timeout? || busy?"}},{"html_id":"timeout?-instance-method","name":"timeout?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L29"},"def":{"name":"timeout?","visibility":"Public","body":"self == Timeout"}}]},{"html_id":"drivers/Extron/SIS/Input","path":"Extron/SIS/Input.html","kind":"alias","full_name":"Extron::SIS::Input","name":"Input","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/MatrixLayer","path":"Extron/SIS/MatrixLayer.html","kind":"enum","full_name":"Extron::SIS::MatrixLayer","name":"MatrixLayer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L47"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"33_u8"},{"id":"Aud","name":"Aud","value":"36_u8"},{"id":"Vid","name":"Vid","value":"37_u8"},{"id":"RGB","name":"RGB","value":"38_u8"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Layers for targetting signal distribution operations.","summary":"

Layers for targetting signal distribution operations.

","instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L48"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"aud?-instance-method","name":"aud?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L49"},"def":{"name":"aud?","visibility":"Public","body":"self == Aud"}},{"html_id":"includes_audio?-instance-method","name":"includes_audio?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L57"},"def":{"name":"includes_audio?","visibility":"Public","body":"All || Aud"}},{"html_id":"includes_video?-instance-method","name":"includes_video?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L53"},"def":{"name":"includes_video?","visibility":"Public","body":"(All || Vid) || RGB"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L51"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"vid?-instance-method","name":"vid?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L50"},"def":{"name":"vid?","visibility":"Public","body":"self == Vid"}}]},{"html_id":"drivers/Extron/SIS/MatrixSize","path":"Extron/SIS/MatrixSize.html","kind":"struct","full_name":"Extron::SIS::MatrixSize","name":"MatrixSize","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a switching layer.","summary":"

IO capacity for a switching layer.

","constructors":[{"html_id":"new(inputs:Input,outputs:Output)-class-method","name":"new","abstract":false,"args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"args_string":"(inputs : Input, outputs : Output)","args_html":"(inputs : Input, outputs : Output)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"new","args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"visibility":"Public","body":"_ = allocate\n_.initialize(inputs, outputs)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@inputs.clone, @outputs.clone)"}},{"html_id":"copy_with(inputs_inputs=@inputs,outputs_outputs=@outputs)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"args_string":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","args_html":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L69"},"def":{"name":"copy_with","args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"visibility":"Public","body":"self.class.new(_inputs, _outputs)"}},{"html_id":"inputs:Input-instance-method","name":"inputs","abstract":false,"def":{"name":"inputs","return_type":"Input","visibility":"Public","body":"@inputs"}},{"html_id":"outputs:Output-instance-method","name":"outputs","abstract":false,"def":{"name":"outputs","return_type":"Output","visibility":"Public","body":"@outputs"}}]},{"html_id":"drivers/Extron/SIS/Ok","path":"Extron/SIS/Ok.html","kind":"struct","full_name":"Extron::SIS::Ok","name":"Ok","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Symbolic type for representating a successfull interactions no useful data.","summary":"

Symbolic type for representating a successfull interactions no useful data.

","constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L19"},"def":{"name":"initialize","visibility":"Public","body":""}}]},{"html_id":"drivers/Extron/SIS/Output","path":"Extron/SIS/Output.html","kind":"alias","full_name":"Extron::SIS::Output","name":"Output","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/Response","path":"Extron/SIS/Response.html","kind":"module","full_name":"Extron::SIS::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"locations":[{"filename":"src/extron/sis/response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Clock","name":"Clock","value":"Raw.map do |date|\n Time.parse_utc(date, \"%a, %d %b %Y %T\")\nend","doc":"Part of the copyright banner, but appears on a new line so will tokenize as\nas standalone message.","summary":"

Part of the copyright banner, but appears on a new line so will tokenize as as standalone message.

"},{"id":"Copyright","name":"Copyright","value":"((Parse.string(\"(c) Copyright\")) + Raw).map(&.join)","doc":"Copyright message shown on connect.","summary":"

Copyright message shown on connect.

"},{"id":"DeviceError","name":"DeviceError","value":"(Parse.char('E')) >> Parse.integer.map do |e|\n SIS::Error.new(e.to_i)\nend","doc":"Error codes returned from the device.","summary":"

Error codes returned from the device.

"},{"id":"Empty","name":"Empty","value":"(Parse.string(\"\\r\\n\")) >> (Parse.const(nil))"},{"id":"GroupMute","name":"GroupMute","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), state <= BoolField, Parse.const({state, group})})","doc":"Group audio mute update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group audio mute update / response.

"},{"id":"GroupVolume","name":"GroupVolume","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), (_) <= (Parse.char('-')), level <= (num(Int32)).map do |val|\n val * -1\nend, Parse.const({level, group})})","doc":"Group volume update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group volume update / response.

"},{"id":"MatrixSize","name":"MatrixSize","value":"Parse.do({inputs <= (num(Input)), (_) <= (Parse.char('X')), outputs <= (num(Output)), Parse.const(SIS::MatrixSize.new(inputs, outputs))})"},{"id":"Qik","name":"Qik","value":"(Parse.string(\"Qik\")) >> (Parse.const(Ok.new))","doc":"Quick response, occurs following quick tie, or switching interaction from\nthe device's front panel.","summary":"

Quick response, occurs following quick tie, or switching interaction from the device's front panel.

"},{"id":"Raw","name":"Raw","value":"(((Parse.char ^ Delimiter) * (0..)) << (Delimiter * (0..1))).map(&.join)","doc":"Parse a full command response as a String. Delimiter is optional as it may\nhave already been dropped by an upstream tokenizer.","summary":"

Parse a full command response as a String.

"},{"id":"Switch","name":"Switch","value":"Parse.do({input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Switch.new(input, layer))})","doc":"Broadcast or single output route update.","summary":"

Broadcast or single output route update.

"},{"id":"SwitcherInformation","name":"SwitcherInformation","value":"Parse.do({(_) <= (Parse.char('V')), video <= MatrixSize, (_) <= (Parse.char(' ')), (_) <= (Parse.char('A')), audio <= MatrixSize, Parse.const(SIS::SwitcherInformation.new(video, audio))})"},{"id":"Tie","name":"Tie","value":"Parse.do({output <= ((Parse.string(\"Out\")) >> (num(Output))), (_) <= (Parse.char(' ')), input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Tie.new(input, output, layer))})","doc":"Matrix signal route update.","summary":"

Matrix signal route update.

"},{"id":"Unsolicited","name":"Unsolicited","value":"(((DeviceError | Tie) | Copyright) | Clock) | Empty","doc":"Async messages that can be expected outside of a command -> response flow.","summary":"

Async messages that can be expected outside of a command -> response flow.

"}],"included_modules":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Parsers for responses and asynchronous messages originating from Extron SIS\ndevices.","summary":"

Parsers for responses and asynchronous messages originating from Extron SIS devices.

","class_methods":[{"html_id":"parse(data:String,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : String, as parser : Parser(T)) forall T","args_html":"(data : String, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L11"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"((parser | DeviceError) | \"unhandled device response\").parse(data)"}},{"html_id":"parse(data:Bytes,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : Bytes, as parser : Parser(T)) forall T","args_html":"(data : Bytes, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis/response.cr#L16"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"parse(String.new(data), parser)"}}]},{"html_id":"drivers/Extron/SIS/Switch","path":"Extron/SIS/Switch.html","kind":"struct","full_name":"Extron::SIS::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a broadcast signal path, or single output switch.","summary":"

Struct for representing a broadcast signal path, or single output switch.

","constructors":[{"html_id":"new(input:Input,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer)","args_html":"(input : Input, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, layer _layer = @layer)","args_html":"(input _input = @input, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L66"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}}]},{"html_id":"drivers/Extron/SIS/SwitcherInformation","path":"Extron/SIS/SwitcherInformation.html","kind":"struct","full_name":"Extron::SIS::SwitcherInformation","name":"SwitcherInformation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a full device.","summary":"

IO capacity for a full device.

","constructors":[{"html_id":"new(video:MatrixSize,audio:MatrixSize)-class-method","name":"new","abstract":false,"args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"args_string":"(video : MatrixSize, audio : MatrixSize)","args_html":"(video : MatrixSize, audio : MatrixSize)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"new","args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"visibility":"Public","body":"_ = allocate\n_.initialize(video, audio)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"audio:MatrixSize-instance-method","name":"audio","abstract":false,"def":{"name":"audio","return_type":"MatrixSize","visibility":"Public","body":"@audio"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@video.clone, @audio.clone)"}},{"html_id":"copy_with(video_video=@video,audio_audio=@audio)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"args_string":"(video _video = @video, audio _audio = @audio)","args_html":"(video _video = @video, audio _audio = @audio)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L72"},"def":{"name":"copy_with","args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"visibility":"Public","body":"self.class.new(_video, _audio)"}},{"html_id":"video:MatrixSize-instance-method","name":"video","abstract":false,"def":{"name":"video","return_type":"MatrixSize","visibility":"Public","body":"@video"}}]},{"html_id":"drivers/Extron/SIS/Tie","path":"Extron/SIS/Tie.html","kind":"struct","full_name":"Extron::SIS::Tie","name":"Tie","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a matrix signal path.","summary":"

Struct for representing a matrix signal path.

","constructors":[{"html_id":"new(input:Input,output:Output,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer)","args_html":"(input : Input, output : Output, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/extron/sis.cr#L63"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}},{"html_id":"output:Output-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Output","visibility":"Public","body":"@output"}}]}]}]},{"html_id":"drivers/Floorsense","path":"Floorsense.html","kind":"module","full_name":"Floorsense","name":"Floorsense","abstract":false,"locations":[{"filename":"src/floorsense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Floorsense Data Models","summary":"

Floorsense Data Models

","types":[{"html_id":"drivers/Floorsense/AuthInfo","path":"Floorsense/AuthInfo.html","kind":"class","full_name":"Floorsense::AuthInfo","name":"AuthInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"sessionid:String-instance-method","name":"sessionid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L52"},"def":{"name":"sessionid","return_type":"String","visibility":"Public","body":"@sessionid"}},{"html_id":"sessionid=(sessionid:String)-instance-method","name":"sessionid=","abstract":false,"args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"args_string":"(sessionid : String)","args_html":"(sessionid : String)","location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L52"},"def":{"name":"sessionid=","args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"visibility":"Public","body":"@sessionid = sessionid"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L51"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L51"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/Floorsense/BookingsSync","path":"Floorsense/BookingsSync.html","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L196"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlogger.debug do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_email.nil?\n logger.warn do\n \"no user email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n next\n end\n user = (staff_api.user(user_email)).get\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n logger.debug do\n \"new floorsense booking found #{booking}\"\n end\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: to_place_asset_id(booking.key), user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, floor_details[:level_id]].compact, checked_in: true, extension_data: {floorsense_id: event.bkid}).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L592"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(placeos_user_id:String):String-instance-method","name":"get_floorsense_user","doc":"===================================\nSync Users\n===================================","summary":"

=================================== Sync Users ===================================

","abstract":false,"args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"args_string":"(placeos_user_id : String) : String","args_html":"(placeos_user_id : String) : String","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":543,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L543"},"def":{"name":"get_floorsense_user","args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"users = floorsense.user_list(description: placeos_user_id).get.as_a\nuser_id = users.first?.try() do |__arg5|\n __arg5[\"uid\"].as_s\nend\ncard_number = nil\nbegin\n place_user = (staff_api.user(placeos_user_id)).get\n name = place_user[\"name\"].as_s\n email = place_user[\"email\"].as_s\n card_number = place_user[\"card_number\"]?.try(&.as_s)\n user_id || (user_id = (floorsense.create_user(name, email, placeos_user_id)).get[\"uid\"].as_s)\nrescue error\n if user_id\n return user_id\n else\n raise(error)\n end\nend\nif (user_id && card_number) && (!card_number.empty?)\n ensure_card_synced(card_number, user_id)\nend\nuser_id.not_nil!\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L51"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L59"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":609,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L609"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L340"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L344"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}},{"html_id":"to_floor_key(asset_id:String)-instance-method","name":"to_floor_key","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L98"},"def":{"name":"to_floor_key","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"if @key_prefix.presence\n asset_id = asset_id.lstrip(@key_prefix)\nend\nif @strip_leading_zero\n asset_id = asset_id.rjust(@zero_padding_size, '0')\nend\nasset_id\n"}},{"html_id":"to_place_asset_id(key:String)-instance-method","name":"to_place_asset_id","doc":"===================================\nDesk ID manipulation\n===================================","summary":"

=================================== Desk ID manipulation ===================================

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L93"},"def":{"name":"to_place_asset_id","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"if @strip_leading_zero\n key = key.lstrip('0')\nend\n\"#{@key_prefix}#{key}\"\n"}}],"types":[{"html_id":"drivers/Floorsense/BookingsSync/Booking","path":"Floorsense/BookingsSync/Booking.html","kind":"class","full_name":"Floorsense::BookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":623,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L623"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/BookingsSync","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":624,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L624"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":639,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L639"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":636,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L636"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L654"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Floorsense/BookingStatus","path":"Floorsense/BookingStatus.html","kind":"class","full_name":"Floorsense::BookingStatus","name":"BookingStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L248"},"def":{"name":"active","return_type":"Bool","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool"}],"args_string":"(active : Bool)","args_html":"(active : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L248"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool"}],"visibility":"Public","body":"@active = active"}},{"html_id":"booking_id:String-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L230"},"def":{"name":"booking_id","return_type":"String","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:String)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L230"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L227"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L227"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L241"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L241"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confexpiry:Int64|Nil-instance-method","name":"confexpiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@confexpiry"}},{"html_id":"confexpiry=(confexpiry:Int64|Nil)-instance-method","name":"confexpiry=","abstract":false,"args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"args_string":"(confexpiry : Int64 | Nil)","args_html":"(confexpiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry=","args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@confexpiry = confexpiry"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L249"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L249"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"confmethod:Int32|Nil-instance-method","name":"confmethod","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L238"},"def":{"name":"confmethod","return_type":"Int32 | ::Nil","visibility":"Public","body":"@confmethod"}},{"html_id":"confmethod=(confmethod:Int32|Nil)-instance-method","name":"confmethod=","abstract":false,"args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"args_string":"(confmethod : Int32 | Nil)","args_html":"(confmethod : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L238"},"def":{"name":"confmethod=","args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@confmethod = confmethod"}},{"html_id":"conftime:Int64|Nil-instance-method","name":"conftime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L237"},"def":{"name":"conftime","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conftime"}},{"html_id":"conftime=(conftime:Int64|Nil)-instance-method","name":"conftime=","abstract":false,"args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"args_string":"(conftime : Int64 | Nil)","args_html":"(conftime : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L237"},"def":{"name":"conftime=","args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conftime = conftime"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L233"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L233"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L232"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L232"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L235"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L235"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L243"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L243"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L223"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L223"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"if (value = @place_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::BookingStatus#place_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L256"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"place_id?:String|Nil-instance-method","name":"place_id?","abstract":false,"def":{"name":"place_id?","return_type":"String | ::Nil","visibility":"Public","body":"@place_id"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L242"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L242"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L250"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L250"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L247"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L247"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L246"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L246"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L234"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L234"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L224"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L224"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L253"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L253"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/Floorsense/ControllerInfo","path":"Floorsense/ControllerInfo.html","kind":"class","full_name":"Floorsense::ControllerInfo","name":"ControllerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L307"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L308"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L311"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L311"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"desks:Bool-instance-method","name":"desks","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L315"},"def":{"name":"desks","return_type":"Bool","visibility":"Public","body":"@desks"}},{"html_id":"desks=(desks:Bool)-instance-method","name":"desks=","abstract":false,"args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"args_string":"(desks : Bool)","args_html":"(desks : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L315"},"def":{"name":"desks=","args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"visibility":"Public","body":"@desks = desks"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L317"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L317"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location1:String-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L319"},"def":{"name":"location1","return_type":"String","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String"}],"args_string":"(location1 : String)","args_html":"(location1 : String)","location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L319"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L320"},"def":{"name":"location2","return_type":"String","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String"}],"args_string":"(location2 : String)","args_html":"(location2 : String)","location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L320"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L321"},"def":{"name":"location3","return_type":"String","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String"}],"args_string":"(location3 : String)","args_html":"(location3 : String)","location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L321"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"location4:String-instance-method","name":"location4","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L322"},"def":{"name":"location4","return_type":"String","visibility":"Public","body":"@location4"}},{"html_id":"location4=(location4:String)-instance-method","name":"location4=","abstract":false,"args":[{"name":"location4","external_name":"location4","restriction":"String"}],"args_string":"(location4 : String)","args_html":"(location4 : String)","location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L322"},"def":{"name":"location4=","args":[{"name":"location4","external_name":"location4","restriction":"String"}],"visibility":"Public","body":"@location4 = location4"}},{"html_id":"lockers:Bool-instance-method","name":"lockers","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L314"},"def":{"name":"lockers","return_type":"Bool","visibility":"Public","body":"@lockers"}},{"html_id":"lockers=(lockers:Bool)-instance-method","name":"lockers=","abstract":false,"args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"args_string":"(lockers : Bool)","args_html":"(lockers : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L314"},"def":{"name":"lockers=","args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"visibility":"Public","body":"@lockers = lockers"}},{"html_id":"mode:String-instance-method","name":"mode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L324"},"def":{"name":"mode","return_type":"String","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:String)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L324"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L318"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L318"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"online:Bool-instance-method","name":"online","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L313"},"def":{"name":"online","return_type":"Bool","visibility":"Public","body":"@online"}},{"html_id":"online=(online:Bool)-instance-method","name":"online=","abstract":false,"args":[{"name":"online","external_name":"online","restriction":"Bool"}],"args_string":"(online : Bool)","args_html":"(online : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L313"},"def":{"name":"online=","args":[{"name":"online","external_name":"online","restriction":"Bool"}],"visibility":"Public","body":"@online = online"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync","path":"Floorsense/CustomBookingsSync.html","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L239"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlog do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_id = booking.user.not_nil!.desc\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_id.presence.nil? && user_email.presence.nil?\n logger.warn do\n \"no user id or email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n return\n end\n user = begin\n (staff_api.user(user_id.presence || user_email)).get\n rescue error\n logger.warn(exception: error) do\n \"floorsense user #{user_id.presence || user_email} (#{booking.user.not_nil!.name}) not found in placeos\"\n end\n return\n end\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n user_email = user[\"email\"]\n log do\n \"new floorsense booking found #{booking}\"\n end\n booking_key = booking.key\n level_id = floor_details[:level_id]\n if metadata = @desk_mapping_cache[level_id][booking_key]?\n title = metadata.title\n ext_data = metadata.ext_data\n asset_id = metadata.place_id\n else\n title = asset_id = booking_key\n ext_data = {} of String => JSON::Any\n end\n ext_data[\"floorsense_booking_id\"] = JSON::Any.new(booking.booking_id)\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: asset_id, user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, level_id].compact, checked_in: true, approved: true, title: title, extension_data: ext_data).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released, checked_in: false).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":674,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L674"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"if foor_id = (locations.eui64_to_desk_id(id.downcase)).get.raw\n floor_desk_id = foor_id.as(String)\n place_id = floor_desk_id\n level_id = nil\n building = nil\n @desk_mapping_cache.each do |level, lookup|\n if meta = lookup[floor_desk_id]?\n level_id = level\n place_id = meta.place_id || floor_desk_id\n building = meta.building\n break\n end\n end\n if level_id\n {level: level_id, desk_id: place_id, building_id: building}\n end\nend"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":697,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L697"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"log do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n current.concat(bookings)\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(place_user_id:String):String-instance-method","name":"get_floorsense_user","abstract":false,"args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"args_string":"(place_user_id : String) : String","args_html":"(place_user_id : String) : String","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L645"},"def":{"name":"get_floorsense_user","args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"place_user = (staff_api.user(place_user_id)).get\nplaceos_staff_id = place_user[@user_lookup].as_s\nfloorsense_users = floorsense.user_list(description: placeos_staff_id).get.as_a\nuser_id = floorsense_users.first?.try() do |__arg8|\n __arg8[\"uid\"].as_s\nend\nif @create_floorsense_users\n user_id || (user_id = (floorsense.create_user(place_user[\"name\"].as_s, place_user[\"email\"].as_s, placeos_staff_id)).get[\"uid\"].as_s)\nend\nif user_id\nelse\n raise(\"Floorsense user not found for #{placeos_staff_id}\")\nend\ncard_number = place_user[\"card_number\"]?.try(&.as_s)\nif (user_id && card_number) && (!card_number.empty?)\n spawn(same_thread: true) do\n ensure_card_synced(card_number, user_id)\n end\nend\nuser_id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L70"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n log do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L78"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@user_lookup = (setting?(String, :user_lookup)).presence || \"staff_id\"\n@debug_logging = (setting?(Bool, :debug_logging)) || false\n@floorsense_lookup_key = (setting?(String, :floorsense_lookup_key)).presence || \"floorsensedeskid\"\n@create_floorsense_users = (setting?(Bool, :create_floorsense_users)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\ntime_zone = (setting?(String, :time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":714,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L714"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,building_id:String|Nil)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, building_id : String | Nil)","args_html":"(zone_id : String, building_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L728"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"desk_lookup = {} of String => DeskMeta\nbegin\n metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\n lookup_key = @floorsense_lookup_key\n metadata.each do |desk|\n desk = desk.as_h\n place_id = desk[\"id\"]?.try() do |__arg10|\n __arg10.as_s.presence\n end\n if place_id\n else\n next\n end\n floor_id = desk[lookup_key]?.try() do |__arg11|\n __arg11.as_s.presence\n end\n if floor_id\n else\n next\n end\n ext_data = {\"floorsense_id\" => JSON::Any.new(floor_id)}\n title = desk[\"name\"]?.try(&.as_s) || place_id\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk[meta_key]?\n ext_data[ext_key] = value\n end\n end\n ids = DeskMeta.new(place_id, floor_id, building_id, title, ext_data)\n desk_lookup[place_id] = ids\n desk_lookup[floor_id] = ids\n end\n desk_lookup\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain desk metadata for #{zone_id}\"\n end\n desk_lookup\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L406"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L410"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}}],"types":[{"html_id":"drivers/Floorsense/CustomBookingsSync/Booking","path":"Floorsense/CustomBookingsSync/Booking.html","kind":"class","full_name":"Floorsense::CustomBookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":781,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L781"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":782,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L782"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":797,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L797"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":794,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L794"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"if (value = @floor_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::CustomBookingsSync::Booking#floor_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":813,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L813"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_id?:String|Nil-instance-method","name":"floor_id?","abstract":false,"def":{"name":"floor_id?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L815"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync/DeskMeta","path":"Floorsense/CustomBookingsSync/DeskMeta.html","kind":"struct","full_name":"Floorsense::CustomBookingsSync::DeskMeta","name":"DeskMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":768,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L768"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(place_id:String,floor_id:String,building:Nil|String,title:String,ext_data:Hash(String,JSON::Any))-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","args_html":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":771,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L771"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, floor_id, building, title, ext_data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":769,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L769"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"@building"}},{"html_id":"building=(building:String|Nil)-instance-method","name":"building=","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"args_string":"(building : String | Nil)","args_html":"(building : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building=","args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building = building"}},{"html_id":"ext_data:Hash(String,JSON::Any)-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":777,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L777"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@ext_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/custom_bookings_sync.cr#L778"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]}]},{"html_id":"drivers/Floorsense/DeskInfo","path":"Floorsense/DeskInfo.html","kind":"class","full_name":"Floorsense::DeskInfo","name":"DeskInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::DeskInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L166"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"desk_type:String|Nil-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L162"},"def":{"name":"desk_type","return_type":"String | ::Nil","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String|Nil)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"args_string":"(desk_type : String | Nil)","args_html":"(desk_type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L162"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L157"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L157"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L158"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L158"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L159"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L159"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L163"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L163"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}}]},{"html_id":"drivers/Floorsense/Desks","path":"Floorsense/Desks.html","kind":"class","full_name":"Floorsense::Desks","name":"Desks","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":487,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L487"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L152"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":764,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L764"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":454,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L454"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":772,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L772"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":475,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L475"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"controller_list-instance-method","name":"controller_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L127"},"def":{"name":"controller_list","visibility":"Public","body":"response = get(\"/restapi/slave-list\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks.cr","line_number":527,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L527"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg0|\n __arg0.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":686,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L686"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L660"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L98"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":704,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L704"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks.cr","line_number":622,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L622"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":594,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L594"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L508"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L449"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks.cr","line_number":745,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L745"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L49"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L444"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":468,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L468"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L716"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L58"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{@username}&password=#{@password}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":721,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L721"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L776"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L162"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L257"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L176"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L244"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L207"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L233"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L297"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L291"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L271"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L316"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L157"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@username = URI.encode_www_form(setting(String, :username))\n@password = URI.encode_www_form(setting(String, :password))\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\n"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L566"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L137"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L105"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\nend\n@lockers = lockers\n@desks = desks\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L53"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L576"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L654"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks.cr","line_number":731,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L731"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":436,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L436"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L421"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L386"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L337"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L332"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L93"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n check_response Resp(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!) \n{{ modify }}\n\n \n"}}],"types":[{"html_id":"drivers/Floorsense/Desks/DeskHeight","path":"Floorsense/Desks/DeskHeight.html","kind":"enum","full_name":"Floorsense::Desks::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":611,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L611"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":612,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L612"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":613,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L613"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/Desks/DeskPower","path":"Floorsense/Desks/DeskPower.html","kind":"enum","full_name":"Floorsense::Desks::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L605"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L607"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L606"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L608"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/Desks/LedColour","path":"Floorsense/Desks/LedColour.html","kind":"enum","full_name":"Floorsense::Desks::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":599,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L599"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L602"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L601"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L600"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/Desks/LedState","path":"Floorsense/Desks/LedState.html","kind":"enum","full_name":"Floorsense::Desks::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L168"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L173"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L172"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L169"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L170"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L171"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/Desks/QiMode","path":"Floorsense/Desks/QiMode.html","kind":"enum","full_name":"Floorsense::Desks::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":616,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L616"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":619,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L619"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L618"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":617,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks.cr#L617"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/DeskStatus","path":"Floorsense/DeskStatus.html","kind":"class","full_name":"Floorsense::DeskStatus","name":"DeskStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L146"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L146"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"cached:Bool-instance-method","name":"cached","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L124"},"def":{"name":"cached","return_type":"Bool","visibility":"Public","body":"@cached"}},{"html_id":"cached=(cached:Bool)-instance-method","name":"cached=","abstract":false,"args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"args_string":"(cached : Bool)","args_html":"(cached : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L124"},"def":{"name":"cached=","args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"visibility":"Public","body":"@cached = cached"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L123"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L123"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L149"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L149"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L134"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Time)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Time"}],"args_string":"(created : Time)","args_html":"(created : Time)","location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L134"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Time"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desk_type:String-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L141"},"def":{"name":"desk_type","return_type":"String","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"args_string":"(desk_type : String)","args_html":"(desk_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L141"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"deskid:Int32-instance-method","name":"deskid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L128"},"def":{"name":"deskid","return_type":"Int32","visibility":"Public","body":"@deskid"}},{"html_id":"deskid=(deskid:Int32)-instance-method","name":"deskid=","abstract":false,"args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"args_string":"(deskid : Int32)","args_html":"(deskid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L128"},"def":{"name":"deskid=","args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"visibility":"Public","body":"@deskid = deskid"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L138"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L138"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"features:Int32-instance-method","name":"features","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L143"},"def":{"name":"features","return_type":"Int32","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Int32)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Int32"}],"args_string":"(features : Int32)","args_html":"(features : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L143"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Int32"}],"visibility":"Public","body":"@features = features"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L142"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L142"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"freq:String-instance-method","name":"freq","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L144"},"def":{"name":"freq","return_type":"String","visibility":"Public","body":"@freq"}},{"html_id":"freq=(freq:String)-instance-method","name":"freq=","abstract":false,"args":[{"name":"freq","external_name":"freq","restriction":"String"}],"args_string":"(freq : String)","args_html":"(freq : String)","location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L144"},"def":{"name":"freq=","args":[{"name":"freq","external_name":"freq","restriction":"String"}],"visibility":"Public","body":"@freq = freq"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L145"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L145"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:String-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L131"},"def":{"name":"hardware","return_type":"String","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:String)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"args_string":"(hardware : String)","args_html":"(hardware : String)","location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L131"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"hwfeat:Int32-instance-method","name":"hwfeat","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat","return_type":"Int32","visibility":"Public","body":"@hwfeat"}},{"html_id":"hwfeat=(hwfeat:Int32)-instance-method","name":"hwfeat=","abstract":false,"args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"args_string":"(hwfeat : Int32)","args_html":"(hwfeat : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat=","args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"visibility":"Public","body":"@hwfeat = hwfeat"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L135"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L135"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"netid:Int32-instance-method","name":"netid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L126"},"def":{"name":"netid","return_type":"Int32","visibility":"Public","body":"@netid"}},{"html_id":"netid=(netid:Int32)-instance-method","name":"netid=","abstract":false,"args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"args_string":"(netid : Int32)","args_html":"(netid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L126"},"def":{"name":"netid=","args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"visibility":"Public","body":"@netid = netid"}},{"html_id":"occupied:Bool-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L136"},"def":{"name":"occupied","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L136"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime","return_type":"Int32","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"args_string":"(occupiedtime : Int32)","args_html":"(occupiedtime : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L147"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L147"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L150"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L150"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reservable:Bool-instance-method","name":"reservable","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L125"},"def":{"name":"reservable","return_type":"Bool","visibility":"Public","body":"@reservable"}},{"html_id":"reservable=(reservable:Bool)-instance-method","name":"reservable=","abstract":false,"args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"args_string":"(reservable : Bool)","args_html":"(reservable : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L125"},"def":{"name":"reservable=","args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"visibility":"Public","body":"@reservable = reservable"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L148"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L148"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L127"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L127"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L137"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L137"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket","path":"Floorsense/DesksWebsocket.html","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L587"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L242"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":864,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L864"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":554,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L554"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"check_subscriptions-instance-method","name":"check_subscriptions","doc":"used to poll the websocket to check for liveliness","summary":"

used to poll the websocket to check for liveliness

","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L78"},"def":{"name":"check_subscriptions","visibility":"Public","body":"ws_get(\"/restapi/subscribe\")"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L872"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L575"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"ws_post(\"/auth\", {user: \"kiosk\"}.to_json, priority: 99, name: \"auth\")"}},{"html_id":"controller_list(locker:Bool|Nil=nil,desks:Bool|Nil=nil)-instance-method","name":"controller_list","abstract":false,"args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"args_string":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","args_html":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L212"},"def":{"name":"controller_list","args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if locker\n form.add(\"locks\", \"true\")\n end\n if desks\n form.add(\"desks\", \"true\")\n end\nend\nresponse = get(\"/restapi/slave-list?#{query}\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L627"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg5|\n __arg5.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":786,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L786"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":760,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L760"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L174"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":804,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L804"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":722,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L722"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L694"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L608"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":549,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L549"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":845,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L845"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L116"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":544,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L544"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L568"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_locker_reservation(reservation_id:String)-instance-method","name":"get_locker_reservation","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L297"},"def":{"name":"get_locker_reservation","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if reservation_id\n form.add(\"resid\", reservation_id)\n end\nend\nresponse = get(\"/restapi/res?#{query}\", headers: default_headers)\nparse(response, LockerBooking)\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":816,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L816"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L125"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{URI.encode_www_form(@username)}&password=#{URI.encode_www_form(@password)}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":821,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L821"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":876,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L876"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L252"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L357"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L266"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L344"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L306"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil,controller_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L332"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\n if controller_id\n form.add(\"cid\", controller_id)\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L397"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":391,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L391"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L371"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":416,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L416"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L247"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@ws_username = (setting?(String, :ws_username)) || @username\n@ws_password = (setting?(String, :ws_password)) || @password\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\nschedule.every(1.minute) do\n check_subscriptions\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L82"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n string = (String.new(data)).rstrip\n logger.debug do\n \"websocket sent: #{string}\"\n end\n payload = Payload.from_json(string)\n case payload\n in Response\n if !payload.result\n logger.warn do\n \"task #{task.try(&.name)} failed..\"\n end\n return task.try(&.abort)\n end\n case task.try(&.name)\n when \"auth\"\n logger.debug do\n \"authentication success!\"\n end\n ws_post(\"/sub\", {mask: 255}.to_json, name: \"sub\")\n when \"sub\"\n logger.debug do\n \"subscribed to events\"\n end\n else\n logger.warn do\n \"unknown task: #{(task.try(&.name)).inspect}\"\n end\n end\n task.try(&.success)\n in Event\n self[\"event_#{payload.code}\"] = payload.info || payload.message\n in Payload\n logger.error do\n \"base class, this case will never occur\"\n end\n end\nrescue error\n logger.error(exception: error) do\n \"failed to parse: #{string.inspect}\"\n end\nend"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L666"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L227"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L181"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n begin\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining locker list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\n begin\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\nend\n@desks = desks\n@lockers = lockers\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L120"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L676"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":754,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L754"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":831,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L831"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":536,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L536"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":521,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L521"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L486"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":437,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L437"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":432,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L432"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"ws_get(uri:String,**options)-instance-method","name":"ws_get","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String, **options)","args_html":"(uri : String, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L71"},"def":{"name":"ws_get","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"GET #{uri}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}},{"html_id":"ws_post(uri:String,body:String|Nil=nil,**options)-instance-method","name":"ws_post","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(uri : String, body : String | Nil = nil, **options)","args_html":"(uri : String, body : String | Nil = nil, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L64"},"def":{"name":"ws_post","args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"POST #{uri}\\r\\n#{body.presence ? body : \"{}\"}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L163"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n \n%resp_body\n = \n{{ response }}\n.body\n begin\n check_response Resp(\n{{ klass }}\n).from_json(\n%resp_body\n.not_nil!) \n{{ modify }}\n\n rescue \nerror\n logger.debug \n{ \"failed to parse response: #{\n%resp_body\n}\" }\n raise \nerror\n \nend\n \n"}}],"types":[{"html_id":"drivers/Floorsense/DesksWebsocket/DeskHeight","path":"Floorsense/DesksWebsocket/DeskHeight.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L711"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":712,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L712"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":713,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L713"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/DeskPower","path":"Floorsense/DesksWebsocket/DeskPower.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":705,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L705"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":707,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L707"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":706,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L706"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":708,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L708"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedColour","path":"Floorsense/DesksWebsocket/LedColour.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":699,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L699"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":702,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L702"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":701,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L701"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":700,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L700"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedState","path":"Floorsense/DesksWebsocket/LedState.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L258"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L263"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L262"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L259"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L260"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L261"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/QiMode","path":"Floorsense/DesksWebsocket/QiMode.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L716"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":719,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L719"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":718,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L718"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/desks_websocket.cr#L717"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/Event","path":"Floorsense/Event.html","kind":"class","full_name":"Floorsense::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L17"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"info:JSON::Any|Nil-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L19"},"def":{"name":"info","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L16"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/Floor","path":"Floorsense/Floor.html","kind":"class","full_name":"Floorsense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L205"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L206"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"imgheight:Int32|Nil-instance-method","name":"imgheight","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L213"},"def":{"name":"imgheight","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgheight"}},{"html_id":"imgheight=(imgheight:Int32|Nil)-instance-method","name":"imgheight=","abstract":false,"args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"args_string":"(imgheight : Int32 | Nil)","args_html":"(imgheight : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L213"},"def":{"name":"imgheight=","args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgheight = imgheight"}},{"html_id":"imgname:String|Nil-instance-method","name":"imgname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L211"},"def":{"name":"imgname","return_type":"String | ::Nil","visibility":"Public","body":"@imgname"}},{"html_id":"imgname=(imgname:String|Nil)-instance-method","name":"imgname=","abstract":false,"args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"args_string":"(imgname : String | Nil)","args_html":"(imgname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L211"},"def":{"name":"imgname=","args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@imgname = imgname"}},{"html_id":"imgwidth:Int32|Nil-instance-method","name":"imgwidth","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgwidth"}},{"html_id":"imgwidth=(imgwidth:Int32|Nil)-instance-method","name":"imgwidth=","abstract":false,"args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"args_string":"(imgwidth : Int32 | Nil)","args_html":"(imgwidth : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth=","args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgwidth = imgwidth"}},{"html_id":"location1:String|Nil-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L215"},"def":{"name":"location1","return_type":"String | ::Nil","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String|Nil)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"args_string":"(location1 : String | Nil)","args_html":"(location1 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L215"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String|Nil-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L216"},"def":{"name":"location2","return_type":"String | ::Nil","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String|Nil)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"args_string":"(location2 : String | Nil)","args_html":"(location2 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L216"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String|Nil-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L217"},"def":{"name":"location3","return_type":"String | ::Nil","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String|Nil)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"args_string":"(location3 : String | Nil)","args_html":"(location3 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L217"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L209"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L209"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L208"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L208"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}}]},{"html_id":"drivers/Floorsense/LocationService","path":"Floorsense/LocationService.html","kind":"class","full_name":"Floorsense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/floorsense/location_service.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L70"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"begin\n floor_mac = URI::Params.parse(mac_address)\n user = (floorsense.at_location(floor_mac[\"cid\"], floor_mac[\"key\"])).get\n {location: \"desk\", assigned_to: user[\"name\"].as_s, mac_address: mac_address}\nrescue\n nil\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of Nil\nend\nbuilding = @building_mappings[zone_id]?\nraw_desks = (floorsense.desks(plan_id)).get.to_json\ndesks = (Array(DeskStatus).from_json(raw_desks)).compact_map do |desk|\n @eui64_to_desk_id[desk.eui64] = desk.key\n if desk.occupied\n {location: :desk, at_location: 1, map_id: desk.key, level: zone_id, building: building, capacity: 1, mac: \"cid=#{desk.cid}&key=#{desk.key}\", floorsense_status: desk.status, floorsense_desk_type: desk.desk_type}\n end\nend\ncurrent = [] of BookingStatus\nif @include_bookings\n raw_bookings = (floorsense.bookings(plan_id)).get.to_json\n (Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\n end\nend\ncurrent.map do |booking|\n {location: :booking, type: \"desk\", checked_in: booking.active, asset_id: booking.key, booking_id: booking.booking_id, building: building, level: zone_id, ends_at: booking.finish, mac: \"cid=#{booking.cid}&key=#{booking.key}\", staff_email: booking.user.try do |__arg0|\n __arg0.email.try(&.downcase)\n end, staff_name: booking.user.try(&.name)}\nend + desks\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L53"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@eui64_to_desk_id[id]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L60"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/floorsense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L65"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L39"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/location_service.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@include_bookings = (setting?(Bool, :include_bookings)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n"}}]},{"html_id":"drivers/Floorsense/LockerBooking","path":"Floorsense/LockerBooking.html","kind":"class","full_name":"Floorsense::LockerBooking","name":"LockerBooking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Int32-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L109"},"def":{"name":"active","return_type":"Int32","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Int32)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Int32"}],"args_string":"(active : Int32)","args_html":"(active : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L109"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Int32"}],"visibility":"Public","body":"@active = active"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L96"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L96"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L91"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L91"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L93"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L93"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L104"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L104"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"lastopened:Int64-instance-method","name":"lastopened","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L107"},"def":{"name":"lastopened","return_type":"Int64","visibility":"Public","body":"@lastopened"}},{"html_id":"lastopened=(lastopened:Int64)-instance-method","name":"lastopened=","abstract":false,"args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"args_string":"(lastopened : Int64)","args_html":"(lastopened : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L107"},"def":{"name":"lastopened=","args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"visibility":"Public","body":"@lastopened = lastopened"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L105"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L105"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L110"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L110"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L108"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L108"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L112"},"def":{"name":"released?","visibility":"Public","body":"self.active == 1"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L106"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L106"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L92"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L92"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L117"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L117"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L102"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L102"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Floorsense/LockerInfo","path":"Floorsense/LockerInfo.html","kind":"class","full_name":"Floorsense::LockerInfo","name":"LockerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bus_id:Int32-instance-method","name":"bus_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L61"},"def":{"name":"bus_id","return_type":"Int32","visibility":"Public","body":"@bus_id"}},{"html_id":"bus_id=(bus_id:Int32)-instance-method","name":"bus_id=","abstract":false,"args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"args_string":"(bus_id : Int32)","args_html":"(bus_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L61"},"def":{"name":"bus_id=","args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"visibility":"Public","body":"@bus_id = bus_id"}},{"html_id":"canid:Int32-instance-method","name":"canid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L58"},"def":{"name":"canid","return_type":"Int32","visibility":"Public","body":"@canid"}},{"html_id":"canid=(canid:Int32)-instance-method","name":"canid=","abstract":false,"args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"args_string":"(canid : Int32)","args_html":"(canid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L58"},"def":{"name":"canid=","args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"visibility":"Public","body":"@canid = canid"}},{"html_id":"closed:Bool|Nil-instance-method","name":"closed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L72"},"def":{"name":"closed","return_type":"Bool | ::Nil","visibility":"Public","body":"@closed"}},{"html_id":"closed=(closed:Bool|Nil)-instance-method","name":"closed=","abstract":false,"args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"args_string":"(closed : Bool | Nil)","args_html":"(closed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L72"},"def":{"name":"closed=","args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@closed = closed"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L70"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L70"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::LockerInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L85"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"disabled:Bool-instance-method","name":"disabled","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L69"},"def":{"name":"disabled","return_type":"Bool","visibility":"Public","body":"@disabled"}},{"html_id":"disabled=(disabled:Bool)-instance-method","name":"disabled=","abstract":false,"args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"args_string":"(disabled : Bool)","args_html":"(disabled : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L69"},"def":{"name":"disabled=","args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"visibility":"Public","body":"@disabled = disabled"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L68"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L68"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L77"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L77"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:Int32|Nil-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L78"},"def":{"name":"hardware","return_type":"Int32 | ::Nil","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:Int32|Nil)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"args_string":"(hardware : Int32 | Nil)","args_html":"(hardware : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L78"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L80"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L80"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"locker_id:Int32-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L64"},"def":{"name":"locker_id","return_type":"Int32","visibility":"Public","body":"@locker_id"}},{"html_id":"locker_id=(locker_id:Int32)-instance-method","name":"locker_id=","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"args_string":"(locker_id : Int32)","args_html":"(locker_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L64"},"def":{"name":"locker_id=","args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"visibility":"Public","body":"@locker_id = locker_id"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L66"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L66"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"resid:String|Nil-instance-method","name":"resid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L82"},"def":{"name":"resid","return_type":"String | ::Nil","visibility":"Public","body":"@resid"}},{"html_id":"resid=(resid:String|Nil)-instance-method","name":"resid=","abstract":false,"args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"args_string":"(resid : String | Nil)","args_html":"(resid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L82"},"def":{"name":"resid=","args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resid = resid"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L67"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L79"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L79"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L75"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L75"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}},{"html_id":"uid:String|Nil-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L76"},"def":{"name":"uid","return_type":"String | ::Nil","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String|Nil)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(uid : String | Nil)","args_html":"(uid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L76"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"usbcharger:Bool|Nil-instance-method","name":"usbcharger","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharger"}},{"html_id":"usbcharger=(usbcharger:Bool|Nil)-instance-method","name":"usbcharger=","abstract":false,"args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"args_string":"(usbcharger : Bool | Nil)","args_html":"(usbcharger : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger=","args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharger = usbcharger"}},{"html_id":"usbcharging:Bool|Nil-instance-method","name":"usbcharging","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharging"}},{"html_id":"usbcharging=(usbcharging:Bool|Nil)-instance-method","name":"usbcharging=","abstract":false,"args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"args_string":"(usbcharging : Bool | Nil)","args_html":"(usbcharging : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging=","args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharging = usbcharging"}},{"html_id":"usbcurrent:Int32|Nil-instance-method","name":"usbcurrent","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent","return_type":"Int32 | ::Nil","visibility":"Public","body":"@usbcurrent"}},{"html_id":"usbcurrent=(usbcurrent:Int32|Nil)-instance-method","name":"usbcurrent=","abstract":false,"args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"args_string":"(usbcurrent : Int32 | Nil)","args_html":"(usbcurrent : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent=","args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@usbcurrent = usbcurrent"}}]},{"html_id":"drivers/Floorsense/LogEntry","path":"Floorsense/LogEntry.html","kind":"class","full_name":"Floorsense::LogEntry","name":"LogEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L278"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L279"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","doc":"booking id","summary":"

booking id

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L290"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","doc":"booking id","summary":"

booking id

","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L290"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"code:Int32-instance-method","name":"code","doc":"the event code","summary":"

the event code

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L287"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","doc":"the event code","summary":"

the event code

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L287"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"eventid:Int64-instance-method","name":"eventid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L281"},"def":{"name":"eventid","return_type":"Int64","visibility":"Public","body":"@eventid"}},{"html_id":"eventid=(eventid:Int64)-instance-method","name":"eventid=","abstract":false,"args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"args_string":"(eventid : Int64)","args_html":"(eventid : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L281"},"def":{"name":"eventid=","args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"visibility":"Public","body":"@eventid = eventid"}},{"html_id":"eventtime:Int64-instance-method","name":"eventtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L296"},"def":{"name":"eventtime","return_type":"Int64","visibility":"Public","body":"@eventtime"}},{"html_id":"eventtime=(eventtime:Int64)-instance-method","name":"eventtime=","abstract":false,"args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"args_string":"(eventtime : Int64)","args_html":"(eventtime : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L296"},"def":{"name":"eventtime=","args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"visibility":"Public","body":"@eventtime = eventtime"}},{"html_id":"key:String-instance-method","name":"key","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L284"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L284"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}}]},{"html_id":"drivers/Floorsense/MobileCheckinLogic","path":"Floorsense/MobileCheckinLogic.html","kind":"class","full_name":"Floorsense::MobileCheckinLogic","name":"MobileCheckinLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"eui64_scanned(id:String,user_id:String,booking_minutes:Int32|Nil=nil)-instance-method","name":"eui64_scanned","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"args_string":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","args_html":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L35"},"def":{"name":"eui64_scanned","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"#{user_id} scanned mac #{id}\"\nend\ndesk_details = (booking_sync.eui64_to_desk_id(id)).get\nif desk_details.raw.nil?\n raise(\"could not find eui64 id: #{id}\")\nend\nlogger.debug do\n \"desk details found: #{desk_details.inspect}\"\nend\nlevel_zone = desk_details[\"level\"].as_s\nplace_desk = desk_details[\"desk_id\"].as_s\nbuilding_raw = desk_details[\"building_id\"]?.try(&.raw)\nbuild_zone = building_raw.try do |__arg2|\n __arg2.as(String)\nend\nlogger.debug do\n \"located #{place_desk} for #{user_id}\"\nend\nnow = Time.utc.to_unix\nbooking = staff_api.query_bookings(type: \"desk\", zones: [level_zone]).get.as_a.find do |book|\n ((book[\"asset_id\"].as_s == place_desk) && book[\"booking_start\"].as_i64 <= now) && book[\"booking_end\"].as_i64 > now\nend\nif booking\n owner_id = booking[\"user_id\"].as_s\n if owner_id == user_id\n checkin_out = !booking[\"checked_in\"].as_bool\n booking_id = booking[\"id\"].as_i64\n logger.debug do\n \"found existing booking #{booking_id} with current checked-in status #{!checkin_out}\"\n end\n if checkin_out\n (staff_api.booking_check_in(booking_id, true)).get.as_bool\n \"checked-in\"\n else\n now = 1.minute.ago.to_unix\n staff_api.update_booking(booking_id: booking_id, booking_end: now, checked_in: false).get\n \"checked-out\"\n end\n else\n logger.debug do\n \"#{user_id} scanned desk owned by #{owner_id}\"\n end\n \"forbidden\"\n end\nelse\n booking_period = booking_minutes.try(&.minutes) || @booking_period\n now = Time.local(@time_zone)\n future = booking_period ? ( now + booking_period) : now.at_end_of_day\n user_details = (staff_api.user(user_id)).get\n zones = [level_zone]\n if build_zone\n zones.unshift(build_zone)\n end\n title = place_desk\n ext_data = {} of String => JSON::Any\n begin\n logger.debug do\n \"obtaining metadata for desk #{place_desk} on level #{level_zone}\"\n end\n if desk_details = placeos_desk_metadata(level_zone, place_desk)\n if bookable = desk_details[\"bookable\"]?\n if (bookable.as_s?.try(&.upcase) == \"FALSE\") || (bookable.as_bool? == false)\n return \"forbidden\"\n end\n end\n title = desk_details[\"name\"]?.try(&.as_s) || place_desk\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk_details[meta_key]?\n ext_data[ext_key] = value\n end\n end\n else\n logger.warn do\n \"desk details not found!\"\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk metadata\"\n end\n end\n logger.debug do\n \"creating new booking for #{user_id} on #{place_desk}\"\n end\n staff_api.create_booking(booking_type: \"desk\", asset_id: place_desk, user_id: user_id, user_email: user_details[\"email\"], user_name: user_details[\"name\"], zones: zones, booking_start: now.to_unix, booking_end: future.to_unix, checked_in: true, approved: true, title: title, time_zone: @time_zone.name, extension_data: ext_data).get\n \"adhoc\"\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"time_zone = (setting?(String, :time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@booking_period = (setting?(Int32, :booking_period)).try(&.minutes)\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,asset_id:String)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(zone_id : String, asset_id : String)","args_html":"(zone_id : String, asset_id : String)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/mobile_checkin_logic.cr#L137"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\nmetadata.each do |desk|\n place_id = desk[\"id\"]?.try(&.as_s)\n if place_id\n else\n next\n end\n if place_id == asset_id\n return desk.as_h\n end\nend\nnil\n"}}]},{"html_id":"drivers/Floorsense/Payload","path":"Floorsense/Payload.html","kind":"class","full_name":"Floorsense::Payload","name":"Payload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Floorsense/Event","kind":"class","full_name":"Floorsense::Event","name":"Event"},{"html_id":"drivers/Floorsense/Response","kind":"class","full_name":"Floorsense::Response","name":"Response"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"doc":"Websocket payloads","summary":"

Websocket payloads

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"event\"\n Event.from_json(json)\nwhen \"response\"\n Response.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/Floorsense/Resp","path":"Floorsense/Resp.html","kind":"class","full_name":"Floorsense::Resp(T)","name":"Resp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32|Nil-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L42"},"def":{"name":"code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32|Nil)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"args_string":"(code : Int32 | Nil)","args_html":"(code : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L42"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@code = code"}},{"html_id":"info:T|Nil-instance-method","name":"info","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L45"},"def":{"name":"info","return_type":"T | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"info=(info:T|Nil)-instance-method","name":"info=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"args_string":"(info : T | Nil)","args_html":"(info : T | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L45"},"def":{"name":"info=","args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"visibility":"Public","body":"@info = info"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L41"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L41"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"msg_type:String-instance-method","name":"msg_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L37"},"def":{"name":"msg_type","return_type":"String","visibility":"Public","body":"@msg_type"}},{"html_id":"msg_type=(msg_type:String)-instance-method","name":"msg_type=","abstract":false,"args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"args_string":"(msg_type : String)","args_html":"(msg_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L37"},"def":{"name":"msg_type=","args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"visibility":"Public","body":"@msg_type = msg_type"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L38"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"result=(result:Bool)-instance-method","name":"result=","abstract":false,"args":[{"name":"result","external_name":"result","restriction":"Bool"}],"args_string":"(result : Bool)","args_html":"(result : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L38"},"def":{"name":"result=","args":[{"name":"result","external_name":"result","restriction":"Bool"}],"visibility":"Public","body":"@result = result"}}]},{"html_id":"drivers/Floorsense/Response","path":"Floorsense/Response.html","kind":"class","full_name":"Floorsense::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"info-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L28"},"def":{"name":"info","visibility":"Public","body":"@info || (JSON.parse(\"{}\"))"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L25"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L24"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L23"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/RFID","path":"Floorsense/RFID.html","kind":"class","full_name":"Floorsense::RFID","name":"RFID","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L299"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L300"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"csn:String-instance-method","name":"csn","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L302"},"def":{"name":"csn","return_type":"String","visibility":"Public","body":"@csn"}},{"html_id":"csn=(csn:String)-instance-method","name":"csn=","abstract":false,"args":[{"name":"csn","external_name":"csn","restriction":"String"}],"args_string":"(csn : String)","args_html":"(csn : String)","location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L302"},"def":{"name":"csn=","args":[{"name":"csn","external_name":"csn","restriction":"String"}],"visibility":"Public","body":"@csn = csn"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L304"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L304"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L303"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L303"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/User","path":"Floorsense/User.html","kind":"class","full_name":"Floorsense::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L274"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L274"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L263"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L263"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expiry:Int64|Nil-instance-method","name":"expiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L267"},"def":{"name":"expiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@expiry"}},{"html_id":"expiry=(expiry:Int64|Nil)-instance-method","name":"expiry=","abstract":false,"args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(expiry : Int64 | Nil)","args_html":"(expiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L267"},"def":{"name":"expiry=","args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@expiry = expiry"}},{"html_id":"extid:String|Nil-instance-method","name":"extid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L272"},"def":{"name":"extid","return_type":"String | ::Nil","visibility":"Public","body":"@extid"}},{"html_id":"extid=(extid:String|Nil)-instance-method","name":"extid=","abstract":false,"args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"args_string":"(extid : String | Nil)","args_html":"(extid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L272"},"def":{"name":"extid=","args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@extid = extid"}},{"html_id":"lastlogin:Int64|Nil-instance-method","name":"lastlogin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin","return_type":"Int64 | ::Nil","visibility":"Public","body":"@lastlogin"}},{"html_id":"lastlogin=(lastlogin:Int64|Nil)-instance-method","name":"lastlogin=","abstract":false,"args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"args_string":"(lastlogin : Int64 | Nil)","args_html":"(lastlogin : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin=","args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@lastlogin = lastlogin"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L264"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L264"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"pin:String|Nil-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L269"},"def":{"name":"pin","return_type":"String | ::Nil","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String|Nil)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"args_string":"(pin : String | Nil)","args_html":"(pin : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L269"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"privacy:Int32|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L275"},"def":{"name":"privacy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Int32|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"args_string":"(privacy : Int32 | Nil)","args_html":"(privacy : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L275"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reslimit:Int64|Nil-instance-method","name":"reslimit","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L268"},"def":{"name":"reslimit","return_type":"Int64 | ::Nil","visibility":"Public","body":"@reslimit"}},{"html_id":"reslimit=(reslimit:Int64|Nil)-instance-method","name":"reslimit=","abstract":false,"args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"args_string":"(reslimit : Int64 | Nil)","args_html":"(reslimit : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L268"},"def":{"name":"reslimit=","args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@reslimit = reslimit"}},{"html_id":"ugroupid:Int64|Nil-instance-method","name":"ugroupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ugroupid"}},{"html_id":"ugroupid=(ugroupid:Int64|Nil)-instance-method","name":"ugroupid=","abstract":false,"args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"args_string":"(ugroupid : Int64 | Nil)","args_html":"(ugroupid : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid=","args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ugroupid = ugroupid"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L262"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L262"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"uidtoken:String|Nil-instance-method","name":"uidtoken","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken","return_type":"String | ::Nil","visibility":"Public","body":"@uidtoken"}},{"html_id":"uidtoken=(uidtoken:String|Nil)-instance-method","name":"uidtoken=","abstract":false,"args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"args_string":"(uidtoken : String | Nil)","args_html":"(uidtoken : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken=","args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uidtoken = uidtoken"}},{"html_id":"usertype:String|Nil-instance-method","name":"usertype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L273"},"def":{"name":"usertype","return_type":"String | ::Nil","visibility":"Public","body":"@usertype"}},{"html_id":"usertype=(usertype:String|Nil)-instance-method","name":"usertype=","abstract":false,"args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"args_string":"(usertype : String | Nil)","args_html":"(usertype : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L273"},"def":{"name":"usertype=","args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usertype = usertype"}}]},{"html_id":"drivers/Floorsense/UserGroup","path":"Floorsense/UserGroup.html","kind":"class","full_name":"Floorsense::UserGroup","name":"UserGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L169"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L170"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L175"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L175"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L173"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int32)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L173"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L174"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L174"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Floorsense/UserLocation","path":"Floorsense/UserLocation.html","kind":"class","full_name":"Floorsense::UserLocation","name":"UserLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L179"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool|Nil-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L202"},"def":{"name":"active","return_type":"Bool | ::Nil","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool|Nil)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"args_string":"(active : Bool | Nil)","args_html":"(active : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L202"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@active = active"}},{"html_id":"cid:Int32|Nil-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L197"},"def":{"name":"cid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32|Nil)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"args_string":"(cid : Int32 | Nil)","args_html":"(cid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L197"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool|Nil-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L201"},"def":{"name":"confirmed","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool|Nil)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"args_string":"(confirmed : Bool | Nil)","args_html":"(confirmed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L201"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"finish:Time|Nil-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L190"},"def":{"name":"finish","return_type":"Time | ::Nil","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Time|Nil)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"args_string":"(finish : Time | Nil)","args_html":"(finish : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L190"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"floorname:String|Nil-instance-method","name":"floorname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L196"},"def":{"name":"floorname","return_type":"String | ::Nil","visibility":"Public","body":"@floorname"}},{"html_id":"floorname=(floorname:String|Nil)-instance-method","name":"floorname=","abstract":false,"args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"args_string":"(floorname : String | Nil)","args_html":"(floorname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L196"},"def":{"name":"floorname=","args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floorname = floorname"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L194"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L194"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"groupname:String|Nil-instance-method","name":"groupname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L199"},"def":{"name":"groupname","return_type":"String | ::Nil","visibility":"Public","body":"@groupname"}},{"html_id":"groupname=(groupname:String|Nil)-instance-method","name":"groupname=","abstract":false,"args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"args_string":"(groupname : String | Nil)","args_html":"(groupname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L199"},"def":{"name":"groupname=","args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@groupname = groupname"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L195"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L195"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L181"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L181"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"occupied:Bool|Nil-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L193"},"def":{"name":"occupied","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool|Nil)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"args_string":"(occupied : Bool | Nil)","args_html":"(occupied : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L193"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32|Nil-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32|Nil)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"args_string":"(occupiedtime : Int32 | Nil)","args_html":"(occupiedtime : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L192"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L192"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L200"},"def":{"name":"privacy","return_type":"Bool | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(privacy : Bool | Nil)","args_html":"(privacy : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L200"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"start:Time|Nil-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L187"},"def":{"name":"start","return_type":"Time | ::Nil","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Time|Nil)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"args_string":"(start : Time | Nil)","args_html":"(start : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L187"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L182"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L182"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/Voucher","path":"Floorsense/Voucher.html","kind":"class","full_name":"Floorsense::Voucher","name":"Voucher","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L328"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardswipe:Bool-instance-method","name":"cardswipe","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe","return_type":"Bool","visibility":"Public","body":"@cardswipe"}},{"html_id":"cardswipe=(cardswipe:Bool)-instance-method","name":"cardswipe=","abstract":false,"args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"args_string":"(cardswipe : Bool)","args_html":"(cardswipe : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe=","args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"visibility":"Public","body":"@cardswipe = cardswipe"}},{"html_id":"controller_id:String-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L340"},"def":{"name":"controller_id","return_type":"String","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:String)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"args_string":"(controller_id : String)","args_html":"(controller_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L340"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L346"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L346"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"duration:Int64-instance-method","name":"duration","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L348"},"def":{"name":"duration","return_type":"Int64","visibility":"Public","body":"@duration"}},{"html_id":"duration=(duration:Int64)-instance-method","name":"duration=","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"args_string":"(duration : Int64)","args_html":"(duration : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L348"},"def":{"name":"duration=","args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"visibility":"Public","body":"@duration = duration"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L331"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L331"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expired:Int64-instance-method","name":"expired","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L349"},"def":{"name":"expired","return_type":"Int64","visibility":"Public","body":"@expired"}},{"html_id":"expired=(expired:Int64)-instance-method","name":"expired=","abstract":false,"args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"args_string":"(expired : Int64)","args_html":"(expired : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L349"},"def":{"name":"expired=","args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"visibility":"Public","body":"@expired = expired"}},{"html_id":"lastuse:Int64-instance-method","name":"lastuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L330"},"def":{"name":"lastuse","return_type":"Int64","visibility":"Public","body":"@lastuse"}},{"html_id":"lastuse=(lastuse:Int64)-instance-method","name":"lastuse=","abstract":false,"args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"args_string":"(lastuse : Int64)","args_html":"(lastuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L330"},"def":{"name":"lastuse=","args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"visibility":"Public","body":"@lastuse = lastuse"}},{"html_id":"locker_key:String-instance-method","name":"locker_key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L337"},"def":{"name":"locker_key","return_type":"String","visibility":"Public","body":"@locker_key"}},{"html_id":"locker_key=(locker_key:String)-instance-method","name":"locker_key=","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L337"},"def":{"name":"locker_key=","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"@locker_key = locker_key"}},{"html_id":"maxuse:Int64-instance-method","name":"maxuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L351"},"def":{"name":"maxuse","return_type":"Int64","visibility":"Public","body":"@maxuse"}},{"html_id":"maxuse=(maxuse:Int64)-instance-method","name":"maxuse=","abstract":false,"args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"args_string":"(maxuse : Int64)","args_html":"(maxuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L351"},"def":{"name":"maxuse=","args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"visibility":"Public","body":"@maxuse = maxuse"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L359"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L359"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String-instance-method","name":"notes","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L360"},"def":{"name":"notes","return_type":"String","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String"}],"args_string":"(notes : String)","args_html":"(notes : String)","location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L360"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"notified:Int64-instance-method","name":"notified","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L353"},"def":{"name":"notified","return_type":"Int64","visibility":"Public","body":"@notified"}},{"html_id":"notified=(notified:Int64)-instance-method","name":"notified=","abstract":false,"args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"args_string":"(notified : Int64)","args_html":"(notified : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L353"},"def":{"name":"notified=","args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"visibility":"Public","body":"@notified = notified"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L345"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L345"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"release:Bool-instance-method","name":"release","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L347"},"def":{"name":"release","return_type":"Bool","visibility":"Public","body":"@release"}},{"html_id":"release=(release:Bool)-instance-method","name":"release=","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"Bool"}],"args_string":"(release : Bool)","args_html":"(release : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L347"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"Bool"}],"visibility":"Public","body":"@release = release"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L352"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L352"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"template:String-instance-method","name":"template","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L358"},"def":{"name":"template","return_type":"String","visibility":"Public","body":"@template"}},{"html_id":"template=(template:String)-instance-method","name":"template=","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"}],"args_string":"(template : String)","args_html":"(template : String)","location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L358"},"def":{"name":"template=","args":[{"name":"template","external_name":"template","restriction":"String"}],"visibility":"Public","body":"@template = template"}},{"html_id":"unlock:Bool-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L357"},"def":{"name":"unlock","return_type":"Bool","visibility":"Public","body":"@unlock"}},{"html_id":"unlock=(unlock:Bool)-instance-method","name":"unlock=","abstract":false,"args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"args_string":"(unlock : Bool)","args_html":"(unlock : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L357"},"def":{"name":"unlock=","args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"visibility":"Public","body":"@unlock = unlock"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L365"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L365"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}},{"html_id":"usecount:Int64-instance-method","name":"usecount","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L350"},"def":{"name":"usecount","return_type":"Int64","visibility":"Public","body":"@usecount"}},{"html_id":"usecount=(usecount:Int64)-instance-method","name":"usecount=","abstract":false,"args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"args_string":"(usecount : Int64)","args_html":"(usecount : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L350"},"def":{"name":"usecount=","args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"visibility":"Public","body":"@usecount = usecount"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L364"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L364"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"validfrom:Int64-instance-method","name":"validfrom","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L354"},"def":{"name":"validfrom","return_type":"Int64","visibility":"Public","body":"@validfrom"}},{"html_id":"validfrom=(validfrom:Int64)-instance-method","name":"validfrom=","abstract":false,"args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"args_string":"(validfrom : Int64)","args_html":"(validfrom : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L354"},"def":{"name":"validfrom=","args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"visibility":"Public","body":"@validfrom = validfrom"}},{"html_id":"validto:Int64-instance-method","name":"validto","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L355"},"def":{"name":"validto","return_type":"Int64","visibility":"Public","body":"@validto"}},{"html_id":"validto=(validto:Int64)-instance-method","name":"validto=","abstract":false,"args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"args_string":"(validto : Int64)","args_html":"(validto : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L355"},"def":{"name":"validto=","args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"visibility":"Public","body":"@validto = validto"}},{"html_id":"voucher_id:String-instance-method","name":"voucher_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id","return_type":"String","visibility":"Public","body":"@voucher_id"}},{"html_id":"voucher_id=(voucher_id:String)-instance-method","name":"voucher_id=","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"args_string":"(voucher_id : String)","args_html":"(voucher_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id=","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"visibility":"Public","body":"@voucher_id = voucher_id"}}]}]},{"html_id":"drivers/Freespace","path":"Freespace.html","kind":"module","full_name":"Freespace","name":"Freespace","abstract":false,"locations":[{"filename":"src/freespace/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Freespace/Category","path":"Freespace/Category.html","kind":"class","full_name":"Freespace::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"color_scheme:String|Nil-instance-method","name":"color_scheme","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L75"},"def":{"name":"color_scheme","return_type":"String | ::Nil","visibility":"Public","body":"@color_scheme"}},{"html_id":"color_scheme=(color_scheme:String|Nil)-instance-method","name":"color_scheme=","abstract":false,"args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"args_string":"(color_scheme : String | Nil)","args_html":"(color_scheme : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L75"},"def":{"name":"color_scheme=","args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@color_scheme = color_scheme"}},{"html_id":"icon_url:String|Nil-instance-method","name":"icon_url","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L71"},"def":{"name":"icon_url","return_type":"String | ::Nil","visibility":"Public","body":"@icon_url"}},{"html_id":"icon_url=(icon_url:String|Nil)-instance-method","name":"icon_url=","abstract":false,"args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"args_string":"(icon_url : String | Nil)","args_html":"(icon_url : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L71"},"def":{"name":"icon_url=","args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@icon_url = icon_url"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L58"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L59"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"ordering_index:Int32|Nil-instance-method","name":"ordering_index","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L78"},"def":{"name":"ordering_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@ordering_index"}},{"html_id":"ordering_index=(ordering_index:Int32|Nil)-instance-method","name":"ordering_index=","abstract":false,"args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"args_string":"(ordering_index : Int32 | Nil)","args_html":"(ordering_index : Int32 | Nil)","location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L78"},"def":{"name":"ordering_index=","args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@ordering_index = ordering_index"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L62"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L62"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"show_in_analytics:Bool-instance-method","name":"show_in_analytics","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics","return_type":"Bool","visibility":"Public","body":"@show_in_analytics"}},{"html_id":"show_in_analytics=(show_in_analytics:Bool)-instance-method","name":"show_in_analytics=","abstract":false,"args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"args_string":"(show_in_analytics : Bool)","args_html":"(show_in_analytics : Bool)","location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics=","args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"visibility":"Public","body":"@show_in_analytics = show_in_analytics"}},{"html_id":"show_on_signage:Bool-instance-method","name":"show_on_signage","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage","return_type":"Bool","visibility":"Public","body":"@show_on_signage"}},{"html_id":"show_on_signage=(show_on_signage:Bool)-instance-method","name":"show_on_signage=","abstract":false,"args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"args_string":"(show_on_signage : Bool)","args_html":"(show_on_signage : Bool)","location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage=","args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"visibility":"Public","body":"@show_on_signage = show_on_signage"}}]},{"html_id":"drivers/Freespace/Device","path":"Freespace/Device.html","kind":"class","full_name":"Freespace::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L84"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L84"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L87"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L87"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Freespace/Location","path":"Freespace/Location.html","kind":"class","full_name":"Freespace::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L35"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L37"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L37"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"policy:Bool-instance-method","name":"policy","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L44"},"def":{"name":"policy","return_type":"Bool","visibility":"Public","body":"@policy"}},{"html_id":"policy=(policy:Bool)-instance-method","name":"policy=","abstract":false,"args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"args_string":"(policy : Bool)","args_html":"(policy : Bool)","location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L44"},"def":{"name":"policy=","args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"visibility":"Public","body":"@policy = policy"}},{"html_id":"raw:Bool-instance-method","name":"raw","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L43"},"def":{"name":"raw","return_type":"Bool","visibility":"Public","body":"@raw"}},{"html_id":"raw=(raw:Bool)-instance-method","name":"raw=","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"args_string":"(raw : Bool)","args_html":"(raw : Bool)","location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L43"},"def":{"name":"raw=","args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"visibility":"Public","body":"@raw = raw"}}]},{"html_id":"drivers/Freespace/SensorAPI","path":"Freespace/SensorAPI.html","kind":"class","full_name":"Freespace::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/sensor_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/freespace/sensor_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L211"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"client:STOMP::Client-instance-method","name":"client","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L58"},"def":{"name":"client","return_type":"STOMP::Client","visibility":"Public","body":"if (value = @client).nil?\n ::raise(NilAssertionError.new(\"Freespace::SensorAPI#client cannot be nil\"))\nelse\n value\nend"}},{"html_id":"client?:STOMP::Client|Nil-instance-method","name":"client?","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L58"},"def":{"name":"client?","return_type":"STOMP::Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L70"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nhostname = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\n@client = STOMP::Client.new(hostname)\nsend(client.stomp.to_s)\nschedule.clear\nschedule.in(5.seconds) do\n @auth_key = nil\nend\nschedule.every(10.seconds) do\n heart_beat\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L216"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nloctions = @zone_mappings[zone_id]?\nif loctions\nelse\n return [] of Nil\nend\nloctions.flat_map do |loc_id|\n location_id = loc_id.to_i64\n loc_details = @floor_mappings[loc_id]\n @space_state.values.compact_map do |activity|\n if ((activity.location_id != location_id) || (activity.state == 0)) || activity.capacity > 1\n next\n end\n {location: activity.capacity == 1 ? \"desk\" : \"area\", at_location: activity.state, map_id: activity.name, level: loc_details[:level_id], building: loc_details[:building_id], capacity: activity.capacity}\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L83"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n@spaces.clear\n@auth_key = @client = nil\n"}},{"html_id":"get_location(location_id:String|Int64):Array(Space)-instance-method","name":"get_location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"args_string":"(location_id : String | Int64) : Array(Space)","args_html":"(location_id : String | Int64) : Array(Space)","location":{"filename":"src/freespace/sensor_api.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L117"},"def":{"name":"get_location","args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"return_type":"Array(Space)","visibility":"Public","body":"response = http(\"POST\", \"/api/locations/#{location_id}/spaces\", headers: {\"X-Auth-Key\" => get_token, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nif response.success?\nelse\n raise(\"issue obtaining to location #{location_id}: status code #{response.status_code}\\n#{response.body}\")\nend\nspaces = Array(Space).from_json(response.body)\nspaces.each do |space|\n @spaces[space.id] = space\nend\nspaces\n"}},{"html_id":"get_token:String-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L139"},"def":{"name":"get_token","return_type":"String","visibility":"Public","body":"auth_key = @auth_key\nif auth_key\n return auth_key\nend\nresponse = http(\"POST\", \"/login\", headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"login response: #{response.body}\"\nend\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nschedule.in(5.seconds) do\n @auth_key = nil\nend\n@auth_key = response.headers[\"X-Auth-Key\"]\n"}},{"html_id":"heart_beat-instance-method","name":"heart_beat","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L90"},"def":{"name":"heart_beat","visibility":"Public","body":"send((client.send(\"/beat/#{Time.utc.to_unix}\")).to_s, wait: false, priority: 0)"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L201"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/freespace/sensor_api.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L206"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_mappings.clear\n@floor_mappings.each do |location_id, details|\n @zone_mappings[details[:level_id]] << location_id\n @zone_mappings[details[:building_id]] << location_id\nend\nif @connected\n disconnect\nend\n"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/freespace/sensor_api.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L161"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"frame = STOMP::Frame.new(bytes)\ncase frame.command\nwhen .connected?\n client.negotiate(frame)\n @floor_mappings.keys.each do |location_id|\n begin\n subscribe_location(location_id)\n rescue error\n logger.error(exception: error) do\n \"failed to subscribe to #{location_id}, skipping\"\n end\n end\n end\nwhen .message?\n activity = SpaceActivity.from_json(frame.body_text)\n if space = @spaces[activity.space_id]?\n activity.location_id = space.location_id\n activity.capacity = space.capacity\n activity.name = space.name\n @space_state[activity.space_id] = activity\n self[\"space-#{activity.space_id}\"] = {location: space.location_id, name: space.name, capacity: space.capacity, count: activity.state, last_updated: activity.utc_epoch}\n self[\"last_change\"] = Time.utc.to_unix\n else\n logger.warn do\n \"unknown space id: #{activity.space_id}\"\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"spaces_details:Hash(Int64,Freespace::Space)-instance-method","name":"spaces_details","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L107"},"def":{"name":"spaces_details","visibility":"Public","body":"@spaces"}},{"html_id":"spaces_state:Hash(Int64,Freespace::SpaceActivity)-instance-method","name":"spaces_state","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L112"},"def":{"name":"spaces_state","visibility":"Public","body":"@space_state"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","doc":"We need an API key to connect to the websocket","summary":"

We need an API key to connect to the websocket

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/sensor_api.cr#L52"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"X-Auth-Key\" => get_token}"}}]},{"html_id":"drivers/Freespace/Space","path":"Freespace/Space.html","kind":"class","full_name":"Freespace::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L92"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L93"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L115"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L115"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:Category-instance-method","name":"category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L105"},"def":{"name":"category","return_type":"Category","visibility":"Public","body":"@category"}},{"html_id":"category=(category:Category)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"Category"}],"args_string":"(category : Category)","args_html":"(category : Category)","location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L105"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"Category"}],"visibility":"Public","body":"@category = category"}},{"html_id":"counted:Bool-instance-method","name":"counted","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L124"},"def":{"name":"counted","return_type":"Bool","visibility":"Public","body":"@counted"}},{"html_id":"counted=(counted:Bool)-instance-method","name":"counted=","abstract":false,"args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"args_string":"(counted : Bool)","args_html":"(counted : Bool)","location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L124"},"def":{"name":"counted=","args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"visibility":"Public","body":"@counted = counted"}},{"html_id":"department:Category-instance-method","name":"department","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L106"},"def":{"name":"department","return_type":"Category","visibility":"Public","body":"@department"}},{"html_id":"department=(department:Category)-instance-method","name":"department=","abstract":false,"args":[{"name":"department","external_name":"department","restriction":"Category"}],"args_string":"(department : Category)","args_html":"(department : Category)","location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L106"},"def":{"name":"department=","args":[{"name":"department","external_name":"department","restriction":"Category"}],"visibility":"Public","body":"@department = department"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L110"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device=(device:Device)-instance-method","name":"device=","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Device"}],"args_string":"(device : Device)","args_html":"(device : Device)","location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L110"},"def":{"name":"device=","args":[{"name":"device","external_name":"device","restriction":"Device"}],"visibility":"Public","body":"@device = device"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L95"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"live:Bool-instance-method","name":"live","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L114"},"def":{"name":"live","return_type":"Bool","visibility":"Public","body":"@live"}},{"html_id":"live=(live:Bool)-instance-method","name":"live=","abstract":false,"args":[{"name":"live","external_name":"live","restriction":"Bool"}],"args_string":"(live : Bool)","args_html":"(live : Bool)","location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L114"},"def":{"name":"live=","args":[{"name":"live","external_name":"live","restriction":"Bool"}],"visibility":"Public","body":"@live = live"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L96"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L96"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L123"},"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L123"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"marker:Hash(String,JSON::Any)-instance-method","name":"marker","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L101"},"def":{"name":"marker","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@marker"}},{"html_id":"marker=(marker:Hash(String,JSON::Any))-instance-method","name":"marker=","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"args_string":"(marker : Hash(String, JSON::Any))","args_html":"(marker : Hash(String, JSON::Any))","location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L101"},"def":{"name":"marker=","args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@marker = marker"}},{"html_id":"marker_unique_id:String|Nil-instance-method","name":"marker_unique_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id","return_type":"String | ::Nil","visibility":"Public","body":"@marker_unique_id"}},{"html_id":"marker_unique_id=(marker_unique_id:String|Nil)-instance-method","name":"marker_unique_id=","abstract":false,"args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"args_string":"(marker_unique_id : String | Nil)","args_html":"(marker_unique_id : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id=","args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@marker_unique_id = marker_unique_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L97"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L97"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"sensing_policy_id:Int32-instance-method","name":"sensing_policy_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id","return_type":"Int32","visibility":"Public","body":"@sensing_policy_id"}},{"html_id":"sensing_policy_id=(sensing_policy_id:Int32)-instance-method","name":"sensing_policy_id=","abstract":false,"args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"args_string":"(sensing_policy_id : Int32)","args_html":"(sensing_policy_id : Int32)","location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id=","args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"visibility":"Public","body":"@sensing_policy_id = sensing_policy_id"}},{"html_id":"serial:Int32-instance-method","name":"serial","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L120"},"def":{"name":"serial","return_type":"Int32","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:Int32)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"args_string":"(serial : Int32)","args_html":"(serial : Int32)","location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L120"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"visibility":"Public","body":"@serial = serial"}},{"html_id":"srf:SRF-instance-method","name":"srf","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L98"},"def":{"name":"srf","return_type":"SRF","visibility":"Public","body":"@srf"}},{"html_id":"srf=(srf:SRF)-instance-method","name":"srf=","abstract":false,"args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"args_string":"(srf : SRF)","args_html":"(srf : SRF)","location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L98"},"def":{"name":"srf=","args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"visibility":"Public","body":"@srf = srf"}},{"html_id":"sub_category:Category-instance-method","name":"sub_category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L104"},"def":{"name":"sub_category","return_type":"Category","visibility":"Public","body":"@sub_category"}},{"html_id":"sub_category=(sub_category:Category)-instance-method","name":"sub_category=","abstract":false,"args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"args_string":"(sub_category : Category)","args_html":"(sub_category : Category)","location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L104"},"def":{"name":"sub_category=","args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"visibility":"Public","body":"@sub_category = sub_category"}}]},{"html_id":"drivers/Freespace/SpaceActivity","path":"Freespace/SpaceActivity.html","kind":"class","full_name":"Freespace::SpaceActivity","name":"SpaceActivity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"if (value = @capacity).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#capacity cannot be nil\"))\nelse\n value\nend"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L24"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"capacity?:Int32|Nil-instance-method","name":"capacity?","abstract":false,"def":{"name":"capacity?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L7"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L7"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"if (value = @location_id).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#location_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L21"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_id?:Int64|Nil-instance-method","name":"location_id?","abstract":false,"def":{"name":"location_id?","return_type":"Int64 | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"if (value = @name).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L27"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"name?:String|Nil-instance-method","name":"name?","abstract":false,"def":{"name":"name?","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"presence?-instance-method","name":"presence?","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L16"},"def":{"name":"presence?","visibility":"Public","body":"@state > 0"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L14"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L14"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}},{"html_id":"utc_epoch:Int64-instance-method","name":"utc_epoch","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch","return_type":"Int64","visibility":"Public","body":"@utc_epoch"}},{"html_id":"utc_epoch=(utc_epoch:Int64)-instance-method","name":"utc_epoch=","abstract":false,"args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"args_string":"(utc_epoch : Int64)","args_html":"(utc_epoch : Int64)","location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch=","args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"visibility":"Public","body":"@utc_epoch = utc_epoch"}}]},{"html_id":"drivers/Freespace/SRF","path":"Freespace/SRF.html","kind":"class","full_name":"Freespace::SRF","name":"SRF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L47"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L48"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Int32-instance-method","name":"x","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L50"},"def":{"name":"x","return_type":"Int32","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Int32)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"}],"args_string":"(x : Int32)","args_html":"(x : Int32)","location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L50"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Int32"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Int32-instance-method","name":"y","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L51"},"def":{"name":"y","return_type":"Int32","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Int32)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(y : Int32)","args_html":"(y : Int32)","location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L51"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"@y = y"}},{"html_id":"z:Int32-instance-method","name":"z","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L52"},"def":{"name":"z","return_type":"Int32","visibility":"Public","body":"@z"}},{"html_id":"z=(z:Int32)-instance-method","name":"z=","abstract":false,"args":[{"name":"z","external_name":"z","restriction":"Int32"}],"args_string":"(z : Int32)","args_html":"(z : Int32)","location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/freespace/models.cr#L52"},"def":{"name":"z=","args":[{"name":"z","external_name":"z","restriction":"Int32"}],"visibility":"Public","body":"@z = z"}}]}]},{"html_id":"drivers/Gallagher","path":"Gallagher.html","kind":"module","full_name":"Gallagher","name":"Gallagher","abstract":false,"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gallagher/AccessGroup","path":"Gallagher/AccessGroup.html","kind":"class","full_name":"Gallagher::AccessGroup","name":"AccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L181"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L182"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholders:NamedTuple(href:String)-instance-method","name":"cardholders","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@cardholders"}},{"html_id":"cardholders=(cardholders:NamedTuple(href:String))-instance-method","name":"cardholders=","abstract":false,"args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"args_string":"(cardholders : NamedTuple(href: String))","args_html":"(cardholders : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders=","args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@cardholders = cardholders"}},{"html_id":"children:Array(NamedTuple(href:String,name:String))|Nil-instance-method","name":"children","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children","return_type":"Array(NamedTuple(href: String, name: String)) | ::Nil","visibility":"Public","body":"@children"}},{"html_id":"children=(children:Array(NamedTuple(href:String,name:String))|Nil)-instance-method","name":"children=","abstract":false,"args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"args_string":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","args_html":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children=","args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"visibility":"Public","body":"@children = children"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String))-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"args_string":"(division : NamedTuple(href: String))","args_html":"(division : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@division = division"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"parent:NamedTuple(href:String,name:String)|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent","return_type":"NamedTuple(href: String, name: String) | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"parent=(parent:NamedTuple(href:String,name:String)|Nil)-instance-method","name":"parent=","abstract":false,"args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"args_string":"(parent : NamedTuple(href: String, name: String) | Nil)","args_html":"(parent : NamedTuple(href: String, name: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent=","args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"visibility":"Public","body":"@parent = parent"}}]},{"html_id":"drivers/Gallagher/AccessGroupMembership","path":"Gallagher/AccessGroupMembership.html","kind":"class","full_name":"Gallagher::AccessGroupMembership","name":"AccessGroupMembership","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L208"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L209"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholder:NamedTuple(href:String,name:String)-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder","return_type":"NamedTuple(href: String, name: String)","visibility":"Public","body":"@cardholder"}},{"html_id":"cardholder=(cardholder:NamedTuple(href:String,name:String))-instance-method","name":"cardholder=","abstract":false,"args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"args_string":"(cardholder : NamedTuple(href: String, name: String))","args_html":"(cardholder : NamedTuple(href: String, name: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder=","args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"visibility":"Public","body":"@cardholder = cardholder"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Card","path":"Gallagher/Card.html","kind":"struct","full_name":"Gallagher::Card","name":"Card","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(href:Nil|String,status:NamedTuple(value:String,type:Nil|String)|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"args_string":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","args_html":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L133"},"def":{"name":"new","args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(href, status)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ble_facility_id:Int64|Nil-instance-method","name":"ble_facility_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ble_facility_id"}},{"html_id":"ble_facility_id=(ble_facility_id:Int64|Nil)-instance-method","name":"ble_facility_id=","abstract":false,"args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"args_string":"(ble_facility_id : Int64 | Nil)","args_html":"(ble_facility_id : Int64 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id=","args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ble_facility_id = ble_facility_id"}},{"html_id":"card_serial_number:String|Nil-instance-method","name":"card_serial_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number","return_type":"String | ::Nil","visibility":"Public","body":"@card_serial_number"}},{"html_id":"card_serial_number=(card_serial_number:String|Nil)-instance-method","name":"card_serial_number=","abstract":false,"args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"args_string":"(card_serial_number : String | Nil)","args_html":"(card_serial_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number=","args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@card_serial_number = card_serial_number"}},{"html_id":"credential_class:String|Nil-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class","return_type":"String | ::Nil","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String|Nil)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"args_string":"(credential_class : String | Nil)","args_html":"(credential_class : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"credential_id:String|Nil-instance-method","name":"credential_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id","return_type":"String | ::Nil","visibility":"Public","body":"@credential_id"}},{"html_id":"credential_id=(credential_id:String|Nil)-instance-method","name":"credential_id=","abstract":false,"args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"args_string":"(credential_id : String | Nil)","args_html":"(credential_id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id=","args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_id = credential_id"}},{"html_id":"e2e_key:String|Nil-instance-method","name":"e2e_key","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key","return_type":"String | ::Nil","visibility":"Public","body":"@e2e_key"}},{"html_id":"e2e_key=(e2e_key:String|Nil)-instance-method","name":"e2e_key=","abstract":false,"args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"args_string":"(e2e_key : String | Nil)","args_html":"(e2e_key : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key=","args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@e2e_key = e2e_key"}},{"html_id":"facility_code:String|Nil-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code","return_type":"String | ::Nil","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String|Nil)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"args_string":"(facility_code : String | Nil)","args_html":"(facility_code : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"invitation:Invitation|Nil-instance-method","name":"invitation","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation","return_type":"Invitation | ::Nil","visibility":"Public","body":"@invitation"}},{"html_id":"invitation=(invitation:Invitation|Nil)-instance-method","name":"invitation=","abstract":false,"args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"args_string":"(invitation : Invitation | Nil)","args_html":"(invitation : Invitation | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation=","args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"visibility":"Public","body":"@invitation = invitation"}},{"html_id":"issue_level:Int32|Nil-instance-method","name":"issue_level","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@issue_level"}},{"html_id":"issue_level=(issue_level:Int32|Nil)-instance-method","name":"issue_level=","abstract":false,"args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"args_string":"(issue_level : Int32 | Nil)","args_html":"(issue_level : Int32 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level=","args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@issue_level = issue_level"}},{"html_id":"number:String|Nil-instance-method","name":"number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number","return_type":"String | ::Nil","visibility":"Public","body":"@number"}},{"html_id":"number=(number:String|Nil)-instance-method","name":"number=","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"args_string":"(number : String | Nil)","args_html":"(number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number=","args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@number = number"}},{"html_id":"status:NamedTuple(value:String,type:String|Nil)|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status","return_type":"NamedTuple(value: String, type: String | ::Nil) | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:NamedTuple(value:String,type:String|Nil)|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"args_string":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","args_html":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:NamedTuple(href:String,name:String|Nil)|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type","return_type":"NamedTuple(href: String, name: String | ::Nil) | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:NamedTuple(href:String,name:String|Nil)|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"args_string":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","args_html":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Cardholder","path":"Gallagher/Cardholder.html","kind":"class","full_name":"Gallagher::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(first_name:Nil|String,last_name:Nil|String,short_name:Nil|String,description:Nil|String,authorised:Bool|Nil,cards:Array(Gallagher::Card)|Hash(String,Array(Gallagher::Card))|Nil,access_groups:Array(Gallagher::CardholderAccessGroup)|Hash(String,Array(Gallagher::CardholderAccessGroup))|Nil,division:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"args_string":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","args_html":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(first_name, last_name, short_name, description, authorised, cards, access_groups, division)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil-instance-method","name":"access_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups","return_type":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil","visibility":"Public","body":"@access_groups"}},{"html_id":"access_groups=(access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil)-instance-method","name":"access_groups=","abstract":false,"args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"args_string":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","args_html":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups=","args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"visibility":"Public","body":"@access_groups = access_groups"}},{"html_id":"authorised:Bool|Nil-instance-method","name":"authorised","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised","return_type":"Bool | ::Nil","visibility":"Public","body":"@authorised"}},{"html_id":"authorised=(authorised:Bool|Nil)-instance-method","name":"authorised=","abstract":false,"args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"args_string":"(authorised : Bool | Nil)","args_html":"(authorised : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised=","args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@authorised = authorised"}},{"html_id":"cards:Array(Card)|Hash(String,Array(Card))|Nil-instance-method","name":"cards","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards","return_type":"Array(Card) | Hash(String, Array(Card)) | ::Nil","visibility":"Public","body":"@cards"}},{"html_id":"cards=(cards:Array(Card)|Hash(String,Array(Card))|Nil)-instance-method","name":"cards=","abstract":false,"args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"args_string":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","args_html":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards=","args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"visibility":"Public","body":"@cards = cards"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)|Nil-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String)|Nil)-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(division : NamedTuple(href: String) | Nil)","args_html":"(division : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@division = division"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_accessed:Time|Nil-instance-method","name":"last_accessed","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed","return_type":"Time | ::Nil","visibility":"Public","body":"@last_accessed"}},{"html_id":"last_accessed=(last_accessed:Time|Nil)-instance-method","name":"last_accessed=","abstract":false,"args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"args_string":"(last_accessed : Time | Nil)","args_html":"(last_accessed : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed=","args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@last_accessed = last_accessed"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"usercode:String|Nil-instance-method","name":"usercode","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode","return_type":"String | ::Nil","visibility":"Public","body":"@usercode"}},{"html_id":"usercode=(usercode:String|Nil)-instance-method","name":"usercode=","abstract":false,"args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"args_string":"(usercode : String | Nil)","args_html":"(usercode : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode=","args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usercode = usercode"}}]},{"html_id":"drivers/Gallagher/CardholderAccessGroup","path":"Gallagher/CardholderAccessGroup.html","kind":"class","full_name":"Gallagher::CardholderAccessGroup","name":"CardholderAccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_group:NamedTuple(href:String)-instance-method","name":"access_group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@access_group"}},{"html_id":"access_group=(access_group:NamedTuple(href:String))-instance-method","name":"access_group=","abstract":false,"args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"args_string":"(access_group : NamedTuple(href: String))","args_html":"(access_group : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group=","args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@access_group = access_group"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/CardType","path":"Gallagher/CardType.html","kind":"class","full_name":"Gallagher::CardType","name":"CardType","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_card_states:Array(String)-instance-method","name":"available_card_states","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states","return_type":"Array(String)","visibility":"Public","body":"@available_card_states"}},{"html_id":"available_card_states=(available_card_states:Array(String))-instance-method","name":"available_card_states=","abstract":false,"args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"args_string":"(available_card_states : Array(String))","args_html":"(available_card_states : Array(String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states=","args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"visibility":"Public","body":"@available_card_states = available_card_states"}},{"html_id":"credential_class:String-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class","return_type":"String","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"args_string":"(credential_class : String)","args_html":"(credential_class : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"facility_code:String-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code","return_type":"String","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"args_string":"(facility_code : String)","args_html":"(facility_code : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"maximum_number:String|Nil-instance-method","name":"maximum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number","return_type":"String | ::Nil","visibility":"Public","body":"@maximum_number"}},{"html_id":"maximum_number=(maximum_number:String|Nil)-instance-method","name":"maximum_number=","abstract":false,"args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"args_string":"(maximum_number : String | Nil)","args_html":"(maximum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number=","args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@maximum_number = maximum_number"}},{"html_id":"minimum_number:String|Nil-instance-method","name":"minimum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number","return_type":"String | ::Nil","visibility":"Public","body":"@minimum_number"}},{"html_id":"minimum_number=(minimum_number:String|Nil)-instance-method","name":"minimum_number=","abstract":false,"args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"args_string":"(minimum_number : String | Nil)","args_html":"(minimum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number=","args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@minimum_number = minimum_number"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/DoorDetails","path":"Gallagher/DoorDetails.html","kind":"class","full_name":"Gallagher::DoorDetails","name":"DoorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L38"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L36"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/Event","path":"Gallagher/Event.html","kind":"struct","full_name":"Gallagher::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L227"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L228"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card:Card|Nil-instance-method","name":"card","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L238"},"def":{"name":"card","return_type":"Card | ::Nil","visibility":"Public","body":"@card"}},{"html_id":"cardholder:IdName|Nil-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L239"},"def":{"name":"cardholder","return_type":"IdName | ::Nil","visibility":"Public","body":"@cardholder"}},{"html_id":"group:IdName-instance-method","name":"group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L230"},"def":{"name":"group","return_type":"IdName","visibility":"Public","body":"@group"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L234"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"matching_type?(types:Array(Int32)|Nil)-instance-method","name":"matching_type?","abstract":false,"args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"args_string":"(types : Array(Int32) | Nil)","args_html":"(types : Array(Int32) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L241"},"def":{"name":"matching_type?","args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"visibility":"Public","body":"if types\nelse\n return true\nend\ntypes.map(&.to_s).includes?(type.id)\n"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L236"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"source:IdName-instance-method","name":"source","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L232"},"def":{"name":"source","return_type":"IdName","visibility":"Public","body":"@source"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L235"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:IdName-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L231"},"def":{"name":"type","return_type":"IdName","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Gallagher/Events","path":"Gallagher/Events.html","kind":"struct","full_name":"Gallagher::Events","name":"Events","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L247"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L248"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(Event)-instance-method","name":"events","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L250"},"def":{"name":"events","return_type":"Array(Event)","visibility":"Public","body":"@events"}},{"html_id":"update_url-instance-method","name":"update_url","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L253"},"def":{"name":"update_url","visibility":"Public","body":"updates[:href]"}},{"html_id":"updates:NamedTuple(href:String)-instance-method","name":"updates","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L251"},"def":{"name":"updates","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@updates"}}]},{"html_id":"drivers/Gallagher/IdName","path":"Gallagher/IdName.html","kind":"struct","full_name":"Gallagher::IdName","name":"IdName","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L223"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L224"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Gallagher/Invitation","path":"Gallagher/Invitation.html","kind":"class","full_name":"Gallagher::Invitation","name":"Invitation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"mobile=(mobile:String|Nil)-instance-method","name":"mobile=","abstract":false,"args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"args_string":"(mobile : String | Nil)","args_html":"(mobile : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile=","args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mobile = mobile"}},{"html_id":"single_factor_only:Bool|Nil-instance-method","name":"single_factor_only","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@single_factor_only"}},{"html_id":"single_factor_only=(single_factor_only:Bool|Nil)-instance-method","name":"single_factor_only=","abstract":false,"args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"args_string":"(single_factor_only : Bool | Nil)","args_html":"(single_factor_only : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only=","args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@single_factor_only = single_factor_only"}},{"html_id":"status:String|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status","return_type":"String | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"args_string":"(status : String | Nil)","args_html":"(status : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/Gallagher/PDF","path":"Gallagher/PDF.html","kind":"class","full_name":"Gallagher::PDF","name":"PDF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"doc":"Personal Data Field","summary":"

Personal Data Field

","constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L16"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default:String|Nil-instance-method","name":"default","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default","return_type":"String | ::Nil","visibility":"Public","body":"@default"}},{"html_id":"default=(default:String|Nil)-instance-method","name":"default=","abstract":false,"args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"args_string":"(default : String | Nil)","args_html":"(default : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default=","args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default = default"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"required:Bool|Nil-instance-method","name":"required","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required","return_type":"Bool | ::Nil","visibility":"Public","body":"@required"}},{"html_id":"required=(required:Bool|Nil)-instance-method","name":"required=","abstract":false,"args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"args_string":"(required : Bool | Nil)","args_html":"(required : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required=","args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@required = required"}},{"html_id":"server_display_name:String|Nil-instance-method","name":"server_display_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_display_name"}},{"html_id":"server_display_name=(server_display_name:String|Nil)-instance-method","name":"server_display_name=","abstract":false,"args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"args_string":"(server_display_name : String | Nil)","args_html":"(server_display_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name=","args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_display_name = server_display_name"}},{"html_id":"unique:Bool|Nil-instance-method","name":"unique","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique","return_type":"Bool | ::Nil","visibility":"Public","body":"@unique"}},{"html_id":"unique=(unique:Bool|Nil)-instance-method","name":"unique=","abstract":false,"args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"args_string":"(unique : Bool | Nil)","args_html":"(unique : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique=","args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@unique = unique"}}]},{"html_id":"drivers/Gallagher/RestAPI","path":"Gallagher/RestAPI.html","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"instance_methods":[{"html_id":"cardholder_exists?(filter:String)-instance-method","name":"cardholder_exists?","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L343"},"def":{"name":"cardholder_exists?","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"!(query_cardholders(filter)).empty?"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L110"},"def":{"name":"connected","visibility":"Public","body":"query_endpoints"}},{"html_id":"create_cardholder(first_name:String,last_name:String,description:String=\"acardholder\",authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"create_cardholder","doc":"#\nCreate a new cardholder.\n@param first_name [String] The first name of the new cardholder. Either this or last name is required (but we should assume both are for most instances).\n@param last_name [String] The last name of the new cardholder. Either this or first name is required (but we should assume both are for most instances).\n@option options [String] :division The division to add the cardholder to. This is required when making the request to create the cardholder but if none is passed the `default_division` is used.\n@option options [Hash] :pdfs A hash containing all PDFs to add to the user in the form `{ some_pdf_name: some_pdf_value, another_pdf_name: another_pdf_value }`.\n@option options [Array] :cards An array of cards to be added to this cardholder which can include both virtual and physical cards.\n@option options [Array] :access_groups An array of access groups to add this cardholder to. These may include `from` and `until` fields to dictate temporary access.\n@option options [Array] :competencies An array of competencies to add this cardholder to.\n@return [Hash] The cardholder that was created.","summary":"

\n \n \nCreate a new cardholder.

","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(first_name : String, last_name : String, description : String = \"a cardholder\", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(first_name : String, last_name : String, description : String = "a cardholder", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L257"},"def":{"name":"create_cardholder","args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"short_name || (short_name = \"#{first_name} #{last_name}\")\nshort_name = short_name[0..15]\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, cards, access_groups, division_href || @default_division.not_nil!)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = post(@cardholders_endpoint, headers: @headers, body: payload)\nCardholder.from_json(process(response))\n"}},{"html_id":"delete_card(href:String)-instance-method","name":"delete_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L338"},"def":{"name":"delete_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = delete(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"failed to delete card #{href}\")\nend\n"}},{"html_id":"delete_href(href:String)-instance-method","name":"delete_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L425"},"def":{"name":"delete_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"delete_card(href)"}},{"html_id":"disable_card(href:String)-instance-method","name":"disable_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L331"},"def":{"name":"disable_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"uri = get_path(href)\ncardholder_id = (uri.split('/'))[-3]\ncard = Card.new(uri, {value: @disabled_card_value, type: nil.as(String | ::Nil)})\nupdate_cardholder(cardholder_id, update_cards: [card])\n"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":465,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L465"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"doors.map do |d|\n Door.new(d.id, d.name)\nend"}},{"html_id":"doors-instance-method","name":"doors","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L455"},"def":{"name":"doors","visibility":"Public","body":"response = get(@doors_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\n(NamedTuple(results: Array(DoorDetails)).from_json(response.body))[:results]\n"}},{"html_id":"get_access_group(id:String)-instance-method","name":"get_access_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L354"},"def":{"name":"get_access_group","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"access group request failed with #{response.status_code}\\n#{response.body}\")\nend\nAccessGroup.from_json(response.body)\n"}},{"html_id":"get_access_group_members(id:String)-instance-method","name":"get_access_group_members","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L368"},"def":{"name":"get_access_group_members","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}/cardholders\", headers: @headers)\nif response.success?\nelse\n raise(\"access group members request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroupMembership, response.body)\n"}},{"html_id":"get_access_groups(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_access_groups","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L360"},"def":{"name":"get_access_groups","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@access_groups_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"access groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroup, response.body)\n"}},{"html_id":"get_base64_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_base64_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L209"},"def":{"name":"get_base64_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nBase64.strict_encode(response.body)\n"}},{"html_id":"get_card_type(id:String|Int32|Nil=nil)-instance-method","name":"get_card_type","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"args_string":"(id : String | Int32 | Nil = nil)","args_html":"(id : String | Int32 | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L240"},"def":{"name":"get_card_type","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"visibility":"Public","body":"card = (id || @default_card_type) || (raise(\"no default card type provided\"))\nresponse = get(\"#{@card_types_endpoint}/#{card}\", headers: @headers)\nif response.success?\nelse\n raise(\"card type request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardType.from_json(response.body)\n"}},{"html_id":"get_cardholder(id:String)-instance-method","name":"get_cardholder","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L216"},"def":{"name":"get_cardholder","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardholder.from_json(response.body)\n"}},{"html_id":"get_division(id:String)-instance-method","name":"get_division","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L374"},"def":{"name":"get_division","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@divisions_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"division request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_divisions(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_divisions","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L380"},"def":{"name":"get_divisions","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@divisions_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"divisions request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(JSON::Any, response.body)\n"}},{"html_id":"get_event_groups-instance-method","name":"get_event_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L395"},"def":{"name":"get_event_groups","visibility":"Public","body":"response = get(\"#{@events_endpoint}/groups\", headers: @headers)\nif response.success?\nelse\n raise(\"event groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_events-instance-method","name":"get_events","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":389,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L389"},"def":{"name":"get_events","visibility":"Public","body":"response = get(@events_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"events request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_href(href:String)-instance-method","name":"get_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L419"},"def":{"name":"get_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = get(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"generic request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L203"},"def":{"name":"get_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_pdfs(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_pdfs","doc":"#\nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.\nThey will usually be for things like email address, employee ID or some other field specific to whoever is hosting the Gallagher instance.\nAllows retrieval of the PDFs used in the Gallagher instance, primarily so we can get the PDF's ID and use that to filter cardholders based on that PDF.\n\n@param name [String] The name of the PDF which we want to retrieve. This will only return one result (as the PDF names are unique).\n@return [Hash] A list of PDF results and a next link for pagination (we will generally have less than 100 PDFs so 'next' link will mostly be unused):\n@example An example response:\n {\n \"results\": [\n {\n \"name\": \"email\",\n \"id\": \"5516\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/5516\"\n },\n {\n \"name\": \"cellphone\",\n \"id\": \"9998\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/9998\",\n \"serverDisplayName\": \"Site B\"\n }\n ],\n \"next\": {\n \"href\": \"https://localhost:8904/api/personal_data_fields?pos=900&sort=id\"\n }\n }","summary":"

\n \n \nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.

","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L195"},"def":{"name":"get_pdfs","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@pdfs_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(PDF, response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nspawn do\n event_monitor\nend\nschedule.every(1.minutes) do\n query_endpoints\nend\ntransport.before_request do |req|\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L73"},"def":{"name":"on_unload","visibility":"Public","body":"@poll_events = false"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"api_key = setting(String, :api_key)\n@api_key = \"GGL-API-KEY #{api_key}\"\n@door_event_channel = (setting?(String, :door_event_channel)) || \"event\"\nnew_map = {} of String => EventMap\n((setting?(Array(EventMap), :event_mappings)) || ([] of EventMap)).each do |event|\n new_map[event.group.to_s] = event\nend\n@event_map = new_map\n@unique_pdf_name = setting(String, :unique_pdf_name)\n@default_division = setting?(String, :default_division_href)\n@default_facility_code = setting?(String, :default_facility_code)\n@default_card_type = setting?(String, :default_card_type_href)\n@default_access_group = setting?(String, :default_access_group_href)\n@disabled_card_value = (setting(::Union(String, ::Nil), :disabled_card_value)) || \"Disabled (manually)\"\n@headers = {\"Authorization\" => @api_key, \"Content-Type\" => \"application/json\"}\n"}},{"html_id":"query_card_types-instance-method","name":"query_card_types","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L234"},"def":{"name":"query_card_types","visibility":"Public","body":"response = get(@card_types_endpoint, {\"top\" => \"10000\"}, headers: @headers)\nif response.success?\nelse\n raise(\"card types request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(CardType, response.body)\n"}},{"html_id":"query_cardholders(filter:String,pdf_name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"query_cardholders","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","args_html":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L222"},"def":{"name":"query_cardholders","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"pdf_id = \"pdf_\" + (pdf_name ? (get_pdfs(pdf_name)).first.id : @fixed_pdf_id).not_nil!\nquery = {pdf_id => exact_match ? \"\\\"#{filter}\\\"\" : filter, \"top\" => \"10000\"}\nresponse = get(@cardholders_endpoint, query, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder query request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(Cardholder, response.body)\n"}},{"html_id":"query_endpoints-instance-method","name":"query_endpoints","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L127"},"def":{"name":"query_endpoints","visibility":"Public","body":"response = get(\"/api\", headers: @headers)\nif response.success?\nelse\n raise(\"endpoints request failed with #{response.status_code}\\n#{response.body}\")\nend\npayload = JSON.parse(response.body)\nlogger.debug do\n \"endpoints query returned:\\n#{payload.inspect}\"\nend\napi_version = SemanticVersion.parse((payload[\"version\"].as_s.split('.'))[0..2].join('.'))\n@cardholders_endpoint = get_path(payload[\"features\"][\"cardholders\"][\"cardholders\"][\"href\"].as_s)\n@divisions_endpoint = @cardholders_endpoint.sub(\"cardholders\", \"divisions\")\n@access_groups_endpoint = get_path(payload[\"features\"][\"accessGroups\"][\"accessGroups\"][\"href\"].as_s)\n@events_endpoint = get_path(payload[\"features\"][\"events\"][\"events\"][\"href\"].as_s)\n@doors_endpoint = get_path(payload[\"features\"][\"doors\"][\"doors\"][\"href\"].as_s)\nif api_version >= (SemanticVersion.parse(\"8.10.0\"))\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"assign\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"personalDataFields\"][\"personalDataFields\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name}, @headers)\nelse\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"cardTypes\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"items\"][\"items\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name, \"type\" => \"33\"}, @headers)\nend\nif response.success?\n logger.debug do\n \"PDFS request returned:\\n#{response.body}\"\n end\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nresults = (JSON.parse(response.body))[\"results\"].as_a\nif results.empty?\nelse\n @fixed_pdf_id = results.first[\"id\"].as_s\nend\n"}},{"html_id":"remove_cardholder_access(id:String|Nil=nil,href:String|Nil=nil)-instance-method","name":"remove_cardholder_access","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L347"},"def":{"name":"remove_cardholder_access","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"update_cardholder(id, href, authorised: false)"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/gallagher/rest_api.cr","line_number":469,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L469"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"response = post(\"#{@doors_endpoint}/#{door_id}/open\", headers: @headers)\nresponse.success?\n"}},{"html_id":"update_cardholder(id:String|Nil=nil,href:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,remove_cards:Array(Card)|Nil=nil,update_cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,remove_access_groups:Array(CardholderAccessGroup)|Nil=nil,update_access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"update_cardholder","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L284"},"def":{"name":"update_cardholder","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"url = href ? get_path(href) : \"#{@cardholders_endpoint}/#{id.not_nil!}\"\nif (cards || remove_cards) || update_cards\n card_updates = {} of String => Array(Card)\n if cards\n card_updates[\"add\"] = cards\n end\n if update_cards\n card_updates[\"update\"] = update_cards\n end\n if remove_cards\n card_updates[\"remove\"] = remove_cards\n end\nend\nif (access_groups || remove_access_groups) || update_access_groups\n groups_update = {} of String => Array(CardholderAccessGroup)\n if access_groups\n groups_update[\"add\"] = access_groups\n end\n if update_access_groups\n groups_update[\"update\"] = update_access_groups\n end\n if remove_access_groups\n groups_update[\"remove\"] = remove_access_groups\n end\nend\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, card_updates, groups_update, division_href)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = patch(url, headers: @headers, body: payload)\nresult = process(response)\nresult.presence && (Cardholder.from_json(result))\n"}}],"macros":[{"html_id":"get_results(klass,response)-macro","name":"get_results","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"args_string":"(klass, response)","args_html":"(klass, response)","location":{"filename":"src/gallagher/rest_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L401"},"def":{"name":"get_results","args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":" \n%results\n = Results(\n{{ klass }}\n).from_json \n{{ response }}\n\n \n%result_array\n = \n%results\n.results\n loop do\n \n%next_uri\n = \n%results\n.next_uri\n break unless \n%next_uri\n\n \n%results\n = Results(\n{{ klass }}\n).from_json(get_raw(\n%next_uri\n[:href]))\n \n%result_array\n.concat \n%results\n.results\n \nend\n \n%result_array\n\n \n"}}],"types":[{"html_id":"drivers/Gallagher/RestAPI/BadRequest","path":"Gallagher/RestAPI/BadRequest.html","kind":"class","full_name":"Gallagher::RestAPI::BadRequest","name":"BadRequest","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":453,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L453"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/Conflict","path":"Gallagher/RestAPI/Conflict.html","kind":"class","full_name":"Gallagher::RestAPI::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L449"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/EventMap","path":"Gallagher/RestAPI/EventMap.html","kind":"struct","full_name":"Gallagher::RestAPI::EventMap","name":"EventMap","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"},"constructors":[{"html_id":"new(group:Int32,types:Array(Int32)|Nil,action:Action)-class-method","name":"new","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"args_string":"(group : Int32, types : Array(Int32) | Nil, action : Action)","args_html":"(group : Int32, types : Array(Int32) | Nil, action : Action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"new","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"visibility":"Public","body":"_ = allocate\n_.initialize(group, types, action)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L60"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Action-instance-method","name":"action","abstract":false,"def":{"name":"action","return_type":"Action","visibility":"Public","body":"@action"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@group.clone, @types.clone, @action.clone)"}},{"html_id":"copy_with(group_group=@group,types_types=@types,action_action=@action)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"args_string":"(group _group = @group, types _types = @types, action _action = @action)","args_html":"(group _group = @group, types _types = @types, action _action = @action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L59"},"def":{"name":"copy_with","args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"visibility":"Public","body":"self.class.new(_group, _types, _action)"}},{"html_id":"group:Int32-instance-method","name":"group","abstract":false,"def":{"name":"group","return_type":"Int32","visibility":"Public","body":"@group"}},{"html_id":"types:Array(Int32)|Nil-instance-method","name":"types","abstract":false,"def":{"name":"types","return_type":"Array(Int32) | ::Nil","visibility":"Public","body":"@types"}}]},{"html_id":"drivers/Gallagher/RestAPI/NotFound","path":"Gallagher/RestAPI/NotFound.html","kind":"class","full_name":"Gallagher::RestAPI::NotFound","name":"NotFound","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":451,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api.cr#L451"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}}]},{"html_id":"drivers/Gallagher/Results","path":"Gallagher/Results.html","kind":"class","full_name":"Gallagher::Results(ResultType)","name":"Results","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_uri:NamedTuple(href:String)|Nil-instance-method","name":"next_uri","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@next_uri"}},{"html_id":"next_uri=(next_uri:NamedTuple(href:String)|Nil)-instance-method","name":"next_uri=","abstract":false,"args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(next_uri : NamedTuple(href: String) | Nil)","args_html":"(next_uri : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri=","args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@next_uri = next_uri"}},{"html_id":"results:Array(ResultType)-instance-method","name":"results","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results","return_type":"Array(ResultType)","visibility":"Public","body":"@results"}},{"html_id":"results=(results:Array(ResultType))-instance-method","name":"results=","abstract":false,"args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"args_string":"(results : Array(ResultType))","args_html":"(results : Array(ResultType))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results=","args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"visibility":"Public","body":"@results = results"}}]}]},{"html_id":"drivers/Gantner","path":"Gantner.html","kind":"module","full_name":"Gantner","name":"Gantner","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gantner/Relaxx","path":"Gantner/Relaxx.html","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner","kind":"module","full_name":"Gantner","name":"Gantner"},"types":[{"html_id":"drivers/Gantner/Relaxx/Locker","path":"Gantner/Relaxx/Locker.html","kind":"class","full_name":"Gantner::Relaxx::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:Int32-instance-method","name":"address","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address","return_type":"Int32","visibility":"Public","body":"@address"}},{"html_id":"address=(address:Int32)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"Int32"}],"args_string":"(address : Int32)","args_html":"(address : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"Int32"}],"visibility":"Public","body":"@address = address"}},{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"card_id=(card_id:String)-instance-method","name":"card_id=","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"args_string":"(card_id : String)","args_html":"(card_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id=","args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"visibility":"Public","body":"@card_id = card_id"}},{"html_id":"group_id:String-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id","return_type":"String","visibility":"Public","body":"@group_id"}},{"html_id":"group_id=(group_id:String)-instance-method","name":"group_id=","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id=","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"@group_id = group_id"}},{"html_id":"group_name:String-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name","return_type":"String","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:String)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"args_string":"(group_name : String)","args_html":"(group_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_deleted:Bool-instance-method","name":"is_deleted","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted","return_type":"Bool","visibility":"Public","body":"@is_deleted"}},{"html_id":"is_deleted=(is_deleted:Bool)-instance-method","name":"is_deleted=","abstract":false,"args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"args_string":"(is_deleted : Bool)","args_html":"(is_deleted : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted=","args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"visibility":"Public","body":"@is_deleted = is_deleted"}},{"html_id":"is_existing:Bool-instance-method","name":"is_existing","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing","return_type":"Bool","visibility":"Public","body":"@is_existing"}},{"html_id":"is_existing=(is_existing:Bool)-instance-method","name":"is_existing=","abstract":false,"args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"args_string":"(is_existing : Bool)","args_html":"(is_existing : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing=","args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"visibility":"Public","body":"@is_existing = is_existing"}},{"html_id":"is_free:Bool-instance-method","name":"is_free","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free","return_type":"Bool","visibility":"Public","body":"@is_free"}},{"html_id":"is_free=(is_free:Bool)-instance-method","name":"is_free=","abstract":false,"args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"args_string":"(is_free : Bool)","args_html":"(is_free : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free=","args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"visibility":"Public","body":"@is_free = is_free"}},{"html_id":"last_closed:String-instance-method","name":"last_closed","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed","return_type":"String","visibility":"Public","body":"@last_closed"}},{"html_id":"last_closed=(last_closed:String)-instance-method","name":"last_closed=","abstract":false,"args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"args_string":"(last_closed : String)","args_html":"(last_closed : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed=","args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"visibility":"Public","body":"@last_closed = last_closed"}},{"html_id":"locker_mode-instance-method","name":"locker_mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L86"},"def":{"name":"locker_mode","visibility":"Public","body":"LockerMode.from_value(self.mode)"}},{"html_id":"locker_number:String-instance-method","name":"locker_number","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number","return_type":"String","visibility":"Public","body":"@locker_number"}},{"html_id":"locker_number=(locker_number:String)-instance-method","name":"locker_number=","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"args_string":"(locker_number : String)","args_html":"(locker_number : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number=","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"visibility":"Public","body":"@locker_number = locker_number"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L82"},"def":{"name":"locker_state","visibility":"Public","body":"LockerState.from_value(self.state)"}},{"html_id":"mode:Int32-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode","return_type":"Int32","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:Int32)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32)","args_html":"(mode : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerEvent","path":"Gantner/Relaxx/LockerEvent.html","kind":"enum","full_name":"Gantner::Relaxx::LockerEvent","name":"LockerEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Opened","name":"Opened","value":"0"},{"id":"Closed","name":"Closed","value":"1"},{"id":"Enabled","name":"Enabled","value":"2"},{"id":"Disabled","name":"Disabled","value":"3"},{"id":"Alarmed","name":"Alarmed","value":"4"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L96"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L93"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L95"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"enabled?-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L94"},"def":{"name":"enabled?","visibility":"Public","body":"self == Enabled"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L92"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerMode","path":"Gantner/Relaxx/LockerMode.html","kind":"enum","full_name":"Gantner::Relaxx::LockerMode","name":"LockerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"NotExisting","name":"NotExisting","value":"1"},{"id":"FreeLocker","name":"FreeLocker","value":"2"},{"id":"PersonalLocker","name":"PersonalLocker","value":"3"},{"id":"ReservableLocker","name":"ReservableLocker","value":"4"},{"id":"DynamicLocker","name":"DynamicLocker","value":"5"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"dynamic_locker?-instance-method","name":"dynamic_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L39"},"def":{"name":"dynamic_locker?","visibility":"Public","body":"self == DynamicLocker"}},{"html_id":"free_locker?-instance-method","name":"free_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L36"},"def":{"name":"free_locker?","visibility":"Public","body":"self == FreeLocker"}},{"html_id":"not_existing?-instance-method","name":"not_existing?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L35"},"def":{"name":"not_existing?","visibility":"Public","body":"self == NotExisting"}},{"html_id":"personal_locker?-instance-method","name":"personal_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L37"},"def":{"name":"personal_locker?","visibility":"Public","body":"self == PersonalLocker"}},{"html_id":"reservable_locker?-instance-method","name":"reservable_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L38"},"def":{"name":"reservable_locker?","visibility":"Public","body":"self == ReservableLocker"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L34"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerNotification","path":"Gantner/Relaxx/LockerNotification.html","kind":"class","full_name":"Gantner::Relaxx::LockerNotification","name":"LockerNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"area_name:String-instance-method","name":"area_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name","return_type":"String","visibility":"Public","body":"@area_name"}},{"html_id":"area_name=(area_name:String)-instance-method","name":"area_name=","abstract":false,"args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"args_string":"(area_name : String)","args_html":"(area_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name=","args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"visibility":"Public","body":"@area_name = area_name"}},{"html_id":"event:Int32-instance-method","name":"event","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event","return_type":"Int32","visibility":"Public","body":"@event"}},{"html_id":"event=(event:Int32)-instance-method","name":"event=","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Int32"}],"args_string":"(event : Int32)","args_html":"(event : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event=","args":[{"name":"event","external_name":"event","restriction":"Int32"}],"visibility":"Public","body":"@event = event"}},{"html_id":"group_name:Bool-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name","return_type":"Bool","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:Bool)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"args_string":"(group_name : Bool)","args_html":"(group_name : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"locker:Locker-instance-method","name":"locker","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker","return_type":"Locker","visibility":"Public","body":"@locker"}},{"html_id":"locker=(locker:Locker)-instance-method","name":"locker=","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"args_string":"(locker : Locker)","args_html":"(locker : Locker)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker=","args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"visibility":"Public","body":"@locker = locker"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L129"},"def":{"name":"locker_state","visibility":"Public","body":"self.locker.state"}},{"html_id":"prev_state:Int32-instance-method","name":"prev_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state","return_type":"Int32","visibility":"Public","body":"@prev_state"}},{"html_id":"prev_state=(prev_state:Int32)-instance-method","name":"prev_state=","abstract":false,"args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"args_string":"(prev_state : Int32)","args_html":"(prev_state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state=","args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"visibility":"Public","body":"@prev_state = prev_state"}},{"html_id":"previous_state-instance-method","name":"previous_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L133"},"def":{"name":"previous_state","visibility":"Public","body":"LockerState.from_value(self.prev_state)"}},{"html_id":"time:String-instance-method","name":"time","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time","return_type":"String","visibility":"Public","body":"@time"}},{"html_id":"time=(time:String)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"String"}],"args_string":"(time : String)","args_html":"(time : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"String"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerState","path":"Gantner/Relaxx/LockerState.html","kind":"enum","full_name":"Gantner::Relaxx::LockerState","name":"LockerState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"Disabled","name":"Disabled","value":"1"},{"id":"Free","name":"Free","value":"2"},{"id":"InUse","name":"InUse","value":"3"},{"id":"Locked","name":"Locked","value":"4"},{"id":"Alarmed","name":"Alarmed","value":"5"},{"id":"InUseExpired","name":"InUseExpired","value":"6"},{"id":"Conflict","name":"Conflict","value":"7"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L28"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"conflict?-instance-method","name":"conflict?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L30"},"def":{"name":"conflict?","visibility":"Public","body":"self == Conflict"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L24"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"free?-instance-method","name":"free?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L25"},"def":{"name":"free?","visibility":"Public","body":"self == Free"}},{"html_id":"in_use?-instance-method","name":"in_use?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L26"},"def":{"name":"in_use?","visibility":"Public","body":"self == InUse"}},{"html_id":"in_use_expired?-instance-method","name":"in_use_expired?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L29"},"def":{"name":"in_use_expired?","visibility":"Public","body":"self == InUseExpired"}},{"html_id":"locked?-instance-method","name":"locked?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L27"},"def":{"name":"locked?","visibility":"Public","body":"self == Locked"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L23"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/ProtocolJSON","path":"Gantner/Relaxx/ProtocolJSON.html","kind":"class","full_name":"Gantner::Relaxx::ProtocolJSON","name":"ProtocolJSON","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"close_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"close_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L115"},"def":{"name":"close_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(false, locker_number, locker_group)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"self[\"authenticated\"] = @authenticated = false\nrequest_auth_string\nschedule.every(40.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n @authenticated ? keep_alive : request_auth_string\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L58"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L62"},"def":{"name":"keep_alive","visibility":"Public","body":"send_frame({Caption: \"KeepAliveRequest\", Id: new_request_id}, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[3])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@password = (setting?(String, :password)) || \"GAT\""}},{"html_id":"open_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"open_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L111"},"def":{"name":"open_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(true, locker_number, locker_group)"}},{"html_id":"query_lockers(free_only:Bool=false)-instance-method","name":"query_lockers","abstract":false,"args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"args_string":"(free_only : Bool = false)","args_html":"(free_only : Bool = false)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L147"},"def":{"name":"query_lockers","args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"visibility":"Public","body":"send_frame({Caption: \"GetLockersRequest\", Id: new_request_id, FreeLockersOnly: free_only, PersonalLockersOnly: false})"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L156"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data))[1..-2]\nlogger.debug do\n \"Gantner Relaxx sent: #{data}\"\nend\njson = JSON.parse(data)\nif json[\"IsNotification\"].as_bool\n return parse_notify(json[\"Caption\"].as_s, data)\nend\nresult = Result.from_json(json[\"Result\"].to_json)\nif result.cancelled\n return task.try(&.abort(\"request cancelled, #{result.code}: #{result.text}\"))\nend\nif !result.successful\n return task.try(&.abort(\"request failed, #{result.code}: #{result.text}\"))\nend\ncase json[\"Caption\"].as_s\nwhen \"AuthenticationResponseA\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n return task.try(&.success)\n end\n login(json[\"AuthenticationString\"].as_s)\nwhen \"AuthenticationResponseB\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n logger.debug do\n \"authentication success\"\n end\n if @locker_ids.empty?\n query_lockers\n end\n else\n logger.warn do\n \"authentication failure - please check credentials\"\n end\n end\nwhen \"GetLockersResponse\"\n lockers = Array(Locker).from_json(json[\"Lockers\"].to_json)\n lockers.each do |locker|\n locker_id = locker.id\n @locker_ids << locker_id\n if locker.locker_state != LockerState::Free\n @lockers_in_use << locker_id\n self[\"locker_#{locker_id}\"] = locker.card_id\n else\n @lockers_in_use.delete(locker_id)\n end\n end\n self[:locker_ids] = @locker_ids\n self[:lockers_in_use] = @lockers_in_use\nwhen \"CommandNotSupportedResponse\"\n logger.warn do\n \"Command not supported!\"\n end\n return task.try(&.abort(\"Command not supported!\"))\nend\ntask.try(&.success)\n"}},{"html_id":"request_auth_string-instance-method","name":"request_auth_string","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L69"},"def":{"name":"request_auth_string","visibility":"Public","body":"send_frame({Caption: \"AuthenticationRequestA\", Id: new_request_id}, priority: 9998)"}},{"html_id":"set_open_state(open:Bool,locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"set_open_state","abstract":false,"args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","args_html":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/protocol_json.cr#L119"},"def":{"name":"set_open_state","args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"action = open ? \"0\" : \"1\"\ntask = if locker_number.includes?(\"-\")\n send_frame({Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerId: locker_number})\nelse\n request = {Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerNumber: locker_number}\n if locker_group\n send_frame(request.merge({LockerGroupId: locker_group}))\n else\n send_frame(request)\n end\nend\ntask\n"}}]},{"html_id":"drivers/Gantner/Relaxx/Result","path":"Gantner/Relaxx/Result.html","kind":"class","full_name":"Gantner::Relaxx::Result","name":"Result","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancelled:Bool-instance-method","name":"cancelled","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled","return_type":"Bool","visibility":"Public","body":"@cancelled"}},{"html_id":"cancelled=(cancelled:Bool)-instance-method","name":"cancelled=","abstract":false,"args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"args_string":"(cancelled : Bool)","args_html":"(cancelled : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled=","args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"visibility":"Public","body":"@cancelled = cancelled"}},{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"successful:Bool-instance-method","name":"successful","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful","return_type":"Bool","visibility":"Public","body":"@successful"}},{"html_id":"successful=(successful:Bool)-instance-method","name":"successful=","abstract":false,"args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"args_string":"(successful : Bool)","args_html":"(successful : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful=","args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"visibility":"Public","body":"@successful = successful"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}}]}]}]},{"html_id":"drivers/GlobalCache","path":"GlobalCache.html","kind":"module","full_name":"GlobalCache","name":"GlobalCache","abstract":false,"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GlobalCache/Gc100","path":"GlobalCache/Gc100.html","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\""}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"}],"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"@relay_config = {} of String => Hash(Int32, String)\n@port_config = {} of String => Tuple(String, Int32)\nself[:config_indexed] = false\nschedule.clear\nschedule.every(10.seconds, true) do\n logger.debug do\n \"-- Polling GC100\"\n end\n if self[:config_indexed].as_bool\n else\n get_devices\n end\n do_send(\"get_NET,0:1\", priority: 0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L40"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_devices-instance-method","name":"get_devices","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L44"},"def":{"name":"get_devices","visibility":"Public","body":"do_send(\"getdevices\")"}},{"html_id":"ir(index:Int32,command:String,**options)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String, **options)","args_html":"(index : Int32, command : String, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L59"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"sendir,1:#{index},#{command}\", **options)"}},{"html_id":"ir_status?(index:Int32,**options)-instance-method","name":"ir_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L88"},"def":{"name":"ir_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\nself[:num_relays] = 0\nself[:num_ir] = 0\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/global_cache/gc_100.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L97"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nlogger.debug do\n \"GlobalCache sent #{data}\"\nend\ndata = data.split(',')\ntask_name = task.try(&.name) || \"unknown\"\ncase data[0]\nwhen \"state\", \"statechange\"\n type, index = self[:port_config][data[1]]\n self[\"#{type}#{index}\"] = data[2] == \"1\"\nwhen \"device\"\n address = data[1]\n number, type = data[2].split(' ')\n type = type.downcase\n __temp_221 = type\n @relay_config[__temp_221]? || (@relay_config[__temp_221] = {} of Int32 => String)\n current = @relay_config[type].size\n (current..((current + number.to_i) - 1)).each_with_index(1) do |i, dev_index|\n port = \"#{address}:#{dev_index}\"\n @relay_config[type][i] = port\n @port_config[port] = {type, i}\n end\n return task.try(&.success)\nwhen \"endlistdevices\"\n if @relay_config[\"relay\"]?\n self[:num_relays] = @relay_config[\"relay\"].size\n end\n if @relay_config[\"relaysensor\"]?\n @relay_config[\"relaysensor\"][1] = \"1:2\"\n @relay_config[\"relaysensor\"][2] = \"1:3\"\n @relay_config[\"relaysensor\"][3] = \"1:4\"\n self[:num_relays] = @relay_config[\"relaysensor\"].size\n end\n if @relay_config[\"ir\"]?\n self[:num_ir] = @relay_config[\"ir\"].size\n end\n self[:relay_config] = @relay_config\n self[:port_config] = @port_config\n logger.debug do\n \"self[:relay_config] is #{self[:relay_config]}\"\n end\n logger.debug do\n \"self[:port_config] is #{self[:port_config]}\"\n end\n @relay_config = {} of String => Hash(Int32, String)\n @port_config = {} of String => Tuple(String, Int32)\n self[:config_indexed] = true\n return task.try(&.success)\nend\nif data.size == 1\n error = case (data[0].split(' '))[1].to_i\n when 1\n \"Command was missing the carriage return delimiter\"\n when 2\n \"Invalid module address when looking for version\"\n when 3\n \"Invalid module address\"\n when 4\n \"Invalid connector address\"\n when 5\n \"Connector address 1 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 6\n \"Connector address 2 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 7\n \"Connector address 3 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 8\n \"Offset is set to an even transition number, but should be set to an odd transition number in the IR command\"\n when 9\n \"Maximum number of transitions exceeded (256 total on/off transitions allowed)\"\n when 10\n \"Number of transitions in the IR command is not even (the same number of on and off transitions is required)\"\n when 11\n \"Contact closure command sent to a module that is not a relay\"\n when 12\n \"Missing carriage return. All commands must end with a carriage return\"\n when 13\n \"State was requested of an invalid connector address, or the connector is programmed as IR out and not sensor in.\"\n when 14\n \"Command sent to the unit is not supported by the GC-100\"\n when 15\n \"Maximum number of IR transitions exceeded\"\n when 16\n \"Invalid number of IR transitions (must be an even number)\"\n when 21\n \"Attempted to send an IR command to a non-IR module\"\n when 23\n \"Command sent is not supported by this type of module\"\n else\n \"Unknown error\"\n end\n return task.try(&.abort(\"GlobalCache error for command #{task_name}: #{error}\"))\nend\ntask.try(&.success)\n"}},{"html_id":"relay(state:Bool,index:Int32=0,**options)-instance-method","name":"relay","doc":"`**options` here will be passed to the `task` to allow for different priorities","summary":"

**options here will be passed to the task to allow for different priorities

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(state : Bool, index : Int32 = 0, **options)","args_html":"(state : Bool, index : Int32 = 0, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L48"},"def":{"name":"relay","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n relays = (self[:relay_config][\"relay\"]? || self[:relay_config][\"relaysensor\"]?).not_nil!.as_h\n logger.debug do\n \"relays = #{relays}\"\n end\n connector = relays[index.to_s]\n do_send(\"setstate,#{connector},#{state ? 1 : 0}\", **options)\nelse\n logger.warn do\n \"Attempted to set relay on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"relay_status?(index:Int32,**options)-instance-method","name":"relay_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L79"},"def":{"name":"relay_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n connector = self[:relay_config][\"relay\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"set_ir(index:Int32,mode:IrMode,**options)-instance-method","name":"set_ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"args_string":"(index : Int32, mode : IrMode, **options)","args_html":"(index : Int32, mode : IrMode, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L70"},"def":{"name":"set_ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"set_IR,#{connector},#{mode}\", **options)\nelse\n logger.warn do\n \"Attempted to set IR mode on GlobalCache that does not exist: #{index}\"\n end\nend"}}],"types":[{"html_id":"drivers/GlobalCache/Gc100/IrMode","path":"GlobalCache/Gc100/IrMode.html","kind":"enum","full_name":"GlobalCache::Gc100::IrMode","name":"IrMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L63"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IR","name":"IR","value":"0"},{"id":"SENSOR","name":"SENSOR","value":"1"},{"id":"SENSOR_NOTIFY","name":"SENSOR_NOTIFY","value":"2"},{"id":"IR_NOCARRIER","name":"IR_NOCARRIER","value":"3"}],"namespace":{"html_id":"drivers/GlobalCache/Gc100","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100"},"instance_methods":[{"html_id":"ir?-instance-method","name":"ir?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L64"},"def":{"name":"ir?","visibility":"Public","body":"self == IR"}},{"html_id":"ir_nocarrier?-instance-method","name":"ir_nocarrier?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L67"},"def":{"name":"ir_nocarrier?","visibility":"Public","body":"self == IR_NOCARRIER"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L65"},"def":{"name":"sensor?","visibility":"Public","body":"self == SENSOR"}},{"html_id":"sensor_notify?-instance-method","name":"sensor_notify?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/gc_100.cr#L66"},"def":{"name":"sensor_notify?","visibility":"Public","body":"self == SENSOR_NOTIFY"}}]}]},{"html_id":"drivers/GlobalCache/IRTV","path":"GlobalCache/IRTV.html","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"channel(id:String,ir_set:String=\"\",ir_index:Int32=0)-instance-method","name":"channel","doc":"Actually send the IR commands, via the globalcache","summary":"

Actually send the IR commands, via the globalcache

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"args_string":"(id : String, ir_set : String = \"\", ir_index : Int32 = 0)","args_html":"(id : String, ir_set : String = "", ir_index : Int32 = 0)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L150"},"def":{"name":"channel","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"visibility":"Public","body":"if ir_set.presence\nelse\n ir_set = @default_ir_set\nend\nif ir_index == 0\n ir_index = @default_ir_index\nend\nresult = @channel_lookup[id].ir_commands.map do |ir_command_name|\n (system[@globalcache].ir(ir_index, @ir_commands[ir_set][ir_command_name])).get\n sleep(500.milliseconds)\nend\nself[:current_channel] = id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L119"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L123"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache = setting(String, :globalcache_module)\n@default_ir_set = setting(String, :default_ir_set)\n@default_ir_index = setting(Int32, :default_ir_index)\n@channels = setting(Array(Channel), :channel_details)\nupdated_channel_lookup = {} of String => Channel\n@channels.each do |channel|\n updated_channel_lookup[channel.channel] = channel\nend\n@channel_lookup = updated_channel_lookup\nglobalcache_ir_sets = setting(Hash(String, String), :globalcache_ir_sets)\nupdated_ir_commands = {} of String => Hash(String, String)\nglobalcache_ir_sets.each do |device, all_commands|\n updated_ir_commands[device] = parse_all_commands(all_commands)\nend\n@ir_commands = updated_ir_commands\nself[:channel_details] = @channels\nself[:ir_commands] = @ir_commands\n"}}],"types":[{"html_id":"drivers/GlobalCache/IRTV/Channel","path":"GlobalCache/IRTV/Channel.html","kind":"class","full_name":"GlobalCache::IRTV::Channel","name":"Channel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GlobalCache/IRTV","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L87"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L86"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"ir_commands:Array(String)-instance-method","name":"ir_commands","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L88"},"def":{"name":"ir_commands","return_type":"Array(String)","visibility":"Public","body":"@ir_commands"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/ir_tv.cr#L85"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/GlobalCache/ProjectorScreen","path":"GlobalCache/ProjectorScreen.html","kind":"class","full_name":"GlobalCache::ProjectorScreen","name":"ProjectorScreen","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"down-instance-method","name":"down","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L54"},"def":{"name":"down","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_down)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache_module = (setting(String, :globalcache_module)) || \"DigitalIO_1\"\n@globalcache_relay_method = (setting(String, :globalcache_relay_method)) || \"pulse\"\n@globalcache_relay_index_down = (setting(Int32, :globalcache_relay_index_down)) || 0\n@globalcache_relay_index_up = (setting(Int32, :globalcache_relay_index_up)) || 1\n@globalcache_relay_pulse_milliseconds = (setting(Int32, :globalcache_relay_pulse_milliseconds)) || 1000\n"}},{"html_id":"up-instance-method","name":"up","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen.cr#L43"},"def":{"name":"up","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_up)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}}]}]},{"html_id":"drivers/GoBright","path":"GoBright.html","kind":"module","full_name":"GoBright","name":"GoBright","abstract":false,"locations":[{"filename":"src/gobright/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GoBright/AccessToken","path":"GoBright/AccessToken.html","kind":"struct","full_name":"GoBright::AccessToken","name":"AccessToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L195"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"expires_at:Time-instance-method","name":"expires_at","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L198"},"def":{"name":"expires_at","return_type":"Time","visibility":"Public","body":"expires_in.seconds.from_now"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L196"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}}]},{"html_id":"drivers/GoBright/Amenity","path":"GoBright/Amenity.html","kind":"struct","full_name":"GoBright::Amenity","name":"Amenity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L89"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L90"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_for_desk:Bool|Nil-instance-method","name":"available_for_desk","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L101"},"def":{"name":"available_for_desk","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_desk"}},{"html_id":"available_for_parking:Bool|Nil-instance-method","name":"available_for_parking","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L104"},"def":{"name":"available_for_parking","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_parking"}},{"html_id":"available_for_room:Bool|Nil-instance-method","name":"available_for_room","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L98"},"def":{"name":"available_for_room","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_room"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L93"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L94"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L92"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"order:Int32|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L95"},"def":{"name":"order","return_type":"Int32 | ::Nil","visibility":"Public","body":"@order"}}]},{"html_id":"drivers/GoBright/API","path":"GoBright/API.html","kind":"class","full_name":"GoBright::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"bookings(starting:Int64,ending:Int64,location_id:String|Array(String)|Nil=nil,space_id:String|Array(String)|Nil=nil)-instance-method","name":"bookings","doc":"the list of booking occurances in the time period specified","summary":"

the list of booking occurances in the time period specified

","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","args_html":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L109"},"def":{"name":"bookings","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"1000\")\n form.add(\"include\", \"spaces,organizer,attendees\")\n form.add(\"start\", (Time.unix(starting)).to_rfc3339)\n form.add(\"end\", (Time.unix(ending)).to_rfc3339)\n if location_id\n location_ids = location_id.is_a?(Array) ? location_id : [location_id]\n location_ids.each do |loc|\n form.add(\"locationIds\", loc)\n end\n end\n if space_id\n space_ids = space_id.is_a?(Array) ? space_id : [space_id]\n space_ids.each do |space|\n form.add(\"spaceIds\", space)\n end\n end\nend\nArray(Occurrence).from_json(fetch(\"/api/v2.0/bookings/occurrences?#{params}\"))\n"}},{"html_id":"fetch(location:String):String-instance-method","name":"fetch","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/gobright/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L29"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"next_page = location\nappend = location.includes?('?') ? '&' : '?'\nString.build do |str|\n str << \"[\"\n loop do\n logger.debug do\n \"requesting: #{next_page}\"\n end\n response = get(next_page, headers: HTTP::Headers {\"Authorization\" => get_token, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = begin\n Response.from_json(response.body)\n rescue error : JSON::SerializableError\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(error)\n end\n if data = payload.data || payload.items\n str << data.strip[1..-2]\n end\n continuation = payload.paging.try(&.token)\n total_items = payload.paging.try(&.total)\n if continuation\n next_page = \"#{location}#{append}continuationToken=#{continuation}\"\n else\n if total_items\n uri = URI.parse(next_page)\n params = uri.query_params\n skip = params[\"pagingSkip\"]?.try(&.to_i) || 0\n taking = params[\"pagingTake\"]?.try(&.to_i) || 100\n if (skip + taking) >= total_items\n break\n end\n params[\"pagingSkip\"] = (skip + taking).to_s\n uri.query_params = params\n next_page = uri.to_s\n else\n break\n end\n end\n str << \",\"\n end\n str << \"]\"\nend\n"}},{"html_id":"live_occupancy(location:String,type:SpaceType|Nil=nil)-instance-method","name":"live_occupancy","doc":"the occupancy status of the spaces","summary":"

the occupancy status of the spaces

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"args_string":"(location : String, type : SpaceType | Nil = nil)","args_html":"(location : String, type : SpaceType | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L132"},"def":{"name":"live_occupancy","args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n form.add(\"filterLocationId\", location)\n if type\n form.add(\"filterSpaceType\", type.value.to_s)\n end\nend\nArray(Occupancy).from_json(fetch(\"/api/v2.0/occupancy/space/live?#{params}\"))\n"}},{"html_id":"locations-instance-method","name":"locations","doc":"the list of buildings, levels, areas etc","summary":"

the list of buildings, levels, areas etc

","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L88"},"def":{"name":"locations","visibility":"Public","body":"Array(Location).from_json(fetch(\"/api/v2.0/locations?pagingTake=100\"))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}},{"html_id":"spaces(location:String|Nil=nil,types:SpaceType|Array(SpaceType)|Nil=nil)-instance-method","name":"spaces","doc":"a list of spaces in the locations. rooms, desks and parking","summary":"

a list of spaces in the locations.

","abstract":false,"args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"args_string":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","args_html":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/api.cr#L93"},"def":{"name":"spaces","args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n if location.presence.nil?\n else\n form.add(\"LocationId\", location.to_s)\n end\n if types\n types = types.is_a?(Array) ? types : [types]\n types.each do |type|\n form.add(\"SpaceTypes\", type.value.to_s)\n end\n end\nend\nArray(Space).from_json(fetch(\"/api/v2.0/spaces?#{params}\"))\n"}}]},{"html_id":"drivers/GoBright/ApprovalState","path":"GoBright/ApprovalState.html","kind":"enum","full_name":"GoBright::ApprovalState","name":"ApprovalState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L203"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Inactive","name":"Inactive","value":"0"},{"id":"NeedsApproval","name":"NeedsApproval","value":"1"},{"id":"Approved","name":"Approved","value":"2"},{"id":"Rejected","name":"Rejected","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"approved?-instance-method","name":"approved?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L206"},"def":{"name":"approved?","visibility":"Public","body":"self == Approved"}},{"html_id":"inactive?-instance-method","name":"inactive?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L204"},"def":{"name":"inactive?","visibility":"Public","body":"self == Inactive"}},{"html_id":"needs_approval?-instance-method","name":"needs_approval?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L205"},"def":{"name":"needs_approval?","visibility":"Public","body":"self == NeedsApproval"}},{"html_id":"rejected?-instance-method","name":"rejected?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L207"},"def":{"name":"rejected?","visibility":"Public","body":"self == Rejected"}}]},{"html_id":"drivers/GoBright/Attendee","path":"GoBright/Attendee.html","kind":"struct","full_name":"GoBright::Attendee","name":"Attendee","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L222"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"email_address=(email_address:String|Nil)-instance-method","name":"email_address=","abstract":false,"args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"args_string":"(email_address : String | Nil)","args_html":"(email_address : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L222"},"def":{"name":"email_address=","args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email_address = email_address"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L223"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L223"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/GoBright/BookingType","path":"GoBright/BookingType.html","kind":"enum","full_name":"GoBright::BookingType","name":"BookingType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L210"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"BookingOnRoom","name":"BookingOnRoom","value":"0"},{"id":"ServiceOnly","name":"ServiceOnly","value":"1"},{"id":"BookingOnDesk","name":"BookingOnDesk","value":"2"},{"id":"BookingAsTeam","name":"BookingAsTeam","value":"3"},{"id":"BookingOnParking","name":"BookingOnParking","value":"4"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"booking_as_team?-instance-method","name":"booking_as_team?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L214"},"def":{"name":"booking_as_team?","visibility":"Public","body":"self == BookingAsTeam"}},{"html_id":"booking_on_desk?-instance-method","name":"booking_on_desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L213"},"def":{"name":"booking_on_desk?","visibility":"Public","body":"self == BookingOnDesk"}},{"html_id":"booking_on_parking?-instance-method","name":"booking_on_parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L215"},"def":{"name":"booking_on_parking?","visibility":"Public","body":"self == BookingOnParking"}},{"html_id":"booking_on_room?-instance-method","name":"booking_on_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L211"},"def":{"name":"booking_on_room?","visibility":"Public","body":"self == BookingOnRoom"}},{"html_id":"service_only?-instance-method","name":"service_only?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L212"},"def":{"name":"service_only?","visibility":"Public","body":"self == ServiceOnly"}}]},{"html_id":"drivers/GoBright/DeskPeriod","path":"GoBright/DeskPeriod.html","kind":"struct","full_name":"GoBright::DeskPeriod","name":"DeskPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L67"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L64"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L55"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L61"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L58"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Location","path":"GoBright/Location.html","kind":"struct","full_name":"GoBright::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L107"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_desk_periods:DeskPeriod|Nil-instance-method","name":"booking_desk_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L142"},"def":{"name":"booking_desk_periods","return_type":"DeskPeriod | ::Nil","visibility":"Public","body":"@booking_desk_periods"}},{"html_id":"booking_parking_periods:ParkingPeriod|Nil-instance-method","name":"booking_parking_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L145"},"def":{"name":"booking_parking_periods","return_type":"ParkingPeriod | ::Nil","visibility":"Public","body":"@booking_parking_periods"}},{"html_id":"full_path:String|Nil-instance-method","name":"full_path","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L130"},"def":{"name":"full_path","return_type":"String | ::Nil","visibility":"Public","body":"@full_path"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L133"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L110"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_id:String|Nil-instance-method","name":"image_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L139"},"def":{"name":"image_id","return_type":"String | ::Nil","visibility":"Public","body":"@image_id"}},{"html_id":"level:Int64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L127"},"def":{"name":"level","return_type":"Int64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L118"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name_indented:String|Nil-instance-method","name":"name_indented","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L121"},"def":{"name":"name_indented","return_type":"String | ::Nil","visibility":"Public","body":"@name_indented"}},{"html_id":"old_id:Int64|Nil-instance-method","name":"old_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L113"},"def":{"name":"old_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@old_id"}},{"html_id":"order:Int64|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L124"},"def":{"name":"order","return_type":"Int64 | ::Nil","visibility":"Public","body":"@order"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L116"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"visitor_kiosk_enabled:Bool|Nil-instance-method","name":"visitor_kiosk_enabled","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L136"},"def":{"name":"visitor_kiosk_enabled","return_type":"Bool | ::Nil","visibility":"Public","body":"@visitor_kiosk_enabled"}}]},{"html_id":"drivers/GoBright/LocationService","path":"GoBright/LocationService.html","kind":"class","full_name":"GoBright::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCHES","name":"NO_MATCHES","value":"[] of String"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L74"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"cache_space_details-instance-method","name":"cache_space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L77"},"def":{"name":"cache_space_details","visibility":"Public","body":"space_details = {} of String => Space\n(Array(Space).from_json(gobright.spaces.get.to_json)).each do |space|\n space_details[space.id] = space\nend\n@space_details = space_details\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/gobright/location_service.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L128"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"checking ownership of: #{mac_address}\"\nend\nif mac_address.starts_with?(\"gobright-\")\nelse\n return\nend\nid = (mac_address.split(\"gobright-\"))[1]\n@cached_booking_data.each do |zone_id, lookup|\n if booking = lookup[id]?\n return {location: \"booking\", assigned_to: booking.organizer.try(&.email_address) || (booking.attendees.first.email_address.as(String)), mac_address: mac_address}\n end\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L145"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nif location && (!(location.in?({\"desk\", \"area\", \"booking\"})))\n return [] of Nil\nend\ngobright_location_id = @floor_mappings[zone_id]\nspaces = {} of String => Space\nspace_details.each_value do |space|\n if space.location_id == gobright_location_id\n else\n next\n end\n spaces[space.id] = space.dup\nend\noccupancy = Array(Occupancy).from_json((gobright.live_occupancy(gobright_location_id)).get.to_json)\noccupancy.each do |details|\n space = spaces[details.id]?\n if space\n else\n next\n end\n space.occupied = details.occupied? || false\nend\ndesk_types = @desk_space_types\noccupancy_locs = spaces.values.compact_map do |space|\n loc_type = space.type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n if (occupied = space.occupied?) || @return_empty_spaces\n {location: loc_type, at_location: occupied ? 1 : 0, map_id: space.name, level: zone_id, building: building_id, capacity: space.capacity || 1, gobright_location_id: gobright_location_id, gobright_space_name: space.name, gobright_space_type: space.type, gobright_space_id: space.id}\n end\nend\nif location && (location != \"booking\")\n return spaces\nend\nbookings = Array(Occurrence).from_json((gobright.bookings(1.minutes.ago.to_unix, 10.minutes.from_now.to_unix, gobright_location_id)).get.to_json)\nlookup = {} of String => Occurrence\nbooking_locs = bookings.compact_map do |occurrence|\n space = nil\n occurrence.spaces.each do |details|\n space = spaces[details.id]?\n if space\n break\n end\n end\n if space\n else\n next\n end\n occurrence.zone_id = zone_id\n occurrence.matched_space = space\n lookup[occurrence.id] = occurrence\n map_booking(occurrence, space, zone_id)\nend\n@cached_booking_data[zone_id] = lookup\nbooking_locs.map() do |__arg6|\n __arg6.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend + occupancy_locs.map() do |__arg7|\n __arg7.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L66"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L61"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"if (value = @level_details).nil?\n @level_details = (Hash(String, LevelCapacity).from_json(area_management.level_details.get.to_json))\nelse\n value\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"NOTE:: we could keep track of current bookings and then use that information to assign ownership of a desk\nif the desks are being booked via the check-in/check-out\nthis would allow us to locate","summary":"

NOTE : we could keep track of current bookings and then use that information to assign ownership of a desk if the desks are being booked via the check-in/check-out this would allow us to locate

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L95"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for user #{email}\"\nend\nmatches = [] of Occurrence\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n else\n next\n end\n matches << booking\n end\nend\nmatches.compact_map do |booking|\n zone_id = booking.zone_id\n map_booking(booking, booking.matched_space, zone_id, level_details[zone_id]?.try(&.desk_mappings))\nend\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/gobright/location_service.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L116"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"if email\nelse\n return NO_MATCHES\nend\nlogger.debug do\n \"checking if any bookings for email: #{email}\"\nend\nmatches = [] of String\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n matches << \"gobright-#{booking.id}\"\n end\n end\nend\nmatches\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(SpaceType), :desk_space_types)) || [SpaceType::Desk]\n@floor_mappings = (setting(Hash(String, Mapping), :gobright_floor_mappings)).transform_values(&.location_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\ntimezone = Time::Location.load(system.timezone.presence || \"Australia/Sydney\")\nschedule.clear\nschedule.cron((setting?(String, :space_cache_cron)) || \"0 5 * * *\", timezone) do\n cache_space_details\nend\nschedule.every(10.minutes) do\n @level_details = nil\nend\n"}},{"html_id":"space_details:Hash(String,Space)-instance-method","name":"space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L75"},"def":{"name":"space_details","return_type":"Hash(String, Space)","visibility":"Public","body":"if (value = @space_details).nil?\n @space_details = (cache_space_details)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/GoBright/LocationService/LevelCapacity","path":"GoBright/LocationService/LevelCapacity.html","kind":"struct","full_name":"GoBright::LocationService::LevelCapacity","name":"LevelCapacity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_mappings:Hash(String,String)-instance-method","name":"desk_mappings","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L45"},"def":{"name":"desk_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"@desk_mappings"}}]},{"html_id":"drivers/GoBright/LocationService/Mapping","path":"GoBright/LocationService/Mapping.html","kind":"struct","full_name":"GoBright::LocationService::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/location_service.cr#L39"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}}]}]},{"html_id":"drivers/GoBright/Metadata","path":"GoBright/Metadata.html","kind":"struct","full_name":"GoBright::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L11"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"status_code:Int32|Nil-instance-method","name":"status_code","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L8"},"def":{"name":"status_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status_code"}},{"html_id":"validation_errors:Array(Hash(String,String))|Nil-instance-method","name":"validation_errors","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L14"},"def":{"name":"validation_errors","return_type":"Array(Hash(String, String)) | ::Nil","visibility":"Public","body":"@validation_errors"}}]},{"html_id":"drivers/GoBright/Occupancy","path":"GoBright/Occupancy.html","kind":"struct","full_name":"GoBright::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L182"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L183"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L186"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"occupied?:Bool|Nil-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L189"},"def":{"name":"occupied?","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}}]},{"html_id":"drivers/GoBright/Occurrence","path":"GoBright/Occurrence.html","kind":"struct","full_name":"GoBright::Occurrence","name":"Occurrence","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L226"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L227"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approval_state:ApprovalState|Nil-instance-method","name":"approval_state","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L244"},"def":{"name":"approval_state","return_type":"ApprovalState | ::Nil","visibility":"Public","body":"@approval_state"}},{"html_id":"approval_state=(approval_state:ApprovalState|Nil)-instance-method","name":"approval_state=","abstract":false,"args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"args_string":"(approval_state : ApprovalState | Nil)","args_html":"(approval_state : ApprovalState | Nil)","location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L244"},"def":{"name":"approval_state=","args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"visibility":"Public","body":"@approval_state = approval_state"}},{"html_id":"attendee_amount:Int32|Nil-instance-method","name":"attendee_amount","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount","return_type":"Int32 | ::Nil","visibility":"Public","body":"@attendee_amount"}},{"html_id":"attendee_amount=(attendee_amount:Int32|Nil)-instance-method","name":"attendee_amount=","abstract":false,"args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"args_string":"(attendee_amount : Int32 | Nil)","args_html":"(attendee_amount : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount=","args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@attendee_amount = attendee_amount"}},{"html_id":"attendees:Array(Attendee)-instance-method","name":"attendees","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L260"},"def":{"name":"attendees","return_type":"Array(Attendee)","visibility":"Public","body":"@attendees"}},{"html_id":"attendees=(attendees:Array(Attendee))-instance-method","name":"attendees=","abstract":false,"args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"args_string":"(attendees : Array(Attendee))","args_html":"(attendees : Array(Attendee))","location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L260"},"def":{"name":"attendees=","args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"visibility":"Public","body":"@attendees = attendees"}},{"html_id":"booking_type:BookingType-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L235"},"def":{"name":"booking_type","return_type":"BookingType","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:BookingType)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"args_string":"(booking_type : BookingType)","args_html":"(booking_type : BookingType)","location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L235"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"composed_id:String-instance-method","name":"composed_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L232"},"def":{"name":"composed_id","return_type":"String","visibility":"Public","body":"@composed_id"}},{"html_id":"composed_id=(composed_id:String)-instance-method","name":"composed_id=","abstract":false,"args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"args_string":"(composed_id : String)","args_html":"(composed_id : String)","location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L232"},"def":{"name":"composed_id=","args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"visibility":"Public","body":"@composed_id = composed_id"}},{"html_id":"confirmation_active:Bool|Nil-instance-method","name":"confirmation_active","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmation_active"}},{"html_id":"confirmation_active=(confirmation_active:Bool|Nil)-instance-method","name":"confirmation_active=","abstract":false,"args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"args_string":"(confirmation_active : Bool | Nil)","args_html":"(confirmation_active : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active=","args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmation_active = confirmation_active"}},{"html_id":"confirmation_window_end:String|Nil-instance-method","name":"confirmation_window_end","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_end"}},{"html_id":"confirmation_window_end=(confirmation_window_end:String|Nil)-instance-method","name":"confirmation_window_end=","abstract":false,"args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_end : String | Nil)","args_html":"(confirmation_window_end : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end=","args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_end = confirmation_window_end"}},{"html_id":"confirmation_window_start:String|Nil-instance-method","name":"confirmation_window_start","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_start"}},{"html_id":"confirmation_window_start=(confirmation_window_start:String|Nil)-instance-method","name":"confirmation_window_start=","abstract":false,"args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_start : String | Nil)","args_html":"(confirmation_window_start : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start=","args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_start = confirmation_window_start"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L256"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L256"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L229"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L229"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"intention_type:Int32|Nil-instance-method","name":"intention_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L238"},"def":{"name":"intention_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@intention_type"}},{"html_id":"intention_type=(intention_type:Int32|Nil)-instance-method","name":"intention_type=","abstract":false,"args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"args_string":"(intention_type : Int32 | Nil)","args_html":"(intention_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L238"},"def":{"name":"intention_type=","args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@intention_type = intention_type"}},{"html_id":"is_anonymously_booked:Bool|Nil-instance-method","name":"is_anonymously_booked","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_anonymously_booked"}},{"html_id":"is_anonymously_booked=(is_anonymously_booked:Bool|Nil)-instance-method","name":"is_anonymously_booked=","abstract":false,"args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"args_string":"(is_anonymously_booked : Bool | Nil)","args_html":"(is_anonymously_booked : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked=","args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_anonymously_booked = is_anonymously_booked"}},{"html_id":"license_plate:String|Nil-instance-method","name":"license_plate","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L250"},"def":{"name":"license_plate","return_type":"String | ::Nil","visibility":"Public","body":"@license_plate"}},{"html_id":"license_plate=(license_plate:String|Nil)-instance-method","name":"license_plate=","abstract":false,"args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"args_string":"(license_plate : String | Nil)","args_html":"(license_plate : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L250"},"def":{"name":"license_plate=","args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"visibility":"Public","body":"@license_plate = license_plate"}},{"html_id":"matched_space:Space-instance-method","name":"matched_space","abstract":false,"def":{"name":"matched_space","return_type":"Space","visibility":"Public","body":"if (value = @matched_space).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#matched_space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"matched_space=(matched_space:Space)-instance-method","name":"matched_space=","abstract":false,"args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"args_string":"(matched_space : Space)","args_html":"(matched_space : Space)","location":{"filename":"src/gobright/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L278"},"def":{"name":"matched_space=","args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"visibility":"Public","body":"@matched_space = matched_space"}},{"html_id":"matched_space?:Space|Nil-instance-method","name":"matched_space?","abstract":false,"def":{"name":"matched_space?","return_type":"Space | ::Nil","visibility":"Public","body":"@matched_space"}},{"html_id":"organizer:Attendee|Nil-instance-method","name":"organizer","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L258"},"def":{"name":"organizer","return_type":"Attendee | ::Nil","visibility":"Public","body":"@organizer"}},{"html_id":"organizer=(organizer:Attendee|Nil)-instance-method","name":"organizer=","abstract":false,"args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"args_string":"(organizer : Attendee | Nil)","args_html":"(organizer : Attendee | Nil)","location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L258"},"def":{"name":"organizer=","args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"visibility":"Public","body":"@organizer = organizer"}},{"html_id":"recurrence_type:Int32|Nil-instance-method","name":"recurrence_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@recurrence_type"}},{"html_id":"recurrence_type=(recurrence_type:Int32|Nil)-instance-method","name":"recurrence_type=","abstract":false,"args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"args_string":"(recurrence_type : Int32 | Nil)","args_html":"(recurrence_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type=","args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@recurrence_type = recurrence_type"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L259"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L259"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L253"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L253"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}},{"html_id":"subject:String|Nil-instance-method","name":"subject","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L257"},"def":{"name":"subject","return_type":"String | ::Nil","visibility":"Public","body":"@subject"}},{"html_id":"subject=(subject:String|Nil)-instance-method","name":"subject=","abstract":false,"args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"args_string":"(subject : String | Nil)","args_html":"(subject : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L257"},"def":{"name":"subject=","args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"visibility":"Public","body":"@subject = subject"}},{"html_id":"zone_id:String-instance-method","name":"zone_id","abstract":false,"def":{"name":"zone_id","return_type":"String","visibility":"Public","body":"if (value = @zone_id).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#zone_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"zone_id=(zone_id:String)-instance-method","name":"zone_id=","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/gobright/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L275"},"def":{"name":"zone_id=","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"@zone_id = zone_id"}},{"html_id":"zone_id?:String|Nil-instance-method","name":"zone_id?","abstract":false,"def":{"name":"zone_id?","return_type":"String | ::Nil","visibility":"Public","body":"@zone_id"}}]},{"html_id":"drivers/GoBright/Paging","path":"GoBright/Paging.html","kind":"struct","full_name":"GoBright::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L24"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"total:Int32|Nil-instance-method","name":"total","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L21"},"def":{"name":"total","return_type":"Int32 | ::Nil","visibility":"Public","body":"@total"}}]},{"html_id":"drivers/GoBright/ParkingPeriod","path":"GoBright/ParkingPeriod.html","kind":"struct","full_name":"GoBright::ParkingPeriod","name":"ParkingPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L70"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L71"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L86"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L83"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L74"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L80"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L77"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Response","path":"GoBright/Response.html","kind":"struct","full_name":"GoBright::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L34"},"def":{"name":"data","return_type":"String | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"items:String|Nil-instance-method","name":"items","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L37"},"def":{"name":"items","return_type":"String | ::Nil","visibility":"Public","body":"@items"}},{"html_id":"metadata:Metadata|Nil-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L31"},"def":{"name":"metadata","return_type":"Metadata | ::Nil","visibility":"Public","body":"@metadata"}},{"html_id":"paging:Paging|Nil-instance-method","name":"paging","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L40"},"def":{"name":"paging","return_type":"Paging | ::Nil","visibility":"Public","body":"@paging"}}]},{"html_id":"drivers/GoBright/Space","path":"GoBright/Space.html","kind":"class","full_name":"GoBright::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"amenities:Array(Amenity)-instance-method","name":"amenities","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L160"},"def":{"name":"amenities","return_type":"Array(Amenity)","visibility":"Public","body":"@amenities"}},{"html_id":"capacity:Int64|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L170"},"def":{"name":"capacity","return_type":"Int64 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L169"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L158"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"integration_external_id:String|Nil-instance-method","name":"integration_external_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L173"},"def":{"name":"integration_external_id","return_type":"String | ::Nil","visibility":"Public","body":"@integration_external_id"}},{"html_id":"is_bookable:Bool|Nil-instance-method","name":"is_bookable","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L176"},"def":{"name":"is_bookable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_bookable"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L166"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L159"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L179"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupied?:Bool-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L179"},"def":{"name":"occupied?","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"type:SpaceType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L163"},"def":{"name":"type","return_type":"SpaceType | ::Nil","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/GoBright/SpaceType","path":"GoBright/SpaceType.html","kind":"enum","full_name":"GoBright::SpaceType","name":"SpaceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L148"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Room","name":"Room","value":"0"},{"id":"Desk","name":"Desk","value":"1"},{"id":"CombinedRoom","name":"CombinedRoom","value":"2"},{"id":"Parking","name":"Parking","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"combined_room?-instance-method","name":"combined_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L151"},"def":{"name":"combined_room?","visibility":"Public","body":"self == CombinedRoom"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L150"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}},{"html_id":"parking?-instance-method","name":"parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L152"},"def":{"name":"parking?","visibility":"Public","body":"self == Parking"}},{"html_id":"room?-instance-method","name":"room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/gobright/models.cr#L149"},"def":{"name":"room?","visibility":"Public","body":"self == Room"}}]}]},{"html_id":"drivers/Halite","path":"Halite.html","kind":"module","full_name":"Halite","name":"Halite","abstract":false,"locations":[{"filename":"lib/halite/src/halite.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite.cr#L4"},{"filename":"lib/halite/src/halite/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/chainable.cr#L3"},{"filename":"lib/halite/src/halite/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/client.cr#L8"},{"filename":"lib/halite/src/halite/error.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/error.cr#L1"},{"filename":"lib/halite/src/halite/feature.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/feature.cr#L1"},{"filename":"lib/halite/src/halite/features/cache.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/features/cache.cr#L5"},{"filename":"lib/halite/src/halite/features/logging.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/features/logging.cr#L10"},{"filename":"lib/halite/src/halite/form_data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/form_data.cr#L4"},{"filename":"lib/halite/src/halite/header_link.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/header_link.cr#L1"},{"filename":"lib/halite/src/halite/mime_type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/mime_type.cr#L1"},{"filename":"lib/halite/src/halite/options.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options.cr#L4"},{"filename":"lib/halite/src/halite/options/follow.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options/follow.cr#L1"},{"filename":"lib/halite/src/halite/options/timeout.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/options/timeout.cr#L1"},{"filename":"lib/halite/src/halite/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/rate_limit.cr#L1"},{"filename":"lib/halite/src/halite/redirector.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/redirector.cr#L1"},{"filename":"lib/halite/src/halite/request.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/request.cr#L1"},{"filename":"lib/halite/src/halite/response.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/response.cr#L1"},{"filename":"lib/quantum/src/quantum/extensions/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/quantum/src/quantum/extensions/client.cr#L1"},{"filename":"lib/sabo/src/sabo/ext/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/sabo/src/sabo/ext/client.cr#L1"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/stripetease/src/stripetease/extensions/chainable.cr#L1"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Halite/Chainable","kind":"module","full_name":"Halite::Chainable","name":"Chainable"},{"html_id":"drivers/Halite/FeatureRegister","kind":"module","full_name":"Halite::FeatureRegister","name":"FeatureRegister"}],"types":[{"html_id":"drivers/Halite/Chainable","path":"Halite/Chainable.html","kind":"module","full_name":"Halite::Chainable","name":"Chainable","abstract":false,"locations":[{"filename":"lib/halite/src/halite/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/halite/src/halite/chainable.cr#L4"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/stripetease/src/stripetease/extensions/chainable.cr#L2"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Halite","kind":"module","full_name":"Halite","name":"Halite"},"instance_methods":[{"html_id":"cookies(cookies:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"cookies","doc":"Make a request with the given cookies\n\n```\nHalite.cookies({\"private-token\", \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.cookies({private-token: \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given cookies

","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L189"},"def":{"name":"cookies","args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_cookies(cookies))"}},{"html_id":"headers(headers:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"headers","doc":"Make a request with the given headers\n\n```\nHalite.headers({\"Content-Type\", \"application/json\", \"Connection\": \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.headers({content_type: \"application/json\", connection: \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given headers

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/cisco/webex/extensions/chainable.cr#L166"},"def":{"name":"headers","args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_headers(headers))"}}]}]},{"html_id":"drivers/Helvar","path":"Helvar.html","kind":"module","full_name":"Helvar","name":"Helvar","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Helvar/Net","path":"Helvar/Net.html","kind":"class","full_name":"Helvar::Net","name":"Net","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_METHODS","name":"CMD_METHODS","value":"{group_scene: 11, device_scene: 12, group_level: 13, device_level: 14, group_proportion: 15, device_proportion: 16, group_modify_proportion: 17, device_modify_proportion: 18, group_emergency_test: 19, device_emergency_test: 20, group_emergency_duration_test: 21, device_emergency_duration_test: 22, group_emergency_stop: 23, device_emergency_stop: 24, query_lamp_hours: 70, query_ballast_hours: 71, query_max_voltage: 72, query_min_voltage: 73, query_max_temp: 74, query_min_temp: 75, query_device_types_with_addresses: 100, query_clusters: 101, query_routers: 102, query_LSIB: 103, query_device_type: 104, query_description_group: 105, query_description_device: 106, query_workgroup_name: 107, query_workgroup_membership: 108, query_last_scene: 109, query_device_state: 110, query_device_disabled: 111, query_lamp_failure: 112, query_device_faulty: 113, query_missing: 114, query_emergency_battery_failure: 129, query_measurement: 150, query_inputs: 151, query_load: 152, query_power_consumption: 160, query_group_power_consumption: 161, query_group: 164, query_groups: 165, query_scene_names: 166, query_scene_info: 167, query_emergency_func_test_time: 170, query_emergency_func_test_state: 171, query_emergency_duration_time: 172, query_emergency_duration_state: 173, query_emergency_battery_charge: 174, query_emergency_battery_time: 175, query_emergency_total_lamp_time: 176, query_time: 185, query_longitude: 186, query_latitude: 187, query_time_zone: 188, query_daylight_savings: 189, query_software_version: 190, query_helvar_net: 191}"},{"id":"COMMANDS","name":"COMMANDS","value":"{\"group_scene\" => \"11\", \"device_scene\" => \"12\", \"group_level\" => \"13\", \"device_level\" => \"14\", \"group_proportion\" => \"15\", \"device_proportion\" => \"16\", \"group_modify_proportion\" => \"17\", \"device_modify_proportion\" => \"18\", \"group_emergency_test\" => \"19\", \"device_emergency_test\" => \"20\", \"group_emergency_duration_test\" => \"21\", \"device_emergency_duration_test\" => \"22\", \"group_emergency_stop\" => \"23\", \"device_emergency_stop\" => \"24\", \"query_lamp_hours\" => \"70\", \"query_ballast_hours\" => \"71\", \"query_max_voltage\" => \"72\", \"query_min_voltage\" => \"73\", \"query_max_temp\" => \"74\", \"query_min_temp\" => \"75\", \"query_device_types_with_addresses\" => \"100\", \"query_clusters\" => \"101\", \"query_routers\" => \"102\", \"query_LSIB\" => \"103\", \"query_device_type\" => \"104\", \"query_description_group\" => \"105\", \"query_description_device\" => \"106\", \"query_workgroup_name\" => \"107\", \"query_workgroup_membership\" => \"108\", \"query_last_scene\" => \"109\", \"query_device_state\" => \"110\", \"query_device_disabled\" => \"111\", \"query_lamp_failure\" => \"112\", \"query_device_faulty\" => \"113\", \"query_missing\" => \"114\", \"query_emergency_battery_failure\" => \"129\", \"query_measurement\" => \"150\", \"query_inputs\" => \"151\", \"query_load\" => \"152\", \"query_power_consumption\" => \"160\", \"query_group_power_consumption\" => \"161\", \"query_group\" => \"164\", \"query_groups\" => \"165\", \"query_scene_names\" => \"166\", \"query_scene_info\" => \"167\", \"query_emergency_func_test_time\" => \"170\", \"query_emergency_func_test_state\" => \"171\", \"query_emergency_duration_time\" => \"172\", \"query_emergency_duration_state\" => \"173\", \"query_emergency_battery_charge\" => \"174\", \"query_emergency_battery_time\" => \"175\", \"query_emergency_total_lamp_time\" => \"176\", \"query_time\" => \"185\", \"query_longitude\" => \"186\", \"query_latitude\" => \"187\", \"query_time_zone\" => \"188\", \"query_daylight_savings\" => \"189\", \"query_software_version\" => \"190\", \"query_helvar_net\" => \"191\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"0\" => \"success\", \"1\" => \"invalid group index parameter\", \"2\" => \"invalid cluster parameter\", \"3\" => \"invalid router\", \"4\" => \"invalid router subnet\", \"5\" => \"invalid device parameter\", \"6\" => \"invalid sub device parameter\", \"7\" => \"invalid block parameter\", \"8\" => \"invalid scene\", \"9\" => \"cluster does not exist\", \"10\" => \"router does not exist\", \"11\" => \"device does not exist\", \"12\" => \"property does not exist\", \"13\" => \"invalid RAW message size\", \"14\" => \"invalid messages type\", \"15\" => \"invalid message command\", \"16\" => \"missing ASCII terminator\", \"17\" => \"missing ASCII parameter\", \"18\" => \"incompatible version\"}"},{"id":"PARAMS","name":"PARAMS","value":"{\"V\" => :ver, \"Q\" => :seq, \"C\" => :cmd, \"A\" => :ack, \"@\" => :addr, \"F\" => :fade, \"T\" => :time, \"L\" => :level, \"G\" => :group, \"S\" => :scene, \"B\" => :block, \"N\" => :latitude, \"E\" => :longitude, \"Z\" => :time_zone, \"P\" => :proportion, \"D\" => :display_screen, \"Y\" => :daylight_savings, \"O\" => :force_store_scene, \"K\" => :constant_light_scene}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Helvar","kind":"module","full_name":"Helvar","name":"Helvar"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Helvar\"\n end\n if poll_group = @poll_group\n get_current_preset(poll_group)\n else\n query_software_version\n end\nend"}},{"html_id":"device_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"22\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"24\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"20\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"14\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"18\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"16\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"device_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"12\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(group:Int32)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L67"},"def":{"name":"get_current_preset","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_last_scene(group: group, name: \"query_scene#{group}\")"}},{"html_id":"group_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"21\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"23\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"19\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"13\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"17\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"15\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"group_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"11\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"light_level(group:Int32,level:Int32,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, level : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, level : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L55"},"def":{"name":"light_level","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}_level\"] = level\ngroup_level(group: group, level: level, fade: fade, name: \"group_level#{group}\")\n"}},{"html_id":"lighting(group:Int32,state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(group : Int32, state : Bool)","args_html":"(group : Int32, state : Bool)","location":{"filename":"src/helvar/net.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L50"},"def":{"name":"lighting","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(group, level)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L337"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"group = check_arguments(area)\nif scene = (get_current_preset(group)).get(response_required: true).payload.to_i\n payload = (query_scene_levels(group)).get(response_required: true).payload\n levels = Array(Int32).from_json(payload)\n self[\"area#{group}_level\"] = levels[scene]\nend\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L328"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"get_current_preset(check_arguments(area))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"#\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(Int32, :version)) || 2\n@ignore_blocks = (setting?(Bool, :ignore_blocks)) || true\n@poll_group = setting?(Int32, :poll_group)\n"}},{"html_id":"query_ballast_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_ballast_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_ballast_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"71\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_clusters(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_clusters","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_clusters","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"101\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_daylight_savings(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_daylight_savings","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_daylight_savings","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"189\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_device(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_device","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_description_device","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"106\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_description_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"105\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_disabled(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_disabled","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_disabled","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"111\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_faulty(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_faulty","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_faulty","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"113\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"110\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_type(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_type","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_type","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"104\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_types_with_addresses(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_types_with_addresses","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_device_types_with_addresses","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"100\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_charge(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_charge","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_charge","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"174\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"129\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"175\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"173\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"172\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"171\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"170\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_total_lamp_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_total_lamp_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_total_lamp_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"176\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"164\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_group_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"161\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_groups(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_groups","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_groups","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"165\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_helvar_net(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_helvar_net","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_helvar_net","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"191\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_inputs(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_inputs","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_inputs","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"151\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"112\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"70\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_last_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_last_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_last_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"109\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_latitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_latitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_latitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"187\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_load(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_load","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_load","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"152\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_longitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_longitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_longitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"186\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_LSIB(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_LSIB","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_LSIB","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"103\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_max_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"74\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_max_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"72\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_measurement(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_measurement","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_measurement","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"150\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_min_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"75\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_min_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"73\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_missing(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_missing","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_missing","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"114\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"160\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_routers(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_routers","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_routers","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"102\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_info(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_info","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_scene_info","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"167\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_levels(group:Int32)-instance-method","name":"query_scene_levels","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L71"},"def":{"name":"query_scene_levels","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_scene_info(group: group, name: \"query_scene#{group}_info\")"}},{"html_id":"query_scene_names(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_names","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_scene_names","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"166\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_software_version(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_software_version","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_software_version","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"190\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"185\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time_zone(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time_zone","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_time_zone","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"188\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_membership(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_membership","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_membership","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"108\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_name(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_name","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_name","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"107\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/helvar/net.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L181"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Helvar sent: #{data}\"\nend\ntask_name = task.try(&.name)\ndata = data[0..-2]\nstart_of_message = data.index(/[\\?\\>\\!]V:/i)\nif start_of_message != 0\n logger.warn do\n \"Lighting error response: #{data[0...start_of_message]}\"\n end\n data = data[start_of_message..-1]\nend\ndata = data.delete(\"$\")\nindicator = data[0]\ncase indicator\nwhen '?', '>'\n data = data[1..-1]\n parts = data.split(\"=\")\n data = parts[0]\n value = parts[1]?\n params = {} of Symbol => String\n (data.split(\",\")).each do |param|\n parts = param.split(\":\")\n if parts.size > 1\n params[PARAMS[parts[0]]] = parts[1]\n else\n if parts[0][0] == '@'\n params[:addr] == parts[0][1..-1]\n else\n logger.debug do\n \"unknown param type #{param}\"\n end\n end\n end\n end\n ack = params[:ack]?\n if ack\n if ack != \"1\"\n return task.try(&.abort(\"request failed\"))\n end\n return task.try(&.success)\n end\n cmd = COMMANDS[params[:cmd]]\n case cmd\n when \"query_last_scene\"\n scene = value.try(&.to_i)\n group = params[:group]\n self[\"area#{group}\"] = scene\n if task_name == \"query_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_scene\"\n block = params[:block]\n group = params[:group]\n scene = params[:scene].to_i\n if block\n if @ignore_blocks\n self[\"area#{group}\"] = scene\n else\n self[\"area#{group}_#{block}\"] = scene\n end\n else\n self[\"area#{group}\"] = scene\n end\n if task_name == \"group_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_level\"\n if task_name == \"group_level#{params[:group]}\"\n task.not_nil!.success\n end\n when \"query_scene_info\"\n group = params[:group]\n if value && (task_name == \"query_scene#{group}_info\")\n levels = ((value.split(\",L\"))[0].split(',')).map(&.to_i)\n task.not_nil!.success(levels)\n end\n else\n logger.debug do\n \"unknown response value\\n#{cmd} = #{value}\"\n end\n end\nwhen '!'\n error = ERRORS[(data.split(\"=\"))[1]]\n error = \"#{error} for #{data}\"\n self[:last_error] = error\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nelse\n logger.info do\n \"unknown request #{data}\"\n end\nend\nif task_name\nelse\n task.try(&.success)\nend\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L332"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\nlight_level(area_id, level.round_even.to_i, fade_time.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L324"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"trigger(check_arguments(area), scene.to_i, fade_time.to_i)"}},{"html_id":"trigger(group:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L61"},"def":{"name":"trigger","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}\"] = scene\ngroup_scene(group: group, scene: scene, fade: fade, name: \"group_scene#{group}\")\n"}}],"macros":[{"html_id":"build_command_hash-macro","name":"build_command_hash","doc":"Generate a String => String hash based on the data above","summary":"

Generate a String => String hash based on the data above

","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L147"},"def":{"name":"build_command_hash","visibility":"Public","body":" COMMANDS = \n{\n \n{% for name, command in CMD_METHODS %}\n {{ name.id.stringify }} => {{ command.id.stringify }},\n {% end %}\n\n }\n COMMANDS.merge!(COMMANDS.invert)\n \n"}}],"types":[{"html_id":"drivers/Helvar/Net/Area","path":"Helvar/Net/Area.html","kind":"alias","full_name":"Helvar::Net::Area","name":"Area","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/helvar/net.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Helvar/Net","kind":"class","full_name":"Helvar::Net","name":"Net"}}]}]},{"html_id":"drivers/Hitachi","path":"Hitachi.html","kind":"module","full_name":"Hitachi","name":"Hitachi","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Hitachi/Projector","path":"Hitachi/Projector.html","kind":"module","full_name":"Hitachi::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Hitachi","kind":"module","full_name":"Hitachi","name":"Hitachi"},"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","path":"Hitachi/Projector/CpTwSeriesBasic.html","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Commands","name":"Commands","value":"{power_on: \"BA D2 01 00 00 60 01 00\", power_off: \"2A D3 01 00 00 60 00 00\", hdmi: \"0E D2 01 00 00 20 03 00\", hdmi2: \"6E D6 01 00 00 20 0D 00\", mute_video: \"6E F1 01 00 A0 20 01 00\", unmute_video: \"FE F0 01 00 A0 20 00 00\", mute_audio: \"D6 D2 01 00 02 20 01 00\", unmute_audio: \"46 D3 01 00 02 20 00 00\", lamp_hours_reset: \"58 DC 06 00 30 70 00 00\", filter_hours_reset: \"98 C6 06 00 40 70 00 00\", \"power?\": \"19 D3 02 00 00 60 00 00\", \"input?\": \"CD D2 02 00 00 20 00 00\", \"error?\": \"D9 D8 02 00 20 60 00 00\", \"freeze?\": \"B0 D2 02 00 02 30 00 00\", \"audio_mute?\": \"75 D3 02 00 02 20 00 00\", \"video_mute?\": \"CD F0 02 00 A0 20 00 00\", \"lamp?\": \"C2 FF 02 00 90 10 00 00\", \"filter?\": \"C2 F0 02 00 A0 10 00 00\"}","doc":"Note: commands have spaces in between each byte for readability","summary":"

Note: commands have spaces in between each byte for readability

"},{"id":"GetRequests","name":"GetRequests","value":"[:\"power?\", :\"input?\", :\"error?\", :\"freeze?\", :\"audio_mute?\", :\"video_mute?\", :\"lamp?\", :\"filter?\"] of ::Symbol"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Hitachi/Projector","kind":"module","full_name":"Hitachi::Projector","name":"Projector"},"instance_methods":[{"html_id":"audio_mute?(**options)-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"audio_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"audio_mute?\", **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L32"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n poll_1\nend\nschedule.every(10.minutes, true) do\n poll_2\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L53"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@recover_power = nil\n@recover_input = nil\n"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"error?\", **options)"}},{"html_id":"filter?(**options)-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"filter?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"filter?\", **options)"}},{"html_id":"filter_hours_reset-instance-method","name":"filter_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L109"},"def":{"name":"filter_hours_reset","visibility":"Public","body":"do_send(:filter_hours_reset)\nfilter?\n"}},{"html_id":"freeze?(**options)-instance-method","name":"freeze?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"freeze?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"freeze?\", **options)"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"input?\", **options)"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"lamp?\", **options)"}},{"html_id":"lamp_hours_reset-instance-method","name":"lamp_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L104"},"def":{"name":"lamp_hours_reset","visibility":"Public","body":"do_send(:lamp_hours_reset)\nlamp?\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L77"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L95"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_audio)\nelse\n do_send(:unmute_audio)\nend\naudio_mute?\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L86"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_video)\nelse\n do_send(:unmute_video)\nend\nvideo_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nqueue.timeout = 5.seconds\nqueue.retries = 3\nself[:type] = :projector\n"}},{"html_id":"poll_1-instance-method","name":"poll_1","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L37"},"def":{"name":"poll_1","visibility":"Public","body":"power?(priority: 0).get\nif self[:power]?.try(&.as_bool)\n input?(priority: 0)\n audio_mute?(priority: 0)\n video_mute?(priority: 0)\n freeze?(priority: 0)\nend\n"}},{"html_id":"poll_2-instance-method","name":"poll_2","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L47"},"def":{"name":"poll_2","visibility":"Public","body":"lamp?(priority: 0)\nfilter?(priority: 0)\nerror?(priority: 0)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L59"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off)\nend\npower?\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"power?\", **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L139"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data}\"\nend\ncommand = task.try(&.name)\ncase Response.from_value(data[0])\nwhen .ack?\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"NAK response\"))\nwhen .error?\n task.try(&.abort(\"Error response\"))\nwhen .data?\n if command\n case command\n when \"power?\"\n self[:power] = data[1] == 1\n self[:cooling] = data[1] == 2\n if self[:power]? == @power_target\n @power_target = nil\n else\n if @power_target && @recover_power.nil?\n logger.debug do\n \"recovering power state #{self[:power]} != target #{@power_target}\"\n end\n @recover_power = schedule.in(3.seconds) do\n @recover_power = nil\n power(@power_target.not_nil!)\n end\n end\n end\n when \"input?\"\n input = Input.from_value?(data[1])\n self[:input] = input || \"unknown\"\n if @input_target\n if input == @input_target\n @input_target = nil\n else\n if @recover_input.nil?\n logger.debug do\n \"recovering input #{self[:input]} != target #{@input_target}\"\n end\n @recover_input = schedule.in(3.seconds) do\n @recover_input = nil\n switch_to(@input_target.not_nil!)\n end\n end\n end\n end\n when \"error?\"\n self[:error_status] = (Error.from_value?(data[1])) || \"unknown\"\n when \"freeze?\"\n self[:frozen] = data[1] == 1\n when \"audio_mute?\"\n self[:audio_mute] = data[1] == 1\n when \"video_mute?\"\n self[:video_mute] = data[1] == 1\n when \"lamp?\"\n self[:lamp] = data[1] * data[2]\n when \"filter?\"\n self[:filter] = data[1] * data[2]\n end\n task.try(&.success)\n else\n task.try(&.abort(\"data received for unknown command\"))\n end\nwhen .busy?\n if (data[1] == 4) && (data[2] == 0)\n task.try(&.abort(\"authentication enabled, please disable\"))\n else\n task.try(&.retry(\"projector busy, retrying\"))\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L71"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ndo_send(input.to_s.downcase)\ninput?\n"}},{"html_id":"video_mute?(**options)-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"video_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"video_mute?\", **options)"}}],"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Error","path":"Hitachi/Projector/CpTwSeriesBasic/Error.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Normal","name":"Normal","value":"0"},{"id":"Cover","name":"Cover","value":"1"},{"id":"Fan","name":"Fan","value":"2"},{"id":"Lamp","name":"Lamp","value":"3"},{"id":"Temp","name":"Temp","value":"4"},{"id":"AirFlow","name":"AirFlow","value":"5"},{"id":"Cold","name":"Cold","value":"6"},{"id":"Filter","name":"Filter","value":"7"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"air_flow?-instance-method","name":"air_flow?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L134"},"def":{"name":"air_flow?","visibility":"Public","body":"self == AirFlow"}},{"html_id":"cold?-instance-method","name":"cold?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L135"},"def":{"name":"cold?","visibility":"Public","body":"self == Cold"}},{"html_id":"cover?-instance-method","name":"cover?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L130"},"def":{"name":"cover?","visibility":"Public","body":"self == Cover"}},{"html_id":"fan?-instance-method","name":"fan?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L131"},"def":{"name":"fan?","visibility":"Public","body":"self == Fan"}},{"html_id":"filter?-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L136"},"def":{"name":"filter?","visibility":"Public","body":"self == Filter"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L132"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"normal?-instance-method","name":"normal?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L129"},"def":{"name":"normal?","visibility":"Public","body":"self == Normal"}},{"html_id":"temp?-instance-method","name":"temp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L133"},"def":{"name":"temp?","visibility":"Public","body":"self == Temp"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Input","path":"Hitachi/Projector/CpTwSeriesBasic/Input.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmi","name":"Hdmi","value":"3"},{"id":"Hdmi2","name":"Hdmi2","value":"13"},{"id":"HdbaSet","name":"HdbaSet","value":"17"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"hdba_set?-instance-method","name":"hdba_set?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L125"},"def":{"name":"hdba_set?","visibility":"Public","body":"self == HdbaSet"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L124"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L123"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Response","path":"Hitachi/Projector/CpTwSeriesBasic/Response.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L114"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"6"},{"id":"Nak","name":"Nak","value":"21"},{"id":"Error","name":"Error","value":"28"},{"id":"Data","name":"Data","value":"29"},{"id":"Busy","name":"Busy","value":"31"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L115"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L119"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"data?-instance-method","name":"data?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L118"},"def":{"name":"data?","visibility":"Public","body":"self == Data"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L117"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/hitachi/projector/cp_tw_series_basic.cr#L116"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Infosilem","path":"Infosilem.html","kind":"module","full_name":"Infosilem","name":"Infosilem","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L4"},{"filename":"src/infosilem/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Infosilem/Campus","path":"Infosilem/Campus.html","kind":"class","full_name":"Infosilem::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String)","location":{"filename":"src/infosilem/campus.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L39"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"response = @integration.try(&.call(operation: \"StartTransfer\", body: {\"StartTransferOptions\" => Sabo::Parameter.from_hash(start_transfer_options(username: setting(String, :username), password: setting(String, :password)))}))\ntransfer_id = response.try(&.result)\nresponse = @booking.try(&.call(operation: \"RoomBookingOccurrence_ExportAll\", body: {\"TransferID\" => Sabo::Parameter.new(transfer_id.to_s), \"Options\" => Sabo::Parameter.from_hash(booking_options(building: building_id, room: room_id, start_date: start_date, end_date: end_date, start_time: start_date, end_time: end_date))}))\n@integration.try(&.call(operation: \"EndTransfer\", body: end_transfer_body(transfer_id: transfer_id.to_s)))\nself[\"room_#{room_id}_bookings_#{start_date}_#{end_date}\"] = response.try() do |__arg4|\n __arg4.result[\"ObjectData\"][\"ReservationOccurrences\"][\"ReservationOccurrence\"]?\nend || ([] of Int32)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@integration = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/Integration/Integration.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n@booking = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/ExportOnly/RoomBookingPub.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n"}}],"types":[{"html_id":"drivers/Infosilem/Campus/Client","path":"Infosilem/Campus/Client.html","kind":"alias","full_name":"Infosilem::Campus::Client","name":"Client","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/campus.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Sabo::Client","aliased_html":"Sabo::Client","const":false,"namespace":{"html_id":"drivers/Infosilem/Campus","kind":"class","full_name":"Infosilem::Campus","name":"Campus"}}]},{"html_id":"drivers/Infosilem/DateTimeConvertor","path":"Infosilem/DateTimeConvertor.html","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/DateTimeConvertor","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L37"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_local(\"#{Time.local.to_s(\"%F\")} #{value.read_string}\", \"%F %H:%M:%S\")"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L33"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%H:%M:%S\"))"}}]},{"html_id":"drivers/Infosilem/Event","path":"Infosilem/Event.html","kind":"class","full_name":"Infosilem::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflicting:Int32|Nil-instance-method","name":"conflicting","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L15"},"def":{"name":"conflicting","return_type":"Int32 | ::Nil","visibility":"Public","body":"@conflicting"}},{"html_id":"conflicting=(conflicting:Int32|Nil)-instance-method","name":"conflicting=","abstract":false,"args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"args_string":"(conflicting : Int32 | Nil)","args_html":"(conflicting : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L15"},"def":{"name":"conflicting=","args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@conflicting = conflicting"}},{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L23"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L23"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L9"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L9"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L25"},"def":{"name":"duration","visibility":"Public","body":"end_time - start_time"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L21"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"end_time=(end_time:Time)-instance-method","name":"end_time=","abstract":false,"args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"args_string":"(end_time : Time)","args_html":"(end_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L21"},"def":{"name":"end_time=","args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"visibility":"Public","body":"@end_time = end_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"number_of_attendees:Int32|Nil-instance-method","name":"number_of_attendees","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_attendees"}},{"html_id":"number_of_attendees=(number_of_attendees:Int32|Nil)-instance-method","name":"number_of_attendees=","abstract":false,"args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"args_string":"(number_of_attendees : Int32 | Nil)","args_html":"(number_of_attendees : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees=","args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@number_of_attendees = number_of_attendees"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L18"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}},{"html_id":"start_time=(start_time:Time)-instance-method","name":"start_time=","abstract":false,"args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"args_string":"(start_time : Time)","args_html":"(start_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L18"},"def":{"name":"start_time=","args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"visibility":"Public","body":"@start_time = start_time"}}]},{"html_id":"drivers/Infosilem/IntegerConverter","path":"Infosilem/IntegerConverter.html","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/IntegerConverter","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L49"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"value.read_string.to_i"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/models.cr#L45"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s)"}}]},{"html_id":"drivers/Infosilem/MockCampus","path":"Infosilem/MockCampus.html","kind":"class","full_name":"Infosilem::MockCampus","name":"MockCampus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/mock_campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String):Array(JSON::Any)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","location":{"filename":"src/infosilem/mock_campus.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L230"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"@response"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L222"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/mock_campus.cr#L226"},"def":{"name":"on_update","visibility":"Public","body":"@response = (setting?(Array(JSON::Any), :response)) || ([] of JSON::Any)"}}]},{"html_id":"drivers/Infosilem/RoomSchedule","path":"Infosilem/RoomSchedule.html","kind":"class","full_name":"Infosilem::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L38"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local.to_s(\"%Y-%m-%d\")\n todays_events = Array(Event).from_json(fetch_events(today, today))\n todays_events.sort_by(&.duration).reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.start_time\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by?(&.start_time)\n previous_event = past_events.max_by?(&.end_time)\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(start_date : String, end_date : String)","args_html":"(start_date : String, end_date : String)","location":{"filename":"src/infosilem/room_schedule.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L81"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"events = (infosilem.bookings?(@building_id, @room_id, start_date, end_date)).get.to_json\nif @debug\n logger.debug do\n \"Infosilem Campus returned: #{events}\"\n end\nend\nevents\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/infosilem/room_schedule.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@building_id = setting(String, :infosilem_building_id)\n@room_id = setting(String, :infosilem_room_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/JohnsonControls","path":"JohnsonControls.html","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls","abstract":false,"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"Time::Format.new(\"%FT%TZ\")"}],"types":[{"html_id":"drivers/JohnsonControls/Attribute","path":"JohnsonControls/Attribute.html","kind":"class","full_name":"JohnsonControls::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"smaples_url:String-instance-method","name":"smaples_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url","return_type":"String","visibility":"Public","body":"@smaples_url"}},{"html_id":"smaples_url=(smaples_url:String)-instance-method","name":"smaples_url=","abstract":false,"args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"args_string":"(smaples_url : String)","args_html":"(smaples_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url=","args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"visibility":"Public","body":"@smaples_url = smaples_url"}}]},{"html_id":"drivers/JohnsonControls/AuthResponse","path":"JohnsonControls/AuthResponse.html","kind":"class","full_name":"JohnsonControls::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires:Time-instance-method","name":"expires","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires","return_type":"Time","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"args_string":"(expires : Time)","args_html":"(expires : Time)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"visibility":"Public","body":"@expires = expires"}}]},{"html_id":"drivers/JohnsonControls/Command","path":"JohnsonControls/Command.html","kind":"class","full_name":"JohnsonControls::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L190"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"command_id:String-instance-method","name":"command_id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id","return_type":"String","visibility":"Public","body":"@command_id"}},{"html_id":"command_id=(command_id:String)-instance-method","name":"command_id=","abstract":false,"args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"args_string":"(command_id : String)","args_html":"(command_id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id=","args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"visibility":"Public","body":"@command_id = command_id"}},{"html_id":"items:Array(JSON::Any)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items","return_type":"Array(JSON::Any)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(JSON::Any))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"args_string":"(items : Array(JSON::Any))","args_html":"(items : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"maximum_items:Int32-instance-method","name":"maximum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items","return_type":"Int32","visibility":"Public","body":"@maximum_items"}},{"html_id":"maximum_items=(maximum_items:Int32)-instance-method","name":"maximum_items=","abstract":false,"args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"args_string":"(maximum_items : Int32)","args_html":"(maximum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items=","args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"visibility":"Public","body":"@maximum_items = maximum_items"}},{"html_id":"minimum_items:Int32-instance-method","name":"minimum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items","return_type":"Int32","visibility":"Public","body":"@minimum_items"}},{"html_id":"minimum_items=(minimum_items:Int32)-instance-method","name":"minimum_items=","abstract":false,"args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"args_string":"(minimum_items : Int32)","args_html":"(minimum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items=","args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"visibility":"Public","body":"@minimum_items = minimum_items"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/JohnsonControls/Equipment","path":"JohnsonControls/Equipment.html","kind":"class","full_name":"JohnsonControls::Equipment","name":"Equipment","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_url:String-instance-method","name":"equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url","return_type":"String","visibility":"Public","body":"@equipment_url"}},{"html_id":"equipment_url=(equipment_url:String)-instance-method","name":"equipment_url=","abstract":false,"args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"args_string":"(equipment_url : String)","args_html":"(equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url=","args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"visibility":"Public","body":"@equipment_url = equipment_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"spaces_url:String-instance-method","name":"spaces_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url","return_type":"String","visibility":"Public","body":"@spaces_url"}},{"html_id":"spaces_url=(spaces_url:String)-instance-method","name":"spaces_url=","abstract":false,"args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"args_string":"(spaces_url : String)","args_html":"(spaces_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url=","args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"visibility":"Public","body":"@spaces_url = spaces_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"upstream_equipment_url:String-instance-method","name":"upstream_equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url","return_type":"String","visibility":"Public","body":"@upstream_equipment_url"}},{"html_id":"upstream_equipment_url=(upstream_equipment_url:String)-instance-method","name":"upstream_equipment_url=","abstract":false,"args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"args_string":"(upstream_equipment_url : String)","args_html":"(upstream_equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url=","args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"visibility":"Public","body":"@upstream_equipment_url = upstream_equipment_url"}}]},{"html_id":"drivers/JohnsonControls/EquipmentPoints","path":"JohnsonControls/EquipmentPoints.html","kind":"class","full_name":"JohnsonControls::EquipmentPoints","name":"EquipmentPoints","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L211"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L212"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(Point))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"@points = points"}}]},{"html_id":"drivers/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse","path":"JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html","kind":"class","full_name":"JohnsonControls::GetEquipmentHostedByNetworkDeviceResponse","name":"GetEquipmentHostedByNetworkDeviceResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Equipment)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items","return_type":"Array(Equipment)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Equipment))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"args_string":"(items : Array(Equipment))","args_html":"(items : Array(Equipment))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetNetworkDeviceChildrenResponse","path":"JohnsonControls/GetNetworkDeviceChildrenResponse.html","kind":"class","full_name":"JohnsonControls::GetNetworkDeviceChildrenResponse","name":"GetNetworkDeviceChildrenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L139"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(NetworkDevice)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items","return_type":"Array(NetworkDevice)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(NetworkDevice))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"args_string":"(items : Array(NetworkDevice))","args_html":"(items : Array(NetworkDevice))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetObjectAttributesWithSamplesResponse","path":"JohnsonControls/GetObjectAttributesWithSamplesResponse.html","kind":"class","full_name":"JohnsonControls::GetObjectAttributesWithSamplesResponse","name":"GetObjectAttributesWithSamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L157"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L158"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Attribute)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items","return_type":"Array(Attribute)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Attribute))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"args_string":"(items : Array(Attribute))","args_html":"(items : Array(Attribute))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetSamplesForAnObjectAttributeResponse","path":"JohnsonControls/GetSamplesForAnObjectAttributeResponse.html","kind":"class","full_name":"JohnsonControls::GetSamplesForAnObjectAttributeResponse","name":"GetSamplesForAnObjectAttributeResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L114"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"items:Array(Sample)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items","return_type":"Array(Sample)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Sample))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"args_string":"(items : Array(Sample))","args_html":"(items : Array(Sample))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/Item","path":"JohnsonControls/Item.html","kind":"class","full_name":"JohnsonControls::Item","name":"Item","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L237"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L238"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"value:Value-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value","return_type":"Value","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Value)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Value"}],"args_string":"(value : Value)","args_html":"(value : Value)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Value"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/Metasys","path":"JohnsonControls/Metasys.html","kind":"class","full_name":"JohnsonControls::Metasys","name":"Metasys","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CONTENT_TYPE","name":"CONTENT_TYPE","value":"\"application/json\""}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L265"},"def":{"name":"count","visibility":"Public","body":"@count"}},{"html_id":"get_attribute_value(id:String):Float64-instance-method","name":"get_attribute_value","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Float64","args_html":"(id : String) : Float64","location":{"filename":"src/johnson_controls/metasys.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L98"},"def":{"name":"get_attribute_value","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Float64","visibility":"Public","body":"current_time = Time.utc\nshort_while_ago = Time.utc - (@poll_interval_seconds * 2).seconds\nresponse = get_request(\"/objects/#{id}/attributes/85/samples\", start_time: short_while_ago.to_rfc3339, end_time: current_time.to_rfc3339, page_size: 1, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n(SamplesResponse.from_json(response.body)).items.first.value.actual\n"}},{"html_id":"get_commands_for_an_object(id:String):Array(Command)-instance-method","name":"get_commands_for_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Array(Command)","args_html":"(id : String) : Array(Command)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L165"},"def":{"name":"get_commands_for_an_object","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Array(Command)","visibility":"Public","body":"response = get_request(\"/objects/#{id}/commands\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nArray(Command).from_json(response.body)\n"}},{"html_id":"get_data-instance-method","name":"get_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L229"},"def":{"name":"get_data","visibility":"Public","body":"{data: self[:data], averages: self[:averages]}"}},{"html_id":"get_equipment_hosted_by_network_device(id:String,page:Int32=1,page_size:Int32=10):GetEquipmentHostedByNetworkDeviceResponse-instance-method","name":"get_equipment_hosted_by_network_device","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L133"},"def":{"name":"get_equipment_hosted_by_network_device","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetEquipmentHostedByNetworkDeviceResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/equipment\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetEquipmentHostedByNetworkDeviceResponse.from_json(response.body)\n"}},{"html_id":"get_equipment_points(id:String):EquipmentPoints-instance-method","name":"get_equipment_points","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : EquipmentPoints","args_html":"(id : String) : EquipmentPoints","location":{"filename":"src/johnson_controls/metasys.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L91"},"def":{"name":"get_equipment_points","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"EquipmentPoints","visibility":"Public","body":"response = get_request(\"/equipment/#{id}/points\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nEquipmentPoints.from_json(response.body)\n"}},{"html_id":"get_network_device_children(id:String,page:Int32=1,page_size:Int32=10):GetNetworkDeviceChildrenResponse-instance-method","name":"get_network_device_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L122"},"def":{"name":"get_network_device_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetNetworkDeviceChildrenResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/objects\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetNetworkDeviceChildrenResponse.from_json(response.body)\n"}},{"html_id":"get_object_attributes_with_samples(id:String):GetObjectAttributesWithSamplesResponse-instance-method","name":"get_object_attributes_with_samples","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : GetObjectAttributesWithSamplesResponse","args_html":"(id : String) : GetObjectAttributesWithSamplesResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L144"},"def":{"name":"get_object_attributes_with_samples","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"GetObjectAttributesWithSamplesResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/trendedAttributes\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetObjectAttributesWithSamplesResponse.from_json(response.body)\n"}},{"html_id":"get_request_debug(path:String,**params)-instance-method","name":"get_request_debug","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, **params)","args_html":"(path : String, **params)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L249"},"def":{"name":"get_request_debug","args":[{"name":"path","external_name":"path","restriction":"String"}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":"response = get_request(path, **params)\nparsed_json_body = begin\n JSON.parse(response.body)\nrescue ex : JSON::ParseException\n ex.to_s\nend\n{body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\n"}},{"html_id":"get_samples_for_an_object_attribute(id:String,attribute_id:String,start_time:String,end_time:String,page:Int32=1,page_size:Int32=10):GetSamplesForAnObjectAttributeResponse-instance-method","name":"get_samples_for_an_object_attribute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","args_html":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L151"},"def":{"name":"get_samples_for_an_object_attribute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetSamplesForAnObjectAttributeResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/attributes/#{attribute_id}/samples\", start_time: start_time, end_time: end_time, page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetSamplesForAnObjectAttributeResponse.from_json(response.body)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L40"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"received login response #{response.body}\"\nend\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_token_debug-instance-method","name":"get_token_debug","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L63"},"def":{"name":"get_token_debug","visibility":"Public","body":"response = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n parsed_json_body = begin\n JSON.parse(response.body)\n rescue ex : JSON::ParseException\n ex.to_s\n end\n {body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\nend\n"}},{"html_id":"lookup_object_id(fqr:String):String-instance-method","name":"lookup_object_id","abstract":false,"args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"args_string":"(fqr : String) : String","args_html":"(fqr : String) : String","location":{"filename":"src/johnson_controls/metasys.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L115"},"def":{"name":"lookup_object_id","args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get_request(\"/objectIdentifiers?fqr=#{fqr}\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body.to_s\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@equipment_ids_and_attributes = (setting?(Hash(String, Array(String)), :equipment_ids_and_attributes)) || ({} of String => Array(String))\n@poll_interval_seconds = (setting?(Int32, :poll_interval_seconds)) || 300\n@count = 0\nschedule.every(@poll_interval_seconds.seconds, true) do\n update_data\nend\n"}},{"html_id":"send_command_to_an_object(id:String,command_id:String,body:Array(JSON::Any))-instance-method","name":"send_command_to_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"args_string":"(id : String, command_id : String, body : Array(JSON::Any))","args_html":"(id : String, command_id : String, body : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L172"},"def":{"name":"send_command_to_an_object","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"response = put_request(\"/objects/#{id}/commands/#{command_id}\", body: body)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L36"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry <= Time.utc"}},{"html_id":"update_data-instance-method","name":"update_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys.cr#L177"},"def":{"name":"update_data","visibility":"Public","body":"debug = {} of String => Hash(String, Float64)\ndata = {} of String => Hash(String, Float64)\n@equipment_ids_and_attributes.each do |id, attributes|\n equipment_points = get_equipment_points(id)\n equipment_points.points.each do |p|\n if attributes.includes?(p.name)\n else\n next\n end\n __temp_241 = p.equipment_name\n data[__temp_241]? || (data[__temp_241] = {} of String => Float64)\n __temp_243 = p.equipment_name\n debug[__temp_243]? || (debug[__temp_243] = {} of String => Float64)\n object_id = (p.object_url.split('/')).last\n value = get_attribute_value(object_id)\n data[p.equipment_name][p.name] = value\n debug[p.equipment_name][p.object_url] = value\n end\nend\naverages = calculate_averages(data)\n{data: self[:data] = data, count: @count, equipment_ids_and_attributes: @equipment_ids_and_attributes, debug: debug, averages: self[:averages] = averages}\n"}}]},{"html_id":"drivers/JohnsonControls/NetworkDevice","path":"JohnsonControls/NetworkDevice.html","kind":"class","full_name":"JohnsonControls::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alarms_url:String-instance-method","name":"alarms_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url","return_type":"String","visibility":"Public","body":"@alarms_url"}},{"html_id":"alarms_url=(alarms_url:String)-instance-method","name":"alarms_url=","abstract":false,"args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"args_string":"(alarms_url : String)","args_html":"(alarms_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url=","args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"visibility":"Public","body":"@alarms_url = alarms_url"}},{"html_id":"audits_url:String-instance-method","name":"audits_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url","return_type":"String","visibility":"Public","body":"@audits_url"}},{"html_id":"audits_url=(audits_url:String)-instance-method","name":"audits_url=","abstract":false,"args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"args_string":"(audits_url : String)","args_html":"(audits_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url=","args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"visibility":"Public","body":"@audits_url = audits_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"objects_url:String-instance-method","name":"objects_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url","return_type":"String","visibility":"Public","body":"@objects_url"}},{"html_id":"objects_url=(objects_url:String)-instance-method","name":"objects_url=","abstract":false,"args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"args_string":"(objects_url : String)","args_html":"(objects_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url=","args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"visibility":"Public","body":"@objects_url = objects_url"}},{"html_id":"parent_url:String-instance-method","name":"parent_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url","return_type":"String","visibility":"Public","body":"@parent_url"}},{"html_id":"parent_url=(parent_url:String)-instance-method","name":"parent_url=","abstract":false,"args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"args_string":"(parent_url : String)","args_html":"(parent_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url=","args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"visibility":"Public","body":"@parent_url = parent_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"trended_attributes_url:String-instance-method","name":"trended_attributes_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url","return_type":"String","visibility":"Public","body":"@trended_attributes_url"}},{"html_id":"trended_attributes_url=(trended_attributes_url:String)-instance-method","name":"trended_attributes_url=","abstract":false,"args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"args_string":"(trended_attributes_url : String)","args_html":"(trended_attributes_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url=","args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"visibility":"Public","body":"@trended_attributes_url = trended_attributes_url"}},{"html_id":"type_url:String-instance-method","name":"type_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url","return_type":"String","visibility":"Public","body":"@type_url"}},{"html_id":"type_url=(type_url:String)-instance-method","name":"type_url=","abstract":false,"args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"args_string":"(type_url : String)","args_html":"(type_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url=","args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"visibility":"Public","body":"@type_url = type_url"}}]},{"html_id":"drivers/JohnsonControls/Point","path":"JohnsonControls/Point.html","kind":"class","full_name":"JohnsonControls::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_name:String-instance-method","name":"equipment_name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name","return_type":"String","visibility":"Public","body":"@equipment_name"}},{"html_id":"equipment_name=(equipment_name:String)-instance-method","name":"equipment_name=","abstract":false,"args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"args_string":"(equipment_name : String)","args_html":"(equipment_name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name=","args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"visibility":"Public","body":"@equipment_name = equipment_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}}]},{"html_id":"drivers/JohnsonControls/Sample","path":"JohnsonControls/Sample.html","kind":"class","full_name":"JohnsonControls::Sample","name":"Sample","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L100"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"reliable:Bool-instance-method","name":"reliable","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable","return_type":"Bool","visibility":"Public","body":"@reliable"}},{"html_id":"reliable=(reliable:Bool)-instance-method","name":"reliable=","abstract":false,"args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"args_string":"(reliable : Bool)","args_html":"(reliable : Bool)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable=","args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"visibility":"Public","body":"@reliable = reliable"}},{"html_id":"timestamp:String-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp","return_type":"String","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:String)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"args_string":"(timestamp : String)","args_html":"(timestamp : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"value:Hash(String,JSON::Any)-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Hash(String,JSON::Any))-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"args_string":"(value : Hash(String, JSON::Any))","args_html":"(value : Hash(String, JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/SamplesResponse","path":"JohnsonControls/SamplesResponse.html","kind":"class","full_name":"JohnsonControls::SamplesResponse","name":"SamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L231"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L232"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Item)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items","return_type":"Array(Item)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Item))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"args_string":"(items : Array(Item))","args_html":"(items : Array(Item))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"visibility":"Public","body":"@items = items"}}]},{"html_id":"drivers/JohnsonControls/Value","path":"JohnsonControls/Value.html","kind":"class","full_name":"JohnsonControls::Value","name":"Value","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual:Float64-instance-method","name":"actual","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual","return_type":"Float64","visibility":"Public","body":"@actual"}},{"html_id":"actual=(actual:Float64)-instance-method","name":"actual=","abstract":false,"args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"args_string":"(actual : Float64)","args_html":"(actual : Float64)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual=","args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"visibility":"Public","body":"@actual = actual"}}]}]},{"html_id":"drivers/Juniper","path":"Juniper.html","kind":"module","full_name":"Juniper","name":"Juniper","abstract":false,"locations":[{"filename":"src/juniper/mist_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Juniper/Client","path":"Juniper/Client.html","kind":"class","full_name":"Juniper::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accuracy-instance-method","name":"accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L109"},"def":{"name":"accuracy","visibility":"Public","body":"if raw_accuracy\n return raw_accuracy\nend\n15 // num_locating_aps\n"}},{"html_id":"ap_id:String-instance-method","name":"ap_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id","return_type":"String","visibility":"Public","body":"@ap_id"}},{"html_id":"ap_id=(ap_id:String)-instance-method","name":"ap_id=","abstract":false,"args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"args_string":"(ap_id : String)","args_html":"(ap_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id=","args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"visibility":"Public","body":"@ap_id = ap_id"}},{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"family:String|Nil-instance-method","name":"family","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L86"},"def":{"name":"family","return_type":"String | ::Nil","visibility":"Public","body":"@family"}},{"html_id":"family=(family:String|Nil)-instance-method","name":"family=","abstract":false,"args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"args_string":"(family : String | Nil)","args_html":"(family : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L86"},"def":{"name":"family=","args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family = family"}},{"html_id":"guest:Guest|Nil-instance-method","name":"guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L115"},"def":{"name":"guest","return_type":"Guest | ::Nil","visibility":"Public","body":"@guest"}},{"html_id":"guest=(guest:Guest|Nil)-instance-method","name":"guest=","abstract":false,"args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"args_string":"(guest : Guest | Nil)","args_html":"(guest : Guest | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L115"},"def":{"name":"guest=","args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"visibility":"Public","body":"@guest = guest"}},{"html_id":"hostname:String|Nil-instance-method","name":"hostname","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname","return_type":"String | ::Nil","visibility":"Public","body":"@hostname"}},{"html_id":"hostname=(hostname:String|Nil)-instance-method","name":"hostname=","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"args_string":"(hostname : String | Nil)","args_html":"(hostname : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname=","args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@hostname = hostname"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"is_guest:Bool|Nil-instance-method","name":"is_guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_guest"}},{"html_id":"is_guest=(is_guest:Bool|Nil)-instance-method","name":"is_guest=","abstract":false,"args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"args_string":"(is_guest : Bool | Nil)","args_html":"(is_guest : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest=","args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_guest = is_guest"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L79"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L79"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacture:String|Nil-instance-method","name":"manufacture","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture","return_type":"String | ::Nil","visibility":"Public","body":"@manufacture"}},{"html_id":"manufacture=(manufacture:String|Nil)-instance-method","name":"manufacture=","abstract":false,"args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"args_string":"(manufacture : String | Nil)","args_html":"(manufacture : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture=","args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacture = manufacture"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L87"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String|Nil)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"args_string":"(model : String | Nil)","args_html":"(model : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L87"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_locating_aps:Int32-instance-method","name":"num_locating_aps","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps","return_type":"Int32","visibility":"Public","body":"@num_locating_aps"}},{"html_id":"num_locating_aps=(num_locating_aps:Int32)-instance-method","name":"num_locating_aps=","abstract":false,"args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"args_string":"(num_locating_aps : Int32)","args_html":"(num_locating_aps : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps=","args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"visibility":"Public","body":"@num_locating_aps = num_locating_aps"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L84"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L84"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"psk_id:String|Nil-instance-method","name":"psk_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id","return_type":"String | ::Nil","visibility":"Public","body":"@psk_id"}},{"html_id":"psk_id=(psk_id:String|Nil)-instance-method","name":"psk_id=","abstract":false,"args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"args_string":"(psk_id : String | Nil)","args_html":"(psk_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id=","args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@psk_id = psk_id"}},{"html_id":"raw_accuracy:Int32|Nil-instance-method","name":"raw_accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@raw_accuracy"}},{"html_id":"raw_accuracy=(raw_accuracy:Int32|Nil)-instance-method","name":"raw_accuracy=","abstract":false,"args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"args_string":"(raw_accuracy : Int32 | Nil)","args_html":"(raw_accuracy : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy=","args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@raw_accuracy = raw_accuracy"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"args_string":"(ssid : String)","args_html":"(ssid : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L82"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}},{"html_id":"username=(username:String|Nil)-instance-method","name":"username=","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil)","args_html":"(username : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L82"},"def":{"name":"username=","args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"@username = username"}},{"html_id":"wlan_id:String-instance-method","name":"wlan_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id","return_type":"String","visibility":"Public","body":"@wlan_id"}},{"html_id":"wlan_id=(wlan_id:String)-instance-method","name":"wlan_id=","abstract":false,"args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"args_string":"(wlan_id : String)","args_html":"(wlan_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id=","args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"visibility":"Public","body":"@wlan_id = wlan_id"}},{"html_id":"x:Float64-instance-method","name":"x","doc":"pixels","summary":"

pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L99"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","doc":"pixels","summary":"

pixels

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L99"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"x_m:Float64|Nil-instance-method","name":"x_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x_m"}},{"html_id":"x_m=(x_m:Float64|Nil)-instance-method","name":"x_m=","abstract":false,"args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"args_string":"(x_m : Float64 | Nil)","args_html":"(x_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m=","args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x_m = x_m"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L100"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L100"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}},{"html_id":"y_m:Float64|Nil-instance-method","name":"y_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y_m"}},{"html_id":"y_m=(y_m:Float64|Nil)-instance-method","name":"y_m=","abstract":false,"args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"args_string":"(y_m : Float64 | Nil)","args_html":"(y_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m=","args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y_m = y_m"}}]},{"html_id":"drivers/Juniper/Guest","path":"Juniper/Guest.html","kind":"class","full_name":"Juniper::Guest","name":"Guest","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L118"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L119"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"authorized:Bool-instance-method","name":"authorized","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized","return_type":"Bool","visibility":"Public","body":"@authorized"}},{"html_id":"authorized=(authorized:Bool)-instance-method","name":"authorized=","abstract":false,"args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"args_string":"(authorized : Bool)","args_html":"(authorized : Bool)","location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized=","args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"visibility":"Public","body":"@authorized = authorized"}},{"html_id":"authorized_expiring_time:Int64|Nil-instance-method","name":"authorized_expiring_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_expiring_time"}},{"html_id":"authorized_expiring_time=(authorized_expiring_time:Int64|Nil)-instance-method","name":"authorized_expiring_time=","abstract":false,"args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_expiring_time : Int64 | Nil)","args_html":"(authorized_expiring_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time=","args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_expiring_time = authorized_expiring_time"}},{"html_id":"authorized_time:Int64|Nil-instance-method","name":"authorized_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_time"}},{"html_id":"authorized_time=(authorized_time:Int64|Nil)-instance-method","name":"authorized_time=","abstract":false,"args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_time : Int64 | Nil)","args_html":"(authorized_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time=","args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_time = authorized_time"}},{"html_id":"company:String|Nil-instance-method","name":"company","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L127"},"def":{"name":"company","return_type":"String | ::Nil","visibility":"Public","body":"@company"}},{"html_id":"company=(company:String|Nil)-instance-method","name":"company=","abstract":false,"args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"args_string":"(company : String | Nil)","args_html":"(company : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L127"},"def":{"name":"company=","args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"visibility":"Public","body":"@company = company"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L126"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L126"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L125"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L125"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/LatLng","path":"Juniper/LatLng.html","kind":"struct","full_name":"Juniper::LatLng","name":"LatLng","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L71"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L71"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L72"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L72"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]},{"html_id":"drivers/Juniper/LocationAsset","path":"Juniper/LocationAsset.html","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"battery_voltage:Float64|Nil-instance-method","name":"battery_voltage","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage","return_type":"Float64 | ::Nil","visibility":"Public","body":"@battery_voltage"}},{"html_id":"battery_voltage=(battery_voltage:Float64|Nil)-instance-method","name":"battery_voltage=","abstract":false,"args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"args_string":"(battery_voltage : Float64 | Nil)","args_html":"(battery_voltage : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage=","args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@battery_voltage = battery_voltage"}},{"html_id":"eddystone_uid_instance:String|Nil-instance-method","name":"eddystone_uid_instance","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_instance"}},{"html_id":"eddystone_uid_instance=(eddystone_uid_instance:String|Nil)-instance-method","name":"eddystone_uid_instance=","abstract":false,"args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_instance : String | Nil)","args_html":"(eddystone_uid_instance : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance=","args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_instance = eddystone_uid_instance"}},{"html_id":"eddystone_uid_namespace:String|Nil-instance-method","name":"eddystone_uid_namespace","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_namespace"}},{"html_id":"eddystone_uid_namespace=(eddystone_uid_namespace:String|Nil)-instance-method","name":"eddystone_uid_namespace=","abstract":false,"args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_namespace : String | Nil)","args_html":"(eddystone_uid_namespace : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace=","args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_namespace = eddystone_uid_namespace"}},{"html_id":"eddystone_url_url:String|Nil-instance-method","name":"eddystone_url_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_url_url"}},{"html_id":"eddystone_url_url=(eddystone_url_url:String|Nil)-instance-method","name":"eddystone_url_url=","abstract":false,"args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"args_string":"(eddystone_url_url : String | Nil)","args_html":"(eddystone_url_url : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url=","args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_url_url = eddystone_url_url"}},{"html_id":"ibeacon_major:Int64|Nil-instance-method","name":"ibeacon_major","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_major"}},{"html_id":"ibeacon_major=(ibeacon_major:Int64|Nil)-instance-method","name":"ibeacon_major=","abstract":false,"args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_major : Int64 | Nil)","args_html":"(ibeacon_major : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major=","args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_major = ibeacon_major"}},{"html_id":"ibeacon_minor:Int64|Nil-instance-method","name":"ibeacon_minor","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_minor"}},{"html_id":"ibeacon_minor=(ibeacon_minor:Int64|Nil)-instance-method","name":"ibeacon_minor=","abstract":false,"args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_minor : Int64 | Nil)","args_html":"(ibeacon_minor : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor=","args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_minor = ibeacon_minor"}},{"html_id":"ibeacon_uuid:String|Nil-instance-method","name":"ibeacon_uuid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid","return_type":"String | ::Nil","visibility":"Public","body":"@ibeacon_uuid"}},{"html_id":"ibeacon_uuid=(ibeacon_uuid:String|Nil)-instance-method","name":"ibeacon_uuid=","abstract":false,"args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"args_string":"(ibeacon_uuid : String | Nil)","args_html":"(ibeacon_uuid : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid=","args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ibeacon_uuid = ibeacon_uuid"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L191"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L191"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"mfg_company_id:Int64|Nil-instance-method","name":"mfg_company_id","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mfg_company_id"}},{"html_id":"mfg_company_id=(mfg_company_id:Int64|Nil)-instance-method","name":"mfg_company_id=","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"args_string":"(mfg_company_id : Int64 | Nil)","args_html":"(mfg_company_id : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id=","args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@mfg_company_id = mfg_company_id"}},{"html_id":"mfg_data:String|Nil-instance-method","name":"mfg_data","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data","return_type":"String | ::Nil","visibility":"Public","body":"@mfg_data"}},{"html_id":"mfg_data=(mfg_data:String|Nil)-instance-method","name":"mfg_data=","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"args_string":"(mfg_data : String | Nil)","args_html":"(mfg_data : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data=","args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mfg_data = mfg_data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L190"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationEvent","path":"Juniper/LocationEvent.html","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationAsset","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset"},{"html_id":"drivers/Juniper/LocationSDK","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK"},{"html_id":"drivers/Juniper/LocationWifi","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"sdk\"\n LocationSDK.from_json(json)\nwhen \"wifi\"\n LocationWifi.from_json(json)\nwhen \"asset\"\n LocationAsset.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L167"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L167"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L168"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L168"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Juniper/LocationEvents","path":"Juniper/LocationEvents.html","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L149"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(LocationEvent)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L151"},"def":{"name":"events","return_type":"Array(LocationEvent)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L150"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/LocationSDK","path":"Juniper/LocationSDK.html","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L181"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L181"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L180"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L180"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L179"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationWifi","path":"Juniper/LocationWifi.html","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L184"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L184"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L186"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L186"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L185"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/Map","path":"Juniper/Map.html","kind":"class","full_name":"Juniper::Map","name":"Map","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/MapGoogle","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle"},{"html_id":"drivers/Juniper/MapImage","kind":"class","full_name":"Juniper::MapImage","name":"MapImage"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"image\"\n MapImage.from_json(json)\nwhen \"google\"\n MapGoogle.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L21"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L21"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/MapGoogle","path":"Juniper/MapGoogle.html","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_right_coordinates:LatLng-instance-method","name":"bottom_right_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates","return_type":"LatLng","visibility":"Public","body":"@bottom_right_coordinates"}},{"html_id":"bottom_right_coordinates=(bottom_right_coordinates:LatLng)-instance-method","name":"bottom_right_coordinates=","abstract":false,"args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"args_string":"(bottom_right_coordinates : LatLng)","args_html":"(bottom_right_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates=","args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@bottom_right_coordinates = bottom_right_coordinates"}},{"html_id":"origin_x:Float64-instance-method","name":"origin_x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x","return_type":"Float64","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Float64)-instance-method","name":"origin_x=","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"args_string":"(origin_x : Float64)","args_html":"(origin_x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Float64-instance-method","name":"origin_y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y","return_type":"Float64","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Float64)-instance-method","name":"origin_y=","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"args_string":"(origin_y : Float64)","args_html":"(origin_y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"top_left_coordinates:LatLng-instance-method","name":"top_left_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates","return_type":"LatLng","visibility":"Public","body":"@top_left_coordinates"}},{"html_id":"top_left_coordinates=(top_left_coordinates:LatLng)-instance-method","name":"top_left_coordinates=","abstract":false,"args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"args_string":"(top_left_coordinates : LatLng)","args_html":"(top_left_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates=","args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@top_left_coordinates = top_left_coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L56"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"view:String-instance-method","name":"view","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L57"},"def":{"name":"view","return_type":"String","visibility":"Public","body":"@view"}},{"html_id":"view=(view:String)-instance-method","name":"view=","abstract":false,"args":[{"name":"view","external_name":"view","restriction":"String"}],"args_string":"(view : String)","args_html":"(view : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L57"},"def":{"name":"view=","args":[{"name":"view","external_name":"view","restriction":"String"}],"visibility":"Public","body":"@view = view"}}]},{"html_id":"drivers/Juniper/MapImage","path":"Juniper/MapImage.html","kind":"class","full_name":"Juniper::MapImage","name":"MapImage","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Int32-instance-method","name":"height","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L41"},"def":{"name":"height","return_type":"Int32","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Int32)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(height : Int32)","args_html":"(height : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L41"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"@height = height"}},{"html_id":"height_m:Float64|Nil-instance-method","name":"height_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height_m"}},{"html_id":"height_m=(height_m:Float64|Nil)-instance-method","name":"height_m=","abstract":false,"args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"args_string":"(height_m : Float64 | Nil)","args_html":"(height_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m=","args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@height_m = height_m"}},{"html_id":"locked:Bool|Nil-instance-method","name":"locked","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L52"},"def":{"name":"locked","return_type":"Bool | ::Nil","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool|Nil)-instance-method","name":"locked=","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"args_string":"(locked : Bool | Nil)","args_html":"(locked : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L52"},"def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@locked = locked"}},{"html_id":"org_id:String|Nil-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id","return_type":"String | ::Nil","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String|Nil)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"args_string":"(org_id : String | Nil)","args_html":"(org_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"orientation:Int32|Nil-instance-method","name":"orientation","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation","return_type":"Int32 | ::Nil","visibility":"Public","body":"@orientation"}},{"html_id":"orientation=(orientation:Int32|Nil)-instance-method","name":"orientation=","abstract":false,"args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"args_string":"(orientation : Int32 | Nil)","args_html":"(orientation : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation=","args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@orientation = orientation"}},{"html_id":"origin_x:Int32|Nil-instance-method","name":"origin_x","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Int32|Nil)-instance-method","name":"origin_x=","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"args_string":"(origin_x : Int32 | Nil)","args_html":"(origin_x : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Int32|Nil-instance-method","name":"origin_y","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Int32|Nil)-instance-method","name":"origin_y=","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"args_string":"(origin_y : Int32 | Nil)","args_html":"(origin_y : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"pixels_per_meter:Float32-instance-method","name":"pixels_per_meter","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter","return_type":"Float32","visibility":"Public","body":"@pixels_per_meter"}},{"html_id":"pixels_per_meter=(pixels_per_meter:Float32)-instance-method","name":"pixels_per_meter=","abstract":false,"args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"args_string":"(pixels_per_meter : Float32)","args_html":"(pixels_per_meter : Float32)","location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter=","args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"visibility":"Public","body":"@pixels_per_meter = pixels_per_meter"}},{"html_id":"site_id:String|Nil-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id","return_type":"String | ::Nil","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String|Nil)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String | Nil)","args_html":"(site_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"thumbnail_url:String-instance-method","name":"thumbnail_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url","return_type":"String","visibility":"Public","body":"@thumbnail_url"}},{"html_id":"thumbnail_url=(thumbnail_url:String)-instance-method","name":"thumbnail_url=","abstract":false,"args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"args_string":"(thumbnail_url : String)","args_html":"(thumbnail_url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url=","args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"visibility":"Public","body":"@thumbnail_url = thumbnail_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L31"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"width:Int32-instance-method","name":"width","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L40"},"def":{"name":"width","return_type":"Int32","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Int32)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"}],"args_string":"(width : Int32)","args_html":"(width : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L40"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Int32"}],"visibility":"Public","body":"@width = width"}},{"html_id":"width_m:Float64|Nil-instance-method","name":"width_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width_m"}},{"html_id":"width_m=(width_m:Float64|Nil)-instance-method","name":"width_m=","abstract":false,"args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"args_string":"(width_m : Float64 | Nil)","args_html":"(width_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m=","args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@width_m = width_m"}}]},{"html_id":"drivers/Juniper/Mist","path":"Juniper/Mist.html","kind":"class","full_name":"Juniper::Mist","name":"Mist","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(site_id:String,client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(site_id : String, client_mac : String)","args_html":"(site_id : String, client_mac : String)","location":{"filename":"src/juniper/mist.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L117"},"def":{"name":"client","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"clients(site_id:String,map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String, map_id : String | Nil = nil)","args_html":"(site_id : String, map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L109"},"def":{"name":"clients","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L97"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"location_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"location_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/juniper/mist.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L124"},"def":{"name":"location_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nvalidation = if signature = headers[\"X-Mist-Signature-v2\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA256, @webhook_secret, body)).downcase\nelse\n if signature = headers[\"X-Mist-Signature\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA1, @webhook_secret, body)).downcase\n else\n logger.warn do\n \"webhook called without validation signature\"\n end\n return {HTTP::Status::NOT_FOUND.to_i, EMPTY_HEADERS, \"\"}\n end\nend\nif validation != signature.downcase\n logger.warn do\n \"validation failed, check webhook secret\"\n end\n return {HTTP::Status::UNAUTHORIZED.to_i, EMPTY_HEADERS, \"\"}\nend\nbegin\n event_data = WebhookEvent.from_json(body)\n logger.debug do\n \"parsed mist webhook payload\"\n end\n if event_data.topic != \"location\"\n logger.debug do\n \"ignoring message type: #{event_data.topic}\"\n end\n return SUCCESS_RESPONSE\n end\n sites = Hash(String, Array(LocationEvent)).new do |hash, site|\n hash[site] = [] of LocationEvent\n end\n (event_data.events.as(Array(LocationEvent))).each do |event|\n sites[event.site_id] << event\n end\n sites.each do |site, events|\n self[site] = events\n end\nrescue e\n logger.error(exception: e) do\n \"failed to parse mist webhook payload\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}},{"html_id":"maps(site_id:String)-instance-method","name":"maps","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L105"},"def":{"name":"maps","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nschedule.cron(\"0 * * * *\") do\n reset_rate_limit\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L36"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@org_id = setting(String, :org_id)\n@webhook_secret = (setting?(String, :webhook_secret)) || \"\"\n"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist.cr#L101"},"def":{"name":"sites","visibility":"Public","body":"request(Array(Site)) do |headers|\n get(\"/api/v1/orgs/#{@org_id}/sites\", headers: headers)\nend"}}]},{"html_id":"drivers/Juniper/MistLocationService","path":"Juniper/MistLocationService.html","kind":"class","full_name":"Juniper::MistLocationService","name":"MistLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/juniper/mist_location_service.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L118"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = (mist.ownership_of(lookup)).get.as_s?\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L130"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of String\nend\nmaps = [] of String\n@floorplan_mappings.each do |map_id, data|\n if data.values.includes?(zone_id)\n maps << map_id\n end\nend\nlogger.debug do\n \"found matching mist maps: #{maps}\"\nend\nif maps.empty?\n return [] of String\nend\nignore_older = @max_location_age.ago.to_unix\nall_devices = maps.flat_map do |map_id|\n clients = (mist.status?(Array(Client), map_id)) || ([] of Client)\n mappings = @floorplan_mappings[map_id]\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n clients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\n end\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L197"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"clients = Array(Client).from_json((mist.locate(username.presence || email.presence.not_nil!)).get.to_json)\nignore_older = @max_location_age.ago.to_unix\nclients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n map_id = client.map_id\n mappings = @floorplan_mappings[map_id]?\n if mappings\n else\n next\n end\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\nend\n"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","doc":"Proxies the data to the mist driver","summary":"

Proxies the data to the mist driver

","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_location_service.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L113"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"mist.mac_address_mappings(username, macs, domain)"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L107"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(mist.macs_assigned_to(username.presence || email.presence.not_nil!)).get.as_a.map(&.as_s)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Int32)), :floorplan_mappings)) || @floorplan_mappings\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\nschedule.clear\nschedule.every(10.minutes) do\n sync_map_sizes\nend\nschedule.in(20.seconds) do\n sync_map_sizes\nend\n"}}]},{"html_id":"drivers/Juniper/MistWebsocket","path":"Juniper/MistWebsocket.html","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L162"},"def":{"name":"client","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"client_data:Hash(String,Client)-instance-method","name":"client_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L36"},"def":{"name":"client_data","return_type":"Hash(String, Client)","visibility":"Public","body":"if (value = @client_data).nil?\n @client_data = ({} of String => Client)\nelse\n value\nend"}},{"html_id":"clients(map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil = nil)","args_html":"(map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L154"},"def":{"name":"clients","args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L69"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\n@location_data = nil\n@client_data = nil\nschedule.every(45.seconds, immediate: true) do\n transport.send({subscribe: \"/sites/#{@site_id}/stats/clients\"}.to_json)\nend\nsync_clients\nschedule.every(3.seconds) do\n update_client_locations\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L82"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@connected = false\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L195"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L186"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L142"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"locate(username:String)-instance-method","name":"locate","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String)","args_html":"(username : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L213"},"def":{"name":"locate","args":[{"name":"username","external_name":"username","restriction":"String"}],"visibility":"Public","body":"(macs_assigned_to(username)).compact_map do |mac|\n self[mac]?\nend"}},{"html_id":"location_data:Hash(String,Hash(String,Client))-instance-method","name":"location_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L32"},"def":{"name":"location_data","return_type":"Hash(String, Hash(String, Client))","visibility":"Public","body":"if (value = @location_data).nil?\n @location_data = (Hash(String, Hash(String, Client)).new do |hash, map_id|\n hash[map_id] = {} of String => Client\n end)\nelse\n value\nend"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_websocket.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L254"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"macs_assigned_to(username:String):Array(String)-instance-method","name":"macs_assigned_to","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String) : Array(String)","args_html":"(username : String) : Array(String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L199"},"def":{"name":"macs_assigned_to","args":[{"name":"username","external_name":"username","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username)\nif macs = user_mac_mappings do |s|\n s[username]?\nend\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"maps-instance-method","name":"maps","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L150"},"def":{"name":"maps","visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\ntransport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@site_id = setting(String, :site_id)\nif @site_id == \"site_id\"\nelse\n transport.http_uri_override = URI.parse(\"https://api.mist.com\")\nend\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\nif @connected\n connected\nend\n"}},{"html_id":"ownership_of(mac_address:String)-instance-method","name":"ownership_of","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L208"},"def":{"name":"ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"mac_address = format_mac(mac_address)\nuser_mac_mappings do |storage|\n storage[mac_address]?\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"string = (String.new(data)).rstrip\nlogger.debug do\n \"websocket sent: #{string}\"\nend\nevent = WebsocketEvent.from_json(string)\nif event_data = event.data\n update_location(client_data, location_data, event_data)\nend\ntask.try(&.success)\n"}},{"html_id":"site_list(org_id:String)-instance-method","name":"site_list","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L146"},"def":{"name":"site_list","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Hash(String, JSON::Any))) do |headers|\n get(\"/api/v1/installer/orgs/#{org_id}/sites\", headers: headers)\nend"}},{"html_id":"sync_clients-instance-method","name":"sync_clients","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L123"},"def":{"name":"sync_clients","visibility":"Public","body":"clients_resp = clients\nloc_data = location_data\ncli_data = client_data\nclients_resp.each do |client|\n update_location(cli_data, loc_data, client)\nend\nloc_data.each do |map_id, clients|\n self[map_id] = clients.values\nend\nlocation_data.size\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L62"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"Authorization\" => @api_token, \"User-Agent\" => \"PlaceOS/2.0 PlaceTechnology\"}"}}],"types":[{"html_id":"drivers/Juniper/MistWebsocket/WebsocketEvent","path":"Juniper/MistWebsocket/WebsocketEvent.html","kind":"struct","full_name":"Juniper::MistWebsocket::WebsocketEvent","name":"WebsocketEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper/MistWebsocket","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L170"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"data:Client|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L171"},"def":{"name":"data","return_type":"Client | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_websocket.cr#L169"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]}]},{"html_id":"drivers/Juniper/OtherEvents","path":"Juniper/OtherEvents.html","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(JSON::Any)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L157"},"def":{"name":"events","return_type":"Array(JSON::Any)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L156"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/Site","path":"Juniper/Site.html","kind":"class","full_name":"Juniper::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"country_code:String-instance-method","name":"country_code","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code","return_type":"String","visibility":"Public","body":"@country_code"}},{"html_id":"country_code=(country_code:String)-instance-method","name":"country_code=","abstract":false,"args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"args_string":"(country_code : String)","args_html":"(country_code : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code=","args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"visibility":"Public","body":"@country_code = country_code"}},{"html_id":"created_time:Int64-instance-method","name":"created_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time","return_type":"Int64","visibility":"Public","body":"@created_time"}},{"html_id":"created_time=(created_time:Int64)-instance-method","name":"created_time=","abstract":false,"args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"args_string":"(created_time : Int64)","args_html":"(created_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time=","args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"visibility":"Public","body":"@created_time = created_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"modified_time:Int64-instance-method","name":"modified_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time","return_type":"Int64","visibility":"Public","body":"@modified_time"}},{"html_id":"modified_time=(modified_time:Int64)-instance-method","name":"modified_time=","abstract":false,"args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"args_string":"(modified_time : Int64)","args_html":"(modified_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time=","args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"visibility":"Public","body":"@modified_time = modified_time"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"org_id:String-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id","return_type":"String","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}}]},{"html_id":"drivers/Juniper/WebhookEvent","path":"Juniper/WebhookEvent.html","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationEvents","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents"},{"html_id":"drivers/Juniper/OtherEvents","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/juniper/mist_models.cr#L133"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"topic\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'topic' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'topic'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n LocationEvents.from_json(json)\nwhen \"zone\"\n OtherEvents.from_json(json)\nwhen \"asset-raw\"\n OtherEvents.from_json(json)\nwhen \"device-events\"\n OtherEvents.from_json(json)\nwhen \"device-updowns\"\n OtherEvents.from_json(json)\nwhen \"alarms\"\n OtherEvents.from_json(json)\nwhen \"audits\"\n OtherEvents.from_json(json)\nwhen \"client-join\"\n OtherEvents.from_json(json)\nwhen \"client-sessions\"\n OtherEvents.from_json(json)\nwhen \"ping\"\n OtherEvents.from_json(json)\nwhen \"occupancy-alerts\"\n OtherEvents.from_json(json)\nwhen \"sdkclient-scan-data\"\n OtherEvents.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'topic' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]}]},{"html_id":"drivers/Kaiterra","path":"Kaiterra.html","kind":"module","full_name":"Kaiterra","name":"Kaiterra","abstract":false,"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kaiterra/API","path":"Kaiterra/API.html","kind":"class","full_name":"Kaiterra::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Kaiterra","kind":"module","full_name":"Kaiterra","name":"Kaiterra"},"instance_methods":[{"html_id":"batch(body:Array(Request),params:Hash(String,String)={}ofString=>String)-instance-method","name":"batch","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","args_html":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L118"},"def":{"name":"batch","args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = post(generate_url(\"/batch\", params), body: body.to_json, headers: generate_headers({\"Content-Type\" => \"application/json\", \"Content-Encoding\" => \"UTF-8\"}))\nArray(BatchResponse).from_json(response.body)\n"}},{"html_id":"get_devices(id:String,params:Hash(String,String)={}ofString=>String)-instance-method","name":"get_devices","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(id : String, params : Hash(String, String) = {} of String => String)","args_html":"(id : String, params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L93"},"def":{"name":"get_devices","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = get(generate_url(\"/devices/#{id}/top\", params), headers: generate_headers)\nResponse.from_json(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}}],"types":[{"html_id":"drivers/Kaiterra/API/BatchResponse","path":"Kaiterra/API/BatchResponse.html","kind":"class","full_name":"Kaiterra::API::BatchResponse","name":"BatchResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L114"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L114"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"code:Int64-instance-method","name":"code","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L115"},"def":{"name":"code","return_type":"Int64","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int64)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int64"}],"args_string":"(code : Int64)","args_html":"(code : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L115"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int64"}],"visibility":"Public","body":"@code = code"}}]},{"html_id":"drivers/Kaiterra/API/Data","path":"Kaiterra/API/Data.html","kind":"class","full_name":"Kaiterra::API::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L83"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L84"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"param:Param-instance-method","name":"param","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L86"},"def":{"name":"param","return_type":"Param","visibility":"Public","body":"@param"}},{"html_id":"param=(param:Param)-instance-method","name":"param=","abstract":false,"args":[{"name":"param","external_name":"param","restriction":"Param"}],"args_string":"(param : Param)","args_html":"(param : Param)","location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L86"},"def":{"name":"param=","args":[{"name":"param","external_name":"param","restriction":"Param"}],"visibility":"Public","body":"@param = param"}},{"html_id":"points:Array(JSON::Any::Type)-instance-method","name":"points","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L90"},"def":{"name":"points","return_type":"Array(JSON::Any::Type)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(JSON::Any::Type))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"args_string":"(points : Array(JSON::Any::Type))","args_html":"(points : Array(JSON::Any::Type))","location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L90"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"visibility":"Public","body":"@points = points"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L88"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:String|Nil)-instance-method","name":"source=","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(source : String | Nil)","args_html":"(source : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L88"},"def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"@source = source"}},{"html_id":"span:Int64-instance-method","name":"span","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L89"},"def":{"name":"span","return_type":"Int64","visibility":"Public","body":"@span"}},{"html_id":"span=(span:Int64)-instance-method","name":"span=","abstract":false,"args":[{"name":"span","external_name":"span","restriction":"Int64"}],"args_string":"(span : Int64)","args_html":"(span : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L89"},"def":{"name":"span=","args":[{"name":"span","external_name":"span","restriction":"Int64"}],"visibility":"Public","body":"@span = span"}},{"html_id":"units:Unit-instance-method","name":"units","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L87"},"def":{"name":"units","return_type":"Unit","visibility":"Public","body":"@units"}},{"html_id":"units=(units:Unit)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"Unit"}],"args_string":"(units : Unit)","args_html":"(units : Unit)","location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L87"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"Unit"}],"visibility":"Public","body":"@units = units"}}]},{"html_id":"drivers/Kaiterra/API/Param","path":"Kaiterra/API/Param.html","kind":"enum","full_name":"Kaiterra::API::Param","name":"Param","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Rco2","name":"Rco2","value":"0"},{"id":"Ro3","name":"Ro3","value":"1"},{"id":"Rpm25c","name":"Rpm25c","value":"2"},{"id":"Rpm10c","name":"Rpm10c","value":"3"},{"id":"Rhumid","name":"Rhumid","value":"4"},{"id":"Rtemp","name":"Rtemp","value":"5"},{"id":"Rtvoc","name":"Rtvoc","value":"6"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"instance_methods":[{"html_id":"rco2?-instance-method","name":"rco2?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L26"},"def":{"name":"rco2?","visibility":"Public","body":"self == Rco2"}},{"html_id":"rhumid?-instance-method","name":"rhumid?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L30"},"def":{"name":"rhumid?","visibility":"Public","body":"self == Rhumid"}},{"html_id":"ro3?-instance-method","name":"ro3?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L27"},"def":{"name":"ro3?","visibility":"Public","body":"self == Ro3"}},{"html_id":"rpm10c?-instance-method","name":"rpm10c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L29"},"def":{"name":"rpm10c?","visibility":"Public","body":"self == Rpm10c"}},{"html_id":"rpm25c?-instance-method","name":"rpm25c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L28"},"def":{"name":"rpm25c?","visibility":"Public","body":"self == Rpm25c"}},{"html_id":"rtemp?-instance-method","name":"rtemp?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L31"},"def":{"name":"rtemp?","visibility":"Public","body":"self == Rtemp"}},{"html_id":"rtvoc?-instance-method","name":"rtvoc?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L32"},"def":{"name":"rtvoc?","visibility":"Public","body":"self == Rtvoc"}}]},{"html_id":"drivers/Kaiterra/API/Request","path":"Kaiterra/API/Request.html","kind":"class","full_name":"Kaiterra::API::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L102"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String|Nil-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L108"},"def":{"name":"body","return_type":"String | ::Nil","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String|Nil)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(body : String | Nil)","args_html":"(body : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L108"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"@body = body"}},{"html_id":"headers:Array(NamedTuple(name:String,value:String))|Nil-instance-method","name":"headers","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L107"},"def":{"name":"headers","return_type":"Array(NamedTuple(name: String, value: String)) | ::Nil","visibility":"Public","body":"@headers"}},{"html_id":"headers=(headers:Array(NamedTuple(name:String,value:String))|Nil)-instance-method","name":"headers=","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"args_string":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","args_html":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L107"},"def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L104"},"def":{"name":"method","return_type":"String","visibility":"Public","body":"@method"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L104"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"relative_url:String-instance-method","name":"relative_url","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url","return_type":"String","visibility":"Public","body":"@relative_url"}},{"html_id":"relative_url=(relative_url:String)-instance-method","name":"relative_url=","abstract":false,"args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"args_string":"(relative_url : String)","args_html":"(relative_url : String)","location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url=","args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"visibility":"Public","body":"@relative_url = relative_url"}}]},{"html_id":"drivers/Kaiterra/API/Response","path":"Kaiterra/API/Response.html","kind":"class","full_name":"Kaiterra::API::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L76"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L77"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Data)|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L79"},"def":{"name":"data","return_type":"Array(Data) | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Array(Data)|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"args_string":"(data : Array(Data) | Nil)","args_html":"(data : Array(Data) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L79"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"visibility":"Public","body":"@data = data"}},{"html_id":"errors:Array(JSON::Any::Type)|Nil-instance-method","name":"errors","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L80"},"def":{"name":"errors","return_type":"Array(JSON::Any::Type) | ::Nil","visibility":"Public","body":"@errors"}},{"html_id":"errors=(errors:Array(JSON::Any::Type)|Nil)-instance-method","name":"errors=","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"args_string":"(errors : Array(JSON::Any::Type) | Nil)","args_html":"(errors : Array(JSON::Any::Type) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L80"},"def":{"name":"errors=","args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"visibility":"Public","body":"@errors = errors"}}]},{"html_id":"drivers/Kaiterra/API/Unit","path":"Kaiterra/API/Unit.html","kind":"enum","full_name":"Kaiterra::API::Unit","name":"Unit","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ppm","name":"Ppm","value":"0"},{"id":"Ppb","name":"Ppb","value":"1"},{"id":"MicrogramsPerCubicMeter","name":"MicrogramsPerCubicMeter","value":"2"},{"id":"MilligramsPerCubicMeter","name":"MilligramsPerCubicMeter","value":"3"},{"id":"C","name":"C","value":"4"},{"id":"F","name":"F","value":"5"},{"id":"X","name":"X","value":"6"},{"id":"Percentage","name":"Percentage","value":"7"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"class_methods":[{"html_id":"parse(string)-class-method","name":"parse","abstract":false,"args":[{"name":"string","external_name":"string","restriction":""}],"args_string":"(string)","args_html":"(string)","location":{"filename":"src/kaiterra/api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L45"},"def":{"name":"parse","args":[{"name":"string","external_name":"string","restriction":""}],"visibility":"Public","body":"case string\nwhen \"µg/m³\"\n Unit::MicrogramsPerCubicMeter\nwhen \"mg/m³\"\n Unit::MilligramsPerCubicMeter\nwhen \"%\"\n Unit::Percentage\nelse\n super(string)\nend"}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"parse(pull.read_string)"}}],"instance_methods":[{"html_id":"c?-instance-method","name":"c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L40"},"def":{"name":"c?","visibility":"Public","body":"self == C"}},{"html_id":"f?-instance-method","name":"f?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L41"},"def":{"name":"f?","visibility":"Public","body":"self == F"}},{"html_id":"micrograms_per_cubic_meter?-instance-method","name":"micrograms_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L38"},"def":{"name":"micrograms_per_cubic_meter?","visibility":"Public","body":"self == MicrogramsPerCubicMeter"}},{"html_id":"milligrams_per_cubic_meter?-instance-method","name":"milligrams_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L39"},"def":{"name":"milligrams_per_cubic_meter?","visibility":"Public","body":"self == MilligramsPerCubicMeter"}},{"html_id":"percentage?-instance-method","name":"percentage?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L43"},"def":{"name":"percentage?","visibility":"Public","body":"self == Percentage"}},{"html_id":"ppb?-instance-method","name":"ppb?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L37"},"def":{"name":"ppb?","visibility":"Public","body":"self == Ppb"}},{"html_id":"ppm?-instance-method","name":"ppm?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L36"},"def":{"name":"ppm?","visibility":"Public","body":"self == Ppm"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L62"},"def":{"name":"to_s","visibility":"Public","body":"case self\nwhen Unit::MicrogramsPerCubicMeter\n \"µg/m³\"\nwhen Unit::MilligramsPerCubicMeter\n \"mg/m³\"\nwhen Unit::Percentage\n \"%\"\nelse\n super()\nend"}},{"html_id":"x?-instance-method","name":"x?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kaiterra/api.cr#L42"},"def":{"name":"x?","visibility":"Public","body":"self == X"}}]}]}]},{"html_id":"drivers/KontaktIO","path":"KontaktIO.html","kind":"module","full_name":"KontaktIO","name":"KontaktIO","abstract":false,"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/KontaktIO/Building","path":"KontaktIO/Building.html","kind":"class","full_name":"KontaktIO::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L150"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L155"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L154"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L159"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L152"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L156"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L157"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L153"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/KontaktIO/Campus","path":"KontaktIO/Campus.html","kind":"class","full_name":"KontaktIO::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L168"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"buildings:Array(Building)-instance-method","name":"buildings","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L174"},"def":{"name":"buildings","return_type":"Array(Building)","visibility":"Public","body":"@buildings"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L167"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L165"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L171"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L172"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L166"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L170"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/KontaktIO/Contact","path":"KontaktIO/Contact.html","kind":"class","full_name":"KontaktIO::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration_sec:Int32-instance-method","name":"duration_sec","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L62"},"def":{"name":"duration_sec","return_type":"Int32","visibility":"Public","body":"@duration_sec"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L53"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L56"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L59"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}}]},{"html_id":"drivers/KontaktIO/ContactTracing","path":"KontaktIO/ContactTracing.html","kind":"class","full_name":"KontaktIO::ContactTracing","name":"ContactTracing","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/contact_tracing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"close_contacts(email:String|Nil=nil,username:String|Nil=nil,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil)-instance-method","name":"close_contacts","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L13"},"def":{"name":"close_contacts","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"macs = (location_services.macs_assigned_to(email, username)).get.as_a.map(&.as_s)\nperiods = [] of Tuple(Int64, Int64)\nperiod_start = start_time || 2.days.ago.to_unix\nperiod_end = end_time || 1.days.ago.to_unix\nloop do\n temp_ending = period_start + 6.hours.to_i\n if temp_ending < period_end\n periods << {period_start, temp_ending}\n else\n periods << {period_start, period_end}\n break\n end\n period_start = temp_ending\nend\nlocations = [] of Tracking\nerrors = [] of Exception\nmacs.each do |mac|\n begin\n periods.each do |__arg1|\n starting = __arg1[0]\n ending = __arg1[1]\n raw_report = (kontakt.colocations(mac, starting, ending)).get.to_json\n locations.concat(Array(Tracking).from_json(raw_report))\n end\n rescue error\n logger.warn(exception: error) do\n \"locating close contacts\"\n end\n errors << error\n end\nend\nif locations.empty? && errors.size > 0\n raise(errors[0])\nend\nmacs = Set(String).new\nlocations.each do |location|\n macs << location.mac_address\nend\nmac_mappings = {} of String => String\nmacs.each do |mac|\n mac = format_mac(mac)\n if owner = (location_services.check_ownership_of(mac)).get.as_h?\n username = owner[\"assigned_to\"]?.try(&.as_s)\n if username\n else\n next\n end\n mac_mappings[mac] = username\n end\nend\ncontacts = {} of String => NamedTuple(mac_address: String, username: String | ::Nil, contact_time: Int64, duration: Int32)\nlocations.each do |location|\n mac = format_mac(location.mac_address)\n username = mac_mappings[mac]?\n duration = location.duration\n if current = contacts[username || mac]?\n if current[:duration] > duration\n next\n end\n end\n contacts[username || mac] = {mac_address: mac, username: username, contact_time: location.start_time.to_unix, duration: duration}\nend\ncontacts.values\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/contact_tracing.cr#L93"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}}]},{"html_id":"drivers/KontaktIO/Floor","path":"KontaktIO/Floor.html","kind":"class","full_name":"KontaktIO::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64|Nil-instance-method","name":"height","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L136"},"def":{"name":"height","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L133"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L143"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"level:Int32|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L139"},"def":{"name":"level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L146"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L134"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"rotation:Float64|Nil-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L138"},"def":{"name":"rotation","return_type":"Float64 | ::Nil","visibility":"Public","body":"@rotation"}},{"html_id":"width:Float64|Nil-instance-method","name":"width","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L137"},"def":{"name":"width","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/KontaktIO/KioCloud","path":"KontaktIO/KioCloud.html","kind":"class","full_name":"KontaktIO::KioCloud","name":"KioCloud","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"campuses:Array(Campus)-instance-method","name":"campuses","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L113"},"def":{"name":"campuses","return_type":"Array(Campus)","visibility":"Public","body":"campuses = [] of Campus\nmake_request(\"GET\", \"/v2/locations/campuses\") do |data|\n resp = Response(Campus).from_json(data)\n campuses.concat(resp.content)\n resp.page\nend\ncampuses\n"}},{"html_id":"colocations(mac_address:String,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil):Array(Tracking)-instance-method","name":"colocations","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","args_html":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L86"},"def":{"name":"colocations","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"return_type":"Array(Tracking)","visibility":"Public","body":"ending = end_time ? Time.unix(end_time) : 10.minutes.ago\nstarting = start_time ? Time.unix(start_time) : (ending - 20.days)\ntracking = [] of Tracking\nmake_request(\"GET\", \"/v3/novid/colocations\", params: URI::Params {\"trackingId\" => ((format_mac(mac_address)).upcase.scan(/\\w{2}/)).map() do |__arg2|\n __arg2.to_a.first\nend.join(':'), \"startTime\" => starting.to_rfc3339, \"endTime\" => ending.to_rfc3339}) do |data|\n resp = Response(Tracking).from_json(data)\n tracking.concat(resp.content)\n resp.page\nend\ntracking\n"}},{"html_id":"create_channel(name:String,uri:String)-instance-method","name":"create_channel","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(name : String, uri : String)","args_html":"(name : String, uri : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L167"},"def":{"name":"create_channel","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"make_request(\"POST\", \"/v3/channels\", body: {status: :active, name: name, channel: {type: \"eventHub\", endpoint: uri, streamName: name, accessKey: \"test\", secretKey: \"test\", region: \"test\", sharedAccessKeyName: \"test\", eventHubName: \"test\", sharedAccessKey: \"test\"}}.to_json)"}},{"html_id":"delete_channel(id:Int32|String)-instance-method","name":"delete_channel","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"args_string":"(id : Int32 | String)","args_html":"(id : Int32 | String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L185"},"def":{"name":"delete_channel","args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"visibility":"Public","body":"make_request(\"DELETE\", \"/v3/channels\", params: URI::Params {\"id\" => id.to_s})"}},{"html_id":"event_hub(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"event_hub","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L162"},"def":{"name":"event_hub","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nlogger.debug do\n body\nend\n"}},{"html_id":"find(mac_address:String):Position|Nil-instance-method","name":"find","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : Position | Nil","args_html":"(mac_address : String) : Position | Nil","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L105"},"def":{"name":"find","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"Position | ::Nil","visibility":"Public","body":"data = make_request(\"GET\", \"/v2/positions\", params: URI::Params {\"trackingId\" => format_mac(mac_address)})\n(Response(Position).from_json(data)).content.first?\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L158"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"occupancy_cache:Hash(Int64,RoomOccupancy)-instance-method","name":"occupancy_cache","doc":"===================================\nCaching sensor data\n===================================","summary":"

=================================== Caching sensor data ===================================

","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L146"},"def":{"name":"occupancy_cache","return_type":"Hash(Int64, RoomOccupancy)","visibility":"Public","body":"@occupancy_cache"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)\npoll_every = ((setting?(Int32, :poll_every)) || 2).seconds\nschedule.clear\nschedule.every(poll_every) do\n cache_occupancy_counts\nend\n"}},{"html_id":"room_occupancy:Array(RoomOccupancy)-instance-method","name":"room_occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L133"},"def":{"name":"room_occupancy","return_type":"Array(RoomOccupancy)","visibility":"Public","body":"room_occupancy = [] of RoomOccupancy\nmake_request(\"GET\", \"/v3/occupancy/rooms\") do |data|\n resp = Response(RoomOccupancy).from_json(data)\n room_occupancy.concat(resp.content)\n resp.page\nend\nroom_occupancy\n"}},{"html_id":"rooms:Array(Room)-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud.cr#L123"},"def":{"name":"rooms","return_type":"Array(Room)","visibility":"Public","body":"rooms = [] of Room\nmake_request(\"GET\", \"/v2/locations/rooms\") do |data|\n resp = Response(Room).from_json(data)\n rooms.concat(resp.content)\n resp.page\nend\nrooms\n"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings","path":"KontaktIO/MacAddressMappings.html","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"map_devices-instance-method","name":"map_devices","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L40"},"def":{"name":"map_devices","visibility":"Public","body":"request = \"https://api.kontakt.io/device?maxResult=500&deviceType=BEACON\"\nlocatable = system.implementing(Interface::Locatable)\nwhile request.presence\n response = HTTP::Client.get(request, headers: HTTP::Headers {\"Api-Key\" => @api_key, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/vnd.com.kontakt+json;version=10\"})\n logger.debug do\n \"request returned:\\n#{response.body}\"\n end\n case response.status_code\n when 303\n when 401\n logger.warn do\n \"The API Key is invalid or disabled\"\n end\n when 403\n logger.warn do\n \"User who created the API no longer has access to the Kio Cloud account or their user role doesn't allow access to the endpoint. Device error if the endpoint is not available for the device model.\"\n end\n end\n if response.success?\n else\n raise(\"request #{request} failed with status: #{response.status_code}\")\n end\n result = NamedTuple(devices: Array(DeviceDetails), searchMeta: SearchMeta).from_json(response.body)\n meta = result[:searchMeta]\n request = meta.next_results\n result[:devices].each do |device|\n if device.alias.presence\n else\n next\n end\n (locatable.mac_address_mappings(device.alias, {device.mac}, \"\")).get\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.every(1.hour) do\n map_devices\nend\nschedule.in(10.seconds) do\n map_devices\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)"}}],"types":[{"html_id":"drivers/KontaktIO/MacAddressMappings/DeviceDetails","path":"KontaktIO/MacAddressMappings/DeviceDetails.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::DeviceDetails","name":"DeviceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alias:String|Nil-instance-method","name":"alias","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L36"},"def":{"name":"alias","return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L37"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings/SearchMeta","path":"KontaktIO/MacAddressMappings/SearchMeta.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::SearchMeta","name":"SearchMeta","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_results:String-instance-method","name":"next_results","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/mac_address_mappings.cr#L30"},"def":{"name":"next_results","return_type":"String","visibility":"Public","body":"@next_results"}}]}]},{"html_id":"drivers/KontaktIO/Page","path":"KontaktIO/Page.html","kind":"class","full_name":"KontaktIO::Page","name":"Page","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"number:Int32-instance-method","name":"number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L8"},"def":{"name":"number","return_type":"Int32","visibility":"Public","body":"@number"}},{"html_id":"size:Int32-instance-method","name":"size","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L7"},"def":{"name":"size","return_type":"Int32","visibility":"Public","body":"@size"}},{"html_id":"total_elements:Int32-instance-method","name":"total_elements","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L11"},"def":{"name":"total_elements","return_type":"Int32","visibility":"Public","body":"@total_elements"}},{"html_id":"total_pages:Int32-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L14"},"def":{"name":"total_pages","return_type":"Int32","visibility":"Public","body":"@total_pages"}}]},{"html_id":"drivers/KontaktIO/Position","path":"KontaktIO/Position.html","kind":"class","full_name":"KontaktIO::Position","name":"Position","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L118"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L121"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L115"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"last_update:String|Nil-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L124"},"def":{"name":"last_update","return_type":"String | ::Nil","visibility":"Public","body":"@last_update"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L109"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64|Nil-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L112"},"def":{"name":"room_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_id"}},{"html_id":"x:Int64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L125"},"def":{"name":"x","return_type":"Int64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"y:Int64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L126"},"def":{"name":"y","return_type":"Int64 | ::Nil","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/KontaktIO/Presence","path":"KontaktIO/Presence.html","kind":"class","full_name":"KontaktIO::Presence","name":"Presence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L87"},"def":{"name":"building_id","return_type":"Int64","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L90"},"def":{"name":"building_name","return_type":"String","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L93"},"def":{"name":"campus_id","return_type":"Int64","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L96"},"def":{"name":"campus_name","return_type":"String","visibility":"Public","body":"@campus_name"}},{"html_id":"company_id:String-instance-method","name":"company_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L69"},"def":{"name":"company_id","return_type":"String","visibility":"Public","body":"@company_id"}},{"html_id":"end_time:String-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L102"},"def":{"name":"end_time","return_type":"String","visibility":"Public","body":"@end_time"}},{"html_id":"floor_id:Int64-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L81"},"def":{"name":"floor_id","return_type":"Int64","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L84"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L72"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L78"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L75"},"def":{"name":"room_name","return_type":"String","visibility":"Public","body":"@room_name"}},{"html_id":"start_time:String-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L99"},"def":{"name":"start_time","return_type":"String","visibility":"Public","body":"@start_time"}}]},{"html_id":"drivers/KontaktIO/Response","path":"KontaktIO/Response.html","kind":"class","full_name":"KontaktIO::Response(T)","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Array(T)-instance-method","name":"content","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L20"},"def":{"name":"content","return_type":"Array(T)","visibility":"Public","body":"@content"}},{"html_id":"page:Page|Nil-instance-method","name":"page","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L21"},"def":{"name":"page","return_type":"Page | ::Nil","visibility":"Public","body":"@page"}}]},{"html_id":"drivers/KontaktIO/Room","path":"KontaktIO/Room.html","kind":"class","full_name":"KontaktIO::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L177"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor:Floor-instance-method","name":"floor","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L186"},"def":{"name":"floor","return_type":"Floor","visibility":"Public","body":"@floor"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L181"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L182"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_number:Int64|Nil-instance-method","name":"room_number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L189"},"def":{"name":"room_number","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_number"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L185"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}}]},{"html_id":"drivers/KontaktIO/RoomOccupancy","path":"KontaktIO/RoomOccupancy.html","kind":"struct","full_name":"KontaktIO::RoomOccupancy","name":"RoomOccupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L208"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String|Nil-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L211"},"def":{"name":"building_name","return_type":"String | ::Nil","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L214"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String|Nil-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L217"},"def":{"name":"campus_name","return_type":"String | ::Nil","visibility":"Public","body":"@campus_name"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L202"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String|Nil-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L205"},"def":{"name":"floor_name","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L220"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"occupancy:Int32-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L221"},"def":{"name":"occupancy","return_type":"Int32","visibility":"Public","body":"@occupancy"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L196"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String|Nil-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L199"},"def":{"name":"room_name","return_type":"String | ::Nil","visibility":"Public","body":"@room_name"}}]},{"html_id":"drivers/KontaktIO/RoomSensor","path":"KontaktIO/RoomSensor.html","kind":"class","full_name":"KontaktIO::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsubscribe_to_sensor\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L80"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nsensor = @space\nif sensor\nelse\n return nil\nend\nif mac == \"kontakt-#{sensor.room_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(sensor, :people_count)\nwhen \"presence\"\n build_sensor_details(sensor, :presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L61"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nsensor = @space\nif sensor\nelse\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac == \"kontakt-#{sensor.room_id}\"\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nbuild_sensors(sensor, sensor_type)\n"}},{"html_id":"space:RoomOccupancy-instance-method","name":"space","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space","return_type":"RoomOccupancy","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"KontaktIO::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:RoomOccupancy|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space?","return_type":"RoomOccupancy | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/KontaktIO/SensorService","path":"KontaktIO/SensorService.html","kind":"class","full_name":"KontaktIO::SensorService","name":"SensorService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/sensor_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L77"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nfloor_ids = @zone_lookup[zone_id]?\nif floor_ids && floor_ids.size > 0\nelse\n return [] of Nil\nend\nloc_type = \"desk\"\nif location && (location != loc_type)\n return [] of Nil\nend\ncache = @occupancy_cache\ncache.compact_map do |__arg0|\n room_id = __arg0[0]\n space = __arg0[1]\n if space.floor_id.in?(floor_ids)\n else\n next\n end\n people_count = space.occupancy\n if @return_empty_spaces || (people_count && people_count > 0)\n {location: loc_type, at_location: people_count, map_id: \"room-#{space.room_id}\", level: zone_id, building: @floor_mappings[space.floor_id.to_s]?.try(&.[](:building_id)), kontakt_io_room: space.room_name}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L72"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\nlookup = Hash(String, Array(Int64)).new do |hash, key|\n hash[key] = [] of Int64\nend\n@floor_mappings.each do |kontakt_floor_id, zones|\n begin\n kontakt_id = kontakt_floor_id.to_i64\n if building_id = zones[:building_id]\n lookup[building_id] << kontakt_id\n end\n lookup[zones[:level_id]] << kontakt_id\n rescue error\n logger.warn(exception: error) do\n \"invalid floor mapping #{kontakt_floor_id}\"\n end\n end\nend\n@zone_lookup = lookup\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L119"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id && (mac.starts_with?(\"kontakt-\"))\n else\n return nil\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\n if room\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(room, :people_count)\n when \"presence\"\n build_sensor_details(room, :presence)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/sensor_service.cr#L140"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac.starts_with?(\"kontakt-\")\n else\n return NO_MATCH\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\nend\nif zone_id\n levels = @zone_lookup[zone_id]?\nend\nrooms = if room\n {room}\nelse\n if levels\n @occupancy_cache.values.select do |r|\n floor_id = r.floor_id\n (floor_id.in?(levels)) || @floor_mappings[floor_id.to_s]?.nil?\n end\n else\n @occupancy_cache.values\n end\nend\nrooms.flat_map do |r|\n build_sensors(r, sensor_type)\nend\n"}}]},{"html_id":"drivers/KontaktIO/Tracking","path":"KontaktIO/Tracking.html","kind":"class","full_name":"KontaktIO::Tracking","name":"Tracking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contacts:Array(Contact)-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L42"},"def":{"name":"contacts","return_type":"Array(Contact)","visibility":"Public","body":"@contacts"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L44"},"def":{"name":"duration","visibility":"Public","body":"contacts.first.duration_sec"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L40"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L28"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L31"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kontakt_io/kio_cloud_models.cr#L37"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}}]}]},{"html_id":"drivers/Kramer","path":"Kramer.html","kind":"module","full_name":"Kramer","name":"Kramer","abstract":false,"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kramer/RC308Panel","path":"Kramer/RC308Panel.html","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\"","doc":"\\r\\n 0D0A","summary":"

\\r\\n 0D0A

"}],"namespace":{"html_id":"drivers/Kramer","kind":"module","full_name":"Kramer","name":"Kramer"},"instance_methods":[{"html_id":"button_state(index:UInt8,light:Bool,red:UInt8|Nil=nil,green:UInt8|Nil=nil,blue:UInt8|Nil=nil)-instance-method","name":"button_state","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"args_string":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","args_html":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L57"},"def":{"name":"button_state","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"visibility":"Public","body":"data = \"#RGB #{index},#{red || @default.red},#{green || @default.green},#{blue || @default.blue},#{light ? '1' : '0'}\\r\"\nsend(data, name: \"button#{index}\")\n"}},{"html_id":"button_state?(index:UInt8,priority:Int32=0)-instance-method","name":"button_state?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(index : UInt8, priority : Int32 = 0)","args_html":"(index : UInt8, priority : Int32 = 0)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L62"},"def":{"name":"button_state?","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(\"#RGB? #{index}\\r\", priority: priority)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L42"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute, true) do\n query_state\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L47"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@default = (setting?(DefaultLight, :default_light)) || (DefaultLight.new(255_u8, 0_u8, 0_u8))\n@button_count = (setting?(UInt8, :button_count)) || 8_u8\n"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L51"},"def":{"name":"query_state","visibility":"Public","body":"(1_u8..@button_count).each do |idx|\n button_state?(idx)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Kramer sent: #{data.inspect}\"\nend\nparts = (data.split('@', 2))[1].strip.split(' ')\ncomponent = parts[0].upcase\ndetails = parts[1]\nsuccess = parts[2]?\ncase component\nwhen \"BTN\"\n light_on, button_index, button_action = details.split(',')\n self[\"button#{button_index}_light\"] = light_on == \"1\"\n self[\"button#{button_index}_state\"] = ButtonAction.check(button_action)\nwhen \"RGB\"\n button_index, red, green, blue, light_on = details.split(',')\n self[\"button#{button_index}_rgb\"] = {red.to_u8, green.to_u8, blue.to_u8}\n self[\"button#{button_index}_light\"] = light_on == \"1\"\nwhen \"ERR\"\n logger.warn do\n \"request failed with error code: #{details}\"\n end\n return task.try(&.abort(\"error code: #{details}\"))\nelse\n logger.warn do\n \"unknown button component #{component}\"\n end\n return\nend\nif task\n if task.name\n if success\n task.success\n end\n else\n task.success\n end\nend\n"}}],"types":[{"html_id":"drivers/Kramer/RC308Panel/ButtonAction","path":"Kramer/RC308Panel/ButtonAction.html","kind":"enum","full_name":"Kramer::RC308Panel::ButtonAction","name":"ButtonAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pressed","name":"Pressed","value":"0"},{"id":"Released","name":"Released","value":"1"},{"id":"HeldDown","name":"HeldDown","value":"2"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"class_methods":[{"html_id":"check(type:String)-class-method","name":"check","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L71"},"def":{"name":"check","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"case type.downcase\nwhen \"p\"\n ButtonAction::Pressed\nwhen \"r\"\n ButtonAction::Released\nwhen \"h\"\n ButtonAction::HeldDown\nelse\n raise(\"unknown button action type: #{type}\")\nend"}}],"instance_methods":[{"html_id":"held_down?-instance-method","name":"held_down?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L69"},"def":{"name":"held_down?","visibility":"Public","body":"self == HeldDown"}},{"html_id":"pressed?-instance-method","name":"pressed?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L67"},"def":{"name":"pressed?","visibility":"Public","body":"self == Pressed"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L68"},"def":{"name":"released?","visibility":"Public","body":"self == Released"}}]},{"html_id":"drivers/Kramer/RC308Panel/DefaultLight","path":"Kramer/RC308Panel/DefaultLight.html","kind":"struct","full_name":"Kramer::RC308Panel::DefaultLight","name":"DefaultLight","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"constructors":[{"html_id":"new(red:UInt8,green:UInt8,blue:UInt8)-class-method","name":"new","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"new","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"_ = allocate\n_.initialize(red, green, blue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blue:UInt8-instance-method","name":"blue","abstract":false,"def":{"name":"blue","return_type":"UInt8","visibility":"Public","body":"@blue"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@red.clone, @green.clone, @blue.clone)"}},{"html_id":"copy_with(red_red=@red,green_green=@green,blue_blue=@blue)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"args_string":"(red _red = @red, green _green = @green, blue _blue = @blue)","args_html":"(red _red = @red, green _green = @green, blue _blue = @blue)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"copy_with","args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"visibility":"Public","body":"self.class.new(_red, _green, _blue)"}},{"html_id":"green:UInt8-instance-method","name":"green","abstract":false,"def":{"name":"green","return_type":"UInt8","visibility":"Public","body":"@green"}},{"html_id":"red:UInt8-instance-method","name":"red","abstract":false,"def":{"name":"red","return_type":"UInt8","visibility":"Public","body":"@red"}}]}]}]},{"html_id":"drivers/Lenel","path":"Lenel.html","kind":"module","full_name":"Lenel","name":"Lenel","abstract":false,"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lenel/OpenAccess","path":"Lenel/OpenAccess.html","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L4"},{"filename":"src/lenel/open_access.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"}],"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"instance_methods":[{"html_id":"badge_types-instance-method","name":"badge_types","doc":"Query the available badge types.\n\nBadge types contain default configuration that is applied to any badge\ncreated under them. This includes items such as access areas, activation\nwindows and other bulk config. These may then be override on individual\nbadge instances.","summary":"

Query the available badge types.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L114"},"def":{"name":"badge_types","visibility":"Public","body":"client.lookup(BadgeType)"}},{"html_id":"check_comms-instance-method","name":"check_comms","doc":"Test service connectivity.","summary":"

Test service connectivity.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L80"},"def":{"name":"check_comms","visibility":"Public","body":"begin\n logger.debug do\n \"checking service connectivity\"\n end\n if client.token\n client.keepalive\n logger.info do\n \"client online and authenticated\"\n end\n else\n client.version\n logger.warn do\n \"service reachable, no active auth session\"\n end\n authenticate!\n end\nrescue e : OpenAccess::Error\n logger.error do\n e.message\n end\n set_connected_state(false)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"logger.debug do\n \"connected\"\nend\nif client.token.nil?\n authenticate!\nend\n"}},{"html_id":"create_badge(type:Int32,id:Int64,personid:Int32,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"create_badge","doc":"Creates a new badge of the specied *type*, belonging to *personid* with a\nspecific *id*.\n\nNote: 'id' is the physical badge number (e.g. the ID written to an NFC chip)","summary":"

Creates a new badge of the specied type, belonging to personid with a specific id.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L150"},"def":{"name":"create_badge","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"creating badge for cardholder #{personid}\"\nend\nclient.create(Badge, **args)\n"}},{"html_id":"create_badge_epoch(type:Int32,id:Int64,personid:Int32,activate_epoch:Int32,deactivate_epoch:Int32,uselimit:Int32|Nil=nil)-instance-method","name":"create_badge_epoch","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L162"},"def":{"name":"create_badge_epoch","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\ncreate_badge(type: type, id: id, personid: personid, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"create_cardholder(email:String,firstname:String,lastname:String)-instance-method","name":"create_cardholder","doc":"Creates a new cardholder.\n\nAn error will be returned if an existing cardholder exists for the specified\n*email* address.","summary":"

Creates a new cardholder.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"args_string":"(email : String, firstname : String, lastname : String)","args_html":"(email : String, firstname : String, lastname : String)","location":{"filename":"src/lenel/open_access.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L264"},"def":{"name":"create_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"creating cardholder record for #{email}\"\nend\nif (client.count(Cardholder, filter: \"email = \\\"#{email}\\\"\")).zero?\nelse\n raise(ArgumentError.new(\"record already exists for #{email}\"))\nend\nclient.create(Cardholder, **args)\n"}},{"html_id":"delete_badge(badgekey:Int32):Nil-instance-method","name":"delete_badge","doc":"Deletes a badge with the specified *badgekey*.","summary":"

Deletes a badge with the specified badgekey.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32) : Nil","args_html":"(badgekey : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L217"},"def":{"name":"delete_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting badge #{badgekey}\"\nend\nclient.delete(Badge, **args)\n"}},{"html_id":"delete_badges(badgekeys:Array(Int32)):Int32-instance-method","name":"delete_badges","abstract":false,"args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"args_string":"(badgekeys : Array(Int32)) : Int32","args_html":"(badgekeys : Array(Int32)) : Int32","location":{"filename":"src/lenel/open_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L222"},"def":{"name":"delete_badges","args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"return_type":"Int32","visibility":"Public","body":"badgekeys.count do |badge_key|\n begin\n delete_badge(badge_key)\n 1\n rescue OpenAccess::Error\n logger.debug do\n \"failed to delete badge #{badge_key}\"\n end\n 0\n end\nend"}},{"html_id":"delete_cardholder(id:Int32):Nil-instance-method","name":"delete_cardholder","doc":"Deletes a cardholed by their person *id*.","summary":"

Deletes a cardholed by their person id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32) : Nil","args_html":"(id : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L278"},"def":{"name":"delete_cardholder","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting cardholder #{id}\"\nend\nclient.delete(Cardholder, **args)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"logger.debug do\n \"disconnected\"\nend\nclient.token = nil\n"}},{"html_id":"list_badges(personid:Int32)-instance-method","name":"list_badges","doc":"List badges belonging to a cardholder","summary":"

List badges belonging to a cardholder

","abstract":false,"args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"args_string":"(personid : Int32)","args_html":"(personid : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L120"},"def":{"name":"list_badges","args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"visibility":"Public","body":"client.lookup(Badge, filter: \"personid = #{personid}\")"}},{"html_id":"list_directories-instance-method","name":"list_directories","doc":"Query the directories available for auth.","summary":"

Query the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L97"},"def":{"name":"list_directories","visibility":"Public","body":"client.directories"}},{"html_id":"list_events(filter:String,page_number:Int32|Nil=nil)-instance-method","name":"list_events","doc":"List Logged Events","summary":"

List Logged Events

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"args_string":"(filter : String, page_number : Int32 | Nil = nil)","args_html":"(filter : String, page_number : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L291"},"def":{"name":"list_events","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"client.get_logged_events(filter, page_number)"}},{"html_id":"list_events_in_range(filter:String,from:Time|Nil=nil,til:Time|Nil=nil)-instance-method","name":"list_events_in_range","doc":"List events that occured during a given time window. Default to past 24h.","summary":"

List events that occured during a given time window.

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"args_string":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","args_html":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L297"},"def":{"name":"list_events_in_range","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"visibility":"Public","body":"til || (til = Time.local)\nfrom || (from = til - 1.day)\nclient.get_logged_events(filter + \" AND timestamp >= \\\"#{from.to_s}\\\" AND timestamp <= \\\"#{til.to_s}\\\"\")\n"}},{"html_id":"lookup_badge_id(id:Int64)-instance-method","name":"lookup_badge_id","doc":"Get badge by id (instead of badgekey)","summary":"

Get badge by id (instead of badgekey)

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/lenel/open_access.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L137"},"def":{"name":"lookup_badge_id","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"id = #{id}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_badge_key(badgekey:Int32)-instance-method","name":"lookup_badge_key","doc":"Get badge by badgekey (instead of id)\nNote: id is the number in the QR data or burnt to the swipe card. badgekey is Lenel's primary key for badges","summary":"

Get badge by badgekey (instead of id) Note: id is the number in the QR data or burnt to the swipe card.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32)","args_html":"(badgekey : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L127"},"def":{"name":"lookup_badge_key","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"badgekey = #{badgekey}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{badgekey}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_cardholder(email:String)-instance-method","name":"lookup_cardholder","doc":"Lookup a cardholder by *email* address.","summary":"

Lookup a cardholder by email address.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L236"},"def":{"name":"lookup_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{email}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholder_id(id:Int32)-instance-method","name":"lookup_cardholder_id","doc":"Lookup a cardholder by ID","summary":"

Lookup a cardholder by ID

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L251"},"def":{"name":"lookup_cardholder_id","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"id = #{id}\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholders(email:String)-instance-method","name":"lookup_cardholders","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L245"},"def":{"name":"lookup_cardholders","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L35"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(5.minutes, &->check_comms)"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"logger.debug do\n \"settings updated\"\nend\nclient.app_id = setting(String, :application_id)\nauthenticate!\n"}},{"html_id":"search(type_name:String,filter:String|Nil=nil)-instance-method","name":"search","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L308"},"def":{"name":"search","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"client.raw_lookup(type_name, filter)"}},{"html_id":"search_readers(filter:String)-instance-method","name":"search_readers","doc":"List card readers matching a given filter","summary":"

List card readers matching a given filter

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/lenel/open_access.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L285"},"def":{"name":"search_readers","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"client.lookup(Reader, filter)"}},{"html_id":"update_badge(badgekey:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"update_badge","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L184"},"def":{"name":"update_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"Updating badge #{badgekey}\"\nend\nclient.update(Badge, **args)\n"}},{"html_id":"update_badge_epoch(badgekey:Int32,activate_epoch:Int32,deactivate_epoch:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil)-instance-method","name":"update_badge_epoch","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","args_html":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L196"},"def":{"name":"update_badge_epoch","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\nupdate_badge(badgekey: badgekey, id: id, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access.cr#L103"},"def":{"name":"version","visibility":"Public","body":"client.version"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Client","path":"Lenel/OpenAccess/Client.html","kind":"class","full_name":"Lenel::OpenAccess::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/client.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"Lenel OpenAccess API wrapper.\n\nProvides thin abstractions over API endpoints. Requests are executed on the\npased transport. This can be a `PlaceOS::Driver`, `HTTP::Client` or other type\nsupporting the same set of base HTTP request methods.","summary":"

Lenel OpenAccess API wrapper.

","constructors":[{"html_id":"new(transport:HTTP::Client,app_id:String)-class-method","name":"new","abstract":false,"args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"args_string":"(transport : HTTP::Client, app_id : String)","args_html":"(transport : HTTP::Client, app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L22"},"def":{"name":"new","args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(transport, app_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_id:String-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id","return_type":"String","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:String)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"args_string":"(app_id : String)","args_html":"(app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"count(entitytype_name:T.class,filter:String|Nil=nil)forallT-instance-method","name":"count","doc":"Counts the number of instances of *entity*.\n\n*filter* may optionally be used to specify a subset of these.","summary":"

Counts the number of instances of entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L152"},"def":{"name":"count","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.encode(args.merge(type_name: T.type_name))\n((~transport.get(path: \"/count?version=1.0&#{params}\")) >> NamedTuple(total_items: Int32))[:total_items]\n"}},{"html_id":"create(entity:T.class,**props)forallT-instance-method","name":"create","doc":"Creates a new instance of *entity*.\n\nAPI create responses return a partial object, which is provided here as an\nuntyped return. This includes the object's database key (which varies\nbetween object types - ID, BADGEKEY etc), however contents of this is\nunspecified. The partial object is provided here, in full, with keys\ntransformed to match how they appear in a type-safe model.","summary":"

Creates a new instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) forall T","args_html":"(entity : T.class, **props) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L94"},"def":{"name":"create","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"visibility":"Public","body":"(~transport.post(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> Models::Untyped"}},{"html_id":"delete(entity:T.class,**props):NilforallT-instance-method","name":"delete","doc":"Deletes an instance of *entity*.","summary":"

Deletes an instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : Nil forall T","args_html":"(entity : T.class, **props) : Nil forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L172"},"def":{"name":"delete","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)"}},{"html_id":"directories-instance-method","name":"directories","doc":"Enumerates the directories available for auth.","summary":"

Enumerates the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L49"},"def":{"name":"directories","visibility":"Public","body":"((~transport.get(path: \"/directories?version=1.0\")) >> NamedTuple(total_items: Int32, item_list: Array(::NamedTuple(property_value_map: ::NamedTuple(ID: String, Name: String, directory_type: Int32)))))[:item_list].map do |item|\n item[:property_value_map]\nend"}},{"html_id":"get_logged_events(filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"get_logged_events","doc":"Retrieve a list of logged events from Onguard\nSee Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events","summary":"

Retrieve a list of logged events from Onguard See Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events

","abstract":false,"args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L184"},"def":{"name":"get_logged_events","args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/logged_events?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"keepalive:Nil-instance-method","name":"keepalive","doc":"Request a connection keepalive to prevent session timeout.","summary":"

Request a connection keepalive to prevent session timeout.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L81"},"def":{"name":"keepalive","return_type":"Nil","visibility":"Public","body":"~transport.get(path: \"/keepalive?version=1.0\")"}},{"html_id":"login(usernameuser_name:String,password:String,directory_id:String|Nil)-instance-method","name":"login","doc":"Creates a new auth session.","summary":"

Creates a new auth session.

","abstract":false,"args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"args_string":"(username user_name : String, password : String, directory_id : String | Nil)","args_html":"(username user_name : String, password : String, directory_id : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L59"},"def":{"name":"login","args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"(~transport.post(path: \"/authentication?version=1.0\", body: args.to_h.compact.to_json)) >> NamedTuple(session_token: String, token_expiration_time: Time)"}},{"html_id":"logout:Nil-instance-method","name":"logout","doc":"Removes an auth session.","summary":"

Removes an auth session.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L74"},"def":{"name":"logout","return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/authentication?version=1.0\")"}},{"html_id":"lookup(entitytype_name:T.class,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=nil,order_by:String|Nil=nil):Array(T)forallT-instance-method","name":"lookup","doc":"Retrieves instances of a particular *entity*.\n\nThe search criteria specified in *filter* is a subset of SQL. This supports\noperations such as as:\n+ exclusion `LastName != \"Lake\"`\n+ wildcards `LastName like \"La%\"`\n+ boolean operators `LastName = \"Lake\" OR FirstName = \"Lisa\"`","summary":"

Retrieves instances of a particular entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L111"},"def":{"name":"lookup","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"return_type":"Array(T)","visibility":"Public","body":"params = HTTP::Params.new\nargs.merge(type_name: T.type_name).each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val)\n end\nend\n((~transport.get(path: \"/instances?version=1.0&#{params}\")) >> NamedTuple(page_number: Int32 | ::Nil, page_size: Int32 | ::Nil, total_pages: Int32, total_items: Int32, count: Int32, item_list: Array(T)))[:item_list]\n"}},{"html_id":"raw_lookup(type_name:String,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"raw_lookup","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L134"},"def":{"name":"raw_lookup","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/instances?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L20"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String|Nil)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"args_string":"(token : String | Nil)","args_html":"(token : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L20"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"visibility":"Public","body":"@token = token"}},{"html_id":"update(entity:T.class,**props):TforallT-instance-method","name":"update","doc":"Updates a record of *entity*. Passed properties must include the types key and\nany fields to update.","summary":"

Updates a record of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : T forall T","args_html":"(entity : T.class, **props) : T forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L161"},"def":{"name":"update","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"T","visibility":"Public","body":"(~transport.put(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> T"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/client.cr#L39"},"def":{"name":"version","visibility":"Public","body":"(~transport.get(path: \"/version?version=1.0\")) >> NamedTuple(product_name: String, product_version: String)"}}]},{"html_id":"drivers/Lenel/OpenAccess/Error","path":"Lenel/OpenAccess/Error.html","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"class_methods":[{"html_id":"from_response(response)-class-method","name":"from_response","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/lenel/open_access/error.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L6"},"def":{"name":"from_response","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"begin\n error = Error::Info.from_json(response.body)\n new(**error[:error])\nrescue\n new(response.status.to_s)\nend"}}],"constructors":[{"html_id":"new(code:String,message:String|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(code : String, message : String | Nil = nil)","args_html":"(code : String, message : String | Nil = nil)","location":{"filename":"src/lenel/open_access/error.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L17"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"code:String-instance-method","name":"code","abstract":false,"location":{"filename":"src/lenel/open_access/error.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L15"},"def":{"name":"code","visibility":"Public","body":"@code"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Error/Info","path":"Lenel/OpenAccess/Error/Info.html","kind":"alias","full_name":"Lenel::OpenAccess::Error::Info","name":"Info","abstract":false,"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/error.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(error: NamedTuple(code: String, message: String | Nil))","aliased_html":"{error: {code: String, message: String?}}","const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Error","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models","path":"Lenel/OpenAccess/Models.html","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROPERTIES_KEY","name":"PROPERTIES_KEY","value":"\"property_value_map\""}],"including_types":[{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"DTO's for OpenAccess entities.\n\nThese are intentionally lightweight. In cases where a entity holds a\nrelationship to another, these are _not_ auto-resolved. Original ID references\nare kept in place. Types here a simply a thin wrapper for JSON serialization.","summary":"

DTO's for OpenAccess entities.

","types":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","path":"Lenel/OpenAccess/Models/Badge.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activate:Time|Nil-instance-method","name":"activate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L134"},"def":{"name":"activate","return_type":"Time | ::Nil","visibility":"Public","body":"@activate"}},{"html_id":"badgekey:Int32-instance-method","name":"badgekey","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L131"},"def":{"name":"badgekey","return_type":"Int32","visibility":"Public","body":"@badgekey"}},{"html_id":"deactivate:Time|Nil-instance-method","name":"deactivate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L137"},"def":{"name":"deactivate","return_type":"Time | ::Nil","visibility":"Public","body":"@deactivate"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L139"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"personid:Int32|Nil-instance-method","name":"personid","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L140"},"def":{"name":"personid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@personid"}},{"html_id":"status:Int32|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L141"},"def":{"name":"status","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"type:Int32|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L142"},"def":{"name":"type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"uselimit:Int32|Nil-instance-method","name":"uselimit","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L143"},"def":{"name":"uselimit","return_type":"Int32 | ::Nil","visibility":"Public","body":"@uselimit"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","path":"Lenel/OpenAccess/Models/BadgeType.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L146"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L146"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"badgetypeclass:BadgeTypeClass-instance-method","name":"badgetypeclass","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L156"},"def":{"name":"badgetypeclass","return_type":"BadgeTypeClass","visibility":"Public","body":"@badgetypeclass"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L154"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"usemobilecredential:Bool-instance-method","name":"usemobilecredential","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L157"},"def":{"name":"usemobilecredential","return_type":"Bool","visibility":"Public","body":"@usemobilecredential"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass","path":"Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html","kind":"enum","full_name":"Lenel::OpenAccess::Models::BadgeType::BadgeTypeClass","name":"BadgeTypeClass","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L147"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Standard","name":"Standard","value":"0"},{"id":"Temporary","name":"Temporary","value":"1"},{"id":"Visitor","name":"Visitor","value":"2"},{"id":"Guest","name":"Guest","value":"3"},{"id":"SpecialPurpose","name":"SpecialPurpose","value":"4"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},"instance_methods":[{"html_id":"guest?-instance-method","name":"guest?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L151"},"def":{"name":"guest?","visibility":"Public","body":"self == Guest"}},{"html_id":"special_purpose?-instance-method","name":"special_purpose?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L152"},"def":{"name":"special_purpose?","visibility":"Public","body":"self == SpecialPurpose"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L148"},"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}},{"html_id":"temporary?-instance-method","name":"temporary?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L149"},"def":{"name":"temporary?","visibility":"Public","body":"self == Temporary"}},{"html_id":"visitor?-instance-method","name":"visitor?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L150"},"def":{"name":"visitor?","visibility":"Public","body":"self == Visitor"}}]}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","path":"Lenel/OpenAccess/Models/Cardholder.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L161"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","path":"Lenel/OpenAccess/Models/Element.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge"},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event"},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader"},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"doc":"Base type for Lenel data objects.","summary":"

Base type for Lenel data objects.

","class_methods":[{"html_id":"partial(**properties:**T):TforallT-class-method","name":"partial","doc":"Provide a compile-time check to ensure *properties* is a subset of *self*.","summary":"

Provide a compile-time check to ensure properties is a subset of self.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L74"},"def":{"name":"partial","double_splat":{"name":"properties","external_name":"properties","restriction":"**T"},"return_type":"T","visibility":"Public","body":"{% for key in T.keys %}\n {% unless @type.has_method?(key)\n raise(\"no \\\"#{key}\\\" property on #{@type.name}\")\nend %}\n {% end %}\nproperties\n"}},{"html_id":"type_name-class-method","name":"type_name","doc":"Name of the type as expected by the OpenAccess API endpoints.","summary":"

Name of the type as expected by the OpenAccess API endpoints.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L23"},"def":{"name":"type_name","visibility":"Public","body":"\"Lnl_#{(name.rpartition(\"::\")).last}\""}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(*,__pull_for_json_serializablepull:JSON::PullParser)-class-method","name":"new","doc":"Override the default JSON::Serializable behaviour to make keys case\ninensitive when deserialising.","summary":"

Override the default JSON::Serializable behaviour to make keys case inensitive when deserialising.

","abstract":false,"args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"args_string":"(*, __pull_for_json_serializable pull : JSON::PullParser)","args_html":"(*, __pull_for_json_serializable pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L36"},"def":{"name":"new","args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"splat_index":0,"visibility":"Public","body":"_ = allocate\n_.initialize(__pull_for_json_serializable: pull)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","path":"Lenel/OpenAccess/Models/Event.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_result:Int32|Nil-instance-method","name":"access_result","doc":"getter alarm_priority : Int32?\ngetter alarm_ack_blue_channel : Int32?\ngetter alarm_ack_green_channel : Int32?\ngetter alarm_ack_red_channel : Int32?\ngetter alarm_blue_channel : Int32?\ngetter alarm_green_channel : Int32?\ngetter alarm_red_channel : Int32?","summary":"

getter alarm_priority : Int32? getter alarm_ack_blue_channel : Int32? getter alarm_ack_green_channel : Int32? getter alarm_ack_red_channel : Int32? getter alarm_blue_channel : Int32? getter alarm_green_channel : Int32? getter alarm_red_channel : Int32?

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L111"},"def":{"name":"access_result","return_type":"Int32 | ::Nil","visibility":"Public","body":"@access_result"}},{"html_id":"asset_id:Int32|Nil-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L102"},"def":{"name":"asset_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@asset_id"}},{"html_id":"badge_extended_id:String|Nil-instance-method","name":"badge_extended_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L100"},"def":{"name":"badge_extended_id","return_type":"String | ::Nil","visibility":"Public","body":"@badge_extended_id"}},{"html_id":"badge_id:Int32|Nil-instance-method","name":"badge_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L98"},"def":{"name":"badge_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_id"}},{"html_id":"badge_id_str:String|Nil-instance-method","name":"badge_id_str","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L99"},"def":{"name":"badge_id_str","return_type":"String | ::Nil","visibility":"Public","body":"@badge_id_str"}},{"html_id":"badge_issue_code:Int32|Nil-instance-method","name":"badge_issue_code","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L101"},"def":{"name":"badge_issue_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_issue_code"}},{"html_id":"cardholder_entered:Bool|Nil-instance-method","name":"cardholder_entered","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L112"},"def":{"name":"cardholder_entered","return_type":"Bool | ::Nil","visibility":"Public","body":"@cardholder_entered"}},{"html_id":"cardholder_first_name:String|Nil-instance-method","name":"cardholder_first_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L116"},"def":{"name":"cardholder_first_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_first_name"}},{"html_id":"cardholder_key:Int32|Nil-instance-method","name":"cardholder_key","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L103"},"def":{"name":"cardholder_key","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cardholder_key"}},{"html_id":"cardholder_last_name:String|Nil-instance-method","name":"cardholder_last_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L117"},"def":{"name":"cardholder_last_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_last_name"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L91"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_name:String|Nil-instance-method","name":"controller_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L114"},"def":{"name":"controller_name","return_type":"String | ::Nil","visibility":"Public","body":"@controller_name"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L90"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"device_id:Int32-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L92"},"def":{"name":"device_id","return_type":"Int32","visibility":"Public","body":"@device_id"}},{"html_id":"device_name:String|Nil-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L118"},"def":{"name":"device_name","return_type":"String | ::Nil","visibility":"Public","body":"@device_name"}},{"html_id":"duress:Bool|Nil-instance-method","name":"duress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L113"},"def":{"name":"duress","return_type":"Bool | ::Nil","visibility":"Public","body":"@duress"}},{"html_id":"event_source_name:String|Nil-instance-method","name":"event_source_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L115"},"def":{"name":"event_source_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_source_name"}},{"html_id":"event_subtype:Int32|Nil-instance-method","name":"event_subtype","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L96"},"def":{"name":"event_subtype","return_type":"Int32 | ::Nil","visibility":"Public","body":"@event_subtype"}},{"html_id":"event_text:String|Nil-instance-method","name":"event_text","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L97"},"def":{"name":"event_text","return_type":"String | ::Nil","visibility":"Public","body":"@event_text"}},{"html_id":"event_type:Int32-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L95"},"def":{"name":"event_type","return_type":"Int32","visibility":"Public","body":"@event_type"}},{"html_id":"segment_id:Int32|Nil-instance-method","name":"segment_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L94"},"def":{"name":"segment_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@segment_id"}},{"html_id":"serial_number:Int32|Nil-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L88"},"def":{"name":"serial_number","return_type":"Int32 | ::Nil","visibility":"Public","body":"@serial_number"}},{"html_id":"subdevice_id:Int32|Nil-instance-method","name":"subdevice_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L93"},"def":{"name":"subdevice_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@subdevice_id"}},{"html_id":"subdevice_name:String|Nil-instance-method","name":"subdevice_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L119"},"def":{"name":"subdevice_name","return_type":"String | ::Nil","visibility":"Public","body":"@subdevice_name"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L89"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","path":"Lenel/OpenAccess/Models/Person.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person","abstract":true,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L124"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L124"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firstname:String|Nil-instance-method","name":"firstname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L126"},"def":{"name":"firstname","return_type":"String | ::Nil","visibility":"Public","body":"@firstname"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L125"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"lastname:String|Nil-instance-method","name":"lastname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L127"},"def":{"name":"lastname","return_type":"String | ::Nil","visibility":"Public","body":"@lastname"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","path":"Lenel/OpenAccess/Models/Reader.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L164"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accessMode:Int32|Nil-instance-method","name":"accessMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L165"},"def":{"name":"accessMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@accessMode"}},{"html_id":"address:Int32|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L166"},"def":{"name":"address","return_type":"Int32 | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"aux1Name:String|Nil-instance-method","name":"aux1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L182"},"def":{"name":"aux1Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux1Name"}},{"html_id":"aux2Name:String|Nil-instance-method","name":"aux2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L183"},"def":{"name":"aux2Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux2Name"}},{"html_id":"aux3Name:String|Nil-instance-method","name":"aux3Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L184"},"def":{"name":"aux3Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux3Name"}},{"html_id":"controlType:Int32|Nil-instance-method","name":"controlType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L167"},"def":{"name":"controlType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controlType"}},{"html_id":"extendedOpenTime:Int32|Nil-instance-method","name":"extendedOpenTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L168"},"def":{"name":"extendedOpenTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedOpenTime"}},{"html_id":"extendedStrikeTime:Int32|Nil-instance-method","name":"extendedStrikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L169"},"def":{"name":"extendedStrikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedStrikeTime"}},{"html_id":"friendlyName:String|Nil-instance-method","name":"friendlyName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L185"},"def":{"name":"friendlyName","return_type":"String | ::Nil","visibility":"Public","body":"@friendlyName"}},{"html_id":"gatewayAddress:Int32|Nil-instance-method","name":"gatewayAddress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L170"},"def":{"name":"gatewayAddress","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayAddress"}},{"html_id":"gatewayHostName:String|Nil-instance-method","name":"gatewayHostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L186"},"def":{"name":"gatewayHostName","return_type":"String | ::Nil","visibility":"Public","body":"@gatewayHostName"}},{"html_id":"gatewayIPPort:Int32|Nil-instance-method","name":"gatewayIPPort","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L171"},"def":{"name":"gatewayIPPort","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayIPPort"}},{"html_id":"hostName:String|Nil-instance-method","name":"hostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L187"},"def":{"name":"hostName","return_type":"String | ::Nil","visibility":"Public","body":"@hostName"}},{"html_id":"isPairedMaster:Bool|Nil-instance-method","name":"isPairedMaster","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L192"},"def":{"name":"isPairedMaster","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedMaster"}},{"html_id":"isPairedSlave:Bool|Nil-instance-method","name":"isPairedSlave","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L193"},"def":{"name":"isPairedSlave","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedSlave"}},{"html_id":"mode:Int32|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L173"},"def":{"name":"mode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L188"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"offlineMode:Int32|Nil-instance-method","name":"offlineMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L172"},"def":{"name":"offlineMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@offlineMode"}},{"html_id":"openTime:Int32|Nil-instance-method","name":"openTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L174"},"def":{"name":"openTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@openTime"}},{"html_id":"out1Name:String|Nil-instance-method","name":"out1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L189"},"def":{"name":"out1Name","return_type":"String | ::Nil","visibility":"Public","body":"@out1Name"}},{"html_id":"out2Name:String|Nil-instance-method","name":"out2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L190"},"def":{"name":"out2Name","return_type":"String | ::Nil","visibility":"Public","body":"@out2Name"}},{"html_id":"panelID:Int32|Nil-instance-method","name":"panelID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L175"},"def":{"name":"panelID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@panelID"}},{"html_id":"panelTypeName:String|Nil-instance-method","name":"panelTypeName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L191"},"def":{"name":"panelTypeName","return_type":"String | ::Nil","visibility":"Public","body":"@panelTypeName"}},{"html_id":"portNumber:Int32|Nil-instance-method","name":"portNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L176"},"def":{"name":"portNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@portNumber"}},{"html_id":"readerID:Int32|Nil-instance-method","name":"readerID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L177"},"def":{"name":"readerID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerID"}},{"html_id":"readerNumber:Int32|Nil-instance-method","name":"readerNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L178"},"def":{"name":"readerNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerNumber"}},{"html_id":"slaveID:Int32|Nil-instance-method","name":"slaveID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L179"},"def":{"name":"slaveID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@slaveID"}},{"html_id":"strikeTime:Int32|Nil-instance-method","name":"strikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L180"},"def":{"name":"strikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@strikeTime"}},{"html_id":"timeAttendanceType:Int32|Nil-instance-method","name":"timeAttendanceType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L181"},"def":{"name":"timeAttendanceType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@timeAttendanceType"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","path":"Lenel/OpenAccess/Models/Untyped.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/lenel/open_access/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L84"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" json_unmapped.\n{{ call }}\n\n \n"}}]}]}]},{"html_id":"drivers/Lenel/TimeConverter","path":"Lenel/TimeConverter.html","kind":"module","full_name":"Lenel::TimeConverter","name":"TimeConverter","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"doc":"Ensure that UTC time strings provide the offset as \"+00:00\" instead of \"Z\", as required by Openaccess","summary":"

Ensure that UTC time strings provide the offset as "+00:00" instead of "Z", as required by Openaccess

","class_methods":[{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/lenel/open_access/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lenel/open_access/models.cr#L5"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%FT%T%:z\"))"}}]}]},{"html_id":"drivers/Leviton","path":"Leviton.html","kind":"module","full_name":"Leviton","name":"Leviton","abstract":false,"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Leviton/Acquisuite","path":"Leviton/Acquisuite.html","kind":"class","full_name":"Leviton::Acquisuite","name":"Acquisuite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Leviton","kind":"module","full_name":"Leviton","name":"Leviton"},"instance_methods":[{"html_id":"device_list:Hash(String,{String,String})-instance-method","name":"device_list","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L152"},"def":{"name":"device_list","visibility":"Public","body":"@device_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@device_list = setting(Hash(String, Tuple(String, String)), :device_list)\n@manifest_list = setting(Array(String), :manifest_list)\n@config_list = setting(Hash(String, Array(Hash(String, Float64 | String | Nil))), :config_list)\n"}},{"html_id":"receive_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"receive_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/leviton/acquisuite.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/leviton/acquisuite.cr#L35"},"def":{"name":"receive_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n if @debug_webhook\n logger.warn do\n ((\"Received Webhook\\n\" + \"Method: #{method.inspect}\\n\") + \"Headers:\\n#{headers.inspect}\\n\") + \"Body:\\n#{body.inspect}\"\n end\n end\n decoded = Base64.decode_string(body)\n case method.downcase\n when \"post\"\n new_headers = HTTP::Headers.new\n headers.each do |k, v|\n new_headers[k] = v\n end\n request = HTTP::Request.new(\"POST\", \"/request\", new_headers, decoded)\n files, form_data = ActionController::BodyParser.extract_form_data(request, \"multipart/form-data\", request.query_params)\n form_data = form_data.not_nil!\n case form_data[\"MODE\"]\n when \"STATUS\"\n return {HTTP::Status::OK.to_i, {} of String => String, \"SUCCESS\"}\n when \"CONFIGFILEMANIFEST\"\n return {HTTP::Status::OK.to_i, {} of String => String, device_to_manifest.join(\"\\n\")}\n when \"CONFIGFILEUPLOAD\"\n files = files.not_nil!\n return config_file_upload(files, form_data)\n when \"LOGFILEUPLOAD\"\n files = files.not_nil!\n return log_file_upload(files, form_data)\n else\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: Invalid mode passed. Either STATUS, CONFIGFILEMANIFEST, CONFIGFILEUPLOAD or LOGFILEUPLOAD required. Got #{form_data[\"MODE\"]}\"}\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request: #{body.inspect}\"\n end\n self[:last_error] = error.inspect_with_backtrace\n self[:error_payload] = body\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: #{error.message.to_s}\"}\nend"}}]}]},{"html_id":"drivers/Lg","path":"Lg.html","kind":"module","full_name":"Lg","name":"Lg","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lg/Displays","path":"Lg/Displays.html","kind":"module","full_name":"Lg::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lg","kind":"module","full_name":"Lg","name":"Lg"},"types":[{"html_id":"drivers/Lg/Displays/Ls5","path":"Lg/Displays/Ls5.html","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"120_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Lg/Displays","kind":"module","full_name":"Lg::Displays","name":"Displays"},"instance_methods":[{"html_id":"aspect_ratio(ratio:Ratio)-instance-method","name":"aspect_ratio","abstract":false,"args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"args_string":"(ratio : Ratio)","args_html":"(ratio : Ratio)","location":{"filename":"src/lg/displays/ls5.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L143"},"def":{"name":"aspect_ratio","args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"visibility":"Public","body":"do_send(Command::AspectRatio, ratio.value, name: \"aspect_ratio\", delay: 1.second)"}},{"html_id":"aspect_ratio?(priority:Int32=0)-instance-method","name":"aspect_ratio?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"aspect_ratio?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AspectRatio, 255, priority: priority, name: \"aspect_ratio\" + \"_status\")"}},{"html_id":"auto_off(state:Bool=false)-instance-method","name":"auto_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L211"},"def":{"name":"auto_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::AutoOff, val, 'm', name: \"disable_auto_off\")\n"}},{"html_id":"auto_off?(priority:Int32=0)-instance-method","name":"auto_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"auto_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AutoOff, 255, priority: priority, name: \"auto_off\" + \"_status\")"}},{"html_id":"brightness(value:Float64|Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Brightness, val, name: \"brightness\")\n"}},{"html_id":"brightness?(priority:Int32=0)-instance-method","name":"brightness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"brightness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Brightness, 255, priority: priority, name: \"brightness\" + \"_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nself[:connected] = true\nwake_on_lan\nno_signal_off\nauto_off\nlocal_button_lock\npm_mode\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Float64|Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Contrast, val, name: \"contrast\")\n"}},{"html_id":"contrast?(priority:Int32=0)-instance-method","name":"contrast?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"contrast?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Contrast, 255, priority: priority, name: \"contrast\" + \"_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L69"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nself[:connected] = false\nschedule.clear\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if @rs232\n power?\n if self[:hard_power]?.try(&.as_bool)\n screen_mute?\n input?\n volume_mute?\n volume?\n end\nelse\n if @connected\n screen_mute?\n if @id_num == 1\n input?\n volume_mute?\n volume?\n end\n else\n if self[:power_target]?.try(&.as_bool)\n power(true)\n end\n end\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L111"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::Power, 0, name: \"power\", priority: 99, clear_queue: true)"}},{"html_id":"input?(priority:Int32=0)-instance-method","name":"input?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L169"},"def":{"name":"input?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Input, 255, 'x', priority: priority)"}},{"html_id":"local_button_lock(state:Bool=true)-instance-method","name":"local_button_lock","doc":"0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons. Default to 2 as power off from local button results in network offline","summary":"

0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L206"},"def":{"name":"local_button_lock","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 2 : 0\ndo_send(Command::LocalButtonLock, val, 't', name: \"local_button_lock\")\n"}},{"html_id":"local_button_lock?(priority:Int32=0)-instance-method","name":"local_button_lock?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"local_button_lock?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::LocalButtonLock, 255, priority: priority, name: \"local_button_lock\" + \"_status\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/lg/displays/ls5.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L119"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n do_send(Command::ScreenMute, state ? 1 : 0, name: \"mute_video\")\nend\nif (layer.audio? || layer.audio_video?) && ((self[:audio_mute]?.try(&.as_bool)) != state)\n do_send(Command::VolumeMute, state ? 0 : 1, name: \"mute_audio\")\nend\nstate\n"}},{"html_id":"no_signal_off(state:Bool=false)-instance-method","name":"no_signal_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L199"},"def":{"name":"no_signal_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ncommand = build_command(Command::NoSignalOff, val, 'f')\nsend(command, name: \"no_signal_off\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"no_signal_off?(priority:Int32=0)-instance-method","name":"no_signal_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"no_signal_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::NoSignalOff, 255, priority: priority, name: \"no_signal_off\" + \"_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 150.milliseconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@rs232 = setting(Bool, :rs232_control)\n@id_num = setting(Int32, :display_id)\n@id = @id_num.to_s.rjust(2, '0')\n"}},{"html_id":"pm_mode(mode:Int32=3)-instance-method","name":"pm_mode","abstract":false,"args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32 = 3)","args_html":"(mode : Int32 = 3)","location":{"filename":"src/lg/displays/ls5.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L194"},"def":{"name":"pm_mode","args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"command = build_command(Command::PmMode, mode, 's')\nsend(command, name: \"pm_mode\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"pm_mode?(priority:Int32=0)-instance-method","name":"pm_mode?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"pm_mode?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::PmMode, 255, priority: priority, name: \"pm_mode\" + \"_status\")"}},{"html_id":"power(state:Bool,broadcast:String|Nil=nil)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(state : Bool, broadcast : String | Nil = nil)","args_html":"(state : Bool, broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L98"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if state\n if @rs232\n do_send(Command::Power, 1, name: \"power\", priority: 99)\n else\n wake(broadcast || @last_broadcast)\n end\nend\nif @connected\n mute(!state)\nend\n"}},{"html_id":"power?(priority:Int32=0)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Power, 255, priority: priority, name: \"power\" + \"_status\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lg/displays/ls5.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L253"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if (resp_value = get_response_value(data)) == -1\n return task.try(&.abort)\nend\ncommand = Command.from_value(data[0])\nlogger.debug do\n \"Received command #{command}\"\nend\ncase command\nwhen .power?\n self[:hard_power] = resp_value == 1\n if self[:hard_power].as_bool\n else\n self[:power] = false\n end\nwhen .input?\n self[:input] = Input.from_value(resp_value)\nwhen .aspect_ratio?\n self[:aspect_ratio] = Ratio.from_value(resp_value)\nwhen .screen_mute?\n self[:power] = resp_value == 0\nwhen .volume_mute?\n self[:audio_mute] = resp_value == 0\nwhen .contrast?, .brightness?, .sharpness?, .volume?\n self[command.to_s.underscore] = resp_value\nwhen .wake_on_lan?, .auto_off?\n self[command.to_s.underscore] = resp_value == 1\nwhen .local_button_lock?\n self[:local_button_lock] = resp_value == 2\nelse\n return task.try(&.retry)\nend\ntask.try(&.success)\n"}},{"html_id":"screen_mute?(priority:Int32=0)-instance-method","name":"screen_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"screen_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::ScreenMute, 255, priority: priority, name: \"screen_mute\" + \"_status\")"}},{"html_id":"sharpness(value:Float64|Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Sharpness, val, name: \"sharpness\")\n"}},{"html_id":"sharpness?(priority:Int32=0)-instance-method","name":"sharpness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"sharpness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Sharpness, 255, priority: priority, name: \"sharpness\" + \"_status\")"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/lg/displays/ls5.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L115"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Input, input.value, 'x', name: \"input\", delay: 2.seconds)"}},{"html_id":"volume(value:Float64|Int32)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L173"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, val, name: \"volume\")\n"}},{"html_id":"volume?(priority:Int32=0)-instance-method","name":"volume?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Volume, 255, priority: priority, name: \"volume\" + \"_status\")"}},{"html_id":"volume_mute?(priority:Int32=0)-instance-method","name":"volume_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::VolumeMute, 255, priority: priority, name: \"volume_mute\" + \"_status\")"}},{"html_id":"wake(broadcast:String|Nil=nil)-instance-method","name":"wake","abstract":false,"args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(broadcast : String | Nil = nil)","args_html":"(broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L221"},"def":{"name":"wake","args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if mac = setting?(String, :mac_address)\n wake_device(mac, broadcast)\n logger.debug do\n info = \"Wake on Lan for MAC #{mac}\"\n if b = broadcast\n info = info + \" directed to VLAN #{b}\"\n end\n info\n end\nelse\n logger.warn do\n \"No MAC address provided\"\n end\nend"}},{"html_id":"wake_on_lan(state:Bool=true)-instance-method","name":"wake_on_lan","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L216"},"def":{"name":"wake_on_lan","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::WakeOnLan, val, 'f', name: \"enable_wake_on_lan\")\n"}},{"html_id":"wake_on_lan?(priority:Int32=0)-instance-method","name":"wake_on_lan?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L91"},"def":{"name":"wake_on_lan?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::WakeOnLan, 255, priority: priority, name: \"wake_on_lan\" + \"_status\")"}}],"types":[{"html_id":"drivers/Lg/Displays/Ls5/Command","path":"Lg/Displays/Ls5/Command.html","kind":"enum","full_name":"Lg::Displays::Ls5::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"97"},{"id":"Input","name":"Input","value":"98"},{"id":"AspectRatio","name":"AspectRatio","value":"99"},{"id":"ScreenMute","name":"ScreenMute","value":"100"},{"id":"VolumeMute","name":"VolumeMute","value":"101"},{"id":"Volume","name":"Volume","value":"102"},{"id":"Contrast","name":"Contrast","value":"103"},{"id":"Brightness","name":"Brightness","value":"104"},{"id":"Sharpness","name":"Sharpness","value":"107"},{"id":"AutoOff","name":"AutoOff","value":"110"},{"id":"LocalButtonLock","name":"LocalButtonLock","value":"111"},{"id":"WakeOnLan","name":"WakeOnLan","value":"119"},{"id":"NoSignalOff","name":"NoSignalOff","value":"103"},{"id":"PmMode","name":"PmMode","value":"110"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"aspect_ratio?-instance-method","name":"aspect_ratio?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L78"},"def":{"name":"aspect_ratio?","visibility":"Public","body":"self == AspectRatio"}},{"html_id":"auto_off?-instance-method","name":"auto_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L85"},"def":{"name":"auto_off?","visibility":"Public","body":"self == AutoOff"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L83"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L82"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"local_button_lock?-instance-method","name":"local_button_lock?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L86"},"def":{"name":"local_button_lock?","visibility":"Public","body":"self == LocalButtonLock"}},{"html_id":"no_signal_off?-instance-method","name":"no_signal_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L88"},"def":{"name":"no_signal_off?","visibility":"Public","body":"self == NoSignalOff"}},{"html_id":"pm_mode?-instance-method","name":"pm_mode?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L89"},"def":{"name":"pm_mode?","visibility":"Public","body":"self == PmMode"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L76"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"screen_mute?-instance-method","name":"screen_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L79"},"def":{"name":"screen_mute?","visibility":"Public","body":"self == ScreenMute"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L84"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L81"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"volume_mute?-instance-method","name":"volume_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L80"},"def":{"name":"volume_mute?","visibility":"Public","body":"self == VolumeMute"}},{"html_id":"wake_on_lan?-instance-method","name":"wake_on_lan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L87"},"def":{"name":"wake_on_lan?","visibility":"Public","body":"self == WakeOnLan"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Input","path":"Lg/Displays/Ls5/Input.html","kind":"enum","full_name":"Lg::Displays::Ls5::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Dvi","name":"Dvi","value":"112"},{"id":"Hdmi","name":"Hdmi","value":"160"},{"id":"HdmiDtv","name":"HdmiDtv","value":"144"},{"id":"Hdmi2","name":"Hdmi2","value":"161"},{"id":"Hdmi2Dtv","name":"Hdmi2Dtv","value":"145"},{"id":"DisplayPort","name":"DisplayPort","value":"208"},{"id":"DisplayPortDtv","name":"DisplayPortDtv","value":"192"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L16"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"display_port_dtv?-instance-method","name":"display_port_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L17"},"def":{"name":"display_port_dtv?","visibility":"Public","body":"self == DisplayPortDtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L14"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_dtv?-instance-method","name":"hdmi2_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L15"},"def":{"name":"hdmi2_dtv?","visibility":"Public","body":"self == Hdmi2Dtv"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_dtv?-instance-method","name":"hdmi_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L13"},"def":{"name":"hdmi_dtv?","visibility":"Public","body":"self == HdmiDtv"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Ratio","path":"Lg/Displays/Ls5/Ratio.html","kind":"enum","full_name":"Lg::Displays::Ls5::Ratio","name":"Ratio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Square","name":"Square","value":"1"},{"id":"Wide","name":"Wide","value":"2"},{"id":"Zoom","name":"Zoom","value":"4"},{"id":"Scan","name":"Scan","value":"9"},{"id":"Program","name":"Program","value":"6"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"program?-instance-method","name":"program?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L140"},"def":{"name":"program?","visibility":"Public","body":"self == Program"}},{"html_id":"scan?-instance-method","name":"scan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L139"},"def":{"name":"scan?","visibility":"Public","body":"self == Scan"}},{"html_id":"square?-instance-method","name":"square?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L136"},"def":{"name":"square?","visibility":"Public","body":"self == Square"}},{"html_id":"wide?-instance-method","name":"wide?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L137"},"def":{"name":"wide?","visibility":"Public","body":"self == Wide"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lg/displays/ls5.cr#L138"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]}]}]}]},{"html_id":"drivers/Lumens","path":"Lumens.html","kind":"module","full_name":"Lumens","name":"Lumens","abstract":false,"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lumens/DC193","path":"Lumens/DC193.html","kind":"class","full_name":"Lumens::DC193","name":"DC193","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{193_u8 => :lamp, 176_u8 => :power, 183_u8 => :power_staus, 167_u8 => :picture_mode, 163_u8 => :auto_focus, 138_u8 => :max_zoom, 120_u8 => :frozen_status, 96_u8 => :zoom_staus, 81_u8 => :picture_mode_staus, 80_u8 => :lamp_staus, 44_u8 => :freeze, 31_u8 => :zoom_direct_auto_focus, 19_u8 => :zoom_direct, 17_u8 => :zoom, 16_u8 => :zoom_stop}"},{"id":"PICTURE_MODES","name":"PICTURE_MODES","value":"{:photo, :test, :greyscale}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"}],"namespace":{"html_id":"drivers/Lumens","kind":"module","full_name":"Lumens","name":"Lumens"},"instance_methods":[{"html_id":"auto_focus(name:String=\"auto_focus\")-instance-method","name":"auto_focus","abstract":false,"args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"args_string":"(name : String = \"auto_focus\")","args_html":"(name : String = "auto_focus")","location":{"filename":"src/lumens/dc193.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L107"},"def":{"name":"auto_focus","args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nsend(Bytes[160, 163, 1, 0, 0, 175], name: name)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds) do\n query_status\nend\nquery_status\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"freeze(state:Bool)-instance-method","name":"freeze","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L117"},"def":{"name":"freeze","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 44, state, 0, 0, 175], name: :freeze)\n"}},{"html_id":"frozen?-instance-method","name":"frozen?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L122"},"def":{"name":"frozen?","visibility":"Public","body":"send(Bytes[160, 120, 0, 0, 0, 175], priority: 0)"}},{"html_id":"lamp(state:Bool,head_led:Bool=false)-instance-method","name":"lamp","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"args_string":"(state : Bool, head_led : Bool = false)","args_html":"(state : Bool, head_led : Bool = false)","location":{"filename":"src/lumens/dc193.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L59"},"def":{"name":"lamp","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"visibility":"Public","body":"if @frozen\n return false\nend\nlamps = if state && head_led\n 1_u8\nelse\n if state\n 2_u8\n else\n if head_led\n 3_u8\n else\n 0_u8\n end\n end\nend\nsend(Bytes[160, 193, lamps, 0, 0, 175], name: :lamp)\n"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L75"},"def":{"name":"lamp?","visibility":"Public","body":"send(Bytes[160, 80, 0, 0, 0, 175], priority: 0)"}},{"html_id":"max_zoom?-instance-method","name":"max_zoom?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L146"},"def":{"name":"max_zoom?","visibility":"Public","body":"send(Bytes[160, 138, 0, 0, 0, 175], priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(6)\n@zoom_range = 0..@zoom_max\n"}},{"html_id":"picture_mode(state:String)-instance-method","name":"picture_mode","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/lumens/dc193.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L126"},"def":{"name":"picture_mode","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nmode = case state.downcase\nwhen \"photo\"\n 0_u8\nwhen \"text\"\n 1_u8\nwhen \"greyscale\", \"grayscale\"\n 2_u8\nelse\n raise(ArgumentError.new(\"unknown picture mode #{state}\"))\nend\nsend(Bytes[160, 167, mode, 0, 0, 175], name: :picture_mode)\n"}},{"html_id":"picture_mode?-instance-method","name":"picture_mode?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L142"},"def":{"name":"picture_mode?","visibility":"Public","body":"send(Bytes[160, 81, 0, 0, 0, 175], priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L48"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 176, state, 0, 0, 175], name: :power)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L54"},"def":{"name":"power?","visibility":"Public","body":"send(Bytes[160, 183, 0, 0, 0, 175], priority: 0)"}},{"html_id":"query_status-instance-method","name":"query_status","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L37"},"def":{"name":"query_status","visibility":"Public","body":"if power?.get == \"true\"\n lamp?\n zoom?\n frozen?\n max_zoom?\n picture_mode?\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lumens/dc193.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L189"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Lumens sent: #{data.hexstring}\"\nend\nstatus = Status.from_value(data[4].to_i)\nself[:zooming] = status.zooming?\nself[:focusing] = status.focusing?\nself[:iris_adjusting] = status.iris?\nif status.error?\n return task.try(&.abort(\"bad request\"))\nend\nif status.ignored?\n return task.try(&.retry(\"device busy\"))\nend\nresult = case COMMANDS[data[1]]?\nwhen :power\n data[2] == 1_u8\nwhen :power_staus\n @ready = data[2] == 1_u8\n @power = data[3] == 1_u8\n logger.debug do\n \"System power: #{@power}, ready: #{@ready}\"\n end\n self[:ready] = @ready\n self[:power] = @power\nwhen :max_zoom\n @zoom_max = data[2].to_i + (data[3].to_i << 8)\n @zoom_range = 0..@zoom_max\n self[:zoom_range] = {min: 0, max: @zoom_max}\nwhen :frozen_status, :freeze\n self[:frozen] = @frozen = data[2] == 1_u8\nwhen :zoom_staus, :zoom_direct_auto_focus, :zoom_direct\n value = data[2].to_i + (data[3].to_i << 8)\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\nwhen :picture_mode_staus, :picture_mode\n self[:picture_mode] = PICTURE_MODES[data[2].to_i]\nwhen :lamp_staus, :lamp\n case data[2]\n when 0_u8\n @head_led = @lamp = false\n when 1_u8\n @head_led = @lamp = true\n when 2_u8\n @head_led = false\n @lamp = true\n when 3_u8\n @head_led = true\n @lamp = false\n end\n self[:head_led] = @head_led\n self[:lamp] = @lamp\nwhen :auto_focus\nelse\n error = \"Unknown command #{data[1]}\"\n logger.debug do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success(result))\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=1)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 1)","args_html":"(direction : ZoomDirection, index : Int32 | String = 1)","location":{"filename":"src/lumens/dc193.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L90"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @frozen\n return false\nend\ncase direction\nwhen ZoomDirection::Stop\n send(Bytes[160, 16, 0, 0, 0, 175])\n zoom?(priority: queue.priority)\n auto_focus(name: \"zoom\")\nwhen ZoomDirection::In\n send(Bytes[160, 17, 0, 0, 0, 175], name: :zoom)\nwhen ZoomDirection::Out\n send(Bytes[160, 17, 1, 0, 0, 175], name: :zoom)\nend\n"}},{"html_id":"zoom?(priority:Int32=0)-instance-method","name":"zoom?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L113"},"def":{"name":"zoom?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(Bytes[160, 96, 0, 0, 0, 175], priority: priority)"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L79"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nposition = (percentage * @zoom_max.to_f).to_i\nlow = (position & 255).to_u8\nhigh = ((position >> 8) & 255).to_u8\nauto_focus = auto_focus ? 31_u8 : 19_u8\nsend(Bytes[160, auto_focus, low, high, 0, 175], name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Lumens/DC193/Status","path":"Lumens/DC193/Status.html","kind":"enum","full_name":"Lumens::DC193::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L151"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Error","name":"Error","value":"1"},{"id":"Ignored","name":"Ignored","value":"2"},{"id":"Reserved1","name":"Reserved1","value":"4"},{"id":"Reserved2","name":"Reserved2","value":"8"},{"id":"Focusing","name":"Focusing","value":"16"},{"id":"Zooming","name":"Zooming","value":"32"},{"id":"Iris","name":"Iris","value":"64"},{"id":"Reserved3","name":"Reserved3","value":"128"}],"namespace":{"html_id":"drivers/Lumens/DC193","kind":"class","full_name":"Lumens::DC193","name":"DC193"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L152"},"def":{"name":"error?","visibility":"Public","body":"self.includes?(Error)"}},{"html_id":"focusing?-instance-method","name":"focusing?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L156"},"def":{"name":"focusing?","visibility":"Public","body":"self.includes?(Focusing)"}},{"html_id":"ignored?-instance-method","name":"ignored?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L153"},"def":{"name":"ignored?","visibility":"Public","body":"self.includes?(Ignored)"}},{"html_id":"iris?-instance-method","name":"iris?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L158"},"def":{"name":"iris?","visibility":"Public","body":"self.includes?(Iris)"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L151"},"def":{"name":"none?","visibility":"Public","body":"value == 0"}},{"html_id":"reserved1?-instance-method","name":"reserved1?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L154"},"def":{"name":"reserved1?","visibility":"Public","body":"self.includes?(Reserved1)"}},{"html_id":"reserved2?-instance-method","name":"reserved2?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L155"},"def":{"name":"reserved2?","visibility":"Public","body":"self.includes?(Reserved2)"}},{"html_id":"reserved3?-instance-method","name":"reserved3?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L159"},"def":{"name":"reserved3?","visibility":"Public","body":"self.includes?(Reserved3)"}},{"html_id":"zooming?-instance-method","name":"zooming?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lumens/dc193.cr#L157"},"def":{"name":"zooming?","visibility":"Public","body":"self.includes?(Zooming)"}}]}]}]},{"html_id":"drivers/Lutron","path":"Lutron.html","kind":"module","full_name":"Lutron","name":"Lutron","abstract":false,"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L12"},{"filename":"src/lutron/vive_leap_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"macros":[{"html_id":"upper_enum(name)-macro","name":"upper_enum","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""}],"args_string":"(name)","args_html":"(name)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L4"},"def":{"name":"upper_enum","args":[{"name":"name","external_name":"name","restriction":""}],"visibility":"Public","body":" \n{% if name.type.resolve.nilable? %} @{{ name.var }} : String? {% else %} @{{ name.var }} : String {% end %}\n\n \n{% enum_type = name.type.resolve.union_types.reject(&.nilable?).first %}\n\n\n def \n{{ name.var }}\n : \n{{ name.type }}\n\n if value = @\n{{ name.var }}\n\n \n{{ enum_type }}\n.parse(value)\n \nelse\n nil\n \nend\n \nend\n\n def \n{{ name.var }}\n=(value : \n{{ name.type }}\n) : \n{{ name.type }}\n\n @\n{{ name.var }}\n = value.try &.to_s\n value\n \nend\n \n"}}],"types":[{"html_id":"drivers/Lutron/AreaStatus","path":"Lutron/AreaStatus.html","kind":"struct","full_name":"Lutron::AreaStatus","name":"AreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L117"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L118"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","doc":"/area/3/status","summary":"

/area/3/status

","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L121"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L124"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"occupancy:OccupancyStatus|Nil-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy","return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"if value = @occupancy\n Lutron::OccupancyStatus.parse(value)\nelse\n nil\nend"}},{"html_id":"occupancy=(value:OccupancyStatus|Nil):OccupancyStatus|Nil-instance-method","name":"occupancy=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"args_string":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","args_html":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy=","args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"@occupancy = value.try(&.to_s)\nvalue\n"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L129"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, area_id, status = href.split(\"/\", 4)\n\"#{component}#{area_id}\"\n"}}]},{"html_id":"drivers/Lutron/Availability","path":"Lutron/Availability.html","kind":"enum","full_name":"Lutron::Availability","name":"Availability","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L159"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Available","name":"Available","value":"0"},{"id":"Unavailable","name":"Unavailable","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"available?-instance-method","name":"available?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L160"},"def":{"name":"available?","visibility":"Public","body":"self == Available"}},{"html_id":"unavailable?-instance-method","name":"unavailable?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L161"},"def":{"name":"unavailable?","visibility":"Public","body":"self == Unavailable"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L162"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Lutron/ClientSetting","path":"Lutron/ClientSetting.html","kind":"struct","full_name":"Lutron::ClientSetting","name":"ClientSetting","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L74"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"protocol:ClientVersion-instance-method","name":"protocol","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L77"},"def":{"name":"protocol","return_type":"ClientVersion","visibility":"Public","body":"@protocol"}}]},{"html_id":"drivers/Lutron/ClientVersion","path":"Lutron/ClientVersion.html","kind":"struct","full_name":"Lutron::ClientVersion","name":"ClientVersion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L81"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"major_version:Int32-instance-method","name":"major_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L84"},"def":{"name":"major_version","return_type":"Int32","visibility":"Public","body":"@major_version"}},{"html_id":"minor_version:Int32-instance-method","name":"minor_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L87"},"def":{"name":"minor_version","return_type":"Int32","visibility":"Public","body":"@minor_version"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L89"},"def":{"name":"version","visibility":"Public","body":"\"#{major_version}.#{minor_version}.0\""}}]},{"html_id":"drivers/Lutron/CommuniqueType","path":"Lutron/CommuniqueType.html","kind":"enum","full_name":"Lutron::CommuniqueType","name":"CommuniqueType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ReadRequest","name":"ReadRequest","value":"0"},{"id":"ReadResponse","name":"ReadResponse","value":"1"},{"id":"UpdateRequest","name":"UpdateRequest","value":"2"},{"id":"UpdateResponse","name":"UpdateResponse","value":"3"},{"id":"SubscribeRequest","name":"SubscribeRequest","value":"4"},{"id":"SubscribeResponse","name":"SubscribeResponse","value":"5"},{"id":"DeleteRequest","name":"DeleteRequest","value":"6"},{"id":"DeleteResponse","name":"DeleteResponse","value":"7"},{"id":"CreateRequest","name":"CreateRequest","value":"8"},{"id":"CreateResponse","name":"CreateResponse","value":"9"},{"id":"UnsubscribeRequest","name":"UnsubscribeRequest","value":"10"},{"id":"UnsubscribeResponse","name":"UnsubscribeResponse","value":"11"},{"id":"ExceptionResponse","name":"ExceptionResponse","value":"12"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"create_request?-instance-method","name":"create_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L31"},"def":{"name":"create_request?","visibility":"Public","body":"self == CreateRequest"}},{"html_id":"create_response?-instance-method","name":"create_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L32"},"def":{"name":"create_response?","visibility":"Public","body":"self == CreateResponse"}},{"html_id":"delete_request?-instance-method","name":"delete_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L29"},"def":{"name":"delete_request?","visibility":"Public","body":"self == DeleteRequest"}},{"html_id":"delete_response?-instance-method","name":"delete_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L30"},"def":{"name":"delete_response?","visibility":"Public","body":"self == DeleteResponse"}},{"html_id":"exception_response?-instance-method","name":"exception_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L35"},"def":{"name":"exception_response?","visibility":"Public","body":"self == ExceptionResponse"}},{"html_id":"read_request?-instance-method","name":"read_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L23"},"def":{"name":"read_request?","visibility":"Public","body":"self == ReadRequest"}},{"html_id":"read_response?-instance-method","name":"read_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L24"},"def":{"name":"read_response?","visibility":"Public","body":"self == ReadResponse"}},{"html_id":"subscribe_request?-instance-method","name":"subscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L27"},"def":{"name":"subscribe_request?","visibility":"Public","body":"self == SubscribeRequest"}},{"html_id":"subscribe_response?-instance-method","name":"subscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L28"},"def":{"name":"subscribe_response?","visibility":"Public","body":"self == SubscribeResponse"}},{"html_id":"unsubscribe_request?-instance-method","name":"unsubscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L33"},"def":{"name":"unsubscribe_request?","visibility":"Public","body":"self == UnsubscribeRequest"}},{"html_id":"unsubscribe_response?-instance-method","name":"unsubscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L34"},"def":{"name":"unsubscribe_response?","visibility":"Public","body":"self == UnsubscribeResponse"}},{"html_id":"update_request?-instance-method","name":"update_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L25"},"def":{"name":"update_request?","visibility":"Public","body":"self == UpdateRequest"}},{"html_id":"update_response?-instance-method","name":"update_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L26"},"def":{"name":"update_response?","visibility":"Public","body":"self == UpdateResponse"}}]},{"html_id":"drivers/Lutron/ContactClosureState","path":"Lutron/ContactClosureState.html","kind":"enum","full_name":"Lutron::ContactClosureState","name":"ContactClosureState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L154"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L156"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L155"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]},{"html_id":"drivers/Lutron/ExceptionDetail","path":"Lutron/ExceptionDetail.html","kind":"struct","full_name":"Lutron::ExceptionDetail","name":"ExceptionDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L95"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error_code:Int32|Nil-instance-method","name":"error_code","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L101"},"def":{"name":"error_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@error_code"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L98"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Lutron/Lighting","path":"Lutron/Lighting.html","kind":"class","full_name":"Lutron::Lighting","name":"Lighting","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Errors","name":"Errors","value":"{\"1\" => \"Parameter count mismatch\", \"2\" => \"Object does not exist\", \"3\" => \"Invalid action number\", \"4\" => \"Parameter data out of range\", \"5\" => \"Parameter data malformed\", \"6\" => \"Unsupported Command\"}"},{"id":"Occupancy","name":"Occupancy","value":"{\"1\" => \"unknown\", \"2\" => \"inactive\", \"3\" => \"occupied\", \"4\" => \"unoccupied\"}"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"blinds(device:String,action:String,component:String=\"shadegrp\")-instance-method","name":"blinds","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"args_string":"(device : String, action : String, component : String = \"shadegrp\")","args_html":"(device : String, action : String, component : String = "shadegrp")","location":{"filename":"src/lutron/lighting.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L77"},"def":{"name":"blinds","args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"case action.downcase\nwhen \"raise\", \"up\"\n send_cmd(component.upcase, device, 3)\nwhen \"lower\", \"down\"\n send_cmd(component.upcase, device, 2)\nwhen \"stop\"\n send_cmd(component.upcase, device, 4)\nend"}},{"html_id":"button_press(area:Int32,button:Int32)-instance-method","name":"button_press","doc":"===============\nDEVICE COMMANDS\n===============","summary":"

=============== DEVICE COMMANDS ===============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"args_string":"(area : Int32, button : Int32)","args_html":"(area : Int32, button : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L116"},"def":{"name":"button_press","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"visibility":"Public","body":"send_cmd(\"DEVICE\", area, button, 3)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"send(\"#{@login}\\r\\n\", priority: 9999)\nschedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Lutron\"\n end\n scene?(1)\nend\n"}},{"html_id":"daylight(area:Int32,mode:Bool)-instance-method","name":"daylight","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"args_string":"(area : Int32, mode : Bool)","args_html":"(area : Int32, mode : Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L108"},"def":{"name":"daylight","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"visibility":"Public","body":"val = mode ? 1 : 2\nsend_cmd(\"AREA\", area, 7, val)\n"}},{"html_id":"daylight_mode?(area:Int32)-instance-method","name":"daylight_mode?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L104"},"def":{"name":"daylight_mode?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 7)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L44"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"led(area:Int32,device:Int32,state:Int32|Bool)-instance-method","name":"led","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"args_string":"(area : Int32, device : Int32, state : Int32 | Bool)","args_html":"(area : Int32, device : Int32, state : Int32 | Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L120"},"def":{"name":"led","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"visibility":"Public","body":"val = if state.is_a?(Int32)\n state\nelse\n state ? 1 : 0\nend\nsend_cmd(\"DEVICE\", area, device, 9, val)\n"}},{"html_id":"led?(area:Int32,device:Int32)-instance-method","name":"led?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"args_string":"(area : Int32, device : Int32)","args_html":"(area : Int32, device : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L130"},"def":{"name":"led?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"DEVICE\", area, device, 9)"}},{"html_id":"level(device:Int32,level:Int32,rate:Int32=1000,component:String=\"output\")-instance-method","name":"level","doc":"dimmers, CCOs, or other devices in a system that have a controllable output","summary":"

dimmers, CCOs, or other devices in a system that have a controllable output

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"args_string":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = \"output\")","args_html":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = "output")","location":{"filename":"src/lutron/lighting.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L63"},"def":{"name":"level","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"level = level.clamp(0, 100)\nseconds = rate / 1000\nmin = seconds / 60\nseconds = seconds - (min * 60)\ntime = \"#{min.to_s.rjust(2, '0')}:#{seconds.to_s.rjust(2, '0')}\"\nsend_cmd(component.upcase, device, 1, level, time)\n"}},{"html_id":"light_level(area:Int32,level:Int32,component:String|Nil=nil,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","args_html":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","location":{"filename":"src/lutron/lighting.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L141"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"if component\n level(area, level, fade, component)\nelse\n level(area, level, fade, \"area\")\nend"}},{"html_id":"lighting(device:Int32,state:Bool,action:Int32=1)-instance-method","name":"lighting","doc":"on or off","summary":"

on or off

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"args_string":"(device : Int32, state : Bool, action : Int32 = 1)","args_html":"(device : Int32, state : Bool, action : Int32 = 1)","location":{"filename":"src/lutron/lighting.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L53"},"def":{"name":"lighting","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(device, level)\n"}},{"html_id":"occupancy?(area:Int32)-instance-method","name":"occupancy?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L100"},"def":{"name":"occupancy?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@login = (setting?(String, :login)) || \"nwk\"\n@trigger_type = (setting?(String, :trigger)) || \"area\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/lighting.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nparts = data.split(\",\")\ncomponent = parts[0][1..-1].downcase\ncase component\nwhen \"area\", \"output\", \"shadegrp\"\n area = parts[1]\n action = parts[2].to_i\n param = parts[3]\n case action\n when 1\n self[\"#{component}#{area}_level\"] = param.to_f\n when 6\n self[\"#{component}#{area}\"] = param.to_i\n when 7\n self[\"#{component}#{area}_daylight\"] = param == \"1\"\n when 8\n self[\"#{component}#{area}_occupied\"] = Occupancy[param]\n end\nwhen \"device\"\n area = parts[1]\n device = parts[2]\n action = parts[3].to_i\n case action\n when 7\n self[\"device#{area}_#{device}\"] = parts[4].to_i\n when 9\n self[\"device#{area}_#{device}_led\"] = parts[4].to_i\n end\nwhen \"error\"\n error = \"error #{parts[1]}: #{Errors[parts[1]]}\"\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success)\n"}},{"html_id":"restart-instance-method","name":"restart","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L48"},"def":{"name":"restart","visibility":"Public","body":"send_cmd(\"RESET\", 0)"}},{"html_id":"scene(area:Int32,scene:Int32,component:String=\"area\")-instance-method","name":"scene","doc":"=============\nAREA COMMANDS\n=============","summary":"

============= AREA COMMANDS =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, scene : Int32, component : String = \"area\")","args_html":"(area : Int32, scene : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L91"},"def":{"name":"scene","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"(send_cmd(component.upcase, area, 6, scene)).get\nscene?(area, component)\n"}},{"html_id":"scene?(area:Int32,component:String=\"area\")-instance-method","name":"scene?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, component : String = \"area\")","args_html":"(area : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L96"},"def":{"name":"scene?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"send_query(component.upcase, area, 6)"}},{"html_id":"trigger(area:Int32,scene:Int32)-instance-method","name":"trigger","doc":"=============\nCOMPATIBILITY\n=============","summary":"

============= COMPATIBILITY =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32)","args_html":"(area : Int32, scene : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/lighting.cr#L137"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"scene(area, scene, @trigger_type)"}}]},{"html_id":"drivers/Lutron/MultipleAreaStatus","path":"Lutron/MultipleAreaStatus.html","kind":"struct","full_name":"Lutron::MultipleAreaStatus","name":"MultipleAreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L104"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L105"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(AreaStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L108"},"def":{"name":"states","return_type":"Array(AreaStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/MultipleZoneStatus","path":"Lutron/MultipleZoneStatus.html","kind":"struct","full_name":"Lutron::MultipleZoneStatus","name":"MultipleZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L135"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(ZoneStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L139"},"def":{"name":"states","return_type":"Array(ZoneStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/OccupancyStatus","path":"Lutron/OccupancyStatus.html","kind":"enum","full_name":"Lutron::OccupancyStatus","name":"OccupancyStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L111"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Occupied","name":"Occupied","value":"0"},{"id":"Unoccupied","name":"Unoccupied","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"occupied?-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L112"},"def":{"name":"occupied?","visibility":"Public","body":"self == Occupied"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L114"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"unoccupied?-instance-method","name":"unoccupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L113"},"def":{"name":"unoccupied?","visibility":"Public","body":"self == Unoccupied"}}]},{"html_id":"drivers/Lutron/OneZoneStatus","path":"Lutron/OneZoneStatus.html","kind":"struct","full_name":"Lutron::OneZoneStatus","name":"OneZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L142"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L143"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:ZoneStatus-instance-method","name":"status","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L146"},"def":{"name":"status","return_type":"ZoneStatus","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/Lutron/Quantum","path":"Lutron/Quantum.html","kind":"class","full_name":"Lutron::Quantum","name":"Quantum","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/quantum.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"level(id:Int32,level:String)-instance-method","name":"level","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(id : Int32, level : String)","args_html":"(id : Int32, level : String)","location":{"filename":"src/lutron/quantum.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L35"},"def":{"name":"level","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"client.zone.set_status_level(id: id, level: level)\nself[\"area#{id}_level\"] = level\n"}},{"html_id":"level?(id:Int32)-instance-method","name":"level?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L30"},"def":{"name":"level?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.zone.get_status(id)\nself[\"area#{id}_level\"] = status[\"Level\"]\n"}},{"html_id":"occupancy_status?(id:Int32)-instance-method","name":"occupancy_status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L50"},"def":{"name":"occupancy_status?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"occupancy_status = client.area.get_occupancy_status(id: id)\nself[\"area#{id}_occupancy\"] = occupancy_status\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = (URI.parse(config.uri.not_nil!)).host\napi_key = setting(String, :api_key)\ndevice_key = setting(String, :device_key)\n@client = Client.new(host_name: host_name.not_nil!, api_key: api_key, device_key: device_key)\n"}},{"html_id":"root-instance-method","name":"root","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L61"},"def":{"name":"root","visibility":"Public","body":"client.area.root"}},{"html_id":"scene(id:Int32,scene:Int32)-instance-method","name":"scene","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(id : Int32, scene : Int32)","args_html":"(id : Int32, scene : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L40"},"def":{"name":"scene","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"client.area.set_scene(id: id, scene: scene)\nself[\"area#{id}\"] = scene\n"}},{"html_id":"scene?(id:Int32)-instance-method","name":"scene?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L45"},"def":{"name":"scene?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.area.get_status(id: id)\nself[\"area#{id}\"] = status[\"CurrentScene\"]\n"}},{"html_id":"scenes(id:Int32)-instance-method","name":"scenes","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L56"},"def":{"name":"scenes","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"client.area.get_scenes(id: id)"}}],"types":[{"html_id":"drivers/Lutron/Quantum/Client","path":"Lutron/Quantum/Client.html","kind":"alias","full_name":"Lutron::Quantum::Client","name":"Client","abstract":false,"locations":[{"filename":"src/lutron/quantum.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/quantum.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Quantum::Client","aliased_html":"Quantum::Client","const":false,"namespace":{"html_id":"drivers/Lutron/Quantum","kind":"class","full_name":"Lutron::Quantum","name":"Quantum"}}]},{"html_id":"drivers/Lutron/Request","path":"Lutron/Request.html","kind":"class","full_name":"Lutron::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L39"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(url:String,req_type:CommuniqueType=CommuniqueType::ReadRequest,body=nil,header:Hash(String,String)={}ofString=>String)-class-method","name":"new","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"args_string":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","args_html":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L56"},"def":{"name":"new","args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(url, req_type, body, header)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(*args,**options)-instance-method","name":"[]=","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]=","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args] = **options"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"if (value = @body).nil?\n @body = (\"\")\nelse\n value\nend"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"header:Hash(String,String)-instance-method","name":"header","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header","return_type":"Hash(String, String)","visibility":"Public","body":"@header"}},{"html_id":"header=(header:Hash(String,String))-instance-method","name":"header=","abstract":false,"args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"args_string":"(header : Hash(String, String))","args_html":"(header : Hash(String, String))","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header=","args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@header = header"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L52"},"def":{"name":"name?","visibility":"Public","body":"header[\"Url\"]?"}},{"html_id":"type:CommuniqueType-instance-method","name":"type","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type","return_type":"CommuniqueType","visibility":"Public","body":"if value = @type\n Lutron::CommuniqueType.parse(value)\nelse\n nil\nend"}},{"html_id":"type=(value:CommuniqueType):CommuniqueType-instance-method","name":"type=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"args_string":"(value : CommuniqueType) : CommuniqueType","args_html":"(value : CommuniqueType) : CommuniqueType","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type=","args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"return_type":"CommuniqueType","visibility":"Public","body":"@type = value.try(&.to_s)\nvalue\n"}}]},{"html_id":"drivers/Lutron/SwitchedLevel","path":"Lutron/SwitchedLevel.html","kind":"enum","full_name":"Lutron::SwitchedLevel","name":"SwitchedLevel","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L151"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L150"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Lutron/ViveBacnet","path":"Lutron/ViveBacnet.html","kind":"class","full_name":"Lutron::ViveBacnet","name":"ViveBacnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"disable_occupancy(state:Bool)-instance-method","name":"disable_occupancy","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L83"},"def":{"name":"disable_occupancy","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 7, state)).get\nself[:occupancy_disabled] = state\n"}},{"html_id":"level(percentage:Float32)-instance-method","name":"level","abstract":false,"args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"args_string":"(percentage : Float32)","args_html":"(percentage : Float32)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L71"},"def":{"name":"level","args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"visibility":"Public","body":"if percentage < 0.0_f32\n percentage = 0.0_f32\nend\nif percentage > 100.0_f32\n percentage = 100.0_f32\nend\n(bacnet.write_real(@device_id, 2, percentage)).get\nself[:lighting_level] = percentage\n"}},{"html_id":"lighting(state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L78"},"def":{"name":"lighting","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 3, state)).get\nself[:lighting] = state\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@device_id = setting(UInt32, :device_id)\nsubscriptions.clear\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[2]\") do |_sub, value|\n self[:lighting_level] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[18]\") do |_sub, value|\n self[:power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[19]\") do |_sub, value|\n self[:max_power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[3]\") do |_sub, value|\n self[:lighting] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[7]\") do |_sub, value|\n self[:occupancy_disabled] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.MultiStateValue[8]\") do |_sub, value|\n @occupancy = case value\n when \"1\"\n false\n when \"2\"\n true\n else\n nil\n end\n self[:occupancy] = @occupancy\n self[:occupancy_sensor] = @occupancy.nil? ? nil : ( @occupancy ? 1.0 : 0.0)\n @last_updated = Time.utc.to_unix\nend\nschedule.clear\nschedule.every((4 + (rand(3))).seconds) do\n (bacnet.update_value(@device_id, 2, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 18, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 19, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 3, \"BinaryValue\")).get\n (bacnet.update_value(@device_id, 8, \"MultiStateValue\")).get\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L115"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id == \"occupancy\"\nelse\n return nil\nend\nif mac == @device_id.to_s\nelse\n return nil\nend\nif @last_updated == 0_i64\n return nil\nend\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_bacnet.cr#L94"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != @device_id.to_s)\n return NO_MATCH\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\n[Interface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")]\n"}}]},{"html_id":"drivers/Lutron/ViveLeap","path":"Lutron/ViveLeap.html","kind":"class","full_name":"Lutron::ViveLeap","name":"ViveLeap","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"area_status?-instance-method","name":"area_status?","doc":"gets the status of all areas","summary":"

gets the status of all areas

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L85"},"def":{"name":"area_status?","visibility":"Public","body":"request = Request.new(\"/area/status\")\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"request = Request.new(\"/clientsetting\", :update_request, {ClientSetting: {ClientMajorVersion: 1}})\nsend(request.to_json, priority: 99, name: request.name?)\nschedule.every(1.minute) do\n ping\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"@sensors.clear\nschedule.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n length, unpaired = 0, 0\n loop do\n case io.read_char\n when '{'\n unpaired = unpaired + 1\n when '}'\n unpaired = unpaired - 1\n when Nil\n break\n end\n length = length + 1\n if unpaired.zero?\n break\n end\n end\n unpaired.zero? && length > 0 ? length : -1\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L79"},"def":{"name":"ping","visibility":"Public","body":"request = Request.new(\"/server/status/ping\")\nsend(request.to_json, priority: 0, name: request.name?)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/vive_leap.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L142"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nrequest = Request.from_json(data)\nurl = request[\"Url\"]?\nhttp_status = request[\"StatusCode\"]? || \"200 OK\"\nmessage_type = request[\"MessageBodyType\"]?\ncase message_type\nwhen \"OneClientSettingDefinition\"\n setting = ClientSetting.from_json(request.body)\n logger.debug do\n \"protocol version negotiated #{setting.protocol.version}, authenticating\"\n end\n authenticate\nwhen \"MultipleAreaStatus\"\n statuses = MultipleAreaStatus.from_json(request.body)\n timestamp = Time.utc.to_unix\n statuses.states.each do |status|\n base_key = status.status_key\n if status.level\n self[\"#{base_key}_level\"] = status.level\n end\n if status.occupancy\n self[\"#{base_key}_occupied\"] = status.occupancy\n @sensors[base_key] = {status.occupancy.try(&.occupied?) || false, timestamp}\n end\n end\nwhen \"MultipleZoneStatus\"\n statuses = MultipleZoneStatus.from_json(request.body)\n statuses.states.each do |status|\n set_zone(status)\n end\nwhen \"OneZoneStatus\"\n set_zone((OneZoneStatus.from_json(request.body)).status)\nwhen \"ExceptionDetail\"\n code, status = http_status.split(\" \", 2)\n details = ExceptionDetail.from_json(request.body)\n error_message = \"operation #{url} failed with #{code}: #{status}, #{details.message} [#{details.error_code}]\"\n logger.warn do\n error_message\n end\n if task && (task.name == url)\n task.abort(error_message)\n else\n return\n end\nwhen nil\n case url\n when \"/server/status/ping\"\n logger.debug do\n \"got ping response\"\n end\n end\nelse\n logger.debug do\n \"unknown message type #{message_type}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_leap.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L233"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif mac == config.ip\nelse\n return nil\nend\nif id\nelse\n return nil\nend\nsensor_found = @sensors[id]?\nif sensor_found\nelse\n return nil\nend\npresence, timestamp = sensor_found\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: mac, id: id, name: \"#{system.name} #{id} occupancy\", module_id: module_id, binding: \"#{id}_occupied\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_leap.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L213"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\n@sensors.map do |area_id, __arg3|\n presence = __arg3[0]\n timestamp = __arg3[1]\n Interface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: config.ip.not_nil!, id: area_id, name: \"#{system.name} #{area_id} occupancy\", module_id: module_id, binding: \"#{area_id}_occupied\")\nend\n"}},{"html_id":"zone_contact_closure(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_contact_closure","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L130"},"def":{"name":"zone_contact_closure","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToCCOLevel\", CCOLevelParameters: {CCOLevel: state ? \"Closed\" : \"Open\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_level(zone_id:String|Int32,level:Float64)-instance-method","name":"zone_level","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(zone_id : String | Int32, level : Float64)","args_html":"(zone_id : String | Int32, level : Float64)","location":{"filename":"src/lutron/vive_leap.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L106"},"def":{"name":"zone_level","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToDimmedLevel\", DimmedLevelParameters: {Level: level}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_lighting(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_lighting","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L118"},"def":{"name":"zone_lighting","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToSwitchedLevel\", SwitchedLevelParameters: {SwitchedLevel: state ? \"On\" : \"Off\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_status?-instance-method","name":"zone_status?","doc":"get the status of all zones","summary":"

get the status of all zones

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap.cr#L96"},"def":{"name":"zone_status?","visibility":"Public","body":"request = Request.new(\"/zone/status\")\nsend(request.to_json, name: request.name?)\n"}}]},{"html_id":"drivers/Lutron/ZoneStatus","path":"Lutron/ZoneStatus.html","kind":"struct","full_name":"Lutron::ZoneStatus","name":"ZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L165"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L166"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"availability:Availability|Nil-instance-method","name":"availability","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability","return_type":"Availability | ::Nil","visibility":"Public","body":"if value = @availability\n Lutron::Availability.parse(value)\nelse\n nil\nend"}},{"html_id":"availability=(value:Availability|Nil):Availability|Nil-instance-method","name":"availability=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"args_string":"(value : Availability | Nil) : Availability | Nil","args_html":"(value : Availability | Nil) : Availability | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability=","args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"return_type":"Availability | ::Nil","visibility":"Public","body":"@availability = value.try(&.to_s)\nvalue\n"}},{"html_id":"contact_closure:ContactClosureState|Nil-instance-method","name":"contact_closure","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure","return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"if value = @contact_closure\n Lutron::ContactClosureState.parse(value)\nelse\n nil\nend"}},{"html_id":"contact_closure=(value:ContactClosureState|Nil):ContactClosureState|Nil-instance-method","name":"contact_closure=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"args_string":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","args_html":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure=","args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"@contact_closure = value.try(&.to_s)\nvalue\n"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L168"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L171"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L182"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, zone_id, status = href.split(\"/\", 4)\n\"#{component}#{zone_id}\"\n"}},{"html_id":"switched_level:SwitchedLevel|Nil-instance-method","name":"switched_level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level","return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"if value = @switched_level\n Lutron::SwitchedLevel.parse(value)\nelse\n nil\nend"}},{"html_id":"switched_level=(value:SwitchedLevel|Nil):SwitchedLevel|Nil-instance-method","name":"switched_level=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"args_string":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","args_html":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level=","args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"@switched_level = value.try(&.to_s)\nvalue\n"}}]}]},{"html_id":"drivers/Mailer","path":"Mailer.html","kind":"class","full_name":"Mailer","name":"Mailer","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"on_load-instance-method","name":"on_load","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"location":{"filename":"src/place/survey_mailer_spec.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L57"},"def":{"name":"on_load","visibility":"Public","body":"self[:sent] = 0"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L74"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"true"}},{"html_id":"send_template(to:String|Array(String),template:Tuple(String,String),args:TemplateItems,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_template","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L61"},"def":{"name":"send_template","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"self[:sent] = self[:sent].as_i + 1"}}]},{"html_id":"drivers/MessageMedia","path":"MessageMedia.html","kind":"module","full_name":"MessageMedia","name":"MessageMedia","abstract":false,"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MessageMedia/SMS","path":"MessageMedia/SMS.html","kind":"class","full_name":"MessageMedia::SMS","name":"SMS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/MessageMedia","kind":"module","full_name":"MessageMedia","name":"MessageMedia"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/message_media/sms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/message_media/sms.cr#L28"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nformat = format || \"SMS\"\nnumbers = phone_numbers.map do |number|\n payload = {:content => message, :destination_number => number, :format => format}\n if source\n payload[:source_number] = source.to_s\n payload[:source_number_type] = \"ALPHANUMERIC\"\n end\n payload\nend\nresponse = post(\"/v1/messages\", body: {messages: numbers}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nnil\n"}}]}]},{"html_id":"drivers/Microsoft","path":"Microsoft.html","kind":"module","full_name":"Microsoft","name":"Microsoft","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Microsoft/Coordinates","path":"Microsoft/Coordinates.html","kind":"class","full_name":"Microsoft::Coordinates","name":"Coordinates","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L21"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L24"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L27"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L30"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/Microsoft/FindMe","path":"Microsoft/FindMe.html","kind":"class","full_name":"Microsoft::FindMe","name":"FindMe","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"levels-instance-method","name":"levels","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L65"},"def":{"name":"levels","visibility":"Public","body":"data = make_request(\"GET\", \"/FindMeService/api/MeetingRooms/BuildingLevelsWithMeetingRooms\")\nlevels = Array(Microsoft::Level).from_json(data)\nbuildings = Hash(String, Array(String)).new do |hash, key|\n hash[key] = [] of String\nend\nlevels.each do |level|\n buildings[level.building] << level.name\nend\nbuildings\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@domain = (setting?(String, :domain)) || \"\"\n"}},{"html_id":"user_details(usernames:String|Array(String))-instance-method","name":"user_details","abstract":false,"args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"args_string":"(usernames : String | Array(String))","args_html":"(usernames : String | Array(String))","location":{"filename":"src/microsoft/find_me.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L75"},"def":{"name":"user_details","args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"visibility":"Public","body":"users = usernames.is_a?(String) ? [usernames] : usernames\ndata = make_request(\"GET\", \"/FindMeService/api/ObjectLocation/Users/#{users.join(\",\")}?getExtendedData=true\")\n(Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\nend\n"}},{"html_id":"users_on(building:String,level:String)-instance-method","name":"users_on","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(building : String, level : String)","args_html":"(building : String, level : String)","location":{"filename":"src/microsoft/find_me.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me.cr#L82"},"def":{"name":"users_on","args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"uri = \"/FindMeService/api/ObjectLocation/Level/#{building}/#{level}\"\ndata = make_request(\"GET\", uri)\nbegin\n (Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\n end\nrescue error\n logger.debug do\n \"failed to parse location data\\n#{data}\"\n end\n raise(error)\nend\n"}}]},{"html_id":"drivers/Microsoft/FindMeLocationService","path":"Microsoft/FindMeLocationService.html","kind":"class","full_name":"Microsoft::FindMeLocationService","name":"FindMeLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L95"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nactive_users_raw = (findme.user_details(mac_address)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nif user_details = active_users[0]?\n {location: user_details.located_using == \"FixedLocation\" ? \"desk\" : \"wireless\", assigned_to: user_details.user_data.not_nil!.email_address || \"\", mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L110"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfindme_details = @floor_mappings[zone_id]?\nif findme_details\nelse\n return [] of Nil\nend\nfindme_building = findme_details[:building]\nfindme_level = findme_details[:level]\nactive_users_raw = (findme.users_on(findme_building, findme_level)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nlocations = active_users.compact_map do |loc|\n build_location_response(loc, zone_id, findme_building, findme_level, location)\nend\nlocations\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L53"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocations_raw = (findme.user_details(username)).get.to_json\nlocations = Array(Microsoft::Location).from_json(locations_raw)\nlocations = locations.compact_map do |location|\n coords = location.coordinates\n if coords\n else\n next\n end\n level = findme_building = findme_level = \"\"\n @floor_mappings.each do |zone, details|\n findme_building = details[:building]\n findme_level = details[:level]\n if (findme_building == coords.building) && (findme_level == coords.level)\n level = zone\n break\n end\n end\n if level.empty?\n next\n end\n build_location_response(location, level, findme_building, findme_level)\nend\nlocations\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L82"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nactive_users_raw = (findme.user_details(username || email)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nfound = [] of String\nif user_details = active_users[0]?\n found << user_details.username\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_location_service.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@map_id_prefix = (setting?(String, :map_id_prefix)).presence || \"table-\"\n@building_zone = setting(String, :building_zone)\n@floor_mappings = setting(Hash(String, NamedTuple(building: String, level: String)), :floor_mappings)\n@zone_filter = @floor_mappings.keys\n@s2_level = (setting?(Int32, :s2_level)) || 21\n"}}]},{"html_id":"drivers/Microsoft/GPS","path":"Microsoft/GPS.html","kind":"class","full_name":"Microsoft::GPS","name":"GPS","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L37"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L40"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}}]},{"html_id":"drivers/Microsoft/GraphAPI","path":"Microsoft/GraphAPI.html","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/graph_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/graph_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"}},{"html_id":"drivers/Microsoft/Level","path":"Microsoft/Level.html","kind":"class","full_name":"Microsoft::Level","name":"Level","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L8"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"online:Int32-instance-method","name":"online","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L14"},"def":{"name":"online","return_type":"Int32","visibility":"Public","body":"@online"}}]},{"html_id":"drivers/Microsoft/Location","path":"Microsoft/Location.html","kind":"class","full_name":"Microsoft::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L62"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"doc":"Example Response:\n[{\"Alias\":\"dwatson\",\"LastUpdate\":\"2015-11-12T02:25:50.017Z\",\"Confidence\":100,\n \"Coordinates\":{\"Building\":\"SYDNEY\",\"Level\":\"2\",\"X\":76,\"Y\":29,\"LocationDescription\":\"2140\",\"MapByLocationId\":true},\n \"GPS\":{\"Latitude\":-33.796597429,\"Longitude\":151.1382508278,\"Accuracy\":0.0,\"LocationDescription\":null},\n \"LocationIdentifier\":null,\"Status\":\"Located\",\"LocatedUsing\":\"FixedLocation\",\"Type\":\"Person\",\"Comments\":null,\n \"ExtendedUserData\":{\"Alias\":\"dwatson\",\"DisplayName\":\"David Watson\",\"EmailAddress\":\"David.Watson@microsoft.com\",\"LyncSipAddress\":\"dwatson@microsoft.com\"}}]","summary":"

Example Response: [{"Alias":"dwatson","LastUpdate":"2015-11-12T02:25:50.017Z","Confidence":100, "Coordinates":{"Building":"SYDNEY","Level":"2","X":76,"Y":29,"LocationDescription":"2140","MapByLocationId":true}, "GPS":{"Latitude":-33.796597429,"Longitude":151.1382508278,"Accuracy":0.0,"LocationDescription":null}, "LocationIdentifier":null,"Status":"Located","LocatedUsing":"FixedLocation","Type":"Person","Comments":null, "ExtendedUserData":{"Alias":"dwatson","DisplayName":"David Watson","EmailAddress":"David.Watson@microsoft.com","LyncSipAddress":"dwatson@microsoft.com"}}]

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L63"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence:Float64-instance-method","name":"confidence","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L85"},"def":{"name":"confidence","return_type":"Float64","visibility":"Public","body":"@confidence"}},{"html_id":"coordinates:Coordinates|Nil-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L88"},"def":{"name":"coordinates","return_type":"Coordinates | ::Nil","visibility":"Public","body":"@coordinates"}},{"html_id":"gps:GPS|Nil-instance-method","name":"gps","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L91"},"def":{"name":"gps","return_type":"GPS | ::Nil","visibility":"Public","body":"@gps"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L82"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"located_using:String|Nil-instance-method","name":"located_using","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L100"},"def":{"name":"located_using","return_type":"String | ::Nil","visibility":"Public","body":"@located_using"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L94"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L97"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L103"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"user_data:UserData|Nil-instance-method","name":"user_data","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L106"},"def":{"name":"user_data","return_type":"UserData | ::Nil","visibility":"Public","body":"@user_data"}},{"html_id":"username:String-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L76"},"def":{"name":"username","return_type":"String","visibility":"Public","body":"@username"}}],"types":[{"html_id":"drivers/Microsoft/Location/RFC3339Converter","path":"Microsoft/Location/RFC3339Converter.html","kind":"module","full_name":"Microsoft::Location::RFC3339Converter","name":"RFC3339Converter","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft/Location","kind":"class","full_name":"Microsoft::Location","name":"Location"},"class_methods":[{"html_id":"from_json(value:JSON::PullParser):Time-class-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser) : Time","args_html":"(value : JSON::PullParser) : Time","location":{"filename":"src/microsoft/find_me_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L66"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"return_type":"Time","visibility":"Public","body":"Time::Format::RFC_3339.parse(value.read_string)"}},{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L70"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(Time::Format::RFC_3339.format(value, 1))"}}]}]},{"html_id":"drivers/Microsoft/UserData","path":"Microsoft/UserData.html","kind":"class","full_name":"Microsoft::UserData","name":"UserData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L50"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L53"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/microsoft/find_me_models.cr#L47"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}}]}]},{"html_id":"drivers/MuleSoft","path":"MuleSoft.html","kind":"module","full_name":"MuleSoft","name":"MuleSoft","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MuleSoft/Booking","path":"MuleSoft/Booking.html","kind":"class","full_name":"MuleSoft::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L9"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L9"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"event_end:Int64-instance-method","name":"event_end","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L18"},"def":{"name":"event_end","return_type":"Int64","visibility":"Public","body":"@event_end"}},{"html_id":"event_end=(event_end:Int64)-instance-method","name":"event_end=","abstract":false,"args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"args_string":"(event_end : Int64)","args_html":"(event_end : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L18"},"def":{"name":"event_end=","args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"visibility":"Public","body":"@event_end = event_end"}},{"html_id":"event_start:Int64-instance-method","name":"event_start","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L15"},"def":{"name":"event_start","return_type":"Int64","visibility":"Public","body":"@event_start"}},{"html_id":"event_start=(event_start:Int64)-instance-method","name":"event_start=","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"args_string":"(event_start : Int64)","args_html":"(event_start : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L15"},"def":{"name":"event_start=","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"visibility":"Public","body":"@event_start = event_start"}},{"html_id":"location:String-instance-method","name":"location","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L20"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L20"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"@location = location"}},{"html_id":"recurring_master_id:String|Nil-instance-method","name":"recurring_master_id","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id","return_type":"String | ::Nil","visibility":"Public","body":"@recurring_master_id"}},{"html_id":"recurring_master_id=(recurring_master_id:String|Nil)-instance-method","name":"recurring_master_id=","abstract":false,"args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"args_string":"(recurring_master_id : String | Nil)","args_html":"(recurring_master_id : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id=","args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recurring_master_id = recurring_master_id"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L6"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L6"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"to_placeos-instance-method","name":"to_placeos","doc":"we need this method to create an intermediary hash\notherwise when to_json is called all the field names revert to the MuleSoft ones","summary":"

we need this method to create an intermediary hash otherwise when to_json is called all the field names revert to the MuleSoft ones

","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L24"},"def":{"name":"to_placeos","visibility":"Public","body":"value = {\"title\" => @title, \"body\" => @body, \"recurring_master_id\" => @recurring_master_id, \"event_start\" => @event_start, \"event_end\" => @event_end, \"location\" => @location}"}}]},{"html_id":"drivers/MuleSoft/BookingResults","path":"MuleSoft/BookingResults.html","kind":"class","full_name":"MuleSoft::BookingResults","name":"BookingResults","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L37"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bookings:Array(Booking)-instance-method","name":"bookings","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L47"},"def":{"name":"bookings","return_type":"Array(Booking)","visibility":"Public","body":"@bookings"}},{"html_id":"bookings=(bookings:Array(Booking))-instance-method","name":"bookings=","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L47"},"def":{"name":"bookings=","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"@bookings = bookings"}},{"html_id":"count:Int64-instance-method","name":"count","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L39"},"def":{"name":"count","return_type":"Int64","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int64)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int64"}],"args_string":"(count : Int64)","args_html":"(count : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L39"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int64"}],"visibility":"Public","body":"@count = count"}},{"html_id":"venue_code:String-instance-method","name":"venue_code","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code","return_type":"String","visibility":"Public","body":"@venue_code"}},{"html_id":"venue_code=(venue_code:String)-instance-method","name":"venue_code=","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"args_string":"(venue_code : String)","args_html":"(venue_code : String)","location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code=","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"visibility":"Public","body":"@venue_code = venue_code"}},{"html_id":"venue_name:String-instance-method","name":"venue_name","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name","return_type":"String","visibility":"Public","body":"@venue_name"}},{"html_id":"venue_name=(venue_name:String)-instance-method","name":"venue_name=","abstract":false,"args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"args_string":"(venue_name : String)","args_html":"(venue_name : String)","location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name=","args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"visibility":"Public","body":"@venue_name = venue_name"}}]},{"html_id":"drivers/MuleSoft/BookingsAPI","path":"MuleSoft/BookingsAPI.html","kind":"class","full_name":"MuleSoft::BookingsAPI","name":"BookingsAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/booking_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"check_current_booking-instance-method","name":"check_current_booking","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L82"},"def":{"name":"check_current_booking","visibility":"Public","body":"now = Time.utc.to_unix\nprevious_booking = nil\ncurrent_booking = nil\nnext_booking = Int32::MAX\n@bookings.each_with_index do |event, index|\n starting = event.event_start\n if starting > now\n next_booking = index\n if index > 0\n previous_booking = index - 1\n end\n break\n end\n ending_unix = event.event_end\n if ending_unix < now\n next\n end\n if starting <= now && ending_unix > now\n current_booking = index\n if index > 0\n previous_booking = index - 1\n end\n next_booking = index + 1\n break\n end\nend\nif next_booking >= (@bookings.size - 1)\n next_booking = nil\nend\nself[:previous_booking] = previous_booking ? @bookings[previous_booking].to_placeos : nil\nself[:current_booking] = current_booking ? @bookings[current_booking].to_placeos : nil\nself[:next_booking] = next_booking ? @bookings[next_booking].to_placeos : nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@running_a_spec = !(!(setting(Bool, :running_a_spec)))\n@username = setting(String, :username)\n@password = setting(String, :password)\n@basic_auth_enabled = !(!(setting?(Bool, :basic_auth_enabled)))\nlogger.debug do\n \"basic_auth_enabled is #{@basic_auth_enabled}\"\nend\n@base_path = setting(String, :base_path)\n@venue_code = setting(String, :venue_code)\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\ntime_zone = (setting?(String, :time_zone)).presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@ssl_auth_enabled = !(!(setting?(Bool, :ssl_auth_enabled)))\nif @ssl_auth_enabled\n save_ssl_credentials\nend\nlogger.debug do\n \"ssl_auth_enabled is #{@ssl_auth_enabled}\"\nend\nschedule.in((Random.rand(60)).seconds + (Random.rand(1000)).milliseconds) do\n poll_bookings\nend\ncron_string = (setting?(String, :polling_cron)).presence || \"*/30 7-20 * * *\"\nschedule.cron(cron_string, @time_zone) do\n poll_bookings(random_delay: true)\nend\n"}},{"html_id":"poll_bookings(random_delay:Bool=false)-instance-method","name":"poll_bookings","abstract":false,"args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"args_string":"(random_delay : Bool = false)","args_html":"(random_delay : Bool = false)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L67"},"def":{"name":"poll_bookings","args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"visibility":"Public","body":"now = Time.local(@time_zone)\nfrom = now - 1.week\nto = now + 1.week\nlogger.debug do\n \"polling bookings #{@venue_code}, from #{from}, to #{to}, in #{@time_zone.name}\"\nend\nif random_delay\n logger.debug do\n \"random delay of <30seconds to reduce instantaneous Mulesoft API load\"\n end\n sleep(Random.rand(30.0))\nend\nquery_bookings(@venue_code, from, to)\ncheck_current_booking\n"}},{"html_id":"query_bookings_epoch(venue_code:String,starts_at:Int32,ends_at:Int32)-instance-method","name":"query_bookings_epoch","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"args_string":"(venue_code : String, starts_at : Int32, ends_at : Int32)","args_html":"(venue_code : String, starts_at : Int32, ends_at : Int32)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/booking_api.cr#L163"},"def":{"name":"query_bookings_epoch","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"visibility":"Public","body":"query_bookings(venue_code, Time.unix(starts_at), Time.unix(ends_at))"}}]},{"html_id":"drivers/MuleSoft/CalendarExporter","path":"MuleSoft/CalendarExporter.html","kind":"class","full_name":"MuleSoft::CalendarExporter","name":"CalendarExporter","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/calendar_exporter.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"delete_all_events(past_days:Int32=14,future_days:Int32=14)-instance-method","name":"delete_all_events","abstract":false,"args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"args_string":"(past_days : Int32 = 14, future_days : Int32 = 14)","args_html":"(past_days : Int32 = 14, future_days : Int32 = 14)","location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L137"},"def":{"name":"delete_all_events","args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"visibility":"Public","body":"events = fetch_events(past_span: past_days.days, future_span: future_days.days)\nevent_ids = events.map do |e|\n e[\"id\"]\nend\nevent_ids.each do |event_id|\n calendar.delete_event(calendar_id: system.email.not_nil!, event_id: event_id)\nend\n\"Deleted #{event_ids.size} events\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"@just_this_system = {email: system.email.not_nil!, name: system.name}\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\n@time_zone_string = (setting?(String, :calendar_time_zone)).presence\nif @time_zone_string\n @time_zone = Time::Location.load(@time_zone_string.not_nil!)\nend\nself[:timezone] = Time.local.to_s\nsubscription = system.subscribe(:Bookings_1, :bookings) do |_subscription, mulesoft_bookings|\n logger.debug do\n \"DETECTED changed in Mulesoft Bookings..\"\n end\n latest_bookings : Array(Hash(String, Int64 | String | Nil)) = [] of Hash(String, Int64 | String | Nil)\n latest_bookings = Array(Hash(String, Int64 | String | Nil)).from_json(mulesoft_bookings)\n logger.debug do\n \"#{latest_bookings.size} bookings in total\"\n end\n removed_bookings = @bookings - latest_bookings\n now = Time.utc.to_unix\n deleted_bookings = removed_bookings.reject do |b|\n b[\"event_end\"].not_nil!.to_i64 < now\n end\n update_events\n deleted_bookings.each do |b|\n delete_matching_event(b)\n end\n @bookings = latest_bookings\n @bookings.each do |b|\n export_booking(b)\n end\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L63"},"def":{"name":"status","visibility":"Public","body":"{bookings: @bookings, events: @existing_events, deleted_events: @deleted_events}"}},{"html_id":"update_events-instance-method","name":"update_events","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/calendar_exporter.cr#L71"},"def":{"name":"update_events","visibility":"Public","body":"logger.debug do\n \"FETCHING existing Calendar events...\"\nend\n@existing_events = fetch_events()\nlogger.debug do\n \"#{@existing_events.size} events in total\"\nend\n"}}]},{"html_id":"drivers/MuleSoft/DateTimeConvertor","path":"MuleSoft/DateTimeConvertor.html","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/MuleSoft/DateTimeConvertor","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"from_json(pull:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L57"},"def":{"name":"from_json","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(Time.parse(pull.read_string, \"%FT%T\", Time::Location.local)).to_unix"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/mulesoft/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/mulesoft/models.cr#L53"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string((Time.unix(value)).to_local.to_s(\"%FT%T\"))"}}]}]},{"html_id":"drivers/Nec","path":"Nec.html","kind":"module","full_name":"Nec","name":"Nec","abstract":false,"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Nec/Display","path":"Nec/Display.html","kind":"class","full_name":"Nec::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"13_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"audio_input(priority:Int32=0)-instance-method","name":"audio_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"audio_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AudioInput), priority: priority, name: \"audio_input\")"}},{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L105"},"def":{"name":"auto_adjust","visibility":"Public","body":"data = MsgType::SetParameter.build(Command::AutoSetup, 1)\nsend(data, name: \"auto_adjust\")\n"}},{"html_id":"auto_setup(priority:Int32=0)-instance-method","name":"auto_setup","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"auto_setup","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AutoSetup), priority: priority, name: \"auto_setup\")"}},{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L110"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::BrightnessStatus, val.clamp(0, 100))\nsend(data, name: \"brightness\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"brightness_status(priority:Int32=0)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::BrightnessStatus), priority: priority, name: \"brightness_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L116"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::ContrastStatus, val.clamp(0, 100))\nsend(data, name: \"contrast\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"contrast_status(priority:Int32=0)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::ContrastStatus), priority: priority, name: \"contrast_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L137"},"def":{"name":"do_poll","visibility":"Public","body":"current_power = power?(priority: 0)\nlogger.debug do\n \"Polling, power = #{current_power}\"\nend\nif current_power\n mute_status\n video_input\nend\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/nec/display.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L129"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"logger.debug do\n \"requested to update mute to #{state}\"\nend\ndata = MsgType::SetParameter.build(Command::MuteStatus, state ? 1 : 0)\nresp = send(data, name: \"mute_audio\")\nresp\n"}},{"html_id":"mute_status(priority:Int32=0)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::MuteStatus), priority: priority, name: \"mute_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 120.milliseconds\nqueue.timeout = 5.seconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/display.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:power]? == state\n return\nend\nif state\n logger.debug do\n \"requested to power on\"\n end\n data = MsgType::Command.build(Command::SetPower, 1)\n send(data, name: \"power\", delay: 5.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n data = MsgType::Command.build(Command::SetPower, 4)\n send(data, name: \"power\", delay: 10.seconds, timeout: 10.seconds)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L73"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"data = MsgType::Command.build(Command::PowerQuery)\n(send(data, **options, name: \"power?\")).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerOnDelay), priority: priority, name: \"power_on_delay\")"}},{"html_id":"power_query(priority:Int32=0)-instance-method","name":"power_query","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"power_query","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerQuery), priority: priority, name: \"power_query\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/display.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L147"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"NEC sent: 0x#{data.hexstring}\"\nend\nheader = data[0..6]\nmessage = data[7..-3]\nchecksum = data[-2]\nbegin\n case MsgType.from_value(header[4])\n when .command_reply?\n parse_command_reply(message)\n when .get_parameter_reply?, .set_parameter_reply?\n parse_response(message)\n else\n raise(\"unknown message type\")\n end\nrescue e\n logger.warn(exception: e) do\n \"processing response\"\n end\n task.try(&.abort(e.message))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save(priority:Int32=0)-instance-method","name":"save","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"save","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::Save), priority: priority, name: \"save\")"}},{"html_id":"set_power(priority:Int32=0)-instance-method","name":"set_power","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"set_power","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::SetPower), priority: priority, name: \"set_power\")"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/display.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L99"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch audio to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::AudioInput, input.value)\nsend(data, name: \"audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/display.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L79"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::VideoInput, input.value)\nsend(data, name: \"input\", delay: 6.seconds)\n"}},{"html_id":"video_input(priority:Int32=0)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VideoInput), priority: priority, name: \"video_input\")"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/nec/display.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L122"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\ndata = MsgType::SetParameter.build(Command::VolumeStatus, val)\nsend(data, name: \"volume\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"volume_status(priority:Int32=0)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L262"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VolumeStatus), priority: priority, name: \"volume_status\")"}}],"types":[{"html_id":"drivers/Nec/Display/Audio","path":"Nec/Display/Audio.html","kind":"enum","full_name":"Nec::Display::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio1","name":"Audio1","value":"1"},{"id":"Audio2","name":"Audio2","value":"2"},{"id":"Audio3","name":"Audio3","value":"3"},{"id":"Hdmi","name":"Hdmi","value":"4"},{"id":"Tv","name":"Tv","value":"6"},{"id":"DisplayPort1","name":"DisplayPort1","value":"7"},{"id":"DisplayPort2","name":"DisplayPort2","value":"8"},{"id":"Hdmi2","name":"Hdmi2","value":"10"},{"id":"Hdmi3","name":"Hdmi3","value":"11"},{"id":"MultiPicture","name":"MultiPicture","value":"13"},{"id":"ComputeModule","name":"ComputeModule","value":"14"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio1?-instance-method","name":"audio1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L86"},"def":{"name":"audio1?","visibility":"Public","body":"self == Audio1"}},{"html_id":"audio2?-instance-method","name":"audio2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L87"},"def":{"name":"audio2?","visibility":"Public","body":"self == Audio2"}},{"html_id":"audio3?-instance-method","name":"audio3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L88"},"def":{"name":"audio3?","visibility":"Public","body":"self == Audio3"}},{"html_id":"compute_module?-instance-method","name":"compute_module?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L96"},"def":{"name":"compute_module?","visibility":"Public","body":"self == ComputeModule"}},{"html_id":"display_port1?-instance-method","name":"display_port1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L91"},"def":{"name":"display_port1?","visibility":"Public","body":"self == DisplayPort1"}},{"html_id":"display_port2?-instance-method","name":"display_port2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L92"},"def":{"name":"display_port2?","visibility":"Public","body":"self == DisplayPort2"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L93"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L94"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L89"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"multi_picture?-instance-method","name":"multi_picture?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L95"},"def":{"name":"multi_picture?","visibility":"Public","body":"self == MultiPicture"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L90"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}}]},{"html_id":"drivers/Nec/Display/Command","path":"Nec/Display/Command.html","kind":"enum","full_name":"Nec::Display::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L236"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VideoInput","name":"VideoInput","value":"96"},{"id":"AudioInput","name":"AudioInput","value":"558"},{"id":"VolumeStatus","name":"VolumeStatus","value":"98"},{"id":"MuteStatus","name":"MuteStatus","value":"141"},{"id":"PowerOnDelay","name":"PowerOnDelay","value":"728"},{"id":"ContrastStatus","name":"ContrastStatus","value":"18"},{"id":"BrightnessStatus","name":"BrightnessStatus","value":"16"},{"id":"AutoSetup","name":"AutoSetup","value":"30"},{"id":"PowerQuery","name":"PowerQuery","value":"470"},{"id":"Save","name":"Save","value":"12"},{"id":"SetPower","name":"SetPower","value":"12714966"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio_input?-instance-method","name":"audio_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L238"},"def":{"name":"audio_input?","visibility":"Public","body":"self == AudioInput"}},{"html_id":"auto_setup?-instance-method","name":"auto_setup?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L244"},"def":{"name":"auto_setup?","visibility":"Public","body":"self == AutoSetup"}},{"html_id":"brightness_status?-instance-method","name":"brightness_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L243"},"def":{"name":"brightness_status?","visibility":"Public","body":"self == BrightnessStatus"}},{"html_id":"contrast_status?-instance-method","name":"contrast_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L242"},"def":{"name":"contrast_status?","visibility":"Public","body":"self == ContrastStatus"}},{"html_id":"mute_status?-instance-method","name":"mute_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L240"},"def":{"name":"mute_status?","visibility":"Public","body":"self == MuteStatus"}},{"html_id":"power_on_delay?-instance-method","name":"power_on_delay?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L241"},"def":{"name":"power_on_delay?","visibility":"Public","body":"self == PowerOnDelay"}},{"html_id":"power_query?-instance-method","name":"power_query?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L245"},"def":{"name":"power_query?","visibility":"Public","body":"self == PowerQuery"}},{"html_id":"save?-instance-method","name":"save?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L246"},"def":{"name":"save?","visibility":"Public","body":"self == Save"}},{"html_id":"set_power?-instance-method","name":"set_power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L247"},"def":{"name":"set_power?","visibility":"Public","body":"self == SetPower"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L249"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"case self\nwhen .save?\n length = 2\nwhen .set_power?\n length = 6\nelse\n length = 4\nend\n(value.to_s(16, upcase: true)).rjust(length, '0')\n"}},{"html_id":"video_input?-instance-method","name":"video_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L237"},"def":{"name":"video_input?","visibility":"Public","body":"self == VideoInput"}},{"html_id":"volume_status?-instance-method","name":"volume_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L239"},"def":{"name":"volume_status?","visibility":"Public","body":"self == VolumeStatus"}}]},{"html_id":"drivers/Nec/Display/Input","path":"Nec/Display/Input.html","kind":"enum","full_name":"Nec::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"1"},{"id":"Rgbhv","name":"Rgbhv","value":"2"},{"id":"Dvi","name":"Dvi","value":"3"},{"id":"HdmiSet","name":"HdmiSet","value":"4"},{"id":"Video1","name":"Video1","value":"5"},{"id":"Video2","name":"Video2","value":"6"},{"id":"Svideo","name":"Svideo","value":"7"},{"id":"Tuner","name":"Tuner","value":"9"},{"id":"Tv","name":"Tv","value":"10"},{"id":"Dvd1","name":"Dvd1","value":"12"},{"id":"Option","name":"Option","value":"13"},{"id":"Dvd2","name":"Dvd2","value":"14"},{"id":"DisplayPort","name":"DisplayPort","value":"15"},{"id":"Hdmi","name":"Hdmi","value":"17"},{"id":"Hdmi2","name":"Hdmi2","value":"18"},{"id":"Hdmi3","name":"Hdmi3","value":"130"},{"id":"Usb","name":"Usb","value":"135"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L23"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvd1?-instance-method","name":"dvd1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L20"},"def":{"name":"dvd1?","visibility":"Public","body":"self == Dvd1"}},{"html_id":"dvd2?-instance-method","name":"dvd2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L22"},"def":{"name":"dvd2?","visibility":"Public","body":"self == Dvd2"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L13"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L25"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L26"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L24"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_set?-instance-method","name":"hdmi_set?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L14"},"def":{"name":"hdmi_set?","visibility":"Public","body":"self == HdmiSet"}},{"html_id":"option?-instance-method","name":"option?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L21"},"def":{"name":"option?","visibility":"Public","body":"self == Option"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == Rgbhv"}},{"html_id":"svideo?-instance-method","name":"svideo?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L17"},"def":{"name":"svideo?","visibility":"Public","body":"self == Svideo"}},{"html_id":"tuner?-instance-method","name":"tuner?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L18"},"def":{"name":"tuner?","visibility":"Public","body":"self == Tuner"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L19"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L27"},"def":{"name":"usb?","visibility":"Public","body":"self == Usb"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"video1?-instance-method","name":"video1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L15"},"def":{"name":"video1?","visibility":"Public","body":"self == Video1"}},{"html_id":"video2?-instance-method","name":"video2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L16"},"def":{"name":"video2?","visibility":"Public","body":"self == Video2"}}]},{"html_id":"drivers/Nec/Display/MsgType","path":"Nec/Display/MsgType.html","kind":"enum","full_name":"Nec::Display::MsgType","name":"MsgType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L270"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"65_u8"},{"id":"CommandReply","name":"CommandReply","value":"66_u8"},{"id":"GetParameter","name":"GetParameter","value":"67_u8"},{"id":"GetParameterReply","name":"GetParameterReply","value":"68_u8"},{"id":"SetParameter","name":"SetParameter","value":"69_u8"},{"id":"SetParameterReply","name":"SetParameterReply","value":"70_u8"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"doc":"Types of messages sent to and from the LCD","summary":"

Types of messages sent to and from the LCD

","instance_methods":[{"html_id":"build(command:Nec::Display::Command,data:Int|Nil=nil)-instance-method","name":"build","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"args_string":"(command : Nec::Display::Command, data : Int | Nil = nil)","args_html":"(command : Nec::Display::Command, data : Int | Nil = nil)","location":{"filename":"src/nec/display.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L278"},"def":{"name":"build","args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"visibility":"Public","body":"command = command.to_s\nmessage = String.build do |str|\n str << \"0*0\"\n str.write_byte(self.value)\n message_length = command.size + 2\n if data\n message_length = message_length + 4\n end\n str << ((message_length.to_s(16, upcase: true)).rjust(2, '0'))\n str.write_byte(2)\n str << command\n if data\n str << ((data.to_s(16, upcase: true)).rjust(4, '0'))\n end\n str.write_byte(3)\nend\nString.build do |str|\n str.write_byte(1)\n str << message\n str.write_byte(message.each_byte.reduce do |a, b|\n a ^ b\n end)\n str.write_byte(DELIMITER)\nend\n"}},{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L271"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"command_reply?-instance-method","name":"command_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L272"},"def":{"name":"command_reply?","visibility":"Public","body":"self == CommandReply"}},{"html_id":"get_parameter?-instance-method","name":"get_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L273"},"def":{"name":"get_parameter?","visibility":"Public","body":"self == GetParameter"}},{"html_id":"get_parameter_reply?-instance-method","name":"get_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L274"},"def":{"name":"get_parameter_reply?","visibility":"Public","body":"self == GetParameterReply"}},{"html_id":"set_parameter?-instance-method","name":"set_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L275"},"def":{"name":"set_parameter?","visibility":"Public","body":"self == SetParameter"}},{"html_id":"set_parameter_reply?-instance-method","name":"set_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/display.cr#L276"},"def":{"name":"set_parameter_reply?","visibility":"Public","body":"self == SetParameterReply"}}]}]},{"html_id":"drivers/Nec/Projector","path":"Nec/Projector.html","kind":"class","full_name":"Nec::Projector","name":"Projector","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{mute_picture: Bytes[2, 16, 0, 0, 0, 18], unmute_picture: Bytes[2, 17, 0, 0, 0, 19], mute_audio_cmd: Bytes[2, 18, 0, 0, 0, 20], unmute_audio_cmd: Bytes[2, 19, 0, 0, 0, 21], mute_onscreen: Bytes[2, 20, 0, 0, 0, 22], unmute_onscreen: Bytes[2, 21, 0, 0, 0, 23], freeze_picture: Bytes[1, 152, 0, 0, 1, 1], unfreeze_picture: Bytes[1, 152, 0, 0, 1, 2], \"lamp?\": Bytes[0, 129, 0, 0, 0, 129], \"input?\": Bytes[0, 133, 0, 0, 1, 2], \"mute?\": Bytes[0, 133, 0, 0, 1, 3], \"error?\": Bytes[0, 136, 0, 0, 0, 136], \"model?\": Bytes[0, 133, 0, 0, 1, 4], lamp_info: Bytes[3, 138, 0, 0, 0, 141], filter_info: Bytes[3, 138, 0, 0, 0, 141], projector_info: Bytes[3, 138, 0, 0, 0, 141], background_black: Bytes[3, 177, 0, 0, 2, 11, 1], background_blue: Bytes[3, 177, 0, 0, 2, 11, 0], background_logo: Bytes[3, 177, 0, 0, 2, 11, 2]}","doc":"Command Listing\nSecond byte used to detect command type","summary":"

Command Listing Second byte used to detect command type

"},{"id":"ERROR_CODES","name":"ERROR_CODES","value":"[{1 => \"Lamp cover error\", 2 => \"Temperature error (Bimetal)\", 8 => \"Fan Error\", 16 => \"Fan Error\", 32 => \"Power Error\", 64 => \"Lamp Error\", 128 => \"Lamp has reached its end of life\"}, {1 => \"Lamp has been used beyond its limit\", 2 => \"Formatter error\", 4 => \"Lamp no.2 Error\"}, {2 => \"FPGA error\", 4 => \"Temperature error (Sensor)\", 8 => \"Lamp housing error\", 16 => \"Lamp data error\", 32 => \"Mirror cover error\", 64 => \"Lamp no.2 has reached its end of life\", 128 => \"Lamp no.2 has been used beyond its limit\"}, {1 => \"Lamp no.2 housing error\", 2 => \"Lamp no.2 data error\", 4 => \"High temperature due to dust pile-up\", 8 => \"A foreign object sensor error\"}]","doc":"Provide all the error info required","summary":"

Provide all the error info required

"},{"id":"INPUT_MAP","name":"INPUT_MAP","value":"{1 => {1 => Input::VGA, 2 => Input::Composite, 3 => Input::SVideo, 6 => Input::HDMI, 7 => Input::Viewer, 33 => Input::HDMI, 34 => Input::DisplayPort}, 2 => {1 => Input::RGBHV, 4 => Input::Component2, 6 => Input::HDMI2, 7 => Input::LAN, 33 => Input::HDMI2}, 3 => {4 => Input::Component}}","doc":"NEC has different values for the input status when compared to input selection","summary":"

NEC has different values for the input status when compared to input selection

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"background_black(**options)-instance-method","name":"background_black","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_black","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_black\"], **options, name: \"background_black\")"}},{"html_id":"background_blue(**options)-instance-method","name":"background_blue","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_blue","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_blue\"], **options, name: \"background_blue\")"}},{"html_id":"background_logo(**options)-instance-method","name":"background_logo","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"background_logo","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_logo\"], **options, name: \"background_logo\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L59"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nself[:power] = false\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L186"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?(priority: 0)\n background_black(priority: 0)\n lamp_info(priority: 0)\nend"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"error?\"], **options, name: \"error?\")"}},{"html_id":"filter_info(**options)-instance-method","name":"filter_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"filter_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"filter_info\"], **options, name: \"filter_info\")"}},{"html_id":"freeze_picture(**options)-instance-method","name":"freeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"freeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"freeze_picture\"], **options, name: \"freeze_picture\")"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"input?\"], **options, name: \"input?\")"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp?\"], **options, name: \"lamp?\")"}},{"html_id":"lamp_info(**options)-instance-method","name":"lamp_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"lamp_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp_info\"], **options, name: \"lamp_info\")"}},{"html_id":"model?(**options)-instance-method","name":"model?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"model?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"model?\"], **options, name: \"model?\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/nec/np_series.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L118"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n if state\n mute_picture\n mute_onscreen\n else\n unmute_picture\n end\nend\nif layer.audio? || layer.audio_video?\n state ? mute_audio_cmd : unmute_audio_cmd\nend\n"}},{"html_id":"mute?(**options)-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute?\"], **options, name: \"mute?\")"}},{"html_id":"mute_audio_cmd(**options)-instance-method","name":"mute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_audio_cmd\"], **options, name: \"mute_audio_cmd\")"}},{"html_id":"mute_onscreen(**options)-instance-method","name":"mute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_onscreen\"], **options, name: \"mute_onscreen\")"}},{"html_id":"mute_picture(**options)-instance-method","name":"mute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"mute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_picture\"], **options, name: \"mute_picture\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nself[:error] = [] of String\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@power_target = nil\n@input_target = nil\n@volume_min = setting(Int32, :volume_min)\n@volume_max = setting(Int32, :volume_max)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/np_series.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L155"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n command = Bytes[2, 0, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 15.seconds, delay: 1.second)\nelse\n command = Bytes[2, 1, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 60.seconds, delay: 30.seconds, clear_queue: true, priority: 100)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L175"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(COMMAND[:\"lamp?\"], **options, name: \"power?\")).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"projector_info(**options)-instance-method","name":"projector_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"projector_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"projector_info\"], **options, name: \"projector_info\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/np_series.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L292"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(data, task)"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/np_series.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L149"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"command = Bytes[3, 177, 0, 0, 2, 192, input.value]\ndo_send(command, name: \"switch_audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/np_series.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L180"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ncommand = Bytes[2, 3, 0, 0, 2, 1, input.value]\ndo_send(command, name: \"input\")\n"}},{"html_id":"unfreeze_picture(**options)-instance-method","name":"unfreeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unfreeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unfreeze_picture\"], **options, name: \"unfreeze_picture\")"}},{"html_id":"unmute_audio_cmd(**options)-instance-method","name":"unmute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_audio_cmd\"], **options, name: \"unmute_audio_cmd\")"}},{"html_id":"unmute_onscreen(**options)-instance-method","name":"unmute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_onscreen\"], **options, name: \"unmute_onscreen\")"}},{"html_id":"unmute_picture(**options)-instance-method","name":"unmute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L97"},"def":{"name":"unmute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_picture\"], **options, name: \"unmute_picture\")"}},{"html_id":"volume(vol:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"args_string":"(vol : Int32 | Float64)","args_html":"(vol : Int32 | Float64)","location":{"filename":"src/nec/np_series.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L103"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ncommand = Bytes[3, 16, 0, 0, 5, 5, 0, 0, vol, 0]\ndo_send(command)\n"}}],"types":[{"html_id":"drivers/Nec/Projector/Audio","path":"Nec/Projector/Audio.html","kind":"enum","full_name":"Nec::Projector::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L144"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"VGA","name":"VGA","value":"1"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L145"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L146"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]},{"html_id":"drivers/Nec/Projector/Input","path":"Nec/Projector/Input.html","kind":"enum","full_name":"Nec::Projector::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VGA","name":"VGA","value":"1"},{"id":"RGBHV","name":"RGBHV","value":"2"},{"id":"Composite","name":"Composite","value":"6"},{"id":"SVideo","name":"SVideo","value":"11"},{"id":"Component","name":"Component","value":"16"},{"id":"Component2","name":"Component2","value":"17"},{"id":"HDMI","name":"HDMI","value":"26"},{"id":"HDMI2","name":"HDMI2","value":"27"},{"id":"DisplayPort","name":"DisplayPort","value":"166"},{"id":"LAN","name":"LAN","value":"32"},{"id":"Viewer","name":"Viewer","value":"31"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"component2?-instance-method","name":"component2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L16"},"def":{"name":"component2?","visibility":"Public","body":"self == Component2"}},{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L15"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L13"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L19"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L17"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"lan?-instance-method","name":"lan?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L20"},"def":{"name":"lan?","visibility":"Public","body":"self == LAN"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == RGBHV"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L14"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}},{"html_id":"viewer?-instance-method","name":"viewer?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L21"},"def":{"name":"viewer?","visibility":"Public","body":"self == Viewer"}}]},{"html_id":"drivers/Nec/Projector/Response","path":"Nec/Projector/Response.html","kind":"enum","full_name":"Nec::Projector::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L209"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"8321_u16"},{"id":"InputOrMuteQuery","name":"InputOrMuteQuery","value":"8325_u16"},{"id":"Error","name":"Error","value":"8328_u16"},{"id":"InputSwitch","name":"InputSwitch","value":"8707_u16"},{"id":"Lamp","name":"Lamp","value":"8704_u16"},{"id":"Lamp2","name":"Lamp2","value":"8705_u16"},{"id":"PictureMuteOn","name":"PictureMuteOn","value":"8720_u16"},{"id":"PictureMuteOff","name":"PictureMuteOff","value":"8721_u16"},{"id":"AudioMuteOn","name":"AudioMuteOn","value":"8722_u16"},{"id":"AudioMuteOff","name":"AudioMuteOff","value":"8723_u16"},{"id":"OnscreenMuteOn","name":"OnscreenMuteOn","value":"8724_u16"},{"id":"OnscreenMuteOff","name":"OnscreenMuteOff","value":"8725_u16"},{"id":"VolumeOrImageAdjust","name":"VolumeOrImageAdjust","value":"8976_u16"},{"id":"Info","name":"Info","value":"9098_u16"},{"id":"AudioSwitch","name":"AudioSwitch","value":"9137_u16"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"doc":"TODO: add responses for freeze commands if we need to process them","summary":"

TODO add responses for freeze commands if we need to process them

","class_methods":[{"html_id":"from_bytes?(response)-class-method","name":"from_bytes?","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/nec/np_series.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L226"},"def":{"name":"from_bytes?","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"value = (IO::Memory.new(response[0..1])).read_bytes(UInt16, IO::ByteFormat::BigEndian)\nResponse.from_value?(value)\n"}}],"instance_methods":[{"html_id":"audio_mute_off?-instance-method","name":"audio_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L219"},"def":{"name":"audio_mute_off?","visibility":"Public","body":"self == AudioMuteOff"}},{"html_id":"audio_mute_on?-instance-method","name":"audio_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L218"},"def":{"name":"audio_mute_on?","visibility":"Public","body":"self == AudioMuteOn"}},{"html_id":"audio_switch?-instance-method","name":"audio_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L224"},"def":{"name":"audio_switch?","visibility":"Public","body":"self == AudioSwitch"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L212"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L223"},"def":{"name":"info?","visibility":"Public","body":"self == Info"}},{"html_id":"input_or_mute_query?-instance-method","name":"input_or_mute_query?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L211"},"def":{"name":"input_or_mute_query?","visibility":"Public","body":"self == InputOrMuteQuery"}},{"html_id":"input_switch?-instance-method","name":"input_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L213"},"def":{"name":"input_switch?","visibility":"Public","body":"self == InputSwitch"}},{"html_id":"lamp2?-instance-method","name":"lamp2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L215"},"def":{"name":"lamp2?","visibility":"Public","body":"self == Lamp2"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L214"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"onscreen_mute_off?-instance-method","name":"onscreen_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L221"},"def":{"name":"onscreen_mute_off?","visibility":"Public","body":"self == OnscreenMuteOff"}},{"html_id":"onscreen_mute_on?-instance-method","name":"onscreen_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L220"},"def":{"name":"onscreen_mute_on?","visibility":"Public","body":"self == OnscreenMuteOn"}},{"html_id":"picture_mute_off?-instance-method","name":"picture_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L217"},"def":{"name":"picture_mute_off?","visibility":"Public","body":"self == PictureMuteOff"}},{"html_id":"picture_mute_on?-instance-method","name":"picture_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L216"},"def":{"name":"picture_mute_on?","visibility":"Public","body":"self == PictureMuteOn"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L210"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"volume_or_image_adjust?-instance-method","name":"volume_or_image_adjust?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/nec/np_series.cr#L222"},"def":{"name":"volume_or_image_adjust?","visibility":"Public","body":"self == VolumeOrImageAdjust"}}]}]}]},{"html_id":"drivers/OfficeRnd","path":"OfficeRnd.html","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd","abstract":false,"locations":[{"filename":"src/office_rnd/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L4"},{"filename":"src/office_rnd/office_rnd_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"OfficeRnD Data Models","summary":"

OfficeRnD Data Models

","types":[{"html_id":"drivers/OfficeRnd/Booking","path":"OfficeRnd/Booking.html","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L88"},"def":{"name":"new","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(resource_id, booking_start, booking_end, summary, team_id, member_id, description, tentative, free)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_end:BookingTime-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L70"},"def":{"name":"booking_end","return_type":"BookingTime","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_start:BookingTime-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L68"},"def":{"name":"booking_start","return_type":"BookingTime","visibility":"Public","body":"@booking_start"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L82"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"extras:JSON::Any-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L86"},"def":{"name":"extras","return_type":"JSON::Any","visibility":"Public","body":"@extras"}},{"html_id":"fees:Array(OfficeRnd::BookingFee)-instance-method","name":"fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L85"},"def":{"name":"fees","return_type":"Array(::OfficeRnd::BookingFee)","visibility":"Public","body":"@fees"}},{"html_id":"free:Bool|Nil-instance-method","name":"free","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L84"},"def":{"name":"free","return_type":"Bool | ::Nil","visibility":"Public","body":"@free"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L81"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"overlaps?(time_span:Range(Time,Time))-instance-method","name":"overlaps?","abstract":false,"args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"args_string":"(time_span : Range(Time, Time))","args_html":"(time_span : Range(Time, Time))","location":{"filename":"src/office_rnd/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L106"},"def":{"name":"overlaps?","args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"visibility":"Public","body":"starting, ending = booking_start.time, booking_end.time\nwithin = (time_span.includes?(starting)) || (time_span.includes?(ending))\ncovers = starting < time_span.begin && ending > time_span.end\nwithin || covers\n"}},{"html_id":"plan_id:String-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L77"},"def":{"name":"plan_id","return_type":"String","visibility":"Public","body":"@plan_id"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L75"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L72"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"summary:String|Nil-instance-method","name":"summary","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L73"},"def":{"name":"summary","return_type":"String | ::Nil","visibility":"Public","body":"@summary"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L79"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"tentative:Bool|Nil-instance-method","name":"tentative","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L83"},"def":{"name":"tentative","return_type":"Bool | ::Nil","visibility":"Public","body":"@tentative"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L71"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/BookingFee","path":"OfficeRnd/BookingFee.html","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"credits:Array(Credit)-instance-method","name":"credits","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L63"},"def":{"name":"credits","return_type":"Array(Credit)","visibility":"Public","body":"@credits"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L59"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"extra_fees:Array(JSON::Any|Nil)-instance-method","name":"extra_fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L62"},"def":{"name":"extra_fees","return_type":"Array(JSON::Any | ::Nil)","visibility":"Public","body":"@extra_fees"}},{"html_id":"fee:Fee|Nil-instance-method","name":"fee","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L60"},"def":{"name":"fee","return_type":"Fee | ::Nil","visibility":"Public","body":"@fee"}}]},{"html_id":"drivers/OfficeRnd/BookingTime","path":"OfficeRnd/BookingTime.html","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/office_rnd/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L35"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L33"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}}]},{"html_id":"drivers/OfficeRnd/Credit","path":"OfficeRnd/Credit.html","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L116"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"credit:String-instance-method","name":"credit","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L117"},"def":{"name":"credit","return_type":"String","visibility":"Public","body":"@credit"}}]},{"html_id":"drivers/OfficeRnd/Data","path":"OfficeRnd/Data.html","kind":"struct","full_name":"OfficeRnd::Data","name":"Data","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/OfficeRnd/Booking","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking"},{"html_id":"drivers/OfficeRnd/BookingFee","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee"},{"html_id":"drivers/OfficeRnd/BookingTime","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime"},{"html_id":"drivers/OfficeRnd/Credit","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit"},{"html_id":"drivers/OfficeRnd/Fee","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee"},{"html_id":"drivers/OfficeRnd/Floor","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor"},{"html_id":"drivers/OfficeRnd/Office","kind":"struct","full_name":"OfficeRnd::Office","name":"Office"},{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy"},{"html_id":"drivers/OfficeRnd/Rate/Extra","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra"},{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},{"html_id":"drivers/OfficeRnd/TokenResponse","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}]},{"html_id":"drivers/OfficeRnd/Fee","path":"OfficeRnd/Fee.html","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bill_in_advance:Bool|Nil-instance-method","name":"bill_in_advance","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L53"},"def":{"name":"bill_in_advance","return_type":"Bool | ::Nil","visibility":"Public","body":"@bill_in_advance"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L42"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"is_personal:Bool|Nil-instance-method","name":"is_personal","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L55"},"def":{"name":"is_personal","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_personal"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L48"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L39"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L46"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"plan_id:String|Nil-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L50"},"def":{"name":"plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@plan_id"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L40"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}},{"html_id":"quantity:Int32-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L41"},"def":{"name":"quantity","return_type":"Int32","visibility":"Public","body":"@quantity"}},{"html_id":"refundable:Bool|Nil-instance-method","name":"refundable","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L51"},"def":{"name":"refundable","return_type":"Bool | ::Nil","visibility":"Public","body":"@refundable"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L44"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}}]},{"html_id":"drivers/OfficeRnd/Floor","path":"OfficeRnd/Floor.html","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area:Int32|Nil-instance-method","name":"area","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L196"},"def":{"name":"area","return_type":"Int32 | ::Nil","visibility":"Public","body":"@area"}},{"html_id":"floor:String|Nil-instance-method","name":"floor","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L192"},"def":{"name":"floor","return_type":"String | ::Nil","visibility":"Public","body":"@floor"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L191"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L198"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L193"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L195"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"target_revenue:Int32|Nil-instance-method","name":"target_revenue","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L200"},"def":{"name":"target_revenue","return_type":"Int32 | ::Nil","visibility":"Public","body":"@target_revenue"}}]},{"html_id":"drivers/OfficeRnd/Office","path":"OfficeRnd/Office.html","kind":"struct","full_name":"OfficeRnd::Office","name":"Office","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L24"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"city:String|Nil-instance-method","name":"city","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L23"},"def":{"name":"city","return_type":"String | ::Nil","visibility":"Public","body":"@city"}},{"html_id":"country:String|Nil-instance-method","name":"country","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L21"},"def":{"name":"country","return_type":"String | ::Nil","visibility":"Public","body":"@country"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image:String|Nil-instance-method","name":"image","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L26"},"def":{"name":"image","return_type":"String | ::Nil","visibility":"Public","body":"@image"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L28"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L20"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"state:String|Nil-instance-method","name":"state","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L22"},"def":{"name":"state","return_type":"String | ::Nil","visibility":"Public","body":"@state"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L25"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/OfficeRndAPI","path":"OfficeRnd/OfficeRndAPI.html","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"instance_methods":[{"html_id":"booking(booking_id:String)-instance-method","name":"booking","doc":"Get a booking\n","summary":"

Get a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L130"},"def":{"name":"booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/bookings/#{booking_id}\", Booking)"}},{"html_id":"bookings(office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil)-instance-method","name":"bookings","doc":"Get bookings\n","summary":"

Get bookings

","abstract":false,"args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","args_html":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L136"},"def":{"name":"bookings","args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif member_id\n params[\"member\"] = member_id\nend\nif team_id\n params[\"team\"] = team_id\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/bookings\" : \"/bookings?#{query_string}\"\nget_request(path, Array(Booking))\n"}},{"html_id":"create_booking(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-instance-method","name":"create_booking","doc":"Create a booking\n","summary":"

Create a booking

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L164"},"def":{"name":"create_booking","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"create_bookings([Booking.new(resource_id: resource_id, booking_start: booking_start, booking_end: booking_end, summary: summary, team_id: team_id, member_id: member_id, description: description, tentative: tentative, free: free)])"}},{"html_id":"create_bookings(bookings:Array(Booking))-instance-method","name":"create_bookings","doc":"Make a booking\n","summary":"

Make a booking

","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L158"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"post_request(\"/bookings\", body: bookings.to_json)"}},{"html_id":"create_bookings(bookings:Array(BookingArgument))-instance-method","name":"create_bookings","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"args_string":"(bookings : Array(BookingArgument))","args_html":"(bookings : Array(BookingArgument))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L200"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"visibility":"Public","body":"create_bookings(bookings.map do |booking|\n Booking.new(**booking)\nend)"}},{"html_id":"delete_booking(booking_id:String)-instance-method","name":"delete_booking","doc":"Delete a booking\n","summary":"

Delete a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L152"},"def":{"name":"delete_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"!(!(delete_request(\"/bookings/#{booking_id}\")))"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(floor_id:String)-instance-method","name":"floor","doc":"Get a floor\n","summary":"

Get a floor

","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L89"},"def":{"name":"floor","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"path = \"/floors/#{floor_id}\"\nget_request(path, Floor)\n"}},{"html_id":"floors(office_id:String|Nil,name:String|Nil)-instance-method","name":"floors","doc":"Get floors\n","summary":"

Get floors

","abstract":false,"args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil, name : String | Nil)","args_html":"(office_id : String | Nil, name : String | Nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L96"},"def":{"name":"floors","args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif name\n params[\"name\"] = name\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/floors\" : \"/floors?#{query_string}\"\nget_request(path, Array(Floor))\n"}},{"html_id":"get_header-instance-method","name":"get_header","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L77"},"def":{"name":"get_header","visibility":"Public","body":"headers = {\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nauth_route = @test_auth ? \"http://localhost:17839/oauth/token\" : \"https://identity.officernd.com/oauth/token\"\nparams = HTTP::Params.encode({\"client_id\" => @client_id, \"client_secret\" => @client_secret, \"grant_type\" => \"client_credentials\", \"scope\" => @scopes.join(' ')})\nheaders = HTTP::Headers {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"}\nresponse = HTTP::Client.post(url: auth_route, headers: headers, body: params)\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body)\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"office(name:String)-instance-method","name":"office","doc":"Retrieve office\n","summary":"

Retrieve office

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L216"},"def":{"name":"office","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"path = \"/offices/#{name}\"\nget_request(path, Array(Office))\n"}},{"html_id":"offices-instance-method","name":"offices","doc":"List offices\n","summary":"

List offices

","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L209"},"def":{"name":"offices","visibility":"Public","body":"path = \"/offices\"\nget_request(path, Array(Office))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\n@test_auth = setting(Bool, :test_auth)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@client_id = setting(String, :client_id)\n@client_secret = setting(String, :client_secret)\n@scopes = setting(Array(String), :scopes)\n"}},{"html_id":"resource_bookings(resource_id:String,range_start:Time=Time.utc-5.minutes,range_end:Time=Time.utc+24.hours,office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil):Array(Booking)-instance-method","name":"resource_bookings","doc":"Get bookings for a resource for a given time span\n","summary":"

Get bookings for a resource for a given time span

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","args_html":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L110"},"def":{"name":"resource_bookings","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"return_type":"Array(Booking)","visibility":"Public","body":"time_span = (range_start..range_end)\nbookings(office_id: office_id, member_id: member_id, team_id: team_id).select! do |booking|\n (booking.resource_id == resource_id) && (booking.overlaps?(time_span))\nend\n"}},{"html_id":"resources(type:Resource::Type|String|Nil=nil,name:String|Nil=nil,office_id:String|Nil=nil,available_from:Time|Nil=nil,available_to:Time|Nil=nil)-instance-method","name":"resources","doc":"Get available rooms (resources) by\n- type\n- date range (available_from, available_to)\n- office (office_id)\n- resource name (name)","summary":"

Get available rooms (resources) by - type - date range (available_from, available_to) - office (office_id) - resource name (name)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"args_string":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","args_html":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L229"},"def":{"name":"resources","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"visibility":"Public","body":"if type.is_a?(String)\n type = Resource::Type.parse(type)\nend\nparams = HTTP::Params.new\nif type\n params[\"type\"] = type.to_s\nend\nif name\n params[\"name\"] = name\nend\nif office_id\n params[\"office\"] = office_id\nend\nif available_from\n params[\"availableFrom\"] = available_from.to_s\nend\nif available_to\n params[\"availableTo\"] = available_to.to_s\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/resources\" : \"/resources?#{query_string}\"\nget_request(path, Array(Resource))\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}}],"types":[{"html_id":"drivers/OfficeRnd/OfficeRndAPI/BookingArgument","path":"OfficeRnd/OfficeRndAPI/BookingArgument.html","kind":"alias","full_name":"OfficeRnd::OfficeRndAPI::BookingArgument","name":"BookingArgument","abstract":false,"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/office_rnd_api.cr#L188"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(resource_id: String, booking_start: Time, booking_end: Time, summary: String | Nil, team_id: String | Nil, member_id: String | Nil, description: String | Nil, tentative: Bool | Nil, free: Bool | Nil)","aliased_html":"{resource_id: String, booking_start: Time, booking_end: Time, summary: String?, team_id: String?, member_id: String?, description: String?, tentative: Bool?, free: Bool?}","const":false,"namespace":{"html_id":"drivers/OfficeRnd/OfficeRndAPI","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI"}}]},{"html_id":"drivers/OfficeRnd/Rate","path":"OfficeRnd/Rate.html","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L120"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancellation_policy:CancellationPolicy-instance-method","name":"cancellation_policy","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L126"},"def":{"name":"cancellation_policy","return_type":"CancellationPolicy","visibility":"Public","body":"@cancellation_policy"}},{"html_id":"extras:Array(Extra)-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L127"},"def":{"name":"extras","return_type":"Array(Extra)","visibility":"Public","body":"@extras"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L122"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"max_duration:Int32-instance-method","name":"max_duration","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L129"},"def":{"name":"max_duration","return_type":"Int32","visibility":"Public","body":"@max_duration"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L123"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L124"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}],"types":[{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","path":"OfficeRnd/Rate/CancellationPolicy.html","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L131"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"minimum_period:Int32-instance-method","name":"minimum_period","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period","return_type":"Int32","visibility":"Public","body":"@minimum_period"}},{"html_id":"minimum_period=(minimum_period:Int32)-instance-method","name":"minimum_period=","abstract":false,"args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"args_string":"(minimum_period : Int32)","args_html":"(minimum_period : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period=","args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"visibility":"Public","body":"@minimum_period = minimum_period"}}]},{"html_id":"drivers/OfficeRnd/Rate/Extra","path":"OfficeRnd/Rate/Extra.html","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L138"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L139"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L140"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}]}]},{"html_id":"drivers/OfficeRnd/Resource","path":"OfficeRnd/Resource.html","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L144"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAPPING","name":"MAPPING","value":"{Type::MeetingRoom => \"meeting_room\", Type::PrivateOffices => \"team_room\", Type::PrivateOfficeDesk => \"desk_tr\", Type::DedicatedDesks => \"desk\", Type::HotDesks => \"hotdesk\"}"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L144"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L151"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L145"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L149"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"rate_id:String|Nil-instance-method","name":"rate_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L147"},"def":{"name":"rate_id","return_type":"String | ::Nil","visibility":"Public","body":"@rate_id"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L152"},"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}}],"types":[{"html_id":"drivers/OfficeRnd/Resource/Type","path":"OfficeRnd/Resource/Type.html","kind":"enum","full_name":"OfficeRnd::Resource::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L162"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MeetingRoom","name":"MeetingRoom","value":"0"},{"id":"PrivateOffices","name":"PrivateOffices","value":"1"},{"id":"PrivateOfficeDesk","name":"PrivateOfficeDesk","value":"2"},{"id":"DedicatedDesks","name":"DedicatedDesks","value":"3"},{"id":"HotDesks","name":"HotDesks","value":"4"}],"namespace":{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},"class_methods":[{"html_id":"parse(type:String)-class-method","name":"parse","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L177"},"def":{"name":"parse","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"parsed = Resource::MAPPING.key_for?(type)\nif parsed\nelse\n raise(ArgumentError.new(\"Unrecognised Resource::Type '#{type}'\"))\nend\nparsed\n"}},{"html_id":"valid?(type:String)-class-method","name":"valid?","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L183"},"def":{"name":"valid?","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"!(!(Resource::MAPPING.key_for?(type)))"}}],"instance_methods":[{"html_id":"dedicated_desks?-instance-method","name":"dedicated_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L166"},"def":{"name":"dedicated_desks?","visibility":"Public","body":"self == DedicatedDesks"}},{"html_id":"hot_desks?-instance-method","name":"hot_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L167"},"def":{"name":"hot_desks?","visibility":"Public","body":"self == HotDesks"}},{"html_id":"meeting_room?-instance-method","name":"meeting_room?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L163"},"def":{"name":"meeting_room?","visibility":"Public","body":"self == MeetingRoom"}},{"html_id":"private_office_desk?-instance-method","name":"private_office_desk?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L165"},"def":{"name":"private_office_desk?","visibility":"Public","body":"self == PrivateOfficeDesk"}},{"html_id":"private_offices?-instance-method","name":"private_offices?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L164"},"def":{"name":"private_offices?","visibility":"Public","body":"self == PrivateOffices"}},{"html_id":"to_json(json:JSON::Builder)-instance-method","name":"to_json","doc":"Serializes this enum member by name.\n\nFor non-flags enums, the serialization is a JSON string. The value is the\nmember name (see `#to_s`) transformed with `String#underscore`.\n\n```\nenum Stages\n INITIAL\n SECOND_STAGE\nend\n\nStages::INITIAL.to_json # => %(\"initial\")\nStages::SECOND_STAGE.to_json # => %(\"second_stage\")\n```\n\nFor flags enums, the serialization is a JSON array including every flagged\nmember individually serialized in the same way as a member of a non-flags enum.\n`None` is serialized as an empty array, `All` as an array containing\nall members.\n\n```\n@[Flags]\nenum Sides\n LEFT\n RIGHT\nend\n\nSides::LEFT.to_json # => %([\"left\"])\n(Sides::LEFT | Sides::RIGHT).to_json # => %([\"left\",\"right\"])\nSides::All.to_json # => %([\"left\",\"right\"])\nSides::None.to_json # => %([])\n```\n\n`ValueConverter.to_json` offers a different serialization strategy based on the\nmember value.","summary":"

Serializes this enum member by name.

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(json : JSON::Builder)","args_html":"(json : JSON::Builder)","location":{"filename":"src/office_rnd/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L173"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(self.to_s)"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L169"},"def":{"name":"to_s","visibility":"Public","body":"Resource::MAPPING[self]"}}]}]},{"html_id":"drivers/OfficeRnd/TokenResponse","path":"OfficeRnd/TokenResponse.html","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L11"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L11"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"scope:String-instance-method","name":"scope","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L14"},"def":{"name":"scope","return_type":"String","visibility":"Public","body":"@scope"}},{"html_id":"scope=(scope:String)-instance-method","name":"scope=","abstract":false,"args":[{"name":"scope","external_name":"scope","restriction":"String"}],"args_string":"(scope : String)","args_html":"(scope : String)","location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L14"},"def":{"name":"scope=","args":[{"name":"scope","external_name":"scope","restriction":"String"}],"visibility":"Public","body":"@scope = scope"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L12"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/office_rnd/models.cr#L12"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]}]},{"html_id":"drivers/OpenAI","path":"OpenAI.html","kind":"module","full_name":"OpenAI","name":"OpenAI","abstract":false,"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L3"},{"filename":"src/open_ai/models/edit_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L4"},{"filename":"src/open_ai/models/model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L3"},{"filename":"src/open_ai/models/text_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/OpenAI/ChatCompletion","path":"OpenAI/ChatCompletion.html","kind":"struct","full_name":"OpenAI::ChatCompletion","name":"ChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(MessageChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L95"},"def":{"name":"choices","return_type":"Array(MessageChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L93"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L90"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L96"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/CreateChatCompletion","path":"OpenAI/CreateChatCompletion.html","kind":"class","full_name":"OpenAI::CreateChatCompletion","name":"CreateChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/chat/completions","summary":"

POST https://api.openai.com/v1/chat/completions

","constructors":[{"html_id":"new(model:String,messages:Array(OpenAI::Message))-class-method","name":"new","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"args_string":"(model : String, messages : Array(OpenAI::Message))","args_html":"(model : String, messages : Array(OpenAI::Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L30"},"def":{"name":"new","args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(model, messages)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"messages:Array(Message)-instance-method","name":"messages","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages","return_type":"Array(Message)","visibility":"Public","body":"@messages"}},{"html_id":"messages=(messages:Array(Message))-instance-method","name":"messages=","abstract":false,"args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"args_string":"(messages : Array(Message))","args_html":"(messages : Array(Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages=","args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"visibility":"Public","body":"@messages = messages"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/CreateEditCompletion","path":"OpenAI/CreateEditCompletion.html","kind":"class","full_name":"OpenAI::CreateEditCompletion","name":"CreateEditCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/edit_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/edits","summary":"

POST https://api.openai.com/v1/edits

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"input:String-instance-method","name":"input","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input","return_type":"String","visibility":"Public","body":"@input"}},{"html_id":"input=(input:String)-instance-method","name":"input=","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input=","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"@input = input"}},{"html_id":"instruction:String-instance-method","name":"instruction","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction","return_type":"String","visibility":"Public","body":"@instruction"}},{"html_id":"instruction=(instruction:String)-instance-method","name":"instruction=","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"args_string":"(instruction : String)","args_html":"(instruction : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction=","args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"visibility":"Public","body":"@instruction = instruction"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}}]},{"html_id":"drivers/OpenAI/CreateTextCompletion","path":"OpenAI/CreateTextCompletion.html","kind":"class","full_name":"OpenAI::CreateTextCompletion","name":"CreateTextCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/completions","summary":"

POST https://api.openai.com/v1/completions

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"best_of:Int32-instance-method","name":"best_of","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of","return_type":"Int32","visibility":"Public","body":"@best_of"}},{"html_id":"best_of=(best_of:Int32)-instance-method","name":"best_of=","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"args_string":"(best_of : Int32)","args_html":"(best_of : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of=","args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"visibility":"Public","body":"@best_of = best_of"}},{"html_id":"echo:Bool-instance-method","name":"echo","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo","return_type":"Bool","visibility":"Public","body":"@echo"}},{"html_id":"echo=(echo:Bool)-instance-method","name":"echo=","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"args_string":"(echo : Bool)","args_html":"(echo : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo=","args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"visibility":"Public","body":"@echo = echo"}},{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"logprobs:Int32|Nil-instance-method","name":"logprobs","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs","return_type":"Int32 | ::Nil","visibility":"Public","body":"@logprobs"}},{"html_id":"logprobs=(logprobs:Int32|Nil)-instance-method","name":"logprobs=","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"args_string":"(logprobs : Int32 | Nil)","args_html":"(logprobs : Int32 | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs=","args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@logprobs = logprobs"}},{"html_id":"max_tokens:Int32-instance-method","name":"max_tokens","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens","return_type":"Int32","visibility":"Public","body":"@max_tokens"}},{"html_id":"max_tokens=(max_tokens:Int32)-instance-method","name":"max_tokens=","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"args_string":"(max_tokens : Int32)","args_html":"(max_tokens : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens=","args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"visibility":"Public","body":"@max_tokens = max_tokens"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"prompt:String|Array(String)|Nil-instance-method","name":"prompt","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@prompt"}},{"html_id":"prompt=(prompt:String|Array(String)|Nil)-instance-method","name":"prompt=","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"args_string":"(prompt : String | Array(String) | Nil)","args_html":"(prompt : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt=","args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@prompt = prompt"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"suffix:String|Nil-instance-method","name":"suffix","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix","return_type":"String | ::Nil","visibility":"Public","body":"@suffix"}},{"html_id":"suffix=(suffix:String|Nil)-instance-method","name":"suffix=","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"args_string":"(suffix : String | Nil)","args_html":"(suffix : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix=","args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"visibility":"Public","body":"@suffix = suffix"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/GPT","path":"OpenAI/GPT.html","kind":"class","full_name":"OpenAI::GPT","name":"GPT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/gpt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"chat(model:String,message:Message|Array(Message))-instance-method","name":"chat","doc":"creates a completion for the chat message","summary":"

creates a completion for the chat message

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"args_string":"(model : String, message : Message | Array(Message))","args_html":"(model : String, message : Message | Array(Message))","location":{"filename":"src/open_ai/gpt.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L82"},"def":{"name":"chat","args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"visibility":"Public","body":"messages = message.is_a?(Array) ? message : [message]\nchat = CreateChatCompletion.new(model, messages)\nresponse = check(post(\"/v1/chat/completions\", body: chat.to_json))\nchat = ChatCompletion.from_json(response.body)\nupdate_token(chat.usage)\nchat.choices\n"}},{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L41"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"model(id:String)-instance-method","name":"model","doc":"returns the details of the provided model id","summary":"

returns the details of the provided model id

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/open_ai/gpt.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L76"},"def":{"name":"model","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = check(get(\"/v1/models/#{id}\"))\nModel.from_json(response.body)\n"}},{"html_id":"models-instance-method","name":"models","doc":"returns the available models for the current key","summary":"

returns the available models for the current key

","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L70"},"def":{"name":"models","visibility":"Public","body":"response = check(get(\"/v1/models\"))\n(List(Model).from_json(response.body)).data\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L18"},"def":{"name":"on_update","visibility":"Public","body":"openai_key = setting(String, :openai_key)\nopenai_org = setting?(String, :openai_org)\ntransport.before_request do |request|\n logger.debug do\n \"requesting #{request.method} #{request.path}?#{request.query}\\n#{request.headers}\\n#{request.body}\"\n end\n request.headers[\"Authorization\"] = \"Bearer #{openai_key}\"\n if openai_org\n request.headers[\"OpenAI-Organization\"] = openai_org\n end\n request.headers[\"Content-Type\"] = \"application/json\"\nend\nif usage = setting?(Usage, :token_usage)\n @total_tokens = usage.total_tokens\n @prompt_tokens = usage.prompt_tokens\n @completion_tokens = usage.completion_tokens\nend\n"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L40"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/gpt.cr#L39"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/List","path":"OpenAI/List.html","kind":"struct","full_name":"OpenAI::List(Type)","name":"List","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Type)-instance-method","name":"data","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L8"},"def":{"name":"data","return_type":"Array(Type)","visibility":"Public","body":"@data"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L7"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}}]},{"html_id":"drivers/OpenAI/Message","path":"OpenAI/Message.html","kind":"struct","full_name":"OpenAI::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"Typically, a conversation is formatted with a system message first,\nfollowed by alternating user and assistant messages.","summary":"

Typically, a conversation is formatted with a system message first, followed by alternating user and assistant messages.

","constructors":[{"html_id":"new(role:Role,content:String)-class-method","name":"new","abstract":false,"args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"args_string":"(role : Role, content : String)","args_html":"(role : Role, content : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L19"},"def":{"name":"new","args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(role, content)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L23"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"role:Role-instance-method","name":"role","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L22"},"def":{"name":"role","return_type":"Role","visibility":"Public","body":"@role"}}]},{"html_id":"drivers/OpenAI/MessageChoice","path":"OpenAI/MessageChoice.html","kind":"struct","full_name":"OpenAI::MessageChoice","name":"MessageChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L78"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L79"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L83"},"def":{"name":"finish_reason","return_type":"String","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L81"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"message:Message-instance-method","name":"message","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L82"},"def":{"name":"message","return_type":"Message","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/OpenAI/Model","path":"OpenAI/Model.html","kind":"struct","full_name":"OpenAI::Model","name":"Model","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"GET https://api.openai.com/v1/models","summary":"

GET https://api.openai.com/v1/models

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L27"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L28"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"owned_by:String-instance-method","name":"owned_by","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L29"},"def":{"name":"owned_by","return_type":"String","visibility":"Public","body":"@owned_by"}}]},{"html_id":"drivers/OpenAI/Role","path":"OpenAI/Role.html","kind":"enum","full_name":"OpenAI::Role","name":"Role","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"User","name":"User","value":"0","doc":"Can be generated by the end users of an application, or set by a developer as an instruction.","summary":"

Can be generated by the end users of an application, or set by a developer as an instruction.

"},{"id":"System","name":"System","value":"1","doc":"The system message helps set the behavior of the assistant.\nGPT 3 does not always pay strong attention to system messages","summary":"

The system message helps set the behavior of the assistant.

"},{"id":"Assistant","name":"Assistant","value":"2","doc":"The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior.","summary":"

The assistant messages help store prior responses.

"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"assistant?-instance-method","name":"assistant?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L11"},"def":{"name":"assistant?","visibility":"Public","body":"self == Assistant"}},{"html_id":"system?-instance-method","name":"system?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L9"},"def":{"name":"system?","visibility":"Public","body":"self == System"}},{"html_id":"user?-instance-method","name":"user?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/chat_completion.cr#L6"},"def":{"name":"user?","visibility":"Public","body":"self == User"}}]},{"html_id":"drivers/OpenAI/TextChoice","path":"OpenAI/TextChoice.html","kind":"struct","full_name":"OpenAI::TextChoice","name":"TextChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String|Nil-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L78"},"def":{"name":"finish_reason","return_type":"String | ::Nil","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L77"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L76"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}}]},{"html_id":"drivers/OpenAI/TextCompletion","path":"OpenAI/TextCompletion.html","kind":"struct","full_name":"OpenAI::TextCompletion","name":"TextCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(TextChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L91"},"def":{"name":"choices","return_type":"Array(TextChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L89"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L84"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L85"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L86"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/text_completion.cr#L92"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/Usage","path":"OpenAI/Usage.html","kind":"struct","full_name":"OpenAI::Usage","name":"Usage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(total_tokens:Int64,prompt_tokens:Int64,completion_tokens:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"args_string":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","args_html":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","location":{"filename":"src/open_ai/models/model.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L14"},"def":{"name":"new","args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(total_tokens, prompt_tokens, completion_tokens)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L19"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L18"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/models/model.cr#L17"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/VoiceControlInterface","path":"OpenAI/VoiceControlInterface.html","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROMPT","name":"PROMPT","value":"OpenAI::Message.new(:user, \"\\n\")"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"A Voice interface that should be able to:\n* request","summary":"

A Voice interface that should be able to: * request

","instance_methods":[{"html_id":"custom_prompts:Array(OpenAI::Message)-instance-method","name":"custom_prompts","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L29"},"def":{"name":"custom_prompts","return_type":"Array(OpenAI::Message)","visibility":"Public","body":"@custom_prompts"}},{"html_id":"llm_model_id:String-instance-method","name":"llm_model_id","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L28"},"def":{"name":"llm_model_id","return_type":"String","visibility":"Public","body":"@llm_model_id"}},{"html_id":"module_status(module_id:String):Hash(String,String)-instance-method","name":"module_status","doc":"returns a hash of status values","summary":"

returns a hash of status values

","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Hash(String, String)","args_html":"(module_id : String) : Hash(String, String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L75"},"def":{"name":"module_status","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"Hash(String, String)","visibility":"Public","body":"system[module_id].__status__"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@llm_model_id = setting(String, :llm_model_id)\n@custom_prompts = (setting?(Array(OpenAI::Message), :custom_prompts)) || ([] of OpenAI::Message)\n"}},{"html_id":"request(text:String)-instance-method","name":"request","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L38"},"def":{"name":"request","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"messages = ([PROMPT] + custom_prompts) + [OpenAI::Message.new(:user, \"The Request: #{text}\")]\nchoices = Array(MessageChoice).from_json((language_model.chat(llm_model_id, messages)).get.to_json)\n"}},{"html_id":"system_metadata-instance-method","name":"system_metadata","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L50"},"def":{"name":"system_metadata","visibility":"Public","body":"metadata = {} of String => Metadata\nsys = system\nsys.modules.each do |module_name|\n 1.upto(sys.count(module_name)) do |index|\n mod = sys.get(module_name, index)\n metadata[\"#{module_name}_#{index}\"] = mod.__metadata__.llm_interface\n end\nend\n{name: sys.name, description: sys.description, modules: metadata}\n"}}],"types":[{"html_id":"drivers/OpenAI/VoiceControlInterface/Metadata","path":"OpenAI/VoiceControlInterface/Metadata.html","kind":"alias","full_name":"OpenAI::VoiceControlInterface::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/open_ai/voice_control.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::DriverModel::Metadata","aliased_html":"PlaceOS::Driver::DriverModel::Metadata","const":false,"namespace":{"html_id":"drivers/OpenAI/VoiceControlInterface","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface"}}]}]},{"html_id":"drivers/Panasonic","path":"Panasonic.html","kind":"module","full_name":"Panasonic","name":"Panasonic","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Panasonic/Camera","path":"Panasonic/Camera.html","kind":"module","full_name":"Panasonic::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Camera/HESeries","path":"Panasonic/Camera/HESeries.html","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MOVEMENT_STOPPED","name":"MOVEMENT_STOPPED","value":"50"},{"id":"ZOOM_MAX","name":"ZOOM_MAX","value":"4095"},{"id":"ZOOM_MIN","name":"ZOOM_MIN","value":"1365"},{"id":"ZOOM_RANGE","name":"ZOOM_RANGE","value":"(ZOOM_MAX - ZOOM_MIN).to_f"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Camera","kind":"module","full_name":"Panasonic::Camera","name":"Camera"},"instance_methods":[{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L254"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n zoom?\n pantilt?\nend"}},{"html_id":"installation(position:Installation)-instance-method","name":"installation","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Installation"}],"args_string":"(position : Installation)","args_html":"(position : Installation)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L223"},"def":{"name":"installation","args":[{"name":"position","external_name":"position","restriction":"Installation"}],"visibility":"Public","body":"request(\"INS\", position.desk? ? 0 : 1) do |resp|\n parse_installation(resp)\nend"}},{"html_id":"installation?-instance-method","name":"installation?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L227"},"def":{"name":"installation?","visibility":"Public","body":"parse_installation(query(\"INS\"))"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L85"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan = (MOVEMENT_STOPPED + (joyspeed(pan_speed))).to_s.rjust(2, '0')\ntilt = (MOVEMENT_STOPPED + (joyspeed(tilt_speed))).to_s.rjust(2, '0')\nif (pan_speed == \"50\") && (tilt_speed == \"50\")\n options = {retries: 4, priority: queue.priority + 50, clear_queue: true, name: :joystick}\nelse\n options = {retries: 1, priority: queue.priority, clear_queue: false, name: :joystick}\nend\nrequest(\"PTS\", \"#{pan}#{tilt}\", **options) do |resp|\n pan, tilt = (resp[3..-1].scan(/.{2}/)).flat_map(&.to_a)\n self[:pan_speed] = pan.not_nil!.to_i - MOVEMENT_STOPPED\n self[:tilt_speed] = tilt.not_nil!.to_i - MOVEMENT_STOPPED\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L141"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0, tilt_speed: position.down? ? @default_movement_speed : -@default_movement_speed)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -@default_movement_speed : @default_movement_speed, tilt_speed: 0)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 130.milliseconds\nschedule.every(1.minute) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@default_movement_speed = (setting?(Int32, :default_movement_speed)) || 12\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32)-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"args_string":"(pan : Int32, tilt : Int32)","args_html":"(pan : Int32, tilt : Int32)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L238"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"visibility":"Public","body":"pan_val = (pan.to_s(16)).upcase.rjust(4, '0')\ntilt_val = (tilt.to_s(16)).upcase.rjust(4, '0')\nrequest(\"APC\", \"#{pan_val}#{tilt_val}\", name: :pantilt) do |resp|\n parse_pantilt(resp)\nend\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L244"},"def":{"name":"pantilt?","visibility":"Public","body":"parse_pantilt(query(\"APC\"))"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L53"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n delay = 6.seconds\nend\nrequest(\"O\", state ? 1 : 0, delay: delay) do |resp|\n parse_power(resp)\nend\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L58"},"def":{"name":"power?","visibility":"Public","body":"parse_power(query(\"O\"))"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L115"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(preset[:pan], preset[:tilt])\n zoom_to(preset[:zoom])\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L132"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L125"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"do_poll\n@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L210"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"move_zoom(0, priority: 100)\njoystick(0, 0)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L189"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .in?\n move_zoom(@default_movement_speed // 3)\nin .out?\n move_zoom(-@default_movement_speed)\nin .stop?\n move_zoom(0)\nend"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L177"},"def":{"name":"zoom?","visibility":"Public","body":"resp = query(\"GZ\")\nif resp.includes?(\"--\")\n message = \"camera in standby, operation unavailable\"\n logger.debug do\n message\n end\n message\nelse\n @zoom_raw = resp[2..-1].to_i(16)\n self[:zoom] = (@zoom_raw - ZOOM_MIN).to_f * (100.0 / ZOOM_RANGE)\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L167"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * ZOOM_RANGE).to_i + ZOOM_MIN\nrequest(\"AXZ\", (zoom_value.to_s(16)).upcase.rjust(3, '0')) do |resp|\n self[:zoom] = resp[3..-1].to_i(16)\nend\n"}}],"types":[{"html_id":"drivers/Panasonic/Camera/HESeries/Installation","path":"Panasonic/Camera/HESeries/Installation.html","kind":"enum","full_name":"Panasonic::Camera::HESeries::Installation","name":"Installation","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L218"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Desk","name":"Desk","value":"0"},{"id":"Ceiling","name":"Ceiling","value":"1"}],"namespace":{"html_id":"drivers/Panasonic/Camera/HESeries","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries"},"instance_methods":[{"html_id":"ceiling?-instance-method","name":"ceiling?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L220"},"def":{"name":"ceiling?","visibility":"Public","body":"self == Ceiling"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/camera/he_series.cr#L219"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}}]}]}]},{"html_id":"drivers/Panasonic/Display","path":"Panasonic/Display.html","kind":"module","full_name":"Panasonic::Display","name":"Display","abstract":false,"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Display/Protocol2","path":"Panasonic/Display/Protocol2.html","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", input: \"IMS\", volume: \"AVL\", volume_query: \"QAV\", audio_mute: \"AMT\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HM1\", Inputs::HDMI2 => \"HM2\", Inputs::VGA => \"PC1\", Inputs::DVI => \"DVI\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Display","kind":"module","full_name":"Panasonic::Display","name":"Display"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L51"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","doc":"There is no input query command","summary":"

There is no input query command

","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L111"},"def":{"name":"input?","visibility":"Public","body":"self[:input]?"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There is no video mute command so this only mutes audio","summary":"

There is no video mute command so this only mutes audio

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L116"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"requested audio mute state: #{state}\"\n end\n do_send(:audio_mute, state ? 1 : 0)\nend"}},{"html_id":"mute?:Bool-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L129"},"def":{"name":"mute?","return_type":"Bool","visibility":"Public","body":"(do_send(:audio_mute)).get\n!(!self[:audio_mute]?.try(&.as_bool))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L42"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(60.seconds) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"dispadmin\"\n@password = (setting?(String, :password)) || \"@Panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L78"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)\nend\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L91"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power_query, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic display sent: #{data} for #{task.try(&.name) || \"unknown\"}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\ndata = data[2..-1]\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"display busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"display error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on, :power_off, :power_query\n if (cmd == (:power_on)) || (cmd == (:power_off))\n self[:power] = cmd == (:power_on)\n end\n if cmd == (:power_query)\n self[:power] = val.not_nil!.to_i == 1\n end\n if power_target = @power_target\n if self[:power] == power_target\n @power_target = nil\n else\n power(power_target)\n end\n end\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :volume, :volume_query\n self[:volume] = val.not_nil!.to_f\nwhen :audio_mute\n self[:audio_mute] = val.not_nil!.to_i == 1\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L104"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nself[:input] = input\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L134"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\n(do_send(:volume, val.to_s.rjust(3, '0'))).get\nself[:volume] = val\n"}},{"html_id":"volume?:Int32|Nil-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L142"},"def":{"name":"volume?","return_type":"Int32 | ::Nil","visibility":"Public","body":"(do_send(:volume_query)).get\nself[:volume]?.try(&.as_i)\n"}}],"types":[{"html_id":"drivers/Panasonic/Display/Protocol2/Inputs","path":"Panasonic/Display/Protocol2/Inputs.html","kind":"enum","full_name":"Panasonic::Display::Protocol2::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L21"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"DVI","name":"DVI","value":"3"}],"namespace":{"html_id":"drivers/Panasonic/Display/Protocol2","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L25"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L23"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L22"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/display/protocol2.cr#L24"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Panasonic/Projector","path":"Panasonic/Projector.html","kind":"module","full_name":"Panasonic::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Projector/NTControl","path":"Panasonic/Projector/NTControl.html","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", freeze: \"OFZ\", input: \"IIS\", mute: \"OSH\", lamp: \"Q$S\", lamp_hours: \"Q$L\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HD1\", Inputs::HDMI2 => \"HD2\", Inputs::VGA => \"RG1\", Inputs::VGA2 => \"RG2\", Inputs::Miracast => \"MC1\", Inputs::DVI => \"DVI\", Inputs::DisplayPort => \"DP1\", Inputs::HDBaseT => \"DL1\", Inputs::Composite => \"VID\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Projector","kind":"module","full_name":"Panasonic::Projector","name":"Projector"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L55"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"lamp_hours?(**options)-instance-method","name":"lamp_hours?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L105"},"def":{"name":"lamp_hours?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp_hours, 1, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes audio + video","summary":"

Mutes audio + video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L133"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"logger.debug do\n \"requested mute state: #{state}\"\nend\nactual = state ? 1 : 0\ndo_send(:mute, actual)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(40.seconds) do\n power?(priority: 0)\n lamp_hours?(priority: 0)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L66"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"admin1\"\n@password = (setting?(String, :password)) || \"panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L83"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:stable_power] = @stable_power = false\nself[:power_target] = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\n do_send(:lamp)\nelse\n logger.debug do\n \"requested to power off\"\n end\n (do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)).get\n schedule.in(10.seconds) do\n do_send(:lamp)\n end\nend\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L101"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L158"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic sent: #{data}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"projector busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"projector error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\ndata = data[2..-1]\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on\n self[:power] = true\nwhen :power_off\n self[:power] = false\nwhen :power_query\n self[:power] = val.not_nil!.to_i == 1\nwhen :freeze\n self[:frozen] = val.not_nil!.to_i == 1\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :mute\n state = self[:mute] = val.not_nil!.to_i == 1\n self[:mute0] = state\n self[:mute0_video] = state\n self[:mute0_audio] = state\nelse\n case task.name\n when \"lamp\"\n ival = resp[0].to_i\n self[:power] = {1, 2}.includes?(ival)\n self[:warming] = ival == 1\n self[:cooling] = ival == 3\n if !@stable_power\n if self[:power] == self[:power_target]\n self[:stable_power] = @stable_power = true\n else\n power(self[:power_target].as_bool)\n end\n end\n when \"lamp_hours\"\n self[:lamp_usage] = data.to_i\n end\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L122"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"if self[:mute]\n unmute\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\nself[:input] = input\n"}}],"types":[{"html_id":"drivers/Panasonic/Projector/NTControl/Inputs","path":"Panasonic/Projector/NTControl/Inputs.html","kind":"enum","full_name":"Panasonic::Projector::NTControl::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"3"},{"id":"Miracast","name":"Miracast","value":"4"},{"id":"DVI","name":"DVI","value":"5"},{"id":"DisplayPort","name":"DisplayPort","value":"6"},{"id":"HDBaseT","name":"HDBaseT","value":"7"},{"id":"Composite","name":"Composite","value":"8"}],"namespace":{"html_id":"drivers/Panasonic/Projector/NTControl","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl"},"instance_methods":[{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L31"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L29"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L28"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L30"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L24"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L23"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"miracast?-instance-method","name":"miracast?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L27"},"def":{"name":"miracast?","visibility":"Public","body":"self == Miracast"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L26"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/panasonic/projector/nt_control.cr#L25"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]}]},{"html_id":"drivers/Pattr","path":"Pattr.html","kind":"module","full_name":"Pattr","name":"Pattr","abstract":false,"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Pattr/ChatBot","path":"Pattr/ChatBot.html","kind":"class","full_name":"Pattr::ChatBot","name":"ChatBot","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"instance_methods":[{"html_id":"chat_data_request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"chat_data_request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/pattr/chat_bot.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L45"},"def":{"name":"chat_data_request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nrequest = Request.from_json(body)\nresponse = case request\nin Location\n locate(request.referencing)\nend\npayload = response.to_json\nif @debug_webhook\n logger.debug do\n payload\n end\nend\n{HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, payload}\n"}},{"html_id":"locate(staff:Array(String))-instance-method","name":"locate","doc":"map reduce search for the users across all buildings","summary":"

map reduce search for the users across all buildings

","abstract":false,"args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"args_string":"(staff : Array(String))","args_html":"(staff : Array(String))","location":{"filename":"src/pattr/chat_bot.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L61"},"def":{"name":"locate","args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"visibility":"Public","body":"searches = staff.map do |username|\n email = username.includes?('@') ? username : nil\n queries = @buildings.map do |building|\n building[:LocationServices].locate_user(email, username)\n end\n {username, queries}\nend\nresponse = {} of String => PlaceLocationResult\nsearches.each do |__arg4|\n username = __arg4[0]\n queries = __arg4[1]\n locations = {} of String => PlaceLocationResult\n queries.each do |results|\n (Array(PlaceLocationResult).from_json(results.get.to_json)).map do |location|\n locations[location.location] = location\n end\n end\n if location = (locations[\"meeting\"]? || locations[\"wireless\"]?) || locations[\"desk\"]?\n response[username] = location\n end\nend\nresponse.transform_values do |location|\n case location.location\n when \"meeting\"\n {building: zones[location.building], level: zones[location.level], room: systems[location.sys_id.not_nil!]}\n else\n {building: zones[location.building], level: zones[location.level]}\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"@zones = Hash(String, String).new do |hash, key|\n zone = (staff_api.zone(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg0|\n __arg0.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\n@systems = Hash(String, String).new do |hash, key|\n zone = (staff_api.get_system(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg2|\n __arg2.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\nbuildings = (setting?(Array(String), :buildings)) || [config.control_system.not_nil!.id]\n@buildings = buildings.map do |id|\n system(id)\nend\n"}}]},{"html_id":"drivers/Pattr/Location","path":"Pattr/Location.html","kind":"class","full_name":"Pattr::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},"ancestors":[{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"referencing:Array(String)-instance-method","name":"referencing","doc":"user emails / usernames of users we want to locate","summary":"

user emails / usernames of users we want to locate

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L19"},"def":{"name":"referencing","return_type":"Array(String)","visibility":"Public","body":"@referencing"}},{"html_id":"request:String-instance-method","name":"request","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L16"},"def":{"name":"request","return_type":"String","visibility":"Public","body":"@request"}}]},{"html_id":"drivers/Pattr/PlaceLocationResult","path":"Pattr/PlaceLocationResult.html","kind":"class","full_name":"Pattr::PlaceLocationResult","name":"PlaceLocationResult","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","doc":"zone ids","summary":"

zone ids

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L29"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L30"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"location:String-instance-method","name":"location","doc":"wireless, desk, meeting, booking","summary":"

wireless, desk, meeting, booking

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L26"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"sys_id:String|Nil-instance-method","name":"sys_id","doc":"system id (if it's a meeting room)","summary":"

system id (if it's a meeting room)

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L33"},"def":{"name":"sys_id","return_type":"String | ::Nil","visibility":"Public","body":"@sys_id"}}]},{"html_id":"drivers/Pattr/Request","path":"Pattr/Request.html","kind":"class","full_name":"Pattr::Request","name":"Request","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Pattr/Location","kind":"class","full_name":"Pattr::Location","name":"Location"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"request type hint","summary":"

request type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"request\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'request' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'request'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n Location.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'request' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"user:String-instance-method","name":"user","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/pattr/chat_bot_models.cr#L12"},"def":{"name":"user","return_type":"String","visibility":"Public","body":"@user"}}]}]},{"html_id":"drivers/Philips","path":"Philips.html","kind":"module","full_name":"Philips","name":"Philips","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Philips/Dynalite","path":"Philips/Dynalite.html","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"254 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(1.minute) do\n logger.debug do\n \"maintaining connection\"\n end\n get_current_preset(1)\nend"}},{"html_id":"decrement_area_level(area:UInt8)-instance-method","name":"decrement_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L124"},"def":{"name":"decrement_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 5, 0, 0, 255])"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L24"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(area:UInt8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L59"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 99, 0, 0, 255]\ndo_send(command, wait: true)\n"}},{"html_id":"get_light_level(area:Int32,channel:Int32=255)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, channel : Int32 = 255)","args_html":"(area : Int32, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L116"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"do_send(Bytes[28, area & 255, channel & 255, 97, 0, 0, 255], wait: true)"}},{"html_id":"increment_area_level(area:UInt8)-instance-method","name":"increment_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L120"},"def":{"name":"increment_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 6, 0, 0, 255])"}},{"html_id":"light_level(area:Int32,level:Float64,fade:Int32=1000,channel:Int32=255)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","args_html":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L78"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"cmd = 113\nfade = if fade <= 25500\n fade // 100\nelse\n if fade < 255000\n cmd = 114\n fade // 1000\n else\n cmd = 115\n (fade // 60000).clamp(1, 22)\n end\nend\narea_key = ((Area.new(area.to_u32, channel: channel == 255 ? nil : channel.to_u32)).append(\"level\")).to_s\nself[area_key] = level\nlevel = ((level.clamp(0.0, 100.0)) * LEVEL_PERCENTAGE).to_u8\nlevel = 255_u8 - level\ncommand = Bytes[28, area & 255, channel & 255, cmd, level, fade & 255, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"lighting(area:Int32,state:Bool,fade:Int32=1000)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, state : Bool, fade : Int32 = 1000)","args_html":"(area : Int32, state : Bool, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L71"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100.0 : 0.0\nlight_level(area, level, fade)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L215"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nget_light_level(area_id, area_channel.to_i)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L204"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\nget_current_preset(area_id.to_u8)\n"}},{"html_id":"link_area(area:UInt8,join:UInt8)-instance-method","name":"link_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt8, join : UInt8)","args_html":"(area : UInt8, join : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L134"},"def":{"name":"link_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, join, 20, 0, 0, 255])"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 35.milliseconds\ntransport.tokenizer = Tokenizer.new(8, Bytes[28])\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynalite.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L138"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data.hexstring}\"\nend\ncase data[3]\nwhen 0, 1, 2, 3, 10, 11, 12, 13\n number = data[3]\n if number > 3\n number = number - (10 + 4)\n end\n number = number + ((data[5] * 8) + 1)\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 98\n number = data[2] + 1\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 96\n level = data[4]\n level = 255 - level\n level = level / LEVEL_PERCENTAGE\n channel = data[2].to_u32\n area_key = ((Area.new(data[1].to_u32, channel: channel == 255_u32 ? nil : channel)).append(\"level\")).to_s\n self[area_key] = level\n task.try(&.success(level))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save_preset(area:UInt8,scene:UInt8)-instance-method","name":"save_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"args_string":"(area : UInt8, scene : UInt8)","args_html":"(area : UInt8, scene : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L65"},"def":{"name":"save_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"visibility":"Public","body":"num = (scene - 1) & 255\ncommand = Bytes[28, area, num, 9, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L209"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nlight_level(area_id, level, fade_time.to_i, area_channel.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L199"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\ntrigger(area_id, scene.to_i, fade_time.to_i)\n"}},{"html_id":"stop_all_fading(area:UInt8)-instance-method","name":"stop_all_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L111"},"def":{"name":"stop_all_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 122, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"stop_fading(area:UInt8,channel:UInt8=255_u8)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"args_string":"(area : UInt8, channel : UInt8 = 255_u8)","args_html":"(area : UInt8, channel : UInt8 = 255_u8)","location":{"filename":"src/philips/dynalite.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L106"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, channel, 118, 0, 0, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"trigger(area:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","doc":"fade_time in millisecond","summary":"

fade_time in millisecond

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(area : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L37"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade_centi = fade // 10\nself[Area.new(area.to_u32)] = scene\nscene = scene - 1\nbank = scene // 8\nscene = scene - (bank * 8)\nif scene >= 4\n scene = scene + 6\nend\ncommand = Bytes[28, area & 255, fade_centi & 255, scene & 255, (fade_centi >> 8) & 255, bank, 255]\nschedule.in((fade + 200).milliseconds) do\n get_light_level(area)\nend\ndo_send(command, name: \"preset_#{area}_#{scene}\")\n"}},{"html_id":"unlink_area(area:UInt8)-instance-method","name":"unlink_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L128"},"def":{"name":"unlink_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"link_area(area, 0_u8)"}}],"types":[{"html_id":"drivers/Philips/Dynalite/Area","path":"Philips/Dynalite/Area.html","kind":"alias","full_name":"Philips::Dynalite::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynalite.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/Dynalite","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite"}}]},{"html_id":"drivers/Philips/DyNetText","path":"Philips/DyNetText.html","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynet_text.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- polling gateway\"\n end\n get_date\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L38"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"get_current_preset(area:UInt16,join:UInt8=255_u8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8)","args_html":"(area : UInt16, join : UInt8 = 255_u8)","location":{"filename":"src/philips/dynet_text.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L169"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(\"RequestCurrentPreset #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}\" : \"get_area#{area}_#{join}\"))"}},{"html_id":"get_date-instance-method","name":"get_date","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L152"},"def":{"name":"get_date","visibility":"Public","body":"do_send(\"RequestDate\", name: :date)"}},{"html_id":"get_light_level(area:UInt16,join:UInt8=255_u8,channel:UInt16=1_u16)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L183"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"RequestChannelLevel #{channel} #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}_level\" : \"get_area#{area}_#{join}_level\"))"}},{"html_id":"get_time-instance-method","name":"get_time","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L156"},"def":{"name":"get_time","visibility":"Public","body":"do_send(\"RequestTime\", name: :time)"}},{"html_id":"light_level(area:UInt16,level:Float64,join:UInt8=255_u8,fade:UInt32=1000_u32,channel:UInt16=0_u16)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L177"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"level = level.round_away.to_i\ndo_send(\"ChannelLevel #{channel} #{level.clamp(0, 100)} #{area} #{fade} #{join}\", name: \"level#{area}_#{channel}_#{join}\")\n"}},{"html_id":"lighting(area:UInt16,state:Bool,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L173"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"light_level(area, state ? 100.0 : 0.0, join, fade)"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L218"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 1_u32\nget_light_level(area_id, area_join, area_channel.to_u16)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L207"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\nget_current_preset(area_id, area_join)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynet_text.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L48"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip(\"\\u0000\\r\\n\\t \")\nif data.empty?\n return\nend\nlogger.debug do\n \"Dynalite sent: #{data}\"\nend\nif @ready\n components = (data.split(\", \")).map do |component|\n parts = component.downcase.split\n value = parts.pop\n key = parts.join(' ')\n {key, value}\n end.to_h\n process_response(data, components, task)\nelse\n if data =~ (/Connection Established/i)\n @ready = true\n self[:ready] = true\n do_send(\"Echo 0\", name: \"echo\")\n do_send(\"Verbose\", name: \"verbose\")\n do_send(\"ReplyOK 1\", name: \"replies\")\n do_send(\"Join 255\", name: \"join\")\n end\nend\n"}},{"html_id":"send_custom(data:String)-instance-method","name":"send_custom","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/philips/dynet_text.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L165"},"def":{"name":"send_custom","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"do_send(data)"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L212"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 0_u32\nlight_level(area_id, level, area_join, fade_time, area_channel.to_u16)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L202"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\ntrigger(area_id, scene.to_u16, area_join, fade_time)\n"}},{"html_id":"stop_fading(area:UInt16,join:UInt8=255_u8,channel:UInt16=0_u16)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L188"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"StopFade #{channel} #{area} #{join}\", name: \"stopfade#{area}_#{join}_#{channel}\")"}},{"html_id":"trigger(area:UInt16,scene:UInt16,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"trigger","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L160"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"do_send(\"Preset #{scene} #{area} #{fade} #{join}\", name: \"preset#{area}_#{join}\")"}}],"types":[{"html_id":"drivers/Philips/DyNetText/Area","path":"Philips/DyNetText/Area.html","kind":"alias","full_name":"Philips::DyNetText::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynet_text.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/philips/dynet_text.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/DyNetText","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText"}}]}]},{"html_id":"drivers/Place","path":"Place.html","kind":"module","full_name":"Place","name":"Place","abstract":false,"locations":[{"filename":"src/place/area_config.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L4"},{"filename":"src/place/meet/help.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L3"},{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Place/AreaConfig","path":"Place/AreaConfig.html","kind":"class","full_name":"Place::AreaConfig","name":"AreaConfig","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(id:String,name,coordinates,building_id=nil,area_type:String=\"Feature\",feature_type:String=\"section\",capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"args_string":"(id : String, name, coordinates, building_id = nil, area_type : String = \"Feature\", feature_type : String = \"section\", capacity = nil)","args_html":"(id : String, name, coordinates, building_id = nil, area_type : String = "Feature", feature_type : String = "section", capacity = nil)","location":{"filename":"src/place/area_config.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, coordinates, building_id, area_type, feature_type, capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L33"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L33"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}},{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L46"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"self.properties[\"building_id\"]?.as?(String)"}},{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L50"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"(self.properties[\"capacity\"]?.as?(Int64 | Float64)).try(&.to_i)"}},{"html_id":"coordinates(map_width:Float64,map_height:Float64)-instance-method","name":"coordinates","abstract":false,"args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"args_string":"(map_width : Float64, map_height : Float64)","args_html":"(map_width : Float64, map_height : Float64)","location":{"filename":"src/place/area_config.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L62"},"def":{"name":"coordinates","args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"visibility":"Public","body":"@adjusted_coords = self.geometry.coordinates.map do |__arg1|\n x = __arg1[0]\n y = __arg1[1]\n {x * map_width, y * map_height}\nend"}},{"html_id":"coordinates-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L54"},"def":{"name":"coordinates","visibility":"Public","body":"if coords = @adjusted_coords\n coords\nelse\n self.geometry.coordinates\nend"}},{"html_id":"feature_type:String-instance-method","name":"feature_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L34"},"def":{"name":"feature_type","return_type":"String","visibility":"Public","body":"@feature_type"}},{"html_id":"feature_type=(feature_type:String)-instance-method","name":"feature_type=","abstract":false,"args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"args_string":"(feature_type : String)","args_html":"(feature_type : String)","location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L34"},"def":{"name":"feature_type=","args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"visibility":"Public","body":"@feature_type = feature_type"}},{"html_id":"geometry:Geometry-instance-method","name":"geometry","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L36"},"def":{"name":"geometry","return_type":"Geometry","visibility":"Public","body":"@geometry"}},{"html_id":"geometry=(geometry:Geometry)-instance-method","name":"geometry=","abstract":false,"args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"args_string":"(geometry : Geometry)","args_html":"(geometry : Geometry)","location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L36"},"def":{"name":"geometry=","args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"visibility":"Public","body":"@geometry = geometry"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L30"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"self.properties[\"name\"].as(String)"}},{"html_id":"polygon:Polygon-instance-method","name":"polygon","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L66"},"def":{"name":"polygon","return_type":"Polygon","visibility":"Public","body":"@polygon || (@polygon = Polygon.new(coordinates.map do |coords|\n Point.new(*coords)\nend))"}},{"html_id":"properties:Hash(String,JSON::Any::Type)-instance-method","name":"properties","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L37"},"def":{"name":"properties","return_type":"Hash(String, JSON::Any::Type)","visibility":"Public","body":"@properties"}},{"html_id":"properties=(properties:Hash(String,JSON::Any::Type))-instance-method","name":"properties=","abstract":false,"args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(properties : Hash(String, JSON::Any::Type))","args_html":"(properties : Hash(String, JSON::Any::Type))","location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L37"},"def":{"name":"properties=","args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"visibility":"Public","body":"@properties = properties"}}]},{"html_id":"drivers/Place/AreaManagement","path":"Place/AreaManagement.html","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","doc":"PlaceOS client config","summary":"

PlaceOS client config

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L81"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L151"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"is_inside?(x:Float64,y:Float64,area_id:String):Bool-instance-method","name":"is_inside?","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(x : Float64, y : Float64, area_id : String) : Bool","args_html":"(x : Float64, y : Float64, area_id : String) : Bool","location":{"filename":"src/place/area_management.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L565"},"def":{"name":"is_inside?","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"area = @areas[area_id]\narea.polygon.contains(x, y)\n"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L78"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"@level_details"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L97"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nspawn(same_thread: true) do\n update_scheduler\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L104"},"def":{"name":"on_unload","visibility":"Public","body":"@rate_limit.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L108"},"def":{"name":"on_update","visibility":"Public","body":"@include_sensors = (setting?(Bool, :include_sensors)) || false\n@desk_id_mappings = (setting?(Array(String), :desk_id_mappings)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@location_service = (setting?(String, :location_service)).presence || \"LocationServices\"\n@duplication_factor = (setting?(Float64, :duplication_factor)) || 0.8\n@sensor_discovery = {} of String => SensorMeta\n@rounding_precision = (setting?(UInt32, :rounding_precision)) || 2_u32\nif building_areas = setting?(Hash(String, Array(AreaSetting)), :areas)\n @level_areas.clear\n building_areas.each do |zone_id, areas|\n @level_areas[zone_id] = areas.map do |area|\n config = AreaConfig.new(area[:id], area[:name], area[:coordinates], area[:building])\n @areas[config.id] = config\n config\n end\n end\nend\nschedule.clear\nschedule.every(@poll_rate) do\n synchronize_all_levels\nend\nif @include_sensors\n schedule.in(@poll_rate * 3) do\n schedule.every(2.hours + (rand(300)).seconds, immediate: true) do\n write_sensor_discovery\n end\n end\nend\nunits = (setting?(Hash(String, String), :units)) || ({} of String => String)\n@units = units.transform_keys do |key|\n SensorType.parse(key)\nend\n"}},{"html_id":"request_level_locations(level_id:String,sensor_data:Hash(String,Array(SensorDetail))|Nil=nil):Nil-instance-method","name":"request_level_locations","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","args_html":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","location":{"filename":"src/place/area_management.cr","line_number":546,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L546"},"def":{"name":"request_level_locations","args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@update_lock.synchronize do\n zone = Zone.from_json((staff_api.zone(level_id)).get.to_json)\n if !(zone.tags.includes?(\"level\"))\n logger.warn do\n \"attempted to update location for #{zone.name} (#{level_id}) which is not tagged as a level\"\n end\n return\n end\n metadata = Metadata.from_json((staff_api.metadata(level_id)).get.to_json)\n update_level_details(@level_details, zone, metadata)\n update_level_locations(@level_counts, level_id, @level_details[level_id], sensor_data)\n update_overview\nend"}},{"html_id":"request_locations(sensor_data:Hash(String,Array(SensorDetail))|Nil=nil)-instance-method","name":"request_locations","abstract":false,"args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","args_html":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L534"},"def":{"name":"request_locations","args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"visibility":"Public","body":"@update_lock.synchronize do\n level_counts = {} of String => RawLevelDetails\n @level_details.each do |level_id, details|\n update_level_locations(level_counts, level_id, details, sensor_data)\n end\n @level_counts = level_counts\n update_overview\nend"}},{"html_id":"request_sensor_data(level_id:String|Nil=nil):Hash(String,Array(SensorDetail))-instance-method","name":"request_sensor_data","doc":"Queries all the sensors in a building and exposes the data","summary":"

Queries all the sensors in a building and exposes the data

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","args_html":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","location":{"filename":"src/place/area_management.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L193"},"def":{"name":"request_sensor_data","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"return_type":"Hash(String, Array(SensorDetail))","visibility":"Public","body":"sensors = if level_id\n location_service.sensors(zone_id: level_id).get.as_a\nelse\n location_service.sensors.get.as_a\nend\nlevels = Hash(String, Array(SensorDetail)).new do |h, k|\n h[k] = [] of SensorDetail\nend\nif sensors.empty?\n return levels\nend\ndetails = Array(SensorDetail).from_json(sensors.to_json)\nbuilding_id_local = building_id\nlocs = sensor_locations(level_id)\ndetails.each do |sensor|\n id = sensor.id ? \"#{sensor.mac}-#{sensor.id}\" : sensor.mac\n @sensor_discovery[id] = SensorMeta.new(sensor.name, sensor.type, sensor.level, sensor.x, sensor.y)\n sensor.module_id = sensor.binding = sensor.loc = nil\n if location = locs[id]?\n sensor.x = location.x\n sensor.y = location.y\n sensor.level = location.level\n sensor.building = building_id_local\n end\n if sensor.x && (level_id ? sensor.level == level_id : sensor.level)\n if ((curr_unit = sensor.unit) && (desired_unit = @units[sensor.type]?)) && (curr_unit != desired_unit)\n begin\n sensor.value = ((Units::Measurement.new(sensor.value, curr_unit)).convert_to(desired_unit)).to_f\n sensor.unit = desired_unit\n rescue error\n logger.warn(exception: error) do\n \"failed to convert #{sensor.value} #{curr_unit} => #{desired_unit}\"\n end\n end\n end\n levels[sensor.level] << sensor\n end\nend\nlevels.each do |level, the_sensors|\n self[\"#{level}:sensors\"] = {value: the_sensors, ts_hint: \"complex\", ts_map: {x: \"xloc\", y: \"yloc\"}, ts_tag_keys: {\"s2_cell_id\"}, ts_tags: {pos_building: building_id_local, pos_level: level}}\nend\nlevels\n"}},{"html_id":"sensor_locations(level_id:String|Nil=nil)-instance-method","name":"sensor_locations","doc":"returns the sensor location data that has been configured","summary":"

returns the sensor location data that has been configured

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil)","args_html":"(level_id : String | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L184"},"def":{"name":"sensor_locations","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if level_id\n @level_sensors[level_id]? || ({} of String => SensorMeta)\nelse\n @level_sensors.values.reduce({} of String => SensorMeta) do |acc, i|\n acc.merge!(i)\n end\nend"}},{"html_id":"synchronize_all_levels-instance-method","name":"synchronize_all_levels","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L635"},"def":{"name":"synchronize_all_levels","visibility":"Public","body":"@schedule_lock.synchronize do\n @update_all = true\nend"}},{"html_id":"update_available(level_ids:Array(String))-instance-method","name":"update_available","abstract":false,"args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"args_string":"(level_ids : Array(String))","args_html":"(level_ids : Array(String))","location":{"filename":"src/place/area_management.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L631"},"def":{"name":"update_available","args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@schedule_lock.synchronize do\n @update_levels.concat(level_ids)\nend"}},{"html_id":"write_sensor_discovery-instance-method","name":"write_sensor_discovery","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L179"},"def":{"name":"write_sensor_discovery","visibility":"Public","body":"staff_api.write_metadata(building_id, \"sensor-discovered\", @sensor_discovery)"}}],"types":[{"html_id":"drivers/Place/AreaManagement/AreaSetting","path":"Place/AreaManagement/AreaSetting.html","kind":"alias","full_name":"Place::AreaManagement::AreaSetting","name":"AreaSetting","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: String, name: String, building: String | Nil, coordinates: Array(Tuple(Float64, Float64)))","aliased_html":"{id: String, name: String, building: String?, coordinates: Array({Float64, Float64})}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/ChildMetadata","path":"Place/AreaManagement/ChildMetadata.html","kind":"alias","full_name":"Place::AreaManagement::ChildMetadata","name":"ChildMetadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L329"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(NamedTuple(zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)))","aliased_html":"Array({zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)})","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/LevelCapacity","path":"Place/AreaManagement/LevelCapacity.html","kind":"alias","full_name":"Place::AreaManagement::LevelCapacity","name":"LevelCapacity","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String))","aliased_html":"{total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Metadata","path":"Place/AreaManagement/Metadata.html","kind":"alias","full_name":"Place::AreaManagement::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L328"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, PlaceOS::Client::API::Models::Metadata)","aliased_html":"Hash(String, PlaceOS::Client::API::Models::Metadata)","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/RawLevelDetails","path":"Place/AreaManagement/RawLevelDetails.html","kind":"alias","full_name":"Place::AreaManagement::RawLevelDetails","name":"RawLevelDetails","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L61"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)), sensors: Hash(String, Float64))","aliased_html":"{wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: {total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}, sensors: Hash(String, Float64)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorDetail","path":"Place/AreaManagement/SensorDetail.html","kind":"alias","full_name":"Place::AreaManagement::SensorDetail","name":"SensorDetail","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L163"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::Detail","aliased_html":"PlaceOS::Driver::Interface::Sensor::Detail","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorMeta","path":"Place/AreaManagement/SensorMeta.html","kind":"struct","full_name":"Place::AreaManagement::SensorMeta","name":"SensorMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"},"constructors":[{"html_id":"new(name:Nil|String,type:PlaceOS::Driver::Interface::Sensor::SensorType|Nil,level:Nil|String,x:Float64|Nil,y:Float64|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"args_string":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","args_html":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L169"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, type, level, x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_management.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level:String|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L174"},"def":{"name":"level","return_type":"String | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:String|Nil)-instance-method","name":"level=","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"args_string":"(level : String | Nil)","args_html":"(level : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L174"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L173"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L173"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:SensorType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L172"},"def":{"name":"type","return_type":"SensorType | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:SensorType|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"args_string":"(type : SensorType | Nil)","args_html":"(type : SensorType | Nil)","location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L172"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"x:Float64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L175"},"def":{"name":"x","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64|Nil)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"args_string":"(x : Float64 | Nil)","args_html":"(x : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L175"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L176"},"def":{"name":"y","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"args_string":"(y : Float64 | Nil)","args_html":"(y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L176"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Place/AreaManagement/SensorType","path":"Place/AreaManagement/SensorType.html","kind":"alias","full_name":"Place::AreaManagement::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Zone","path":"Place/AreaManagement/Zone.html","kind":"alias","full_name":"Place::AreaManagement::Zone","name":"Zone","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_management.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Client::API::Models::Zone","aliased_html":"PlaceOS::Client::API::Models::Zone","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}}]},{"html_id":"drivers/Place/AutoDeskCheckin","path":"Place/AutoDeskCheckin.html","kind":"class","full_name":"Place::AutoDeskCheckin","name":"AutoDeskCheckin","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_check_in-instance-method","name":"fetch_and_check_in","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L33"},"def":{"name":"fetch_and_check_in","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nbooking_ids = (staff_api.query_bookings(@booking_category, period_start, period_end, @zones, checked_in: false)).get.as_a.map do |booking|\n booking[\"id\"].as_i64\nend\nsuccess = 0\nfailed = [] of Int64\nbooking_ids.each do |id|\n begin\n (staff_api.booking_check_in(id, true, \"auto-checkin\")).get\n success = success + 1\n rescue error\n failed << id\n logger.debug(exception: error) do\n \"failed to check-in booking #{id}\"\n end\n end\nend\n\"checked-in #{success} bookings, failed #{failed.size}: #{failed}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/auto_desk_checkin.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"@zones = setting(Array(String), :check_in_zones)\n@time_period = (setting(Int32, :hours_before_booking_start)).hours\n@booking_category = setting(String, :booking_category)\nschedule.clear\nschedule.every(5.minutes) do\n fetch_and_check_in\nend\n"}}]},{"html_id":"drivers/Place/Booking","path":"Place/Booking.html","kind":"class","full_name":"Place::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L7"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L7"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"approved:Bool|Nil-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L31"},"def":{"name":"approved","return_type":"Bool | ::Nil","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool|Nil)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"args_string":"(approved : Bool | Nil)","args_html":"(approved : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L31"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L36"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L36"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L35"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L35"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L19"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L16"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L12"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L12"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L11"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L11"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L10"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L10"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"changed-instance-method","name":"changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L52"},"def":{"name":"changed","visibility":"Public","body":"Time.unix(last_changed.not_nil!)"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L41"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"if (value = @checked_in).nil?\n @checked_in = (false)\nelse\n value\nend"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L41"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L29"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L43"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L43"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"extension_data:Hash(String,JSON::Any)-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L45"},"def":{"name":"extension_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @extension_data).nil?\n @extension_data = ({} of String => JSON::Any)\nelse\n value\nend"}},{"html_id":"extension_data=(extension_data:Hash(String,JSON::Any))-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"args_string":"(extension_data : Hash(String, JSON::Any))","args_html":"(extension_data : Hash(String, JSON::Any))","location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L45"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L9"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L47"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L33"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L33"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L32"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L32"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L30"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L30"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L17"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L17"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L13"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L13"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L42"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L42"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L24"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L24"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L23"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L23"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L25"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L25"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L27"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_model.cr#L27"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/BookingApprovalWorkflows","path":"Place/BookingApprovalWorkflows.html","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L433"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg9|\n _event = __arg9[0]\n entered = __arg9[1]\n expired > entered\nend\nexpired = 1.hour.ago.to_unix\n@group_email_notifications.reject! do |_, entered|\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n building_name = details[:name]\n approval_type = details[:approval]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, approval_type, building_name, building_key, support_email, attachments, months_from_now)\n end\nend\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L261"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @approval_lookup[zone_id]?\n if details\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details[:name], details[:approval], details[:support_email], attachments}\n end\nend\nnil\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":548,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L548"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (mailer.get_user_manager(staff_email)).get\n {(manager[\"email\"]? || manager[\"username\"]).as_s, manager[\"name\"].as_s}\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n {nil, nil}\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L55"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@remind_after = ((setting?(Int32, :remind_after)) || 24).hours\n@escalate_after = ((setting?(Int32, :escalate_after)) || 48).hours\n@notify_managers = (setting?(Bool, :notify_managers)) || false\n@approval_lookup = setting(Hash(String, SiteDetails), :approval_type)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\nschedule.clear\nschedule.every(5.minutes) do\n check_bookings\nend\nreminders = (setting?(Reminders, :reminders)) || {crons: [] of String, zones: {} of String => Array(String)}\nreminders[:crons].each do |cron|\n reminders[:zones].each do |timezone, zones|\n begin\n schedule.cron(cron, Time::Location.load(timezone)) do\n send_checkin_reminder(zones)\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to schedule reminder: #{zones} => #{timezone} : #{cron}\"\n end\n end\n end\nend\n"}},{"html_id":"send_checkin_reminder(zones:Array(String)|Nil=nil,timezone:String|Nil=nil)-instance-method","name":"send_checkin_reminder","abstract":false,"args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","args_html":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L604"},"def":{"name":"send_checkin_reminder","args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_now = Time.utc.in(timezone ? Time::Location.load(timezone) : @time_zone)\ntime_now = time_now.at_beginning_of_day + 12.hours\ntime_now = time_now.to_local_in(Time::Location::UTC)\nquery_start = time_now.to_unix\nquery_end = (time_now + 30.minutes).to_unix\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n if zones && (!(zones.includes?(building_zone)))\n next\n end\n building_name = details[:name]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_checkin_reminder(building_zone, building_name, building_key, support_email, attachments, query_start, query_end)\n end\nend\n"}},{"html_id":"users_with_invalid_desk_bookings(building_zone:String,ending:Int64)-instance-method","name":"users_with_invalid_desk_bookings","abstract":false,"args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"args_string":"(building_zone : String, ending : Int64)","args_html":"(building_zone : String, ending : Int64)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":557,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L557"},"def":{"name":"users_with_invalid_desk_bookings","args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"visibility":"Public","body":"meta_raw = (staff_api.metadata_children(building_zone, \"desks\")).get.as_a\nmetadata = {} of String => Hash(String, Array(String))\nmeta_raw.each do |zone|\n desks = {} of String => Array(String)\n zone_id = zone[\"zone\"][\"id\"].as_s\n zone[\"metadata\"][\"desks\"][\"details\"].as_a.each do |desk|\n desks[desk[\"id\"].as_s] = desk[\"groups\"].as_a.map() do |__arg12|\n __arg12.as_s.downcase\n end\n end\n metadata[zone_id] = desks\nend\nusers = [] of Tuple(String, String, String, Int64, Int64, String)\nbookings = staff_api.query_bookings(type: \"desk\", period_end: ending, zones: [building_zone], rejected: false).get.as_a\nbookings.each do |booking|\n user_email = booking[\"user_email\"].as_s\n level_id = (booking[\"zones\"].as_a.map(&.as_s).reject(building_zone)).first\n desk_id = booking[\"asset_id\"].as_s\n booking_id = booking[\"id\"].as_i64\n starting = booking[\"booking_start\"].as_i64\n if desks = metadata[level_id]?\n if groups = desks[desk_id]?\n if groups.empty?\n next\n end\n users_groups = (mailer.get_groups(user_email)).get.as_a.map do |g|\n g[\"name\"].as_s.downcase\n end\n overlap = users_groups & groups\n if overlap.empty?\n date_friendly = (Time.unix(starting)).to_s(@date_format)\n users << {user_email, desk_id, level_id, booking_id, starting, date_friendly}\n end\n end\n end\nend\nlogger.debug do\n \"Email,Desk ID,Zone,Booking id,Starting,Start date\\n#{users.map do |u|\n \"#{u[0]},#{u[1]},#{u[2]},#{u[3]},#{u[4]},#{u[5]}\"\n end.join(\"\\n\")}\"\nend\nnil\n"}}],"types":[{"html_id":"drivers/Place/BookingApprovalWorkflows/Reminders","path":"Place/BookingApprovalWorkflows/Reminders.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::Reminders","name":"Reminders","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(crons: Array(String), zones: Hash(String, Array(String)))","aliased_html":"{crons: Array(String), zones: Hash(String, Array(String))}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}},{"html_id":"drivers/Place/BookingApprovalWorkflows/SiteDetails","path":"Place/BookingApprovalWorkflows/SiteDetails.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::SiteDetails","name":"SiteDetails","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approval_workflows.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(approval: String, name: String, support_email: String, attachments: Hash(String, String) | Nil)","aliased_html":"{approval: String, name: String, support_email: String, attachments: Hash(String, String)?}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}}]},{"html_id":"drivers/Place/BookingApprover","path":"Place/BookingApprover.html","kind":"class","full_name":"Place::BookingApprover","name":"BookingApprover","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approver.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve_missed-instance-method","name":"approve_missed","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L78"},"def":{"name":"approve_missed","visibility":"Public","body":"booking_type = @approve_booking_types[0]? || \"desk\"\nbookings = Array(Booking).from_json(staff_api.query_bookings(type: booking_type, zones: [get_building_id], approved: false, period_end: 8.weeks.from_now.to_unix).get.to_json)\nbookings.each do |booking|\n booking.action = \"create\"\n approve_booking(booking)\nend\n\"found #{bookings.size} missed\"\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L37"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n approve_booking(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@approve_zones = (setting?(Array(String), :approve_zones)) || ([] of String)\n@approve_booking_types = (setting?(Array(String), :approve_booking_types)) || ([] of String)\nschedule.clear\nschedule.every(10.minutes) do\n approve_missed\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_approver.cr#L96"},"def":{"name":"status","visibility":"Public","body":"{bookings_approved: @bookings_approved}"}}]},{"html_id":"drivers/Place/BookingCheckInHelper","path":"Place/BookingCheckInHelper.html","kind":"class","full_name":"Place::BookingCheckInHelper","name":"BookingCheckInHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_check_in_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"current_meeting:PlaceCalendar::Event|Nil-instance-method","name":"current_meeting","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L86"},"def":{"name":"current_meeting","return_type":"PlaceCalendar::Event | ::Nil","visibility":"Public","body":"@current_meeting"}},{"html_id":"ignore_long_meeting?:Bool-instance-method","name":"ignore_long_meeting?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L135"},"def":{"name":"ignore_long_meeting?","return_type":"Bool","visibility":"Public","body":"meeting = current_meeting\nif meeting\nelse\n return false\nend\nevent_end = meeting.event_end\nif event_end\nelse\n return true\nend\nignore_length = @ignore_longer_than\nif ignore_length\nelse\n return false\nend\nmeeting_length = event_end - meeting.event_start\nmeeting_length >= ignore_length\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L13"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"meeting_pending?:Bool-instance-method","name":"meeting_pending?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L84"},"def":{"name":"meeting_pending?","return_type":"Bool","visibility":"Public","body":"@meeting_pending"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L69"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L99"},"def":{"name":"on_update","visibility":"Public","body":"@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n@decline_message = setting?(String, :decline_message)\n@ignore_longer_than = (setting?(Int32, :ignore_longer_than)).try(&.minutes)\n@prompt_after = ((setting?(Int32, :prompt_after)) || 10).minutes\n@present_from = ((setting?(Int32, :present_from)) || 5).minutes\n@auto_cancel = (setting?(Bool, :auto_cancel)) || false\n@check_in_url = (setting?(String, :check_in_url)) || \"\"\n@no_show_url = (setting?(String, :no_show_url)) || \"\"\nif @check_in_url.presence\n @domain = (URI.parse(@check_in_url)).host.not_nil!\nend\nsubscriptions.clear\nbookings.subscribe(:current_booking) do |_sub, pending|\n event = ::Union(PlaceCalendar::Event, ::Nil).from_json(pending)\n update_current(event)\nend\nbookings.subscribe(:current_pending) do |_sub, pending|\n update_pending(pending == \"true\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nmonitor(\"#{config.control_system.not_nil!.id}/guest/bookings/prompted\") do |_sub, response|\n checkin_or_end_meeting(**NamedTuple(id: String, check_in: Bool).from_json(response))\nend\ntimezone = (setting?(String, :time_zone)) || config.control_system.not_nil!.timezone.presence\nif timezone\n @timezone = Time::Location.load(timezone)\nend\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_check_in_helper.cr#L85"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}}]},{"html_id":"drivers/Place/BookingNotifier","path":"Place/BookingNotifier.html","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"calendar-instance-method","name":"calendar","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L60"},"def":{"name":"calendar","visibility":"Public","body":"system[:Calendar]"}},{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_notifier.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L301"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg2|\n _event = __arg2[0]\n entered = __arg2[1]\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @notify_lookup.each do |building_zone, details|\n building_name = details.name\n email = details.email\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, building_name, building_key, email, details.notify_booking_owner, details.notify_manager, attachments, months_from_now)\n end\nend\n"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L444"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_notifier.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L249"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @notify_lookup[zone_id]?\n if details\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details, attachments}\n end\nend\n{nil, nil, nil}\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_notifier.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L425"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (calendar.get_user_manager(staff_email)).get\n (manager[\"email\"]? || manager[\"username\"]).as_s\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n nil\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L56"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L64"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L106"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\n@notify_lookup = setting(Hash(String, SiteDetails), :notify)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\n@poll_bookings = setting(Bool, :poll_bookings)\n@poll_every_minutes = setting(Int32, :poll_every_minutes)\nschedule.clear\nif @poll_bookings\n schedule.every(@poll_every_minutes.minutes) do\n check_bookings\n end\nend\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L433"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/BookingNotifier/SiteDetails","path":"Place/BookingNotifier/SiteDetails.html","kind":"class","full_name":"Place::BookingNotifier::SiteDetails","name":"SiteDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/BookingNotifier","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_notifier.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Hash(String,String)-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L93"},"def":{"name":"attachments","return_type":"Hash(String, String)","visibility":"Public","body":"if (value = @attachments).nil?\n @attachments = ({} of String => String)\nelse\n value\nend"}},{"html_id":"email:Array(String)-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L92"},"def":{"name":"email","return_type":"Array(String)","visibility":"Public","body":"if (value = @email).nil?\n @email = ([] of String)\nelse\n value\nend"}},{"html_id":"include_network_credentials:Bool|Nil-instance-method","name":"include_network_credentials","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L96"},"def":{"name":"include_network_credentials","return_type":"Bool | ::Nil","visibility":"Public","body":"@include_network_credentials"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L91"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"network_group_ids:Array(String)-instance-method","name":"network_group_ids","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L103"},"def":{"name":"network_group_ids","return_type":"Array(String)","visibility":"Public","body":"if (value = @network_group_ids).nil?\n @network_group_ids = ([] of String)\nelse\n value\nend"}},{"html_id":"network_password_exclude:String|Nil-instance-method","name":"network_password_exclude","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L98"},"def":{"name":"network_password_exclude","return_type":"String | ::Nil","visibility":"Public","body":"@network_password_exclude"}},{"html_id":"network_password_length:Int32|Nil-instance-method","name":"network_password_length","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L97"},"def":{"name":"network_password_length","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_length"}},{"html_id":"network_password_minimum_lowercase:Int32|Nil-instance-method","name":"network_password_minimum_lowercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L99"},"def":{"name":"network_password_minimum_lowercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_lowercase"}},{"html_id":"network_password_minimum_numbers:Int32|Nil-instance-method","name":"network_password_minimum_numbers","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L101"},"def":{"name":"network_password_minimum_numbers","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_numbers"}},{"html_id":"network_password_minimum_symbols:Int32|Nil-instance-method","name":"network_password_minimum_symbols","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L102"},"def":{"name":"network_password_minimum_symbols","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_symbols"}},{"html_id":"network_password_minimum_uppercase:Int32|Nil-instance-method","name":"network_password_minimum_uppercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L100"},"def":{"name":"network_password_minimum_uppercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_uppercase"}},{"html_id":"notify_booking_owner:Bool|Nil-instance-method","name":"notify_booking_owner","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L95"},"def":{"name":"notify_booking_owner","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_booking_owner"}},{"html_id":"notify_manager:Bool|Nil-instance-method","name":"notify_manager","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/booking_notifier.cr#L94"},"def":{"name":"notify_manager","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_manager"}}]}]},{"html_id":"drivers/Place/Bookings","path":"Place/Bookings.html","kind":"class","full_name":"Place::Bookings","name":"Bookings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUBSCRIPTION_LENGTH","name":"SUBSCRIPTION_LENGTH","value":"3.hours","doc":"the API reports that 6 days is the max:\nSubscription expiration can only be 10070 minutes in the future.","summary":"

the API reports that 6 days is the max: Subscription expiration can only be 10070 minutes in the future.

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"book_now(period_in_seconds:Int64,title:String|Nil=nil,owner:String|Nil=nil)-instance-method","name":"book_now","abstract":false,"args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"args_string":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","args_html":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L211"},"def":{"name":"book_now","args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"visibility":"Public","body":"title || (title = @default_title)\nstarting = Time.utc.to_unix\nending = starting + period_in_seconds\nif @next_pending || (status?(Bool, \"in_use\"))\n raise(\"the room is currently in use\")\nend\nif next_booking = upcoming\n if next_booking.event_start.to_unix < ending\n raise(\"unable to book due to clash\")\n end\nend\nlogger.debug do\n \"booking event #{title}, from #{starting}, to #{ending}, in #{@time_zone.name}, on #{@calendar_id}\"\nend\nroom_email = system.email.not_nil!\nif @application_permissions\n host_calendar = @calendar_id\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, true)]\n if owner && (!owner.empty?)\n attendees << (PlaceCalendar::Event::Attendee.new(owner, owner))\n end\nelse\n host_calendar = owner.presence || @calendar_id\n room_is_organizer = host_calendar == room_email\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, room_is_organizer)]\nend\nevent = calendar.create_event(title: title, event_start: starting, event_end: ending, description: \"\", attendees: attendees, location: status?(String, \"room_name\"), timezone: @time_zone.name, calendar_id: host_calendar)\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(2.seconds) do\n poll_events\n end\nend\nevent\n"}},{"html_id":"calendar_id:String-instance-method","name":"calendar_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L58"},"def":{"name":"calendar_id","return_type":"String","visibility":"Public","body":"@calendar_id"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/bookings.cr","line_number":474,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L474"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nsys_email = @calendar_id.downcase\nif (sys_email == mac_address.downcase) && (host = current.try(&.host))\n {location: \"meeting\", assigned_to: host, mac_address: sys_email}\nend\n"}},{"html_id":"checkin-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L184"},"def":{"name":"checkin","visibility":"Public","body":"if booking = pending\n start_meeting(booking.event_start.to_unix)\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L486"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\n[] of Nil\n"}},{"html_id":"end_meeting(meeting_start_time:Int64,notify:Bool=false,comment:String|Nil=nil):Nil-instance-method","name":"end_meeting","doc":"End either the current meeting early, or the pending meeting","summary":"

End either the current meeting early, or the pending meeting

","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","args_html":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","location":{"filename":"src/place/bookings.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L191"},"def":{"name":"end_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"cmeeting = current\nresult = if cmeeting && (cmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"deleting event #{cmeeting.title}, from #{@calendar_id}\"\n end\n calendar.delete_event(@calendar_id, cmeeting.id)\nelse\n nmeeting = upcoming\n if nmeeting && (nmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"declining event #{nmeeting.title}, from #{@calendar_id}\"\n end\n calendar.decline_event(@calendar_id, nmeeting.id, notify: notify, comment: comment)\n else\n raise(\"only the current or pending meeting can be cancelled\")\n end\nend\nresult.get\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(1.seconds) do\n poll_events\n end\nend\n"}},{"html_id":"is_stale?(timestamp:Int64|Nil):Bool-instance-method","name":"is_stale?","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"args_string":"(timestamp : Int64 | Nil) : Bool","args_html":"(timestamp : Int64 | Nil) : Bool","location":{"filename":"src/place/bookings.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L567"},"def":{"name":"is_stale?","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"if timestamp.nil?\n return self[:sensor_stale] = false\nend\nsensor_time = Time.unix(timestamp)\nstale_time = @sensor_stale_minutes.ago\nif sensor_time > stale_time\n self[:sensor_stale] = false\nelse\n @perform_sensor_search = true\n self[:sensor_stale] = true\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":445,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L445"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nemail = email.to_s.downcase\nusername = username.to_s.downcase\nmatching_events = [] of PlaceCalendar::Event\nif event = current\n emails = event.attendees.map() do |__arg1|\n __arg1.email.downcase\n end\n if host = event.host\n emails << host.downcase\n end\n if (emails.includes?(email)) || (emails.includes?(username))\n logger.debug do\n \"found user {#{email}, #{username}} in list of attendees\"\n end\n matching_events << event\n else\n if (!username.empty?) && emails.find(&.starts_with?(username))\n logger.debug do\n \"found email starting with username '#{username}' in list of attendees\"\n end\n matching_events << event\n end\n end\nend\nto_location_format(matching_events)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/bookings.cr","line_number":470,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L470"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(locate_user(email, username)).map(&.[](:mac))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L84"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@calendar_id = ((setting?(String, :calendar_id)).presence || system.email.not_nil!).downcase\n@perform_sensor_search = true\nschedule.in((Random.rand(30)).seconds + (Random.rand(30000)).milliseconds) do\n poll_events\nend\ncache_polling_period = ((setting?(UInt32, :cache_polling_period)) || 2_u32).minutes.total_milliseconds.to_i\ncache_polling_period = cache_polling_period + (Random.rand(5000))\ncache_random_period = cache_polling_period // 3\nschedule.every(cache_polling_period.milliseconds) do\n schedule.in((Random.rand(cache_random_period)).milliseconds) do\n poll_events\n end\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@default_title = (setting?(String, :book_now_default_title)).presence || \"Ad Hoc booking\"\nbook_now = setting?(Bool, :disable_book_now)\nnot_bookable = (setting?(Bool, :not_bookable)) || false\nself[:bookable] = bookable = not_bookable ? false : system.bookable\n@disable_book_now = book_now.nil? ? !bookable : !(!book_now)\n@disable_end_meeting = !(!(setting?(Bool, :disable_end_meeting)))\n@disable_book_now_host = (setting?(Bool, :disable_book_now_host)) || false\npending_period = (setting?(UInt32, :pending_period)) || 5_u32\n@pending_period = pending_period.minutes\npending_before = (setting?(UInt32, :pending_before)) || 5_u32\n@pending_before = pending_before.minutes\ncache_days = (setting?(UInt32, :cache_days)) || 30_u32\n@cache_days = cache_days.days\n@change_event_sync_delay = (setting?(UInt32, :change_event_sync_delay)) || 5_u32\n@last_booking_started = (setting?(Int64, :last_booking_started)) || 0_i64\n@include_cancelled_bookings = (setting?(Bool, :include_cancelled_bookings)) || false\n@application_permissions = (setting?(Bool, :application_permissions)) || false\n@sensor_stale_minutes = ((setting?(Int32, :sensor_stale_minutes)) || 8).minutes\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nschedule.cron(\"* * * * *\") do\n schedule.in((rand(1000)).milliseconds) do\n if list = self[:bookings]?\n check_current_booking(list.as_a)\n end\n end\nend\npush_notificaitons_configure\nself[:room_name] = ((setting?(String, :room_name)).presence || config.control_system.not_nil!.display_name.presence) || config.control_system.not_nil!.name\nself[:room_capacity] = (setting?(Int32, :room_capacity)) || config.control_system.not_nil!.capacity\nself[:default_title] = @default_title\nself[:disable_book_now_host] = @disable_book_now_host\nself[:disable_book_now] = @disable_book_now\nself[:disable_end_meeting] = @disable_end_meeting\nself[:pending_period] = pending_period\nself[:pending_before] = pending_before\nself[:control_ui] = setting?(String, :control_ui)\nself[:catering_ui] = setting?(String, :catering_ui)\nself[:room_image] = setting?(String, :room_image)\nself[:hide_meeting_details] = (setting?(Bool, :hide_meeting_details)) || false\nself[:hide_meeting_title] = (setting?(Bool, :hide_meeting_title)) || false\nself[:offline_color] = setting?(String, :offline_color)\nself[:offline_image] = setting?(String, :offline_image)\nself[:custom_qr_color] = setting?(String, :custom_qr_color)\nself[:custom_qr_url] = setting?(String, :custom_qr_url)\nself[:show_qr_code] = !((setting?(Bool, :hide_qr_code)) || false)\nself[:sensor_mac] = @sensor_mac = setting?(String, :sensor_mac)\nself[:min_duration] = (setting?(Int32, :min_duration)) || 15\nself[:max_duration] = (setting?(Int32, :max_duration)) || 480\nself[:enable_end_meeting_button] = (setting?(Bool, :enable_end_meeting_button)) || false\n"}},{"html_id":"poll_events:Nil-instance-method","name":"poll_events","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L257"},"def":{"name":"poll_events","return_type":"Nil","visibility":"Public","body":"begin\n if @polling\n return\n end\n @polling = true\n if @perform_sensor_search\n check_for_sensors\n end\n now = Time.local(@time_zone)\n start_of_day = now.at_beginning_of_day.to_unix\n cache_period = start_of_day + @cache_days.to_i\n logger.debug do\n \"polling events #{@calendar_id}, from #{start_of_day}, to #{cache_period}, in #{@time_zone.name}\"\n end\n events = (calendar.list_events(@calendar_id, start_of_day, cache_period, @time_zone.name, include_cancelled: @include_cancelled_bookings)).get.as_a.sort do |a, b|\n a[\"event_start\"].as_i64 <=> b[\"event_start\"].as_i64\n end\n self[:bookings] = events\n check_current_booking(events)\n events\nensure\n @polling = false\nend"}},{"html_id":"start_meeting(meeting_start_time:Int64):Nil-instance-method","name":"start_meeting","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"args_string":"(meeting_start_time : Int64) : Nil","args_html":"(meeting_start_time : Int64) : Nil","location":{"filename":"src/place/bookings.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L176"},"def":{"name":"start_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"starting meeting #{meeting_start_time}\"\nend\n@last_booking_started = meeting_start_time\ndefine_setting(:last_booking_started, meeting_start_time)\nself[:last_booking_started] = meeting_start_time\ncheck_current_booking(self[:bookings].as_a)\n"}},{"html_id":"sub_renewed_at:Time-instance-method","name":"sub_renewed_at","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":671,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L671"},"def":{"name":"sub_renewed_at","return_type":"Time","visibility":"Public","body":"@sub_renewed_at"}}],"types":[{"html_id":"drivers/Place/Bookings/NotifyEvent","path":"Place/Bookings/NotifyEvent.html","kind":"struct","full_name":"Place::Bookings::NotifyEvent","name":"NotifyEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L600"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L601"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_secret:String-instance-method","name":"client_secret","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L607"},"def":{"name":"client_secret","return_type":"String","visibility":"Public","body":"@client_secret"}},{"html_id":"event_type:NotifyType-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":603,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L603"},"def":{"name":"event_type","return_type":"NotifyType","visibility":"Public","body":"@event_type"}},{"html_id":"expiration_time:Time-instance-method","name":"expiration_time","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":610,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L610"},"def":{"name":"expiration_time","return_type":"Time","visibility":"Public","body":"@expiration_time"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L604"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_uri:String-instance-method","name":"resource_uri","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L605"},"def":{"name":"resource_uri","return_type":"String","visibility":"Public","body":"@resource_uri"}},{"html_id":"subscription_id:String-instance-method","name":"subscription_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L606"},"def":{"name":"subscription_id","return_type":"String","visibility":"Public","body":"@subscription_id"}}]},{"html_id":"drivers/Place/Bookings/NotifyType","path":"Place/Bookings/NotifyType.html","kind":"enum","full_name":"Place::Bookings::NotifyType","name":"NotifyType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L588"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Created","name":"Created","value":"0","doc":"resource event changes","summary":"

resource event changes

"},{"id":"Updated","name":"Updated","value":"1"},{"id":"Deleted","name":"Deleted","value":"2"},{"id":"Renew","name":"Renew","value":"3","doc":"subscription lifecycle event (MS only)","summary":"

subscription lifecycle event (MS only)

"},{"id":"Missed","name":"Missed","value":"4"},{"id":"Reauthorize","name":"Reauthorize","value":"5"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"created?-instance-method","name":"created?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":590,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L590"},"def":{"name":"created?","visibility":"Public","body":"self == Created"}},{"html_id":"deleted?-instance-method","name":"deleted?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L592"},"def":{"name":"deleted?","visibility":"Public","body":"self == Deleted"}},{"html_id":"missed?-instance-method","name":"missed?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L596"},"def":{"name":"missed?","visibility":"Public","body":"self == Missed"}},{"html_id":"reauthorize?-instance-method","name":"reauthorize?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":597,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L597"},"def":{"name":"reauthorize?","visibility":"Public","body":"self == Reauthorize"}},{"html_id":"renew?-instance-method","name":"renew?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":595,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L595"},"def":{"name":"renew?","visibility":"Public","body":"self == Renew"}},{"html_id":"updated?-instance-method","name":"updated?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L591"},"def":{"name":"updated?","visibility":"Public","body":"self == Updated"}}]},{"html_id":"drivers/Place/Bookings/ServiceName","path":"Place/Bookings/ServiceName.html","kind":"enum","full_name":"Place::Bookings::ServiceName","name":"ServiceName","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L583"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Google","name":"Google","value":"0"},{"id":"Office365","name":"Office365","value":"1"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"google?-instance-method","name":"google?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L584"},"def":{"name":"google?","visibility":"Public","body":"self == Google"}},{"html_id":"office365?-instance-method","name":"office365?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings.cr#L585"},"def":{"name":"office365?","visibility":"Public","body":"self == Office365"}}]}]},{"html_id":"drivers/Place/Calendar","path":"Place/Calendar.html","kind":"class","full_name":"Place::Calendar","name":"Calendar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/CalendarCommon","path":"Place/CalendarCommon.html","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon","abstract":false,"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"locations":[{"filename":"src/place/calendar_common.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"including_types":[{"html_id":"drivers/Microsoft/GraphAPI","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI"},{"html_id":"drivers/Place/Calendar","kind":"class","full_name":"Place::Calendar","name":"Calendar"},{"html_id":"drivers/Place/WorkspaceAPI","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L290"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"accepting event #{event_id} on #{calendar_id}\"\nend\nclient(&.accept_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"access_token(user_id:String|Nil=nil)-instance-method","name":"access_token","abstract":false,"args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String | Nil = nil)","args_html":"(user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L164"},"def":{"name":"access_token","args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.info do\n \"access token requested #{user_id}\"\nend\nclient(&.access_token(user_id))\n"}},{"html_id":"calendar_service_name-instance-method","name":"calendar_service_name","doc":"returns: google or office365","summary":"

returns: google or office365

","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L356"},"def":{"name":"calendar_service_name","visibility":"Public","body":"@client.not_nil!.client_id"}},{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L299"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nclient(&.create_event(user_id, event, calendar_id))\n"}},{"html_id":"create_notifier(resource:String,notification_url:String,expiration_time:Int64,client_secret:String|Nil=nil,lifecycle_notification_url:String|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"create_notifier","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"args_string":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","args_html":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L361"},"def":{"name":"create_notifier","args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(expiration_time)\nclient(&.create_notifier(resource, notification_url, expires, client_secret, lifecycle_notification_url: lifecycle_notification_url))\n"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L272"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"declining event #{event_id} on #{calendar_id}\"\nend\nclient(&.decline_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L281"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nclient(&.delete_event(user_id, event_id, calendar_id: calendar_id, notify: notify))\n"}},{"html_id":"delete_notifier(subscription:PlaceCalendar::Subscription):Nil-instance-method","name":"delete_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"args_string":"(subscription : PlaceCalendar::Subscription) : Nil","args_html":"(subscription : PlaceCalendar::Subscription) : Nil","location":{"filename":"src/place/calendar_common.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L380"},"def":{"name":"delete_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"return_type":"Nil","visibility":"Public","body":"client(&.delete_notifier(subscription))"}},{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/calendar_common.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L123"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/calendar_common.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L119"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"get_event(calendar_id:String,event_id:String,user_id:String|Nil=nil)-instance-method","name":"get_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L265"},"def":{"name":"get_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"fetching event #{event_id} on #{calendar_id}\"\nend\nuser_id = (user_id || @service_account.presence) || calendar_id\nclient(&.get_event(user_id, id: event_id, calendar_id: calendar_id))\n"}},{"html_id":"get_group(group_id:String)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L223"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_group(group_id)).to_place_group\n end\nend\n"}},{"html_id":"get_groups(user_id:String)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L170"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nclient(&.get_groups(user_id))\n"}},{"html_id":"get_members(group_id:String)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L176"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nclient(&.get_members(group_id))\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L188"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nclient(&.get_user_by_email(user_id))\n"}},{"html_id":"get_user_manager(user_id:String)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L201"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_user_manager(user_id)).to_place_calendar\n end\nend\n"}},{"html_id":"in_flight_size-instance-method","name":"in_flight_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L115"},"def":{"name":"in_flight_size","visibility":"Public","body":"@flight_size"}},{"html_id":"list_calendars(user_id:String)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L194"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nclient(&.list_calendars(user_id))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,ical_uid:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L233"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"location = time_zone ? Time::Location.load(time_zone) : Time::Location.local\nperiod_start = (Time.unix(period_start)).in(location)\nperiod_end = (Time.unix(period_end)).in(location)\nuser_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"listing events for #{calendar_id}\"\nend\n_client = @client.not_nil!\nevents = if _client.client_id == (:google)\n (_client.calendar.as(PlaceCalendar::Google)).list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid, quotaUser: calendar_id[0..39])\nelse\n _client.list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid)\nend\nif ical_uid\n events = events.select do |e|\n e.ical_uid == ical_uid\n end\nend\nevents\n"}},{"html_id":"list_groups(query:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil)","args_html":"(query : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L212"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.list_groups(query)).value.map(&.to_place_group)\n end\nend\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L182"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nclient(&.list_users(query, limit))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L40"},"def":{"name":"on_unload","visibility":"Public","body":"@in_flight.close\n@channel.close\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L49"},"def":{"name":"on_update","visibility":"Public","body":"if proxy_config = setting?(NamedTuple(host: String, port: Int32, auth: NamedTuple(username: String, password: String) | ::Nil), :proxy)\n ConnectProxy.proxy_uri = \"http://#{proxy_config[:host]}:#{proxy_config[:port]}\"\n if proxy_auth = proxy_config[:auth]\n ConnectProxy.username = proxy_auth[:username]\n ConnectProxy.password = proxy_auth[:password]\n end\nend\nConnectProxy.verify_tls = !(!(setting?(Bool, :proxy_verify_tls)))\nConnectProxy.disable_crl_checks = !(!(setting?(Bool, :proxy_disable_crl)))\n@service_account = (setting?(String, :calendar_service_account)).presence\n@rate_limit = (setting?(Int32, :rate_limit)) || 10\n@wait_time = 1.second / @rate_limit\n@mailer_from = (setting?(String, :mailer_from)).presence || @service_account\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n@in_flight.close\n@channel.close\n@client = begin\n config = setting(GoogleParams, :calendar_config)\n cli = PlaceCalendar::Client.new(**config)\n @channel = Channel(Nil).new(9)\n @in_flight = Channel(Nil).new(10)\n spawn do\n rate_limiter\n end\n cli\nrescue\n config = setting(OfficeParams, :calendar_config)\n PlaceCalendar::Client.new(**config)\nend\n"}},{"html_id":"queue_size-instance-method","name":"queue_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L111"},"def":{"name":"queue_size","visibility":"Public","body":"@queue_size"}},{"html_id":"reauthorize_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"reauthorize_notifier","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L374"},"def":{"name":"reauthorize_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = new_expiration_time ? Time.unix(new_expiration_time) : nil\nclient(&.reauthorize_notifier(subscription, expires))\n"}},{"html_id":"renew_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64):PlaceCalendar::Subscription-instance-method","name":"renew_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L367"},"def":{"name":"renew_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(new_expiration_time)\nclient(&.renew_notifier(subscription, expires))\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L128"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"sender = case from\nin String\n from\nin Array(String)\n from.first? || @mailer_from.not_nil!\nin Nil\n @mailer_from.not_nil!\nend\nlogger.debug do\n \"an email was sent from: #{sender}, to: #{to}\"\nend\nclient do |__arg0|\n __arg0.calendar.send_mail(sender, to, subject, message_plaintext, message_html, resource_attachments, attachments, cc, bcc)\nend\n"}},{"html_id":"update_event(event:PlaceCalendar::Event,user_id:String|Nil=nil,calendar_id:String|Nil=nil)-instance-method","name":"update_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"args_string":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","args_html":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L346"},"def":{"name":"update_event","args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"updating event #{event.id} on #{event.host}\"\nend\nclient(&.update_event(user_id: user_id, event: event, calendar_id: calendar_id))\n"}}],"types":[{"html_id":"drivers/Place/CalendarCommon/GoogleParams","path":"Place/CalendarCommon/GoogleParams.html","kind":"alias","full_name":"Place::CalendarCommon::GoogleParams","name":"GoogleParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String)","aliased_html":"{scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}},{"html_id":"drivers/Place/CalendarCommon/OfficeParams","path":"Place/CalendarCommon/OfficeParams.html","kind":"alias","full_name":"Place::CalendarCommon::OfficeParams","name":"OfficeParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_common.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(tenant: String, client_id: String, client_secret: String, conference_type: String | Nil)","aliased_html":"{tenant: String, client_id: String, client_secret: String, conference_type: String?}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}}]},{"html_id":"drivers/Place/CalendarDelegated","path":"Place/CalendarDelegated.html","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L211"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nprocess((client(act_as_user)).post(\"/api/staff/v1/events\", body: event.to_json, headers: act_as(act_as_user)))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L178"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nif notify\n begin\n process((client(act_as_user)).post(\"/api/staff/v1/events/#{event_id}/decline\", params: params, headers: act_as(act_as_user)))\n rescue\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\n end\nelse\n params[\"notify\"] = \"false\"\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\nend\n"}},{"html_id":"get_group(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L129"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_groups(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L82"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/groups\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_members(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L88"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}/members\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L101"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user_manager(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L114"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/manager\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_calendars(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L107"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/calendars\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L149"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing events for #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nparams[\"period_start\"] = period_start.to_s\nparams[\"period_end\"] = period_end.to_s\nif include_cancelled\n params[\"include_cancelled\"] = \"true\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/events\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_groups(query:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L121"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L94"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/people\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L53"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L57"},"def":{"name":"on_update","visibility":"Public","body":"rate_limit = (setting?(Float64, :rate_limit)) || 3.0\n@limiter = RateLimiter.new(rate: rate_limit, max_burst: rate_limit.to_i)\n@api_key = api_key = setting(String, :api_key)\ntransport.before_request do |request|\n if request.headers[\"Authorization\"]?\n else\n request.headers[\"X-API-Key\"] = api_key\n end\nend\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n"}}],"types":[{"html_id":"drivers/Place/CalendarDelegated/User","path":"Place/CalendarDelegated/User.html","kind":"struct","full_name":"Place::CalendarDelegated::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":255,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L255"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/CalendarDelegated","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/calendar_delegated.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L256"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L259"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L260"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/calendar_delegated.cr#L258"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Chat","path":"Place/Chat.html","kind":"module","full_name":"Place::Chat","name":"Chat","abstract":false,"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L4"},{"filename":"src/place/chat/health_rooms_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Chat/ConferenceDetails","path":"Place/Chat/ConferenceDetails.html","kind":"struct","full_name":"Place::Chat::ConferenceDetails","name":"ConferenceDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(place_id:String,space_id:String,host_pin:String,guest_pin:String)-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"args_string":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","args_html":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L16"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, space_id, host_pin, guest_pin)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L14"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"guest_pin:String-instance-method","name":"guest_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L11"},"def":{"name":"guest_pin","return_type":"String","visibility":"Public","body":"@guest_pin"}},{"html_id":"host_pin:String-instance-method","name":"host_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L10"},"def":{"name":"host_pin","return_type":"String","visibility":"Public","body":"@host_pin"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L8"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L9"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}}]},{"html_id":"drivers/Place/Chat/HealthRooms","path":"Place/Chat/HealthRooms.html","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EXAMPLE_SMS_TEMPLATE","name":"EXAMPLE_SMS_TEMPLATE","value":"\"patient %{patient_name} is waiting in %{room_name} for an appointment at %{appointment_time}\""}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"instance_methods":[{"html_id":"guest_mark_as_contacted(rtc_user_id:String,session_id:String,contacted:Bool=true):Bool-instance-method","name":"guest_mark_as_contacted","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"args_string":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","args_html":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L808"},"def":{"name":"guest_mark_as_contacted","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"return_type":"Bool","visibility":"Public","body":"found = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n if participant = meeting.participants[rtc_user_id]?\n found = true\n participant.contacted = contacted\n end\n end\nend\nlogger.debug do\n \"[meet] marking guest #{rtc_user_id} as contacted: #{contacted} in session #{session_id}\"\nend\nif found\n update_meeting_state(session_id)\nend\nfound\n"}},{"html_id":"guest_move_session(rtc_user_id:String,session_id:String,new_session_id:String):Bool-instance-method","name":"guest_move_session","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","args_html":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L823"},"def":{"name":"guest_move_session","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"system_id = nil\nnew_meeting = nil\nif @recent_lock.synchronize do\n @recently_disconnected[rtc_user_id]?\nend\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as disconnected\"\n end\n raise(\"can't move disconnected users, please wait for reconnection or kick\")\nend\n@meeting_mutex.synchronize do\n if (meeting = @meetings[session_id]?) && (new_meeting = @meetings[new_session_id]?)\n if participant = meeting.remove(rtc_user_id)\n system_id = meeting.system_id\n new_meeting.add(participant)\n if meeting.empty?\n @meetings.delete(session_id)\n @room_mutex.synchronize do\n @rooms[system_id].try(&.delete(session_id))\n end\n end\n end\n end\nend\nif system_id && new_meeting\n logger.debug do\n \"[meet] moving user #{rtc_user_id} into #{new_session_id} from #{session_id}\"\n end\n update_meeting_state(session_id, system_id)\n update_meeting_state(new_session_id)\n conference = new_meeting.conference\n staff_api.transfer_user(rtc_user_id, new_session_id, {space_id: conference.space_id, guest_pin: conference.guest_pin})\nelse\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as could not find session\"\n end\nend\n!(!system_id)\n"}},{"html_id":"meeting_end(session_id:String)-instance-method","name":"meeting_end","doc":"removes the meeting from the list and kicks anyone left in the meeting","summary":"

removes the meeting from the list and kicks anyone left in the meeting

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L778"},"def":{"name":"meeting_end","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nsystem_id = nil\nmeeting = nil\nlogger.debug do\n \"[meet] ending meeting #{session_id} ended by #{placeos_user_id}\"\nend\n@meeting_mutex.synchronize do\n meeting = @meetings.delete(session_id)\n if meeting\n else\n raise(\"meeting not found\")\n end\n system_id = meeting.system_id\n @room_mutex.synchronize do\n if sessions = @rooms[system_id]?\n sessions.delete(session_id)\n if sessions.empty?\n @rooms.delete(system_id)\n end\n end\n end\nend\nmeeting.not_nil!.participants.keys.each do |rtc_user_id|\n staff_api.kick_user(rtc_user_id, session_id, \"meeting ended\")\nend\nupdate_meeting_state(session_id, system_id.as(String))\n"}},{"html_id":"meeting_join(rtc_user_id:String,session_id:String,type:String|Nil=nil,system_id:String|Nil=nil,text_chat_only:Bool|Nil=nil):ConferenceDetails-instance-method","name":"meeting_join","doc":"this is how staff members create a meeting room\nor join an existing meeting","summary":"

this is how staff members create a meeting room or join an existing meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","args_html":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","location":{"filename":"src/place/chat/health_rooms.cr","line_number":653,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L653"},"def":{"name":"meeting_join","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"return_type":"ConferenceDetails","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nuser_details = (staff_api.user(placeos_user_id)).get\nuser_name = user_details[\"name\"].as_s\nparticipant = Participant.new(user_id: rtc_user_id, name: user_name, email: user_details[\"email\"].as_s, type: type, staff_user_id: placeos_user_id, text_chat_only: text_chat_only)\n@recent_lock.synchronize do\n @recently_disconnected.delete(rtc_user_id)\nend\nmeeting = nil\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n system_id = meeting.system_id\n end\nend\nif system_id\nelse\n raise(\"must provide a system id if there is not an existing session\")\nend\nsystem_id = system_id.as(String)\ntimezone = meeting.try(&.timezone) || (timezone_system(system_id))\nlogger.debug do\n if meeting\n \"[meet] joining existing meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n else\n \"[meet] creating new meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n end\nend\nif meeting\nelse\n conference = pool_checkout_conference\nend\n@meeting_mutex.synchronize do\n meeting = if meet = @meetings[session_id]?\n system_id = meet.system_id\n meet.add(participant)\n meet\n else\n conference = conference || pool_checkout_conference\n meet = Meeting.new(system_id.as(String), session_id, conference, participant)\n meet.timezone = timezone\n meet\n end\n @meetings[session_id] = meeting\n conference = meeting.conference\n @room_mutex.synchronize do\n sessions = @rooms[system_id]? || ([] of SessionId)\n if sessions.includes?(session_id)\n else\n sessions << session_id\n end\n @rooms[system_id] = sessions\n end\nend\nupdate_meeting_state(session_id, system_id.as(String))\nconference.as(ConferenceDetails)\n"}},{"html_id":"meeting_kick(rtc_user_id:String,session_id:String)-instance-method","name":"meeting_kick","doc":"kicks an individual from a meeting","summary":"

kicks an individual from a meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String)","args_html":"(rtc_user_id : String, session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L766"},"def":{"name":"meeting_kick","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.warn do\n \"[meet] kicking user #{rtc_user_id} from session #{session_id}, kicked by: #{placeos_user_id}\"\nend\nstaff_api.kick_user(rtc_user_id, session_id, \"kicked by host\")\nuser_exited(rtc_user_id)\n"}},{"html_id":"meeting_leave(rtc_user_id:String,session_id:String):Nil-instance-method","name":"meeting_leave","doc":"the user is planning of leaving the meeting or has left","summary":"

the user is planning of leaving the meeting or has left

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String) : Nil","args_html":"(rtc_user_id : String, session_id : String) : Nil","location":{"filename":"src/place/chat/health_rooms.cr","line_number":758,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L758"},"def":{"name":"meeting_leave","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.debug do\n \"[meet] user leaving #{rtc_user_id} (#{placeos_user_id}) session #{session_id}\"\nend\nmeeting_remove_user(rtc_user_id, session_id, placeos_user_id)\n"}},{"html_id":"meeting_move_room(session_id:String,system_id:String):Bool-instance-method","name":"meeting_move_room","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(session_id : String, system_id : String) : Bool","args_html":"(session_id : String, system_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":615,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L615"},"def":{"name":"meeting_move_room","args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"old_system_id = nil\nmoved = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n old_system_id = meeting.system_id\n meeting.system_id = system_id\n moved = true\n @room_mutex.synchronize do\n if room_sessions = @rooms[old_system_id]?\n room_sessions.delete(session_id)\n if room_sessions.empty?\n @rooms.delete(old_system_id)\n self[old_system_id] = nil\n end\n sessions = @rooms[system_id]? || ([] of SessionId)\n sessions << session_id\n @rooms[system_id] = sessions\n end\n end\n end\nend\nlogger.debug do\n \"[meet] moving session: #{session_id} to system #{system_id} from #{old_system_id}\"\nend\nif moved\n update_meeting_state(session_id, system_id, old_system_id)\nend\nmoved\n"}},{"html_id":"meeting_state_request_save-instance-method","name":"meeting_state_request_save","doc":"use this to trigger a save","summary":"

use this to trigger a save

","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L88"},"def":{"name":"meeting_state_request_save","visibility":"Public","body":"@save_requested.send(nil)"}},{"html_id":"notify_config(system_id:String,timezone:String)-instance-method","name":"notify_config","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(system_id : String, timezone : String)","args_html":"(system_id : String, timezone : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":491,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L491"},"def":{"name":"notify_config","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"timezone = Time::Location.load(timezone)\nraw_settings = (staff_api.metadata(system_id, \"settings\")).get[\"settings\"]?.try(&.to_json)\nsettings = raw_settings ? RoomSettings.from_json(raw_settings, root: \"details\") : RoomSettings.new\ndefault_notifications = settings.notifications\nroom_users = settings.members.compact_map do |member|\n if member.available?\n else\n next\n end\n begin\n user_data = (staff_api.user(member.id)).get.as_h\n member.name = (user_data[\"nickname\"]? || user_data[\"name\"]).as_s\n member.email = user_data[\"email\"].as_s\n member.phone = user_data[\"phone\"]?.try(&.as_s)\n notify_settings = if user_settings = (staff_api.metadata(member.id, \"settings\")).get[\"settings\"]?.try(&.[]?(\"details\")).try(&.to_json)\n begin\n NotificationSettings.from_json(user_settings, root: \"notifications\")\n rescue parse_error\n logger.warn(exception: parse_error) do\n \"failed to parse user #{member.id} notification settings\"\n end\n default_notifications\n end\n else\n default_notifications\n end\n if notify_settings.enabled?\n else\n next\n end\n member.notifications = notify_settings\n member\n rescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain user #{member.id} metadata\"\n end\n nil\n end\nend\nsettings.members = room_users\nsettings.timezone = timezone\nsettings\n"}},{"html_id":"notify_inspect_meeting(session_id:String)-instance-method","name":"notify_inspect_meeting","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L481"},"def":{"name":"notify_inspect_meeting","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"meeting = @meeting_mutex.synchronize do\n @meetings[session_id]?.try(&.dup)\nend\nif meeting\nelse\n raise(\"meeting #{session_id} not found\")\nend\nsystem_info, room_settings = notify_load_notifications(meeting)\nmembers = room_settings.try do |__arg8|\n __arg8.members.map do |member|\n {member: member, notifications: member.notifications}\n end\nend\n{settings: room_settings, members: members}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n meeting_state_perform_save\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@update_mutex.synchronize do\n if @update_expected > 0\n @update_expected = @update_expected - 1\n logger.debug do\n \"[admin] updating settings...\"\n end\n return\n end\nend\nlogger.debug do\n \"[admin] updating settings...\"\nend\nis_spec = (setting?(Bool, :is_spec)) || false\ndomain = setting(String, :domain_id)\n@sms_source = setting?(String, :sms_source)\n@sms_template = (setting?(String, :sms_template)) || EXAMPLE_SMS_TEMPLATE\n@notify_no_time = (setting?(String, :notify_no_time)) || \"no time specified\"\n@pool_target_size = (setting?(Int32, :pool_size)) || 10\nsystem_id = config.control_system.not_nil!.id\n@disconnect_timeout = ((setting?(Int32, :disconnect_timeout)) || 3).minutes\n@timezone_default = nil\nschedule.clear\nschedule.every(@disconnect_timeout / 3) do\n cleanup_disconnected\nend\nschedule.every(5.minutes) do\n pool_cleanup\nend\nif is_spec\nelse\n schedule.in(1.second) do\n pool_cleanup\n end\nend\nmonitoring = \"#{domain}/chat/#{system_id}/guest/entry\"\nself[:monitoring] = monitoring\nsubscriptions.clear\nmeeting_state_restore\nmonitor(monitoring) do |_subscription, payload|\n new_guest(payload)\nend\nmonitor(\"#{domain}/chat/user/joined\") do |_subscription, payload|\n user_joined(payload)\nend\nmonitor(\"#{domain}/chat/user/exited\") do |_subscription, payload|\n logger.debug do\n \"[signal] user exited: #{payload}\"\n end\n user_id = (NamedTuple(user_id: String).from_json(payload))[:user_id]\n user_exited(user_id)\nend\nmonitor(\"#{domain}/chat/user/left\") do |_subscription, payload|\n user_left(payload)\nend\nlogger.debug do\n \"[admin] settings update success!\"\nend\n"}},{"html_id":"pool_checkout_conference:ConferenceDetails-instance-method","name":"pool_checkout_conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":939,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L939"},"def":{"name":"pool_checkout_conference","return_type":"ConferenceDetails","visibility":"Public","body":"meeting = @pool_lock.synchronize do\n if @pool_meet.size > 0\n @pool_size = @pool_size - 1\n @pool_meet.shift\n end\nend\nlogger.debug do\n \"[pool] Checking out meeting, available in pool? #{!meeting.nil?}\"\nend\nspawn do\n pool_ensure_size\nend\nmeeting || new_conference\n"}},{"html_id":"pool_clear_conferences:Nil-instance-method","name":"pool_clear_conferences","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":953,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L953"},"def":{"name":"pool_clear_conferences","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"[pool] Clearing #{@pool_size} meetings from pool\"\nend\n@pool_lock.synchronize do\n @pool_size = 0\n @pool_meet = [] of ConferenceDetails\nend\npool_ensure_size\n"}},{"html_id":"pool_ensure_size:Nil-instance-method","name":"pool_ensure_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":909,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L909"},"def":{"name":"pool_ensure_size","return_type":"Nil","visibility":"Public","body":"required = 0\n@pool_lock.synchronize do\n required = @pool_target_size - @pool_size\n @pool_size = @pool_target_size\nend\nlogger.debug do\n \"[pool] Maintaining meeting pool size, #{required} new meetings required\"\nend\nif required <= 0\n return\nend\ncreated = 0\nbegin\n required.times do\n meeting = new_conference\n @pool_lock.synchronize do\n @pool_meet << meeting\n end\n created = created + 1\n end\nrescue error\n logger.error(exception: error) do\n \"[pool] error creating pool meetings\"\n end\n if created != required\n diff = required - created\n @pool_lock.synchronize do\n @pool_size = @pool_size - diff\n end\n end\nend\n"}},{"html_id":"pool_size:Int32-instance-method","name":"pool_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L872"},"def":{"name":"pool_size","return_type":"Int32","visibility":"Public","body":"@pool_size"}},{"html_id":"pool_target_size:Int32-instance-method","name":"pool_target_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":873,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L873"},"def":{"name":"pool_target_size","return_type":"Int32","visibility":"Public","body":"@pool_target_size"}},{"html_id":"sessions_with_user(user_id:String):Array(String)-instance-method","name":"sessions_with_user","doc":"finds all the session_ids that includes the specified user_id","summary":"

finds all the session_ids that includes the specified user_id

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(String)","args_html":"(user_id : String) : Array(String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L399"},"def":{"name":"sessions_with_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"sessions = [] of String\n@meeting_mutex.synchronize do\n @meetings.each do |session_id, meeting|\n if meeting.participants.has_key?(user_id)\n sessions << session_id\n end\n end\nend\nsessions\n"}},{"html_id":"timezone_default:String-instance-method","name":"timezone_default","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L471"},"def":{"name":"timezone_default","return_type":"String","visibility":"Public","body":"if (value = @timezone_default).nil?\n @timezone_default = (system.timezone.presence || \"UTC\")\nelse\n value\nend"}},{"html_id":"timezone_system(system_id:String)-instance-method","name":"timezone_system","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":473,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L473"},"def":{"name":"timezone_system","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"begin\n (staff_api.get_system(system_id)).get[\"timezone\"]?.try() do |__arg6|\n __arg6.as_s.presence\n end || timezone_default\nrescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain timezone information for #{system_id}\"\n end\n timezone_default\nend"}}],"types":[{"html_id":"drivers/Place/Chat/HealthRooms/SessionId","path":"Place/Chat/HealthRooms/SessionId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SessionId","name":"SessionId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L602"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"session id == the webrtc session id","summary":"

session id == the webrtc session id

"},{"html_id":"drivers/Place/Chat/HealthRooms/SystemId","path":"Place/Chat/HealthRooms/SystemId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SystemId","name":"SystemId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms.cr#L605"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"system id == room","summary":"

system id == room

"}]},{"html_id":"drivers/Place/Chat/Meeting","path":"Place/Chat/Meeting.html","kind":"class","full_name":"Place::Chat::Meeting","name":"Meeting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(system_id:String,session_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L139"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, session_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(system_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L128"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"add(participant:Participant):Participant-instance-method","name":"add","abstract":false,"args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(participant : Participant) : Participant","args_html":"(participant : Participant) : Participant","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L147"},"def":{"name":"add","args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"return_type":"Participant","visibility":"Public","body":"@participants[participant.user_id] = participant\n@participants[@created_by_user_id]?.try(&.contacted = true)\n@updated_at = Time.utc\nparticipant\n"}},{"html_id":"conference:ConferenceDetails-instance-method","name":"conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference","return_type":"ConferenceDetails","visibility":"Public","body":"@conference"}},{"html_id":"conference=(conference:ConferenceDetails)-instance-method","name":"conference=","abstract":false,"args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"args_string":"(conference : ConferenceDetails)","args_html":"(conference : ConferenceDetails)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference=","args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"visibility":"Public","body":"@conference = conference"}},{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L84"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"created_by_participant-instance-method","name":"created_by_participant","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L161"},"def":{"name":"created_by_participant","visibility":"Public","body":"@participants[created_by_user_id]"}},{"html_id":"created_by_user_id:String-instance-method","name":"created_by_user_id","doc":"webrtc_user_id that created the meeting","summary":"

webrtc_user_id that created the meeting

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L81"},"def":{"name":"created_by_user_id","return_type":"String","visibility":"Public","body":"@created_by_user_id"}},{"html_id":"creator_contacted?-instance-method","name":"creator_contacted?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L165"},"def":{"name":"creator_contacted?","visibility":"Public","body":"@participants[created_by_user_id]?.try(&.contacted)"}},{"html_id":"empty?:Bool-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L181"},"def":{"name":"empty?","return_type":"Bool","visibility":"Public","body":"@participants.empty?"}},{"html_id":"has_participant?(webrtc_user_id:String):Participant|Nil-instance-method","name":"has_participant?","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L169"},"def":{"name":"has_participant?","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"@participants[webrtc_user_id]?"}},{"html_id":"mark_participant_connected(webrtc_user_id:String,state:Bool):String|Nil-instance-method","name":"mark_participant_connected","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(webrtc_user_id : String, state : Bool) : String | Nil","args_html":"(webrtc_user_id : String, state : Bool) : String | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L173"},"def":{"name":"mark_participant_connected","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"return_type":"String | ::Nil","visibility":"Public","body":"if participant = has_participant?(webrtc_user_id)\n old_state = participant.connected\n participant.connected = state\n if old_state == state\n else\n return system_id\n end\nend"}},{"html_id":"notify_members_on_entry:Array(RoomMember)-instance-method","name":"notify_members_on_entry","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L110"},"def":{"name":"notify_members_on_entry","return_type":"Array(RoomMember)","visibility":"Public","body":"settings = room_settings\nif settings\nelse\n return [] of RoomMember\nend\npatient = participants[created_by_user_id]\nclinician_selected = patient.chat_to_user_id.presence\ncontact = filter_members(clinician_selected)\nif contact.empty? && clinician_selected\n contact = filter_members(nil)\nend\nif contact.empty?\n contact = settings.members\nend\ncontact\n"}},{"html_id":"participants:Hash(String,Participant)-instance-method","name":"participants","doc":"webrtc_user_id => participant","summary":"

webrtc_user_id => participant

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L75"},"def":{"name":"participants","return_type":"Hash(String, Participant)","visibility":"Public","body":"@participants"}},{"html_id":"remove(webrtc_user_id:String):Participant|Nil-instance-method","name":"remove","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L154"},"def":{"name":"remove","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"if participant = @participants.delete(webrtc_user_id)\n @updated_at = Time.utc\n participant\nend"}},{"html_id":"room_settings:RoomSettings|Nil-instance-method","name":"room_settings","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings","return_type":"RoomSettings | ::Nil","visibility":"Public","body":"@room_settings"}},{"html_id":"room_settings=(room_settings:RoomSettings|Nil)-instance-method","name":"room_settings=","abstract":false,"args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"args_string":"(room_settings : RoomSettings | Nil)","args_html":"(room_settings : RoomSettings | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings=","args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"visibility":"Public","body":"@room_settings = room_settings"}},{"html_id":"session_id:String-instance-method","name":"session_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L76"},"def":{"name":"session_id","return_type":"String","visibility":"Public","body":"@session_id"}},{"html_id":"system:PlaceOS::Driver::DriverModel::ControlSystem|Nil-instance-method","name":"system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system","return_type":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil","visibility":"Public","body":"@system"}},{"html_id":"system=(system:PlaceOS::Driver::DriverModel::ControlSystem|Nil)-instance-method","name":"system=","abstract":false,"args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"args_string":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","args_html":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system=","args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"visibility":"Public","body":"@system = system"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::Meeting#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L78"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:String|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"updated_at:Time-instance-method","name":"updated_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L87"},"def":{"name":"updated_at","return_type":"Time","visibility":"Public","body":"@updated_at"}}]},{"html_id":"drivers/Place/Chat/MeetingSummary","path":"Place/Chat/MeetingSummary.html","kind":"struct","full_name":"Place::Chat::MeetingSummary","name":"MeetingSummary","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pos_system:String,call_count:Int32,participant_count:Int32,waiting_count:Int32,longest_wait_time:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"args_string":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","args_html":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L67"},"def":{"name":"new","args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(pos_system, call_count, participant_count, waiting_count, longest_wait_time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"call_count:Int32-instance-method","name":"call_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L62"},"def":{"name":"call_count","return_type":"Int32","visibility":"Public","body":"@call_count"}},{"html_id":"longest_wait_time:Int64-instance-method","name":"longest_wait_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L65"},"def":{"name":"longest_wait_time","return_type":"Int64","visibility":"Public","body":"@longest_wait_time"}},{"html_id":"participant_count:Int32-instance-method","name":"participant_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L64"},"def":{"name":"participant_count","return_type":"Int32","visibility":"Public","body":"@participant_count"}},{"html_id":"pos_system:String-instance-method","name":"pos_system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L61"},"def":{"name":"pos_system","return_type":"String","visibility":"Public","body":"@pos_system"}},{"html_id":"waiting_count:Int32-instance-method","name":"waiting_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L63"},"def":{"name":"waiting_count","return_type":"Int32","visibility":"Public","body":"@waiting_count"}}]},{"html_id":"drivers/Place/Chat/NotificationSettings","path":"Place/Chat/NotificationSettings.html","kind":"struct","full_name":"Place::Chat::NotificationSettings","name":"NotificationSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L30"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"chosen_provider?:Bool-instance-method","name":"chosen_provider?","doc":"only alert if the user selected me","summary":"

only alert if the user selected me

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L34"},"def":{"name":"chosen_provider?","return_type":"Bool","visibility":"Public","body":"@chosen_provider"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L35"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"on_enter:NotifyEventSettings-instance-method","name":"on_enter","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L37"},"def":{"name":"on_enter","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_enter"}},{"html_id":"on_escalate:NotifyEventSettings-instance-method","name":"on_escalate","doc":"settings if the patient has been waiting for a long time","summary":"

settings if the patient has been waiting for a long time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L43"},"def":{"name":"on_escalate","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_escalate"}},{"html_id":"on_recurr:NotifyEventSettings-instance-method","name":"on_recurr","doc":"how often should it send notifications","summary":"

how often should it send notifications

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L39"},"def":{"name":"on_recurr","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_recurr"}},{"html_id":"on_waiting:NotifyEventSettings-instance-method","name":"on_waiting","doc":"do we only notify if the user has been waiting for a certain amount of time","summary":"

do we only notify if the user has been waiting for a certain amount of time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L41"},"def":{"name":"on_waiting","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_waiting"}}]},{"html_id":"drivers/Place/Chat/NotifyEventSettings","path":"Place/Chat/NotifyEventSettings.html","kind":"struct","full_name":"Place::Chat::NotifyEventSettings","name":"NotifyEventSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L15"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"browser?:Bool-instance-method","name":"browser?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L19"},"def":{"name":"browser?","return_type":"Bool","visibility":"Public","body":"@browser"}},{"html_id":"delay:Int32-instance-method","name":"delay","doc":"minutes before notification","summary":"

minutes before notification

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L24"},"def":{"name":"delay","return_type":"Int32","visibility":"Public","body":"@delay"}},{"html_id":"email?:Bool-instance-method","name":"email?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L20"},"def":{"name":"email?","return_type":"Bool","visibility":"Public","body":"@email"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L18"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"sms?:Bool-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L21"},"def":{"name":"sms?","return_type":"Bool","visibility":"Public","body":"@sms"}}]},{"html_id":"drivers/Place/Chat/OpeningHours","path":"Place/Chat/OpeningHours.html","kind":"struct","full_name":"Place::Chat::OpeningHours","name":"OpeningHours","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(opening_times:Tuple(String,String,Bool))-class-method","name":"new","abstract":false,"args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"args_string":"(opening_times : Tuple(String, String, Bool))","args_html":"(opening_times : Tuple(String, String, Bool))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L73"},"def":{"name":"new","args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(opening_times)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"closes:Time::Span-instance-method","name":"closes","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L85"},"def":{"name":"closes","return_type":"Time::Span","visibility":"Public","body":"@closes"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L86"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_open?(now:Time)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"now","external_name":"now","restriction":"Time"}],"args_string":"(now : Time)","args_html":"(now : Time)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L88"},"def":{"name":"is_open?","args":[{"name":"now","external_name":"now","restriction":"Time"}],"visibility":"Public","body":"if enabled\nelse\n return false\nend\nstart_of_day = now.at_beginning_of_day\nopening = start_of_day + opens\nif now >= opening\nelse\n return false\nend\nclosing = start_of_day + closes\nnow < closing\n"}},{"html_id":"opens:Time::Span-instance-method","name":"opens","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L84"},"def":{"name":"opens","return_type":"Time::Span","visibility":"Public","body":"@opens"}}]},{"html_id":"drivers/Place/Chat/Participant","path":"Place/Chat/Participant.html","kind":"class","full_name":"Place::Chat::Participant","name":"Participant","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(user_id:String,name:String,email:Nil|String=nil,phone:Nil|String=nil,type:Nil|String=nil,staff_user_id:Nil|String=nil,text_chat_only:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"args_string":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","args_html":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L54"},"def":{"name":"new","args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(user_id, name, email, phone, type, staff_user_id, text_chat_only)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"appointment_time:String|Nil-instance-method","name":"appointment_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L37"},"def":{"name":"appointment_time","return_type":"String | ::Nil","visibility":"Public","body":"@appointment_time"}},{"html_id":"captcha:String|Nil-instance-method","name":"captcha","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha","return_type":"String | ::Nil","visibility":"Public","body":"@captcha"}},{"html_id":"captcha=(captcha:String|Nil)-instance-method","name":"captcha=","abstract":false,"args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"args_string":"(captcha : String | Nil)","args_html":"(captcha : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha=","args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"visibility":"Public","body":"@captcha = captcha"}},{"html_id":"chat_to_user_id:String|Nil-instance-method","name":"chat_to_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@chat_to_user_id"}},{"html_id":"chat_to_user_id=(chat_to_user_id:String|Nil)-instance-method","name":"chat_to_user_id=","abstract":false,"args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"args_string":"(chat_to_user_id : String | Nil)","args_html":"(chat_to_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id=","args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@chat_to_user_id = chat_to_user_id"}},{"html_id":"connected:Bool-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected","return_type":"Bool","visibility":"Public","body":"@connected"}},{"html_id":"connected=(connected:Bool)-instance-method","name":"connected=","abstract":false,"args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool)","args_html":"(connected : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected=","args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"@connected = connected"}},{"html_id":"contacted:Bool-instance-method","name":"contacted","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted","return_type":"Bool","visibility":"Public","body":"@contacted"}},{"html_id":"contacted=(contacted:Bool)-instance-method","name":"contacted=","abstract":false,"args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"args_string":"(contacted : Bool)","args_html":"(contacted : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted=","args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"visibility":"Public","body":"@contacted = contacted"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"session_id:String|Nil-instance-method","name":"session_id","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id","return_type":"String | ::Nil","visibility":"Public","body":"@session_id"}},{"html_id":"session_id=(session_id:String|Nil)-instance-method","name":"session_id=","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"args_string":"(session_id : String | Nil)","args_html":"(session_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id=","args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@session_id = session_id"}},{"html_id":"staff_user_id:String|Nil-instance-method","name":"staff_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@staff_user_id"}},{"html_id":"staff_user_id=(staff_user_id:String|Nil)-instance-method","name":"staff_user_id=","abstract":false,"args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"args_string":"(staff_user_id : String | Nil)","args_html":"(staff_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id=","args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@staff_user_id = staff_user_id"}},{"html_id":"text_chat_only:Bool|Nil-instance-method","name":"text_chat_only","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@text_chat_only"}},{"html_id":"text_chat_only=(text_chat_only:Bool|Nil)-instance-method","name":"text_chat_only=","abstract":false,"args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(text_chat_only : Bool | Nil)","args_html":"(text_chat_only : Bool | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only=","args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@text_chat_only = text_chat_only"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"user_id:String-instance-method","name":"user_id","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Place/Chat/RoomMember","path":"Place/Chat/RoomMember.html","kind":"class","full_name":"Place::Chat::RoomMember","name":"RoomMember","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"admin?-instance-method","name":"admin?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L67"},"def":{"name":"admin?","visibility":"Public","body":"roles.includes?(\"admin\")"}},{"html_id":"available?:Bool-instance-method","name":"available?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L49"},"def":{"name":"available?","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"clinician?-instance-method","name":"clinician?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L63"},"def":{"name":"clinician?","visibility":"Public","body":"roles.includes?(\"clinician\")"}},{"html_id":"coordinator?-instance-method","name":"coordinator?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L59"},"def":{"name":"coordinator?","visibility":"Public","body":"roles.includes?(\"coordinator\")"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L51"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomMember#notifications cannot be nil\"))\nelse\n value\nend"}},{"html_id":"notifications=(notifications:NotificationSettings)-instance-method","name":"notifications=","abstract":false,"args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"args_string":"(notifications : NotificationSettings)","args_html":"(notifications : NotificationSettings)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L57"},"def":{"name":"notifications=","args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"visibility":"Public","body":"@notifications = notifications"}},{"html_id":"notifications?:NotificationSettings|Nil-instance-method","name":"notifications?","abstract":false,"def":{"name":"notifications?","return_type":"NotificationSettings | ::Nil","visibility":"Public","body":"@notifications"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"roles:Array(String)-instance-method","name":"roles","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L54"},"def":{"name":"roles","return_type":"Array(String)","visibility":"Public","body":"@roles"}}]},{"html_id":"drivers/Place/Chat/RoomSettings","path":"Place/Chat/RoomSettings.html","kind":"class","full_name":"Place::Chat::RoomSettings","name":"RoomSettings","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"doc":"Room metadata => settings key","summary":"

Room metadata => settings key

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L102"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L105"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"is_open?(timezone:Time::Location)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L132"},"def":{"name":"is_open?","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"if available\nelse\n return false\nend\nif open_24_7\n return true\nend\nnow = Time.local(timezone)\nindex = now.day_of_week.to_i - 1\n(OpeningHours.new(opening_hours[index])).is_open?(now)\n"}},{"html_id":"members:Array(RoomMember)-instance-method","name":"members","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members","return_type":"Array(RoomMember)","visibility":"Public","body":"@members"}},{"html_id":"members=(members:Array(RoomMember))-instance-method","name":"members=","abstract":false,"args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"args_string":"(members : Array(RoomMember))","args_html":"(members : Array(RoomMember))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members=","args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"visibility":"Public","body":"@members = members"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L107"},"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n @notifications = (NotificationSettings.new)\nelse\n value\nend"}},{"html_id":"open_24_7:Bool-instance-method","name":"open_24_7","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L106"},"def":{"name":"open_24_7","return_type":"Bool","visibility":"Public","body":"@open_24_7"}},{"html_id":"opening:Hash(Time::DayOfWeek,OpeningHours)-instance-method","name":"opening","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L123"},"def":{"name":"opening","return_type":"Hash(Time::DayOfWeek, OpeningHours)","visibility":"Public","body":"if (value = @opening).nil?\n @opening = (begin\n times = {} of Time::DayOfWeek => OpeningHours\n opening_hours.each_with_index do |times, index|\n index = index + 1\n times[Time::DayOfWeek.from_value(index)] = OpeningHours.new(times)\n end\n times\n end)\nelse\n value\nend"}},{"html_id":"opening_hours:Array(Tuple(String,String,Bool))-instance-method","name":"opening_hours","doc":"0 index == Monday\n open time, close time, enabled","summary":"

0 index == Monday open time, close time, enabled

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L118"},"def":{"name":"opening_hours","return_type":"Array(Tuple(String, String, Bool))","visibility":"Public","body":"if (value = @opening_hours).nil?\n @opening_hours = ([] of Tuple(String, String, Bool))\nelse\n value\nend"}},{"html_id":"timezone:Time::Location-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"Time::Location","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomSettings#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:Time::Location)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/chat/health_notification_models.cr#L114"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:Time::Location|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"Time::Location | ::Nil","visibility":"Public","body":"@timezone"}}]}]},{"html_id":"drivers/Place/Demo","path":"Place/Demo.html","kind":"module","full_name":"Place::Demo","name":"Demo","abstract":false,"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Demo/Display","path":"Place/Demo/Display.html","kind":"class","full_name":"Place::Demo::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/demo/display.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L50"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"self[:audio_mute] = state\nself[:volume] = state ? 0 : @volume\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/demo/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L26"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:power] = state"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L30"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[:power].as_bool"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/place/demo/display.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"self[:input] = input"}},{"html_id":"test_setting(key:String,payload:JSON::Any)-instance-method","name":"test_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(key : String, payload : JSON::Any)","args_html":"(key : String, payload : JSON::Any)","location":{"filename":"src/place/demo/display.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L44"},"def":{"name":"test_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"define_setting(key, payload)\npayload\n"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/place/demo/display.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L40"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"self[:volume] = @volume = level.to_f64"}},{"html_id":"volume?:Float64-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L38"},"def":{"name":"volume?","return_type":"Float64","visibility":"Public","body":"@volume"}}],"types":[{"html_id":"drivers/Place/Demo/Display/Input","path":"Place/Demo/Display/Input.html","kind":"enum","full_name":"Place::Demo::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Place/Demo/Display","kind":"class","full_name":"Place::Demo::Display","name":"Display"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L18"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L15"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L13"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L14"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L17"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/display.cr#L16"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]},{"html_id":"drivers/Place/Demo/LocationServices","path":"Place/Demo/LocationServices.html","kind":"class","full_name":"Place::Demo::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/location_services.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/demo/location_services.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L28"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"case rand(3)\nwhen 0\n [{location: \"wireless\", coordinates_from: \"bottom-left\", x: 27.113065326953013, y: 36.85052447328469, lon: 55.27498749637098, lat: 25.20090608906493, mac: \"66e0fd1279ce\", variance: 4.5194575835650745, last_seen: 1601555879, building: @building_zone, level: @level_zone, map_width: 1234.2, map_height: 123.8}]\nwhen 1\n [{location: \"meeting\", mac: \"meeting.room@resource.org.com\", event_id: \"meet-1234567\", map_id: \"map-1234\", sys_id: @system_id, ends_at: 1.hour.from_now, private: false, level: @level_zone, building: @building_zone}]\nelse\n [] of String\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/location_services.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@building_zone = setting(String, :building_zone)\n@level_zone = setting(String, :level_zone)\n@system_id = setting(String, :system_id)\n"}}]},{"html_id":"drivers/Place/Demo/RoomSensor","path":"Place/Demo/RoomSensor.html","kind":"class","full_name":"Place::Demo::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/room_sensor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n ::raise(NilAssertionError.new(\"Place::Demo::RoomSensor#count cannot be nil\"))\nelse\n value\nend"}},{"html_id":"count?:Int32|Nil-instance-method","name":"count?","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@capacity = (setting?(Int32, :capacity)) || 2\n@count || (@count = (setting?(Int32, :default_count)) || 0)\n@sensor_id = (setting?(String, :sensor_id)) || \"1234\"\n@timestamp = Time.utc.to_unix\nupdate_state\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/place/demo/room_sensor.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L71"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"demo-#{@sensor_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L52"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"demo-#{@sensor_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"set_sensor(new_count:Int32)-instance-method","name":"set_sensor","abstract":false,"args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"args_string":"(new_count : Int32)","args_html":"(new_count : Int32)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/room_sensor.cr#L34"},"def":{"name":"set_sensor","args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"visibility":"Public","body":"@timestamp = Time.utc.to_unix\n@count = new_count\nupdate_state\n"}}]},{"html_id":"drivers/Place/Demo/Switcher","path":"Place/Demo/Switcher.html","kind":"class","full_name":"Place::Demo::Switcher","name":"Switcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"inputs:Int32-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L17"},"def":{"name":"inputs","return_type":"Int32","visibility":"Public","body":"if (value = @inputs).nil?\n @inputs = (setting(Int32, :inputs))\nelse\n value\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = nil\n@outputs = nil\n"}},{"html_id":"outputs:Int32-instance-method","name":"outputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L18"},"def":{"name":"outputs","return_type":"Int32","visibility":"Public","body":"if (value = @outputs).nil?\n @outputs = (setting(Int32, :outputs))\nelse\n value\nend"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/place/demo/switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L32"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"switching #{map} on layer #{layer || SwitchLayer::All}\"\nend\nmap.each do |input, outputs|\n outputs.each do |outp|\n self[\"output#{outp}\"] = input\n end\nend\ntrue\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/place/demo/switcher.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/demo/switcher.cr#L25"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"if input < 0 || input > inputs\n raise(\"invalid input #{input}, supported values 0 -> #{inputs}\")\nend\nlogger.debug do\n \"switching all outputs to input #{input}\"\nend\n(1..outputs).each do |outp|\n self[\"output#{outp}\"] = input\nend\ntrue\n"}}]}]},{"html_id":"drivers/Place/DeskBookingsLocations","path":"Place/DeskBookingsLocations.html","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L109"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nif user_details = @known_users[mac_address]?\n email, _name = user_details\n {location: \"booking\", assigned_to: email, mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L121"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif location && (location != \"booking\")\n return [] of Nil\nend\nbookings = [] of Booking\n@bookings.each_value(&.each do |booking|\n if zone_id.in?(booking.zones)\n else\n next\n end\n bookings << booking\nend)\nmap_bookings(bookings)\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L94"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nbookings = @bookings[email]? || ([] of Booking)\nmap_bookings(bookings)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L100"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nfound = [] of String\n@known_users.each do |user_id, __arg0|\n user_email = __arg0[0]\n _name = __arg0[1]\n if email == user_email\n found << user_id\n end\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking = Booking.from_json(payload)\n booking.user_email = booking.user_email.downcase\n booking_changed(booking)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@zone_filter = (setting?(Array(String), :zone_filter)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nmap_zones\nschedule.clear\nschedule.every(@poll_rate) do\n query_desk_bookings\nend\nschedule.in(5.seconds) do\n query_desk_bookings\nend\n"}},{"html_id":"query_desk_bookings:Nil-instance-method","name":"query_desk_bookings","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L209"},"def":{"name":"query_desk_bookings","return_type":"Nil","visibility":"Public","body":"bookings = [] of JSON::Any\n@zone_filter.each do |zone|\n bookings.concat(staff_api.query_bookings(type: @booking_type, zones: {zone}).get.as_a)\nend\nbookings = bookings.map do |booking|\n booking = Booking.from_json(booking.to_json)\n booking.user_email = booking.user_email.downcase\n booking\nend\nlogger.debug do\n \"queried desk bookings, found #{bookings.size}\"\nend\nnew_bookings = Hash(String, Array(Booking)).new do |hash, key|\n hash[key] = [] of Booking\nend\nbookings.each do |booking|\n if booking.rejected\n next\n end\n new_bookings[booking.user_email] << booking\n @known_users[booking.user_id] = {booking.user_email, booking.user_name}\nend\n@bookings = new_bookings\n"}}],"types":[{"html_id":"drivers/Place/DeskBookingsLocations/ZoneDetails","path":"Place/DeskBookingsLocations/ZoneDetails.html","kind":"class","full_name":"Place::DeskBookingsLocations::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L191"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/DeskBookingsLocations","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L192"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/DeskBookingWebhook","path":"Place/DeskBookingWebhook.html","kind":"class","full_name":"Place::DeskBookingWebhook","name":"DeskBookingWebhook","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_booking_webhook.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_post-instance-method","name":"fetch_and_post","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L54"},"def":{"name":"fetch_and_post","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nzones = [@building]\npayload = (staff_api.query_bookings(@booking_category, period_start, period_end, zones)).get.to_json\nheaders = HTTP::Headers.new\n@custom_headers.each do |key, value|\n headers[key] = value\nend\nheaders[\"Content-Type\"] = \"application/json; charset=UTF-8\"\nif @debug\n logger.debug do\n \"Posting: #{payload} \\n with Headers: #{headers}\"\n end\nend\nresponse = HTTP::Client.post(@post_uri, headers, body: payload)\nif response.status_code < 300\nelse\n raise(\"Request failed with #{response.status_code}: #{response.body}\")\nend\n\"#{response.status_code}: #{response.body}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n fetch_and_post\nend\nschedule.every(24.hours) do\n fetch_and_post\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/desk_booking_webhook.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@post_uri = setting(String, :post_uri)\n@building = setting(String, :building)\n@custom_headers = setting(Hash(String, String), :custom_headers)\n@time_period = (setting(Int32, :days_from_now)).days\n@booking_category = setting(String, :booking_category)\n@debug = setting(Bool, :debug)\nfetch_and_post\n"}}]},{"html_id":"drivers/Place/EventAttendanceRecorder","path":"Place/EventAttendanceRecorder.html","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"booking_id:String|Nil-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L22"},"def":{"name":"booking_id","return_type":"String | ::Nil","visibility":"Public","body":"@booking_id"}},{"html_id":"count:UInt64-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L18"},"def":{"name":"count","return_type":"UInt64","visibility":"Public","body":"@count"}},{"html_id":"last_known_count:Int32-instance-method","name":"last_known_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L27"},"def":{"name":"last_known_count","return_type":"Int32","visibility":"Public","body":"@last_known_count"}},{"html_id":"last_saved_count:Int32-instance-method","name":"last_saved_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L26"},"def":{"name":"last_saved_count","return_type":"Int32","visibility":"Public","body":"@last_saved_count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"@system_id = config.control_system.not_nil!.id\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@metadata_key = (setting?(String, :metadata_key)).presence || \"people_count\"\n@debounce_seconds = (setting?(Int32, :debounce_seconds)) || 0\n"}},{"html_id":"people_counts:Array(Int32)-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L25"},"def":{"name":"people_counts","return_type":"Array(Int32)","visibility":"Public","body":"@people_counts"}},{"html_id":"should_save:Bool-instance-method","name":"should_save","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L24"},"def":{"name":"should_save","return_type":"Bool","visibility":"Public","body":"@should_save"}},{"html_id":"status:String-instance-method","name":"status","doc":"Tracking meeting details","summary":"

Tracking meeting details

","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L21"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}],"types":[{"html_id":"drivers/Place/EventAttendanceRecorder/StaffEventChange","path":"Place/EventAttendanceRecorder/StaffEventChange.html","kind":"class","full_name":"Place::EventAttendanceRecorder::StaffEventChange","name":"StaffEventChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/EventAttendanceRecorder","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}}]}]},{"html_id":"drivers/Place/EventMailer","path":"Place/EventMailer.html","kind":"class","full_name":"Place::EventMailer","name":"EventMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/event_mailer.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L207"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"inspect_event_store:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"inspect_event_store","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L109"},"def":{"name":"inspect_event_store","visibility":"Public","body":"@events"}},{"html_id":"list_systems_in_zone(zone_id:String)-instance-method","name":"list_systems_in_zone","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/event_mailer.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L105"},"def":{"name":"list_systems_in_zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"staff_api.systems(zone_id: zone_id).get.as_a"}},{"html_id":"list_target_systems-instance-method","name":"list_target_systems","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L101"},"def":{"name":"list_target_systems","visibility":"Public","body":"@target_zones.flat_map do |zone_id|\n list_systems_in_zone(zone_id)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L63"},"def":{"name":"on_update","visibility":"Public","body":"@target_zones = (setting?(Array(String), :zone_ids_to_target)) || ([] of String)\n@target_module = (setting?(String, :module_to_target)) || \"Bookings_1\"\n@target_status = (setting?(String, :module_status_to_target)) || \"bookings\"\n@event_filter = (setting?(String, :event_filter)) || \"\"\n@email_template_group = (setting?(String, :email_template_group)) || \"events\"\n@email_template = (setting?(String, :email_template)) || \"welcome\"\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\nself[:events] = @events.clear\nsubscribe_to_all_modules\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/event_mailer.cr#L196"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}]},{"html_id":"drivers/Place/Geometry","path":"Place/Geometry.html","kind":"class","full_name":"Place::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(coordinates:Array(Tuple(Float64,Float64)),geo_type:String=\"Polygon\")-class-method","name":"new","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = \"Polygon\")","args_html":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = "Polygon")","location":{"filename":"src/place/area_config.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L8"},"def":{"name":"new","args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(coordinates, geo_type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"coordinates:Array(Tuple(Float64,Float64))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L13"},"def":{"name":"coordinates","return_type":"Array(Tuple(Float64, Float64))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Tuple(Float64,Float64)))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)))","args_html":"(coordinates : Array(Tuple(Float64, Float64)))","location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L13"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"geo_type:String-instance-method","name":"geo_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L12"},"def":{"name":"geo_type","return_type":"String","visibility":"Public","body":"@geo_type"}},{"html_id":"geo_type=(geo_type:String)-instance-method","name":"geo_type=","abstract":false,"args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"args_string":"(geo_type : String)","args_html":"(geo_type : String)","location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_config.cr#L12"},"def":{"name":"geo_type=","args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"visibility":"Public","body":"@geo_type = geo_type"}}]},{"html_id":"drivers/Place/Help","path":"Place/Help.html","kind":"alias","full_name":"Place::Help","name":"Help","abstract":false,"locations":[{"filename":"src/place/meet/help.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Place::HelpPage)","aliased_html":"Hash(String, Place::HelpPage)","const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/HelpPage","path":"Place/HelpPage.html","kind":"struct","full_name":"Place::HelpPage","name":"HelpPage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/help.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/help.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L10"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L8"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/help.cr#L9"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]},{"html_id":"drivers/Place/HTTPPinger","path":"Place/HTTPPinger.html","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/http_pinger.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DUMMY_CALLBACK","name":"DUMMY_CALLBACK","value":"Proc(Task, Nil).new do\n nil\nend"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_status:Bool-instance-method","name":"check_status","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L55"},"def":{"name":"check_status","return_type":"Bool","visibility":"Public","body":"begin\n response = http(@request_verb, \"/\", headers: @request_headers)\n if response.status_code == expected_response_code\n self[:last_successful_check] = Time.utc.to_unix\n self[:last_response_code] = response.status_code\n true\n else\n self[:last_response_code] = response.status_code\n @response_mismatch_count = @response_mismatch_count + 1\n self[:response_mismatch_count] = @response_mismatch_count\n queue.online = false\n false\n end\nrescue error\n logger.warn(exception: error) do\n \"HTTP service not responding\"\n end\n @response_failure_count = @response_failure_count + 1\n self[:response_failure_count] = @response_failure_count\n self[:last_error] = error.message\n false\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"check_status"}},{"html_id":"curl(verb:String,path:String,headers:Hash(String,String)={}ofString=>String,body:String|Nil=nil)-instance-method","name":"curl","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","args_html":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","location":{"filename":"src/place/http_pinger.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L80"},"def":{"name":"curl","args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = http(verb, path, body, headers: headers)\nlogger.debug do\n \"response #{response.status}: #{response.status_message}\\nheaders: #{response.headers}\\n#{response.body}\"\nend\ntask = PlaceOS::Driver::Task.new(queue, DUMMY_CALLBACK, 0, 0.seconds, 0, false, nil, nil)\ntask.success(response.body, response.status_code)\n"}},{"html_id":"expected_response_code:Int32-instance-method","name":"expected_response_code","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L26"},"def":{"name":"expected_response_code","return_type":"Int32","visibility":"Public","body":"@expected_response_code"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"transport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(((setting?(Int32, :ping_every)) || 60).seconds) do\n check_status\nend\n@request_verb = (setting?(String, :request_verb)) || \"GET\"\n@expected_response_code = (setting?(Int32, :expected_response_code)) || 200\nrequest_headers = HTTP::Headers.new\nheaders = (setting?(HeaderJSON, :request_headers)) || ({} of String => Array(String) | String)\nheaders.each do |key, value|\n request_headers.add(key, value)\nend\n@request_headers = request_headers\n"}},{"html_id":"request_verb:String-instance-method","name":"request_verb","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L27"},"def":{"name":"request_verb","return_type":"String","visibility":"Public","body":"@request_verb"}},{"html_id":"response_failure_count:UInt64-instance-method","name":"response_failure_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L24"},"def":{"name":"response_failure_count","return_type":"UInt64","visibility":"Public","body":"@response_failure_count"}},{"html_id":"response_mismatch_count:UInt64-instance-method","name":"response_mismatch_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L23"},"def":{"name":"response_mismatch_count","return_type":"UInt64","visibility":"Public","body":"@response_mismatch_count"}}],"types":[{"html_id":"drivers/Place/HTTPPinger/HeaderJSON","path":"Place/HTTPPinger/HeaderJSON.html","kind":"alias","full_name":"Place::HTTPPinger::HeaderJSON","name":"HeaderJSON","abstract":false,"locations":[{"filename":"src/place/http_pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/http_pinger.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Array(String) | String)","aliased_html":"Hash(String, Array(String) | String)","const":false,"namespace":{"html_id":"drivers/Place/HTTPPinger","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger"}}]},{"html_id":"drivers/Place/LocationServices","path":"Place/LocationServices.html","kind":"class","full_name":"Place::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/location_services.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, {} of String => String, nil}","doc":"===============================\nIP ADDRESS => MAC ADDRESS\n===============================","summary":"

=============================== IP ADDRESS => MAC ADDRESS ===============================

"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L31"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String)-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/place/location_services.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L136"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nowner = nil\n((system.implementing(Interface::Locatable)).check_ownership_of(mac_address)).get.each do |result|\n if result != nil\n owner = result\n break\n end\nend\nif owner.nil? && @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).check_ownership_of(mac_address))\n end\n end\n results.each do |sys_results|\n sys_results.get.each do |result|\n if result != nil\n owner = result\n break\n end\n end\n if owner.nil?\n else\n break\n end\n end\nend\nowner\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L172"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).device_locations(zone_id, location)).get.each do |locations|\n located.concat(locations.as_a)\nend\nlocated\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L54"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L63"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"ip_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"ip_mappings","doc":"Webhook handler for accepting IP address to username mappings\nThis data is typically obtained via domain controller logs","summary":"

Webhook handler for accepting IP address to username mappings This data is typically obtained via domain controller logs

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L281"},"def":{"name":"ip_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"IP mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nip_map = Array(Tuple(String, String, String, String | ::Nil)).from_json(body)\n(system.implementing(Interface::Locatable)).ip_username_mappings(ip_map)\nSUCCESS_RESPONSE\n"}},{"html_id":"locate_contacts(list_name:String)-instance-method","name":"locate_contacts","doc":"locates all the of the emergency contacts","summary":"

locates all the of the emergency contacts

","abstract":false,"args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"args_string":"(list_name : String)","args_html":"(list_name : String)","location":{"filename":"src/place/location_services.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L329"},"def":{"name":"locate_contacts","args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"visibility":"Public","body":"contacts = status(Hash(String, Array(NamedTuple(email: String, username: String))), :emergency_contacts)\nlist = contacts[list_name]\nresults = {} of String => Array(JSON::Any)\nlist.each do |person|\n email = person[:email]\n results[email] = locate_user(email, person[:username])\nend\nresults\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"Runs through all the services that support the Locatable interface\nrequests location information on the identifier for all of them\nconcatenates the results and returns them as a single array","summary":"

Runs through all the services that support the Locatable interface requests location information on the identifier for all of them concatenates the results and returns them as a single array

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L73"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).locate_user(email, username)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n results << {level_id, ((system(system_id)).implementing(Interface::Locatable)).locate_user(email, username)}\n end\n end\n results.each do |__arg4|\n level_id = __arg4[0]\n result = __arg4[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"mac_address_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L292"},"def":{"name":"mac_address_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"MAC mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nusername, macs, domain = Tuple(String, Array(String), String | ::Nil).from_json(body)\nusername = username.strip\nmacs = macs.compact_map do |mac|\n mac = (mac.strip.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase\n if mac.size == 12\n mac\n end\nend\nif username.empty? || macs.empty?\n return {HTTP::Status::NOT_ACCEPTABLE, {} of String => String, nil}\nend\n(system.implementing(Interface::Locatable)).mac_address_mappings(username, macs, domain)\nSUCCESS_RESPONSE\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L110"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nmacs = [] of String\n((system.implementing(Interface::Locatable)).macs_assigned_to(email, username)).get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\nend\nif @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).macs_assigned_to(email, username))\n end\n end\n results.each do |__arg8|\n __arg8.get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\n end\n end\nend\nmacs\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@emergency_contacts = (setting?(Hash(String, String), :emergency_contacts)) || Hash(String, String).new\n@search_building = (setting?(Bool, :search_building)) || false\n@building_id = nil\n@systems = nil\nschedule.clear\nif @search_building\n schedule.every(1.hour) do\n if @systems\n @systems = get_systems_list.not_nil!\n end\n end\nend\nif !@emergency_contacts.empty?\n schedule.every(6.hours, immediate: true) do\n update_contacts_list\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil)-instance-method","name":"sensor","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil)","args_html":"(mac : String, id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L230"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"querying sensor with mac: #{mac}, id: #{id.inspect}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensor(mac, id)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif located.empty?\nelse\n return located.first\nend\ndriver_ids = Set.new(drivers.map() do |__arg14|\n __arg14.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg15|\n __arg15.@module_id\n end)\n results << {level_id, drivers.sensor(mac, id)}\n end\n end\n results.each do |__arg16|\n level_id = __arg16[0]\n result = __arg16[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nif located.empty?\nelse\n located.first\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil)-instance-method","name":"sensors","doc":"sensor search + filtered search","summary":"

sensor search + filtered search

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L186"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching sensors of type: #{type.inspect}, mac: #{mac.inspect}, zone_id: #{zone_id}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensors(type, mac, zone_id)).get.each do |locations|\n located.concat(locations.as_a)\nend\ndriver_ids = Set.new(drivers.map() do |__arg10|\n __arg10.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n if zone_id && (zone_id != level_id)\n next\n end\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg11|\n __arg11.@module_id\n end)\n results << {level_id, drivers.sensors(type, mac, zone_id)}\n end\n end\n results.each do |__arg12|\n level_id = __arg12[0]\n result = __arg12[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L32"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}},{"html_id":"update_contacts_list-instance-method","name":"update_contacts_list","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/location_services.cr#L311"},"def":{"name":"update_contacts_list","visibility":"Public","body":"if @emergency_contacts.empty?\n self[:emergency_contacts] = nil\n return\nend\nif !(system.exists?(:Calendar))\n logger.warn do\n \"contacts requested however no directory service available\"\n end\n return\nend\ndirectory = system[:Calendar]\nself[:emergency_contacts] = @emergency_contacts.transform_values do |id|\n (directory.get_members(id)).get.as(JSON::Any)\nend\n"}}]},{"html_id":"drivers/Place/LogicExample","path":"Place/LogicExample.html","kind":"class","full_name":"Place::LogicExample","name":"LogicExample","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/logic_example.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"display_count-instance-method","name":"display_count","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L21"},"def":{"name":"display_count","visibility":"Public","body":"system.count(:Display)"}},{"html_id":"not_implemented-instance-method","name":"not_implemented","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L25"},"def":{"name":"not_implemented","visibility":"Public","body":"raise(\"not implemented\")"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L9"},"def":{"name":"on_update","visibility":"Public","body":"logger.info do\n \"woot! an update #{setting?(String, :name)}\"\nend"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/logic_example.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L17"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"main_lcd.power(state)"}},{"html_id":"power_state?-instance-method","name":"power_state?","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/logic_example.cr#L13"},"def":{"name":"power_state?","visibility":"Public","body":"main_lcd[:power]"}}]},{"html_id":"drivers/Place/Meet","path":"Place/Meet.html","kind":"class","full_name":"Place::Meet","name":"Meet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LIGHT_MOD","name":"DEFAULT_LIGHT_MOD","value":"\"Lighting_1\""},{"id":"EXT_INIT","name":"EXT_INIT","value":"[:qsc_phone_dialing_init] of Symbol"},{"id":"EXT_POWER","name":"EXT_POWER","value":"[:qsc_phone_dialing_power] of Symbol"}],"included_modules":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"add_preset(preset:String,camera:String)-instance-method","name":"add_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":798,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L798"},"def":{"name":"add_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].save_position(preset, cam.index || 0)\n"}},{"html_id":"apply_camera_defaults-instance-method","name":"apply_camera_defaults","doc":"run on system power on","summary":"

run on system power on

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":779,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L779"},"def":{"name":"apply_camera_defaults","visibility":"Public","body":"(system.all(vc_camera_module)).power(true)"}},{"html_id":"apply_default_routes-instance-method","name":"apply_default_routes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L250"},"def":{"name":"apply_default_routes","visibility":"Public","body":"begin\n @default_routes.each do |output, input|\n route_signal(input, output)\n end\nrescue error\n logger.warn(exception: error) do\n \"error applying default routes\"\n end\nend"}},{"html_id":"init_vidconf-instance-method","name":"init_vidconf","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":773,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L773"},"def":{"name":"init_vidconf","visibility":"Public","body":"@vc_camera_in = setting?(String, :vc_camera_in)\n@vc_camera_module = setting?(String, :vc_camera_module)\n"}},{"html_id":"join_mode(mode_id:String,master:Bool=true)-instance-method","name":"join_mode","abstract":false,"args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"args_string":"(mode_id : String, master : Bool = true)","args_html":"(mode_id : String, master : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":890,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L890"},"def":{"name":"join_mode","args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"visibility":"Public","body":"mode = @join_modes[mode_id]\nif @join_selected\n old_mode = @join_modes[@join_selected]?\nend\njoin_settings = @join_settings.not_nil!\nthis_room = config.control_system.not_nil!.id\nbegin\n @join_lock.synchronize do\n if master\n notify_rooms = join_settings.type.fully_aware? ? join_settings.all_rooms : mode.room_ids\n if mode.linked?\n if notify_rooms.includes?(this_room)\n else\n raise(\"unable to perform join from this system\")\n end\n end\n @join_selected = mode.id\n @join_master = true\n if (old_mode && old_mode.linked?) && join_settings.type.independent?\n unlink(old_mode.room_ids - mode.room_ids)\n end\n if !mode.linked?\n return unlink(notify_rooms)\n end\n reset_remote_cache\n self[:join_confirmed] = @join_confirmed = false\n notify_rooms.each do |room_id|\n if room_id == this_room\n next\n end\n (((system(room_id)).get(\"System\", 1)).join_mode(mode_id, master: false)).get\n end\n persist_join_state\n self[:join_master] = master\n self[:joined] = @join_selected\n self[:join_confirmed] = @join_confirmed = true\n else\n @join_selected = mode.id\n @join_master = false\n reset_remote_cache\n persist_join_state\n self[:join_master] = master\n self[:joined] = mode.id\n self[:join_confirmed] = @join_confirmed = true\n end\n end\nensure\n update_available_ui\n mode.join_actions.each do |action|\n if master || (!action.master_only?)\n system[action.module_id].__send__(action.function_name, action.arguments, action.named_args)\n end\n end\n if (!@light_scenes.empty?) && master\n select_lighting_scene(@light_scenes.keys.first)\n end\nend\n"}},{"html_id":"lighting_independent:Bool-instance-method","name":"lighting_independent","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":571,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L571"},"def":{"name":"lighting_independent","return_type":"Bool","visibility":"Public","body":"@lighting_independent"}},{"html_id":"local_accessories:Array(Accessory)-instance-method","name":"local_accessories","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":668,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L668"},"def":{"name":"local_accessories","return_type":"Array(Accessory)","visibility":"Public","body":"@local_accessories"}},{"html_id":"local_help:Help-instance-method","name":"local_help","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L96"},"def":{"name":"local_help","return_type":"Help","visibility":"Public","body":"@local_help"}},{"html_id":"local_lighting_area:LightingArea|Nil-instance-method","name":"local_lighting_area","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L570"},"def":{"name":"local_lighting_area","return_type":"LightingArea | ::Nil","visibility":"Public","body":"@local_lighting_area"}},{"html_id":"local_mics:Array(Microphone)-instance-method","name":"local_mics","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":689,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L689"},"def":{"name":"local_mics","return_type":"Array(Microphone)","visibility":"Public","body":"@local_mics"}},{"html_id":"local_outputs:Array(String)-instance-method","name":"local_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L101"},"def":{"name":"local_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_outputs"}},{"html_id":"local_preview_outputs:Array(String)-instance-method","name":"local_preview_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L104"},"def":{"name":"local_preview_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_preview_outputs"}},{"html_id":"local_tabs:Array(Tab)-instance-method","name":"local_tabs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L97"},"def":{"name":"local_tabs","return_type":"Array(Tab)","visibility":"Public","body":"@local_tabs"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Sets the mute state on a signal node within the system.","summary":"

Sets the mute state on a signal node within the system.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/meet.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L547"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"input_or_output = index\naudio = @master_audio\nif audio\n logger.debug do\n \"setting master mute to #{state}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nmixer = system[audio.module_id]\nset_master_mute(mixer, audio, state)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L88"},"def":{"name":"on_load","visibility":"Public","body":"system.load_complete do\n init_previous_join_state\n on_update\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L110"},"def":{"name":"on_update","visibility":"Public","body":"if (Time.utc.to_unix - @ignore_update) < 3\n return\nend\nself[:name] = system.display_name.presence || system.name\nself[:local_help] = @local_help = (setting?(Help, :help)) || Help.new\nself[:local_tabs] = @local_tabs = (setting?(Array(Tab), :tabs)) || ([] of Tab)\nself[:local_outputs] = @local_outputs = (setting?(Array(String), :local_outputs)) || ([] of String)\nself[:local_preview_outputs] = @local_preview_outputs = (setting?(Array(String), :preview_outputs)) || ([] of String)\n@shutdown_devices = setting?(Array(String), :shutdown_devices)\n@local_vidconf = (setting?(String, :local_vidconf)) || \"VidConf_1\"\n@join_lock.synchronize do\n subscriptions.clear\n reset_remote_cache\n init_signal_routing\n init_projector_screens\n init_master_audio\n init_microphones\n init_accessories\n init_lighting\n init_vidconf\n init_joining\nend\n{% for func in EXT_INIT %}\n begin\n {{ func.id }}\n rescue error\n logger.warn(exception: error) { \"error in init function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\n"}},{"html_id":"power(state:Bool,unlink:Bool=false)-instance-method","name":"power","doc":"Sets the overall room power state.","summary":"

Sets the overall room power state.

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"args_string":"(state : Bool, unlink : Bool = false)","args_html":"(state : Bool, unlink : Bool = false)","location":{"filename":"src/place/meet.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L173"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"visibility":"Public","body":"if state == self[:active]?\n return\nend\nlogger.debug do\n \"Powering #{state ? \"up\" : \"down\"}\"\nend\nself[:active] = state\nremotes_before = remote_rooms\nsys = system\nif state\n apply_master_audio_default\n apply_camera_defaults\n apply_default_routes\n apply_mic_defaults\n if first_output = @tabs.first?.try do |__arg0|\n __arg0.inputs.first\n end\n selected_input(first_output)\n end\nelse\n if unlink\n unlink_systems\n end\n @local_outputs.each do |output|\n unroute(output)\n end\n @local_preview_outputs.each do |output|\n unroute(output)\n end\n if devices = @shutdown_devices\n devices.each do |device|\n sys[device].power(false)\n end\n else\n (sys.implementing(Interface::Powerable)).power(false)\n end\n if sys.exists?(@local_vidconf)\n sys[@local_vidconf].hangup\n end\nend\nremotes_before.each do |room|\n room.power(state, unlink)\nend\n{% for func in EXT_POWER %}\n begin\n {{ func.id }}(state, unlink)\n rescue error\n logger.warn(exception: error) { \"error in power state function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\nstate\n"}},{"html_id":"remove_preset(preset:String,camera:String)-instance-method","name":"remove_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L803"},"def":{"name":"remove_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].remove_position(preset, cam.index || 0)\n"}},{"html_id":"route(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L256"},"def":{"name":"route","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"route_signal(input, output, max_dist, simulate, follow_additional_routes)\nif links = @linked_outputs[output]?\n links.each do |_sys_id, remote_out|\n route_signal(input, remote_out, max_dist, simulate, follow_additional_routes)\n end\nend\nif !simulate\n remote_systems.each do |remote_system|\n room = remote_system.room_logic\n sys_id = remote_system.system_id\n if links = @linked_outputs[output]?\n if remote_out = links[sys_id]?\n room.route(input, remote_out, max_dist, true, follow_additional_routes)\n end\n end\n end\nend\n"}},{"html_id":"select_lighting_scene(scene:String,push_to_remotes:Bool=true)-instance-method","name":"select_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"args_string":"(scene : String, push_to_remotes : Bool = true)","args_html":"(scene : String, push_to_remotes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L635"},"def":{"name":"select_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"visibility":"Public","body":"scene_id = @light_scenes[scene.downcase]?\nif scene_id\nelse\n raise(ArgumentError.new(\"invalid scene '#{scene}', valid scenes are: #{@light_scenes.keys}\"))\nend\nsystem[@light_module].set_lighting_scene(scene_id, @light_area)\nif push_to_remotes && lighting_independent\n remote_rooms.each do |room|\n room.select_lighting_scene(scene, false)\n end\nend\n"}},{"html_id":"selected_camera(camera:String)-instance-method","name":"selected_camera","doc":"This is the camera input that is currently selected so we can switch between\ndifferent cameras","summary":"

This is the camera input that is currently selected so we can switch between different cameras

","abstract":false,"args":[{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(camera : String)","args_html":"(camera : String)","location":{"filename":"src/place/meet.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L785"},"def":{"name":"selected_camera","args":[{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"self[:selected_camera] = camera\ncam = camera_details(camera)\nsystem[cam.mod].power(true)\nif camera_in = @vc_camera_in\n route_signal(camera, camera_in)\nelse\n if camera_vc_in = cam.vc_camera_input\n system[@local_vidconf].camera_select(camera_vc_in)\n end\nend\n"}},{"html_id":"selected_input(name:String,simulate:Bool=false):Nil-instance-method","name":"selected_input","doc":"This is the currently selected input\nif the user selects an output then this will be routed to it","summary":"

This is the currently selected input if the user selects an output then this will be routed to it

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"args_string":"(name : String, simulate : Bool = false) : Nil","args_html":"(name : String, simulate : Bool = false) : Nil","location":{"filename":"src/place/meet.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L286"},"def":{"name":"selected_input","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"selected_tab = @tabs.find() do |__arg2|\n __arg2.inputs.includes?(name)\nend.try(&.name)\nif selected_tab || (!simulate)\n self[:selected_input] = name\n self[:selected_tab] = selected_tab || @tabs.first\n sys = system\n if sys.exists?(name)\n mod = sys[name]\n if mod.implements?(Interface::Powerable)\n mod.power(true)\n end\n end\nend\nif !simulate\n if @preview_outputs.empty?\n if @outputs.size == 1\n route_signal(name, @outputs.first)\n end\n else\n @preview_outputs.each do |output|\n route_signal(name, output)\n end\n end\n remote_rooms.each do |room|\n room.selected_input(name, true)\n end\nend\n"}},{"html_id":"unlink_internal_use-instance-method","name":"unlink_internal_use","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":971,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L971"},"def":{"name":"unlink_internal_use","visibility":"Public","body":"begin\n @join_lock.synchronize do\n if @join_modes[@join_selected]?.try() do |__arg11|\n __arg11.room_ids.empty?\n end\n else\n @join_selected = nil\n end\n @join_master = true\n self[:join_confirmed] = @join_confirmed = false\n self[:join_master] = true\n self[:joined] = @join_selected\n reset_remote_cache\n persist_join_state\n update_available_ui\n self[:join_confirmed] = @join_confirmed = true\n end\nrescue error\n logger.error(exception: error) do\n \"ui state failed to be applied unjoining room\"\n end\nend"}},{"html_id":"unlink_systems-instance-method","name":"unlink_systems","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":957,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L957"},"def":{"name":"unlink_systems","visibility":"Public","body":"begin\n if unlink_mode = @join_modes.find do |_id, mode|\n !mode.linked?\n end\n join_mode(unlink_mode[0])\n else\n currrent_selected = @join_selected\n if currrent_selected && (current_mode = @join_modes[currrent_selected]?)\n unlink(current_mode.room_ids)\n end\n unlink_internal_use\n end\nrescue error\n logger.warn(exception: error) do\n \"unlink failed\"\n end\nend"}},{"html_id":"unroute(output:String)-instance-method","name":"unroute","doc":"we want to unroute any signal going to the display\nor if it's a direct connection, we want to mute the display","summary":"

we want to unroute any signal going to the display or if it's a direct connection, we want to mute the display

","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"String"}],"args_string":"(output : String)","args_html":"(output : String)","location":{"filename":"src/place/meet.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L278"},"def":{"name":"unroute","args":[{"name":"output","external_name":"output","restriction":"String"}],"visibility":"Public","body":"begin\n route(\"MUTE\", output)\nrescue error\n logger.debug(exception: error) do\n \"failed to unroute #{output}\"\n end\nend"}},{"html_id":"volume(level:Int32|Float64,input_or_output:String)-instance-method","name":"volume","doc":"Set the volume of a signal node within the system.","summary":"

Set the volume of a signal node within the system.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"args_string":"(level : Int32 | Float64, input_or_output : String)","args_html":"(level : Int32 | Float64, input_or_output : String)","location":{"filename":"src/place/meet.cr","line_number":525,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L525"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"visibility":"Public","body":"audio = @master_audio\nif audio\n logger.debug do\n \"setting master volume to #{level}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = audio.min_level..audio.max_level\nlevel_actual = percentage * (range.end - range.begin)\nlevel_actual = (level_actual + range.begin.to_f).round(1)\nmixer = system[audio.module_id]\nset_master_volume(mixer, audio, level_actual)\n"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory","path":"Place/Meet/Accessory.html","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":651,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L651"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L652"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controls:Array(Control)-instance-method","name":"controls","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":665,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L665"},"def":{"name":"controls","return_type":"Array(Control)","visibility":"Public","body":"@controls"}},{"html_id":"module:String-instance-method","name":"module","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":664,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L664"},"def":{"name":"module","return_type":"String","visibility":"Public","body":"@module"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":663,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L663"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory/Control","path":"Place/Meet/Accessory/Control.html","kind":"struct","full_name":"Place::Meet::Accessory::Control","name":"Control","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L654"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet/Accessory","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L655"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L660"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"@arguments"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":659,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L659"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":658,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L658"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":657,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L657"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Meet/AudioFader","path":"Place/Meet/AudioFader.html","kind":"class","full_name":"Place::Meet::AudioFader","name":"AudioFader","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":396,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L396"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L397"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L399"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"default_level:Float64|Nil-instance-method","name":"default_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":407,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L407"},"def":{"name":"default_level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@default_level"}},{"html_id":"default_muted:Bool|Nil-instance-method","name":"default_muted","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L406"},"def":{"name":"default_muted","return_type":"Bool | ::Nil","visibility":"Public","body":"@default_muted"}},{"html_id":"implements_volume?-instance-method","name":"implements_volume?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L431"},"def":{"name":"implements_volume?","visibility":"Public","body":"level_id == \"\\e\""}},{"html_id":"level_feedback:String-instance-method","name":"level_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L415"},"def":{"name":"level_feedback","return_type":"String","visibility":"Public","body":"if (value = @level_feedback).nil?\n @level_feedback = (begin\n id = level_id\n \"fader#{id.is_a?(Array) ? id.first : id}\"\n end)\nelse\n value\nend"}},{"html_id":"level_feedback=(level_feedback:String)-instance-method","name":"level_feedback=","abstract":false,"args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"args_string":"(level_feedback : String)","args_html":"(level_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L415"},"def":{"name":"level_feedback=","args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"visibility":"Public","body":"@level_feedback = level_feedback"}},{"html_id":"level_feedback?:String?-instance-method","name":"level_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L425"},"def":{"name":"level_feedback?","visibility":"Public","body":"@level_feedback"}},{"html_id":"level_id:String|Array(String)|Nil-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L403"},"def":{"name":"level_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"level_id=(level_id:String|Array(String)|Nil)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(level_id : String | Array(String) | Nil)","args_html":"(level_id : String | Array(String) | Nil)","location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L403"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_index:Int32|Nil-instance-method","name":"level_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L409"},"def":{"name":"level_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level_index"}},{"html_id":"max_level:Float64-instance-method","name":"max_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":413,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L413"},"def":{"name":"max_level","return_type":"Float64","visibility":"Public","body":"if (value = @max_level).nil?\n @max_level = (100.0)\nelse\n value\nend"}},{"html_id":"min_level:Float64-instance-method","name":"min_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L412"},"def":{"name":"min_level","return_type":"Float64","visibility":"Public","body":"if (value = @min_level).nil?\n @min_level = (0.0)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L423"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"if (value = @module_id).nil?\n @module_id = (\"Mixer_1\")\nelse\n value\nend"}},{"html_id":"module_id=(module_id:String)-instance-method","name":"module_id=","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String)","args_html":"(module_id : String)","location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L423"},"def":{"name":"module_id=","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"visibility":"Public","body":"@module_id = module_id"}},{"html_id":"mute_feedback:String-instance-method","name":"mute_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L419"},"def":{"name":"mute_feedback","return_type":"String","visibility":"Public","body":"if (value = @mute_feedback).nil?\n @mute_feedback = (begin\n id = mute_id || level_id\n \"fader#{id.is_a?(Array) ? id.first : id}_mute\"\n end)\nelse\n value\nend"}},{"html_id":"mute_feedback=(mute_feedback:String)-instance-method","name":"mute_feedback=","abstract":false,"args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"args_string":"(mute_feedback : String)","args_html":"(mute_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L419"},"def":{"name":"mute_feedback=","args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"visibility":"Public","body":"@mute_feedback = mute_feedback"}},{"html_id":"mute_feedback?:String?-instance-method","name":"mute_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L425"},"def":{"name":"mute_feedback?","visibility":"Public","body":"@mute_feedback"}},{"html_id":"mute_id:String|Array(String)|Nil-instance-method","name":"mute_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":404,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L404"},"def":{"name":"mute_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"if (value = @mute_id).nil?\n @mute_id = (level_id)\nelse\n value\nend"}},{"html_id":"mute_index:Int32|Nil-instance-method","name":"mute_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L410"},"def":{"name":"mute_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mute_index"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L402"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"use_defaults?-instance-method","name":"use_defaults?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L427"},"def":{"name":"use_defaults?","visibility":"Public","body":"(@module_id.nil? && (level_id.nil? || level_id.try(&.empty?))) && (mute_id.nil? || mute_id.try(&.empty?))"}}]},{"html_id":"drivers/Place/Meet/CamDetails","path":"Place/Meet/CamDetails.html","kind":"class","full_name":"Place::Meet::CamDetails","name":"CamDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":762,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L762"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L763"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"index:String|Int32|Nil-instance-method","name":"index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L766"},"def":{"name":"index","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@index"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":765,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L765"},"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"vc_camera_input:String|Int32|Nil-instance-method","name":"vc_camera_input","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":767,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L767"},"def":{"name":"vc_camera_input","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@vc_camera_input"}}]},{"html_id":"drivers/Place/Meet/JoinAction","path":"Place/Meet/JoinAction.html","kind":"class","full_name":"Place::Meet::JoinAction","name":"JoinAction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L823"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":824,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L824"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":828,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L828"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":827,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L827"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"master_only?:Bool-instance-method","name":"master_only?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":830,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L830"},"def":{"name":"master_only?","return_type":"Bool","visibility":"Public","body":"if (value = @master_only).nil?\n @master_only = (true)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":826,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L826"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":829,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L829"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinDetail","path":"Place/Meet/JoinDetail.html","kind":"class","full_name":"Place::Meet::JoinDetail","name":"JoinDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":833,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L833"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":834,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L834"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":836,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L836"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"join_actions:Array(JoinAction)-instance-method","name":"join_actions","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":839,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L839"},"def":{"name":"join_actions","return_type":"Array(JoinAction)","visibility":"Public","body":"if (value = @join_actions).nil?\n @join_actions = ([] of JoinAction)\nelse\n value\nend"}},{"html_id":"linked?:Bool-instance-method","name":"linked?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":846,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L846"},"def":{"name":"linked?","return_type":"Bool","visibility":"Public","body":"if (value = @linked).nil?\n @linked = (!room_ids.empty?)\nelse\n value\nend"}},{"html_id":"merge_outputs?:Bool-instance-method","name":"merge_outputs?","doc":"Do we want to merge the outputs (all outputs on all screens)\nor do we want them as seperate displays","summary":"

Do we want to merge the outputs (all outputs on all screens) or do we want them as seperate displays

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":843,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L843"},"def":{"name":"merge_outputs?","return_type":"Bool","visibility":"Public","body":"@merge_outputs"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":837,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L837"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_ids:Array(String)-instance-method","name":"room_ids","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":838,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L838"},"def":{"name":"room_ids","return_type":"Array(String)","visibility":"Public","body":"@room_ids"}}]},{"html_id":"drivers/Place/Meet/JoinSetting","path":"Place/Meet/JoinSetting.html","kind":"class","full_name":"Place::Meet::JoinSetting","name":"JoinSetting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":849,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L849"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":850,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L850"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"all_rooms:Set(String)-instance-method","name":"all_rooms","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":857,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L857"},"def":{"name":"all_rooms","return_type":"Set(String)","visibility":"Public","body":"if (value = @all_rooms).nil?\n @all_rooms = (modes.reduce(Set(String).new) do |rooms, mode|\n rooms.concat(mode.room_ids)\n end)\nelse\n value\nend"}},{"html_id":"lock_remote:Bool-instance-method","name":"lock_remote","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":853,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L853"},"def":{"name":"lock_remote","return_type":"Bool","visibility":"Public","body":"if (value = @lock_remote).nil?\n @lock_remote = (false)\nelse\n value\nend"}},{"html_id":"modes:Array(JoinDetail)-instance-method","name":"modes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":854,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L854"},"def":{"name":"modes","return_type":"Array(JoinDetail)","visibility":"Public","body":"@modes"}},{"html_id":"type:JoinType-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":852,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L852"},"def":{"name":"type","return_type":"JoinType","visibility":"Public","body":"if (value = @type).nil?\n @type = (JoinType::Independent)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinType","path":"Place/Meet/JoinType.html","kind":"enum","full_name":"Place::Meet::JoinType","name":"JoinType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L815"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Independent","name":"Independent","value":"0","doc":"only rooms part of the join need to be notified","summary":"

only rooms part of the join need to be notified

"},{"id":"FullyAware","name":"FullyAware","value":"1","doc":"even rooms not part of the join, need to be notified","summary":"

even rooms not part of the join, need to be notified

"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"doc":"=========================\nRoom Joining Coordination\n=========================","summary":"

========================= Room Joining Coordination =========================

","instance_methods":[{"html_id":"fully_aware?-instance-method","name":"fully_aware?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":820,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L820"},"def":{"name":"fully_aware?","visibility":"Public","body":"self == FullyAware"}},{"html_id":"independent?-instance-method","name":"independent?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":817,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L817"},"def":{"name":"independent?","visibility":"Public","body":"self == Independent"}}]},{"html_id":"drivers/Place/Meet/LightingArea","path":"Place/Meet/LightingArea.html","kind":"alias","full_name":"Place::Meet::LightingArea","name":"LightingArea","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L565"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/LightingScene","path":"Place/Meet/LightingScene.html","kind":"alias","full_name":"Place::Meet::LightingScene","name":"LightingScene","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L566"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(name: String, id: UInt32, icon: String, opacity: Float64)","aliased_html":"{name: String, id: UInt32, icon: String, opacity: Float64}","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/Microphone","path":"Place/Meet/Microphone.html","kind":"alias","full_name":"Place::Meet::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":687,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L687"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Meet::AudioFader","aliased_html":"Place::Meet::AudioFader","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/RemoteSystem","path":"Place/Meet/RemoteSystem.html","kind":"struct","full_name":"Place::Meet::RemoteSystem","name":"RemoteSystem","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":1020,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1020"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(system_id:String,room_logic:PlaceOS::Driver::Proxy::Driver)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"args_string":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","args_html":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","location":{"filename":"src/place/meet.cr","line_number":1024,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1024"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, room_logic)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"room_logic:PlaceOS::Driver::Proxy::Driver-instance-method","name":"room_logic","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1022,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1022"},"def":{"name":"room_logic","return_type":"PlaceOS::Driver::Proxy::Driver","visibility":"Public","body":"@room_logic"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1021,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet.cr#L1021"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}}]}]},{"html_id":"drivers/Place/MQTT","path":"Place/MQTT.html","kind":"class","full_name":"Place::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L86"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L100"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\n@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L46"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\n@queue_size = (setting?(Int32, :queue_size)) || 1000\nif rate_limit = setting?(Int32, :rate_limit)\n @rate_limited = true\n @wait_time = (1.0 / rate_limit.to_f).seconds\nelse\n @rate_limited = false\nend\nexisting = @subs\n@subs = (setting?(Array(String), :subscriptions)) || ([] of String)\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n perform_operation do\n client.unsubscribe(sub)\n end\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\n end\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L115"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\nperform_operation do\n @mqtt.not_nil!.ping\nend\n"}},{"html_id":"publish(key:String,payload:String):Nil-instance-method","name":"publish","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(key : String, payload : String) : Nil","args_html":"(key : String, payload : String) : Nil","location":{"filename":"src/place/mqtt.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L109"},"def":{"name":"publish","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"publishing payload to #{key}\"\nend\nperform_operation do\n @mqtt.not_nil!.publish(key, payload)\nend\nnil\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/place/mqtt.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt.cr#L120"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}}]},{"html_id":"drivers/Place/Pinger","path":"Place/Pinger.html","kind":"class","full_name":"Place::Pinger","name":"Pinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/pinger.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"period = (setting?(Int32, :ping_every)) || 60\nperiod = (period * 1000) + (rand(1000))\nschedule.clear\nschedule.every(period.milliseconds) do\n ping\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/pinger.cr#L29"},"def":{"name":"ping","visibility":"Public","body":"hostname = config.ip.not_nil!\npinger = ::Pinger.new(hostname, count: 3)\npinger.ping\npingable = pinger.pingable\nif !pingable\n self[:last_error] = (pinger.exception || pinger.warning) || \"unknown error\"\nend\nset_connected_state(pingable)\nself[:pingable] = pingable\n"}}]},{"html_id":"drivers/Place/QSCPhoneDialing","path":"Place/QSCPhoneDialing.html","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing","abstract":false,"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"doc":"Code for handling QSC phone dialing, if available","summary":"

Code for handling QSC phone dialing, if available

","instance_methods":[{"html_id":"qsc_dial_hangup-instance-method","name":"qsc_dial_hangup","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L73"},"def":{"name":"qsc_dial_hangup","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.hangup_id)\n"}},{"html_id":"qsc_dial_makecall-instance-method","name":"qsc_dial_makecall","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L67"},"def":{"name":"qsc_dial_makecall","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.dial_id)\n"}},{"html_id":"qsc_dial_pad(number:String)-instance-method","name":"qsc_dial_pad","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"}],"args_string":"(number : String)","args_html":"(number : String)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L46"},"def":{"name":"qsc_dial_pad","args":[{"name":"number","external_name":"number","restriction":"String"}],"visibility":"Public","body":"if number.size > 0\nelse\n return\nend\nchar = number[0]\ncase char\nwhen '\\b'\n if @dial_string.size == 0\n else\n @dial_string = @dial_string[0..-2]\n end\nwhen '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'\n @dial_string = \"#{@dial_string}#{char}\"\nelse\n logger.info do\n \"unsupported dial char provided #{char}\"\n end\nend\nqsc_dial_pad_sync\n"}},{"html_id":"qsc_dial_pad_clear:Nil-instance-method","name":"qsc_dial_pad_clear","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L62"},"def":{"name":"qsc_dial_pad_clear","return_type":"Nil","visibility":"Public","body":"@dial_string = \"\"\nqsc_dial_pad_sync\n"}}],"types":[{"html_id":"drivers/Place/QSCPhoneDialing/QscPhone","path":"Place/QSCPhoneDialing/QscPhone.html","kind":"class","full_name":"Place::QSCPhoneDialing::QscPhone","name":"QscPhone","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},"doc":"This data will be stored in the tab","summary":"

This data will be stored in the tab

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dial_id:String-instance-method","name":"dial_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L8"},"def":{"name":"dial_id","return_type":"String","visibility":"Public","body":"@dial_id"}},{"html_id":"dtmf_id:String-instance-method","name":"dtmf_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L13"},"def":{"name":"dtmf_id","return_type":"String","visibility":"Public","body":"@dtmf_id"}},{"html_id":"hangup_id:String-instance-method","name":"hangup_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L9"},"def":{"name":"hangup_id","return_type":"String","visibility":"Public","body":"@hangup_id"}},{"html_id":"number_id:String-instance-method","name":"number_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L7"},"def":{"name":"number_id","return_type":"String","visibility":"Public","body":"@number_id"}},{"html_id":"offhook_id:String-instance-method","name":"offhook_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L12"},"def":{"name":"offhook_id","return_type":"String","visibility":"Public","body":"@offhook_id"}},{"html_id":"ringing_id:String-instance-method","name":"ringing_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L11"},"def":{"name":"ringing_id","return_type":"String","visibility":"Public","body":"@ringing_id"}},{"html_id":"status_id:String-instance-method","name":"status_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/qsc_phone_dialing.cr#L10"},"def":{"name":"status_id","return_type":"String","visibility":"Public","body":"@status_id"}}]}]},{"html_id":"drivers/Place/RoomBookingApproval","path":"Place/RoomBookingApproval.html","kind":"class","full_name":"Place::RoomBookingApproval","name":"RoomBookingApproval","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/room_booking_approval.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L68"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.accept_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L13"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L73"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.decline_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"find_bookings_for_approval:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"find_bookings_for_approval","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L49"},"def":{"name":"find_bookings_for_approval","return_type":"Hash(String, Array(PlaceCalendar::Event))","visibility":"Public","body":"results = {} of String => Array(PlaceCalendar::Event)\nsystems.each do |level_id, system_ids|\n system_ids.each do |system_id|\n sys = system(system_id)\n if sys.exists?(\"Bookings\", 1)\n if bookings = (sys.get(\"Bookings\", 1)).status?(Array(PlaceCalendar::Event), \"bookings\")\n bookings.select! do |event|\n event.status == \"tentative\"\n end\n if bookings.empty?\n else\n results[system_id] = bookings\n end\n end\n end\n end\nend\nself[:approval_required] = results\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L33"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L42"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@building_id = nil\n@systems = nil\nschedule.clear\nschedule.every(1.hour) do\n @systems = get_systems_list.not_nil!\nend\nschedule.every(5.minutes) do\n find_bookings_for_approval\nend\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/room_booking_approval.cr#L14"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Router","path":"Place/Router.html","kind":"module","full_name":"Place::Router","name":"Router","abstract":false,"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Router/Core","path":"Place/Router/Core.html","kind":"module","full_name":"Place::Router::Core","name":"Core","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L11"},{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Core routing methods and functionality. This exists as module to enable\ninclusion in other drivers, such as room logic, that provide auxillary\nfunctionality to signal distribution.","summary":"

Core routing methods and functionality.

","instance_methods":[{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"load_siggraph"}},{"html_id":"route_signal(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route_signal","doc":"Routes signal from *input* to *output*.\n\nPerforms all intermediate device interaction based on current system\nconfig.","summary":"

Routes signal from input to output.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/router/core.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L178"},"def":{"name":"route_signal","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"requesting route from #{input} to #{output}\"\nend\nsrc, dst = resolver.values_at(input, output)\ndst_node = siggraph[dst]\nsrc_node = siggraph[src]\npath = (siggraph.route(src, dst, max_dist)) || (raise(\"no route found\"))\nexecs = path.compact_map do |__arg6|\n node = __arg6[0]\n edge = __arg6[1]\n next_node = __arg6[2]\n logger.debug do\n \"#{node} → #{next_node}\"\n end\n if next_node.locked\n raise(\"#{next_node} is locked, aborting\")\n end\n case edge\n in SignalGraph::Edge::Static\n nil\n in SignalGraph::Edge::Active\n Promise.defer(same_thread: true, timeout: 1.second) do\n next_node.source = siggraph[src].source\n if !simulate\n mod = proxy_for(edge.mod)\n case func = edge.func\n in SignalGraph::Edge::Func::Mute\n dst_layer = dst_node.ref.layer.downcase\n case dst_layer\n when \"audio\", \"video\"\n mod.mute(func.state, func.index, dst_layer)\n else\n mod.mute(func.state, func.index)\n end\n in SignalGraph::Edge::Func::Select\n mod.switch_to(func.input)\n in SignalGraph::Edge::Func::Switch\n mod.switch({func.input => [func.output]}, func.layer)\n end\n end\n nil\n end\n end\nend\nif follow_additional_routes\n routes = {} of String => Tuple(String, String, Int32 | ::Nil, Bool, Bool)\n if following_outputs = dst_node[\"followers\"]?.try(&.as_a)\n logger.debug do\n \"routing #{following_outputs.size} additional followers\"\n end\n following_outputs.each do |output_follow|\n routes[output_follow.as_s] = {input, output_follow.as_s, max_dist, simulate, false}\n end\n end\n ignore_source_routes = dst_node[\"ignore_source_routes\"]?.try(&.as_bool) || false\n if (!ignore_source_routes) && (additional_routes = src_node[\"perform_routes\"]?.try(&.as_h))\n logger.debug do\n \"perfoming #{additional_routes.size} additional routes\"\n end\n additional_routes.each do |ad_output, ad_input|\n routes[ad_output] = {ad_input.as_s, ad_output, max_dist, simulate, false}\n end\n end\n spawn(same_thread: true) do\n routes.each_value do |route|\n route_signal(*route)\n end\n end\nend\nlogger.debug do\n \"awaiting responses\"\nend\nexecs.each do |promise|\n begin\n promise.get\n rescue error\n logger.warn(exception: error) do\n \"processing route\"\n end\n end\nend\n:ok\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/NodeRef","path":"Place/Router/Core/NodeRef.html","kind":"alias","full_name":"Place::Router::Core::NodeRef","name":"NodeRef","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Ref","aliased_html":"Place::Router::SignalGraph::Node::Ref","const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"}},{"html_id":"drivers/Place/Router/Core/Settings","path":"Place/Router/Core/Settings.html","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections","path":"Place/Router/Core/Settings/Connections.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Types for representing the settings format for defining connections.","summary":"

Types for representing the settings format for defining connections.

","class_methods":[{"html_id":"parse(map:Map,sys:String)-class-method","name":"parse","doc":"Parses a `Map` containing the system conectivity into a set of nodes and\nlinks that can be used for assembling the `SignalGraph`.","summary":"

Parses a Map containing the system conectivity into a set of nodes and links that can be used for assembling the SignalGraph.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(map : Map, sys : String)","args_html":"(map : Map, sys : String)","location":{"filename":"src/place/router/settings.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L105"},"def":{"name":"parse","args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"nodes = [] of SignalGraph::Node::Ref\nlinks = [] of ::Tuple(SignalGraph::Node::Ref, SignalGraph::Node::Ref)\naliases = {} of String => SignalGraph::Node::Ref\nmake_alias = ->(name : String, node : SignalGraph::Node::Ref) do\n if prev = aliases[name]?\n raise(\"invalid configuration: \\\"#{name}\\\" refers to both #{prev} and #{node}\")\n end\n aliases[name] = node\nend\nmap.each do |sink, inputs|\n if sink.is_a?(Alias)\n source = inputs\n if source.is_a?(DeviceOutput)\n else\n raise(\"invalid configuration: \\\"#{sink}\\\" must link to a DeviceOutput\")\n end\n onode = SignalGraph::Output.new(sys, source.mod, source.idx, source.output, source.layer)\n nodes << onode\n make_alias.call(sink.name, onode)\n else\n if inputs.is_a?(DeviceOutput)\n raise(\"invalid configuration: \\\"#{sink}\\\" must specify inputs as either a hash or array\")\n end\n nodes << (SignalGraph::Device.new(sys, sink.mod, sink.idx))\n if inputs.is_a?(Array)\n inputs = (inputs.each.with_index(1)).map(&.reverse)\n end\n inputs.each do |input, input_source|\n inode = SignalGraph::Input.new(sys, sink.mod, sink.idx, input)\n nodes << inode\n if input_source.is_a?(Alias)\n make_alias.call(input_source.name, inode)\n next\n end\n onode = case input_source\n in Device\n SignalGraph::Device.new(sys, input_source.mod, input_source.idx)\n in DeviceOutput\n SignalGraph::Output.new(sys, input_source.mod, input_source.idx, input_source.output, input_source.layer)\n end\n nodes << onode\n links << {onode, inode}\n end\n end\nend\n{nodes, links, aliases}\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Alias","path":"Place/Router/Core/Settings/Connections/Alias.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Alias","name":"Alias","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Alias used to refer to a signal node that does not have an accompanying\nmodule. This can be useful for declaring the concept of a device that is\nattached to an input (e.g. `\"*Laptop\"`). All alias' must be prefixed with\nan asterisk ('*') within connections settings.","summary":"

Alias used to refer to a signal node that does not have an accompanying module.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L73"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n new(name)\nend"}}],"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@name.clone)"}},{"html_id":"copy_with(name_name=@name)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"args_string":"(name _name = @name)","args_html":"(name _name = @name)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L71"},"def":{"name":"copy_with","args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"visibility":"Public","body":"self.class.new(_name)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","path":"Place/Router/Core/Settings/Connections/Deserializable.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"instance_methods":[{"html_id":"from_json_object_key?(key:String)-instance-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L16"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"parse?(key)"}},{"html_id":"get_parts(module_id:String):Tuple(String,Int32|Nil)-instance-method","name":"get_parts","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Tuple(String, Int32 | Nil)","args_html":"(module_id : String) : Tuple(String, Int32 | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L20"},"def":{"name":"get_parts","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"::Tuple(String, Int32 | ::Nil)","visibility":"Public","body":"mod_name, match, index = module_id.rpartition('_')\nif match.empty?\n {module_id, 1}\nelse\n {mod_name, index.to_i?}\nend\n"}},{"html_id":"parse?(raw:String)-instance-method","name":"parse?","abstract":true,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L14"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":""}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Device","path":"Place/Router/Core/Settings/Connections/Device.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Module name of a device within the local system e.g. `\"Switcher_1\"`.","summary":"

Module name of a device within the local system e.g.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L34"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod, idx = get_parts(raw)\nif idx\n new(mod, idx)\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"args_string":"(mod : String, idx : Int32)","args_html":"(mod : String, idx : Int32)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx)","args_html":"(mod _mod = @mod, idx _idx = @idx)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L32"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/DeviceOutput","path":"Place/Router/Core/Settings/Connections/DeviceOutput.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Reference to a specific output on a device that has multiple outputs.\nThis is a concatenation of the `Device` reference a `.` and the output.\nFor example, output 3 of Switcher_1 is `\"Switcher_1.3\"`.","summary":"

Reference to a specific output on a device that has multiple outputs.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L47"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod_name, match, outp = raw.rpartition('.')\nif !match.empty?\n mod, idx = get_parts(mod_name)\n if idx\n outp_idx, match, layer = outp.rpartition('!')\n if match.empty?\n output = outp.to_i? || outp\n new(mod, idx, output, nil)\n else\n output = outp_idx.to_i? || outp_idx\n new(mod, idx, output, layer)\n end\n end\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32,output:String|Int32,layer:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"args_string":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","args_html":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","args_html":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L45"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx, _output, _layer)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"layer:String|Nil-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String | ::Nil","visibility":"Public","body":"@layer"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"output:String|Int32-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"String | Int32","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Input","path":"Place/Router/Core/Settings/Connections/Input.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Identifier for the input on Sink.","summary":"

Identifier for the input on Sink.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Map","path":"Place/Router/Core/Settings/Connections/Map.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Map","name":"Map","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Structure for a full connection map.\n\n```json\n{\n \"Display_1\": {\n \"hdmi\": \"Switcher_1.1\"\n },\n \"Switcher_1\": [\"*Foo\", \"*Bar\"],\n \"*FloorBox\": \"Switcher_1.2\"\n}\n```","summary":"

Structure for a full connection map.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Sink","path":"Place/Router/Core/Settings/Connections/Sink.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Sink","name":"Sink","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L85"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device that recieves the signal.","summary":"

The device that recieves the signal.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Source","path":"Place/Router/Core/Settings/Connections/Source.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Source","name":"Source","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device a signal is originating from.","summary":"

The device a signal is originating from.

"}]},{"html_id":"drivers/Place/Router/Core/Settings/IOMeta","path":"Place/Router/Core/Settings/IOMeta.html","kind":"alias","full_name":"Place::Router::Core::Settings::IOMeta","name":"IOMeta","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, JSON::Any))","aliased_html":"Hash(String, Hash(String, JSON::Any))","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Input/outputs and their associated metadata. Attributes specified here are\nprogated to the assocated input status keys. This allows information such as\nname, type etc to be exposed to UI's.","summary":"

Input/outputs and their associated metadata.

"}]},{"html_id":"drivers/Place/Router/Core/SignalNode","path":"Place/Router/Core/SignalNode.html","kind":"struct","full_name":"Place::Router::Core::SignalNode","name":"SignalNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/core.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"doc":"Wrapper for providng simple interaction with a signal node and it's\nassociated driver.","summary":"

Wrapper for providng simple interaction with a signal node and it's associated driver.

","constructors":[{"html_id":"new(label:Place::Router::SignalGraph::Node::Label,proxy:Future::Compute(PlaceOS::Driver::Proxy::Driver))-class-method","name":"new","abstract":false,"args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"args_string":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","args_html":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","location":{"filename":"src/place/router/core.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L20"},"def":{"name":"new","args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(label, proxy)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"proxy-instance-method","name":"proxy","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L25"},"def":{"name":"proxy","visibility":"Public","body":"@proxy.get"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/core.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L29"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}},{"html_id":"watch(&handler:self->)-instance-method","name":"watch","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L33"},"def":{"name":"watch","yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"visibility":"Public","body":"@label.watch do\n handler.call(self)\nend"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/place/router/core.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/core.cr#L23"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" @label.\n{{ call }}\n\n \n"}}]}]},{"html_id":"drivers/Place/Router/Digraph","path":"Place/Router/Digraph.html","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Labelled digraph. Holds node labels of type *N* and edge labels of type *E*.\n\nNodes are stored on UInt64 ID's. This provides an interface that should feel\nsimilar to `Indexable` for interacting with nodes labels. Similarly edges can\nbe placed and retrieved by using a dual index of {predescessor, successor}.\n\nOPTIMIZE: replace with a sparse matrix and graphBLAS operations.","summary":"

Labelled digraph.

","constructors":[{"html_id":"new(initial_capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"args_string":"(initial_capacity = nil)","args_html":"(initial_capacity = nil)","location":{"filename":"src/place/router/digraph.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L19"},"def":{"name":"new","args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"visibility":"Public","body":"_ = Digraph(N, E).allocate\n_.initialize(initial_capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](pred_id,succ_id)-instance-method","name":"[]","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id)","args_html":"(pred_id, succ_id)","location":{"filename":"src/place/router/digraph.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L68"},"def":{"name":"[]","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"visibility":"Public","body":"fetch(pred_id, succ_id) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} does not exist\"))\nend"}},{"html_id":"[](id)-instance-method","name":"[]","doc":"Retrieves the label attached to node *id*.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L42"},"def":{"name":"[]","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).attr"}},{"html_id":"[]=(pred_id,succ_id,attr)-instance-method","name":"[]=","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(pred_id, succ_id, attr)","args_html":"(pred_id, succ_id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L81"},"def":{"name":"[]=","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(pred_id, succ_id, attr) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} already exists\"))\nend"}},{"html_id":"[]=(id,attr)-instance-method","name":"[]=","doc":"Insert a new node.","summary":"

Insert a new node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(id, attr)","args_html":"(id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L53"},"def":{"name":"[]=","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(id, attr) do\n raise(Error.new(\"Node #{id} already exists\"))\nend"}},{"html_id":"breadth_first_search(from,&:UInt64->Bool|Nil)-instance-method","name":"breadth_first_search","doc":"Perform a breadth first search across the graph, starting at *from*.\n\nEach node id is yielded as it's traversed. The search will terminate when\nthis block returns true. If `nil` is returned the node is skipped, but the\ntraversal continues.\n\nResults are provided as a Hash that includes all reached nodes as the keys,\nand their predecessor as the associated value.","summary":"

Perform a breadth first search across the graph, starting at from.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""}],"args_string":"(from, & : UInt64 -> Bool | Nil)","args_html":"(from, & : UInt64 -> Bool | Nil)","location":{"filename":"src/place/router/digraph.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L106"},"def":{"name":"breadth_first_search","args":[{"name":"from","external_name":"from","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"","external_name":"","restriction":"(UInt64 -> Bool | ::Nil)"},"visibility":"Public","body":"paths = Hash(UInt64, UInt64).new\nqueue = Deque(UInt64).new(1, from)\nwhile pred_id = queue.shift?\n (node(pred_id)).succ.each_key do |succ_id|\n if paths.has_key?(succ_id)\n next\n end\n done = yield succ_id\n if done.nil?\n next\n end\n paths[succ_id] = pred_id\n if done\n return paths\n end\n queue << succ_id\n end\nend\n"}},{"html_id":"clear(*args,**options)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@nodes.clear(*args, **options)"}},{"html_id":"clear(*args,**options,&)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@nodes.clear(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"fetch(pred_id,succ_id,&):E-instance-method","name":"fetch","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id, &) : E","args_html":"(pred_id, succ_id, &) : E","location":{"filename":"src/place/router/digraph.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L75"},"def":{"name":"fetch","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"yields":2,"block_arity":2,"return_type":"E","visibility":"Public","body":"succ_id = check_node_exists(succ_id)\n(node(pred_id)).succ.fetch(succ_id) do\n yield pred_id, succ_id\nend\n"}},{"html_id":"fetch(id,&):N-instance-method","name":"fetch","doc":"Retrieves the label attached to node *id*. Yields if it does not exist.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id, &) : N","args_html":"(id, &) : N","location":{"filename":"src/place/router/digraph.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L47"},"def":{"name":"fetch","args":[{"name":"id","external_name":"id","restriction":""}],"yields":1,"block_arity":1,"return_type":"N","visibility":"Public","body":"node = node(id) do\n return yield id\nend\nnode.attr\n"}},{"html_id":"indegree(id)-instance-method","name":"indegree","doc":"The number of incomming edges to *id*.","summary":"

The number of incomming edges to id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L183"},"def":{"name":"indegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"id = check_node_exists(id)\n@nodes.reduce(0) do |count, __arg1|\n node = __arg1[1]\n if node.succ.has_key?(id)\n count = count + 1\n end\n count\nend\n"}},{"html_id":"insert(pred_id,succ_id,attr:E,&)-instance-method","name":"insert","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"args_string":"(pred_id, succ_id, attr : E, &)","args_html":"(pred_id, succ_id, attr : E, &)","location":{"filename":"src/place/router/digraph.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L88"},"def":{"name":"insert","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"yields":2,"block_arity":2,"visibility":"Public","body":"succ_id = check_node_exists(succ_id)\npred = node(pred_id)\nif pred.succ.has_key?(succ_id)\n yield pred_id, succ_id\nelse\n pred.succ[succ_id] = attr\nend\n"}},{"html_id":"insert(id,attr:N,&)-instance-method","name":"insert","doc":"Inserts a node. Yields if it already exists.","summary":"

Inserts a node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"args_string":"(id, attr : N, &)","args_html":"(id, attr : N, &)","location":{"filename":"src/place/router/digraph.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L58"},"def":{"name":"insert","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"yields":1,"block_arity":1,"visibility":"Public","body":"id = id.to_u64\nif @nodes.has_key?(id)\n yield id\nelse\n @nodes[id] = Node(N, E).new(attr, {} of UInt64 => E)\nend\n"}},{"html_id":"nodes:Enumerable(UInt64)-instance-method","name":"nodes","doc":"Provides all nodes present within the graph.\n\nNOTE: ordering of nodes is _not_ defined.","summary":"

Provides all nodes present within the graph.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L149"},"def":{"name":"nodes","return_type":"Enumerable(UInt64)","visibility":"Public","body":"@nodes.each_key"}},{"html_id":"outdegree(id)-instance-method","name":"outdegree","doc":"The outgoing edges from *id*.","summary":"

The outgoing edges from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L178"},"def":{"name":"outdegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).succ.size"}},{"html_id":"path(from,to,invert=false):Enumerable(UInt64)|Nil-instance-method","name":"path","doc":"Returns a list of node IDs that form the shortest path between the passed\nnodes or `nil` if no path exists.","summary":"

Returns a list of node IDs that form the shortest path between the passed nodes or nil if no path exists.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"args_string":"(from, to, invert = false) : Enumerable(UInt64) | Nil","args_html":"(from, to, invert = false) : Enumerable(UInt64) | Nil","location":{"filename":"src/place/router/digraph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L130"},"def":{"name":"path","args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"return_type":"Enumerable(UInt64) | ::Nil","visibility":"Public","body":"from = check_node_exists(from)\nto = check_node_exists(to)\npaths = breadth_first_search(from, &.==(to))\nif paths.nil?\n return\nend\nnodes = [to]\nwhile !(nodes.last == from)\n nodes << paths[nodes.last]\nend\ninvert ? nodes : nodes.reverse!\n"}},{"html_id":"sink?(id):Bool-instance-method","name":"sink?","doc":"Checks if a node has incoming edges only.","summary":"

Checks if a node has incoming edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L154"},"def":{"name":"sink?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(outdegree(id)).zero? && (!(indegree(id)).zero?)"}},{"html_id":"sinks:Enumerable(UInt64)-instance-method","name":"sinks","doc":"Provides all nodes with incoming edges only.","summary":"

Provides all nodes with incoming edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L159"},"def":{"name":"sinks","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n sink?(id)\nend"}},{"html_id":"source?(id):Bool-instance-method","name":"source?","doc":"Checks if a node has outgoing edges only.","summary":"

Checks if a node has outgoing edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L164"},"def":{"name":"source?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(!(outdegree(id)).zero?) && (indegree(id)).zero?"}},{"html_id":"sources:Enumerable(UInt64)-instance-method","name":"sources","doc":"Provides all nodes with outgoing edges only.\n\nOPTIMIZE: this is _very_ slow [O(V * E)], but works for testing purposes.\nSwitching the sparse matrix should assist so not worth optimising for this\nsetup.","summary":"

Provides all nodes with outgoing edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L173"},"def":{"name":"sources","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n source?(id)\nend"}},{"html_id":"subtree(id):Enumerable(UInt64)-instance-method","name":"subtree","doc":"Provides all nodes reachable from *id*.","summary":"

Provides all nodes reachable from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Enumerable(UInt64)","args_html":"(id) : Enumerable(UInt64)","location":{"filename":"src/place/router/digraph.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L192"},"def":{"name":"subtree","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Enumerable(UInt64)","visibility":"Public","body":"id = check_node_exists(id)\nSubtreeIterator.new(self, id)\n"}}],"types":[{"html_id":"drivers/Place/Router/Digraph/Error","path":"Place/Router/Digraph/Error.html","kind":"class","full_name":"Place::Router::Digraph::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"}},{"html_id":"drivers/Place/Router/Digraph/Node","path":"Place/Router/Digraph/Node.html","kind":"struct","full_name":"Place::Router::Digraph::Node(N, E)","name":"Node","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"},"constructors":[{"html_id":"new(attr:N,succ:Hash(UInt64,E))-class-method","name":"new","abstract":false,"args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"args_string":"(attr : N, succ : Hash(UInt64, E))","args_html":"(attr : N, succ : Hash(UInt64, E))","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"new","args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"visibility":"Public","body":"_ = Node(N, E).allocate\n_.initialize(attr, succ)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attr:N-instance-method","name":"attr","abstract":false,"def":{"name":"attr","return_type":"N","visibility":"Public","body":"@attr"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@attr.clone, @succ.clone)"}},{"html_id":"copy_with(attr_attr=@attr,succ_succ=@succ)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"args_string":"(attr _attr = @attr, succ _succ = @succ)","args_html":"(attr _attr = @attr, succ _succ = @succ)","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/digraph.cr#L11"},"def":{"name":"copy_with","args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"visibility":"Public","body":"self.class.new(_attr, _succ)"}},{"html_id":"succ:Hash(UInt64,E)-instance-method","name":"succ","abstract":false,"def":{"name":"succ","return_type":"Hash(UInt64, E)","visibility":"Public","body":"@succ"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph","path":"Place/Router/SignalGraph.html","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L11"},{"filename":"src/place/router/signal_graph/edge.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L3"},{"filename":"src/place/router/signal_graph/mod.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L5"},{"filename":"src/place/router/signal_graph/node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L5"},{"filename":"src/place/router/signal_graph/watchable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Structures and types for mapping between sys,mod,idx,io referencing and the\nunderlying graph structure.\n\nThe SignalGraph class _does not_ perform any direct interaction with devices,\nbut does provide the ability to discover routes and available connectivity\nwhen may then be acted on.","summary":"

Structures and types for mapping between sys,mod,idx,io referencing and the underlying graph structure.

","class_methods":[{"html_id":"build(nodes:Enumerable(Node::Ref),links:Enumerable(Tuple(Node::Ref,Node::Ref)))-class-method","name":"build","doc":"Construct a graph from a pre-parsed configuration.\n\n*nodes* must contain the set of all signal nodes that form the device inputs\nand outputs across the system. This includes those at the \"edge\" of the\nsignal network (e.g. a input to a switcher) as well as inputs in use on\nintermediate devices (e.g. a input on a display, which in turn is attached to\nthe switcher above).\n\n*links* declares the interconnections between devices.\n\nModules associated with any of these nodes are then introspected for\nswitching, input selection and mute control based on the interfaces they\nexpose.","summary":"

Construct a graph from a pre-parsed configuration.

","abstract":false,"args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"args_string":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","args_html":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","location":{"filename":"src/place/router/signal_graph.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L93"},"def":{"name":"build","args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"visibility":"Public","body":"mod_io = Hash(Mod, ::Tuple(Set(Input), Set(Output))).new do |h, k|\n h[k] = {Set(Input).new, Set(Output).new}\nend\nsiggraph = new(initial_capacity: nodes.size)\nsiggraph.insert(Mute)\nnodes.each do |node|\n siggraph.insert(node)\n case node\n when Input\n inputs, _ = mod_io[node.mod]\n inputs << node\n when Output\n _, outputs = mod_io[node.mod]\n outputs << node\n end\nend\nlinks.each do |source, dest|\n siggraph.connect(source, dest)\nend\nmod_io.each do |mod, __arg0|\n inputs = __arg0[0]\n outputs = __arg0[1]\n siggraph.link(mod, inputs, outputs)\nend\nsiggraph.inputs.each do |node|\n node.source = node.ref\nend\nsiggraph\n"}}],"instance_methods":[{"html_id":"[](node:Node::Ref)-instance-method","name":"[]","doc":"Retrieves the labelled state for *node*.","summary":"

Retrieves the labelled state for node.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref)","args_html":"(node : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L130"},"def":{"name":"[]","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"visibility":"Public","body":"g[node.id]"}},{"html_id":"[](node_id)-instance-method","name":"[]","doc":"Retrieves the labelled state for the signal node at *node_id*.","summary":"

Retrieves the labelled state for the signal node at node_id.

","abstract":false,"args":[{"name":"node_id","external_name":"node_id","restriction":""}],"args_string":"(node_id)","args_html":"(node_id)","location":{"filename":"src/place/router/signal_graph.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L135"},"def":{"name":"[]","args":[{"name":"node_id","external_name":"node_id","restriction":""}],"visibility":"Public","body":"g[node_id]"}},{"html_id":"input?(node:Node::Ref):Bool-instance-method","name":"input?","doc":"Checks if *node* is a system input.","summary":"

Checks if node is a system input.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L161"},"def":{"name":"input?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.sink?(node.id)"}},{"html_id":"inputs(destination:Node::Ref)-instance-method","name":"inputs","doc":"Provide all signal nodes that can be routed to *destination*.","summary":"

Provide all signal nodes that can be routed to destination.

","abstract":false,"args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"args_string":"(destination : Node::Ref)","args_html":"(destination : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L172"},"def":{"name":"inputs","args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"visibility":"Public","body":"(g.subtree(destination.id)).map do |id|\n g[id]\nend"}},{"html_id":"inputs-instance-method","name":"inputs","doc":"Provide the signal nodes that form system inputs.","summary":"

Provide the signal nodes that form system inputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L166"},"def":{"name":"inputs","visibility":"Public","body":"g.sinks.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"output?(node:Node::Ref):Bool-instance-method","name":"output?","doc":"Checks if *node* is a system output.","summary":"

Checks if node is a system output.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L177"},"def":{"name":"output?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.source?(node.id)"}},{"html_id":"outputs-instance-method","name":"outputs","doc":"Provide the signal nodes that form system outputs.","summary":"

Provide the signal nodes that form system outputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L182"},"def":{"name":"outputs","visibility":"Public","body":"g.sources.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"route(source:Node::Ref,destination:Node::Ref,max_dist=nil)-instance-method","name":"route","doc":"Find the signal path that connects *source* to *dest*, or `nil` if this is\nnot possible.\n\nProvides an `Iterator` that provides labels across each node, the edge, and\nsubsequent node.","summary":"

Find the signal path that connects source to dest, or nil if this is not possible.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"args_string":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","args_html":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","location":{"filename":"src/place/router/signal_graph.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L144"},"def":{"name":"route","args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"visibility":"Public","body":"path = g.path(destination.id, source.id, invert: true)\nif path\nelse\n return nil\nend\nif max_dist && path.size > max_dist\n return nil\nend\n(path.each_cons(2, true)).map do |__arg1|\n succ = __arg1[0]\n pred = __arg1[1]\n {g[succ], g[pred, succ], g[pred]}\nend\n"}}],"types":[{"html_id":"drivers/Place/Router/SignalGraph/Device","path":"Place/Router/SignalGraph/Device.html","kind":"alias","full_name":"Place::Router::SignalGraph::Device","name":"Device","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Device","aliased_html":"Place::Router::SignalGraph::Node::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge","path":"Place/Router/SignalGraph/Edge.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Active","path":"Place/Router/SignalGraph/Edge/Active.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Active","name":"Active","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"new(mod:Mod,func:Func::Type)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"args_string":"(mod : Mod, func : Func::Type)","args_html":"(mod : Mod, func : Func::Type)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, func)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @func.clone)"}},{"html_id":"copy_with(mod_mod=@mod,func_func=@func)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"args_string":"(mod _mod = @mod, func _func = @func)","args_html":"(mod _mod = @mod, func _func = @func)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _func)"}},{"html_id":"func:Func::Type-instance-method","name":"func","abstract":false,"def":{"name":"func","return_type":"Func::Type","visibility":"Public","body":"@func"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","path":"Place/Router/SignalGraph/Edge/Func.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Mute","path":"Place/Router/SignalGraph/Edge/Func/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(state:Bool,index:Int32|String=0)-class-method","name":"new","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool, index : Int32 | String = 0)","args_html":"(state : Bool, index : Int32 | String = 0)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"new","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(state, index)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@state.clone, @index.clone)"}},{"html_id":"copy_with(state_state=@state,index_index=@index)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"args_string":"(state _state = @state, index _index = @index)","args_html":"(state _state = @state, index _index = @index)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"copy_with","args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"visibility":"Public","body":"self.class.new(_state, _index)"}},{"html_id":"index:Int32|String-instance-method","name":"index","abstract":false,"def":{"name":"index","return_type":"Int32 | String","visibility":"Public","body":"@index"}},{"html_id":"state:Bool-instance-method","name":"state","abstract":false,"def":{"name":"state","return_type":"Bool","visibility":"Public","body":"@state"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Select","path":"Place/Router/SignalGraph/Edge/Func/Select.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Select","name":"Select","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"args_string":"(input : Int32 | String)","args_html":"(input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone)"}},{"html_id":"copy_with(input_input=@input)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"args_string":"(input _input = @input)","args_html":"(input _input = @input)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"visibility":"Public","body":"self.class.new(_input)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Switch","path":"Place/Router/SignalGraph/Edge/Func/Switch.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String,output:Int32|String,layer:String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"args_string":"(input : Int32 | String, output : Int32 | String, layer : String)","args_html":"(input : Int32 | String, output : Int32 | String, layer : String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Type","path":"Place/Router/SignalGraph/Edge/Func/Type.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Func::Type","name":"Type","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch)","aliased_html":"Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Label","path":"Place/Router/SignalGraph/Edge/Label.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Label","name":"Label","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static)","aliased_html":"Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Static","path":"Place/Router/SignalGraph/Edge/Static.html","kind":"class","full_name":"Place::Router::SignalGraph::Edge::Static","name":"Static","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/edge.cr#L8"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Input","path":"Place/Router/SignalGraph/Input.html","kind":"alias","full_name":"Place::Router::SignalGraph::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceInput","aliased_html":"Place::Router::SignalGraph::Node::DeviceInput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Mod","path":"Place/Router/SignalGraph/Mod.html","kind":"class","full_name":"Place::Router::SignalGraph::Mod","name":"Mod","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/mod.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"doc":"Reference to a PlaceOS module that provides IO nodes within the graph.","summary":"

Reference to a PlaceOS module that provides IO nodes within the graph.

","class_methods":[{"html_id":"parse?(ref)-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref)","args_html":"(ref)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L44"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"visibility":"Public","body":"if m = ref.match(/^(.+)\\/(.+)\\_(\\d+)$/)\n sys = m[1]\n mod = m[2]\n idx = m[3].to_i\n new(sys, mod, idx)\nend"}}],"constructors":[{"html_id":"new(sys:String,name:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"args_string":"(sys : String, name : String, idx : Int32)","args_html":"(sys : String, name : String, idx : Int32)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L14"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"==(other:self)-instance-method","name":"==","doc":"Returns `true` if this reference is the same as *other*. Invokes `same?`.","summary":"

Returns true if this reference is the same as other.

","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"self"}],"args_string":"(other : self)","args_html":"(other : self)","def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"self"}],"visibility":"Public","body":"if same?(other)\n return true\nend\nif @id == (other.@id)\nelse\n return false\nend\ntrue\n"}},{"html_id":"audio_muteable?-instance-method","name":"audio_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"audio_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::AudioMuteable\".in?(metadata.implements)"}},{"html_id":"camera?-instance-method","name":"camera?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"camera?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Camera\".in?(metadata.implements)"}},{"html_id":"door_security?-instance-method","name":"door_security?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"door_security?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::DoorSecurity\".in?(metadata.implements)"}},{"html_id":"electrical_relay?-instance-method","name":"electrical_relay?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"electrical_relay?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::ElectricalRelay\".in?(metadata.implements)"}},{"html_id":"hash(hasher)-instance-method","name":"hash","doc":"See `Object#hash(hasher)`","summary":"

See Object#hash(hasher)

","abstract":false,"args":[{"name":"hasher","external_name":"hasher","restriction":""}],"args_string":"(hasher)","args_html":"(hasher)","def":{"name":"hash","args":[{"name":"hasher","external_name":"hasher","restriction":""}],"visibility":"Public","body":"hasher = @id.hash(hasher)\nhasher\n"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L12"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L10"},"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"input_muteable?-instance-method","name":"input_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputMuteable\".in?(metadata.implements)"}},{"html_id":"input_selection?-instance-method","name":"input_selection?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_selection?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputSelection\".in?(metadata.implements)"}},{"html_id":"lighting?-instance-method","name":"lighting?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lighting?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lighting\".in?(metadata.implements)"}},{"html_id":"locatable?-instance-method","name":"locatable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"locatable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Locatable\".in?(metadata.implements)"}},{"html_id":"lockers?-instance-method","name":"lockers?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lockers?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lockers\".in?(metadata.implements)"}},{"html_id":"mailer?-instance-method","name":"mailer?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"mailer?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Mailer\".in?(metadata.implements)"}},{"html_id":"metadata-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L19"},"def":{"name":"metadata","visibility":"Public","body":"(PlaceOS::Driver::Proxy::System.driver_metadata?(id)).not_nil!"}},{"html_id":"moveable?-instance-method","name":"moveable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"moveable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Moveable\".in?(metadata.implements)"}},{"html_id":"muteable?-instance-method","name":"muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Muteable\".in?(metadata.implements)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L9"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"powerable?-instance-method","name":"powerable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"powerable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Powerable\".in?(metadata.implements)"}},{"html_id":"selectable?-instance-method","name":"selectable?","doc":"FIXME: drop if / after renaming InputSelection -> Selectable","summary":"

FIXME drop if / after renaming InputSelection -> Selectable

","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"selectable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Selectable\".in?(metadata.implements)"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sensor?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Sensor\".in?(metadata.implements)"}},{"html_id":"sms?-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sms?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::SMS\".in?(metadata.implements)"}},{"html_id":"stoppable?-instance-method","name":"stoppable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"stoppable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Stoppable\".in?(metadata.implements)"}},{"html_id":"switchable?-instance-method","name":"switchable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"switchable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Switchable\".in?(metadata.implements)"}},{"html_id":"sys:String-instance-method","name":"sys","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L8"},"def":{"name":"sys","return_type":"String","visibility":"Public","body":"@sys"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L40"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((((io << sys) << '/') << name) << '_') << idx"}},{"html_id":"video_muteable?-instance-method","name":"video_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"video_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::VideoMuteable\".in?(metadata.implements)"}},{"html_id":"zoomable?-instance-method","name":"zoomable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"zoomable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Zoomable\".in?(metadata.implements)"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node","path":"Place/Router/SignalGraph/Node.html","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","path":"Place/Router/SignalGraph/Node/Device.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to the default / central node for a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1\n │ │ │\n │ │ └module index\n │ └module name\n └system\n","summary":"

Reference to the default / central node for a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L150"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if mod = Mod.parse?(ref)\n new(mod)\nend"}}],"constructors":[{"html_id":"new(sys,name,idx)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"args_string":"(sys, name, idx)","args_html":"(sys, name, idx)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L139"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"args_string":"(mod : Place::Router::SignalGraph::Mod)","args_html":"(mod : Place::Router::SignalGraph::Mod)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L143"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L137"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L146"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","path":"Place/Router/SignalGraph/Node/DeviceInput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L207"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal input to a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1:hdmi\n │ │ │ │\n │ │ │ └input\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal input to a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L222"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, i = ref.rpartition(':')\nif mod = Mod.parse?(m)\n input = i.to_i? || i\n new(mod, input)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(sys, name, idx, input : Int32 | String)","args_html":"(sys, name, idx, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L211"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L215"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L209"},"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L208"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L218"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << ':') << input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","path":"Place/Router/SignalGraph/Node/DeviceOutput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal output from a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Switcher_1.1!video\n │ │ │ │ │_layer\n │ │ │ └output\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal output from a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L187"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, o = ref.rpartition('.')\nif mod = Mod.parse?(m)\n output = o.to_i? || o\n new(mod, output)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,output:Int32|String,layer)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"args_string":"(sys, name, idx, output : Int32 | String, layer)","args_html":"(sys, name, idx, output : Int32 | String, layer)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L173"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,output:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L178"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, output)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L171"},"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L169"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L170"},"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L182"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << '.') << output\nif @layer == DEFAULT_LAYER\nelse\n (io << '!') << @layer\nend\n"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","path":"Place/Router/SignalGraph/Node/Label.html","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Metadata tracked against each signal node.","summary":"

Metadata tracked against each signal node.

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(ref:Place::Router::SignalGraph::Node::Ref)-class-method","name":"new","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"args_string":"(ref : Place::Router::SignalGraph::Node::Ref)","args_html":"(ref : Place::Router::SignalGraph::Node::Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L12"},"def":{"name":"new","args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ref)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(key,value:JSON::Any)-instance-method","name":"[]=","doc":"Sets a metadata property of `self`.","summary":"

Sets a metadata property of self.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(key, value : JSON::Any)","args_html":"(key, value : JSON::Any)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Int)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"args_string":"(key, value : Int)","args_html":"(key, value : Int)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Float)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"args_string":"(key, value : Float)","args_html":"(key, value : Float)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Array)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"args_string":"(key, value : Array)","args_html":"(key, value : Array)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Hash)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"args_string":"(key, value : Hash)","args_html":"(key, value : Hash)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"locked:Bool-instance-method","name":"locked","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L27"},"def":{"name":"locked","return_type":"Bool","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool)-instance-method","name":"locked=","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"args_string":"(locked : Bool)","args_html":"(locked : Bool)","def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"visibility":"Public","body":"(previous_def(locked)).tap do\n notify\nend"}},{"html_id":"meta:Hash(String,JSON::Any)-instance-method","name":"meta","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L33"},"def":{"name":"meta","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @meta).nil?\n @meta = (Hash(String, JSON::Any).new)\nelse\n value\nend"}},{"html_id":"meta=(meta:Hash(String,JSON::Any))-instance-method","name":"meta=","abstract":false,"args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"args_string":"(meta : Hash(String, JSON::Any))","args_html":"(meta : Hash(String, JSON::Any))","def":{"name":"meta=","args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"(previous_def(meta)).tap do\n notify\nend"}},{"html_id":"ref:Ref-instance-method","name":"ref","doc":"The `Node::Ref` used when creating this node.","summary":"

The Node::Ref used when creating this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L20"},"def":{"name":"ref","return_type":"Ref","visibility":"Public","body":"@ref"}},{"html_id":"source:Ref|Nil-instance-method","name":"source","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L23"},"def":{"name":"source","return_type":"Ref | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:Ref|Nil)-instance-method","name":"source=","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"args_string":"(source : Ref | Nil)","args_html":"(source : Ref | Nil)","def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"visibility":"Public","body":"(previous_def(source)).tap do\n notify\nend"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L15"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","path":"Place/Router/SignalGraph/Node/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Virtual node representing (any) mute source.\n\nThis may be refernced simply as `MUTE`.","summary":"

Virtual node representing (any) mute source.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L247"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if ref.upcase.ends_with?(\"MUTE\")\n instance\nend"}}],"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L235"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}],"instance_methods":[{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L240"},"def":{"name":"id","visibility":"Public","body":"0_u64"}},{"html_id":"mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L244"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L252"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << \"MUTE\""}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","path":"Place/Router/SignalGraph/Node/Ref.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"subclasses":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Base structure for referring to a node within the graph.","summary":"

Base structure for referring to a node within the graph.

","class_methods":[{"html_id":"resolve?(key:String,sys=nil)-class-method","name":"resolve?","doc":"Resolves a string-based node *key* to a fully-qualified reference.\n\nIf a system component is not present within *key*, this is resolved\nwithin the context of *sys*. For example:\n\n Ref.resolve(\"Display_1:hdmi\", \"sys-abc123\")\n # => DeviceInput(sys: \"sys-abc123\", mod: {\"Display\", 1}, input: \"hdmi\")\n","summary":"

Resolves a string-based node key to a fully-qualified reference.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"args_string":"(key : String, sys = nil)","args_html":"(key : String, sys = nil)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L81"},"def":{"name":"resolve?","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"visibility":"Public","body":"ref = key.includes?('/') ? key : \"#{sys}/#{key}\"\n{% if true %}\n {% for type in @type.subclasses %}\n {{ type }}.parse?(ref) || \\\n {% end %}\n nil\n {% end %}\n"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"==(other:Ref)-instance-method","name":"==","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"Ref"}],"args_string":"(other : Ref)","args_html":"(other : Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L104"},"def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"Ref"}],"visibility":"Public","body":"id == other.id"}},{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L92"},"def":{"name":"id","visibility":"Public","body":"self.class.hash ^ self.hash"}},{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"initialize","visibility":"Public","body":""}},{"html_id":"layer-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L100"},"def":{"name":"layer","visibility":"Public","body":"DEFAULT_LAYER"}},{"html_id":"local(sys:String)-instance-method","name":"local","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(sys : String)","args_html":"(sys : String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L108"},"def":{"name":"local","args":[{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"to_s.lchop(\"#{sys}/\")"}},{"html_id":"mod-instance-method","name":"mod","abstract":true,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L96"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_json(json)-instance-method","name":"to_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":""}],"args_string":"(json)","args_html":"(json)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/node.cr#L112"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":""}],"visibility":"Public","body":"json.string(to_s)"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Output","path":"Place/Router/SignalGraph/Output.html","kind":"alias","full_name":"Place::Router::SignalGraph::Output","name":"Output","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceOutput","aliased_html":"Place::Router::SignalGraph::Node::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","path":"Place/Router/SignalGraph/Watchable.html","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/watchable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"instance_methods":[{"html_id":"notify:Nil-instance-method","name":"notify","doc":"Notify subscribers with current state.","summary":"

Notify subscribers with current state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L10"},"def":{"name":"notify","return_type":"Nil","visibility":"Public","body":"@subscribers.try(&.each(&.call(self)))"}},{"html_id":"watch(initial=true,&handler:self->):Nil-instance-method","name":"watch","doc":"Subscribe to updates.","summary":"

Subscribe to updates.

","abstract":false,"args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"args_string":"(initial = true, &handler : self -> ) : Nil","args_html":"(initial = true, &handler : self -> ) : Nil","location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph/watchable.cr#L4"},"def":{"name":"watch","args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"return_type":"Nil","visibility":"Public","body":"subscribers << handler\nif initial\n handler.call(self)\nend\n"}}]}]}]},{"html_id":"drivers/Place/SensorShutdown","path":"Place/SensorShutdown.html","kind":"class","full_name":"Place::SensorShutdown","name":"SensorShutdown","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/sensor_shutdown.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"event_in_progress?:Bool-instance-method","name":"event_in_progress?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L22"},"def":{"name":"event_in_progress?","return_type":"Bool","visibility":"Public","body":"@event_in_progress"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"timeout_ad_hoc = (setting?(UInt32, :timeout_ad_hoc)) || 15_u32.minutes\ntimeout_booked = (setting?(UInt32, :timeout_booked)) || 30_u32.minutes\nsubscriptions.clear\nbookings.subscribe(:status) do |_sub, status|\n update_status(status != \"\\\"free\\\"\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nav_control.subscribe(:active) do |_sub, active|\n update_room_power_state(active == \"true\")\nend\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L23"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}},{"html_id":"room_powered_on?:Bool-instance-method","name":"room_powered_on?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L25"},"def":{"name":"room_powered_on?","return_type":"Bool","visibility":"Public","body":"@room_powered_on"}},{"html_id":"sensor_stale?:Bool-instance-method","name":"sensor_stale?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L24"},"def":{"name":"sensor_stale?","return_type":"Bool","visibility":"Public","body":"@sensor_stale"}},{"html_id":"timer_active?:Bool-instance-method","name":"timer_active?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/sensor_shutdown.cr#L27"},"def":{"name":"timer_active?","return_type":"Bool","visibility":"Public","body":"@timer_active"}}]},{"html_id":"drivers/Place/Smtp","path":"Place/Smtp.html","kind":"class","full_name":"Place::Smtp","name":"Smtp","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/smtp.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/smtp.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L94"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/smtp.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L90"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"defaults = URI.parse(config.uri.not_nil!)\ntls_mode = if scheme = defaults.scheme\n scheme.ends_with?('s') ? EMail::Client::TLSMode::SMTPS : EMail::Client::TLSMode::STARTTLS\nelse\n EMail::Client::TLSMode::STARTTLS\nend\nport = defaults.port || 587\nhost = defaults.host || \"smtp.host\"\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@sender = (setting?(String, :sender)) || \"support@place.tech\"\n@host = (setting?(String, :host)) || host\n@port = (setting?(Int32, :port)) || port\n@tls_mode = (setting?(EMail::Client::TLSMode, :tls_mode)) || tls_mode\n@ssl_verify_ignore = (setting?(Bool, :ssl_verify_ignore)) || false\n@smtp_client = new_smtp_client\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil,reply_to:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/smtp.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/smtp.cr#L98"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"if to.is_a?(Array)\nelse\n to = {to}\nend\nif from.nil? || from.is_a?(Array)\nelse\n from = {from}\nend\nif cc.nil? || cc.is_a?(Array)\nelse\n cc = {cc}\nend\nif bcc.nil? || bcc.is_a?(Array)\nelse\n bcc = {bcc}\nend\nif reply_to.nil? || reply_to.is_a?(Array)\nelse\n reply_to = {reply_to}\nend\nmessage = EMail::Message.new\nmessage.subject(subject)\nmessage.sender(@sender)\nif from.nil? || from.empty?\n message.from(@sender)\nelse\n from.each do |_from|\n message.from(_from)\n end\nend\nto.each do |_to|\n message.to(_to)\nend\nbcc.each do |_bcc|\n message.bcc(_bcc)\nend\ncc.each do |_cc|\n message.cc(_cc)\nend\nif reply_to\n reply_to.each do |_reply|\n message.reply_to(_reply)\n end\nend\nif message_plaintext.presence.nil?\nelse\n message.message(message_plaintext.as(String))\nend\nif message_html.presence.nil?\nelse\n message.message_html(message_html.as(String))\nend\n{resource_attachments, attachments}.map(&.each).each.flatten.each do |attachment|\n attachment_io = IO::Memory.new\n Base64.decode(attachment[:content], attachment_io)\n attachment_io.rewind\n case attachment\n in Attachment\n message.attach(io: attachment_io, file_name: attachment[:file_name])\n in ResourceAttachment\n message.message_resource(io: attachment_io, file_name: attachment[:file_name], cid: attachment[:content_id])\n end\nend\nsent = false\n@send_lock.synchronize do\n smtp_client.start do\n sent = send(message)\n end\nend\nsent\n"}}]},{"html_id":"drivers/Place/SpecHelper","path":"Place/SpecHelper.html","kind":"class","full_name":"Place::SpecHelper","name":"SpecHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/spec_helper.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/spec_helper.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"implemented_in_driver-instance-method","name":"implemented_in_driver","doc":"This method will be exposed on the module","summary":"

This method will be exposed on the module

","abstract":false,"location":{"filename":"src/place/spec_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/spec_helper.cr#L5"},"def":{"name":"implemented_in_driver","visibility":"Public","body":"\"woot!\""}}]},{"html_id":"drivers/Place/StaffAPI","path":"Place/StaffAPI.html","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve(booking_id:String|Int64)-instance-method","name":"approve","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":518,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L518"},"def":{"name":"approve","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"approving booking #{booking_id}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/approve\", headers: authentication)\nif response.success?\nelse\n raise(\"issue approving booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_check_in(booking_id:String|Int64,state:Bool=true,utm_source:String|Nil=nil)-instance-method","name":"booking_check_in","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L534"},"def":{"name":"booking_check_in","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"checking in booking #{booking_id} to: #{state}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n form.add(\"state\", state.to_s)\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/check_in?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue checking in booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_delete(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"booking_delete","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L547"},"def":{"name":"booking_delete","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = delete(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_state(booking_id:String|Int64,state:String)-instance-method","name":"booking_state","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(booking_id : String | Int64, state : String)","args_html":"(booking_id : String | Int64, state : String)","location":{"filename":"src/place/staff_api.cr","line_number":526,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L526"},"def":{"name":"booking_state","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id} state to: #{state}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/update_state?state=#{state}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"chat_members(session_id:String):Array(String)-instance-method","name":"chat_members","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String) : Array(String)","args_html":"(session_id : String) : Array(String)","location":{"filename":"src/place/staff_api.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L187"},"def":{"name":"chat_members","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"SimpleRetry.try_to(max_attempts: 3, base_interval: 1.second, max_interval: 5.seconds) do\n response = get(\"/api/engine/v2/webrtc/members/#{session_id}\", headers: authentication)\n if response.success?\n else\n raise(\"webrtc service possibly unavailable\")\n end\n Array(String).from_json(response.not_nil!.body)\nend"}},{"html_id":"create_booking(booking_type:String,asset_id:String,user_id:String,user_email:String,user_name:String,zones:Array(String),booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,checked_in:Bool=false,approved:Bool|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,time_zone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,utm_source:String|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"create_booking","doc":"===================================\nBOOKINGS ACTIONS\n===================================","summary":"

=================================== BOOKINGS ACTIONS ===================================

","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":408,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L408"},"def":{"name":"create_booking","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"now = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nbooking_start || (booking_start = now.at_beginning_of_day.to_unix)\nbooking_end || (booking_end = now.at_end_of_day.to_unix)\nif checked_in\n checked_in_at = now.to_unix\nend\nlogger.debug do\n \"creating a #{booking_type} booking, starting #{booking_start}, asset #{asset_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"booking_type\" => booking_type, \"asset_id\" => asset_id, \"user_id\" => user_id, \"user_email\" => user_email, \"user_name\" => user_name, \"zones\" => zones, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"approved\" => approved, \"title\" => title, \"description\" => description, \"timezone\" => time_zone, \"extension_data\" => extension_data || (JSON.parse(\"{}\"))}.compact.to_json)\nif response.success?\nelse\n raise(\"issue creating #{booking_type} booking, starting #{booking_start}, asset #{asset_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"create_user(body_json:String)-instance-method","name":"create_user","abstract":false,"args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(body_json : String)","args_html":"(body_json : String)","location":{"filename":"src/place/staff_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L104"},"def":{"name":"create_user","args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/users\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to create user: #{response.status_code}\")\nend\nPlaceOS::Client::API::Models::User.from_json(response.body)\n"}},{"html_id":"delete_event(system_id:String,event_id:String)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(system_id : String, event_id : String)","args_html":"(system_id : String, event_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L314"},"def":{"name":"delete_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"response = delete(\"/api/staff/v1/events/#{event_id}?system_id=#{system_id}\", headers: authentication)\nif response.success? || (response.status_code == 404)\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"delete_user(id:String,force_removal:Bool=false):Nil-instance-method","name":"delete_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"args_string":"(id : String, force_removal : Bool = false) : Nil","args_html":"(id : String, force_removal : Bool = false) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L122"},"def":{"name":"delete_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = delete(\"/api/engine/v2/users/#{id}?force_removal=#{force_removal}\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to delete user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L655"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"getting booking #{booking_id}\"\nend\nresponse = get(\"/api/staff/v1/bookings/#{booking_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue getting booking #{booking_id}: #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_event(event_id:String,system_id:String|Nil=nil,calendar:String|Nil=nil)-instance-method","name":"get_event","doc":"gets an event from either the `system_id` or `calendar` if only one is provided\nif both are provided, it gets the event from `calendar` and the metadata from `system_id`\nNOTE:: the use of `calendar` will typically not work from a driver unless the X-API-Key\n has read access to it. From a driver perspective you should probably use a\n dedicated Calendar driver with application access and the query_metadata function\n below if metadata is required: `query_metadata(system_id: \"sys\", event_ref: [\"id\", \"uuid\"])`","summary":"

gets an event from either the system_id or calendar if only one is provided if both are provided, it gets the event from calendar and the metadata from system_id NOTE:: the use of calendar will typically not work from a driver unless the X-API-Key has read access to it.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"args_string":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","args_html":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L286"},"def":{"name":"get_event","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"visibility":"Public","body":"if calendar.presence || system_id.presence\nelse\n raise(ArgumentError.new(\"requires system_id or calendar param\"))\nend\nparams = URI::Params.build do |form|\n if calendar.presence\n form.add(\"calendar\", calendar.to_s)\n end\n if system_id.presence\n form.add(\"system_id\", system_id.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events/#{event_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L666"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting survey_invites (survey #{survey_id}, sent #{sent})\"\nend\nparams = URI::Params.new\nif survey_id\n params[\"survey_id\"] = survey_id.to_s\nend\nif sent.nil?\nelse\n params[\"sent\"] = sent.to_s\nend\nresponse = get(\"/api/staff/v1/surveys/invitations\", params, headers: authentication)\nif response.success?\nelse\n raise(\"issue getting survey invitations (survey #{survey_id}, sent #{sent}): #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_system(id:String,complete:Bool=false)-instance-method","name":"get_system","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"args_string":"(id : String, complete : Bool = false)","args_html":"(id : String, complete : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L39"},"def":{"name":"get_system","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"visibility":"Public","body":"response = get(\"/api/engine/v2/systems/#{id}?complete=#{complete}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for system id #{id}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing system #{id}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"guest_details(guest_id:String)-instance-method","name":"guest_details","doc":"===================================\nGuest details\n===================================","summary":"

=================================== Guest details ===================================

","abstract":false,"args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"args_string":"(guest_id : String)","args_html":"(guest_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L203"},"def":{"name":"guest_details","args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/guests/#{guest_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"kick_user(user_id:String,session_id:String,reason:String)-instance-method","name":"kick_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"args_string":"(user_id : String, session_id : String, reason : String)","args_html":"(user_id : String, session_id : String, reason : String)","location":{"filename":"src/place/staff_api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L180"},"def":{"name":"kick_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/webrtc/kick/#{user_id}/#{session_id}\", headers: authentication, body: {reason: reason}.to_json)\nresponse.status_code\n"}},{"html_id":"merge_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"merge_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":379,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L379"},"def":{"name":"merge_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.merge(id, key, payload, description)"}},{"html_id":"metadata(id:String,key:String|Nil=nil)-instance-method","name":"metadata","doc":"===================================\nZONE METADATA\n===================================","summary":"

=================================== ZONE METADATA ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L365"},"def":{"name":"metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.fetch(id, key)"}},{"html_id":"metadata_children(id:String,key:String|Nil=nil)-instance-method","name":"metadata_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":369,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L369"},"def":{"name":"metadata_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.children(id, key)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L26"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = (setting(String, :api_key)) || \"\"\nif @api_key.presence\n @access_expires = 30.years.from_now\nend\n@place_domain = URI.parse(config.uri.not_nil!)\n@host_header = (setting?(String, :host_header)) || @place_domain.host.not_nil!\n"}},{"html_id":"patch_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"patch_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L320"},"def":{"name":"patch_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"query_bookings(type:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,zones:Array(String)=[]ofString,user:String|Nil=nil,email:String|Nil=nil,state:String|Nil=nil,created_before:Int64|Nil=nil,created_after:Int64|Nil=nil,approved:Bool|Nil=nil,rejected:Bool|Nil=nil,checked_in:Bool|Nil=nil)-instance-method","name":"query_bookings","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","args_html":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L596"},"def":{"name":"query_bookings","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 30.minutes.from_now.to_unix)\nparams = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n form.add(\"type\", type)\n if zones.empty?\n else\n form.add(\"zones\", zones.join(\",\"))\n end\n if user.presence\n form.add(\"user\", user.to_s)\n end\n if email.presence\n form.add(\"email\", email.to_s)\n end\n if state.presence\n form.add(\"state\", state.to_s)\n end\n if created_before\n form.add(\"created_before\", created_before.to_s)\n end\n if created_after\n form.add(\"created_after\", created_after.to_s)\n end\n if approved.nil?\n else\n form.add(\"approved\", approved.to_s)\n end\n if rejected.nil?\n else\n form.add(\"rejected\", rejected.to_s)\n end\n if checked_in.nil?\n else\n form.add(\"checked_in\", checked_in.to_s)\n end\nend\nlogger.debug do\n \"requesting staff/v1/bookings: #{params}\"\nend\nbookings = [] of JSON::Any\nnext_request = \"/api/staff/v1/bookings?#{params}\"\nloop do\n response = get(next_request, headers: authentication)\n if response.success?\n else\n raise(\"issue loading list of bookings (zones #{zones}): #{response.status_code}\")\n end\n links = LinkHeader.new(response)\n new_bookings = (JSON.parse(response.body)).as_a\n bookings.concat(new_bookings)\n next_request = links[\"next\"]?\n if next_request.nil? || new_bookings.empty?\n break\n end\nend\nlogger.debug do\n \"bookings count: #{bookings.size}\"\nend\nbookings\n"}},{"html_id":"query_events(period_start:Int64,period_end:Int64,zones:Array(String)|Nil=nil,systems:Array(String)|Nil=nil,capacity:Int32|Nil=nil,features:String|Nil=nil,bookable:Bool|Nil=nil,include_cancelled:Bool|Nil=nil)-instance-method","name":"query_events","doc":"===================================\nCALENDAR EVENT ACTIONS (via staff api)\n===================================","summary":"

=================================== CALENDAR EVENT ACTIONS (via staff api) ===================================

","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L248"},"def":{"name":"query_events","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n if zones && (!zones.empty?)\n form.add(\"zone_ids\", zones.join(\",\"))\n end\n if systems && (!systems.empty?)\n form.add(\"system_ids\", systems.join(\",\"))\n end\n if capacity\n form.add(\"capacity\", capacity.to_s)\n end\n if features\n form.add(\"features\", features)\n end\n if !bookable.nil?\n form.add(\"bookable\", bookable.to_s)\n end\n if !include_cancelled.nil?\n form.add(\"include_cancelled\", include_cancelled.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_guests(period_start:Int64,period_end:Int64,zones:Array(String))-instance-method","name":"query_guests","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String))","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L225"},"def":{"name":"query_guests","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n form.add(\"zone_ids\", zones.join(\",\"))\nend\nresponse = get(\"/api/staff/v1/guests?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_metadata(period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,field_name:String|Nil=nil,value:String|Nil=nil,system_id:String|Nil=nil,event_ref:Array(String)|Nil=nil)-instance-method","name":"query_metadata","doc":"search for metadata that exists on events to obtain the event information\nfor response details see `EventMetadata__Assigner` in the OpenAPI docs\nhttps://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml","summary":"

search for metadata that exists on events to obtain the event information for response details see EventMetadata__Assigner in the OpenAPI docs https://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml

","abstract":false,"args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"args_string":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","args_html":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L335"},"def":{"name":"query_metadata","args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n if field_name.presence\n form.add(\"field_name\", field_name)\n end\n if value.presence\n form.add(\"value\", value)\n end\n if event_ref && (!event_ref.empty?)\n form.add(\"event_ref\", event_ref.join(\",\"))\n end\nend\nresponse = get(\"/api/staff/v1/events/extension_metadata/#{system_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_users(q:String|Nil=nil,limit:Int32=20,offset:Int32=0,authority_id:String|Nil=nil,include_deleted:Bool=false)-instance-method","name":"query_users","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","args_html":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L147"},"def":{"name":"query_users","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"visibility":"Public","body":"placeos_client.users.search(q: q, limit: limit, offset: offset, authority_id: authority_id, include_deleted: include_deleted)"}},{"html_id":"reject(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"reject","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":505,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L505"},"def":{"name":"reject","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"rejecting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/reject?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue rejecting booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"replace_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"replace_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L326"},"def":{"name":"replace_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = put(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"resource_token-instance-method","name":"resource_token","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L134"},"def":{"name":"resource_token","visibility":"Public","body":"response = post(\"/api/engine/v2/users/resource_token\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"revive_user(id:String):Nil-instance-method","name":"revive_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L128"},"def":{"name":"revive_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = post(\"/api/engine/v2/users/#{id}/revive\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to revive user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"signal(channel:String,payload:JSON::Any|Nil=nil)-instance-method","name":"signal","abstract":false,"args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"args_string":"(channel : String, payload : JSON::Any | Nil = nil)","args_html":"(channel : String, payload : JSON::Any | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L694"},"def":{"name":"signal","args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"placeos_client.root.signal(channel, payload)"}},{"html_id":"staff_details(email:String)-instance-method","name":"staff_details","doc":"Staff details returns the information from AD","summary":"

Staff details returns the information from AD

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/staff_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L84"},"def":{"name":"staff_details","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/people/#{email}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for staff #{email}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing staff #{email}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"systems(q:String|Nil=nil,zone_id:String|Nil=nil,capacity:Int32|Nil=nil,bookable:Bool|Nil=nil,features:String|Nil=nil,limit:Int32=1000,offset:Int32=0)-instance-method","name":"systems","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","args_html":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","location":{"filename":"src/place/staff_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L51"},"def":{"name":"systems","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"placeos_client.systems.search(q: q, limit: limit, offset: offset, zone_id: zone_id, capacity: capacity, bookable: bookable, features: features)"}},{"html_id":"systems_in_building(zone_id:String,ids_only:Bool=true)-instance-method","name":"systems_in_building","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"args_string":"(zone_id : String, ids_only : Bool = true)","args_html":"(zone_id : String, ids_only : Bool = true)","location":{"filename":"src/place/staff_api.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L71"},"def":{"name":"systems_in_building","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"visibility":"Public","body":"levels = zones(parent: zone_id)\nif ids_only\n hash = {} of String => Array(String)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id).map(&.id)\n end\nelse\n hash = {} of String => Array(::PlaceOS::Client::API::Models::System)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id)\n end\nend\nhash\n"}},{"html_id":"transfer_user(user_id:String,session_id:String,payload:JSON::Any)-instance-method","name":"transfer_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(user_id : String, session_id : String, payload : JSON::Any)","args_html":"(user_id : String, session_id : String, payload : JSON::Any)","location":{"filename":"src/place/staff_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L162"},"def":{"name":"transfer_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"status = 200\npayload_str = payload.to_json\nSimpleRetry.try_to(max_attempts: 5, base_interval: 1.second, max_interval: 10.seconds) do\n response = post(\"/api/engine/v2/webrtc/transfer/#{user_id}/#{session_id}\", headers: authentication, body: payload_str)\n status = response.status_code\n if response.success?\n else\n raise(\"client not yet connected\")\n end\nend\nstatus\n"}},{"html_id":"update_booking(booking_id:String|Int64,booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,asset_id:String|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,timezone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,approved:Bool|Nil=nil,checked_in:Bool|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L461"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id}\"\nend\ncase checked_in\nin true\n checked_in_at = Time.utc.to_unix\nin false\n checked_out_at = Time.utc.to_unix\nin nil\nend\nparams = URI::Params.build do |form|\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = patch(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"checked_out_at\" => checked_out_at, \"asset_id\" => asset_id, \"title\" => title, \"description\" => description, \"timezone\" => timezone, \"extension_data\" => extension_data}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_event(system_id:String,event:PlaceCalendar::Event)-instance-method","name":"update_event","doc":"NOTE:: https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit#\nThe service account making this request needs delegated access and hence you can only edit\nevents associated with a resource calendar","summary":"

NOTE : https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit# The service account making this request needs delegated access and hence you can only edit events associated with a resource calendar

","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"args_string":"(system_id : String, event : PlaceCalendar::Event)","args_html":"(system_id : String, event : PlaceCalendar::Event)","location":{"filename":"src/place/staff_api.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L307"},"def":{"name":"update_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event.id}?system_id=#{system_id}\", headers: authentication, body: event.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nPlaceCalendar::Event.from_json(response.body)\n"}},{"html_id":"update_guest(id:String,body_json:String):Nil-instance-method","name":"update_guest","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L216"},"def":{"name":"update_guest","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/staff/v1/guests/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update guest #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":677,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L677"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating survey invite #{token}\"\nend\nresponse = patch(\"/api/staff/v1/surveys/invitations/#{token}\", headers: authentication, body: {\"email\" => email, \"sent\" => sent}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating survey invite #{token}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_user(id:String,body_json:String):Nil-instance-method","name":"update_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L113"},"def":{"name":"update_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/engine/v2/users/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"user(id:String)-instance-method","name":"user","doc":"===================================\nUser details\n===================================","summary":"

=================================== User details ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/staff_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L99"},"def":{"name":"user","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"placeos_client.users.fetch(id)"}},{"html_id":"write_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"write_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L374"},"def":{"name":"write_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.update(id, key, payload, description)"}},{"html_id":"zone(zone_id:String)-instance-method","name":"zone","doc":"===================================\nZONE INFORMATION\n===================================","summary":"

=================================== ZONE INFORMATION ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L386"},"def":{"name":"zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"placeos_client.zones.fetch(zone_id)"}},{"html_id":"zones(q:String|Nil=nil,limit:Int32=1000,offset:Int32=0,parent:String|Nil=nil,tags:Array(String)|String|Nil=nil)-instance-method","name":"zones","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","args_html":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L390"},"def":{"name":"zones","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"visibility":"Public","body":"placeos_client.zones.search(q: q, limit: limit, offset: offset, parent_id: parent, tags: tags)"}}],"types":[{"html_id":"drivers/Place/StaffAPI/Booking","path":"Place/StaffAPI/Booking.html","kind":"class","full_name":"Place::StaffAPI::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":560,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L560"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/StaffAPI","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI"},"doc":"===================================\nBOOKINGS QUERY\n===================================","summary":"

=================================== BOOKINGS QUERY ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/staff_api.cr","line_number":561,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L561"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approved:Bool-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L581"},"def":{"name":"approved","return_type":"Bool","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"args_string":"(approved : Bool)","args_html":"(approved : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L581"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L584"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L584"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_id:String|Nil-instance-method","name":"approver_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L583"},"def":{"name":"approver_id","return_type":"String | ::Nil","visibility":"Public","body":"@approver_id"}},{"html_id":"approver_id=(approver_id:String|Nil)-instance-method","name":"approver_id=","abstract":false,"args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"args_string":"(approver_id : String | Nil)","args_html":"(approver_id : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L583"},"def":{"name":"approver_id=","args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_id = approver_id"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L585"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L585"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L568"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"@asset_id"}},{"html_id":"asset_id=(asset_id:String)-instance-method","name":"asset_id=","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L568"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_id:String-instance-method","name":"booked_by_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id","return_type":"String","visibility":"Public","body":"@booked_by_id"}},{"html_id":"booked_by_id=(booked_by_id:String)-instance-method","name":"booked_by_id=","abstract":false,"args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"args_string":"(booked_by_id : String)","args_html":"(booked_by_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id=","args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"visibility":"Public","body":"@booked_by_id = booked_by_id"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L573"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L573"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L572"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L572"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L570"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L570"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L579"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L579"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"created:Int64|Nil-instance-method","name":"created","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L593"},"def":{"name":"created","return_type":"Int64 | ::Nil","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64|Nil)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"args_string":"(created : Int64 | Nil)","args_html":"(created : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L593"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@created = created"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L577"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L577"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L563"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L563"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L592"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L592"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L591"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L591"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L580"},"def":{"name":"rejected","return_type":"Bool","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"args_string":"(rejected : Bool)","args_html":"(rejected : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L580"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L575"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L575"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L576"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L576"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L566"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L566"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L565"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L565"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L567"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L567"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L569"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/staff_api.cr#L569"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Place/SurveyMailer","path":"Place/SurveyMailer.html","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L17"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@send_invites = (setting?(String, :send_invites)).presence\n@email_template = (setting?(String, :email_template)) || \"survey\"\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nif invites = @send_invites\n schedule.cron(invites, @time_zone) do\n send_survey_emails\n end\nend\n"}},{"html_id":"send_survey_emails-instance-method","name":"send_survey_emails","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L47"},"def":{"name":"send_survey_emails","visibility":"Public","body":"invites = Array(SurveyInvite).from_json(staff_api.get_survey_invites.get.to_json)\nsent_invites : Hash(String, Array(Int64)) = {} of String => Array(Int64)\ninvites.each do |invite|\n if invite.sent\n next\n end\n begin\n if (!(sent_surveys = sent_invites[invite.email]?)) || (!(sent_surveys.includes?(invite.survey_id)))\n __temp_610 = invite.email\n sent_invites[__temp_610]? || (sent_invites[__temp_610] = [] of Int64)\n sent_invites[invite.email] << invite.survey_id\n mailer.send_template(to: invite.email, template: {@email_template, \"invite\"}, args: {email: invite.email, token: invite.token, survey_id: invite.survey_id})\n end\n staff_api.update_survey_invite(invite.token, sent: true)\n rescue error\n logger.warn(exception: error) do\n \"failed to send survey email to #{invite.email}\"\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Place/SurveyMailer/SurveyInvite","path":"Place/SurveyMailer/SurveyInvite.html","kind":"struct","full_name":"Place::SurveyMailer::SurveyInvite","name":"SurveyInvite","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L77"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/SurveyMailer","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/survey_mailer.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L78"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L83"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L83"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L80"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L80"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sent:Bool|Nil-instance-method","name":"sent","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L84"},"def":{"name":"sent","return_type":"Bool | ::Nil","visibility":"Public","body":"@sent"}},{"html_id":"sent=(sent:Bool|Nil)-instance-method","name":"sent=","abstract":false,"args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(sent : Bool | Nil)","args_html":"(sent : Bool | Nil)","location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L84"},"def":{"name":"sent=","args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@sent = sent"}},{"html_id":"survey_id:Int64-instance-method","name":"survey_id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id","return_type":"Int64","visibility":"Public","body":"@survey_id"}},{"html_id":"survey_id=(survey_id:Int64)-instance-method","name":"survey_id=","abstract":false,"args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"args_string":"(survey_id : Int64)","args_html":"(survey_id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id=","args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"visibility":"Public","body":"@survey_id = survey_id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L82"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer.cr#L82"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]},{"html_id":"drivers/Place/Tab","path":"Place/Tab.html","kind":"class","full_name":"Place::Tab","name":"Tab","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/tab.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(icon:String,name:String,inputs:Array(String),help:Nil|String=nil,controls:Nil|String=nil,merge_on_join:Bool|Nil=nil,presentation_source:Nil|String=nil,json_unmapped:Hash(String,JSON::Any)=Hash(String,JSON::Any).new)-class-method","name":"new","abstract":false,"args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","args_html":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","location":{"filename":"src/place/meet/tab.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L7"},"def":{"name":"new","args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(icon, name, inputs, help, controls, merge_on_join, presentation_source, json_unmapped)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/tab.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"clone:Tab-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L23"},"def":{"name":"clone","return_type":"Tab","visibility":"Public","body":"Tab.new(@icon, @name, inputs.dup, @help, @controls, @merge_on_join, @presentation_source, @json_unmapped.dup)"}},{"html_id":"controls:String|Nil-instance-method","name":"controls","doc":"such as: vidconf-controls","summary":"

such as: vidconf-controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L17"},"def":{"name":"controls","return_type":"String | ::Nil","visibility":"Public","body":"@controls"}},{"html_id":"help:String|Nil-instance-method","name":"help","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L14"},"def":{"name":"help","return_type":"String | ::Nil","visibility":"Public","body":"@help"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L10"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"inputs:Array(String)-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L12"},"def":{"name":"inputs","return_type":"Array(String)","visibility":"Public","body":"@inputs"}},{"html_id":"merge(tab:Tab):Tab-instance-method","name":"merge","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L27"},"def":{"name":"merge","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"input = (inputs.dup.concat(tab.inputs)).uniq!\nnew_unmapped = tab.json_unmapped.merge(json_unmapped)\nTab.new(@icon, @name, input, @help, @controls, @merge_on_join, @presentation_source, new_unmapped)\n"}},{"html_id":"merge!(tab:Tab):Tab-instance-method","name":"merge!","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L33"},"def":{"name":"merge!","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"@json_unmapped.merge!(tab.json_unmapped)\n(@inputs.concat(tab.inputs)).uniq!\nself\n"}},{"html_id":"merge_on_join:Bool|Nil-instance-method","name":"merge_on_join","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L18"},"def":{"name":"merge_on_join","return_type":"Bool | ::Nil","visibility":"Public","body":"@merge_on_join"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"presentation_source:String|Nil-instance-method","name":"presentation_source","doc":"For the VC controls","summary":"

For the VC controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/meet/tab.cr#L21"},"def":{"name":"presentation_source","return_type":"String | ::Nil","visibility":"Public","body":"@presentation_source"}}]},{"html_id":"drivers/Place/TransportAdaptor","path":"Place/TransportAdaptor.html","kind":"class","full_name":"Place::TransportAdaptor","name":"TransportAdaptor","abstract":false,"superclass":{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},"ancestors":[{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(driver:PlaceOS::Driver::Transport,queue:PlaceOS::Driver::Queue)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"args_string":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","args_html":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L4"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, queue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"close!:Nil-instance-method","name":"close!","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L11"},"def":{"name":"close!","return_type":"Nil","visibility":"Public","body":"@driver.disconnect"}},{"html_id":"closed?:Bool-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L15"},"def":{"name":"closed?","return_type":"Bool","visibility":"Public","body":"!@queue.online"}},{"html_id":"process(data:Bytes)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L23"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"(@tokenizer.extract(data)).each do |bytes|\n spawn do\n @on_message.try(&.call(bytes))\n end\nend"}},{"html_id":"send(message):Nil-instance-method","name":"send","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message) : Nil","args_html":"(message) : Nil","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/mqtt_transport_adaptor.cr#L19"},"def":{"name":"send","args":[{"name":"message","external_name":"message","restriction":""}],"return_type":"Nil","visibility":"Public","body":"@driver.send(message)"}}]},{"html_id":"drivers/Place/UserGroupMappings","path":"Place/UserGroupMappings.html","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_user(id:String):Nil-instance-method","name":"check_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/user_group_mappings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L88"},"def":{"name":"check_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"checking groups of: #{id}\"\nend\nuser_json = (staff_api.user(id)).get\nsync_user(user_json)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"auth/login\") do |_subscription, payload|\n new_user_login(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@group_mappings = (setting?(Hash(String, Mapping), :group_mappings)) || ({} of String => Mapping)\n@group_prefixes = (setting?(Hash(String, Prefix), :group_prefix)) || ({} of String => Prefix)\n@group_prefixes = @group_prefixes.transform_keys(&.downcase)\n@authority_id = (setting?(String, :authority_id)) || \"authority-12345\"\n"}},{"html_id":"sync_all_users-instance-method","name":"sync_all_users","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L134"},"def":{"name":"sync_all_users","visibility":"Public","body":"begin\n if @syncing\n return \"currently syncing\"\n end\n @syncing = true\n limit = 100\n offset = 0\n issues_with = [] of String\n loop do\n users = staff_api.query_users(limit: limit, offset: offset, authority_id: @authority_id).get.as_a\n logger.debug do\n \"syncing users #{offset}->#{offset + limit}...\"\n end\n users.each do |user|\n begin\n sync_user(user)\n sleep(50.milliseconds)\n rescue error\n issues_with << user[\"email\"].as_s\n end\n end\n if users.size < limit\n break\n end\n offset = offset + limit\n end\n logger.debug do\n \"sync complete! issues with #{issues_with.size}:\\n#{issues_with}\"\n end\n issues_with\nensure\n @syncing = false\nend"}}],"types":[{"html_id":"drivers/Place/UserGroupMappings/Mapping","path":"Place/UserGroupMappings/Mapping.html","kind":"alias","full_name":"Place::UserGroupMappings::Mapping","name":"Mapping","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(place_id: String)","aliased_html":"{place_id: String}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/Prefix","path":"Place/UserGroupMappings/Prefix.html","kind":"alias","full_name":"Place::UserGroupMappings::Prefix","name":"Prefix","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(strip_prefix: Bool | Nil, place_id: String | Nil)","aliased_html":"{strip_prefix: Bool?, place_id: String?}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/UserLogin","path":"Place/UserGroupMappings/UserLogin.html","kind":"class","full_name":"Place::UserGroupMappings::UserLogin","name":"UserLogin","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/user_group_mappings.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"provider:String-instance-method","name":"provider","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider","return_type":"String","visibility":"Public","body":"@provider"}},{"html_id":"provider=(provider:String)-instance-method","name":"provider=","abstract":false,"args":[{"name":"provider","external_name":"provider","restriction":"String"}],"args_string":"(provider : String)","args_html":"(provider : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider=","args":[{"name":"provider","external_name":"provider","restriction":"String"}],"visibility":"Public","body":"@provider = provider"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]}]},{"html_id":"drivers/Place/VisitorMailer","path":"Place/VisitorMailer.html","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_zone:ZoneDetails-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L69"},"def":{"name":"building_zone","return_type":"ZoneDetails","visibility":"Public","body":"if (value = @building_zone).nil?\n ::raise(NilAssertionError.new(\"Place::VisitorMailer#building_zone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"building_zone?:ZoneDetails|Nil-instance-method","name":"building_zone?","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L69"},"def":{"name":"building_zone?","return_type":"ZoneDetails | ::Nil","visibility":"Public","body":"@building_zone"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L403"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L40"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/guest/attending\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\nmonitor(\"staff/guest/checkin\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting?(Bool, :debug)) || true\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@send_reminders = (setting?(String, :send_reminders)).presence\n@reminder_template = (setting?(String, :reminder_template)) || \"visitor\"\n@event_template = (setting?(String, :event_template)) || \"event\"\n@booking_template = (setting?(String, :booking_template)) || \"booking\"\n@disable_qr_code = (setting?(Bool, :disable_qr_code)) || false\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\n@booking_space_name = (setting?(String, :booking_space_name)).presence || \"Client Floor\"\nzones = config.control_system.not_nil!.zones\nschedule.clear\nif reminders = @send_reminders\n schedule.cron(reminders, @time_zone) do\n send_reminder_emails\n end\nend\nspawn(same_thread: true) do\n find_building(zones)\nend\n"}},{"html_id":"send_reminder_emails-instance-method","name":"send_reminder_emails","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L302"},"def":{"name":"send_reminder_emails","visibility":"Public","body":"now = 1.hour.ago.to_unix\nlater = 12.hours.from_now.to_unix\nguests = staff_api.query_guests(period_start: now, period_end: later, zones: {building_zone.id}).get.as_a\nguests.uniq! do |g|\n g[\"email\"].as_s.downcase\nend\nguests.each do |guest|\n begin\n if event = guest[\"event\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, event[\"host\"].as_s, event[\"title\"].as_s, event[\"event_start\"].as_i64, (event.dig(\"system\", \"id\")).as_s, event[\"id\"].as_s, ((event.dig?(\"system\", \"display_name\")) || (event.dig(\"system\", \"name\"))).as_s, event_end: event[\"event_end\"].as_i64)\n else\n if booking = guest[\"booking\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, booking[\"user_email\"].as_s, booking[\"title\"].as_s?, booking[\"booking_start\"].as_i64, booking[\"asset_id\"].as_s, booking[\"id\"].as_i64.to_s, @booking_space_name, event_end: booking[\"booking_end\"].as_i64)\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to send reminder email to #{guest[\"email\"]}\"\n end\n end\nend\n"}},{"html_id":"send_visitor_qr_email(template:String,visitor_email:String,visitor_name:String|Nil,host_email:String|Nil,event_title:String|Nil,event_start:Int64,resource_id:String,event_id:String,area_name:String,event_end:Int64|Nil=nil)-instance-method","name":"send_visitor_qr_email","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"args_string":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","args_html":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L231"},"def":{"name":"send_visitor_qr_email","args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"local_start_time = (Time.unix(event_start)).in(@time_zone)\nattach = if @disable_qr_code\n [] of NamedTuple(file_name: String, content: String, content_id: String)\nelse\n qr_png = mailer.generate_png_qrcode(text: \"VISIT:#{visitor_email},#{resource_id},#{event_id},#{host_email}\", size: 256).get.as_s\n [{file_name: \"qr.png\", content: qr_png, content_id: visitor_email}]\nend\nnetwork_username = network_password = \"\"\nif @send_network_credentials\n network_username, network_password = update_network_user_password(visitor_email, generate_password(length: @network_password_length, exclude: @network_password_exclude, minimum_lowercase: @network_password_minimum_lowercase, minimum_uppercase: @network_password_minimum_uppercase, minimum_numbers: @network_password_minimum_numbers, minimum_symbols: @network_password_minimum_symbols), @network_group_ids)\nend\nevent_time = if (end_timestamp = event_end) && (((Time.unix(end_timestamp)) - (Time.unix(event_start))) == 24.hours)\n \"all day\"\nelse\n local_start_time.to_s(@time_format)\nend\nmailer.send_template(visitor_email, {\"visitor_invited\", template}, {visitor_email: visitor_email, visitor_name: visitor_name, host_name: get_host_name(host_email), host_email: host_email, room_name: area_name, building_name: building_zone.display_name.presence || building_zone.name, event_title: event_title, event_start: local_start_time.to_s(@time_format), event_date: local_start_time.to_s(@date_format), event_time: event_time, network_username: network_username, network_password: network_password}, attach)\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":392,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L392"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","path":"Place/VisitorMailer/BookingGuest.html","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_id:Int64-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L171"},"def":{"name":"booking_id","return_type":"Int64","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:Int64)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"args_string":"(booking_id : Int64)","args_html":"(booking_id : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L171"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"event_id-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L174"},"def":{"name":"event_id","visibility":"Public","body":"booking_id.to_s"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L172"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"args_string":"(resource_id : String)","args_html":"(resource_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L172"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"visibility":"Public","body":"@resource_id = resource_id"}}]},{"html_id":"drivers/Place/VisitorMailer/EventGuest","path":"Place/VisitorMailer/EventGuest.html","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L156"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L157"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L160"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L160"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"resource:String-instance-method","name":"resource","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L161"},"def":{"name":"resource","return_type":"String","visibility":"Public","body":"@resource"}},{"html_id":"resource=(resource:String)-instance-method","name":"resource=","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"}],"args_string":"(resource : String)","args_html":"(resource : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L161"},"def":{"name":"resource=","args":[{"name":"resource","external_name":"resource","restriction":"String"}],"visibility":"Public","body":"@resource = resource"}},{"html_id":"resource_id-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L163"},"def":{"name":"resource_id","visibility":"Public","body":"system_id"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L159"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L159"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}}]},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","path":"Place/VisitorMailer/GuestNotification.html","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest"},{"html_id":"drivers/Place/VisitorMailer/EventGuest","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L134"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"action\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'action' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'action'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"booking_created\"\n BookingGuest.from_json(json)\nwhen \"booking_updated\"\n BookingGuest.from_json(json)\nwhen \"meeting_created\"\n EventGuest.from_json(json)\nwhen \"meeting_update\"\n EventGuest.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'action' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L141"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String)-instance-method","name":"action=","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String"}],"args_string":"(action : String)","args_html":"(action : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L141"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String"}],"visibility":"Public","body":"@action = action"}},{"html_id":"attendee_email:String-instance-method","name":"attendee_email","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L147"},"def":{"name":"attendee_email","return_type":"String","visibility":"Public","body":"@attendee_email"}},{"html_id":"attendee_email=(attendee_email:String)-instance-method","name":"attendee_email=","abstract":false,"args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"args_string":"(attendee_email : String)","args_html":"(attendee_email : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L147"},"def":{"name":"attendee_email=","args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"visibility":"Public","body":"@attendee_email = attendee_email"}},{"html_id":"attendee_name:String|Nil-instance-method","name":"attendee_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L146"},"def":{"name":"attendee_name","return_type":"String | ::Nil","visibility":"Public","body":"@attendee_name"}},{"html_id":"attendee_name=(attendee_name:String|Nil)-instance-method","name":"attendee_name=","abstract":false,"args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"args_string":"(attendee_name : String | Nil)","args_html":"(attendee_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L146"},"def":{"name":"attendee_name=","args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attendee_name = attendee_name"}},{"html_id":"checkin:Bool|Nil-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L143"},"def":{"name":"checkin","return_type":"Bool | ::Nil","visibility":"Public","body":"@checkin"}},{"html_id":"checkin=(checkin:Bool|Nil)-instance-method","name":"checkin=","abstract":false,"args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"args_string":"(checkin : Bool | Nil)","args_html":"(checkin : Bool | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L143"},"def":{"name":"checkin=","args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checkin = checkin"}},{"html_id":"event_starting:Int64-instance-method","name":"event_starting","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L145"},"def":{"name":"event_starting","return_type":"Int64","visibility":"Public","body":"@event_starting"}},{"html_id":"event_starting=(event_starting:Int64)-instance-method","name":"event_starting=","abstract":false,"args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"args_string":"(event_starting : Int64)","args_html":"(event_starting : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L145"},"def":{"name":"event_starting=","args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"visibility":"Public","body":"@event_starting = event_starting"}},{"html_id":"event_summary:String-instance-method","name":"event_summary","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L144"},"def":{"name":"event_summary","return_type":"String","visibility":"Public","body":"@event_summary"}},{"html_id":"event_summary=(event_summary:String)-instance-method","name":"event_summary=","abstract":false,"args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"args_string":"(event_summary : String)","args_html":"(event_summary : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L144"},"def":{"name":"event_summary=","args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"visibility":"Public","body":"@event_summary = event_summary"}},{"html_id":"ext_data:Hash(String,JSON::Any)|Nil-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L153"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any) | ::Nil","visibility":"Public","body":"@ext_data"}},{"html_id":"ext_data=(ext_data:Hash(String,JSON::Any)|Nil)-instance-method","name":"ext_data=","abstract":false,"args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"args_string":"(ext_data : Hash(String, JSON::Any) | Nil)","args_html":"(ext_data : Hash(String, JSON::Any) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L153"},"def":{"name":"ext_data=","args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"visibility":"Public","body":"@ext_data = ext_data"}},{"html_id":"host:String-instance-method","name":"host","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L148"},"def":{"name":"host","return_type":"String","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String)-instance-method","name":"host=","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String"}],"args_string":"(host : String)","args_html":"(host : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L148"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String"}],"visibility":"Public","body":"@host = host"}},{"html_id":"zones:Array(String)|Nil-instance-method","name":"zones","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L151"},"def":{"name":"zones","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String)|Nil)-instance-method","name":"zones=","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"args_string":"(zones : Array(String) | Nil)","args_html":"(zones : Array(String) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L151"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/VisitorMailer/SystemDetails","path":"Place/VisitorMailer/SystemDetails.html","kind":"class","full_name":"Place::VisitorMailer::SystemDetails","name":"SystemDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L362"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L363"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L367"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L367"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L365"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L365"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"map_id:String|Nil-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L368"},"def":{"name":"map_id","return_type":"String | ::Nil","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String|Nil)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil)","args_html":"(map_id : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L368"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L366"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L366"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Place/VisitorMailer/ZoneDetails","path":"Place/VisitorMailer/ZoneDetails.html","kind":"class","full_name":"Place::VisitorMailer::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L357"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L357"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:String|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L358"},"def":{"name":"location","return_type":"String | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(location : String | Nil)","args_html":"(location : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L358"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L359"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/visitor_mailer.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/visitor_mailer.cr#L359"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/WorkspaceAPI","path":"Place/WorkspaceAPI.html","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/google/workspace_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/google/workspace_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}}]},{"html_id":"drivers/Point","path":"Point.html","kind":"struct","full_name":"Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L19"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"distance_to(point:Point)-instance-method","name":"distance_to","doc":"pythagoras","summary":"

pythagoras

","abstract":false,"args":[{"name":"point","external_name":"point","restriction":"Point"}],"args_string":"(point : Point)","args_html":"(point : Point)","location":{"filename":"src/place/area_polygon.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L26"},"def":{"name":"distance_to","args":[{"name":"point","external_name":"point","restriction":"Point"}],"visibility":"Public","body":"a = point.x - @x\nb = point.y - @y\nMath.sqrt((a * a) + (b * b))\n"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L22"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L22"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L23"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L23"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/PointGrab","path":"PointGrab.html","kind":"module","full_name":"PointGrab","name":"PointGrab","abstract":false,"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/PointGrab/CogniPoint","path":"PointGrab/CogniPoint.html","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/PointGrab","kind":"module","full_name":"PointGrab","name":"PointGrab"},"instance_methods":[{"html_id":"area(site_id:String,building_id:String,floor_id:String,area_id:String)-instance-method","name":"area","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String, area_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String, area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L263"},"def":{"name":"area","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas/#{area_id}\", Area)"}},{"html_id":"areas(site_id:String,building_id:String,floor_id:String)-instance-method","name":"areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L257"},"def":{"name":"areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"areas = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas\", NamedTuple(areas: Array(Area)))\nareas[:areas]\n"}},{"html_id":"building(site_id:String,building_id:String)-instance-method","name":"building","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L168"},"def":{"name":"building","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}\", Building)"}},{"html_id":"building_areas(site_id:String,building_id:String)-instance-method","name":"building_areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L251"},"def":{"name":"building_areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/areas\", NamedTuple(floorsAreas: FloorAreas))\nfloors[:floorsAreas]\n"}},{"html_id":"buildings(site_id:String)-instance-method","name":"buildings","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L163"},"def":{"name":"buildings","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"buildings = get_request(\"/be/cp/v2/sites/#{site_id}/buildings\", NamedTuple(buildings: Array(Building)))\nbuildings[:buildings]\n"}},{"html_id":"customers-instance-method","name":"customers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L93"},"def":{"name":"customers","visibility":"Public","body":"customers = get_request(\"/be/cp/v2/customers\", NamedTuple(endCustomers: Array(Customer)))\ncustomers[:endCustomers]\n"}},{"html_id":"delete_subscription(id:String)-instance-method","name":"delete_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L342"},"def":{"name":"delete_subscription","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"token = get_token\n(delete(\"/be/cp/v2/telemetry/subscriptions/#{id}\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(site_id:String,building_id:String,floor_id:String)-instance-method","name":"floor","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L198"},"def":{"name":"floor","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}\", Floor)"}},{"html_id":"floors(site_id:String,building_id:String)-instance-method","name":"floors","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L193"},"def":{"name":"floors","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors\", NamedTuple(floors: Array(Building)))\nfloors[:floors]\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/be/cp/oauth2/token\", body: \"grant_type=client_credentials\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\", \"Authorization\" => \"Basic #{Base64.strict_encode(\"#{@user_id}:#{@app_key}\")}\"})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body.not_nil!)\n token = resp.token\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"handlers-instance-method","name":"handlers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L280"},"def":{"name":"handlers","visibility":"Public","body":"handlers = get_request(\"/be/cp/v2/resources/handlers\", NamedTuple(handlers: Array(Handler)))\nhandlers[:handlers]\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@user_id = setting(String, :user_id)\n@app_key = setting(String, :app_key)\n"}},{"html_id":"site(site_id:String)-instance-method","name":"site","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L147"},"def":{"name":"site","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}\", Site)"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L142"},"def":{"name":"sites","visibility":"Public","body":"sites = get_request(\"/be/cp/v2/sites\", NamedTuple(sites: Array(Site)))\nsites[:sites]\n"}},{"html_id":"subscribe(handler_uri:String,auth_token:String=UUID.random.to_s,events:NotificationType=NotificationType::Counting)-instance-method","name":"subscribe","abstract":false,"args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"args_string":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","args_html":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L307"},"def":{"name":"subscribe","args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"visibility":"Public","body":"URI.parse(handler_uri)\ntoken = get_token\nresponse = post(\"/be/cp/v2/telemetry/subscriptions\", body: {subscriptionType: \"PUSH\", notificationType: events.to_s.upcase, endpoint: handler_uri, token: auth_token}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n Subscription.from_json(body.not_nil!)\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"subscriptions-instance-method","name":"subscriptions","doc":"provides access to the modules subscriptions tracker","summary":"

provides access to the modules subscriptions tracker

","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L338"},"def":{"name":"subscriptions","visibility":"Public","body":"get_request(\"/be/cp/v2/telemetry/subscriptions\", Array(Subscription))"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}},{"html_id":"update_count(count_json:String)-instance-method","name":"update_count","abstract":false,"args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"args_string":"(count_json : String)","args_html":"(count_json : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L380"},"def":{"name":"update_count","args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"visibility":"Public","body":"count = CountUpdate.from_json(count_json)\nself[\"area_#{count.area_id}\"] = count.count\n"}},{"html_id":"update_subscription(id:String,started:Bool=true)-instance-method","name":"update_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"args_string":"(id : String, started : Bool = true)","args_html":"(id : String, started : Bool = true)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L352"},"def":{"name":"update_subscription","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"token = get_token\n(patch(\"/be/cp/v2/telemetry/subscriptions/#{id}\", body: {started: started}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}}],"macros":[{"html_id":"get_request(path,result_type)-macro","name":"get_request","abstract":false,"args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"args_string":"(path, result_type)","args_html":"(path, result_type)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L69"},"def":{"name":"get_request","args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"visibility":"Public","body":" begin\n \n%token\n = get_token\n \n%response\n = get(\n{{ path }}\n, headers: \n{\n \"Accept\" => \"application/json\",\n \"Authorization\" => \n%token\n\n })\n\n if \n%response\n.success?\n \n{{ result_type }}\n.from_json(\n%response\n.body.not_nil!)\n \nelse\n \nexpire_token! if \n%response\n.status_code == 401\n raise \"unexpected response #{\n%response\n.status_code}\\n#{\n%response\n.body}\"\n \nend\n \nend\n \n"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area","path":"PointGrab/CogniPoint/Area.html","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L202"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L203"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"applications:Array(Application)-instance-method","name":"applications","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications","return_type":"Array(Application)","visibility":"Public","body":"@applications"}},{"html_id":"applications=(applications:Array(Application))-instance-method","name":"applications=","abstract":false,"args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"args_string":"(applications : Array(Application))","args_html":"(applications : Array(Application))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications=","args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"visibility":"Public","body":"@applications = applications"}},{"html_id":"center_x:Float64-instance-method","name":"center_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x","return_type":"Float64","visibility":"Public","body":"@center_x"}},{"html_id":"center_x=(center_x:Float64)-instance-method","name":"center_x=","abstract":false,"args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"args_string":"(center_x : Float64)","args_html":"(center_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x=","args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"visibility":"Public","body":"@center_x = center_x"}},{"html_id":"center_y:Float64-instance-method","name":"center_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y","return_type":"Float64","visibility":"Public","body":"@center_y"}},{"html_id":"center_y=(center_y:Float64)-instance-method","name":"center_y=","abstract":false,"args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"args_string":"(center_y : Float64)","args_html":"(center_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y=","args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"visibility":"Public","body":"@center_y = center_y"}},{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"device_ids=(device_ids:Array(String))-instance-method","name":"device_ids=","abstract":false,"args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"args_string":"(device_ids : Array(String))","args_html":"(device_ids : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids=","args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@device_ids = device_ids"}},{"html_id":"frequency:Int32-instance-method","name":"frequency","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency","return_type":"Int32","visibility":"Public","body":"@frequency"}},{"html_id":"frequency=(frequency:Int32)-instance-method","name":"frequency=","abstract":false,"args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"args_string":"(frequency : Int32)","args_html":"(frequency : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency=","args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"visibility":"Public","body":"@frequency = frequency"}},{"html_id":"geo_positions:Array(GeoPosition)|Nil-instance-method","name":"geo_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions","return_type":"Array(GeoPosition) | ::Nil","visibility":"Public","body":"@geo_positions"}},{"html_id":"geo_positions=(geo_positions:Array(GeoPosition)|Nil)-instance-method","name":"geo_positions=","abstract":false,"args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"args_string":"(geo_positions : Array(GeoPosition) | Nil)","args_html":"(geo_positions : Array(GeoPosition) | Nil)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions=","args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"visibility":"Public","body":"@geo_positions = geo_positions"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"length=(length:Float64)-instance-method","name":"length=","abstract":false,"args":[{"name":"length","external_name":"length","restriction":"Float64"}],"args_string":"(length : Float64)","args_html":"(length : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length=","args":[{"name":"length","external_name":"length","restriction":"Float64"}],"visibility":"Public","body":"@length = length"}},{"html_id":"metric_positions:Array(MetricPositions)-instance-method","name":"metric_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions","return_type":"Array(MetricPositions)","visibility":"Public","body":"@metric_positions"}},{"html_id":"metric_positions=(metric_positions:Array(MetricPositions))-instance-method","name":"metric_positions=","abstract":false,"args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"args_string":"(metric_positions : Array(MetricPositions))","args_html":"(metric_positions : Array(MetricPositions))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions=","args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"visibility":"Public","body":"@metric_positions = metric_positions"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"rotation:Int32-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation","return_type":"Int32","visibility":"Public","body":"@rotation"}},{"html_id":"rotation=(rotation:Int32)-instance-method","name":"rotation=","abstract":false,"args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"args_string":"(rotation : Int32)","args_html":"(rotation : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation=","args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"visibility":"Public","body":"@rotation = rotation"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area/Application","path":"PointGrab/CogniPoint/Area/Application.html","kind":"class","full_name":"PointGrab::CogniPoint::Area::Application","name":"Application","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L222"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Area","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L223"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"application_type:String-instance-method","name":"application_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type","return_type":"String","visibility":"Public","body":"@application_type"}},{"html_id":"application_type=(application_type:String)-instance-method","name":"application_type=","abstract":false,"args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"args_string":"(application_type : String)","args_html":"(application_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type=","args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"visibility":"Public","body":"@application_type = application_type"}},{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Building","path":"PointGrab/CogniPoint/Building.html","kind":"class","full_name":"PointGrab::CogniPoint::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L151"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L152"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Site::Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location","return_type":"Site::Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Site::Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"args_string":"(location : Site::Location)","args_html":"(location : Site::Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/CountUpdate","path":"PointGrab/CogniPoint/CountUpdate.html","kind":"class","full_name":"PointGrab::CogniPoint::CountUpdate","name":"CountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L367"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"doc":"TODO:: this data is posted to the subscription endpoint\nwe need to implement webhooks for this to work properly","summary":"

TODO : this data is posted to the subscription endpoint we need to implement webhooks for this to work properly

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L368"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"devices:Array(String)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices","return_type":"Array(String)","visibility":"Public","body":"@devices"}},{"html_id":"devices=(devices:Array(String))-instance-method","name":"devices=","abstract":false,"args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"args_string":"(devices : Array(String))","args_html":"(devices : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices=","args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"visibility":"Public","body":"@devices = devices"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}},{"html_id":"timestamp:UInt64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp","return_type":"UInt64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:UInt64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"args_string":"(timestamp : UInt64)","args_html":"(timestamp : UInt64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Customer","path":"PointGrab/CogniPoint/Customer.html","kind":"class","full_name":"PointGrab::CogniPoint::Customer","name":"Customer","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Floor","path":"PointGrab/CogniPoint/Floor.html","kind":"class","full_name":"PointGrab::CogniPoint::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L172"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L173"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_number:String-instance-method","name":"floor_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number","return_type":"String","visibility":"Public","body":"@floor_number"}},{"html_id":"floor_number=(floor_number:String)-instance-method","name":"floor_number=","abstract":false,"args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"args_string":"(floor_number : String)","args_html":"(floor_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number=","args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"visibility":"Public","body":"@floor_number = floor_number"}},{"html_id":"floor_plan_url:String-instance-method","name":"floor_plan_url","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url","return_type":"String","visibility":"Public","body":"@floor_plan_url"}},{"html_id":"floor_plan_url=(floor_plan_url:String)-instance-method","name":"floor_plan_url=","abstract":false,"args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"args_string":"(floor_plan_url : String)","args_html":"(floor_plan_url : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url=","args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"visibility":"Public","body":"@floor_plan_url = floor_plan_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length_distance:Float64-instance-method","name":"length_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance","return_type":"Float64","visibility":"Public","body":"@length_distance"}},{"html_id":"length_distance=(length_distance:Float64)-instance-method","name":"length_distance=","abstract":false,"args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"args_string":"(length_distance : Float64)","args_html":"(length_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance=","args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"visibility":"Public","body":"@length_distance = length_distance"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"width_distance:Float64-instance-method","name":"width_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance","return_type":"Float64","visibility":"Public","body":"@width_distance"}},{"html_id":"width_distance=(width_distance:Float64)-instance-method","name":"width_distance=","abstract":false,"args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"args_string":"(width_distance : Float64)","args_html":"(width_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance=","args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"visibility":"Public","body":"@width_distance = width_distance"}}]},{"html_id":"drivers/PointGrab/CogniPoint/FloorAreas","path":"PointGrab/CogniPoint/FloorAreas.html","kind":"class","full_name":"PointGrab::CogniPoint::FloorAreas","name":"FloorAreas","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"areas:Array(Area)-instance-method","name":"areas","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas","return_type":"Array(Area)","visibility":"Public","body":"@areas"}},{"html_id":"areas=(areas:Array(Area))-instance-method","name":"areas=","abstract":false,"args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"args_string":"(areas : Array(Area))","args_html":"(areas : Array(Area))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas=","args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"visibility":"Public","body":"@areas = areas"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/GeoPosition","path":"PointGrab/CogniPoint/GeoPosition.html","kind":"class","full_name":"PointGrab::CogniPoint::GeoPosition","name":"GeoPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"latitude=(latitude:Float64)-instance-method","name":"latitude=","abstract":false,"args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"args_string":"(latitude : Float64)","args_html":"(latitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude=","args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"visibility":"Public","body":"@latitude = latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"longitude=(longitude:Float64)-instance-method","name":"longitude=","abstract":false,"args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"args_string":"(longitude : Float64)","args_html":"(longitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude=","args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"visibility":"Public","body":"@longitude = longitude"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Handler","path":"PointGrab/CogniPoint/Handler.html","kind":"class","full_name":"PointGrab::CogniPoint::Handler","name":"Handler","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L267"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L268"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_id:UInt32-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id","return_type":"UInt32","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:UInt32)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"args_string":"(app_id : UInt32)","args_html":"(app_id : UInt32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"end_point:String-instance-method","name":"end_point","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point","return_type":"String","visibility":"Public","body":"@end_point"}},{"html_id":"end_point=(end_point:String)-instance-method","name":"end_point=","abstract":false,"args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"args_string":"(end_point : String)","args_html":"(end_point : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point=","args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"visibility":"Public","body":"@end_point = end_point"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/PointGrab/CogniPoint/MetricPositions","path":"PointGrab/CogniPoint/MetricPositions.html","kind":"class","full_name":"PointGrab::CogniPoint::MetricPositions","name":"MetricPositions","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"pos_x:Float64-instance-method","name":"pos_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x","return_type":"Float64","visibility":"Public","body":"@pos_x"}},{"html_id":"pos_x=(pos_x:Float64)-instance-method","name":"pos_x=","abstract":false,"args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"args_string":"(pos_x : Float64)","args_html":"(pos_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x=","args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"visibility":"Public","body":"@pos_x = pos_x"}},{"html_id":"pos_y:Float64-instance-method","name":"pos_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y","return_type":"Float64","visibility":"Public","body":"@pos_y"}},{"html_id":"pos_y=(pos_y:Float64)-instance-method","name":"pos_y=","abstract":false,"args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"args_string":"(pos_y : Float64)","args_html":"(pos_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y=","args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"visibility":"Public","body":"@pos_y = pos_y"}}]},{"html_id":"drivers/PointGrab/CogniPoint/NotificationType","path":"PointGrab/CogniPoint/NotificationType.html","kind":"enum","full_name":"PointGrab::CogniPoint::NotificationType","name":"NotificationType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L302"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Counting","name":"Counting","value":"0"},{"id":"Traffic","name":"Traffic","value":"1"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"instance_methods":[{"html_id":"counting?-instance-method","name":"counting?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L303"},"def":{"name":"counting?","visibility":"Public","body":"self == Counting"}},{"html_id":"traffic?-instance-method","name":"traffic?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L304"},"def":{"name":"traffic?","visibility":"Public","body":"self == Traffic"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Site","path":"PointGrab/CogniPoint/Site.html","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"customer_id:String-instance-method","name":"customer_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id","return_type":"String","visibility":"Public","body":"@customer_id"}},{"html_id":"customer_id=(customer_id:String)-instance-method","name":"customer_id=","abstract":false,"args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"args_string":"(customer_id : String)","args_html":"(customer_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id=","args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"visibility":"Public","body":"@customer_id = customer_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Site/Location","path":"PointGrab/CogniPoint/Site/Location.html","kind":"class","full_name":"PointGrab::CogniPoint::Site::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L121"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Site","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"city=(city:String)-instance-method","name":"city=","abstract":false,"args":[{"name":"city","external_name":"city","restriction":"String"}],"args_string":"(city : String)","args_html":"(city : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city=","args":[{"name":"city","external_name":"city","restriction":"String"}],"visibility":"Public","body":"@city = city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"country=(country:String)-instance-method","name":"country=","abstract":false,"args":[{"name":"country","external_name":"country","restriction":"String"}],"args_string":"(country : String)","args_html":"(country : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country=","args":[{"name":"country","external_name":"country","restriction":"String"}],"visibility":"Public","body":"@country = country"}},{"html_id":"county:String-instance-method","name":"county","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county","return_type":"String","visibility":"Public","body":"@county"}},{"html_id":"county=(county:String)-instance-method","name":"county=","abstract":false,"args":[{"name":"county","external_name":"county","restriction":"String"}],"args_string":"(county : String)","args_html":"(county : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county=","args":[{"name":"county","external_name":"county","restriction":"String"}],"visibility":"Public","body":"@county = county"}},{"html_id":"geo_position:GeoPosition-instance-method","name":"geo_position","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position","return_type":"GeoPosition","visibility":"Public","body":"@geo_position"}},{"html_id":"geo_position=(geo_position:GeoPosition)-instance-method","name":"geo_position=","abstract":false,"args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"args_string":"(geo_position : GeoPosition)","args_html":"(geo_position : GeoPosition)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position=","args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"visibility":"Public","body":"@geo_position = geo_position"}},{"html_id":"house_number:String-instance-method","name":"house_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number","return_type":"String","visibility":"Public","body":"@house_number"}},{"html_id":"house_number=(house_number:String)-instance-method","name":"house_number=","abstract":false,"args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"args_string":"(house_number : String)","args_html":"(house_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number=","args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"visibility":"Public","body":"@house_number = house_number"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"state=(state:String)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"@state = state"}},{"html_id":"street:String-instance-method","name":"street","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street","return_type":"String","visibility":"Public","body":"@street"}},{"html_id":"street=(street:String)-instance-method","name":"street=","abstract":false,"args":[{"name":"street","external_name":"street","restriction":"String"}],"args_string":"(street : String)","args_html":"(street : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street=","args":[{"name":"street","external_name":"street","restriction":"String"}],"visibility":"Public","body":"@street = street"}},{"html_id":"zip:String-instance-method","name":"zip","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip","return_type":"String","visibility":"Public","body":"@zip"}},{"html_id":"zip=(zip:String)-instance-method","name":"zip=","abstract":false,"args":[{"name":"zip","external_name":"zip","restriction":"String"}],"args_string":"(zip : String)","args_html":"(zip : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip=","args":[{"name":"zip","external_name":"zip","restriction":"String"}],"visibility":"Public","body":"@zip = zip"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Subscription","path":"PointGrab/CogniPoint/Subscription.html","kind":"class","full_name":"PointGrab::CogniPoint::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L286"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L287"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"endpoint:String-instance-method","name":"endpoint","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint","return_type":"String","visibility":"Public","body":"@endpoint"}},{"html_id":"endpoint=(endpoint:String)-instance-method","name":"endpoint=","abstract":false,"args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"args_string":"(endpoint : String)","args_html":"(endpoint : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint=","args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"visibility":"Public","body":"@endpoint = endpoint"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"notification_type:String-instance-method","name":"notification_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type","return_type":"String","visibility":"Public","body":"@notification_type"}},{"html_id":"notification_type=(notification_type:String)-instance-method","name":"notification_type=","abstract":false,"args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"args_string":"(notification_type : String)","args_html":"(notification_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type=","args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"visibility":"Public","body":"@notification_type = notification_type"}},{"html_id":"started:Bool-instance-method","name":"started","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started","return_type":"Bool","visibility":"Public","body":"@started"}},{"html_id":"started=(started:Bool)-instance-method","name":"started=","abstract":false,"args":[{"name":"started","external_name":"started","restriction":"Bool"}],"args_string":"(started : Bool)","args_html":"(started : Bool)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started=","args":[{"name":"started","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"@started = started"}},{"html_id":"subscription_type:String-instance-method","name":"subscription_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type","return_type":"String","visibility":"Public","body":"@subscription_type"}},{"html_id":"subscription_type=(subscription_type:String)-instance-method","name":"subscription_type=","abstract":false,"args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"args_string":"(subscription_type : String)","args_html":"(subscription_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type=","args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"visibility":"Public","body":"@subscription_type = subscription_type"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}}]},{"html_id":"drivers/PointGrab/CogniPoint/TokenResponse","path":"PointGrab/CogniPoint/TokenResponse.html","kind":"class","full_name":"PointGrab::CogniPoint::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]}]},{"html_id":"drivers/Polygon","path":"Polygon.html","kind":"class","full_name":"Polygon","name":"Polygon","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(points:Array(Point))-class-method","name":"new","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/place/area_polygon.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L36"},"def":{"name":"new","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(points)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contains(testx:Float64,testy:Float64)-instance-method","name":"contains","abstract":false,"args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"args_string":"(testx : Float64, testy : Float64)","args_html":"(testx : Float64, testy : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L54"},"def":{"name":"contains","args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"visibility":"Public","body":"if ((testx < @xmin || testx > @xmax) || testy < @ymin) || testy > @ymax\n return false\nend\ninside = false\nprevious_index = @points.size - 1\n@points.each_with_index do |point, index|\n previous = @points[previous_index]\n if ((point.y > testy) != (previous.y > testy)) && (testx < ((((previous.x - point.x) * (testy - point.y)) / (previous.y - point.y)) + point.x))\n inside = !inside\n end\n previous_index = index\nend\ninside\n"}},{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L48"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"xmax:Float64-instance-method","name":"xmax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L51"},"def":{"name":"xmax","return_type":"Float64","visibility":"Public","body":"@xmax"}},{"html_id":"xmin:Float64-instance-method","name":"xmin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L49"},"def":{"name":"xmin","return_type":"Float64","visibility":"Public","body":"@xmin"}},{"html_id":"ymax:Float64-instance-method","name":"ymax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L52"},"def":{"name":"ymax","return_type":"Float64","visibility":"Public","body":"@ymax"}},{"html_id":"ymin:Float64-instance-method","name":"ymin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/area_polygon.cr#L50"},"def":{"name":"ymin","return_type":"Float64","visibility":"Public","body":"@ymin"}}]},{"html_id":"drivers/Qbic","path":"Qbic.html","kind":"module","full_name":"Qbic","name":"Qbic","abstract":false,"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qbic/TouchPanel","path":"Qbic/TouchPanel.html","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"USERNAME","name":"USERNAME","value":"\"admin\""}],"namespace":{"html_id":"drivers/Qbic","kind":"module","full_name":"Qbic","name":"Qbic"},"instance_methods":[{"html_id":"device_info-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L192"},"def":{"name":"device_info","visibility":"Public","body":"query(\"GET\", \"/v1/info/\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_all_leds-instance-method","name":"get_all_leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L220"},"def":{"name":"get_all_leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n self[:light_names] = leds\n leds.each do |name|\n get_led_state(name)\n end\n true\nend"}},{"html_id":"get_eddystone_uid-instance-method","name":"get_eddystone_uid","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L169"},"def":{"name":"get_eddystone_uid","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_uid\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_eddystone_url-instance-method","name":"get_eddystone_url","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L188"},"def":{"name":"get_eddystone_url","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_url\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_ibeacon-instance-method","name":"get_ibeacon","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L147"},"def":{"name":"get_ibeacon","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/ibeacon\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_led_state(name:String)-instance-method","name":"get_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L216"},"def":{"name":"get_led_state","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led/#{name}\") do |data|\n self[name] = JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L64"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nif refresh_token = @refresh_token\n response = post(\"/v1/oauth2/token\", body: {grant_type: \"refresh_token\", refresh_token: refresh_token}.to_json)\n if response.success?\n resp = AuthResponse.from_json(response.body.not_nil!)\n @expired = false\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\n @refresh_token = resp.refresh_token\n return @auth_token\n else\n logger.debug do\n \"refresh token request failed\"\n end\n end\nend\nresponse = post(\"/v1/oauth2/token\", body: {grant_type: \"password\", username: USERNAME, password: @password}.to_json)\ndata = response.body.not_nil!\nif response.success?\n resp = AuthResponse.from_json(data)\n @expired = false\n @refresh_token = resp.refresh_token\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\nelse\n resp = FailureResponse.from_json(data)\n raise(\"failed to obtain access token: #{resp.detail} (#{response.status})\")\nend\n"}},{"html_id":"leds-instance-method","name":"leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L212"},"def":{"name":"leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n self[:leds] = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@password = URI.encode_www_form(setting(String, :password))\ntransport.before_request do |request|\n request.headers[\"Content-Type\"] = \"application/json\"\n if token_expired?\n else\n request.headers[\"Authorization\"] = @auth_token\n end\nend\nschedule.clear\nschedule.every(1.minute) do\n logger.debug do\n \"polling to check connectivity\"\n end\n resp = get(\"/v1/public/info/\")\n if resp.success?\n logger.debug do\n resp.body\n end\n get_all_leds\n end\nend\n"}},{"html_id":"set_all_leds(red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_all_leds","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L239"},"def":{"name":"set_all_leds","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n leds.each do |name|\n set_led_state(name, red, green, blue)\n end\n true\nend"}},{"html_id":"set_eddystone_uid(enabled:Bool,namespace:String|Nil=nil,instance:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_uid","doc":"https://github.com/google/eddystone/tree/master/eddystone-uid","summary":"

https://github.com/google/eddystone/tree/master/eddystone-uid

","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L153"},"def":{"name":"set_eddystone_uid","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_uid\", {enabled: enabled ? \"enabled\" : \"disabled\", namespace: namespace, instance: instance, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_eddystone_url(enabled:Bool,url:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_url","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L174"},"def":{"name":"set_eddystone_url","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_url\", {enabled: enabled ? \"enabled\" : \"disabled\", url: url, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_ibeacon(enabled:Bool,major:UInt16|Nil=nil,minor:UInt16|Nil=nil,uuid:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_ibeacon","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L129"},"def":{"name":"set_ibeacon","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/ibeacon\", {enabled: enabled ? \"enabled\" : \"disabled\", major: major, minor: minor, uuid: uuid, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_led_state(name:String,red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","args_html":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L230"},"def":{"name":"set_led_state","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"value = {red: red, green: green, blue: blue}\nquery(\"POST\", \"/v1/led/#{name}\", value.to_json) do\n self[name] = value\nend\n"}},{"html_id":"set_setting(key:String,value:String|JSON::Any)-instance-method","name":"set_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"args_string":"(key : String, value : String | JSON::Any)","args_html":"(key : String, value : String | JSON::Any)","location":{"filename":"src/qbic/touch_panel.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L201"},"def":{"name":"set_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"visibility":"Public","body":"query(\"POST\", \"/v1/settings/#{key}\", {value: value}.to_json) do\n true\nend"}},{"html_id":"set_url(value:String)-instance-method","name":"set_url","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L208"},"def":{"name":"set_url","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"set_setting(\"content_url\", value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L196"},"def":{"name":"settings","visibility":"Public","body":"query(\"GET\", \"/v1/settings\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"token_expired?:Bool-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L60"},"def":{"name":"token_expired?","visibility":"Public","body":"@expired"}},{"html_id":"update_password(new_password:String)-instance-method","name":"update_password","abstract":false,"args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"args_string":"(new_password : String)","args_html":"(new_password : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L110"},"def":{"name":"update_password","args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"visibility":"Public","body":"if new_password.size >= 4 && new_password.size <= 16\nelse\n raise(\"password must be between 4 and 16 characters\")\nend\nquery(\"POST\", \"/v1/user/password\") do\n define_setting(:password, new_password)\nend\n"}},{"html_id":"wifi_scan-instance-method","name":"wifi_scan","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L118"},"def":{"name":"wifi_scan","visibility":"Public","body":"query(\"GET\", \"/v1/wifi/scan_results\") do |data|\n JSON.parse(data.not_nil!)\nend"}}],"types":[{"html_id":"drivers/Qbic/TouchPanel/AdvertiseMode","path":"Qbic/TouchPanel/AdvertiseMode.html","kind":"enum","full_name":"Qbic::TouchPanel::AdvertiseMode","name":"AdvertiseMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LowLatency","name":"LowLatency","value":"0"},{"id":"Balanced","name":"Balanced","value":"1"},{"id":"LowPower","name":"LowPower","value":"2"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"instance_methods":[{"html_id":"balanced?-instance-method","name":"balanced?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L124"},"def":{"name":"balanced?","visibility":"Public","body":"self == Balanced"}},{"html_id":"low_latency?-instance-method","name":"low_latency?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L123"},"def":{"name":"low_latency?","visibility":"Public","body":"self == LowLatency"}},{"html_id":"low_power?-instance-method","name":"low_power?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L125"},"def":{"name":"low_power?","visibility":"Public","body":"self == LowPower"}}]},{"html_id":"drivers/Qbic/TouchPanel/AuthResponse","path":"Qbic/TouchPanel/AuthResponse.html","kind":"class","full_name":"Qbic::TouchPanel::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"refresh_token:String-instance-method","name":"refresh_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token","return_type":"String","visibility":"Public","body":"@refresh_token"}},{"html_id":"refresh_token=(refresh_token:String)-instance-method","name":"refresh_token=","abstract":false,"args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"args_string":"(refresh_token : String)","args_html":"(refresh_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token=","args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"visibility":"Public","body":"@refresh_token = refresh_token"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]},{"html_id":"drivers/Qbic/TouchPanel/FailureResponse","path":"Qbic/TouchPanel/FailureResponse.html","kind":"class","full_name":"Qbic::TouchPanel::FailureResponse","name":"FailureResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"detail:String-instance-method","name":"detail","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail","return_type":"String","visibility":"Public","body":"@detail"}},{"html_id":"detail=(detail:String)-instance-method","name":"detail=","abstract":false,"args":[{"name":"detail","external_name":"detail","restriction":"String"}],"args_string":"(detail : String)","args_html":"(detail : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail=","args":[{"name":"detail","external_name":"detail","restriction":"String"}],"visibility":"Public","body":"@detail = detail"}}]}]}]},{"html_id":"drivers/Qsc","path":"Qsc.html","kind":"module","full_name":"Qsc","name":"Qsc","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qsc/QSysControl","path":"Qsc/QSysControl.html","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"about-instance-method","name":"about","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L138"},"def":{"name":"about","visibility":"Public","body":"do_send(\"sg\\n\", name: :status, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L54"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nif @username\n login\nend\nrecreate_change_groups\nschedule.every(40.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n about\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n"}},{"html_id":"fader(fader_ids:Ids,level:Val)-instance-method","name":"fader","doc":"Compatibility Methods","summary":"

Compatibility Methods

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L163"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = -100..20\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = (level_actual + range.begin.to_f).round(1)\n(ensure_array(fader_ids)).each do |f_id|\n if @history[f_id]? == (:percentage_fader)\n set_value(f_id, level, name: \"fader#{f_id}\")\n else\n set_value(f_id, level_actual, name: \"fader#{f_id}\", fader_type: :fader)\n end\nend\n"}},{"html_id":"faders(fader_ids:Ids,level:Val)-instance-method","name":"faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L181"},"def":{"name":"faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"fader(fader_ids, level)"}},{"html_id":"get_status(control_id:String,**options)-instance-method","name":"get_status","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String, **options)","args_html":"(control_id : String, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L112"},"def":{"name":"get_status","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\ndo_send(\"cg #{control_id}\\n\", **options)\n"}},{"html_id":"history:Hash(String,Symbol)-instance-method","name":"history","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L31"},"def":{"name":"history","return_type":"Hash(String, Symbol)","visibility":"Public","body":"@history"}},{"html_id":"login(username:String|Nil=nil,password:String|Nil=nil)-instance-method","name":"login","abstract":false,"args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil = nil, password : String | Nil = nil)","args_html":"(username : String | Nil = nil, password : String | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L142"},"def":{"name":"login","args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"username || (username = @username)\npassword || (password = @password)\ndo_send(\"login #{username} #{password}\\n\", name: :login, priority: 99)\n"}},{"html_id":"mute(mute_ids:Ids,state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool = true)","args_html":"(mute_ids : Ids, state : Bool = true)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L185"},"def":{"name":"mute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 1 : 0\n(ensure_array(mute_ids)).each do |m_id|\n set_value(m_id, level, fader_type: :mute)\nend\n"}},{"html_id":"mute_toggle(mute_id:Ids)-instance-method","name":"mute_toggle","abstract":false,"args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"args_string":"(mute_id : Ids)","args_html":"(mute_id : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L198"},"def":{"name":"mute_toggle","args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_id, !self[\"fader#{mute_id}_mute\"]?.try(&.as_bool))"}},{"html_id":"mutes(mute_ids:Ids,state:Bool)-instance-method","name":"mutes","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool)","args_html":"(mute_ids : Ids, state : Bool)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L190"},"def":{"name":"mutes","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(mute_ids, state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nqueue.retries = 1\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@static_change_groups = (setting?(Hash(String, Group), :change_groups)) || ({} of String => Group)\nif @connected\n if @username\n login\n end\n recreate_change_groups\nend\n"}},{"html_id":"phone_dial(control_id:String)-instance-method","name":"phone_dial","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L233"},"def":{"name":"phone_dial","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"trigger(control_id)\nschedule.in(200.milliseconds) do\n poll_change_group(:phone)\nend\n"}},{"html_id":"phone_hangup(control_id:String)-instance-method","name":"phone_hangup","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L238"},"def":{"name":"phone_hangup","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"phone_dial(control_id)"}},{"html_id":"phone_number(number:String,control_id:String)-instance-method","name":"phone_number","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(number : String, control_id : String)","args_html":"(number : String, control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L229"},"def":{"name":"phone_number","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"set_string(control_id, number)"}},{"html_id":"query_fader(fader_ids:Ids)-instance-method","name":"query_fader","doc":"For inter-module compatibility","summary":"

For inter-module compatibility

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L211"},"def":{"name":"query_fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: (@history[fad]? || (:fader)))\n"}},{"html_id":"query_faders(fader_ids:Ids)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L216"},"def":{"name":"query_faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |f_id|\n get_status(f_id, fader_type: ( @history[f_id]? || (:fader)))\nend"}},{"html_id":"query_mute(fader_ids:Ids)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L220"},"def":{"name":"query_mute","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: :mute)\n"}},{"html_id":"query_mutes(fader_ids:Ids)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L225"},"def":{"name":"query_mutes","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |fad|\n get_status(fad, fader_type: :mute)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L277"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nputs(\"GOT: #{data}\")\nif data == \"none\\r\\n\"\n return task.try(&.success)\nend\nlogger.debug do\n \"QSys sent: #{data}\"\nend\nresp = shellsplit(data)\ncase resp[0]\nwhen \"cv\"\n control_id = resp[1]\n string_rep = resp[2]\n value = resp[-2]\n position = resp[-1].to_f\n self[\"pos_#{control_id}\"] = position\n if string_rep.ends_with?('%')\n @history[control_id] = :percentage_fader\n end\n if type = @history[control_id]?\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :percentage_fader\n self[\"fader#{control_id}\"] = value.to_f\n when :mute\n self[\"fader#{control_id}_mute\"] = value.to_i == 1\n end\n else\n value = resp[2]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id} == #{value}\"\n end\n end\nwhen \"cvv\"\n control_id = resp[1]\n count = resp[2].to_i\n if type = @history[control_id]?\n next_count = count + 3\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :mute\n self[\"fader#{control_id}_mute\"] = value == 1\n end\n end\n else\n next_count = 2\n 1.upto(count) do |index|\n value = resp[next_count + index]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id}\"\n end\n next_count = count + 3\n count = resp[next_count].to_i\n end\n next_count = (next_count + count) + 1\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n self[\"pos_#{control_id}\"] = value\n end\nwhen \"sr\"\n self[:design_name] = resp[1]\n self[:is_primary] = resp[3] == \"1\"\n self[:is_active] = resp[4] == \"1\"\nwhen \"core_not_active\", \"bad_change_group_handle\", \"bad_command\", \"bad_id\", \"control_read_only\", \"too_many_change_groups\"\n return task.try(&.abort(\"Error response received: #{data}\"))\nwhen \"login_required\"\n if @username\n login\n end\n return task.try(&.abort(\"Login is required!\"))\nwhen \"login_success\"\n logger.debug do\n \"Login success!\"\n end\nwhen \"login_failed\"\n return task.try(&.abort(\"Invalid login details provided\"))\nwhen \"rc\"\n logger.warn do\n \"System is notifying us of a disconnect!\"\n end\nwhen \"cmvv\"\n logger.debug do\n \"received cmvv response\"\n end\nelse\n logger.warn do\n \"Unknown response received #{data}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_snapshot(name:String,index:Int32)-instance-method","name":"save_snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(name : String, index : Int32)","args_html":"(name : String, index : Int32)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L206"},"def":{"name":"save_snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(\"sss \\\"#{name}\\\" #{index}\\n\")"}},{"html_id":"set_position(control_id:String,position:Int32,ramp_time:Val|Nil=nil)-instance-method","name":"set_position","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","args_html":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L118"},"def":{"name":"set_position","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"visibility":"Public","body":"if ramp_time\n do_send(\"cspr \\\"#{control_id}\\\" #{position} #{ramp_time}\\n\")\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csp \\\"#{control_id}\\\" #{position}\\n\")\nend"}},{"html_id":"set_string(control_ids:Ids,text:String)-instance-method","name":"set_string","doc":"Used to set a dial number/string","summary":"

Used to set a dial number/string

","abstract":false,"args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(control_ids : Ids, text : String)","args_html":"(control_ids : Ids, text : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L149"},"def":{"name":"set_string","args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"(ensure_array(control_ids)).each do |id|\n (do_send(\"css \\\"#{id}\\\" \\\"#{text}\\\"\\n\")).get\n self[id] = text\nend"}},{"html_id":"set_value(control_id:String,value:Val,ramp_time:Val|Nil=nil,**options)-instance-method","name":"set_value","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","args_html":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L127"},"def":{"name":"set_value","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\nif ramp_time\n do_send(\"csvr \\\"#{control_id}\\\" #{value} #{ramp_time}\\n\", **options)\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csv \\\"#{control_id}\\\" #{value}\\n\", **options)\nend\n"}},{"html_id":"snapshot(name:String,index:Int32,ramp_time:Val=1.5)-instance-method","name":"snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"args_string":"(name : String, index : Int32, ramp_time : Val = 1.5)","args_html":"(name : String, index : Int32, ramp_time : Val = 1.5)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L202"},"def":{"name":"snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"visibility":"Public","body":"do_send(\"ssl \\\"#{name}\\\" #{index} #{ramp_time}\\n\")"}},{"html_id":"trigger(control_id:String)-instance-method","name":"trigger","doc":"Used to trigger dialing etc","summary":"

Used to trigger dialing etc

","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L157"},"def":{"name":"trigger","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Sending trigger to Qsys: ct #{control_id}\"\nend\ndo_send(\"ct \\\"#{control_id}\\\"\\n\")\n"}},{"html_id":"unmute(mute_ids:Ids)-instance-method","name":"unmute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"args_string":"(mute_ids : Ids)","args_html":"(mute_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L194"},"def":{"name":"unmute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_ids, false)"}}],"types":[{"html_id":"drivers/Qsc/QSysControl/Group","path":"Qsc/QSysControl/Group.html","kind":"alias","full_name":"Qsc::QSysControl::Group","name":"Group","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: Int32, controls: Set(String))","aliased_html":"{id: Int32, controls: Set(String)}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Ids","path":"Qsc/QSysControl/Ids.html","kind":"alias","full_name":"Qsc::QSysControl::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Val","path":"Qsc/QSysControl/Val.html","kind":"alias","full_name":"Qsc::QSysControl::Val","name":"Val","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}}]},{"html_id":"drivers/Qsc/QSysRemote","path":"Qsc/QSysRemote.html","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BoolVals","name":"BoolVals","value":"[\"true\", \"false\"]"},{"id":"DB_RANGE","name":"DB_RANGE","value":"-100..20"},{"id":"Delimiter","name":"Delimiter","value":"\"\\u0000\""},{"id":"Errors","name":"Errors","value":"{-32700 => \"Parse error. Invalid JSON was received by the server.\", -32600 => \"Invalid request. The JSON sent is not a valid Request object.\", -32601 => \"Method not found.\", -32602 => \"Invalid params.\", -32603 => \"Server error.\", 2 => \"Invalid Page Request ID\", 3 => \"Bad Page Request - could not create the requested Page Request\", 4 => \"Missing file\", 5 => \"Change Groups exhausted\", 6 => \"Unknown change croup\", 7 => \"Unknown component name\", 8 => \"Unknown control\", 9 => \"Illegal mixer channel index\", 10 => \"Logon required\"}"},{"id":"Faders","name":"Faders","value":"{matrix_in: {type: :\"Mixer.SetInputGain\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputGain\", pri: :Outputs}, matrix_crosspoint: {type: :\"Mixer.SetCrossPointGain\", pri: :Inputs, sec: :Outputs}}"},{"id":"JsonRpcVer","name":"JsonRpcVer","value":"\"2.0\""},{"id":"Mutes","name":"Mutes","value":"{matrix_in: {type: :\"Mixer.SetInputMute\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputMute\", pri: :Outputs}}"}],"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"auto_poll_change_group(group_id:String,every:Num,**options)-instance-method","name":"auto_poll_change_group","doc":"Where every is the number of seconds between polls","summary":"

Where every is the number of seconds between polls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"args_string":"(group_id : String, every : Num, **options)","args_html":"(group_id : String, every : Num, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L175"},"def":{"name":"auto_poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AutoPoll\", {:Id => group_id, :Rate => every}, **options)"}},{"html_id":"change_group_add_component(group_id:String,component_name:String,controls:Array(String),**options)-instance-method","name":"change_group_add_component","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, component_name : String, controls : Array(String), **options)","args_html":"(group_id : String, component_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L149"},"def":{"name":"change_group_add_component","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddComponentControl\", {:Id => group_id, :Component => {:Name => component_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}}, **options)"}},{"html_id":"change_group_add_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_add_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L135"},"def":{"name":"change_group_add_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddControl\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"change_group_remove_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_remove_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L142"},"def":{"name":"change_group_remove_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Remove\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"clear_change_group(group_id:String,**options)-instance-method","name":"clear_change_group","doc":"Removes all controls from change group","summary":"

Removes all controls from change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L170"},"def":{"name":"clear_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Clear\", {:Id => group_id}, **options)"}},{"html_id":"component_get(c_name:String,controls:Array(String),**options)-instance-method","name":"component_get","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(c_name : String, controls : Array(String), **options)","args_html":"(c_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L108"},"def":{"name":"component_get","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Get\", {:Name => c_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}, **options)"}},{"html_id":"component_set(c_name:String,values:Values,**options)-instance-method","name":"component_set","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"args_string":"(c_name : String, values : Values, **options)","args_html":"(c_name : String, values : Values, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L115"},"def":{"name":"component_set","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"values = ensure_array(values)\ndo_send(next_id, \"Component.Set\", {:Name => c_name, :Controls => values}, **options)\n"}},{"html_id":"component_trigger(component:String,trigger:String,**options)-instance-method","name":"component_trigger","abstract":false,"args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"args_string":"(component : String, trigger : String, **options)","args_html":"(component : String, trigger : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L124"},"def":{"name":"component_trigger","args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Trigger\", {:Name => component, :Controls => [{:Name => trigger}]}, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(20.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n no_op\nend\n@id = 0\n"}},{"html_id":"control_get(names:Array(String),**options)-instance-method","name":"control_get","abstract":false,"args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"args_string":"(names : Array(String), **options)","args_html":"(names : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L104"},"def":{"name":"control_get","args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Control.Get\", names, **options)"}},{"html_id":"control_set(name:String,value:Num|Bool,ramp:Num|Nil=nil,**options)-instance-method","name":"control_set","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"args_string":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","args_html":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L87"},"def":{"name":"control_set","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ramp\n params = {:Name => name, :Value => value, :Ramp => ramp}\nelse\n params = {:Name => name, :Value => value}\nend\ndo_send(next_id, \"Control.Set\", params, **options)\n"}},{"html_id":"destroy_change_group(group_id:String,**options)-instance-method","name":"destroy_change_group","doc":"Removes the change group","summary":"

Removes the change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L165"},"def":{"name":"destroy_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Destroy\", {:Id => group_id}, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(fader_ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",use_value:Bool=false,**options)-instance-method","name":"fader","doc":"value can either be a number to set actual numeric values like decibels\nor Bool to deal with mute state","summary":"

value can either be a number to set actual numeric values like decibels or Bool to deal with mute state

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"args_string":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", use_value : Bool = false, **options)","args_html":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", use_value : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L264"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"faders = ensure_array(fader_ids)\nif component && (val = value.as?(Num))\n val = val.to_f.clamp(0.0, 100.0)\n if @db_based_faders || use_value\n percentage = val / 100.0\n level_actual = percentage * (DB_RANGE.size - 1).to_f\n level_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\n fads = faders.map do |fad|\n {Name: fad, Value: level_actual}\n end\n else\n fads = faders.map do |fad|\n {Name: fad, Position: val}\n end\n end\n (component_set(component, fads, name: \"level_#{faders[0]}\")).get\n component_get(component, faders)\nelse\n reqs = faders.map do |fad|\n control_set(fad, value)\n end\n reqs.last.get\n control_get(faders)\nend\n"}},{"html_id":"faders(ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L290"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(ids, value, component, type, **options)"}},{"html_id":"get_components(**options)-instance-method","name":"get_components","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L131"},"def":{"name":"get_components","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.GetComponents\", **options)"}},{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L72"},"def":{"name":"get_status","visibility":"Public","body":"do_send(next_id, cmd: :StatusGet, params: 0, priority: 0)"}},{"html_id":"logon-instance-method","name":"logon","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L76"},"def":{"name":"logon","visibility":"Public","body":"do_send(cmd: :Logon, params: {:User => @username, :Password => @password}, priority: 99)"}},{"html_id":"matrix_fader(name:String,level:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_fader","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, level : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, level : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L213"},"def":{"name":"matrix_fader","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Faders[type]\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nlevel_actual = percentage * (DB_RANGE.size - 1).to_f\nlevel_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\nif sec = info[:sec]?\n params = {:Name => name, info[:pri] => index[0], sec => index[1], :Value => level_actual}\nelse\n params = {:Name => name, info[:pri] => index, :Value => level_actual}\nend\ndo_send(next_id, info[:type], params, **options)\n"}},{"html_id":"matrix_mute(name:String,value:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_mute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, value : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, value : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L252"},"def":{"name":"matrix_mute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Mutes[type]\ndo_send(next_id, info[:type], {:Name => name, info[:pri] => index, :Value => value}, **options)\n"}},{"html_id":"mixer(name:String,inouts:Hash(Int32,Int32|Array(Int32)),mute:Bool=false,**options)-instance-method","name":"mixer","doc":"Example usage:\nmixer 'Parade', {1 => [2,3,4], 3 => 6}, true","summary":"

Example usage: mixer 'Parade', {1 => [2,3,4], 3 => 6}, true

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"args_string":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","args_html":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L184"},"def":{"name":"mixer","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, outputs|\n outputs = ensure_array(outputs)\n do_send(next_id, \"Mixer.SetCrossPointMute\", {:Name => name, :Inputs => input.to_s, :Outputs => outputs.join(' '), :Value => mute}, **options)\nend"}},{"html_id":"mute(fader_id:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L294"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(fader_id, state, component, type, state, **options)"}},{"html_id":"mutes(ids:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L298"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(ids, state, component, type, **options)"}},{"html_id":"next_id-instance-method","name":"next_id","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L399"},"def":{"name":"next_id","visibility":"Public","body":"@id = @id + 1\n@id\n"}},{"html_id":"no_op-instance-method","name":"no_op","doc":"This command does nothing but is useful for making sure the socket is left open","summary":"

This command does nothing but is useful for making sure the socket is left open

","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L68"},"def":{"name":"no_op","visibility":"Public","body":"do_send(cmd: :NoOp, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Delimiter)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@db_based_faders = setting?(Bool, :db_based_faders)\n@username = setting?(String, :username)\n@password = setting?(String, :password)\nif @username && @password\n logon\nend\n"}},{"html_id":"poll_change_group(group_id:String,**options)-instance-method","name":"poll_change_group","doc":"Returns values for all the controls","summary":"

Returns values for all the controls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L160"},"def":{"name":"poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Poll\", {:Id => group_id}, **options)"}},{"html_id":"query_fader(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L306"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"faders = ensure_array(fader_id)\ncomponent ? component_get(component, faders) : control_get(faders)\n"}},{"html_id":"query_faders(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L311"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"query_mute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L315"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(fader_id, component, type)"}},{"html_id":"query_mutes(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L319"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L323"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nresponse = JSON.parse(data)\nlogger.debug do\n \"QSys sent:\"\nend\nlogger.debug do\n response\nend\nif err = response[\"error\"]?\n code = err[\"code\"]\n logger.warn do\n \"Error code #{code} - #{Errors[code]}\"\n end\n if code == 10\n if @username && @password\n logon.get\n return task.try(&.retry(\"Logged on and retrying command\"))\n else\n return task.try(&.abort(\"Login required but no username and/or password in settings\"))\n end\n end\n return task.try(&.abort(err[\"message\"]))\nend\nif result = response[\"result\"]?\nelse\n return task.try(&.success(\"Unknown response\"))\nend\ncase result\nwhen .as_h?\n if result[\"Controls\"]?\n process(result[\"Controls\"].as_a, result[\"Name\"]?)\n else\n if result[\"Platform\"]?\n result.as_h.each do |k, v|\n self[k.underscore] = v\n end\n end\n end\nwhen .as_a?\n process(result.as_a)\nend\ntask.try(&.success)\n"}},{"html_id":"unmute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L302"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(fader_id, false, component, type, **options)"}}],"types":[{"html_id":"drivers/Qsc/QSysRemote/Ids","path":"Qsc/QSysRemote/Ids.html","kind":"alias","full_name":"Qsc::QSysRemote::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Num","path":"Qsc/QSysRemote/Num.html","kind":"alias","full_name":"Qsc::QSysRemote::Num","name":"Num","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/PosTup","path":"Qsc/QSysRemote/PosTup.html","kind":"alias","full_name":"Qsc::QSysRemote::PosTup","name":"PosTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Position: Float64 | Int32)","aliased_html":"{Name: String, Position: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/ValTup","path":"Qsc/QSysRemote/ValTup.html","kind":"alias","full_name":"Qsc::QSysRemote::ValTup","name":"ValTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Value: Float64 | Int32)","aliased_html":"{Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Values","path":"Qsc/QSysRemote/Values.html","kind":"alias","full_name":"Qsc::QSysRemote::Values","name":"Values","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/qsc/q_sys_remote.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(NamedTuple(Name: String, Position: Float64 | Int32)) | Array(NamedTuple(Name: String, Value: Float64 | Int32)) | NamedTuple(Name: String, Position: Float64 | Int32) | NamedTuple(Name: String, Value: Float64 | Int32))","aliased_html":"Array({Name: String, Position: Float64 | Int32}) | Array({Name: String, Value: Float64 | Int32}) | {Name: String, Position: Float64 | Int32} | {Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}}]}]},{"html_id":"drivers/RHBAccess","path":"RHBAccess.html","kind":"module","full_name":"RHBAccess","name":"RHBAccess","abstract":false,"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/RHBAccess/AxiomRoomLogic","path":"RHBAccess/AxiomRoomLogic.html","kind":"class","full_name":"RHBAccess::AxiomRoomLogic","name":"AxiomRoomLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock-instance-method","name":"lock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L29"},"def":{"name":"lock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.lock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while LOCKING #{@door_ids}\"\n end\nelse\n self[\"locked_by_placeos_at\"] = Time.local\n status?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@door_ids = setting(Array(String), :axiom_door_ids)\n@cron_string = setting(String, :axiom_status_poll_cron)\nschedule.clear\nschedule.cron(@cron_string) do\n status?\nend\n"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L47"},"def":{"name":"status?","visibility":"Public","body":"begin\n result = @door_ids.map do |id|\n {id, (axiom.status?(id)).get}\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR requesting STATUS of #{@door_ids}\"\n end\nelse\n result.map do |id, status|\n self[id] = status[\"Status\"]\n end\n self[\"doors_locked\"] = result.count do |status|\n status.includes?(\"Locked\")\n end\nend"}},{"html_id":"unlock-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiom_room_logic.cr#L38"},"def":{"name":"unlock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.unlock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while UNLOCKING #{@door_ids}\"\n end\nelse\n self[\"unlocked_by_placeos_at\"] = Time.local\n status?\nend"}}]},{"html_id":"drivers/RHBAccess/Axiomxa","path":"RHBAccess/Axiomxa.html","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock(id:String,permanent:Bool=false)-instance-method","name":"lock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L27"},"def":{"name":"lock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg0|\n __arg0.access_points.lock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"locked\", \"permanent\" => permanent.to_s}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@client = Client.new(base_url: host_name.to_s, username: setting(String, :username), password: setting(String, :password))\n"}},{"html_id":"status?(id:String)-instance-method","name":"status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L37"},"def":{"name":"status?","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = @client.try() do |__arg2|\n __arg2.access_points.status(id: id)\nend\nself[\"access_point_#{id}_status\"] = JSON.parse(response.not_nil!.body)\n"}},{"html_id":"unlock(id:String,permanent:Bool=false)-instance-method","name":"unlock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L32"},"def":{"name":"unlock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg1|\n __arg1.access_points.unlock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"unlocked\", \"permanent\" => permanent.to_s}\n"}}],"types":[{"html_id":"drivers/RHBAccess/Axiomxa/Client","path":"RHBAccess/Axiomxa/Client.html","kind":"alias","full_name":"RHBAccess::Axiomxa::Client","name":"Client","abstract":false,"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhb_access/axiomxa.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Axio::Client","aliased_html":"Axio::Client","const":false,"namespace":{"html_id":"drivers/RHBAccess/Axiomxa","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa"}}]}]},{"html_id":"drivers/Rhombus","path":"Rhombus.html","kind":"module","full_name":"Rhombus","name":"Rhombus","abstract":false,"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Rhombus/SecurityInterop","path":"Rhombus/SecurityInterop.html","kind":"class","full_name":"Rhombus::SecurityInterop","name":"SecurityInterop","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"door_event(json:String)-instance-method","name":"door_event","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L80"},"def":{"name":"door_event","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"new door event detected: #{json}\"\nend\nwebhook = Webhook.new(Interface::DoorSecurity::DoorEvent.from_json(json))\n@event_count = @event_count + 1_u64\n@subscriptions.each do |sub|\n begin\n logger.debug do\n \"notifying webhook of new door event: #{sub.webhook}\"\n end\n webhook.sign(sub.secret)\n response = HTTP::Client.post(sub.webhook, HTTP::Headers {\"Content-Type\" => \"application/json\"}, webhook.to_json)\n if response.success?\n else\n logger.warn do\n \"request #{sub.webhook} failed with status: #{response.status_code}\\n#{response.body}\"\n end\n end\n rescue error\n logger.error(exception: error) do\n \"failed to notify subscription: #{sub.webhook}\"\n end\n end\nend\nself[:event_count] = @event_count\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\norg_id = (setting?(String, :organization_id)) || \"event\"\nmonitor(\"security/#{org_id}/door\") do |_subscription, payload|\n door_event(payload)\nend\n@subscriptions = (setting?(Array(Subscription), :subscriptions)) || ([] of Subscription)\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n"}},{"html_id":"request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop.cr#L35"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\n end\n if @debug_webhook\n logger.debug do\n body\n end\n end\n case method.downcase\n when \"post\"\n @subscriptions << (Subscription.from_json(body))\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::CREATED.to_i, {} of String => String, \"\"}\n when \"delete\"\n sub_webhook = (Subscription.from_json(body)).webhook\n @subscriptions.reject! do |sub|\n sub.webhook == sub_webhook\n end\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::ACCEPTED.to_i, {} of String => String, \"\"}\n when \"get\"\n all_doors = [] of JSON::Any\n security.door_list.get.each do |doors|\n all_doors.concat(doors.as_a)\n end\n {HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, {doors: all_doors}.to_json}\n when \"put\"\n door = (Interface::DoorSecurity::Door.from_json(body)).door_id\n case (security.unlock(door)).get.first.as_bool?\n in true\n {HTTP::Status::OK.to_i, {} of String => String, \"\"}\n in false\n {HTTP::Status::FORBIDDEN.to_i, {} of String => String, \"\"}\n in nil\n {HTTP::Status::NOT_IMPLEMENTED.to_i, {} of String => String, \"\"}\n end\n else\n {HTTP::Status::BAD_REQUEST.to_i, {\"Content-Type\" => \"application/json\"}, {error: \"unexpected HTTP request method: #{method}\"}.to_json}\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, error.message.to_s}\nend"}}]},{"html_id":"drivers/Rhombus/SecurityMock","path":"Rhombus/SecurityMock.html","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"card_holders:Array(CardUser)-instance-method","name":"card_holders","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L27"},"def":{"name":"card_holders","return_type":"Array(CardUser)","visibility":"Public","body":"@card_holders"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L26"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"@door_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"door_list_size = (setting?(Int32, :door_list_size)) || 30\nFaker.seed(door_list_size)\ndoors = Array(Door).new(door_list_size)\ndoor_list_size.times do\n doors << (Door.new(Faker::Business.credit_card_number, Faker::Commerce.department))\nend\n@door_list = doors\n@card_holders = (0..10).map do\n CardUser.new(Faker::Business.credit_card_number, Faker::Name.name, Faker::Internet.safe_email)\nend\nswipe_event_period = (setting?(Int32, :swipe_event_every)) || 30\nschedule.clear\nschedule.every(swipe_event_period.seconds) do\n door = doors.sample\n action = Action::Granted\n case rand(6)\n when 0, 1, 2\n user = card_holders.sample\n when 3\n action = Action::Denied\n user = card_holders.sample\n when 4\n action = Action::Tamper\n when 5\n action = Action::RequestToExit\n end\n publish(\"security/event/door\", DoorEvent.new(module_id: module_id, security_system: \"mock\", door_id: door.door_id, action: action, card_id: user.try(&.card_id), user_name: user.try(&.user_name), user_email: user.try(&.user_email)).to_json)\nend\n"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/rhombus/security_mock.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L83"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"self[:last_unlocked] = door_id\ntrue\n"}}],"types":[{"html_id":"drivers/Rhombus/SecurityMock/CardUser","path":"Rhombus/SecurityMock/CardUser.html","kind":"struct","full_name":"Rhombus::SecurityMock::CardUser","name":"CardUser","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus/SecurityMock","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock"},"constructors":[{"html_id":"new(card_id:String,user_name:String,user_email:String)-class-method","name":"new","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(card_id : String, user_name : String, user_email : String)","args_html":"(card_id : String, user_name : String, user_email : String)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"new","args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(card_id, user_name, user_email)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_mock.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@card_id.clone, @user_name.clone, @user_email.clone)"}},{"html_id":"copy_with(card_id_card_id=@card_id,user_name_user_name=@user_name,user_email_user_email=@user_email)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"args_string":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","args_html":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_mock.cr#L22"},"def":{"name":"copy_with","args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"visibility":"Public","body":"self.class.new(_card_id, _user_name, _user_email)"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Rhombus/Subscription","path":"Rhombus/Subscription.html","kind":"class","full_name":"Rhombus::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(webhook:String,secret:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"args_string":"(webhook : String, secret : Nil | String = nil)","args_html":"(webhook : String, secret : Nil | String = nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L12"},"def":{"name":"new","args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(webhook, secret)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"secret:String|Nil-instance-method","name":"secret","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L10"},"def":{"name":"secret","return_type":"String | ::Nil","visibility":"Public","body":"@secret"}},{"html_id":"webhook:String-instance-method","name":"webhook","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L9"},"def":{"name":"webhook","return_type":"String","visibility":"Public","body":"@webhook"}}]},{"html_id":"drivers/Rhombus/Webhook","path":"Rhombus/Webhook.html","kind":"class","full_name":"Rhombus::Webhook","name":"Webhook","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(event:PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)-class-method","name":"new","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"args_string":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","args_html":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L27"},"def":{"name":"new","args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"visibility":"Public","body":"_ = allocate\n_.initialize(event)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"action:PlaceOS::Driver::Interface::DoorSecurity::Action-instance-method","name":"action","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L22"},"def":{"name":"action","return_type":"PlaceOS::Driver::Interface::DoorSecurity::Action","visibility":"Public","body":"@action"}},{"html_id":"card_id:String|Nil-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L23"},"def":{"name":"card_id","return_type":"String | ::Nil","visibility":"Public","body":"@card_id"}},{"html_id":"door_id:String-instance-method","name":"door_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L19"},"def":{"name":"door_id","return_type":"String","visibility":"Public","body":"@door_id"}},{"html_id":"sign(secret:String|Nil)-instance-method","name":"sign","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"args_string":"(secret : String | Nil)","args_html":"(secret : String | Nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L37"},"def":{"name":"sign","args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"visibility":"Public","body":"if key = secret.presence\n @signature = OpenSSL::HMAC.hexdigest(:sha256, key, timestamp.to_rfc3339)\nelse\n @signature = nil\nend\nself\n"}},{"html_id":"signature:String|Nil-instance-method","name":"signature","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L21"},"def":{"name":"signature","return_type":"String | ::Nil","visibility":"Public","body":"@signature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L20"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"user_email:String|Nil-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L25"},"def":{"name":"user_email","return_type":"String | ::Nil","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String|Nil-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/rhombus/security_interop_models.cr#L24"},"def":{"name":"user_name","return_type":"String | ::Nil","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Samsung","path":"Samsung.html","kind":"module","full_name":"Samsung","name":"Samsung","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Samsung/Displays","path":"Samsung/Displays.html","kind":"module","full_name":"Samsung::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Samsung","kind":"module","full_name":"Samsung","name":"Samsung"},"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol","path":"Samsung/Displays/MDCProtocol.html","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEVICE_SETTINGS","name":"DEVICE_SETTINGS","value":"{network_standby: Bool, auto_off_timer: Bool, auto_power: Bool, volume: Num, contrast: Num, brightness: Num, sharpness: Num, colour: Num, tint: Num, red_gain: Num, green_gain: Num, blue_gain: Num}"},{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"auto_off_timer(value:Bool,**options)-instance-method","name":"auto_off_timer","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_off_timer","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_off_timer\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_off_timer\"), data, **options)\n"}},{"html_id":"auto_power(value:Bool,**options)-instance-method","name":"auto_power","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_power","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_power\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_power\"), data, **options)\n"}},{"html_id":"blue_gain(value:Num,**options)-instance-method","name":"blue_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"blue_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"blue_gain\"), data, **options)\n"}},{"html_id":"brightness(value:Num,**options)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"brightness\"), data, **options)\n"}},{"html_id":"colour(value:Num,**options)-instance-method","name":"colour","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"colour","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"colour\"), data, **options)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L82"},"def":{"name":"connected","visibility":"Public","body":"if self[:hard_off]?.try(&.as_bool)\nelse\n do_device_config\nend\nschedule.every(30.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Num,**options)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"contrast\"), data, **options)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L90"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L209"},"def":{"name":"do_device_config","visibility":"Public","body":"{% for name, kind in DEVICE_SETTINGS %}\n %value = setting?({{ kind }}, {{ name.id.stringify }})\n {{ name.id }}(%value) if %value\n {% end %}"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L175"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::Status, Bytes.empty, priority: 0)\nif self[:hard_off]?.try(&.as_bool)\nelse\n power?\nend\n"}},{"html_id":"green_gain(value:Num,**options)-instance-method","name":"green_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"green_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"green_gain\"), data, **options)\n"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L113"},"def":{"name":"hard_off","visibility":"Public","body":"if self[:power]?.try(&.as_bool)\n do_send(Command::PanelMute, 0)\nend\ndo_send(Command::HardOff, 0)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L124"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L140"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","doc":"Adds video mute state compatible with projectors","summary":"

Adds video mute state compatible with projectors

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L134"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1 : 0\ndo_send(Command::PanelMute, state)\n"}},{"html_id":"network_standby(value:Bool,**options)-instance-method","name":"network_standby","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"network_standby","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"network_standby\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"network_standby\"), data, **options)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L62"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L76"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\n@blank = (setting?(String, :blanking_input)).try(&->Input.parse(String))\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L96"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n do_send(Command::HardOff, 1)\n do_send(Command::PanelMute, 0)\nelse\n if (blanking_input = @blank) && self[:power]?\n switch_to(blanking_input)\n end\n do_send(Command::PanelMute, 1)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L118"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::PanelMute, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L221"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .status?\n self[:hard_off] = hard_off = values[0] == 0\n if hard_off\n self[:power] = false\n end\n self[:volume] = values[1]\n self[:audio_mute] = values[2] == 1\n self[:input] = Input.from_value(values[3])\n check_power_state\n when .panel_mute?\n self[:power] = value == 0\n check_power_state\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .brightness?\n self[:brightness] = value\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n if self[:screen_split]?.try(&.as_bool)\n else\n if current_input == @input_target\n @input_target = nil\n else\n if input_target = @input_target\n switch_to(input_target)\n end\n end\n end\n when .speaker?\n self[:speaker] = SpeakerMode.from_value(value)\n when .hard_off?\n if self[:hard_off]?.try(&.as_bool)\n else\n self[:hard_off] = hard_off = value == 0\n if hard_off\n self[:power] = false\n end\n end\n when .screen_split?\n self[:screen_split] = value >= 0\n when .software_version?\n self[:software_version] = values.join\n when .serial_number?\n self[:serial_number] = values.join\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"red_gain(value:Num,**options)-instance-method","name":"red_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"red_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"red_gain\"), data, **options)\n"}},{"html_id":"serial_number-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L157"},"def":{"name":"serial_number","visibility":"Public","body":"do_send(Command::SerialNumber)"}},{"html_id":"sharpness(value:Num,**options)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"sharpness\"), data, **options)\n"}},{"html_id":"software_version-instance-method","name":"software_version","doc":"check software version","summary":"

check software version

","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L153"},"def":{"name":"software_version","visibility":"Public","body":"do_send(Command::SoftwareVersion)"}},{"html_id":"speaker_select(mode:SpeakerMode,**options)-instance-method","name":"speaker_select","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"args_string":"(mode : SpeakerMode, **options)","args_html":"(mode : SpeakerMode, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L171"},"def":{"name":"speaker_select","args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Speaker, mode.value, **options)"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L161"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"tint(value:Num,**options)-instance-method","name":"tint","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"tint","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"tint\"), data, **options)\n"}},{"html_id":"volume(value:Num,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"volume\"), data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol/Command","path":"Samsung/Displays/MDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L299"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L316"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L323"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L324"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L311"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L305"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L331"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L307"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L304"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L310"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L301"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":312,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L312"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L313"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L322"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L302"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L315"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L309"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L318"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L325"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L327"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L306"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L314"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L326"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L321"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L300"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L328"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L329"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L308"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L303"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L317"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L319"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L320"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Input","path":"Samsung/Displays/MDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Num","path":"Samsung/Displays/MDCProtocol/Num.html","kind":"alias","full_name":"Samsung::Displays::MDCProtocol::Num","name":"Num","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L180"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"}},{"html_id":"drivers/Samsung/Displays/MDCProtocol/ResponseStatus","path":"Samsung/Displays/MDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L216"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L217"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L218"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/SpeakerMode","path":"Samsung/Displays/MDCProtocol/SpeakerMode.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::SpeakerMode","name":"SpeakerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L166"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Internal","name":"Internal","value":"0"},{"id":"External","name":"External","value":"1"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"external?-instance-method","name":"external?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L168"},"def":{"name":"external?","visibility":"Public","body":"self == External"}},{"html_id":"internal?-instance-method","name":"internal?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/mdc_protocol.cr#L167"},"def":{"name":"internal?","visibility":"Public","body":"self == Internal"}}]}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","path":"Samsung/Displays/ReducedMDCProtocol.html","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"clear_whiteboard-instance-method","name":"clear_whiteboard","doc":"if the user has been using the display as a whiteboard\nthen the display needs to switch input","summary":"

if the user has been using the display as a whiteboard then the display needs to switch input

","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L142"},"def":{"name":"clear_whiteboard","visibility":"Public","body":"target_input = @input_target\nclear_input = @whiteboard_clear_input\nif target_input && clear_input\n (switch_to(clear_input)).get\n switch_to(target_input)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L87"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L93"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L159"},"def":{"name":"do_device_config","visibility":"Public","body":"value = setting?(Int32 | Float64, :volume)\nif value\n volume(value)\nend\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L151"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n do_send(Command::Volume, Bytes.empty, priority: 0)\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L104"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::HardOff, 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L114"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.audio? || layer.audio_video?\n mute_audio(state)\nend"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L123"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L77"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\nif clear_input = setting?(String, :whiteboard_clear_input)\n @whiteboard_clear_input = Input.parse(clear_input)\nelse\n @whiteboard_clear_input = nil\nend\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L99"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\ndo_send(Command::HardOff, state ? 1 : 0)\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L108"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::HardOff, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n when .hard_off?\n self[:power] = value != 0\n check_power_state\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L135"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"volume(value:Int32|Float64,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"args_string":"(value : Int32 | Float64, **options)","args_html":"(value : Int32 | Float64, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L164"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Command","path":"Samsung/Displays/ReducedMDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L241"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L248"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L249"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L236"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L230"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L256"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L232"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L229"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L235"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L226"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L237"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L238"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L247"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L227"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L240"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L234"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L243"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L250"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L252"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L231"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L239"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L251"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L246"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L225"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L253"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L254"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L233"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L228"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L242"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L244"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L245"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Input","path":"Samsung/Displays/ReducedMDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/ResponseStatus","path":"Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L169"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L170"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/samsung/displays/reduced_mdc_protocol.cr#L171"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Screen","path":"Screen.html","kind":"class","full_name":"Screen","name":"Screen","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/global_cache/projector_screen_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}}]},{"html_id":"drivers/ScreenTechnics","path":"ScreenTechnics.html","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics","abstract":false,"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/ScreenTechnics/Connect","path":"ScreenTechnics/Connect.html","kind":"class","full_name":"ScreenTechnics::Connect","name":"Connect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_LOOKUP","name":"CMD_LOOKUP","value":"{30 => :up, 33 => :down, 1 => :status, 36 => :stop}"},{"id":"COMMANDS","name":"COMMANDS","value":"{up: 30, down: 33, status: 1, stop: 36}"},{"id":"STATUS","name":"STATUS","value":"{0 => :moving_top, 1 => :moving_bottom, 2 => :moving_preset_1, 3 => :moving_preset_2, 4 => :moving_top, 5 => :moving_bottom, 6 => :at_top, 7 => :at_bottom, 8 => :at_preset_1, 9 => :at_preset_2, 10 => :stopped, 11 => :error, 13 => :error_timeout, 14 => :error_current, 15 => :error_rattle, 16 => :at_bottom}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/ScreenTechnics","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(15.seconds, immediate: true) do\n (0...@count).each do |index|\n query_state(index)\n end\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"queue.clear\nschedule.clear\n"}},{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L68"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if down?(index)\n return\nend\nstop(index)\ndo_send(:down, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"down?(index:Int32=0)-instance-method","name":"down?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L75"},"def":{"name":"down?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_bottom\", \"at_bottom\"}.includes?(self[\"screen#{index}\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L55"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i\ncase position\nwhen MoveablePosition::Up\n up(index)\nwhen MoveablePosition::Down\n down(index)\nelse\n raise(\"invalid position requested\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 500.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@count = (setting?(Int32, :screen_count)) || 1"}},{"html_id":"query_state(index:Int32=0)-instance-method","name":"query_state","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L101"},"def":{"name":"query_state","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(:status, index, 32)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/screen_technics/connect.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L125"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Screen sent #{data}\"\nend\nparts = (data.split(/,/)).map do |__arg0|\n __arg0.strip.to_i\nend\ncmd = CMD_LOOKUP[parts[0] - 100]?\nif cmd\n index = parts[2] - 17\n case cmd\n when :up\n logger.debug do\n \"Screen#{index} moving up\"\n end\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = true\n when :down\n logger.debug do\n \"Screen#{index} moving down\"\n end\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = true\n when :stop\n logger.debug do\n \"Screen#{index} stopped\"\n end\n self[\"moving#{index}\"] = false\n screen = \"screen#{index}\"\n if {\"at_top\", \"at_bottom\"}.includes?(self[screen]?)\n else\n self[screen] = :stopped\n end\n when :status\n self[\"screen#{index}\"] = status = STATUS[parts[-1]]\n case status\n when :moving_top, :at_top\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = status == (:moving_top)\n when :moving_bottom, :at_bottom\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = status == (:moving_bottom)\n when :stopped\n self[\"moving#{index}\"] = false\n when :error, :error_timeout, :error_current, :error_rattle\n self[\"moving#{index}\"] = false\n end\n end\n task.try(&.success)\nelse\n error = \"Unknown command #{parts[0]}\"\n logger.debug do\n error\n end\n task.try(&.abort(error))\nend\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/screen_technics/connect.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L90"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i\ndo_send(:stop, index, name: \"stop#{index}\", clear_queue: emergency, priority: emergency ? (queue.priority + 50) : queue.priority)\n"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L79"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if up?(index)\n return\nend\nstop(index)\ndo_send(:up, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"up?(index:Int32=0)-instance-method","name":"up?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/screen_technics/connect.cr#L86"},"def":{"name":"up?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_top\", \"at_top\"}.includes?(self[\"screen#{index}\"]?)"}}]}]},{"html_id":"drivers/SecureOS","path":"SecureOS.html","kind":"module","full_name":"SecureOS","name":"SecureOS","abstract":false,"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/SecureOS/AuthResponse","path":"SecureOS/AuthResponse.html","kind":"struct","full_name":"SecureOS::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:AuthToken-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L93"},"def":{"name":"data","return_type":"AuthToken","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L94"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/AuthToken","path":"SecureOS/AuthToken.html","kind":"struct","full_name":"SecureOS::AuthToken","name":"AuthToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L97"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L98"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L100"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/SecureOS/Camera","path":"SecureOS/Camera.html","kind":"struct","full_name":"SecureOS::Camera","name":"Camera","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L110"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L111"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L113"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L114"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"settings:JSON::Any-instance-method","name":"settings","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L115"},"def":{"name":"settings","return_type":"JSON::Any","visibility":"Public","body":"@settings"}},{"html_id":"status:JSON::Any-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L116"},"def":{"name":"status","return_type":"JSON::Any","visibility":"Public","body":"@status"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L117"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/CameraResponse","path":"SecureOS/CameraResponse.html","kind":"struct","full_name":"SecureOS::CameraResponse","name":"CameraResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L103"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L104"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Camera)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L106"},"def":{"name":"data","return_type":"Array(Camera)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L107"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/Error","path":"SecureOS/Error.html","kind":"struct","full_name":"SecureOS::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String-instance-method","name":"error","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L87"},"def":{"name":"error","return_type":"String","visibility":"Public","body":"@error"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L86"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"request_id:String|Int64|Nil-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L85"},"def":{"name":"request_id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@request_id"}}]},{"html_id":"drivers/SecureOS/ErrorWrapper","path":"SecureOS/ErrorWrapper.html","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Error-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L52"},"def":{"name":"data","return_type":"Error","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L51"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Event","path":"SecureOS/Event.html","kind":"struct","full_name":"SecureOS::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L73"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L72"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"parameters:JSON::Any|Nil-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L79"},"def":{"name":"parameters","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@parameters"}},{"html_id":"ticks:Int64|Nil-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L74"},"def":{"name":"ticks","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L77"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L71"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/EventWrapper","path":"SecureOS/EventWrapper.html","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Event-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L47"},"def":{"name":"data","return_type":"Event","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L46"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Response","path":"SecureOS/Response.html","kind":"class","full_name":"SecureOS::Response","name":"Response","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/SecureOS/ErrorWrapper","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper"},{"html_id":"drivers/SecureOS/EventWrapper","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper"},{"html_id":"drivers/SecureOS/StateWrapper","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"state\"\n StateWrapper.from_json(json)\nwhen \"event\"\n EventWrapper.from_json(json)\nwhen \"error\"\n ErrorWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/SecureOS/State","path":"SecureOS/State.html","kind":"struct","full_name":"SecureOS::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L59"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"states:Hash(String,Bool)-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L65"},"def":{"name":"states","return_type":"Hash(String, Bool)","visibility":"Public","body":"@states"}},{"html_id":"ticks:Int64-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L60"},"def":{"name":"ticks","return_type":"Int64","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L63"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L58"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/StateType","path":"SecureOS/StateType.html","kind":"enum","full_name":"SecureOS::StateType","name":"StateType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Attached","name":"Attached","value":"0"},{"id":"Armed","name":"Armed","value":"1"},{"id":"Alarmed","name":"Alarmed","value":"2"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L7"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"armed?-instance-method","name":"armed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L6"},"def":{"name":"armed?","visibility":"Public","body":"self == Armed"}},{"html_id":"attached?-instance-method","name":"attached?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L5"},"def":{"name":"attached?","visibility":"Public","body":"self == Attached"}}]},{"html_id":"drivers/SecureOS/StateWrapper","path":"SecureOS/StateWrapper.html","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:State-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L42"},"def":{"name":"data","return_type":"State","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L41"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/SubscribeRule","path":"SecureOS/SubscribeRule.html","kind":"struct","full_name":"SecureOS::SubscribeRule","name":"SubscribeRule","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(type:String,id:String,action:Symbol,states:Array(StateType)|Nil=nil,events:Array(String)|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"args_string":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","args_html":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, id, action, states, events)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Symbol-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L17"},"def":{"name":"action","return_type":"Symbol","visibility":"Public","body":"@action"}},{"html_id":"events:Array(String)|Nil-instance-method","name":"events","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L16"},"def":{"name":"events","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@events"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L14"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"states:Array(StateType)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L15"},"def":{"name":"states","return_type":"Array(StateType) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L13"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Watchlist","path":"SecureOS/Watchlist.html","kind":"struct","full_name":"SecureOS::Watchlist","name":"Watchlist","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L127"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L128"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L130"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L131"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/SecureOS/WatchlistResponse","path":"SecureOS/WatchlistResponse.html","kind":"struct","full_name":"SecureOS::WatchlistResponse","name":"WatchlistResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Watchlist)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L123"},"def":{"name":"data","return_type":"Array(Watchlist)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api_models.cr#L124"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/WsApi","path":"SecureOS/WsApi.html","kind":"class","full_name":"SecureOS::WsApi","name":"WsApi","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"basic_auth:NamedTuple(username:String,password:String)-instance-method","name":"basic_auth","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth","return_type":"NamedTuple(username: String, password: String)","visibility":"Public","body":"if (value = @basic_auth).nil?\n ::raise(NilAssertionError.new(\"SecureOS::WsApi#basic_auth cannot be nil\"))\nelse\n value\nend"}},{"html_id":"basic_auth?:NamedTuple(username:String,password:String)|Nil-instance-method","name":"basic_auth?","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth?","return_type":"NamedTuple(username: String, password: String) | ::Nil","visibility":"Public","body":"@basic_auth"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"begin\n response = http_client.get(\"#{@rest_api_host}/api/v1/ws_auth\")\n if response.success?\n auth = AuthResponse.from_json(response.body)\n send({type: :auth, token: auth.data.token}.to_json, wait: false)\n else\n raise(\"Authentication failed\")\n end\n schedule.every(30.seconds) do\n send({type: :get_server_time}.to_json, name: :server_time)\n end\n schedule.every(5.minutes, immediate: true) do\n camera_list\n subscribe_all\n watchlist_list\n end\nrescue error\n logger.warn(exception: error) do\n \"Authentication failed\"\n end\n disconnect\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@rest_api_host = setting(String, :rest_api_host)\n@basic_auth = setting(NamedTuple(username: String, password: String), :basic_auth)\n@camera_types = setting(Array(String), :camera_types)\n@camera_states = setting(Array(StateType), :camera_states)\n@camera_events = setting(Array(String), :camera_events)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/secure_os/ws_api.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L169"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"SecureOS sent: #{raw_json}\"\nend\ntype_check = (JSON.parse(raw_json))[\"type\"]?\nif type_check\n response = Response.from_json(raw_json)\n case response\n in StateWrapper\n self[\"camera_#{response.data.id}_states\"] = response.data\n in EventWrapper\n self[\"camera_#{response.data.id}\"] = response.data\n in ErrorWrapper\n logger.warn do\n \"SecureOS error: #{response.data}\"\n end\n if response.data.error.in?({\"INVALID_AUTH_TOKEN\", \"UNAUTHORIZED\"})\n disconnect\n else\n self[\"last_error\"] = response.data\n end\n in Response\n end\nend\ntask.try(&.success)\n"}},{"html_id":"watchlist_add_lp(watchlist:String,license_plate:String,comment:String=\"\")-instance-method","name":"watchlist_add_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String, comment : String = \"\")","args_html":"(watchlist : String, license_plate : String, comment : String = "")","location":{"filename":"src/secure_os/ws_api.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L120"},"def":{"name":"watchlist_add_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/set\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate, comment: comment}.to_json)\n if response\n else\n logger.warn do\n \"Failed to add license plate to watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to add license plate to watchlist\"\n end\nend"}},{"html_id":"watchlist_remove_lp(watchlist:String,license_plate:String)-instance-method","name":"watchlist_remove_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String)","args_html":"(watchlist : String, license_plate : String)","location":{"filename":"src/secure_os/ws_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/secure_os/ws_api.cr#L140"},"def":{"name":"watchlist_remove_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/delete\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate}.to_json)\n if response\n else\n logger.warn do\n \"Failed to remove license plate from watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to remove license plate from watchlist\"\n end\nend"}}]}]},{"html_id":"drivers/Settings","path":"Settings.html","kind":"alias","full_name":"Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Core::Settings","aliased_html":"Place::Router::Core::Settings","const":false},{"html_id":"drivers/Sharp","path":"Sharp.html","kind":"module","full_name":"Sharp","name":"Sharp","abstract":false,"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sharp/PnSeries","path":"Sharp/PnSeries.html","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"AUDIO","name":"AUDIO","value":"{audio1: \"ASDP 2\", audio2: \"ASDP 3\", dvi: \"ASDP 1\", dvi_alt: \"ASDA 1\", hdmi: \"ASHP 0\", hdmi_3mm: \"ASHP 1\", hdmi_rca: \"ASHP 2\", vga: \"ASAP 1\", component: \"ASCA 1\"}"},{"id":"AUDIO_RESPONSE","name":"AUDIO_RESPONSE","value":"AUDIO.to_h.invert"},{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"OPERATION_CODE","name":"OPERATION_CODE","value":"{video_input: \"INPS\", volume_status: \"VOLM\", mute_status: \"MUTE\", power_on_delay: \"PWOD\", contrast_status: \"CONT\", brightness_status: \"VLMP\", model_number: \"INF1\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sharp","kind":"module","full_name":"Sharp","name":"Sharp"},"instance_methods":[{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L127"},"def":{"name":"auto_adjust","visibility":"Public","body":"do_send(\"AGIN 1\", timeout: 20.seconds)"}},{"html_id":"brightness(val:Int32|Float64)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L131"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nbrightness = (percentage * @brightness_max.to_f).round_away.to_i\ndo_send(\"VLMP#{brightness.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"brightness_status(priority:Int32=0,**options)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VLMP\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"send_credentials\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Display\"\n end\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32|Float64)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L139"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\ncontrast = (percentage * @contrast_max.to_f).round_away.to_i\nmultiplier = (self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1\ncontrast = contrast * multiplier\ndo_send(\"CONT#{contrast.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"contrast_status(priority:Int32=0,**options)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"CONT\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L61"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L197"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n if self[:model_number]?\n else\n model_number\n end\n power_on_delay\n mute_status\nend"}},{"html_id":"model_number(priority:Int32=0,**options)-instance-method","name":"model_number","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"model_number","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INF1\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sharp/pn_series.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L165"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"Sharp LCD requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"Sharp LCD, requested to mute #{state}\"\n end\n do_send(\"MUTE #{state ? '1' : '0'}\")\n mute_status(50)\nend"}},{"html_id":"mute_status(priority:Int32=0,**options)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"MUTE\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sharp/pn_series.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L65"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"delay = self[:power_on_delay]?.try(&.as_i) || 5\nif state != (!(!self[:power]?.try(&.as_bool)))\n if state\n logger.debug do\n \"-- Sharp LCD, requested to power on\"\n end\n do_send(\"POWR 1\", name: :POWR, timeout: delay.seconds + 15.seconds)\n self[:warming] = true\n self[:power] = true\n do_send(\"POWR????\", name: :POWR, timeout: 10.seconds)\n else\n logger.debug do\n \"-- Sharp LCD, requested to power off\"\n end\n do_send(\"POWR 0\", name: :POWR, timeout: 15.seconds)\n self[:power] = false\n end\nend\npower?\nmute_status(0)\nvolume_status(0)\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L88"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(\"POWR????\", **options, name: :POWR, timeout: 10.seconds)).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0,**options)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"PWOD\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sharp/pn_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L219"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-3])\nlogger.debug do\n \"-- Sharp LCD, received: #{data}\"\nend\nif data == \"Password:OK\"\n return task.try(&.success(\"Login successful\"))\nelse\n if data == \"Password:Login incorrect\"\n schedule.in(5.seconds) do\n send_credentials\n end\n return task.try(&.success(\"Sharp LCD, bad login or logged off. Attempting login..\"))\n else\n if data == \"OK\"\n return task.try(&.success)\n else\n if data == \"WAIT\"\n logger.debug do\n \"-- Sharp LCD, wait\"\n end\n return\n else\n if data == \"ERR\"\n return task.try(&.abort(\"-- Sharp LCD, error\"))\n else\n if data.size < 8\n return task.try(&.abort(\"Sharp sent out of order response: #{data}\"))\n end\n end\n end\n end\n end\nend\ncommand, value = data.split\ncase command\nwhen \"POWR\"\n self[:warming] = false\n self[:power] = value.to_i > 0\nwhen \"INPS\"\n input = Input.from_value?(value.to_i)\n self[:input] = input || \"unknown\"\n logger.debug do\n \"-- Sharp LCD, input #{self[:input]} == #{value}\"\n end\nwhen \"VOLM\"\n vol_percent = (value.to_i.to_f / @volume_max.to_f) * 100.0\n if self[:audio_mute]?.try(&.as_bool)\n else\n self[:volume] = vol_percent.round(2)\n end\nwhen \"MUTE\"\n self[:audio_mute] = ( mute = value.to_i == 1)\n if mute\n self[:volume] = 0\n else\n volume_status(90)\n end\nwhen \"CONT\"\n val = value.to_i / ((self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1)\n contrast = (val.to_f / @contrast_max.to_f) * 100.0\n self[:contrast] = contrast.round(2)\nwhen \"VLMP\"\n brightness = (value.to_i.to_f / @brightness_max.to_f) * 100.0\n self[:brightness] = brightness.round(2)\nwhen \"PWOD\"\n self[:power_on_delay] = value.to_i\nwhen \"INF1\"\n self[:model_number] = value\n logger.debug do\n \"-- Sharp LCD, model number #{self[:model_number]}\"\n end\n determine_contrast_mode\nwhen \"ASDP\", \"ASDA\", \"ASHP\", \"ASAP\", \"ASCA\"\n self[:audio_input] = AUDIO_RESPONSE[data] || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"reset-instance-method","name":"reset","doc":"Resets the brightness and contrast settings","summary":"

Resets the brightness and contrast settings

","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L94"},"def":{"name":"reset","visibility":"Public","body":"do_send(\"ARST 2\")"}},{"html_id":"switch_audio(input:String)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/sharp/pn_series.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L119"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch audio to: #{input}\"\nend\ndo_send(AUDIO[input], name: \"audio\")\nmute_status(40)\nvolume_status(40)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sharp/pn_series.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L98"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch to: #{input}\"\nend\n(do_send(input.data, name: :input, delay: 2.seconds, timeout: 20.seconds)).get\nvideo_input(40)\nbrightness_status(40)\ncontrast_status(40)\n"}},{"html_id":"video_input(priority:Int32=0,**options)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INPS\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L150"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"@vol_status.try(&.cancel)\n@vol_status = schedule.in(2.seconds) do\n @vol_status = nil\n volume_status\nend\nval = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ndo_send(\"VOLM#{vol_actual.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"volume_status(priority:Int32=0,**options)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L188"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VOLM\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}}],"types":[{"html_id":"drivers/Sharp/PnSeries/Input","path":"Sharp/PnSeries/Input.html","kind":"enum","full_name":"Sharp::PnSeries::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L13"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Sharp/PnSeries","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L21"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"data-instance-method","name":"data","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L23"},"def":{"name":"data","visibility":"Public","body":"\"INPS\" + (self.value.to_s.rjust(4, '0'))"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L18"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L16"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L17"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L15"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L20"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sharp/pn_series.cr#L19"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Shure","path":"Shure.html","kind":"module","full_name":"Shure","name":"Shure","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Shure/Microphone","path":"Shure/Microphone.html","kind":"module","full_name":"Shure::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Shure","kind":"module","full_name":"Shure","name":"Shure"},"types":[{"html_id":"drivers/Shure/Microphone/MXA","path":"Shure/Microphone/MXA.html","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"}],"namespace":{"html_id":"drivers/Shure/Microphone","kind":"module","full_name":"Shure::Microphone","name":"Microphone"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L17"},"def":{"name":"connected","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\" >\")\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Mics\"\n end\n do_poll\nend\nquery_all\nif (setting?(Bool, :send_meter_levels)) != true\n set_meter_rate(0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L29"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L192"},"def":{"name":"do_poll","visibility":"Public","body":"query_device_id"}},{"html_id":"flash-instance-method","name":"flash","doc":"flash the LED for 30 seconds","summary":"

flash the LED for 30 seconds

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L81"},"def":{"name":"flash","visibility":"Public","body":"do_send(\"SET FLASH ON\")"}},{"html_id":"led(on:Bool=true)-instance-method","name":"led","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L101"},"def":{"name":"led","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"led_state_muted(on)\nled_state_unmuted(on)\n"}},{"html_id":"led_colour_muted(colour:Colour)-instance-method","name":"led_colour_muted","doc":"Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE","summary":"

Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE

","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L111"},"def":{"name":"led_colour_muted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_MUTED\", colour.to_s.upcase, name: :muted_color)"}},{"html_id":"led_colour_unmuted(colour:Colour)-instance-method","name":"led_colour_unmuted","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L119"},"def":{"name":"led_colour_unmuted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_UNMUTED\", colour.to_s.upcase, name: :unmuted_color)"}},{"html_id":"led_state_muted(on:Bool=true)-instance-method","name":"led_state_muted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L136"},"def":{"name":"led_state_muted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_MUTED\", state)\n"}},{"html_id":"led_state_unmuted(on:Bool=true)-instance-method","name":"led_state_unmuted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L127"},"def":{"name":"led_state_unmuted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_UNMUTED\", state)\n"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L56"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? \"ON\" : \"OFF\"\ndo_send(\"SET DEVICE_AUDIO_MUTE\", val, name: :mute)\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","doc":"part of the mutable interface","summary":"

part of the mutable interface

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L66"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L75"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"if number.in?(1..10)\nelse\n raise(\"must be a number between 1-10, was #{number}\")\nend\ndo_send(\"SET PRESET\", number.to_s, name: :preset)\n"}},{"html_id":"query_all-instance-method","name":"query_all","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L33"},"def":{"name":"query_all","visibility":"Public","body":"do_send(\"GET 0 ALL\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L37"},"def":{"name":"query_device_id","visibility":"Public","body":"do_send(\"GET DEVICE_ID\", name: :device_id)"}},{"html_id":"query_firmware-instance-method","name":"query_firmware","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L41"},"def":{"name":"query_firmware","visibility":"Public","body":"do_send(\"GET FW_VER\", name: :firmware)"}},{"html_id":"query_led_colour_muted-instance-method","name":"query_led_colour_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L106"},"def":{"name":"query_led_colour_muted","visibility":"Public","body":"do_send(\"GET LED_COLOR_MUTED\")"}},{"html_id":"query_led_colour_unmuted-instance-method","name":"query_led_colour_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L115"},"def":{"name":"query_led_colour_unmuted","visibility":"Public","body":"do_send(\"GET LED_COLOR_UNMUTED\")"}},{"html_id":"query_led_state-instance-method","name":"query_led_state","doc":"LED Setup","summary":"

LED Setup

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L97"},"def":{"name":"query_led_state","visibility":"Public","body":"do_send(\"GET DEV_LED_IN_STATE\")"}},{"html_id":"query_led_state_muted-instance-method","name":"query_led_state_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L132"},"def":{"name":"query_led_state_muted","visibility":"Public","body":"do_send(\"GET LED_STATE_MUTED\")"}},{"html_id":"query_led_state_unmuted-instance-method","name":"query_led_state_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L123"},"def":{"name":"query_led_state_unmuted","visibility":"Public","body":"do_send(\"GET LED_STATE_UNMUTED\")"}},{"html_id":"query_mute-instance-method","name":"query_mute","doc":"Mute commands","summary":"

Mute commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L52"},"def":{"name":"query_mute","visibility":"Public","body":"do_send(\"GET DEVICE_AUDIO_MUTE\")"}},{"html_id":"query_preset-instance-method","name":"query_preset","doc":"Preset commands","summary":"

Preset commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L71"},"def":{"name":"query_preset","visibility":"Public","body":"do_send(\"GET PRESET\")"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L141"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(bytes)\nlogger.debug do\n \"-- received: #{data}\"\nend\ndata = ((data.split(\"< \", 2))[1].gsub(/[\\{\\}]/, '\"')).rchop(\" >\")\nresp = (shellsplit(data)).map(&.strip)\nif resp[0] == \"SAMPLE\"\n resp[1..-1].each_with_index do |level, index|\n self[\"output#{index + 1}\"] = level.to_i\n end\n return\nend\nif resp[1] == \"ERR\"\n return task.try(&.abort)\nend\nif resp[1] =~ (/^[0-9]+$/)\n chann = resp[1]\n param = resp[2].try(&.downcase)\n value = resp[3].try(&.downcase)\n self[\"#{param}_#{chann}\"] = value\n return task.try(&.success)\nend\nparam = resp[1].downcase\nvalue = resp[2]\ncase param\nwhen \"device_audio_mute\"\n self[:muted] = value == \"ON\"\nwhen \"dev_led_state_muted\"\n self[:led_muted] = value == \"ON\"\nwhen \"dev_led_state_unmuted\"\n self[:led_unmuted] = value == \"ON\"\nelse\n self[param] = case value\n when \"ON\"\n true\n when \"OFF\"\n false\n when .to_i?\n value.to_i\n else\n value\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_meter_rate(rate:Int32)-instance-method","name":"set_meter_rate","doc":"rate in milliseconds","summary":"

rate in milliseconds

","abstract":false,"args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"args_string":"(rate : Int32)","args_html":"(rate : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L46"},"def":{"name":"set_meter_rate","args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"visibility":"Public","body":"if (rate == 0) || rate >= 100\nelse\n raise(\"rate must be a number greater than 100, was #{rate}\")\nend\ndo_send(\"SET METER_RATE\", rate.to_s, name: :meter_rate)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L61"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}}],"types":[{"html_id":"drivers/Shure/Microphone/MXA/Colour","path":"Shure/Microphone/MXA/Colour.html","kind":"enum","full_name":"Shure::Microphone::MXA::Colour","name":"Colour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"RED","name":"RED","value":"0"},{"id":"GREEN","name":"GREEN","value":"1"},{"id":"BLUE","name":"BLUE","value":"2"},{"id":"PINK","name":"PINK","value":"3"},{"id":"PURPLE","name":"PURPLE","value":"4"},{"id":"YELLOW","name":"YELLOW","value":"5"},{"id":"ORANGE","name":"ORANGE","value":"6"},{"id":"WHITE","name":"WHITE","value":"7"}],"namespace":{"html_id":"drivers/Shure/Microphone/MXA","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L88"},"def":{"name":"blue?","visibility":"Public","body":"self == BLUE"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L87"},"def":{"name":"green?","visibility":"Public","body":"self == GREEN"}},{"html_id":"orange?-instance-method","name":"orange?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L92"},"def":{"name":"orange?","visibility":"Public","body":"self == ORANGE"}},{"html_id":"pink?-instance-method","name":"pink?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L89"},"def":{"name":"pink?","visibility":"Public","body":"self == PINK"}},{"html_id":"purple?-instance-method","name":"purple?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L90"},"def":{"name":"purple?","visibility":"Public","body":"self == PURPLE"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L86"},"def":{"name":"red?","visibility":"Public","body":"self == RED"}},{"html_id":"white?-instance-method","name":"white?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L93"},"def":{"name":"white?","visibility":"Public","body":"self == WHITE"}},{"html_id":"yellow?-instance-method","name":"yellow?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/shure/microphone/mxa.cr#L91"},"def":{"name":"yellow?","visibility":"Public","body":"self == YELLOW"}}]}]}]}]},{"html_id":"drivers/Siemens","path":"Siemens.html","kind":"module","full_name":"Siemens","name":"Siemens","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Siemens/Desigo","path":"Siemens/Desigo.html","kind":"class","full_name":"Siemens::Desigo","name":"Desigo","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Siemens","kind":"module","full_name":"Siemens","name":"Siemens"},"instance_methods":[{"html_id":"commands(id:String)-instance-method","name":"commands","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L47"},"def":{"name":"commands","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"commands = @client.try() do |__arg3|\n __arg3.commands.get(id: id)\nend\nself[\"commands#{id}\"] = commands\n"}},{"html_id":"execute(id:String,property_name:String,command_id:String,command_inputs_for_execution:String)-instance-method","name":"execute","doc":"Because of the introspect failing on generics,\nwe can pass in the `command_inputs_for_execution` as a JSON string.\n\"[{\\\"Name\\\": \\\"Value\\\", \\\"DataType\\\": \\\"ExtendedEnum\\\", \\\"Value\\\": \\\"1\\\"}]\"","summary":"

Because of the introspect failing on generics, we can pass in the command_inputs_for_execution as a JSON string.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"args_string":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","args_html":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","location":{"filename":"src/siemens/desigo.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L55"},"def":{"name":"execute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"visibility":"Public","body":"return_value = @client.try() do |__arg4|\n __arg4.commands.execute(id: id, property_name: property_name, command_id: command_id, command_inputs_for_execution: JSON.parse(command_inputs_for_execution))\nend\nself[\"execute#{id}_property#{property_name}_command#{command_id}\"] = return_value\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"base_url = config.uri.not_nil!.to_s\nusername = setting(String, :username)\npassword = setting(String, :password)\n@client = Client.new(base_url: base_url, username: username, password: password)\nspawn do\n loop do\n @client.try() do |__arg0|\n __arg0.heartbeat.signal\n end\n sleep(60)\n end\nend\n"}},{"html_id":"property_values(id:String)-instance-method","name":"property_values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L37"},"def":{"name":"property_values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"property_values = @client.try() do |__arg1|\n __arg1.property_values.get(id: id)\nend\nself[\"property_values#{id}\"] = property_values\n"}},{"html_id":"values(id:String)-instance-method","name":"values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L42"},"def":{"name":"values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"values = @client.try() do |__arg2|\n __arg2.values.get(id: id)\nend\nself[\"values#{id}\"] = values\n"}}],"types":[{"html_id":"drivers/Siemens/Desigo/Client","path":"Siemens/Desigo/Client.html","kind":"alias","full_name":"Siemens::Desigo::Client","name":"Client","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/siemens/desigo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Desigo::Client","aliased_html":"Desigo::Client","const":false,"namespace":{"html_id":"drivers/Siemens/Desigo","kind":"class","full_name":"Siemens::Desigo","name":"Desigo"}}]}]},{"html_id":"drivers/SigGraph","path":"SigGraph.html","kind":"alias","full_name":"SigGraph","name":"SigGraph","abstract":false,"locations":[{"filename":"src/place/router/signal_graph_spec.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/signal_graph_spec.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/SignalGraph","path":"SignalGraph.html","kind":"alias","full_name":"SignalGraph","name":"SignalGraph","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/Sony","path":"Sony.html","kind":"module","full_name":"Sony","name":"Sony","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sony/Camera","path":"Sony/Camera.html","kind":"module","full_name":"Sony::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Camera/CGI","path":"Sony/Camera/CGI.html","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L302"},"def":{"name":"home","visibility":"Public","body":"action(\"/command/presetposition.cgi?HomePos=ptz-recall\", name: \"position\") do\n query_status\nend"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L156"},"def":{"name":"info?","visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=system\", priority: 0) do |response|\n response.each do |key, value|\n if {\"ModelName\", \"Serial\", \"SoftVersion\", \"ModelForm\", \"CGIVersion\"}.includes?(key)\n self[key.underscore] = value\n end\n end\n response\nend"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Implement Camera interface","summary":"

Implement Camera interface

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L252"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\npan_speed = pan_speed.to_i\ntilt_speed = tilt_speed.to_i\nrange = -100..100\nin_range(range, pan_speed)\nin_range(range, tilt_speed)\nif @invert_controls && (tilt_speed != 0)\n tilt_speed = -tilt_speed\nend\naction(\"/command/ptzf.cgi?ContinuousPanTiltZoom=#{pan_speed.to_s(16)},#{tilt_speed.to_s(16)},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = ((pan_speed != 0) || (tilt_speed != 0))\n if !@moving\n query_status\n end\n @moving\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"Implement Moveable interface","summary":"

Implement Moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L194"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\ncase position\nwhen MoveablePosition::Up, MoveablePosition::Down, MoveablePosition::Left, MoveablePosition::Right\n if @invert_controls && (position.up? || position.down?)\n position = position.up? ? MoveablePosition::Down : MoveablePosition::Up\n end\n action(\"/command/ptzf.cgi?Move=#{position.to_s.downcase},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = true\n end\nwhen MoveablePosition::In\n zoom(ZoomDirection::In)\nwhen MoveablePosition::Out\n zoom(ZoomDirection::Out)\nelse\n raise(\"unsupported direction: #{position}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"@pantilt_speed = -100..100\nself[:pan_speed] = self[:tilt_speed] = {min: -100, max: 100, stop: 0}\nself[:has_discrete_zoom] = true\nschedule.every(60.seconds) do\n query_status\nend\nschedule.in(5.seconds) do\n query_status\n info?\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"self[:invert_controls] = @invert_controls = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32,zoom:Int32|Nil=nil):Nil-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"args_string":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","args_html":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L227"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"in_range(@pan_range, pan)\nin_range(@tilt_range, tilt)\nif zoom\n in_range(@zoom_range, zoom)\n action(\"/command/ptzf.cgi?AbsolutePTZF=#{pan.to_s(16)},#{tilt.to_s(16)},#{zoom.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n self[:zoom] = @zoom_raw = zoom.not_nil!\n end\nelse\n action(\"/command/ptzf.cgi?AbsolutePanTilt=#{pan.to_s(16)},#{tilt.to_s(16)},#{@max_speed.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n end\nend\n"}},{"html_id":"query_status(priority:Int32=0)-instance-method","name":"query_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L93"},"def":{"name":"query_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=ptzf\", priority: priority) do |response|\n response.each do |key, value|\n case key\n when \"AbsolutePTZF\"\n parts = value.split(\",\")\n self[:pan] = @pan = twos_complement(parts[0].to_i(16))\n self[:tilt] = @tilt = twos_complement(parts[1].to_i(16))\n @zoom_raw = parts[2].to_i(16)\n when \"PanMovementRange\"\n parts = value.split(\",\")\n pan_min = twos_complement(parts[0].to_i(16))\n pan_max = twos_complement(parts[1].to_i(16))\n @pan_range = pan_min..pan_max\n self[:pan_range] = {min: pan_min, max: pan_max}\n when \"TiltMovementRange\"\n parts = value.split(\",\")\n tilt_min = twos_complement(parts[0].to_i(16))\n tilt_max = twos_complement(parts[1].to_i(16))\n @tilt_range = tilt_min..tilt_max\n self[:tilt_range] = {min: tilt_min, max: tilt_max}\n when \"ZoomMovementRange\"\n parts = value.split(\",\")\n zoom_min = parts[0].to_i(16)\n zoom_max = parts[1].to_i(16)\n @zoom_range = zoom_min..zoom_max\n self[:zoom_range] = {min: zoom_min, max: zoom_max}\n when \"PtzfStatus\"\n parts = (value.split(\",\")).map do |state|\n Movement.parse(state)\n end[0..2]\n self[:moving] = @moving = parts.includes?(Movement::Moving)\n when \"PanTiltMaxVelocity\"\n @max_speed = value.to_i(16)\n end\n end\n self[:zoom] = @zoom_raw.not_nil!.to_f * (100.0 / @zoom_range.end.to_f)\n response\nend"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L308"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(**preset)\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L325"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L317"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"Implement Stoppable interface","summary":"

Implement Stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L178"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i + 1\naction(\"/command/ptzf.cgi?Move=stop,motor,image#{index}\", priority: 999, name: \"moving\", clear_queue: emergency) do\n if @zooming\n zoom(ZoomDirection::Stop)\n end\n self[:moving] = @moving = false\n query_status\nend\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L287"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nif direction.stop?\n action(\"/command/ptzf.cgi?Move=stop,zoom,image#{index}\", priority: 999, name: \"zooming\") do\n self[:zooming] = @zooming = false\n end\nelse\n action(\"/command/ptzf.cgi?Move=#{direction.out? ? \"wide\" : \"near\"},0,image#{index}\", name: \"zooming\") do\n self[:zooming] = @zooming = true\n end\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L272"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nposition = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_range.end.to_f).to_i\naction(\"/command/ptzf.cgi?AbsoluteZoom=#{zoom_value.to_s(16)}\", name: \"zooming\") do\n @zoom_raw = zoom_value\n self[:zoom] = @zoom = position\nend\n"}}],"macros":[{"html_id":"in_range(range,value)-macro","name":"in_range","abstract":false,"args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(range, value)","args_html":"(range, value)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L218"},"def":{"name":"in_range","args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":" \n{{ value }}\n = if \n{{ range }}\n.includes? \n{{ value }}\n\n \n{{ value }}\n\n \nelse\n \n{{ value }}\n < \n{{ range }}\n.begin ? \n{{ range }}\n.begin : \n{{ range }}\n.end\n \nend\n \n{{ value }}\n = twos_complement(\n{{ value }}\n)\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/CGI/Movement","path":"Sony/Camera/CGI/Movement.html","kind":"enum","full_name":"Sony::Camera::CGI::Movement","name":"Movement","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Idle","name":"Idle","value":"0"},{"id":"Moving","name":"Moving","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Sony/Camera/CGI","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI"},"instance_methods":[{"html_id":"idle?-instance-method","name":"idle?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L26"},"def":{"name":"idle?","visibility":"Public","body":"self == Idle"}},{"html_id":"moving?-instance-method","name":"moving?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L27"},"def":{"name":"moving?","visibility":"Public","body":"self == Moving"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/cgi_protocol.cr#L28"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA","path":"Sony/Camera/VISCA.html","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","doc":"clear the interface","summary":"

clear the interface

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L67"},"def":{"name":"connected","visibility":"Public","body":"reset_sequence_number\nsend_cmd(Bytes[0, 1], name: :if_clear, priority: 98)\n"}},{"html_id":"encode_position(value:UInt16):String-instance-method","name":"encode_position","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"args_string":"(value : UInt16) : String","args_html":"(value : UInt16) : String","location":{"filename":"src/sony/camera/visca.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L124"},"def":{"name":"encode_position","args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"return_type":"String","visibility":"Public","body":"io = IO::Memory.new\nio.write_bytes(value, IO::ByteFormat::BigEndian)\nbytes = io.to_slice.hexstring.rjust(4, '0')\n\"0#{bytes[0]}0#{bytes[1]}0#{bytes[2]}0#{bytes[3]}\"\n"}},{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L85"},"def":{"name":"home","visibility":"Public","body":"send_cmd(Bytes[6, 4], name: :pantilt)"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L89"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan_neg, pan_value, pan_zero = joyspeed(pan_speed, @max_pan_tilt_speed)\ntilt_neg, tilt_value, tilt_zero = joyspeed(tilt_speed, @max_pan_tilt_speed)\npan_direction = pan_zero ? \"03\" : (pan_neg ? \"01\" : \"02\")\ntilt_direction = tilt_zero ? \"03\" : (tilt_neg ? \"02\" : \"01\")\nbytes = \"0601#{pan_value}#{tilt_value}#{pan_direction}#{tilt_direction}\"\nresp = send_cmd(bytes.hexbytes, name: :joystick)\nif pan_zero && tilt_zero\n spawn(same_thread: true) do\n resp.get\n schedule.in(1.seconds) do\n pantilt?\n end\n end\nend\nresp\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L172"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","doc":"we want to tokenize the stream, ensure we only process a single packet at a time\nand that we have the complete message","summary":"

we want to tokenize the stream, ensure we only process a single packet at a time and that we have the complete message

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.size < 4\n next 0\n end\n ((IO::Memory.new(bytes[2..3])).read_bytes(UInt16, IO::ByteFormat::BigEndian)).to_i + 8\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@presets = (setting?(Presets, :camera_presets)) || @presets\n@max_pan_tilt_speed = (setting?(UInt8, :max_pan_tilt_speed)) || 15_u8\n@zoom_speed = (setting?(UInt8, :zoom_speed)) || 3_u8\n@zoom_max = (setting?(UInt16, :zoom_max)) || 16384_u16\n@camera_address = 128_u8 | ((setting?(UInt8, :camera_no)) || 1_u8)\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan_pos:UInt16-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L39"},"def":{"name":"pan_pos","return_type":"UInt16","visibility":"Public","body":"@pan_pos"}},{"html_id":"pantilt(pan:UInt16,tilt:UInt16,speed:UInt8)-instance-method","name":"pantilt","doc":"moves to an absolute position","summary":"

moves to an absolute position

","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"args_string":"(pan : UInt16, tilt : UInt16, speed : UInt8)","args_html":"(pan : UInt16, tilt : UInt16, speed : UInt8)","location":{"filename":"src/sony/camera/visca.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L138"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"visibility":"Public","body":"speed = speed.clamp(0_u8, @max_pan_tilt_speed)\nbytes = \"0602#{Bytes[speed].hexstring.rjust(2, '0')}00#{encode_position(pan)}#{encode_position(tilt)}\"\nsend_cmd(bytes.hexbytes, name: :pantilt)\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L221"},"def":{"name":"pantilt?","visibility":"Public","body":"send_inq(Bytes[6, 18], name: :pantilt_query, priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/camera/visca.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L74"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"payload = state ? Bytes[4, 0, 2] : Bytes[4, 0, 3]\nsend_cmd(payload, name: :power)\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L79"},"def":{"name":"power?","visibility":"Public","body":"send_inq(Bytes[4, 0], name: :power_query)"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L144"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n pantilt(pan_pos, tilt_pos, @max_pan_tilt_speed)\n zoom_to(zoom_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task,sequence:UInt32|Nil=nil):Nil-instance-method","name":"received","doc":"process incoming data, tokenised so we know each data packet is exactly one message","summary":"

process incoming data, tokenised so we know each data packet is exactly one message

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"args_string":"(data, task, sequence : UInt32 | Nil = nil) : Nil","args_html":"(data, task, sequence : UInt32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/visca.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L336"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"Camera sent: 0x#{data.hexstring}\"\nend\nif sequence.nil?\n logger.info do\n \"unexpected packet received, ignoring as no sequence pending\"\n end\n return\nend\nio = IO::Memory.new(data)\npacket = io.read_bytes(Packet)\npayload = packet.payload\ncase packet.type\nwhen .device_control?\n case payload[-1]\n when 1_u8\n reset_sequence_number(directly: true)\n logger.info do\n \"sequence number error, resetting sequence\"\n end\n when 2_u8\n task.try(&.abort(\"bad request\"))\n end\n return\nwhen .device_reply?\n if task && (task.name == \"reset_sequence_number\")\n task.success\n else\n task.try(&.retry(\"sequence number reset, retrying task\"))\n end\n return\nwhen .reply?\n if sequence != packet.sequence\n logger.info do\n \"unexpected sequence number, ignoring\"\n end\n return\n end\nelse\n logger.info do\n \"unexpected packet type #{packet.type}, ignoring\"\n end\n return\nend\ncheck_command = payload[1] & 240_u8\ncase check_command\nwhen 64_u8\n logger.debug do\n \"ignoring command accepted message\"\n end\n return\nwhen 80_u8\n logger.debug do\n \"command complete message\"\n end\nwhen 96_u8\n case payload[2]\n when 2_u8\n task.try(&.abort(\"syntax error in request\"))\n when 3_u8\n schedule.in(50.milliseconds) do\n task.try(&.retry(\"camera busy\"))\n end\n when 4_u8\n task.try(&.abort(\"request was cancelled by the user\"))\n when 5_u8\n task.try(&.success)\n when 65_u8\n task.try(&.abort(\"request could not be performed\"))\n end\n return\nend\ncase task.try(&.name)\nwhen \"zoom_query\"\n @zoom_raw = zoom_value = decode_position(payload[2..5])\n self[:zoom] = @zoom_pos = zoom_value.to_f * (100.0 / @zoom_max.to_f)\nwhen \"pantilt_query\"\n @pan_pos = decode_position(payload[2..5])\n @tilt_pos = decode_position(payload[6..9])\nwhen \"zoom_to\"\n zoom?\nwhen \"pantilt\"\n pantilt?\nwhen \"power_query\"\n self[:power] = payload[-2] == 2_u8\nend\ntask.try(&.success)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L159"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"reset_sequence_number(directly:Bool=false)-instance-method","name":"reset_sequence_number","abstract":false,"args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"args_string":"(directly : Bool = false)","args_html":"(directly : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L320"},"def":{"name":"reset_sequence_number","args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"visibility":"Public","body":"packet = Packet.new\npacket.type = :device_control\npacket.sequence = @sequence = 1_u32\npacket.payload = Bytes[1_u8]\nif directly\n return transport.send(packet)\nend\nqueue(name: :reset_sequence_number, priority: 99) do |task|\n transport.send(packet, task) do |data|\n received(data, task, @sequence)\n end\nend\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L154"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"send_cmd(bytes:String)-instance-method","name":"send_cmd","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L259"},"def":{"name":"send_cmd","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_cmd(bytes.hexbytes)"}},{"html_id":"send_inq(bytes:String)-instance-method","name":"send_inq","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L287"},"def":{"name":"send_inq","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_inq(bytes.hexbytes)"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L227"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"zoom(:stop)"}},{"html_id":"tilt_pos:UInt16-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L38"},"def":{"name":"tilt_pos","return_type":"UInt16","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L203"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"speed_byte = case direction\nin .stop?\n schedule.in(500.milliseconds) do\n zoom?\n end\n 0_u8\nin .out?\n 32_u8 | @zoom_speed\nin .in?\n 48_u8 | @zoom_speed\nend\nsend_cmd(Bytes[4, 7, speed_byte], name: :zoom)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L217"},"def":{"name":"zoom?","visibility":"Public","body":"send_inq(Bytes[4, 71], name: :zoom_query, priority: 0)"}},{"html_id":"zoom_raw:UInt16-instance-method","name":"zoom_raw","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L36"},"def":{"name":"zoom_raw","return_type":"UInt16","visibility":"Public","body":"@zoom_raw"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L194"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_max.to_f).to_u16\nbytes = \"0447#{encode_position(zoom_value)}\"\nsend_cmd(bytes.hexbytes, name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet","path":"Sony/Camera/VISCA/Packet.html","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Sony::Camera::VISCA::Packet]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: \"basic\", name: size, cls: UInt16, onlyif: nil, verify: nil, value: -> do\n payload.size.to_u16\nend}, {type: \"basic\", name: sequence, cls: UInt32, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: payload, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"},"doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L235"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"payload:Bytes-instance-method","name":"payload","abstract":false,"def":{"name":"payload","return_type":"Bytes","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:Bytes)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"args_string":"(payload : Bytes)","args_html":"(payload : Bytes)","def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"visibility":"Public","body":"@payload = payload"}},{"html_id":"sequence:UInt32-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt32","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt32)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"args_string":"(sequence : UInt32)","args_html":"(sequence : UInt32)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt16-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt16","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt16)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"args_string":"(size : UInt16)","args_html":"(size : UInt16)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"}],"args_string":"(type : Type)","args_html":"(type : Type)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L234"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet/Type","path":"Sony/Camera/VISCA/Packet/Type.html","kind":"enum","full_name":"Sony::Camera::VISCA::Packet::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L237"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"256_u16"},{"id":"Inquiry","name":"Inquiry","value":"272_u16"},{"id":"Reply","name":"Reply","value":"273_u16"},{"id":"DeviceSetting","name":"DeviceSetting","value":"288_u16","doc":"VISCA device setting","summary":"

VISCA device setting

"},{"id":"DeviceControl","name":"DeviceControl","value":"512_u16","doc":"reset: 0x01\nerror: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)","summary":"

reset: 0x01 error: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)

"},{"id":"DeviceReply","name":"DeviceReply","value":"513_u16","doc":"Acknowledge for reset","summary":"

Acknowledge for reset

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA/Packet","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet"},"instance_methods":[{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L238"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"device_control?-instance-method","name":"device_control?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L246"},"def":{"name":"device_control?","visibility":"Public","body":"self == DeviceControl"}},{"html_id":"device_reply?-instance-method","name":"device_reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L249"},"def":{"name":"device_reply?","visibility":"Public","body":"self == DeviceReply"}},{"html_id":"device_setting?-instance-method","name":"device_setting?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L242"},"def":{"name":"device_setting?","visibility":"Public","body":"self == DeviceSetting"}},{"html_id":"inquiry?-instance-method","name":"inquiry?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L239"},"def":{"name":"inquiry?","visibility":"Public","body":"self == Inquiry"}},{"html_id":"reply?-instance-method","name":"reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L240"},"def":{"name":"reply?","visibility":"Public","body":"self == Reply"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA/Presets","path":"Sony/Camera/VISCA/Presets.html","kind":"alias","full_name":"Sony::Camera::VISCA::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/sony/camera/visca.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/camera/visca.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(UInt16, UInt16, Float64))","aliased_html":"Hash(String, {UInt16, UInt16, Float64})","const":false,"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"}}]}]},{"html_id":"drivers/Sony/Displays","path":"Sony/Displays.html","kind":"module","full_name":"Sony::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Displays/Bravia","path":"Sony/Displays/Bravia.html","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{ir_code: \"IRCC\", power: \"POWR\", volume: \"VOLU\", audio_mute: \"AMUT\", mute: \"PMUT\", channel: \"CHNN\", tv_input: \"ISRC\", input: \"INPT\", toggle_mute: \"TPMU\", pip: \"PIPI\", toggle_pip: \"TPIP\", position_pip: \"TPPP\", broadcast_address: \"BADR\", mac_address: \"MADR\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Displays","kind":"module","full_name":"Sony::Displays","name":"Displays"},"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L102"},"def":{"name":"audio_mute?","visibility":"Public","body":"query(Command::AudioMute, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L116"},"def":{"name":"do_poll","visibility":"Public","body":"if self[:power]?\n input?\n mute?\n audio_mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L48"},"def":{"name":"input?","visibility":"Public","body":"query(Command::Input, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/displays/bravia.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L76"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"request(Command::Mute, state)\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L89"},"def":{"name":"mute?","visibility":"Public","body":"query(Command::Mute, priority: 0)"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/sony/displays/bravia.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L93"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::AudioMute, state)\naudio_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"self[:volume_min] = 0\nself[:volume_max] = 100\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/displays/bravia.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L67"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::Power, state)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L72"},"def":{"name":"power?","visibility":"Public","body":"query(Command::Power)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/displays/bravia.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L137"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"parsed_data = convert_binary(data[3..6])\ncmd = Command.from_response?(parsed_data)\nif cmd.nil?\n return task.try(&.abort(\"unrecognised command: #{parsed_data}\"))\nend\nparam = data[7..-1]\nif param.first? == MessageType::Error.value\n return task.try(&.abort(\"error\"))\nend\ncase MessageType.from_value?(data[2])\nwhen MessageType::Answer\n update_status(cmd, param)\n task.try(&.success)\nwhen MessageType::Notify\n update_status(cmd, param)\nelse\n logger.debug do\n \"Unhandled device response: #{begin\n data[2].chr\n rescue\n data[2]\n end}\"\n end\n task.try(&.abort(\"Unhandled device response\"))\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/displays/bravia.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L41"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching input to #{input}\"\nend\nrequest(Command::Input, input.to_param)\nself[:input] = input.to_s\ninput?\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L85"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L98"},"def":{"name":"unmute_audio","visibility":"Public","body":"mute_audio(false)"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/sony/displays/bravia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L106"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"level = (level.to_f.clamp(0.0, 100.0)).round_away.to_i\nrequest(Command::Volume, level)\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L112"},"def":{"name":"volume?","visibility":"Public","body":"query(Command::Volume, priority: 0)"}}],"types":[{"html_id":"drivers/Sony/Displays/Bravia/Command","path":"Sony/Displays/Bravia/Command.html","kind":"enum","full_name":"Sony::Displays::Bravia::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IrCode","name":"IrCode","value":"0"},{"id":"Power","name":"Power","value":"1"},{"id":"Volume","name":"Volume","value":"2"},{"id":"AudioMute","name":"AudioMute","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Channel","name":"Channel","value":"5"},{"id":"TvInput","name":"TvInput","value":"6"},{"id":"Input","name":"Input","value":"7"},{"id":"ToggleMute","name":"ToggleMute","value":"8"},{"id":"Pip","name":"Pip","value":"9"},{"id":"TogglePip","name":"TogglePip","value":"10"},{"id":"PositionPip","name":"PositionPip","value":"11"},{"id":"BroadcastAddress","name":"BroadcastAddress","value":"12"},{"id":"MacAddress","name":"MacAddress","value":"13"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"class_methods":[{"html_id":"from_response?(message)-class-method","name":"from_response?","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message)","args_html":"(message)","location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"from_response?","args":[{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"case message\nwhen \"IRCC\"\n IrCode\nwhen \"POWR\"\n Power\nwhen \"VOLU\"\n Volume\nwhen \"AMUT\"\n AudioMute\nwhen \"PMUT\"\n Mute\nwhen \"CHNN\"\n Channel\nwhen \"ISRC\"\n TvInput\nwhen \"INPT\"\n Input\nwhen \"TPMU\"\n ToggleMute\nwhen \"PIPI\"\n Pip\nwhen \"TPIP\"\n TogglePip\nwhen \"TPPP\"\n PositionPip\nwhen \"BADR\"\n BroadcastAddress\nwhen \"MADR\"\n MacAddress\nend"}}],"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"audio_mute?","visibility":"Public","body":"self == AudioMute"}},{"html_id":"broadcast_address?-instance-method","name":"broadcast_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"broadcast_address?","visibility":"Public","body":"self == BroadcastAddress"}},{"html_id":"channel?-instance-method","name":"channel?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"channel?","visibility":"Public","body":"self == Channel"}},{"html_id":"function-instance-method","name":"function","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"function","visibility":"Public","body":"case self\nin IrCode\n \"IRCC\"\nin Power\n \"POWR\"\nin Volume\n \"VOLU\"\nin AudioMute\n \"AMUT\"\nin Mute\n \"PMUT\"\nin Channel\n \"CHNN\"\nin TvInput\n \"ISRC\"\nin Input\n \"INPT\"\nin ToggleMute\n \"TPMU\"\nin Pip\n \"PIPI\"\nin TogglePip\n \"TPIP\"\nin PositionPip\n \"TPPP\"\nin BroadcastAddress\n \"BADR\"\nin MacAddress\n \"MADR\"\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"ir_code?-instance-method","name":"ir_code?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"ir_code?","visibility":"Public","body":"self == IrCode"}},{"html_id":"mac_address?-instance-method","name":"mac_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"mac_address?","visibility":"Public","body":"self == MacAddress"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"position_pip?-instance-method","name":"position_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"position_pip?","visibility":"Public","body":"self == PositionPip"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"toggle_mute?-instance-method","name":"toggle_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_mute?","visibility":"Public","body":"self == ToggleMute"}},{"html_id":"toggle_pip?-instance-method","name":"toggle_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_pip?","visibility":"Public","body":"self == TogglePip"}},{"html_id":"tv_input?-instance-method","name":"tv_input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"tv_input?","visibility":"Public","body":"self == TvInput"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L172"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}}]},{"html_id":"drivers/Sony/Displays/Bravia/Input","path":"Sony/Displays/Bravia/Input.html","kind":"enum","full_name":"Sony::Displays::Bravia::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L20"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Tv0","name":"Tv0","value":"0_u32"},{"id":"Hdmi0","name":"Hdmi0","value":"100000000_u32"},{"id":"Mirror0","name":"Mirror0","value":"500000000_u32"},{"id":"Vga0","name":"Vga0","value":"600000000_u32"},{"id":"Tv1","name":"Tv1","value":"1_u32"},{"id":"Hdmi1","name":"Hdmi1","value":"100000001_u32"},{"id":"Mirror1","name":"Mirror1","value":"500000001_u32"},{"id":"Vga1","name":"Vga1","value":"600000001_u32"},{"id":"Tv2","name":"Tv2","value":"2_u32"},{"id":"Hdmi2","name":"Hdmi2","value":"100000002_u32"},{"id":"Mirror2","name":"Mirror2","value":"500000002_u32"},{"id":"Vga2","name":"Vga2","value":"600000002_u32"},{"id":"Tv3","name":"Tv3","value":"3_u32"},{"id":"Hdmi3","name":"Hdmi3","value":"100000003_u32"},{"id":"Mirror3","name":"Mirror3","value":"500000003_u32"},{"id":"Vga3","name":"Vga3","value":"600000003_u32"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"constructors":[{"html_id":"from_param(value:String):self-class-method","name":"from_param","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String) : self","args_html":"(value : String) : self","location":{"filename":"src/sony/displays/bravia.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L28"},"def":{"name":"from_param","args":[{"name":"value","external_name":"value","restriction":"String"}],"return_type":"self","visibility":"Public","body":"begin\n from_value(UInt32.new(value))\nrescue\n raise(\"Unknown enum #{self} value: #{value}\")\nend"}}],"instance_methods":[{"html_id":"hdmi0?-instance-method","name":"hdmi0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi0?","visibility":"Public","body":"self == Hdmi0"}},{"html_id":"hdmi1?-instance-method","name":"hdmi1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi1?","visibility":"Public","body":"self == Hdmi1"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"mirror0?-instance-method","name":"mirror0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror0?","visibility":"Public","body":"self == Mirror0"}},{"html_id":"mirror1?-instance-method","name":"mirror1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror1?","visibility":"Public","body":"self == Mirror1"}},{"html_id":"mirror2?-instance-method","name":"mirror2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror2?","visibility":"Public","body":"self == Mirror2"}},{"html_id":"mirror3?-instance-method","name":"mirror3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror3?","visibility":"Public","body":"self == Mirror3"}},{"html_id":"to_param:String-instance-method","name":"to_param","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L34"},"def":{"name":"to_param","return_type":"String","visibility":"Public","body":"value.to_s.rjust(5, '0')"}},{"html_id":"tv0?-instance-method","name":"tv0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv0?","visibility":"Public","body":"self == Tv0"}},{"html_id":"tv1?-instance-method","name":"tv1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv1?","visibility":"Public","body":"self == Tv1"}},{"html_id":"tv2?-instance-method","name":"tv2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv2?","visibility":"Public","body":"self == Tv2"}},{"html_id":"tv3?-instance-method","name":"tv3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv3?","visibility":"Public","body":"self == Tv3"}},{"html_id":"vga0?-instance-method","name":"vga0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga0?","visibility":"Public","body":"self == Vga0"}},{"html_id":"vga1?-instance-method","name":"vga1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga1?","visibility":"Public","body":"self == Vga1"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga2?","visibility":"Public","body":"self == Vga2"}},{"html_id":"vga3?-instance-method","name":"vga3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga3?","visibility":"Public","body":"self == Vga3"}}]},{"html_id":"drivers/Sony/Displays/Bravia/MessageType","path":"Sony/Displays/Bravia/MessageType.html","kind":"enum","full_name":"Sony::Displays::Bravia::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L125"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Answer","name":"Answer","value":"65_u8"},{"id":"Control","name":"Control","value":"67_u8"},{"id":"Enquiry","name":"Enquiry","value":"69_u8"},{"id":"Notify","name":"Notify","value":"78_u8"},{"id":"Error","name":"Error","value":"70_u8"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L126"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"control?-instance-method","name":"control?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L127"},"def":{"name":"control?","visibility":"Public","body":"self == Control"}},{"html_id":"control_character-instance-method","name":"control_character","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L132"},"def":{"name":"control_character","visibility":"Public","body":"value.chr"}},{"html_id":"enquiry?-instance-method","name":"enquiry?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L128"},"def":{"name":"enquiry?","visibility":"Public","body":"self == Enquiry"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L130"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"notify?-instance-method","name":"notify?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/displays/bravia.cr#L129"},"def":{"name":"notify?","visibility":"Public","body":"self == Notify"}}]}]}]},{"html_id":"drivers/Sony/Projector","path":"Sony/Projector.html","kind":"module","full_name":"Sony::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Projector/Fh","path":"Sony/Projector/Fh.html","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INPUTS_LOOKUP","name":"INPUTS_LOOKUP","value":"{\"hdmi1\" => Inputs::HDMI, \"dvi1\" => Inputs::DVI, \"video1\" => Inputs::Video, \"svideo1\" => Inputs::SVideo, \"rgb1\" => Inputs::RGB, \"hdbaset1\" => Inputs::HDBaseT, \"input_a\" => Inputs::InputA, \"input_b\" => Inputs::InputB, \"input_c\" => Inputs::InputC, \"input_d\" => Inputs::InputD, \"input_e\" => Inputs::InputE}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"brightness\", val.clamp(0, 100))"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness?","visibility":"Public","body":"get(\"brightness\")"}},{"html_id":"color(val:Int32)-instance-method","name":"color","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"color","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"color\", val.clamp(0, 100))"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"color?","visibility":"Public","body":"get(\"color\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"contrast\", val.clamp(0, 100))"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast?","visibility":"Public","body":"get(\"contrast\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(val:Int32)-instance-method","name":"hue","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"hue","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"hue\", val.clamp(0, 100))"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"hue?","visibility":"Public","body":"get(\"hue\")"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L99"},"def":{"name":"input?","visibility":"Public","body":"(get(\"input\")).get\nself[:input].as_s\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/fh.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L66"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"(set(\"blank\", state ? \"on\" : \"off\")).get\nself[:mute] = state\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L75"},"def":{"name":"mute?","visibility":"Public","body":"(get(\"blank\")).get\nself[:mute].as_bool\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/fh.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(set(\"power\", state ? \"on\" : \"off\")).get\nself[:power] = state\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L61"},"def":{"name":"power?","visibility":"Public","body":"get(\"power_status\")\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(response,task)-instance-method","name":"received","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(response, task)","args_html":"(response, task)","location":{"filename":"src/sony/projector/fh.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L120"},"def":{"name":"received","args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(response, task)"}},{"html_id":"sharpness(val:Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"sharpness\", val.clamp(0, 100))"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness?","visibility":"Public","body":"get(\"sharpness\")"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/sony/projector/fh.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L94"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"(set(\"input\", input.to_message)).get\nself[:input] = input.readable\n"}}],"types":[{"html_id":"drivers/Sony/Projector/Fh/Inputs","path":"Sony/Projector/Fh/Inputs.html","kind":"enum","full_name":"Sony::Projector::Fh::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"DVI","name":"DVI","value":"1"},{"id":"Video","name":"Video","value":"2"},{"id":"SVideo","name":"SVideo","value":"3"},{"id":"RGB","name":"RGB","value":"4"},{"id":"HDBaseT","name":"HDBaseT","value":"5"},{"id":"InputA","name":"InputA","value":"6"},{"id":"InputB","name":"InputB","value":"7"},{"id":"InputC","name":"InputC","value":"8"},{"id":"InputD","name":"InputD","value":"9"},{"id":"InputE","name":"InputE","value":"10"}],"namespace":{"html_id":"drivers/Sony/Projector/Fh","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L18"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L13"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L19"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L20"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L21"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L22"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"input_e?-instance-method","name":"input_e?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L23"},"def":{"name":"input_e?","visibility":"Public","body":"self == InputE"}},{"html_id":"readable:String-instance-method","name":"readable","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L34"},"def":{"name":"readable","return_type":"String","visibility":"Public","body":"to_s.downcase"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L17"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L16"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"to_message:String-instance-method","name":"to_message","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L25"},"def":{"name":"to_message","return_type":"String","visibility":"Public","body":"case self\nin HDMI, DVI, Video, SVideo, RGB, HDBaseT\n to_s.downcase + \"1\"\nin InputA, InputB, InputC, InputD, InputE\n to_s.underscore\nend"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/fh.cr#L15"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Sony/Projector/PjTalk","path":"Sony/Projector/PjTalk.html","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CATEGORY","name":"ERROR_CATEGORY","value":"{1_u8 => :item_error, 2_u8 => :community_error, 16_u8 => :request_error, 32_u8 => :network_error, 240_u8 => :comms_error, 241_u8 => :ram_error}"},{"id":"ERRORS","name":"ERRORS","value":"{item_error: {1_u8 => \"Invalid Item\", 2_u8 => \"Invalid Item Request\", 3_u8 => \"Invalid Length\", 4_u8 => \"Invalid Data\", 17_u8 => \"Short Data\", 128_u8 => \"Not Applicable Item\"}, community_error: {1_u8 => \"Different Community\"}, request_error: {1_u8 => \"Invalid Version\", 2_u8 => \"Invalid Category\", 3_u8 => \"Invalid Request\", 17_u8 => \"Short Header\", 18_u8 => \"Short Community\", 19_u8 => \"Short Command\"}, network_error: {1_u8 => \"Timeout\"}, comms_error: {1_u8 => \"Timeout\", 16_u8 => \"Check Sum Error\", 32_u8 => \"Framing Error\", 48_u8 => \"Parity Error\", 64_u8 => \"Over Run Error\", 80_u8 => \"Other Comm Error\", 240_u8 => \"Unknown Response\"}, ram_error: {16_u8 => \"Read Error\", 32_u8 => \"Write Error\"}, unknown: {} of UInt8 => String}"},{"id":"METHODS","name":"METHODS","value":"[:contrast, :brightness, :color, :hue, :sharpness]"},{"id":"PJTALK_HEADER","name":"PJTALK_HEADER","value":"Bytes[2, 10]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(:get, :brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"color?","visibility":"Public","body":"do_send(:get, :color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L39"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(:get, :contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L177"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n input?\n mute?\n do_send(:get, :error_status, priority: 0)\n lamp_time?\nend"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"hue?","visibility":"Public","body":"do_send(:get, :hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L93"},"def":{"name":"input?","visibility":"Public","body":"do_send(:get, :input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L97"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(:get, :lamp_timer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L101"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(:set, :mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L110"},"def":{"name":"mute?","visibility":"Public","body":"do_send(:get, :mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.to_slice\n bytes.size < 10 ? -1 : 10 + bytes[9]\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@community = (setting?(String, :community)) || \"SONY\""}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L47"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:set, :power_on, name: :power)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:set, :power_off, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L61"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(:get, :power_status, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L191"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\nresponse_status = ResponseStatus.from_value(data[6])\npjt_command = Command.from_bytes(data[7..8])\npjt_length = data[9]\npjt_data = pjt_length > 0 ? data[10..-1] : Bytes.new(0)\nif response_status.no_good?\n category = ERROR_CATEGORY[pjt_data[0]]? || (:unknown)\n message = ERRORS[category][pjt_data[1]]? || \"unknown: category #{pjt_data[1].to_s(16)}, reason #{pjt_data[1].to_s(16)}\"\n self[:last_error] = \"#{category}: #{message}\"\n logger.debug do\n \"Command #{pjt_command} failed with #{category}: #{message}\"\n end\n return task.try(&.abort)\nend\ncase pjt_command\nwhen .power_on?\n self[:power] = true\nwhen .power_off?\n self[:power] = false\nwhen .lamp_timer?\n self[:lamp_usage] = (pjt_data[-2].to_u16 << 8) + pjt_data[-1]\nwhen .power_status?\n case pjt_data[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\nwhen .mute?\n self[:mute] = pjt_data[-1] == 1\nwhen .input?\n self[:input] = Input.from_bytes(pjt_data)\nwhen .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[pjt_command.to_s.downcase] = pjt_data[-1]\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(:get, :sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L86"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(:set, :input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/PjTalk/Command","path":"Sony/Projector/PjTalk/Command.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L130"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L148"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L138"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L139"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L137"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L135"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L140"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L133"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L142"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L134"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L132"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L131"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L136"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L141"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L144"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/CommandType","path":"Sony/Projector/PjTalk/CommandType.html","kind":"enum","full_name":"Sony::Projector::PjTalk::CommandType","name":"CommandType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L153"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L155"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L154"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/Input","path":"Sony/Projector/PjTalk/Input.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L79"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L67"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L68"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L69"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L70"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L71"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L73"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L75"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L72"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/ResponseStatus","path":"Sony/Projector/PjTalk/ResponseStatus.html","kind":"enum","full_name":"Sony::Projector::PjTalk::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"NoGood","name":"NoGood","value":"0_u8"},{"id":"Okay","name":"Okay","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"no_good?-instance-method","name":"no_good?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L187"},"def":{"name":"no_good?","visibility":"Public","body":"self == NoGood"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/pj_talk.cr#L188"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Sony/Projector/SerialControl","path":"Sony/Projector/SerialControl.html","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"154_u8"},{"id":"ERRORS","name":"ERRORS","value":"{0 => \"No Error\", 1 => \"Lamp Error\", 2 => \"Fan Error\", 4 => \"Cover Error\", 8 => \"Temperature Error\", 16 => \"D5V Error\", 32 => \"Power Error\", 64 => \"Warning Error\", 128 => \"NVM Data ERROR\"}"},{"id":"INDICATOR","name":"INDICATOR","value":"169_u8"},{"id":"METHODS","name":"METHODS","value":"[\"Contrast\", \"Brightness\", \"Color\", \"Hue\", \"Sharpness\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(Type::Get, Command::Brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"color?","visibility":"Public","body":"do_send(Type::Get, Command::Color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(Type::Get, Command::Contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"hue?","visibility":"Public","body":"do_send(Type::Get, Command::Hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"do_send(Type::Get, Command::Input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L81"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(Type::Get, Command::LampTimer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(Type::Set, Command::Mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L94"},"def":{"name":"mute?","visibility":"Public","body":"do_send(Type::Get, Command::Mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[DELIMITER])"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L30"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(Type::Set, Command::PowerOn, name: :power)\n do_send(Type::Set, Command::PowerOn, name: :power, delay: 3.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(Type::Set, Command::PowerOff, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L45"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(Type::Get, Command::PowerStatus, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L177"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\ncmd = data[1..2]\ntype = data[3]\nresp = data[4..5]\nchecksum = data[1..5].reduce do |a, b|\n a = a | b\nend\nif data[6] == checksum\nelse\n return task.try(&.abort(\"Checksum should be 0x#{checksum.to_s(base: 16, upcase: true)}\"))\nend\nif type == 3\n if cmd == Bytes[0, 0]\n return task.try(&.success)\n else\n return task.try(&.abort(\"Command failed with 0x#{cmd.join(&.to_s(base: 16, upcase: true))}\"))\n end\nelse\n case command = Command.from_bytes(cmd)\n when .power_on?\n self[:power] = true\n when .power_off?\n self[:power] = false\n when .lamp_timer?\n self[:lamp_usage] = (resp[-2].to_u16 << 8) + resp[-1]\n when .power_status?\n case resp[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\n when .mute?\n self[:mute] = resp[-1] == 1\n when .input?\n self[:input] = Input.from_bytes(resp)\n when .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[command.to_s.downcase] = resp[-1]\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L107"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L100"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(Type::Get, Command::Sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L70"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(Type::Set, Command::Input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/SerialControl/Command","path":"Sony/Projector/SerialControl/Command.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L153"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L143"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L144"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L142"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L140"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L145"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L138"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L147"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L139"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L137"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L136"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L141"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L146"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L149"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Input","path":"Sony/Projector/SerialControl/Input.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L50"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L63"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L51"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L52"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L53"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L54"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L55"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L57"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L59"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L56"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Type","path":"Sony/Projector/SerialControl/Type.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L158"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L160"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/sony/projector/serial_control.cr#L159"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]}]}]}]},{"html_id":"drivers/StaffAPI","path":"StaffAPI.html","kind":"class","full_name":"StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L5"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"survey_id || (survey_id = 1)\ninvites = [{id: 1, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 2, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 3, survey_id: survey_id, token: \"QWERTY\", email: \"user2@spec.test\", sent: false}, {id: 4, survey_id: survey_id, token: \"QWERTY\", email: \"user3@spec.test\", sent: nil}, {id: 5, survey_id: survey_id, token: \"QWERTY\", email: \"user4@spec.test\", sent: true}]\nJSON.parse(invites.to_json)\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/survey_mailer_spec.cr#L49"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"true"}}]},{"html_id":"drivers/Steinel","path":"Steinel.html","kind":"module","full_name":"Steinel","name":"Steinel","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Steinel/HPD2","path":"Steinel/HPD2.html","kind":"class","full_name":"Steinel::HPD2","name":"HPD2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{illuminance: SensorType::Illuminance, temperature: SensorType::Temperature, humidity: SensorType::Humidity, presence: SensorType::Presence, people: SensorType::PeopleCount, illuminance_zones: SensorType::Illuminance, presence_zones: SensorType::Presence, people_zones: SensorType::PeopleCount}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Steinel","kind":"module","full_name":"Steinel","name":"Steinel"},"instance_methods":[{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L102"},"def":{"name":"get_status","visibility":"Public","body":"response = get(\"/api/sensorstatus.php\")\nlogger.debug do\n \"received #{response.body}\"\nend\nif response.success?\n status = SensorStatus.from_json(response.body.not_nil!)\n time = Time.utc.to_unix\n mod_id = module_id\n humidity = Interface::Sensor::Detail.new(SensorType::Humidity, status.humidity.to_f, time, @mac, \"humidity\", \"Humidity\", module_id: mod_id, binding: \"humidity\")\n self[:humidity] = status.humidity.to_f\n temperature = Interface::Sensor::Detail.new(SensorType::Temperature, status.temperature.to_f, time, @mac, \"temperature\", \"Temperature\", module_id: mod_id, binding: \"temperature\", unit: \"Cel\")\n self[:temperature] = status.temperature.to_f\n pres = status.person_presence.zero? ? 0.0 : 1.0\n presence = Interface::Sensor::Detail.new(SensorType::Presence, pres, time, @mac, \"presence\", \"Person Presence\", module_id: mod_id, binding: \"presence\")\n self[:presence] = pres\n people = Interface::Sensor::Detail.new(SensorType::PeopleCount, status.detected_persons.to_f, time, @mac, \"people\", \"Detected Persons\", module_id: mod_id, binding: \"people\")\n self[:people] = status.detected_persons\n illuminance = Interface::Sensor::Detail.new(SensorType::Illuminance, status.global_illuminance_lux, time, @mac, \"illuminance\", \"Illuminance\", module_id: mod_id, binding: \"illuminance\", unit: \"lx\")\n self[:illuminance] = status.global_illuminance_lux\n self[:presence_zones] = status.person_presence_zone.map do |value|\n value.zero? ? 0.0 : 1.0\n end\n presence_zones = status.person_presence_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Presence, value.zero? ? 0.0 : 1.0, time, @mac, \"presence-#{index}\", \"Person Presence in Zone#{index}\")\n end\n self[:people_zones] = status.detected_persons_zone\n people_zones = status.detected_persons_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::PeopleCount, value.to_f, time, @mac, \"people-#{index}\", \"Detected People in Zone#{index}\")\n end\n self[:illuminance_zones] = status.lux_zone\n illuminance_zones = status.lux_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Illuminance, value, time, @mac, \"illuminance-#{index}\", \"Illuminance in Zone#{index}\", unit: \"lx\")\n end\n @state = {humidity: humidity, temperature: temperature, presence: presence, people: people, illuminance: illuminance, presence_zones: presence_zones, people_zones: people_zones, illuminance_zones: illuminance_zones}\n status\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nschedule.every(5.seconds) do\n get_status\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/steinel/hpd2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L42"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n case id\n when \"humidity\"\n state[:humidity]\n when \"temperature\"\n state[:temperature]\n when \"presence\"\n state[:presence]\n when \"people\"\n state[:people]\n when \"illuminance\"\n state[:illuminance]\n end\n else\n if index = index_str.to_i?\n case id\n when \"presence\"\n state[:presence_zones][index]?\n when \"people\"\n state[:people_zones][index]?\n when \"illuminance\"\n state[:illuminance_zones][index]?\n end\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/steinel/hpd2.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L87"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return state.values.to_a.flatten\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Interface::Sensor::Detail | Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << state[key]\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"state:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))-instance-method","name":"state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L22"},"def":{"name":"state","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail))","visibility":"Public","body":"if (value = @state).nil?\n ::raise(NilAssertionError.new(\"Steinel::HPD2#state cannot be nil\"))\nelse\n value\nend"}},{"html_id":"state?:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))|Nil-instance-method","name":"state?","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L22"},"def":{"name":"state?","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail)) | ::Nil","visibility":"Public","body":"@state"}}],"types":[{"html_id":"drivers/Steinel/HPD2/SensorStatus","path":"Steinel/HPD2/SensorStatus.html","kind":"class","full_name":"Steinel::HPD2::SensorStatus","name":"SensorStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/steinel/hpd2.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_version:String-instance-method","name":"app_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version","return_type":"String","visibility":"Public","body":"@app_version"}},{"html_id":"app_version=(app_version:String)-instance-method","name":"app_version=","abstract":false,"args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"args_string":"(app_version : String)","args_html":"(app_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version=","args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"visibility":"Public","body":"@app_version = app_version"}},{"html_id":"arm_sensor_cpu_usage:String-instance-method","name":"arm_sensor_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage","return_type":"String","visibility":"Public","body":"@arm_sensor_cpu_usage"}},{"html_id":"arm_sensor_cpu_usage=(arm_sensor_cpu_usage:String)-instance-method","name":"arm_sensor_cpu_usage=","abstract":false,"args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"args_string":"(arm_sensor_cpu_usage : String)","args_html":"(arm_sensor_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage=","args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@arm_sensor_cpu_usage = arm_sensor_cpu_usage"}},{"html_id":"average_fps5:Float64-instance-method","name":"average_fps5","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5","return_type":"Float64","visibility":"Public","body":"@average_fps5"}},{"html_id":"average_fps50:Float64-instance-method","name":"average_fps50","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50","return_type":"Float64","visibility":"Public","body":"@average_fps50"}},{"html_id":"average_fps50=(average_fps50:Float64)-instance-method","name":"average_fps50=","abstract":false,"args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"args_string":"(average_fps50 : Float64)","args_html":"(average_fps50 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50=","args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"visibility":"Public","body":"@average_fps50 = average_fps50"}},{"html_id":"average_fps5=(average_fps5:Float64)-instance-method","name":"average_fps5=","abstract":false,"args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"args_string":"(average_fps5 : Float64)","args_html":"(average_fps5 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5=","args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"visibility":"Public","body":"@average_fps5 = average_fps5"}},{"html_id":"detected_persons:Int32-instance-method","name":"detected_persons","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons","return_type":"Int32","visibility":"Public","body":"@detected_persons"}},{"html_id":"detected_persons=(detected_persons:Int32)-instance-method","name":"detected_persons=","abstract":false,"args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"args_string":"(detected_persons : Int32)","args_html":"(detected_persons : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons=","args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"visibility":"Public","body":"@detected_persons = detected_persons"}},{"html_id":"detected_persons_zone:Array(Int32)-instance-method","name":"detected_persons_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone","return_type":"Array(Int32)","visibility":"Public","body":"@detected_persons_zone"}},{"html_id":"detected_persons_zone=(detected_persons_zone:Array(Int32))-instance-method","name":"detected_persons_zone=","abstract":false,"args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"args_string":"(detected_persons_zone : Array(Int32))","args_html":"(detected_persons_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone=","args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@detected_persons_zone = detected_persons_zone"}},{"html_id":"detection_zones_present:Int32-instance-method","name":"detection_zones_present","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present","return_type":"Int32","visibility":"Public","body":"@detection_zones_present"}},{"html_id":"detection_zones_present=(detection_zones_present:Int32)-instance-method","name":"detection_zones_present=","abstract":false,"args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"args_string":"(detection_zones_present : Int32)","args_html":"(detection_zones_present : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present=","args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"visibility":"Public","body":"@detection_zones_present = detection_zones_present"}},{"html_id":"final:String-instance-method","name":"final","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L241"},"def":{"name":"final","return_type":"String","visibility":"Public","body":"@final"}},{"html_id":"final=(final:String)-instance-method","name":"final=","abstract":false,"args":[{"name":"final","external_name":"final","restriction":"String"}],"args_string":"(final : String)","args_html":"(final : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L241"},"def":{"name":"final=","args":[{"name":"final","external_name":"final","restriction":"String"}],"visibility":"Public","body":"@final = final"}},{"html_id":"fpga_version:String-instance-method","name":"fpga_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version","return_type":"String","visibility":"Public","body":"@fpga_version"}},{"html_id":"fpga_version=(fpga_version:String)-instance-method","name":"fpga_version=","abstract":false,"args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"args_string":"(fpga_version : String)","args_html":"(fpga_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version=","args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"visibility":"Public","body":"@fpga_version = fpga_version"}},{"html_id":"frame_processing_time_ms:Int32-instance-method","name":"frame_processing_time_ms","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms","return_type":"Int32","visibility":"Public","body":"@frame_processing_time_ms"}},{"html_id":"frame_processing_time_ms=(frame_processing_time_ms:Int32)-instance-method","name":"frame_processing_time_ms=","abstract":false,"args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"args_string":"(frame_processing_time_ms : Int32)","args_html":"(frame_processing_time_ms : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms=","args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"visibility":"Public","body":"@frame_processing_time_ms = frame_processing_time_ms"}},{"html_id":"git_revision:String-instance-method","name":"git_revision","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision","return_type":"String","visibility":"Public","body":"@git_revision"}},{"html_id":"git_revision=(git_revision:String)-instance-method","name":"git_revision=","abstract":false,"args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"args_string":"(git_revision : String)","args_html":"(git_revision : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision=","args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"visibility":"Public","body":"@git_revision = git_revision"}},{"html_id":"global_illuminance_lux:Float64-instance-method","name":"global_illuminance_lux","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux","return_type":"Float64","visibility":"Public","body":"@global_illuminance_lux"}},{"html_id":"global_illuminance_lux=(global_illuminance_lux:Float64)-instance-method","name":"global_illuminance_lux=","abstract":false,"args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"args_string":"(global_illuminance_lux : Float64)","args_html":"(global_illuminance_lux : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux=","args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"visibility":"Public","body":"@global_illuminance_lux = global_illuminance_lux"}},{"html_id":"global_light_value:Int32-instance-method","name":"global_light_value","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value","return_type":"Int32","visibility":"Public","body":"@global_light_value"}},{"html_id":"global_light_value=(global_light_value:Int32)-instance-method","name":"global_light_value=","abstract":false,"args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"args_string":"(global_light_value : Int32)","args_html":"(global_light_value : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value=","args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"visibility":"Public","body":"@global_light_value = global_light_value"}},{"html_id":"humidity:String-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity","return_type":"String","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:String)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"args_string":"(humidity : String)","args_html":"(humidity : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"ir_led_on:Int32-instance-method","name":"ir_led_on","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on","return_type":"Int32","visibility":"Public","body":"@ir_led_on"}},{"html_id":"ir_led_on=(ir_led_on:Int32)-instance-method","name":"ir_led_on=","abstract":false,"args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"args_string":"(ir_led_on : Int32)","args_html":"(ir_led_on : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on=","args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"visibility":"Public","body":"@ir_led_on = ir_led_on"}},{"html_id":"knx_address:String-instance-method","name":"knx_address","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address","return_type":"String","visibility":"Public","body":"@knx_address"}},{"html_id":"knx_address=(knx_address:String)-instance-method","name":"knx_address=","abstract":false,"args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"args_string":"(knx_address : String)","args_html":"(knx_address : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address=","args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"visibility":"Public","body":"@knx_address = knx_address"}},{"html_id":"knx_detected:String-instance-method","name":"knx_detected","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected","return_type":"String","visibility":"Public","body":"@knx_detected"}},{"html_id":"knx_detected=(knx_detected:String)-instance-method","name":"knx_detected=","abstract":false,"args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"args_string":"(knx_detected : String)","args_html":"(knx_detected : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected=","args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"visibility":"Public","body":"@knx_detected = knx_detected"}},{"html_id":"knx_led_state:String-instance-method","name":"knx_led_state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state","return_type":"String","visibility":"Public","body":"@knx_led_state"}},{"html_id":"knx_led_state=(knx_led_state:String)-instance-method","name":"knx_led_state=","abstract":false,"args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"args_string":"(knx_led_state : String)","args_html":"(knx_led_state : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state=","args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"visibility":"Public","body":"@knx_led_state = knx_led_state"}},{"html_id":"knx_program_mode:String-instance-method","name":"knx_program_mode","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode","return_type":"String","visibility":"Public","body":"@knx_program_mode"}},{"html_id":"knx_program_mode=(knx_program_mode:String)-instance-method","name":"knx_program_mode=","abstract":false,"args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"args_string":"(knx_program_mode : String)","args_html":"(knx_program_mode : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode=","args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"visibility":"Public","body":"@knx_program_mode = knx_program_mode"}},{"html_id":"knx_sap_number:String-instance-method","name":"knx_sap_number","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number","return_type":"String","visibility":"Public","body":"@knx_sap_number"}},{"html_id":"knx_sap_number=(knx_sap_number:String)-instance-method","name":"knx_sap_number=","abstract":false,"args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"args_string":"(knx_sap_number : String)","args_html":"(knx_sap_number : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number=","args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"visibility":"Public","body":"@knx_sap_number = knx_sap_number"}},{"html_id":"knx_version:String-instance-method","name":"knx_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version","return_type":"String","visibility":"Public","body":"@knx_version"}},{"html_id":"knx_version=(knx_version:String)-instance-method","name":"knx_version=","abstract":false,"args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"args_string":"(knx_version : String)","args_html":"(knx_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version=","args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"visibility":"Public","body":"@knx_version = knx_version"}},{"html_id":"lux_zone:Array(Float64)-instance-method","name":"lux_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone","return_type":"Array(Float64)","visibility":"Public","body":"@lux_zone"}},{"html_id":"lux_zone=(lux_zone:Array(Float64))-instance-method","name":"lux_zone=","abstract":false,"args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"args_string":"(lux_zone : Array(Float64))","args_html":"(lux_zone : Array(Float64))","location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone=","args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"visibility":"Public","body":"@lux_zone = lux_zone"}},{"html_id":"model_name:String-instance-method","name":"model_name","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name","return_type":"String","visibility":"Public","body":"@model_name"}},{"html_id":"model_name=(model_name:String)-instance-method","name":"model_name=","abstract":false,"args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"args_string":"(model_name : String)","args_html":"(model_name : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name=","args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"visibility":"Public","body":"@model_name = model_name"}},{"html_id":"person_presence:Int32-instance-method","name":"person_presence","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence","return_type":"Int32","visibility":"Public","body":"@person_presence"}},{"html_id":"person_presence=(person_presence:Int32)-instance-method","name":"person_presence=","abstract":false,"args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"args_string":"(person_presence : Int32)","args_html":"(person_presence : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence=","args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"visibility":"Public","body":"@person_presence = person_presence"}},{"html_id":"person_presence_zone:Array(Int32)-instance-method","name":"person_presence_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone","return_type":"Array(Int32)","visibility":"Public","body":"@person_presence_zone"}},{"html_id":"person_presence_zone=(person_presence_zone:Array(Int32))-instance-method","name":"person_presence_zone=","abstract":false,"args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"args_string":"(person_presence_zone : Array(Int32))","args_html":"(person_presence_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone=","args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@person_presence_zone = person_presence_zone"}},{"html_id":"running_time:String-instance-method","name":"running_time","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time","return_type":"String","visibility":"Public","body":"@running_time"}},{"html_id":"running_time=(running_time:String)-instance-method","name":"running_time=","abstract":false,"args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"args_string":"(running_time : String)","args_html":"(running_time : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time=","args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"visibility":"Public","body":"@running_time = running_time"}},{"html_id":"temperature:String-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature","return_type":"String","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:String)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"args_string":"(temperature : String)","args_html":"(temperature : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"uptime:String-instance-method","name":"uptime","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime","return_type":"String","visibility":"Public","body":"@uptime"}},{"html_id":"uptime=(uptime:String)-instance-method","name":"uptime=","abstract":false,"args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"args_string":"(uptime : String)","args_html":"(uptime : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime=","args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"visibility":"Public","body":"@uptime = uptime"}},{"html_id":"web_server_cpu_usage:String-instance-method","name":"web_server_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage","return_type":"String","visibility":"Public","body":"@web_server_cpu_usage"}},{"html_id":"web_server_cpu_usage=(web_server_cpu_usage:String)-instance-method","name":"web_server_cpu_usage=","abstract":false,"args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"args_string":"(web_server_cpu_usage : String)","args_html":"(web_server_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage=","args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@web_server_cpu_usage = web_server_cpu_usage"}}]},{"html_id":"drivers/Steinel/HPD2/SensorType","path":"Steinel/HPD2/SensorType.html","kind":"alias","full_name":"Steinel::HPD2::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/steinel/hpd2.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"}}]}]},{"html_id":"drivers/Stripe","path":"Stripe.html","kind":"module","full_name":"Stripe","name":"Stripe","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Stripe/API","path":"Stripe/API.html","kind":"class","full_name":"Stripe::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Stripe","kind":"module","full_name":"Stripe","name":"Stripe"},"instance_methods":[{"html_id":"add_payment_method(type:String,billing_details:Hash(String,String)|Nil=nil,metadata:Hash(String,String)|Nil=nil,acss_debit:Hash(String,String)|Nil=nil,affirm:Hash(String,String)|Nil=nil,afterpay_clearpay:Hash(String,String)|Nil=nil,alipay:Hash(String,String)|Nil=nil,au_becs_debit:Hash(String,String)|Nil=nil,bacs_debit:Hash(String,String)|Nil=nil,bancontact:Hash(String,String)|Nil=nil,blik:Hash(String,String)|Nil=nil,boleto:Hash(String,String)|Nil=nil,card:Hash(String,String)|Nil=nil,customer_balance:Hash(String,String)|Nil=nil,eps:Hash(String,String)|Nil=nil,fpx:Hash(String,String)|Nil=nil,giropay:Hash(String,String)|Nil=nil,ideal:Hash(String,String)|Nil=nil,interac_present:Hash(String,String)|Nil=nil,klarna:Hash(String,String)|Nil=nil,konbini:Hash(String,String)|Nil=nil,link:Hash(String,String)|Nil=nil,oxxo:Hash(String,String)|Nil=nil,p24:Hash(String,String)|Nil=nil,paynow:Hash(String,String)|Nil=nil,promptpay:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,sepa_debit:Hash(String,String)|Nil=nil,sofort:Hash(String,String)|Nil=nil,us_bank_account:Hash(String,String)|Nil=nil,wechat_pay:Hash(String,String)|Nil=nil)-instance-method","name":"add_payment_method","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","args_html":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L26"},"def":{"name":"add_payment_method","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"payment_method = @client.not_nil!.payment_methods.create(type, billing_details, metadata, acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, customer_balance, eps, fpx, giropay, ideal, interac_present, klarna, konbini, link, oxxo, p24, paynow, promptpay, radar_options, sepa_debit, sofort, us_bank_account, wechat_pay)\nself[\"payment_method\"] = payment_method\n"}},{"html_id":"cancel_payment_intent(id:String,cancellation_reason:String|Nil=nil)-instance-method","name":"cancel_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"args_string":"(id : String, cancellation_reason : String | Nil = nil)","args_html":"(id : String, cancellation_reason : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L83"},"def":{"name":"cancel_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client.not_nil!.payment_intents.cancel(id: id, cancellation_reason: cancellation_reason)\nself[\"payment_intent\"] = nil\n"}},{"html_id":"confirm_payment_intent(id:String,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,capture_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"confirm_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L78"},"def":{"name":"confirm_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.confirm(id: id, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, capture_method: capture_method, error_on_requires_action: error_on_requires_action, mandate: mandate, mandate_data: mandate_data, off_session: off_session, payment_method_data: payment_method_data, payment_method_options: payment_method_options, payment_method_types: payment_method_types, radar_options: radar_options, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"create_payment_intent(amount:Int32,currency:String,automatic_payment_methods:Hash(String,String)|Nil=nil,confirm:Bool|Nil=nil,customer:String|Nil=nil,description:String|Nil=nil,metadata:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,statement_descriptor:String|Nil=nil,statement_descriptor_suffix:String|Nil=nil,application_fee_amount:Int32|Nil=nil,capture_method:String|Nil=nil,confrimation_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,on_behalf_of:String|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,transfer_data:Hash(String,String)|Nil=nil,transfer_group:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"create_payment_intent","abstract":false,"args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L73"},"def":{"name":"create_payment_intent","args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.create(amount: amount, currency: currency, automatic_payment_methods: automatic_payment_methods, confirm: confirm, customer: customer, description: description, metadata: metadata, off_session: off_session, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, statement_descriptor: statement_descriptor, statement_descriptor_suffix: statement_descriptor_suffix, application_fee_amount: application_fee_amount, capture_method: capture_method, confrimation_method: confrimation_method, error_on_requires_action: error_on_requires_action, mandate_data: mandate_data, on_behalf_of: on_behalf_of, payment_method_data: payment_method_data, payment_method_types: payment_method_types, payment_method_options: payment_method_options, radar_options: radar_options, return_url: return_url, transfer_data: transfer_data, transfer_group: transfer_group, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"get_product_price(active:Bool|Nil=nil,currency:String|Nil=nil,product:String|Nil=nil,type:String|Nil=nil,created:Hash(String,String)|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,lookup_keys:Array(String)|Nil=nil,recurring:Hash(String,String)|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"get_product_price","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L68"},"def":{"name":"get_product_price","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"product_prices = @client.not_nil!.prices.list(active: active, currency: currency, product: product, type: type, created: created, ending_before: ending_before, limit: limit, lookup_keys: lookup_keys, recurring: recurring, starting_after: starting_after)\nself[\"product_prices\"] = product_prices\n"}},{"html_id":"list_payment_methods(type:String,customer:String|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"list_payment_methods","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","args_html":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L63"},"def":{"name":"list_payment_methods","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"payment_methods = @client.not_nil!.payment_methods.list(type: type, customer: customer, ending_before: ending_before, limit: limit, starting_after: starting_after)\nself[\"payment_methods\"] = payment_methods\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L19"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\napi_key = setting(String, :api_key)\n@client = Stripetease::Client.new(base_url: host_name, api_key: api_key)\n"}}],"types":[{"html_id":"drivers/Stripe/API/Client","path":"Stripe/API/Client.html","kind":"alias","full_name":"Stripe::API::Client","name":"Client","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/stripe/api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Stripetease::Client","aliased_html":"Stripetease::Client","const":false,"namespace":{"html_id":"drivers/Stripe/API","kind":"class","full_name":"Stripe::API","name":"API"}}]}]},{"html_id":"drivers/TwentyFiveLivePro","path":"TwentyFiveLivePro.html","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L4"},{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L4"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L3"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L3"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/TwentyFiveLivePro/API","path":"TwentyFiveLivePro/API.html","kind":"class","full_name":"TwentyFiveLivePro::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"availability(id:Int32,start_date:String,end_date:String,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"availability","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L93"},"def":{"name":"availability","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nbody = {\"spaces\" => [{\"spaceId\" => id, \"dates\" => {\"startDt\" => start_date, \"endDt\" => end_date}}]}\nresponse = post(\"/external/spaceAvailability.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"}, body: body.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Availability.from_json(response.body)\n"}},{"html_id":"get_event_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_event_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L256"},"def":{"name":"get_event_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/event/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::EventDetail.from_json(response.body)\n"}},{"html_id":"get_organization_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_organization_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L180"},"def":{"name":"get_organization_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/organization/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::OrganizationDetail.from_json(response.body)\n"}},{"html_id":"get_resource_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_resource_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L119"},"def":{"name":"get_resource_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/resource/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ResourceDetail.from_json(response.body)\n"}},{"html_id":"get_space_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_space_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L32"},"def":{"name":"get_space_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/space/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::SpaceDetail.from_json(response.body)\n"}},{"html_id":"list_events(space_id:Int32=1,page:Int32=1,items_per_page:Int32=100,since:String|Nil=nil,paginate:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","args_html":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L270"},"def":{"name":"list_events","args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"events = [] of Models::Event\nloop do\n params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if since\n form.add(\"created_since\", since)\n end\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/event/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nevents\n"}},{"html_id":"list_organizations(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_organizations","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L194"},"def":{"name":"list_organizations","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"organizations = [] of Models::Organization\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/organization/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\norganizations\n"}},{"html_id":"list_reservations(space_id:Int32,start_date:String,end_date:String)-instance-method","name":"list_reservations","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(space_id : Int32, start_date : String, end_date : String)","args_html":"(space_id : Int32, start_date : String, end_date : String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L241"},"def":{"name":"list_reservations","args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"start_dt\", start_date)\n form.add(\"end_dt\", end_date)\nend\nresponse = get(\"/reservations.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Reservations.from_json(response.body)\n"}},{"html_id":"list_resources(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_resources","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L133"},"def":{"name":"list_resources","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"resources = [] of Models::Resource\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/resource/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nresources\n"}},{"html_id":"list_spaces(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_spaces","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L46"},"def":{"name":"list_spaces","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"spaces = [] of Models::Space\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/space/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nspaces\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/api.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/TwentyFiveLivePro/Date","path":"TwentyFiveLivePro/Date.html","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L13"},"def":{"name":"duration","visibility":"Public","body":"end_date - start_date"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","path":"TwentyFiveLivePro/Date/Converter.html","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Date","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L24"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_rfc3339(value.read_string)"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/date.cr#L20"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_rfc3339)"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models","path":"TwentyFiveLivePro/Models.html","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L5"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L4"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L4"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"reservations:Reservations-instance-method","name":"reservations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations","return_type":"Reservations","visibility":"Public","body":"@reservations"}},{"html_id":"reservations=(reservations:Reservations)-instance-method","name":"reservations=","abstract":false,"args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"args_string":"(reservations : Reservations)","args_html":"(reservations : Reservations)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations=","args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"visibility":"Public","body":"@reservations = reservations"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Attribute","path":"TwentyFiveLivePro/Models/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","path":"TwentyFiveLivePro/Models/Availability.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","path":"TwentyFiveLivePro/Models/Availability/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:String-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id","return_type":"String","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:String)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"args_string":"(request_id : String)","args_html":"(request_id : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","path":"TwentyFiveLivePro/Models/Availability/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data/Space","path":"TwentyFiveLivePro/Models/Availability/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"available=(available:Bool)-instance-method","name":"available=","abstract":false,"args":[{"name":"available","external_name":"available","restriction":"Bool"}],"args_string":"(available : Bool)","args_html":"(available : Bool)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available=","args":[{"name":"available","external_name":"available","restriction":"Bool"}],"visibility":"Public","body":"@available = available"}},{"html_id":"conflict_type:Int64|Nil-instance-method","name":"conflict_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conflict_type"}},{"html_id":"conflict_type=(conflict_type:Int64|Nil)-instance-method","name":"conflict_type=","abstract":false,"args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"args_string":"(conflict_type : Int64 | Nil)","args_html":"(conflict_type : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type=","args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conflict_type = conflict_type"}},{"html_id":"dates:Array(Hash(String,JSON::Any))-instance-method","name":"dates","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates","return_type":"Array(Hash(String, JSON::Any))","visibility":"Public","body":"@dates"}},{"html_id":"dates=(dates:Array(Hash(String,JSON::Any)))-instance-method","name":"dates=","abstract":false,"args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"args_string":"(dates : Array(Hash(String, JSON::Any)))","args_html":"(dates : Array(Hash(String, JSON::Any)))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates=","args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"visibility":"Public","body":"@dates = dates"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_types:Array(Expanded::Conflict)|Nil-instance-method","name":"conflict_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types","return_type":"Array(Expanded::Conflict) | ::Nil","visibility":"Public","body":"@conflict_types"}},{"html_id":"conflict_types=(conflict_types:Array(Expanded::Conflict)|Nil)-instance-method","name":"conflict_types=","abstract":false,"args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"args_string":"(conflict_types : Array(Expanded::Conflict) | Nil)","args_html":"(conflict_types : Array(Expanded::Conflict) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types=","args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"visibility":"Public","body":"@conflict_types = conflict_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Category","path":"TwentyFiveLivePro/Models/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"inherit_code:Int64|Nil-instance-method","name":"inherit_code","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code","return_type":"Int64 | ::Nil","visibility":"Public","body":"@inherit_code"}},{"html_id":"inherit_code=(inherit_code:Int64|Nil)-instance-method","name":"inherit_code=","abstract":false,"args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"args_string":"(inherit_code : Int64 | Nil)","args_html":"(inherit_code : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code=","args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@inherit_code = inherit_code"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Event","path":"TwentyFiveLivePro/Models/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","path":"TwentyFiveLivePro/Models/EventDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","path":"TwentyFiveLivePro/Models/EventDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"args_string":"(id : Int64 | Nil)","args_html":"(id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Event)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items","return_type":"Array(Event)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Event))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"args_string":"(items : Array(Event))","args_html":"(items : Array(Event))","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"priority:Int64-instance-method","name":"priority","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority","return_type":"Int64","visibility":"Public","body":"@priority"}},{"html_id":"priority=(priority:Int64)-instance-method","name":"priority=","abstract":false,"args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"args_string":"(priority : Int64)","args_html":"(priority : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority=","args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"visibility":"Public","body":"@priority = priority"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"event_types:Array(Expanded::EventType)|Nil-instance-method","name":"event_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types","return_type":"Array(Expanded::EventType) | ::Nil","visibility":"Public","body":"@event_types"}},{"html_id":"event_types=(event_types:Array(Expanded::EventType)|Nil)-instance-method","name":"event_types=","abstract":false,"args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"args_string":"(event_types : Array(Expanded::EventType) | Nil)","args_html":"(event_types : Array(Expanded::EventType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types=","args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"visibility":"Public","body":"@event_types = event_types"}},{"html_id":"organizations:Array(Expanded::Organization)|Nil-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations","return_type":"Array(Expanded::Organization) | ::Nil","visibility":"Public","body":"@organizations"}},{"html_id":"organizations=(organizations:Array(Expanded::Organization)|Nil)-instance-method","name":"organizations=","abstract":false,"args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"args_string":"(organizations : Array(Expanded::Organization) | Nil)","args_html":"(organizations : Array(Expanded::Organization) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations=","args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"visibility":"Public","body":"@organizations = organizations"}},{"html_id":"parent_nodes:Array(Expanded::ParentNode)|Nil-instance-method","name":"parent_nodes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes","return_type":"Array(Expanded::ParentNode) | ::Nil","visibility":"Public","body":"@parent_nodes"}},{"html_id":"parent_nodes=(parent_nodes:Array(Expanded::ParentNode)|Nil)-instance-method","name":"parent_nodes=","abstract":false,"args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"args_string":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","args_html":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes=","args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"visibility":"Public","body":"@parent_nodes = parent_nodes"}},{"html_id":"resources:Array(Expanded::Resource)|Nil-instance-method","name":"resources","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources","return_type":"Array(Expanded::Resource) | ::Nil","visibility":"Public","body":"@resources"}},{"html_id":"resources=(resources:Array(Expanded::Resource)|Nil)-instance-method","name":"resources=","abstract":false,"args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"args_string":"(resources : Array(Expanded::Resource) | Nil)","args_html":"(resources : Array(Expanded::Resource) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources=","args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"visibility":"Public","body":"@resources = resources"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"spaces:Array(Expanded::Space)|Nil-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces","return_type":"Array(Expanded::Space) | ::Nil","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Expanded::Space)|Nil)-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"args_string":"(spaces : Array(Expanded::Space) | Nil)","args_html":"(spaces : Array(Expanded::Space) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"states:Array(Expanded::State)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states","return_type":"Array(Expanded::State) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"states=(states:Array(Expanded::State)|Nil)-instance-method","name":"states=","abstract":false,"args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"args_string":"(states : Array(Expanded::State) | Nil)","args_html":"(states : Array(Expanded::State) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states=","args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"visibility":"Public","body":"@states = states"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","path":"TwentyFiveLivePro/Models/Expanded.html","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Attribute","path":"TwentyFiveLivePro/Models/Expanded/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}},{"html_id":"attribute_name:String-instance-method","name":"attribute_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name","return_type":"String","visibility":"Public","body":"@attribute_name"}},{"html_id":"attribute_name=(attribute_name:String)-instance-method","name":"attribute_name=","abstract":false,"args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"args_string":"(attribute_name : String)","args_html":"(attribute_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name=","args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"visibility":"Public","body":"@attribute_name = attribute_name"}},{"html_id":"attribute_type:String|Nil-instance-method","name":"attribute_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type","return_type":"String | ::Nil","visibility":"Public","body":"@attribute_type"}},{"html_id":"attribute_type=(attribute_type:String|Nil)-instance-method","name":"attribute_type=","abstract":false,"args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"args_string":"(attribute_type : String | Nil)","args_html":"(attribute_type : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type=","args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attribute_type = attribute_type"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Category","path":"TwentyFiveLivePro/Models/Expanded/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"category_name:String-instance-method","name":"category_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name","return_type":"String","visibility":"Public","body":"@category_name"}},{"html_id":"category_name=(category_name:String)-instance-method","name":"category_name=","abstract":false,"args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"args_string":"(category_name : String)","args_html":"(category_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name=","args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"visibility":"Public","body":"@category_name = category_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Conflict","path":"TwentyFiveLivePro/Models/Expanded/Conflict.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_type_description:String-instance-method","name":"conflict_type_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description","return_type":"String","visibility":"Public","body":"@conflict_type_description"}},{"html_id":"conflict_type_description=(conflict_type_description:String)-instance-method","name":"conflict_type_description=","abstract":false,"args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"args_string":"(conflict_type_description : String)","args_html":"(conflict_type_description : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description=","args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"visibility":"Public","body":"@conflict_type_description = conflict_type_description"}},{"html_id":"conflict_type_id:Int64-instance-method","name":"conflict_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id","return_type":"Int64","visibility":"Public","body":"@conflict_type_id"}},{"html_id":"conflict_type_id=(conflict_type_id:Int64)-instance-method","name":"conflict_type_id=","abstract":false,"args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"args_string":"(conflict_type_id : Int64)","args_html":"(conflict_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id=","args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"visibility":"Public","body":"@conflict_type_id = conflict_type_id"}},{"html_id":"conflict_type_name:String-instance-method","name":"conflict_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name","return_type":"String","visibility":"Public","body":"@conflict_type_name"}},{"html_id":"conflict_type_name=(conflict_type_name:String)-instance-method","name":"conflict_type_name=","abstract":false,"args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"args_string":"(conflict_type_name : String)","args_html":"(conflict_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name=","args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"visibility":"Public","body":"@conflict_type_name = conflict_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Contact","path":"TwentyFiveLivePro/Models/Expanded/Contact.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64|Nil-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64|Nil)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"args_string":"(contact_id : Int64 | Nil)","args_html":"(contact_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"etag:String|Nil-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag","return_type":"String | ::Nil","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String|Nil)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"args_string":"(etag : String | Nil)","args_html":"(etag : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"family_name:String|Nil-instance-method","name":"family_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name","return_type":"String | ::Nil","visibility":"Public","body":"@family_name"}},{"html_id":"family_name=(family_name:String|Nil)-instance-method","name":"family_name=","abstract":false,"args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"args_string":"(family_name : String | Nil)","args_html":"(family_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name=","args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family_name = family_name"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/EventType","path":"TwentyFiveLivePro/Models/Expanded/EventType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::EventType","name":"EventType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"type_id:Int64-instance-method","name":"type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id","return_type":"Int64","visibility":"Public","body":"@type_id"}},{"html_id":"type_id=(type_id:Int64)-instance-method","name":"type_id=","abstract":false,"args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"args_string":"(type_id : Int64)","args_html":"(type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id=","args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"visibility":"Public","body":"@type_id = type_id"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Feature","path":"TwentyFiveLivePro/Models/Expanded/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"feature_name:String-instance-method","name":"feature_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name","return_type":"String","visibility":"Public","body":"@feature_name"}},{"html_id":"feature_name=(feature_name:String)-instance-method","name":"feature_name=","abstract":false,"args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"args_string":"(feature_name : String)","args_html":"(feature_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name=","args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"visibility":"Public","body":"@feature_name = feature_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Layout","path":"TwentyFiveLivePro/Models/Expanded/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name","return_type":"String","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"args_string":"(layout_name : String)","args_html":"(layout_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"visibility":"Public","body":"@layout_name = layout_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Organization","path":"TwentyFiveLivePro/Models/Expanded/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/OrganizationType","path":"TwentyFiveLivePro/Models/Expanded/OrganizationType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::OrganizationType","name":"OrganizationType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"organization_type_name:String-instance-method","name":"organization_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name","return_type":"String","visibility":"Public","body":"@organization_type_name"}},{"html_id":"organization_type_name=(organization_type_name:String)-instance-method","name":"organization_type_name=","abstract":false,"args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"args_string":"(organization_type_name : String)","args_html":"(organization_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name=","args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"visibility":"Public","body":"@organization_type_name = organization_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/ParentNode","path":"TwentyFiveLivePro/Models/Expanded/ParentNode.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::ParentNode","name":"ParentNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_dt:String-instance-method","name":"end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt","return_type":"String","visibility":"Public","body":"@end_dt"}},{"html_id":"end_dt=(end_dt:String)-instance-method","name":"end_dt=","abstract":false,"args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"args_string":"(end_dt : String)","args_html":"(end_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt=","args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"visibility":"Public","body":"@end_dt = end_dt"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"locator:String-instance-method","name":"locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator","return_type":"String","visibility":"Public","body":"@locator"}},{"html_id":"locator=(locator:String)-instance-method","name":"locator=","abstract":false,"args":[{"name":"locator","external_name":"locator","restriction":"String"}],"args_string":"(locator : String)","args_html":"(locator : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator=","args":[{"name":"locator","external_name":"locator","restriction":"String"}],"visibility":"Public","body":"@locator = locator"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"start_dt:String-instance-method","name":"start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt","return_type":"String","visibility":"Public","body":"@start_dt"}},{"html_id":"start_dt=(start_dt:String)-instance-method","name":"start_dt=","abstract":false,"args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"args_string":"(start_dt : String)","args_html":"(start_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt=","args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"visibility":"Public","body":"@start_dt = start_dt"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Resource","path":"TwentyFiveLivePro/Models/Expanded/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"resource_id:Int64-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id","return_type":"Int64","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:Int64)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"args_string":"(resource_id : Int64)","args_html":"(resource_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Role","path":"TwentyFiveLivePro/Models/Expanded/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}},{"html_id":"role_name:String-instance-method","name":"role_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name","return_type":"String","visibility":"Public","body":"@role_name"}},{"html_id":"role_name=(role_name:String)-instance-method","name":"role_name=","abstract":false,"args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"args_string":"(role_name : String)","args_html":"(role_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name=","args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"visibility":"Public","body":"@role_name = role_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Space","path":"TwentyFiveLivePro/Models/Expanded/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name","return_type":"String","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"args_string":"(space_formal_name : String)","args_html":"(space_formal_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/State","path":"TwentyFiveLivePro/Models/Expanded/State.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"state:Int64-instance-method","name":"state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state","return_type":"Int64","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int64)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int64"}],"args_string":"(state : Int64)","args_html":"(state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int64"}],"visibility":"Public","body":"@state = state"}},{"html_id":"state_name:String-instance-method","name":"state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name","return_type":"String","visibility":"Public","body":"@state_name"}},{"html_id":"state_name=(state_name:String)-instance-method","name":"state_name=","abstract":false,"args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"args_string":"(state_name : String)","args_html":"(state_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name=","args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"visibility":"Public","body":"@state_name = state_name"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Feature","path":"TwentyFiveLivePro/Models/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"quantity:Int64-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity","return_type":"Int64","visibility":"Public","body":"@quantity"}},{"html_id":"quantity=(quantity:Int64)-instance-method","name":"quantity=","abstract":false,"args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"args_string":"(quantity : Int64)","args_html":"(quantity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity=","args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"visibility":"Public","body":"@quantity = quantity"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Layout","path":"TwentyFiveLivePro/Models/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default_layout:Bool-instance-method","name":"default_layout","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout","return_type":"Bool","visibility":"Public","body":"@default_layout"}},{"html_id":"default_layout=(default_layout:Bool)-instance-method","name":"default_layout=","abstract":false,"args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"args_string":"(default_layout : Bool)","args_html":"(default_layout : Bool)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout=","args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"visibility":"Public","body":"@default_layout = default_layout"}},{"html_id":"layout_capacity:Int64-instance-method","name":"layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity","return_type":"Int64","visibility":"Public","body":"@layout_capacity"}},{"html_id":"layout_capacity=(layout_capacity:Int64)-instance-method","name":"layout_capacity=","abstract":false,"args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"args_string":"(layout_capacity : Int64)","args_html":"(layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity=","args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@layout_capacity = layout_capacity"}},{"html_id":"layout_diagram_id:Int64|Nil-instance-method","name":"layout_diagram_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_diagram_id"}},{"html_id":"layout_diagram_id=(layout_diagram_id:Int64|Nil)-instance-method","name":"layout_diagram_id=","abstract":false,"args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_diagram_id : Int64 | Nil)","args_html":"(layout_diagram_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id=","args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_diagram_id = layout_diagram_id"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_photo_id:Int64|Nil-instance-method","name":"layout_photo_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_photo_id"}},{"html_id":"layout_photo_id=(layout_photo_id:Int64|Nil)-instance-method","name":"layout_photo_id=","abstract":false,"args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_photo_id : Int64 | Nil)","args_html":"(layout_photo_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id=","args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_photo_id = layout_photo_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Organization","path":"TwentyFiveLivePro/Models/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String|Nil-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title","return_type":"String | ::Nil","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String|Nil)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"args_string":"(organization_title : String | Nil)","args_html":"(organization_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64|Nil-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64|Nil)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"args_string":"(organization_type_id : Int64 | Nil)","args_html":"(organization_type_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","path":"TwentyFiveLivePro/Models/OrganizationDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Organization)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items","return_type":"Array(Organization)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Organization))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"args_string":"(items : Array(Organization))","args_html":"(items : Array(Organization))","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title","return_type":"String","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"args_string":"(organization_title : String)","args_html":"(organization_title : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_categories:Array(Expanded::Category)|Nil-instance-method","name":"organization_categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@organization_categories"}},{"html_id":"organization_categories=(organization_categories:Array(Expanded::Category)|Nil)-instance-method","name":"organization_categories=","abstract":false,"args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(organization_categories : Array(Expanded::Category) | Nil)","args_html":"(organization_categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories=","args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@organization_categories = organization_categories"}},{"html_id":"organization_types:Array(Expanded::OrganizationType)|Nil-instance-method","name":"organization_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types","return_type":"Array(Expanded::OrganizationType) | ::Nil","visibility":"Public","body":"@organization_types"}},{"html_id":"organization_types=(organization_types:Array(Expanded::OrganizationType)|Nil)-instance-method","name":"organization_types=","abstract":false,"args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"args_string":"(organization_types : Array(Expanded::OrganizationType) | Nil)","args_html":"(organization_types : Array(Expanded::OrganizationType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types=","args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"visibility":"Public","body":"@organization_types = organization_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","path":"TwentyFiveLivePro/Models/PaginatedResponse.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_item_count:Int64-instance-method","name":"current_item_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count","return_type":"Int64","visibility":"Public","body":"@current_item_count"}},{"html_id":"current_item_count=(current_item_count:Int64)-instance-method","name":"current_item_count=","abstract":false,"args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"args_string":"(current_item_count : Int64)","args_html":"(current_item_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count=","args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"visibility":"Public","body":"@current_item_count = current_item_count"}},{"html_id":"items_per_page:Int64-instance-method","name":"items_per_page","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page","return_type":"Int64","visibility":"Public","body":"@items_per_page"}},{"html_id":"items_per_page=(items_per_page:Int64)-instance-method","name":"items_per_page=","abstract":false,"args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"args_string":"(items_per_page : Int64)","args_html":"(items_per_page : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page=","args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"visibility":"Public","body":"@items_per_page = items_per_page"}},{"html_id":"page_index:Int64-instance-method","name":"page_index","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index","return_type":"Int64","visibility":"Public","body":"@page_index"}},{"html_id":"page_index=(page_index:Int64)-instance-method","name":"page_index=","abstract":false,"args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"args_string":"(page_index : Int64)","args_html":"(page_index : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index=","args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"visibility":"Public","body":"@page_index = page_index"}},{"html_id":"paginate_key:Int64-instance-method","name":"paginate_key","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key","return_type":"Int64","visibility":"Public","body":"@paginate_key"}},{"html_id":"paginate_key=(paginate_key:Int64)-instance-method","name":"paginate_key=","abstract":false,"args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"args_string":"(paginate_key : Int64)","args_html":"(paginate_key : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key=","args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"visibility":"Public","body":"@paginate_key = paginate_key"}},{"html_id":"paging_link_template:String-instance-method","name":"paging_link_template","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template","return_type":"String","visibility":"Public","body":"@paging_link_template"}},{"html_id":"paging_link_template=(paging_link_template:String)-instance-method","name":"paging_link_template=","abstract":false,"args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"args_string":"(paging_link_template : String)","args_html":"(paging_link_template : String)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template=","args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"visibility":"Public","body":"@paging_link_template = paging_link_template"}},{"html_id":"total_items:Int64-instance-method","name":"total_items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items","return_type":"Int64","visibility":"Public","body":"@total_items"}},{"html_id":"total_items=(total_items:Int64)-instance-method","name":"total_items=","abstract":false,"args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"args_string":"(total_items : Int64)","args_html":"(total_items : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items=","args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"visibility":"Public","body":"@total_items = total_items"}},{"html_id":"total_pages:Int64-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages","return_type":"Int64","visibility":"Public","body":"@total_pages"}},{"html_id":"total_pages=(total_pages:Int64)-instance-method","name":"total_pages=","abstract":false,"args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"args_string":"(total_pages : Int64)","args_html":"(total_pages : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages=","args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"visibility":"Public","body":"@total_pages = total_pages"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","path":"TwentyFiveLivePro/Models/Reservations.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"engine:String|Nil-instance-method","name":"engine","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine","return_type":"String | ::Nil","visibility":"Public","body":"@engine"}},{"html_id":"engine=(engine:String|Nil)-instance-method","name":"engine=","abstract":false,"args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"args_string":"(engine : String | Nil)","args_html":"(engine : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine=","args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"visibility":"Public","body":"@engine = engine"}},{"html_id":"reservation:Array(Data)-instance-method","name":"reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation","return_type":"Array(Data)","visibility":"Public","body":"@reservation"}},{"html_id":"reservation=(reservation:Array(Data))-instance-method","name":"reservation=","abstract":false,"args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"args_string":"(reservation : Array(Data))","args_html":"(reservation : Array(Data))","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation=","args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"visibility":"Public","body":"@reservation = reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","path":"TwentyFiveLivePro/Models/Reservations/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_end_dt:Date-instance-method","name":"event_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt","return_type":"Date","visibility":"Public","body":"@event_end_dt"}},{"html_id":"event_end_dt=(event_end_dt:Date)-instance-method","name":"event_end_dt=","abstract":false,"args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"args_string":"(event_end_dt : Date)","args_html":"(event_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt=","args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"visibility":"Public","body":"@event_end_dt = event_end_dt"}},{"html_id":"event_id:Int64-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id","return_type":"Int64","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:Int64)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"args_string":"(event_id : Int64)","args_html":"(event_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"event_locator:String|Nil-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator","return_type":"String | ::Nil","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String|Nil)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"args_string":"(event_locator : String | Nil)","args_html":"(event_locator : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"event_name:String|Nil-instance-method","name":"event_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_name"}},{"html_id":"event_name=(event_name:String|Nil)-instance-method","name":"event_name=","abstract":false,"args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"args_string":"(event_name : String | Nil)","args_html":"(event_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name=","args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_name = event_name"}},{"html_id":"event_start_dt:Date-instance-method","name":"event_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt","return_type":"Date","visibility":"Public","body":"@event_start_dt"}},{"html_id":"event_start_dt=(event_start_dt:Date)-instance-method","name":"event_start_dt=","abstract":false,"args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"args_string":"(event_start_dt : Date)","args_html":"(event_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt=","args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"visibility":"Public","body":"@event_start_dt = event_start_dt"}},{"html_id":"event_title:String|Nil-instance-method","name":"event_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title","return_type":"String | ::Nil","visibility":"Public","body":"@event_title"}},{"html_id":"event_title=(event_title:String|Nil)-instance-method","name":"event_title=","abstract":false,"args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"args_string":"(event_title : String | Nil)","args_html":"(event_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title=","args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_title = event_title"}},{"html_id":"event_type_class:String|Nil-instance-method","name":"event_type_class","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_class"}},{"html_id":"event_type_class=(event_type_class:String|Nil)-instance-method","name":"event_type_class=","abstract":false,"args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"args_string":"(event_type_class : String | Nil)","args_html":"(event_type_class : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class=","args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_class = event_type_class"}},{"html_id":"event_type_name:String|Nil-instance-method","name":"event_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_name"}},{"html_id":"event_type_name=(event_type_name:String|Nil)-instance-method","name":"event_type_name=","abstract":false,"args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"args_string":"(event_type_name : String | Nil)","args_html":"(event_type_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name=","args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_name = event_type_name"}},{"html_id":"expected_count:Int64-instance-method","name":"expected_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count","return_type":"Int64","visibility":"Public","body":"@expected_count"}},{"html_id":"expected_count=(expected_count:Int64)-instance-method","name":"expected_count=","abstract":false,"args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"args_string":"(expected_count : Int64)","args_html":"(expected_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count=","args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"visibility":"Public","body":"@expected_count = expected_count"}},{"html_id":"last_mod_dt:Date-instance-method","name":"last_mod_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt","return_type":"Date","visibility":"Public","body":"@last_mod_dt"}},{"html_id":"last_mod_dt=(last_mod_dt:Date)-instance-method","name":"last_mod_dt=","abstract":false,"args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"args_string":"(last_mod_dt : Date)","args_html":"(last_mod_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt=","args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"visibility":"Public","body":"@last_mod_dt = last_mod_dt"}},{"html_id":"last_mod_user:String|Nil-instance-method","name":"last_mod_user","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user","return_type":"String | ::Nil","visibility":"Public","body":"@last_mod_user"}},{"html_id":"last_mod_user=(last_mod_user:String|Nil)-instance-method","name":"last_mod_user=","abstract":false,"args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"args_string":"(last_mod_user : String | Nil)","args_html":"(last_mod_user : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user=","args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_mod_user = last_mod_user"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String|Nil-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name","return_type":"String | ::Nil","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String|Nil)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"args_string":"(organization_name : String | Nil)","args_html":"(organization_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"post_event_dt:Date-instance-method","name":"post_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt","return_type":"Date","visibility":"Public","body":"@post_event_dt"}},{"html_id":"post_event_dt=(post_event_dt:Date)-instance-method","name":"post_event_dt=","abstract":false,"args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"args_string":"(post_event_dt : Date)","args_html":"(post_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt=","args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"visibility":"Public","body":"@post_event_dt = post_event_dt"}},{"html_id":"pre_event_dt:Date-instance-method","name":"pre_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt","return_type":"Date","visibility":"Public","body":"@pre_event_dt"}},{"html_id":"pre_event_dt=(pre_event_dt:Date)-instance-method","name":"pre_event_dt=","abstract":false,"args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"args_string":"(pre_event_dt : Date)","args_html":"(pre_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt=","args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"visibility":"Public","body":"@pre_event_dt = pre_event_dt"}},{"html_id":"profile_description:String-instance-method","name":"profile_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description","return_type":"String","visibility":"Public","body":"@profile_description"}},{"html_id":"profile_description=(profile_description:String)-instance-method","name":"profile_description=","abstract":false,"args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"args_string":"(profile_description : String)","args_html":"(profile_description : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description=","args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"visibility":"Public","body":"@profile_description = profile_description"}},{"html_id":"profile_id:Int64-instance-method","name":"profile_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id","return_type":"Int64","visibility":"Public","body":"@profile_id"}},{"html_id":"profile_id=(profile_id:Int64)-instance-method","name":"profile_id=","abstract":false,"args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"args_string":"(profile_id : Int64)","args_html":"(profile_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id=","args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"visibility":"Public","body":"@profile_id = profile_id"}},{"html_id":"profile_name:String|Nil-instance-method","name":"profile_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name","return_type":"String | ::Nil","visibility":"Public","body":"@profile_name"}},{"html_id":"profile_name=(profile_name:String|Nil)-instance-method","name":"profile_name=","abstract":false,"args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"args_string":"(profile_name : String | Nil)","args_html":"(profile_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name=","args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@profile_name = profile_name"}},{"html_id":"registered_count:Int64-instance-method","name":"registered_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count","return_type":"Int64","visibility":"Public","body":"@registered_count"}},{"html_id":"registered_count=(registered_count:Int64)-instance-method","name":"registered_count=","abstract":false,"args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"args_string":"(registered_count : Int64)","args_html":"(registered_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count=","args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"visibility":"Public","body":"@registered_count = registered_count"}},{"html_id":"registration_label:String|Nil-instance-method","name":"registration_label","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label","return_type":"String | ::Nil","visibility":"Public","body":"@registration_label"}},{"html_id":"registration_label=(registration_label:String|Nil)-instance-method","name":"registration_label=","abstract":false,"args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"args_string":"(registration_label : String | Nil)","args_html":"(registration_label : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label=","args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"visibility":"Public","body":"@registration_label = registration_label"}},{"html_id":"registration_url:String-instance-method","name":"registration_url","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url","return_type":"String","visibility":"Public","body":"@registration_url"}},{"html_id":"registration_url=(registration_url:String)-instance-method","name":"registration_url=","abstract":false,"args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"args_string":"(registration_url : String)","args_html":"(registration_url : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url=","args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"visibility":"Public","body":"@registration_url = registration_url"}},{"html_id":"reservation_comment_id:String|Nil-instance-method","name":"reservation_comment_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comment_id"}},{"html_id":"reservation_comment_id=(reservation_comment_id:String|Nil)-instance-method","name":"reservation_comment_id=","abstract":false,"args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"args_string":"(reservation_comment_id : String | Nil)","args_html":"(reservation_comment_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id=","args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comment_id = reservation_comment_id"}},{"html_id":"reservation_comments:String|Nil-instance-method","name":"reservation_comments","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comments"}},{"html_id":"reservation_comments=(reservation_comments:String|Nil)-instance-method","name":"reservation_comments=","abstract":false,"args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"args_string":"(reservation_comments : String | Nil)","args_html":"(reservation_comments : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments=","args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comments = reservation_comments"}},{"html_id":"reservation_end_dt:Date-instance-method","name":"reservation_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt","return_type":"Date","visibility":"Public","body":"@reservation_end_dt"}},{"html_id":"reservation_end_dt=(reservation_end_dt:Date)-instance-method","name":"reservation_end_dt=","abstract":false,"args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"args_string":"(reservation_end_dt : Date)","args_html":"(reservation_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt=","args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_end_dt = reservation_end_dt"}},{"html_id":"reservation_id:Int64-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id","return_type":"Int64","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:Int64)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"args_string":"(reservation_id : Int64)","args_html":"(reservation_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"reservation_start_dt:Date-instance-method","name":"reservation_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt","return_type":"Date","visibility":"Public","body":"@reservation_start_dt"}},{"html_id":"reservation_start_dt=(reservation_start_dt:Date)-instance-method","name":"reservation_start_dt=","abstract":false,"args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"args_string":"(reservation_start_dt : Date)","args_html":"(reservation_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt=","args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_start_dt = reservation_start_dt"}},{"html_id":"reservation_state:Int64-instance-method","name":"reservation_state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state","return_type":"Int64","visibility":"Public","body":"@reservation_state"}},{"html_id":"reservation_state=(reservation_state:Int64)-instance-method","name":"reservation_state=","abstract":false,"args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"args_string":"(reservation_state : Int64)","args_html":"(reservation_state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state=","args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"visibility":"Public","body":"@reservation_state = reservation_state"}},{"html_id":"reservation_state_name:String|Nil-instance-method","name":"reservation_state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_state_name"}},{"html_id":"reservation_state_name=(reservation_state_name:String|Nil)-instance-method","name":"reservation_state_name=","abstract":false,"args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"args_string":"(reservation_state_name : String | Nil)","args_html":"(reservation_state_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name=","args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_state_name = reservation_state_name"}},{"html_id":"space_reservation:Space-instance-method","name":"space_reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation","return_type":"Space","visibility":"Public","body":"@space_reservation"}},{"html_id":"space_reservation=(space_reservation:Space)-instance-method","name":"space_reservation=","abstract":false,"args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"args_string":"(space_reservation : Space)","args_html":"(space_reservation : Space)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation=","args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"visibility":"Public","body":"@space_reservation = space_reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data/Space","path":"TwentyFiveLivePro/Models/Reservations/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual_count:String|Nil-instance-method","name":"actual_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count","return_type":"String | ::Nil","visibility":"Public","body":"@actual_count"}},{"html_id":"actual_count=(actual_count:String|Nil)-instance-method","name":"actual_count=","abstract":false,"args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"args_string":"(actual_count : String | Nil)","args_html":"(actual_count : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count=","args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"visibility":"Public","body":"@actual_count = actual_count"}},{"html_id":"default_layout_capacity:String|Nil-instance-method","name":"default_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity","return_type":"String | ::Nil","visibility":"Public","body":"@default_layout_capacity"}},{"html_id":"default_layout_capacity=(default_layout_capacity:String|Nil)-instance-method","name":"default_layout_capacity=","abstract":false,"args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"args_string":"(default_layout_capacity : String | Nil)","args_html":"(default_layout_capacity : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity=","args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default_layout_capacity = default_layout_capacity"}},{"html_id":"formal_name:String|Nil-instance-method","name":"formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@formal_name"}},{"html_id":"formal_name=(formal_name:String|Nil)-instance-method","name":"formal_name=","abstract":false,"args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"args_string":"(formal_name : String | Nil)","args_html":"(formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name=","args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@formal_name = formal_name"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String|Nil-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name","return_type":"String | ::Nil","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String|Nil)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"args_string":"(layout_name : String | Nil)","args_html":"(layout_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@layout_name = layout_name"}},{"html_id":"selected_layout_capacity:Int64-instance-method","name":"selected_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity","return_type":"Int64","visibility":"Public","body":"@selected_layout_capacity"}},{"html_id":"selected_layout_capacity=(selected_layout_capacity:Int64)-instance-method","name":"selected_layout_capacity=","abstract":false,"args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"args_string":"(selected_layout_capacity : Int64)","args_html":"(selected_layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity=","args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@selected_layout_capacity = selected_layout_capacity"}},{"html_id":"shared:String|Nil-instance-method","name":"shared","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared","return_type":"String | ::Nil","visibility":"Public","body":"@shared"}},{"html_id":"shared=(shared:String|Nil)-instance-method","name":"shared=","abstract":false,"args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"args_string":"(shared : String | Nil)","args_html":"(shared : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared=","args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"visibility":"Public","body":"@shared = shared"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_instruction_id:String|Nil-instance-method","name":"space_instruction_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_instruction_id"}},{"html_id":"space_instruction_id=(space_instruction_id:String|Nil)-instance-method","name":"space_instruction_id=","abstract":false,"args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"args_string":"(space_instruction_id : String | Nil)","args_html":"(space_instruction_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id=","args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instruction_id = space_instruction_id"}},{"html_id":"space_instructions:String|Nil-instance-method","name":"space_instructions","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions","return_type":"String | ::Nil","visibility":"Public","body":"@space_instructions"}},{"html_id":"space_instructions=(space_instructions:String|Nil)-instance-method","name":"space_instructions=","abstract":false,"args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"args_string":"(space_instructions : String | Nil)","args_html":"(space_instructions : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions=","args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instructions = space_instructions"}},{"html_id":"space_name:String|Nil-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String|Nil)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"args_string":"(space_name : String | Nil)","args_html":"(space_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_name = space_name"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Resource","path":"TwentyFiveLivePro/Models/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","path":"TwentyFiveLivePro/Models/ResourceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","path":"TwentyFiveLivePro/Models/ResourceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Resource)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items","return_type":"Array(Resource)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Resource))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"args_string":"(items : Array(Resource))","args_html":"(items : Array(Resource))","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Role","path":"TwentyFiveLivePro/Models/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id","return_type":"Int64","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"args_string":"(contact_id : Int64)","args_html":"(contact_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Space","path":"TwentyFiveLivePro/Models/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","path":"TwentyFiveLivePro/Models/SpaceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","path":"TwentyFiveLivePro/Models/SpaceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Space)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items","return_type":"Array(Space)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Space))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"args_string":"(items : Array(Space))","args_html":"(items : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"args_string":"(attributes : Array(Attribute) | Nil)","args_html":"(attributes : Array(Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"args_string":"(categories : Array(Category) | Nil)","args_html":"(categories : Array(Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"features:Array(Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features","return_type":"Array(Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"args_string":"(features : Array(Feature) | Nil)","args_html":"(features : Array(Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"layouts:Array(Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts","return_type":"Array(Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"args_string":"(layouts : Array(Layout) | Nil)","args_html":"(layouts : Array(Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"roles:Array(Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles","return_type":"Array(Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"args_string":"(roles : Array(Role) | Nil)","args_html":"(roles : Array(Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L70"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"features:Array(Expanded::Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features","return_type":"Array(Expanded::Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Expanded::Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"args_string":"(features : Array(Expanded::Feature) | Nil)","args_html":"(features : Array(Expanded::Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"layouts:Array(Expanded::Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts","return_type":"Array(Expanded::Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Expanded::Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"args_string":"(layouts : Array(Expanded::Layout) | Nil)","args_html":"(layouts : Array(Expanded::Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}}]}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/RoomSchedule","path":"TwentyFiveLivePro/RoomSchedule.html","kind":"class","full_name":"TwentyFiveLivePro::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L36"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local\n todays_events = fetch_events(today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y%m%d\"))\n todays_events.sort_by() do |__arg1|\n __arg1.date.duration\n end.reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.date.start_date\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by? do |__arg2|\n __arg2.date.start_date\n end\n previous_event = past_events.max_by? do |__arg3|\n __arg3.date.end_date\n end\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String,since:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"args_string":"(start_date : String, end_date : String, since : String)","args_html":"(start_date : String, end_date : String, since : String)","location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L80"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"visibility":"Public","body":"relevant_events = [] of Models::Event\nevents = Array(Models::Event).from_json((twenty_five_live_pro.list_events(1, 100, since, nil)).get.not_nil!.to_json)\nevents.each do |event|\n details = Models::EventDetail.from_json((twenty_five_live_pro.get_event_details(event.id, [\"all\"], [\"all\"])).get.not_nil!.to_json)\n if expanded_info = details.content.expanded_info\n if spaces = expanded_info.spaces\n if spaces.empty?\n next\n end\n if @space_id == spaces.first.space_id\n if event_data = details.content.data\n if event_items = event_data.items\n if event_items.empty?\n next\n end\n event_items.each do |event_item|\n if date = event_item.date\n if (date.start_date.to_rfc3339.includes?(start_date)) && (date.end_date.to_rfc3339.includes?(start_date))\n relevant_events.push(Models::Event.from_json(event_item.to_json))\n end\n end\n end\n end\n end\n end\n end\n end\nend\nrelevant_events\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/twenty_five_live_pro/room_schedule.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@space_id = setting(String, :twenty_five_live_pro_space_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/Union","path":"Union.html","kind":"struct","full_name":"Union(*T)","name":"Union","abstract":false,"superclass":{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},"ancestors":[{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/http-params-serializable/src/http-params-serializable/ext/union.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/http-params-serializable/src/http-params-serializable/ext/union.cr#L2"},{"filename":"src/place/router/settings.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"FIXME: submit as PR to crystal standard lib to support this neatly","summary":"

FIXME submit as PR to crystal standard lib to support this neatly

","class_methods":[{"html_id":"from_json_object_key?(key:String)-class-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/place/router/settings.cr#L171"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"{% for t in T %}\n instance = {{ t }}.from_json_object_key? key\n return instance unless instance.nil?\n {% end %}\nraise(JSON::ParseException.new(\"Couldn't parse #{self} from #{key}\", 176, 0))\n"}}]},{"html_id":"drivers/Vecos","path":"Vecos.html","kind":"module","full_name":"Vecos","name":"Vecos","abstract":false,"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L3"},{"filename":"src/vecos/releezme/booking.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L3"},{"filename":"src/vecos/releezme/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L3"},{"filename":"src/vecos/releezme/locker.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L3"},{"filename":"src/vecos/releezme/locker_bank.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L3"},{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L4"},{"filename":"src/vecos/releezme/locker_group.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L3"},{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L3"},{"filename":"src/vecos/releezme/locker_users.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L3"},{"filename":"src/vecos/releezme/paging.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L3"},{"filename":"src/vecos/releezme/section.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Vecos/Allocation","path":"Vecos/Allocation.html","kind":"struct","full_name":"Vecos::Allocation","name":"Allocation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/allocation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_by_locker_action_on_release?:Bool-instance-method","name":"allocated_by_locker_action_on_release?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L33"},"def":{"name":"allocated_by_locker_action_on_release?","return_type":"Bool","visibility":"Public","body":"@allocated_by_locker_action_on_release"}},{"html_id":"allocated_for_package?:Bool-instance-method","name":"allocated_for_package?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L30"},"def":{"name":"allocated_for_package?","return_type":"Bool","visibility":"Public","body":"@allocated_for_package"}},{"html_id":"dynamically_allocated?:Bool-instance-method","name":"dynamically_allocated?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L18"},"def":{"name":"dynamically_allocated?","return_type":"Bool","visibility":"Public","body":"@dynamically_allocated"}},{"html_id":"expiring:Time-instance-method","name":"expiring","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L24"},"def":{"name":"expiring","return_type":"Time","visibility":"Public","body":"@expiring"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L12"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"self_releasable?:Bool-instance-method","name":"self_releasable?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L15"},"def":{"name":"self_releasable?","return_type":"Bool","visibility":"Public","body":"@self_releasable"}},{"html_id":"shared_to_user?:Bool-instance-method","name":"shared_to_user?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L27"},"def":{"name":"shared_to_user?","return_type":"Bool","visibility":"Public","body":"@shared_to_user"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L21"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/allocation.cr#L9"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Booking","path":"Vecos/Booking.html","kind":"struct","full_name":"Vecos::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/booking.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/booking.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ending:Time-instance-method","name":"ending","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L26"},"def":{"name":"ending","return_type":"Time","visibility":"Public","body":"@ending"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L20"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L17"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L11"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/booking.cr#L23"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}}]},{"html_id":"drivers/Vecos/Location","path":"Vecos/Location.html","kind":"struct","full_name":"Vecos::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/location.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"time_zone:String|Nil-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/location.cr#L14"},"def":{"name":"time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Vecos/Locker","path":"Vecos/Locker.html","kind":"struct","full_name":"Vecos::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blocked:Bool-instance-method","name":"blocked","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L20"},"def":{"name":"blocked","return_type":"Bool","visibility":"Public","body":"@blocked"}},{"html_id":"door_number:Int32-instance-method","name":"door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L35"},"def":{"name":"door_number","return_type":"Int32","visibility":"Public","body":"@door_number"}},{"html_id":"door_number_prefix:String-instance-method","name":"door_number_prefix","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L32"},"def":{"name":"door_number_prefix","return_type":"String","visibility":"Public","body":"@door_number_prefix"}},{"html_id":"dynamic_allocated:Bool|Nil-instance-method","name":"dynamic_allocated","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L41"},"def":{"name":"dynamic_allocated","return_type":"Bool | ::Nil","visibility":"Public","body":"@dynamic_allocated"}},{"html_id":"expires_date_time_utc:Time|Nil-instance-method","name":"expires_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L62"},"def":{"name":"expires_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@expires_date_time_utc"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L29"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_detected:Bool-instance-method","name":"is_detected","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L26"},"def":{"name":"is_detected","return_type":"Bool","visibility":"Public","body":"@is_detected"}},{"html_id":"is_shareable:Bool|Nil-instance-method","name":"is_shareable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L56"},"def":{"name":"is_shareable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shareable"}},{"html_id":"is_shared:Bool|Nil-instance-method","name":"is_shared","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L53"},"def":{"name":"is_shared","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shared"}},{"html_id":"is_usable:Bool-instance-method","name":"is_usable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L23"},"def":{"name":"is_usable","return_type":"Bool","visibility":"Public","body":"@is_usable"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_brick_id:String-instance-method","name":"locker_brick_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L17"},"def":{"name":"locker_brick_id","return_type":"String","visibility":"Public","body":"@locker_brick_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L11"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"number_of_allocations:Int32|Nil-instance-method","name":"number_of_allocations","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L47"},"def":{"name":"number_of_allocations","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_allocations"}},{"html_id":"number_of_digits_for_door_number:Int32-instance-method","name":"number_of_digits_for_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L68"},"def":{"name":"number_of_digits_for_door_number","return_type":"Int32","visibility":"Public","body":"@number_of_digits_for_door_number"}},{"html_id":"open_time:Int32-instance-method","name":"open_time","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L44"},"def":{"name":"open_time","return_type":"Int32","visibility":"Public","body":"@open_time"}},{"html_id":"self_release_allowed:Bool|Nil-instance-method","name":"self_release_allowed","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L38"},"def":{"name":"self_release_allowed","return_type":"Bool | ::Nil","visibility":"Public","body":"@self_release_allowed"}},{"html_id":"sequence_number:Int32-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L59"},"def":{"name":"sequence_number","return_type":"Int32","visibility":"Public","body":"@sequence_number"}},{"html_id":"shared_to_user:Bool|Nil-instance-method","name":"shared_to_user","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L50"},"def":{"name":"shared_to_user","return_type":"Bool | ::Nil","visibility":"Public","body":"@shared_to_user"}},{"html_id":"start_date_time_utc:Time|Nil-instance-method","name":"start_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker.cr#L65"},"def":{"name":"start_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@start_date_time_utc"}}]},{"html_id":"drivers/Vecos/LockerBank","path":"Vecos/LockerBank.html","kind":"struct","full_name":"Vecos::LockerBank","name":"LockerBank","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L29"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L17"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"published:Bool-instance-method","name":"published","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L20"},"def":{"name":"published","return_type":"Bool","visibility":"Public","body":"@published"}},{"html_id":"random_allocation:Bool|Nil-instance-method","name":"random_allocation","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L23"},"def":{"name":"random_allocation","return_type":"Bool | ::Nil","visibility":"Public","body":"@random_allocation"}},{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L14"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}},{"html_id":"service_mode:Bool-instance-method","name":"service_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank.cr#L26"},"def":{"name":"service_mode","return_type":"Bool","visibility":"Public","body":"@service_mode"}}]},{"html_id":"drivers/Vecos/LockerBankAndLockerGroup","path":"Vecos/LockerBankAndLockerGroup.html","kind":"struct","full_name":"Vecos::LockerBankAndLockerGroup","name":"LockerBankAndLockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"locker_bank:LockerBank-instance-method","name":"locker_bank","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L9"},"def":{"name":"locker_bank","return_type":"LockerBank","visibility":"Public","body":"@locker_bank"}},{"html_id":"locker_group:LockerGroup-instance-method","name":"locker_group","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_bank_and_locker_group.cr#L12"},"def":{"name":"locker_group","return_type":"LockerGroup","visibility":"Public","body":"@locker_group"}}]},{"html_id":"drivers/Vecos/LockerGroup","path":"Vecos/LockerGroup.html","kind":"struct","full_name":"Vecos::LockerGroup","name":"LockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"lock_mode:Int32-instance-method","name":"lock_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L14"},"def":{"name":"lock_mode","return_type":"Int32","visibility":"Public","body":"@lock_mode"}},{"html_id":"locker_booking_feature_enabled:Bool-instance-method","name":"locker_booking_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L17"},"def":{"name":"locker_booking_feature_enabled","return_type":"Bool","visibility":"Public","body":"@locker_booking_feature_enabled"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"postal_service_feature_enabled:Bool-instance-method","name":"postal_service_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group.cr#L20"},"def":{"name":"postal_service_feature_enabled","return_type":"Bool","visibility":"Public","body":"@postal_service_feature_enabled"}}]},{"html_id":"drivers/Vecos/LockerGroupStatus","path":"Vecos/LockerGroupStatus.html","kind":"struct","full_name":"Vecos::LockerGroupStatus","name":"LockerGroupStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_dynamic_lockers:Int32-instance-method","name":"allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L26"},"def":{"name":"allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_dynamic_lockers"}},{"html_id":"allocated_static_lockers:Int32-instance-method","name":"allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L38"},"def":{"name":"allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_static_lockers"}},{"html_id":"available_dynamic_lockers:Int32-instance-method","name":"available_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L23"},"def":{"name":"available_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@available_dynamic_lockers"}},{"html_id":"available_static_lockers:Int32-instance-method","name":"available_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L35"},"def":{"name":"available_static_lockers","return_type":"Int32","visibility":"Public","body":"@available_static_lockers"}},{"html_id":"blocked_allocated_dynamic_lockers:Int32-instance-method","name":"blocked_allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L29"},"def":{"name":"blocked_allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_dynamic_lockers"}},{"html_id":"blocked_allocated_static_lockers:Int32-instance-method","name":"blocked_allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L41"},"def":{"name":"blocked_allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_static_lockers"}},{"html_id":"blocked_unallocated_dynamic_lockers:Int32-instance-method","name":"blocked_unallocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L32"},"def":{"name":"blocked_unallocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_dynamic_lockers"}},{"html_id":"blocked_unallocated_static_lockers:Int32-instance-method","name":"blocked_unallocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L44"},"def":{"name":"blocked_unallocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_static_lockers"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L8"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_group_name:String-instance-method","name":"locker_group_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L11"},"def":{"name":"locker_group_name","return_type":"String","visibility":"Public","body":"@locker_group_name"}},{"html_id":"public_lockers:Int32-instance-method","name":"public_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L20"},"def":{"name":"public_lockers","return_type":"Int32","visibility":"Public","body":"@public_lockers"}},{"html_id":"unusable_lockers:Int32-instance-method","name":"unusable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L17"},"def":{"name":"unusable_lockers","return_type":"Int32","visibility":"Public","body":"@unusable_lockers"}},{"html_id":"usable_lockers:Int32-instance-method","name":"usable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_group_status.cr#L14"},"def":{"name":"usable_lockers","return_type":"Int32","visibility":"Public","body":"@usable_lockers"}}]},{"html_id":"drivers/Vecos/LockerUsers","path":"Vecos/LockerUsers.html","kind":"struct","full_name":"Vecos::LockerUsers","name":"LockerUsers","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_users.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L17"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L11"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L14"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/locker_users.cr#L20"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Paging","path":"Vecos/Paging.html","kind":"struct","full_name":"Vecos::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/paging.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/paging.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"first_item_on_page:Int32-instance-method","name":"first_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L8"},"def":{"name":"first_item_on_page","return_type":"Int32","visibility":"Public","body":"@first_item_on_page"}},{"html_id":"has_next_page:Bool-instance-method","name":"has_next_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L11"},"def":{"name":"has_next_page","return_type":"Bool","visibility":"Public","body":"@has_next_page"}},{"html_id":"has_previous_page:Bool-instance-method","name":"has_previous_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L14"},"def":{"name":"has_previous_page","return_type":"Bool","visibility":"Public","body":"@has_previous_page"}},{"html_id":"is_first_page:Bool-instance-method","name":"is_first_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L17"},"def":{"name":"is_first_page","return_type":"Bool","visibility":"Public","body":"@is_first_page"}},{"html_id":"is_last_page:Bool-instance-method","name":"is_last_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L20"},"def":{"name":"is_last_page","return_type":"Bool","visibility":"Public","body":"@is_last_page"}},{"html_id":"last_item_on_page:Int32-instance-method","name":"last_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L23"},"def":{"name":"last_item_on_page","return_type":"Int32","visibility":"Public","body":"@last_item_on_page"}},{"html_id":"page_count:Int32-instance-method","name":"page_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L26"},"def":{"name":"page_count","return_type":"Int32","visibility":"Public","body":"@page_count"}},{"html_id":"page_number:Int32-instance-method","name":"page_number","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L29"},"def":{"name":"page_number","return_type":"Int32","visibility":"Public","body":"@page_number"}},{"html_id":"page_size:Int32-instance-method","name":"page_size","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L32"},"def":{"name":"page_size","return_type":"Int32","visibility":"Public","body":"@page_size"}},{"html_id":"total_item_count:Int32-instance-method","name":"total_item_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/paging.cr#L35"},"def":{"name":"total_item_count","return_type":"Int32","visibility":"Public","body":"@total_item_count"}}]},{"html_id":"drivers/Vecos/Releezme","path":"Vecos/Releezme.html","kind":"class","full_name":"Vecos::Releezme","name":"Releezme","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"bank(bank_id:String)-instance-method","name":"bank","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L174"},"def":{"name":"bank","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"LockerBank.from_json(fetch_item(\"/api/lockerbanks/#{bank_id}\"))"}},{"html_id":"bank_group_lockers_available(bank_id:String,group_id:String)-instance-method","name":"bank_group_lockers_available","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String)","args_html":"(bank_id : String, group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L187"},"def":{"name":"bank_group_lockers_available","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/#{group_id}/availablelockers?pageSize=200\")"}},{"html_id":"bank_groups(bank_id:String)-instance-method","name":"bank_groups","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L178"},"def":{"name":"bank_groups","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockergroups?pageSize=200\")"}},{"html_id":"bank_locker_allocations(bank_id:String)-instance-method","name":"bank_locker_allocations","doc":"NOTE:: Only accessible to System Control Clients","summary":"

NOTE : Only accessible to System Control Clients

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L192"},"def":{"name":"bank_locker_allocations","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/allocations?pageSize=200\")"}},{"html_id":"bank_lockers(bank_id:String)-instance-method","name":"bank_lockers","doc":"returns all the lockers in the bank without paging (but paging json is included)","summary":"

returns all the lockers in the bank without paging (but paging json is included)

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L183"},"def":{"name":"bank_lockers","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockers?pageSize=200\")"}},{"html_id":"banks-instance-method","name":"banks","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L170"},"def":{"name":"banks","visibility":"Public","body":"fetch_pages(\"/api/lockerbanks?pageSize=200\")"}},{"html_id":"bearer_token:String-instance-method","name":"bearer_token","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L110"},"def":{"name":"bearer_token","visibility":"Public","body":"@bearer_token"}},{"html_id":"book_locker(starting:Int64,ending:Int64,user_id:String,locker_id:String|Nil=nil,group_id:String|Nil=nil,bank_id:String|Nil=nil,timezone:String=\"UTC\")-instance-method","name":"book_locker","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"args_string":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = \"UTC\")","args_html":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = "UTC")","location":{"filename":"src/vecos/releezme.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L248"},"def":{"name":"book_locker","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"tz = Time::Location.load(timezone)\nresponse = post(\"/api/bookings\", body: {\"StartDateTimeUtc\" => ((Time.unix(starting)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"EndDateTimeUtc\" => ((Time.unix(ending)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"LockerGroupId\" => group_id, \"LockerBankId\" => bank_id, \"LockerId\" => locker_id, \"ExternalUserId\" => user_id}.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"bookings(user_id:String)-instance-method","name":"bookings","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L216"},"def":{"name":"bookings","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings?#{params}\")\n"}},{"html_id":"bookings_availability(user_id:String,starting:Int64,ending:Int64,section_id:String|Nil=nil,location_id:String|Nil=nil,bank_id:String|Nil=nil,group_id:String|Nil=nil,locker_id:String|Nil=nil)-instance-method","name":"bookings_availability","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","args_html":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L224"},"def":{"name":"bookings_availability","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"startDateTimeUtc\", (Time.unix(starting)).to_rfc3339)\n form.add(\"endDateTimeUtc\", (Time.unix(ending)).to_rfc3339)\n if section_id.presence\n form.add(\"sectionId\", section_id.as(String))\n end\n if location_id.presence\n form.add(\"locationId\", location_id.as(String))\n end\n if bank_id.presence\n form.add(\"lockerBankId\", bank_id.as(String))\n end\n if bank_id.presence && group_id.presence\n form.add(\"lockerBankId\", group_id.as(String))\n end\n if locker_id.presence\n form.add(\"lockerId\", locker_id.as(String))\n end\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings/availability?#{params}\")\n"}},{"html_id":"can_allocate_locker?(user_id:String):String-instance-method","name":"can_allocate_locker?","doc":"check if a user can be allocated a new locker","summary":"

check if a user can be allocated a new locker

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : String","args_html":"(user_id : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L278"},"def":{"name":"can_allocate_locker?","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = get(\"/api/lockers/canallocate?#{params}\")\nresponse.body\n"}},{"html_id":"can_share_locker_with?(locker_id:String,owner_id:String,search:String)-instance-method","name":"can_share_locker_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, search : String)","args_html":"(locker_id : String, owner_id : String, search : String)","location":{"filename":"src/vecos/releezme.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L343"},"def":{"name":"can_share_locker_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"searchString\", search)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"companies-instance-method","name":"companies","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L118"},"def":{"name":"companies","visibility":"Public","body":"(JSON.parse(fetch_item(\"/api/companies\")))[\"Companies\"]"}},{"html_id":"fetch_item(location:String):String-instance-method","name":"fetch_item","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L101"},"def":{"name":"fetch_item","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get(location)\nif response.status_code == 401\n @expires = 1.minute.ago\nend\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nresponse.body\n"}},{"html_id":"fetch_pages(location:String):Array(JSON::Any)-instance-method","name":"fetch_pages","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : Array(JSON::Any)","args_html":"(location : String) : Array(JSON::Any)","location":{"filename":"src/vecos/releezme.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L75"},"def":{"name":"fetch_pages","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"Array(JSON::Any)","visibility":"Public","body":"append = location.includes?('?') ? '&' : '?'\nnext_page = \"#{location}#{append}pageNumber=#{1}\"\ndata = [] of JSON::Any\nloop do\n response = get(next_page)\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = (JSON.parse(response.body)).as_h\n pages = if has_paging = payload.delete(\"Paging\")\n Paging.from_json(has_paging.to_json)\n end\n data.concat(payload[payload.keys.first].as_a)\n if pages && pages.has_next_page\n else\n break\n end\n next_page = \"#{location}#{append}pageNumber=#{pages.page_number + 1}\"\nend\ndata\n"}},{"html_id":"group(group_id:String)-instance-method","name":"group","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L204"},"def":{"name":"group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"Array(LockerGroup).from_json(fetch_item(\"/api/lockergroups/#{group_id}\"))"}},{"html_id":"group_locker_banks(group_id:String)-instance-method","name":"group_locker_banks","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L208"},"def":{"name":"group_locker_banks","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockergroups/#{group_id}/lockerbanks?pageSize=200\")"}},{"html_id":"groups-instance-method","name":"groups","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L200"},"def":{"name":"groups","visibility":"Public","body":"fetch_pages(\"/api/lockergroups?pageSize=200\")"}},{"html_id":"location(location_id:String)-instance-method","name":"location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L131"},"def":{"name":"location","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"Location.from_json(fetch_item(\"/api/locations/#{location_id}\"))"}},{"html_id":"location_sections(location_id:String)-instance-method","name":"location_sections","doc":"typically these are floors in the building","summary":"

typically these are floors in the building

","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L136"},"def":{"name":"location_sections","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/locations/#{location_id}/sections?pageSize=200\")"}},{"html_id":"locations-instance-method","name":"locations","doc":"typically these are buildings","summary":"

typically these are buildings

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L127"},"def":{"name":"locations","visibility":"Public","body":"fetch_pages(\"/api/locations?pageSize=200\")"}},{"html_id":"locker_allocate(locker_id:String,user_id:String)-instance-method","name":"locker_allocate","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, user_id : String)","args_html":"(locker_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L286"},"def":{"name":"locker_allocate","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_allocate_random(bank_id:String,group_id:String,user_id:String)-instance-method","name":"locker_allocate_random","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String, user_id : String)","args_html":"(bank_id : String, group_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":295,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L295"},"def":{"name":"locker_allocate_random","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"lockerBankId\", bank_id)\n form.add(\"lockerGroupId\", group_id)\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_release(locker_id:String,user_id:String|Nil=nil):Nil-instance-method","name":"locker_release","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, user_id : String | Nil = nil) : Nil","args_html":"(locker_id : String, user_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L306"},"def":{"name":"locker_release","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"params = URI::Params.build do |form|\n if user_id.presence\n form.add(\"externalUserId\", user_id)\n end\nend\nresponse = post(\"/api/lockers/#{locker_id}/release?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"locker_shared_with?(locker_id:String,owner_id:String)-instance-method","name":"locker_shared_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String)","args_html":"(locker_id : String, owner_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L351"},"def":{"name":"locker_shared_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"locker_unlock(locker_id:String,pin_code:String|Nil=nil)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, pin_code : String | Nil = nil)","args_html":"(locker_id : String, pin_code : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L314"},"def":{"name":"locker_unlock","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"pin_route = pin_code ? nil : \"/withoutpincode\"\nresponse = post(\"/api/lockers/#{locker_id}/pincode/unlock#{pin_route}\", body: pin_code)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"lockers_allocated_to(user_id:String)-instance-method","name":"lockers_allocated_to","doc":"the lockers that are currently allocated to the specified user\nthe user ID is typically email - defined by the client","summary":"

the lockers that are currently allocated to the specified user the user ID is typically email - defined by the client

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L269"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/lockers/allocated?#{params}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"client_id = setting(String, :client_id)\nclient_secret = setting(String, :client_secret)\nusername = setting(String, :username)\npassword = setting(String, :password)\nreleezme_authentication_domain = setting(String, :releezme_authentication_domain)\ntransport.before_request do |req|\n access_token = get_access_token(client_id, client_secret, username, password, releezme_authentication_domain)\n req.headers[\"Authorization\"] = access_token\n req.headers[\"Content-Type\"] = \"application/json\"\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"section(section_id:String)-instance-method","name":"section","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L149"},"def":{"name":"section","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"Section.from_json(fetch_item(\"/api/locations/#{section_id}\"))"}},{"html_id":"section_banks_allocatable(section_id:String,user_id:String)-instance-method","name":"section_banks_allocatable","doc":"banks and groups in the banks that the user can allocate to themselves","summary":"

banks and groups in the banks that the user can allocate to themselves

","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(section_id : String, user_id : String)","args_html":"(section_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L158"},"def":{"name":"section_banks_allocatable","args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/sections/#{section_id}/lockerbanklockergroups/allocatable?#{params}\")\n"}},{"html_id":"section_locker_banks(section_id:String)-instance-method","name":"section_locker_banks","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L153"},"def":{"name":"section_locker_banks","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/sections/#{section_id}/lockerbanks?pageSize=200\")"}},{"html_id":"sections-instance-method","name":"sections","doc":"all floors from all buildings in one request","summary":"

all floors from all buildings in one request

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L145"},"def":{"name":"sections","visibility":"Public","body":"fetch_pages(\"/api/sections?pageSize=200\")"}},{"html_id":"share_locker_with(locker_id:String,owner_id:String,user_id:String):Bool-instance-method","name":"share_locker_with","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, user_id : String) : Bool","args_html":"(locker_id : String, owner_id : String, user_id : String) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L324"},"def":{"name":"share_locker_with","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"sharedUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/share?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"unshare_locker(locker_id:String,owner_id:String,shared_with_internal_id:String|Nil=nil):Bool-instance-method","name":"unshare_locker","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","args_html":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme.cr#L334"},"def":{"name":"unshare_locker","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/unshare/#{shared_with_internal_id}?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}}]},{"html_id":"drivers/Vecos/ReleezmeLocations","path":"Vecos/ReleezmeLocations.html","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L72"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L275"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of lockers on this level","summary":"

array of lockers on this level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L281"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for lockers in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nreleexme_section_id = @floor_mappings[zone_id]\nbanks = Array(Vecos::LockerBank).from_json((releezme.section_locker_banks(releexme_section_id)).get.to_json)\nif @door_number_lookup && @last_mapped < 3.hour.ago\n @last_mapped = Time.utc\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n self[locker.full_door_number.downcase] = locker.id\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nelse\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L64"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L262"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"releezme incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"locker_allocate(user_id:String,bank_id:String|Int64,locker_id:String|Int64|Nil=nil,expires_at:Int64|Nil=nil):PlaceLocker-instance-method","name":"locker_allocate","doc":"allocates a locker now, the allocation may expire","summary":"

allocates a locker now, the allocation may expire

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","args_html":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","location":{"filename":"src/vecos/releezme_locations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L136"},"def":{"name":"locker_allocate","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"return_type":"PlaceLocker","visibility":"Public","body":"user_id = get_user_key(user_id)\nlocker_id = locker_id ? lookup_id(locker_id.to_s) : nil\nif expires_at\n timezone = system.timezone || \"UTC\"\n booking = if locker_id\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, locker_id, timezone: timezone)).get\n else\n group_id = get_group_id(user_id, bank_id)\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, group_id: group_id, bank_id: bank_id, timezone: timezone)).get\n end\n PlaceLocker.new(Vecos::Booking.from_json(booking.to_json))\nelse\n if locker_id\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate(locker_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n else\n group_id = get_group_id(user_id, bank_id)\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate_random(bank_id, group_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n end\nend\n"}},{"html_id":"locker_release(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil):Nil-instance-method","name":"locker_release","doc":"return the locker to the pool","summary":"

return the locker to the pool

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L173"},"def":{"name":"locker_release","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\nif owner_id\n owner_id = get_user_key(owner_id)\nend\n(releezme.locker_release(locker_id, owner_id)).get\n"}},{"html_id":"locker_share(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,share_with:String):Nil-instance-method","name":"locker_share","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L194"},"def":{"name":"locker_share","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.share_locker_with(locker_id, get_user_key(owner_id), get_user_key(share_with))).get\n"}},{"html_id":"locker_shared_with(bank_id:String|Int64,locker_id:String|Int64,owner_id:String):Array(String)-instance-method","name":"locker_shared_with","doc":"a list of user-ids that the locker is shared with.\nthis can be placeos user ids or emails","summary":"

a list of user-ids that the locker is shared with.

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L229"},"def":{"name":"locker_shared_with","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nshared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\nshared_with.map do |user|\n user.email || user.user_id\nend\n"}},{"html_id":"locker_unlock(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil,open_time:Int32=60,pin_code:String|Nil=nil):Nil-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L241"},"def":{"name":"locker_unlock","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.locker_unlock(locker_id, pin_code)).get\n"}},{"html_id":"locker_unshare(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,shared_with_id:String|Nil=nil):Nil-instance-method","name":"locker_unshare","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L205"},"def":{"name":"locker_unshare","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nif shared_with_id\n shared_with_external_id = get_user_key(shared_with_id)\n shared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\n shared_user = shared_with.find do |user|\n user.user_id == shared_with_external_id\n end\n if shared_user\n else\n return\n end\n shared_with_id = shared_user.id\nend\n(releezme.unshare_locker(locker_id, owner_id, shared_with_id)).get\n"}},{"html_id":"lockers_allocated_to(user_id:String):Array(PlaceLocker)-instance-method","name":"lockers_allocated_to","doc":"a list of lockers that are allocated to the user","summary":"

a list of lockers that are allocated to the user

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(PlaceLocker)","args_html":"(user_id : String) : Array(PlaceLocker)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L187"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(PlaceLocker)","visibility":"Public","body":"user_id = get_user_key(user_id)\nlockers = Array(Vecos::Locker).from_json((releezme.lockers_allocated_to(user_id)).get.to_json)\nlockers.map do |locker|\n PlaceLocker.new(locker, true)\nend\n"}},{"html_id":"lookup_id(locker_id:String):String-instance-method","name":"lookup_id","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"args_string":"(locker_id : String) : String","args_html":"(locker_id : String) : String","location":{"filename":"src/vecos/releezme_locations.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L74"},"def":{"name":"lookup_id","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"if @door_number_lookup\n (status?(String, locker_id.downcase)) || locker_id\nelse\n locker_id\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L269"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@door_number_lookup = (setting?(Bool, :door_number_lookup)) || false\n@user_id_key = (setting?(String, :user_id_key)) || \"email\"\n@floor_mappings = (setting(Hash(String, Mapping), :vecos_floor_mappings)).transform_values(&.section_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\nif @door_number_lookup\n schedule.clear\n schedule.in((rand(10)).seconds) do\n @floor_mappings.each_key do |zone_id|\n device_locations(zone_id)\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Vecos/ReleezmeLocations/Mapping","path":"Vecos/ReleezmeLocations/Mapping.html","kind":"struct","full_name":"Vecos::ReleezmeLocations::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos/ReleezmeLocations","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L60"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}}]},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers/PlaceLocker","path":"PlaceOS/Driver/Interface/Lockers/PlaceLocker.html","kind":"class","full_name":"PlaceOS::Driver::Interface::Lockers::PlaceLocker","name":"PlaceLocker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/placeos-driver/src/placeos-driver/interface/lockers.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/lib/placeos-driver/src/placeos-driver/interface/lockers.cr#L9"},{"filename":"src/vecos/releezme_locations.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},"doc":"inherit this to extend with additional locker information","summary":"

inherit this to extend with additional locker information

","constructors":[{"html_id":"new(locker:Vecos::Locker,allocated:Bool=false,building:Nil|String=nil,level:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"args_string":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","args_html":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L87"},"def":{"name":"new","args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(locker, allocated, building, level)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(booking:Vecos::Booking)-class-method","name":"new","abstract":false,"args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"args_string":"(booking : Vecos::Booking)","args_html":"(booking : Vecos::Booking)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L106"},"def":{"name":"new","args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"visibility":"Public","body":"_ = allocate\n_.initialize(booking)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"group_id:String|Nil-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L116"},"def":{"name":"group_id","return_type":"String | ::Nil","visibility":"Public","body":"@group_id"}},{"html_id":"locker_uid:String|Nil-instance-method","name":"locker_uid","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme_locations.cr#L117"},"def":{"name":"locker_uid","return_type":"String | ::Nil","visibility":"Public","body":"@locker_uid"}}]}]},{"html_id":"drivers/Vecos/Section","path":"Vecos/Section.html","kind":"struct","full_name":"Vecos::Section","name":"Section","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/section.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/section.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L14"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vecos/releezme/section.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Vergesense","path":"Vergesense.html","kind":"module","full_name":"Vergesense","name":"Vergesense","abstract":false,"locations":[{"filename":"src/vergesense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Vergesense Data Models","summary":"

Vergesense Data Models

","types":[{"html_id":"drivers/Vergesense/Building","path":"Vergesense/Building.html","kind":"struct","full_name":"Vergesense::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L10"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"address=(address:String|Nil)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"args_string":"(address : String | Nil)","args_html":"(address : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L10"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@address = address"}},{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L8"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Vergesense/BuildingWithFloors","path":"Vergesense/BuildingWithFloors.html","kind":"struct","full_name":"Vergesense::BuildingWithFloors","name":"BuildingWithFloors","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L17"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"floors=(floors:Array(Floor))-instance-method","name":"floors=","abstract":false,"args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"args_string":"(floors : Array(Floor))","args_html":"(floors : Array(Floor))","location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L17"},"def":{"name":"floors=","args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"visibility":"Public","body":"@floors = floors"}}]},{"html_id":"drivers/Vergesense/Environment","path":"Vergesense/Environment.html","kind":"struct","full_name":"Vergesense::Environment","name":"Environment","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"humidity:Sensor-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L43"},"def":{"name":"humidity","return_type":"Sensor","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:Sensor)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"args_string":"(humidity : Sensor)","args_html":"(humidity : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L43"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"iaq:Sensor|Nil-instance-method","name":"iaq","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L44"},"def":{"name":"iaq","return_type":"Sensor | ::Nil","visibility":"Public","body":"@iaq"}},{"html_id":"iaq=(iaq:Sensor|Nil)-instance-method","name":"iaq=","abstract":false,"args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"args_string":"(iaq : Sensor | Nil)","args_html":"(iaq : Sensor | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L44"},"def":{"name":"iaq=","args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"visibility":"Public","body":"@iaq = iaq"}},{"html_id":"sensor:String-instance-method","name":"sensor","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L40"},"def":{"name":"sensor","return_type":"String","visibility":"Public","body":"@sensor"}},{"html_id":"sensor=(sensor:String)-instance-method","name":"sensor=","abstract":false,"args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"args_string":"(sensor : String)","args_html":"(sensor : String)","location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L40"},"def":{"name":"sensor=","args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"visibility":"Public","body":"@sensor = sensor"}},{"html_id":"temperature:Sensor-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L45"},"def":{"name":"temperature","return_type":"Sensor","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Sensor)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"args_string":"(temperature : Sensor)","args_html":"(temperature : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L45"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/Floor","path":"Vergesense/Floor.html","kind":"struct","full_name":"Vergesense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L25"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L25"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"floor_ref_id:String-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id","return_type":"String","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"args_string":"(floor_ref_id : String)","args_html":"(floor_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L27"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L27"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/Vergesense/Geometry","path":"Vergesense/Geometry.html","kind":"struct","full_name":"Vergesense::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"coordinates:Array(Array(Array(Float64)))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L95"},"def":{"name":"coordinates","return_type":"Array(Array(Array(Float64)))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Array(Array(Float64))))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"args_string":"(coordinates : Array(Array(Array(Float64))))","args_html":"(coordinates : Array(Array(Array(Float64))))","location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L95"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L94"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L94"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Vergesense/LocationService","path":"Vergesense/LocationService.html","kind":"class","full_name":"Vergesense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L90"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L95"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfloor = @occupancy_mappings[zone_id]?\nif floor\nelse\n return [] of Nil\nend\ndesk_types = @desk_space_types\nfloor.spaces.compact_map do |space|\n loc_type = space.space_type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n people_count = space.people.try(&.count)\n if @return_empty_spaces || (people_count && people_count > 0)\n if env = space.environment\n humidity = env.humidity.value\n temperature = env.temperature.value\n iaq = env.iaq.try(&.value)\n end\n {location: loc_type, at_location: people_count || 0, map_id: space.name, level: zone_id, building: @building_mappings[zone_id]?, capacity: space.capacity, vergesense_space_id: space.ref_id, vergesense_space_type: space.space_type, area_humidity: humidity, area_temperature: temperature, area_air_quality: iaq, signs_of_life: space.signs_of_life}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L80"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vergesense/location_service.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L85"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(String), :desk_space_types)) || [\"desk\"]\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.values.map do |z|\n level = z[:level_id]\n @building_mappings[level] = z[:building_id]\n level\nend\nbind_floor_status\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L138"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id\n else\n return nil\n end\n zone_id, _, space_id = mac.rpartition('-')\n if zone_id.empty? || space_id.empty?\n return nil\n end\n floor = @occupancy_mappings[zone_id]?\n if floor\n else\n return nil\n end\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(zone_id, floor, floor_space, :people_count)\n when \"presence\"\n build_sensor_details(zone_id, floor, floor_space, :presence)\n when \"humidity\"\n build_sensor_details(zone_id, floor, floor_space, :humidity)\n when \"temp\"\n build_sensor_details(zone_id, floor, floor_space, :temperature)\n when \"air\"\n build_sensor_details(zone_id, floor, floor_space, :air_quality)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/vergesense/location_service.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/location_service.cr#L172"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n level_zone, _, space_id = mac.rpartition('-')\n if (zone_id && (zone_id != level_zone)) || space_id.empty?\n return NO_MATCH\n end\n zone_id = level_zone\nend\nif zone_id && (!(@occupancy_mappings.has_key?(zone_id)))\n return NO_MATCH\nend\nif space_id\n floor = @occupancy_mappings[zone_id]\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return NO_MATCH\n end\n spaces = [{zone_id, floor, floor_space}]\nelse\n if zone_id\n floor = @occupancy_mappings[zone_id]\n spaces = floor.spaces.map do |space|\n {zone_id, floor, space}\n end\n else\n spaces = @occupancy_mappings.flat_map do |__arg2|\n zone = __arg2[0]\n floor = __arg2[1]\n floor.spaces.map do |space|\n {zone, floor, space}\n end\n end\n end\nend\nif sensor_type\n spaces.compact_map do |__arg3|\n zone = __arg3[0]\n floor = __arg3[1]\n space = __arg3[2]\n build_sensor_details(zone.not_nil!, floor, space, sensor_type)\n end\nelse\n spaces.flat_map do |__arg4|\n zone = __arg4[0]\n floor = __arg4[1]\n space = __arg4[2]\n space_sensors(zone.not_nil!, floor, space)\n end.compact\nend\n"}}]},{"html_id":"drivers/Vergesense/MqttExport","path":"Vergesense/MqttExport.html","kind":"class","full_name":"Vergesense::MqttExport","name":"MqttExport","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/mqtt_export.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L46"},"def":{"name":"inspect_state","visibility":"Public","body":"{vergesense_subscriptions: @subscriptions, people_counts: @previous_counts}"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/mqtt_export.cr#L31"},"def":{"name":"on_update","visibility":"Public","body":"@mqtt_root_topic = (setting(String, :mqtt_root_topic)) || \"/t/root-topic\"\n@floors_to_export = (setting(Array(String), :floors_to_export)) || ([] of String)\n@debug = (setting(Bool, :debug)) || false\nsubscriptions.clear\n@subscriptions = 0\n@floors_to_export.each do |floor|\n system.subscribe(:Vergesense_1, floor) do |_subscription, vergesense_floor_json|\n vergesense_to_mqtt(Floor.from_json(vergesense_floor_json))\n end\n @subscriptions = @subscriptions + 1\nend\n"}}]},{"html_id":"drivers/Vergesense/People","path":"Vergesense/People.html","kind":"struct","full_name":"Vergesense::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:UInt32|Nil-instance-method","name":"count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L101"},"def":{"name":"count","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"count=(count:UInt32|Nil)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"args_string":"(count : UInt32 | Nil)","args_html":"(count : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L101"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@count = count"}}]},{"html_id":"drivers/Vergesense/Report","path":"Vergesense/Report.html","kind":"struct","full_name":"Vergesense::Report","name":"Report","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person_count:Int32|Nil-instance-method","name":"person_count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L52"},"def":{"name":"person_count","return_type":"Int32 | ::Nil","visibility":"Public","body":"@person_count"}},{"html_id":"person_count=(person_count:Int32|Nil)-instance-method","name":"person_count=","abstract":false,"args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"args_string":"(person_count : Int32 | Nil)","args_html":"(person_count : Int32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L52"},"def":{"name":"person_count=","args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@person_count = person_count"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L51"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L51"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/RoomSensor","path":"Vergesense/RoomSensor.html","kind":"class","full_name":"Vergesense::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"if (value = @floor_name).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#floor_name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_name?:String|Nil-instance-method","name":"floor_name?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsystem.subscribe(:Vergesense, 1, \"init_complete\") do |_sub, value|\n if value == \"true\"\n subscribe_to_sensor\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/vergesense/room_sensor.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L100"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"verg-#{@space_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nwhen \"humidity\"\n build_sensor_details(:humidity)\nwhen \"temperature\"\n build_sensor_details(:temperature)\nwhen \"air_quality\"\n build_sensor_details(:air_quality)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/vergesense/room_sensor.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L81"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"verg-#{@space_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"space:Space-instance-method","name":"space","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space","return_type":"Space","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:Space|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space?","return_type":"Space | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/Vergesense/Sensor","path":"Vergesense/Sensor.html","kind":"struct","full_name":"Vergesense::Sensor","name":"Sensor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"units:String-instance-method","name":"units","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L33"},"def":{"name":"units","return_type":"String","visibility":"Public","body":"@units"}},{"html_id":"units=(units:String)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"String"}],"args_string":"(units : String)","args_html":"(units : String)","location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L33"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"String"}],"visibility":"Public","body":"@units = units"}},{"html_id":"value:Float64-instance-method","name":"value","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L34"},"def":{"name":"value","return_type":"Float64","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Float64)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64"}],"args_string":"(value : Float64)","args_html":"(value : Float64)","location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L34"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Float64"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Vergesense/Space","path":"Vergesense/Space.html","kind":"class","full_name":"Vergesense::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String|Nil-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String|Nil)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"args_string":"(building_ref_id : String | Nil)","args_html":"(building_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L64"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L64"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"environment:Environment|Nil-instance-method","name":"environment","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L69"},"def":{"name":"environment","return_type":"Environment | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:Environment|Nil)-instance-method","name":"environment=","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"args_string":"(environment : Environment | Nil)","args_html":"(environment : Environment | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L69"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"floor_key-instance-method","name":"floor_key","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L82"},"def":{"name":"floor_key","visibility":"Public","body":"\"#{building_ref_id}-#{floor_ref_id}\".strip"}},{"html_id":"floor_ref_id:String|Nil-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String|Nil)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"args_string":"(floor_ref_id : String | Nil)","args_html":"(floor_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"last_reports:Array(Report)|Nil-instance-method","name":"last_reports","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L68"},"def":{"name":"last_reports","return_type":"Array(Report) | ::Nil","visibility":"Public","body":"@last_reports"}},{"html_id":"last_reports=(last_reports:Array(Report)|Nil)-instance-method","name":"last_reports=","abstract":false,"args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"args_string":"(last_reports : Array(Report) | Nil)","args_html":"(last_reports : Array(Report) | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L68"},"def":{"name":"last_reports=","args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"visibility":"Public","body":"@last_reports = last_reports"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"motion_detected:Bool|Nil-instance-method","name":"motion_detected","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected","return_type":"Bool | ::Nil","visibility":"Public","body":"@motion_detected"}},{"html_id":"motion_detected=(motion_detected:Bool|Nil)-instance-method","name":"motion_detected=","abstract":false,"args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"args_string":"(motion_detected : Bool | Nil)","args_html":"(motion_detected : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected=","args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@motion_detected = motion_detected"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L63"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L63"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"people:People|Nil-instance-method","name":"people","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L67"},"def":{"name":"people","return_type":"People | ::Nil","visibility":"Public","body":"@people"}},{"html_id":"people=(people:People|Nil)-instance-method","name":"people=","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"args_string":"(people : People | Nil)","args_html":"(people : People | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L67"},"def":{"name":"people=","args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"visibility":"Public","body":"@people = people"}},{"html_id":"ref_id-instance-method","name":"ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L86"},"def":{"name":"ref_id","visibility":"Public","body":"(self.space_ref_id || self.floor_ref_id) || self.space_type"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"signs_of_life?:Bool|Nil-instance-method","name":"signs_of_life?","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L73"},"def":{"name":"signs_of_life?","return_type":"Bool | ::Nil","visibility":"Public","body":"if report = last_reports.try(&.first?)\n if report.timestamp >= 2.hours.ago\n report.signs_of_life\n end\nend"}},{"html_id":"space_ref_id:String|Nil-instance-method","name":"space_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_ref_id"}},{"html_id":"space_ref_id=(space_ref_id:String|Nil)-instance-method","name":"space_ref_id=","abstract":false,"args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"args_string":"(space_ref_id : String | Nil)","args_html":"(space_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id=","args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_ref_id = space_ref_id"}},{"html_id":"space_type:String|Nil-instance-method","name":"space_type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L62"},"def":{"name":"space_type","return_type":"String | ::Nil","visibility":"Public","body":"@space_type"}},{"html_id":"space_type=(space_type:String|Nil)-instance-method","name":"space_type=","abstract":false,"args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"args_string":"(space_type : String | Nil)","args_html":"(space_type : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L62"},"def":{"name":"space_type=","args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_type = space_type"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L70"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time|Nil)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"args_string":"(timestamp : Time | Nil)","args_html":"(timestamp : Time | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/models.cr#L70"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/VergesenseAPI","path":"Vergesense/VergesenseAPI.html","kind":"class","full_name":"Vergesense::VergesenseAPI","name":"VergesenseAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/vergesense_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_key(space_id:String)-instance-method","name":"floor_key","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L85"},"def":{"name":"floor_key","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@spaces[space_id]"}},{"html_id":"init_sync-instance-method","name":"init_sync","doc":"Performs initial sync by loading buildings / floors / spaces","summary":"

Performs initial sync by loading buildings / floors / spaces

","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L45"},"def":{"name":"init_sync","visibility":"Public","body":"begin\n @sync_lock.synchronize do\n init_buildings\n if @buildings\n init_floors\n init_spaces\n init_floors_status\n self[\"init_complete\"] = true\n end\n end\nrescue e\n logger.error do\n \"failed to perform vergesense API sync\\n#{e.inspect_with_backtrace}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.in(200.milliseconds) do\n init_sync\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :vergesense_api_key)\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@poll_every = (setting?(Int32, :poll_every)).try(&.seconds)\nschedule.clear\nif poll_time = @poll_every\n schedule.every(poll_time) do\n init_sync\n end\nend\n"}},{"html_id":"space_report_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"space_report_api","doc":"Webhook endpoint for space_report API, expects version 2","summary":"

Webhook endpoint for space_report API, expects version 2

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/vergesense/vergesense_api.cr#L65"},"def":{"name":"space_report_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"space_report API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nbegin\n remote_space = Space.from_json(body)\n logger.debug do\n \"parsed vergesense payload\"\n end\n update_floor_space(remote_space)\n update_single_floor_status(remote_space.floor_key, @floors[remote_space.floor_key]?)\nrescue e\n logger.error do\n \"failed to parse vergesense space_report API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]}]},{"html_id":"drivers/Whispir","path":"Whispir.html","kind":"module","full_name":"Whispir","name":"Whispir","abstract":false,"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Whispir/Messages","path":"Whispir/Messages.html","kind":"class","full_name":"Whispir::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/Whispir","kind":"module","full_name":"Whispir","name":"Whispir"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/whispir/messages.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/whispir/messages.cr#L33"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponse = post(\"/messages?apikey=#{@api_key}\", body: {to: phone_numbers.join(\";\"), subject: \"PlaceOS Notification\", body: message}.to_json, headers: {\"Content-Type\" => \"application/vnd.whispir.message-v1+json\", \"Accept\" => \"application/vnd.whispir.message-v1+json\", \"x-api-key\" => @api_key})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nlocation = response.headers[\"Location\"]?\nlogger.debug do\n \"message sent: #{location}\"\nend\nlocation\n"}}]}]},{"html_id":"drivers/WilliamsAV","path":"WilliamsAV.html","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV","abstract":false,"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM","path":"WilliamsAV/WaveCastFM.html","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TYPES","name":"TYPES","value":"{Command::TDU8_REBOOT => Type::TT_U8, Command::TDU8_RESTORE_DEFAULTS => Type::TT_U8, Command::TDU8_VU_METER_VALUE => Type::TT_U8, Command::TDU8_INPUT_GAIN => Type::TT_U8, Command::TDU8_INPUT_SOURCE => Type::TT_U8, Command::TDU8_PRESET => Type::TT_U8, Command::TDU8_HIGH_PASS => Type::TT_U8, Command::TDU8_LOW_PASS => Type::TT_U8, Command::TDU8_COMPRESSION => Type::TT_U8, Command::TDU8_USE_DHCP => Type::TT_U8, Command::TDU8_AUDIO_TX_MODE => Type::TT_U8, Command::TDU8_TTL => Type::TT_U8, Command::TDU8_SECURE_MODE => Type::TT_U8, Command::TDU8_PANEL_LOCK => Type::TT_U8, Command::TDU32_RF_TIMEOUT => Type::TT_U32, Command::TDU8_RF_CHANNEL => Type::TT_U8, Command::TDU8_RF_17_CHANNEL_MODE => Type::TT_U8, Command::TDU8_RF_POWER => Type::TT_U8, Command::TDSTR_SERVER_NAME => Type::TT_STRING, Command::TDSTR_STATIC_IP_ADDR => Type::TT_STRING, Command::TDSTR_STATIC_SUBNET_MASK => Type::TT_STRING, Command::TDSTR_STATIC_GATEWAY_ADDR => Type::TT_STRING, Command::TDSTR_MULTICAST_ADDR => Type::TT_STRING, Command::TDSTR_JOIN_CODE => Type::TT_STRING}"}],"namespace":{"html_id":"drivers/WilliamsAV","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"query_state"}},{"html_id":"enable_join_code(state:Bool)-instance-method","name":"enable_join_code","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L161"},"def":{"name":"enable_join_code","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_SECURE_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"input_gain(value:UInt8)-instance-method","name":"input_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L187"},"def":{"name":"input_gain","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 50_u8)\nwrite(Command::TDU8_INPUT_GAIN, value)\n"}},{"html_id":"input_source(value:InputSource)-instance-method","name":"input_source","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"args_string":"(value : InputSource)","args_html":"(value : InputSource)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L202"},"def":{"name":"input_source","args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"visibility":"Public","body":"write(Command::TDU8_INPUT_SOURCE, value.to_u8)"}},{"html_id":"lock_front_panel(state:Bool)-instance-method","name":"lock_front_panel","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L230"},"def":{"name":"lock_front_panel","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_PANEL_LOCK, state ? 1_u8 : 0_u8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute) do\n query_state\nend\n"}},{"html_id":"preset(value:Preset)-instance-method","name":"preset","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Preset"}],"args_string":"(value : Preset)","args_html":"(value : Preset)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L214"},"def":{"name":"preset","args":[{"name":"value","external_name":"value","restriction":"Preset"}],"visibility":"Public","body":"write(Command::TDU8_PRESET, value.to_u8)"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L92"},"def":{"name":"query_state","visibility":"Public","body":"response = get(\"/TBL-READ?All\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\ncount = 0\n(response.body.split('\\n')).each do |line|\n if line.presence\n else\n next\n end\n parts = (line.split(\",\")).map!(&.strip)\n begin\n type = Type.parse(parts[0])\n command = (Command.parse?(parts[1])) || parts[1]\n value_raw = parts[2]\n value = case type\n in Type::TT_FLOAT\n value_raw.to_f\n in Type::TT_U8, Type::TT_U32, Type::TT_S8, Type::TT_S32\n value_raw.to_i\n in Type::TT_STRING\n value_raw\n end\n set_status(command, value)\n count = count + 1\n rescue error\n raise(\"error parsing response line\\n#{error.inspect_with_backtrace}\")\n end\nend\n\"#{count} values updated\"\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L171"},"def":{"name":"reboot","visibility":"Public","body":"write(Command::TDU8_REBOOT, 1_u8)"}},{"html_id":"restore_defaults-instance-method","name":"restore_defaults","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L176"},"def":{"name":"restore_defaults","visibility":"Public","body":"write(Command::TDU8_RESTORE_DEFAULTS, 1_u8)"}},{"html_id":"set_join_code(pin:String)-instance-method","name":"set_join_code","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L166"},"def":{"name":"set_join_code","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_JOIN_CODE, pin)"}},{"html_id":"set_multicast_address(ip_address:String)-instance-method","name":"set_multicast_address","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L235"},"def":{"name":"set_multicast_address","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_MULTICAST_ADDR, ip_address)"}},{"html_id":"set_ttl(value:UInt8)-instance-method","name":"set_ttl","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L224"},"def":{"name":"set_ttl","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 30_u8)\nwrite(Command::TDU8_TTL, value)\n"}},{"html_id":"set_vu_meter(value:UInt8,overload:Bool=false)-instance-method","name":"set_vu_meter","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"args_string":"(value : UInt8, overload : Bool = false)","args_html":"(value : UInt8, overload : Bool = false)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L181"},"def":{"name":"set_vu_meter","args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"visibility":"Public","body":"if overload\nelse\n value = value.clamp(0_u8, 9_u8)\nend\nwrite(Command::TDU8_VU_METER_VALUE, value)\n"}},{"html_id":"transmit_multicast(state:Bool)-instance-method","name":"transmit_multicast","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L219"},"def":{"name":"transmit_multicast","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_AUDIO_TX_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"write(command:Command,value:UInt8|UInt32|String)-instance-method","name":"write","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"args_string":"(command : Command, value : UInt8 | UInt32 | String)","args_html":"(command : Command, value : UInt8 | UInt32 | String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L145"},"def":{"name":"write","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"visibility":"Public","body":"body_data = URI::Params.build do |form|\n form.add(\"type\", TYPES[command].to_s)\n form.add(\"id\", command.to_s)\n form.add(\"value\", value.to_s)\nend.to_s\nlogger.debug do\n \"updating setting: #{body_data}\"\nend\nresponse = post(\"/TBL-WRITE\", body: body_data)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nset_status(command, value)\n"}}],"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM/Command","path":"WilliamsAV/WaveCastFM/Command.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TDU8_REBOOT","name":"TDU8_REBOOT","value":"0"},{"id":"TDU8_RESTORE_DEFAULTS","name":"TDU8_RESTORE_DEFAULTS","value":"1"},{"id":"TDU8_VU_METER_VALUE","name":"TDU8_VU_METER_VALUE","value":"2"},{"id":"TDU8_INPUT_GAIN","name":"TDU8_INPUT_GAIN","value":"3"},{"id":"TDU8_INPUT_SOURCE","name":"TDU8_INPUT_SOURCE","value":"4"},{"id":"TDU8_PRESET","name":"TDU8_PRESET","value":"5"},{"id":"TDU8_HIGH_PASS","name":"TDU8_HIGH_PASS","value":"6"},{"id":"TDU8_LOW_PASS","name":"TDU8_LOW_PASS","value":"7"},{"id":"TDU8_COMPRESSION","name":"TDU8_COMPRESSION","value":"8"},{"id":"TDU8_USE_DHCP","name":"TDU8_USE_DHCP","value":"9"},{"id":"TDU8_AUDIO_TX_MODE","name":"TDU8_AUDIO_TX_MODE","value":"10"},{"id":"TDU8_TTL","name":"TDU8_TTL","value":"11"},{"id":"TDU8_SECURE_MODE","name":"TDU8_SECURE_MODE","value":"12"},{"id":"TDU8_PANEL_LOCK","name":"TDU8_PANEL_LOCK","value":"13"},{"id":"TDU32_RF_TIMEOUT","name":"TDU32_RF_TIMEOUT","value":"14"},{"id":"TDU8_RF_CHANNEL","name":"TDU8_RF_CHANNEL","value":"15"},{"id":"TDU8_RF_17_CHANNEL_MODE","name":"TDU8_RF_17_CHANNEL_MODE","value":"16"},{"id":"TDU8_RF_POWER","name":"TDU8_RF_POWER","value":"17"},{"id":"TDSTR_SERVER_NAME","name":"TDSTR_SERVER_NAME","value":"18"},{"id":"TDSTR_STATIC_IP_ADDR","name":"TDSTR_STATIC_IP_ADDR","value":"19"},{"id":"TDSTR_STATIC_SUBNET_MASK","name":"TDSTR_STATIC_SUBNET_MASK","value":"20"},{"id":"TDSTR_STATIC_GATEWAY_ADDR","name":"TDSTR_STATIC_GATEWAY_ADDR","value":"21"},{"id":"TDSTR_MULTICAST_ADDR","name":"TDSTR_MULTICAST_ADDR","value":"22"},{"id":"TDSTR_JOIN_CODE","name":"TDSTR_JOIN_CODE","value":"23"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tdstr_join_code?-instance-method","name":"tdstr_join_code?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L53"},"def":{"name":"tdstr_join_code?","visibility":"Public","body":"self == TDSTR_JOIN_CODE"}},{"html_id":"tdstr_multicast_addr?-instance-method","name":"tdstr_multicast_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L52"},"def":{"name":"tdstr_multicast_addr?","visibility":"Public","body":"self == TDSTR_MULTICAST_ADDR"}},{"html_id":"tdstr_server_name?-instance-method","name":"tdstr_server_name?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L48"},"def":{"name":"tdstr_server_name?","visibility":"Public","body":"self == TDSTR_SERVER_NAME"}},{"html_id":"tdstr_static_gateway_addr?-instance-method","name":"tdstr_static_gateway_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L51"},"def":{"name":"tdstr_static_gateway_addr?","visibility":"Public","body":"self == TDSTR_STATIC_GATEWAY_ADDR"}},{"html_id":"tdstr_static_ip_addr?-instance-method","name":"tdstr_static_ip_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L49"},"def":{"name":"tdstr_static_ip_addr?","visibility":"Public","body":"self == TDSTR_STATIC_IP_ADDR"}},{"html_id":"tdstr_static_subnet_mask?-instance-method","name":"tdstr_static_subnet_mask?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L50"},"def":{"name":"tdstr_static_subnet_mask?","visibility":"Public","body":"self == TDSTR_STATIC_SUBNET_MASK"}},{"html_id":"tdu32_rf_timeout?-instance-method","name":"tdu32_rf_timeout?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L44"},"def":{"name":"tdu32_rf_timeout?","visibility":"Public","body":"self == TDU32_RF_TIMEOUT"}},{"html_id":"tdu8_audio_tx_mode?-instance-method","name":"tdu8_audio_tx_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L40"},"def":{"name":"tdu8_audio_tx_mode?","visibility":"Public","body":"self == TDU8_AUDIO_TX_MODE"}},{"html_id":"tdu8_compression?-instance-method","name":"tdu8_compression?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L38"},"def":{"name":"tdu8_compression?","visibility":"Public","body":"self == TDU8_COMPRESSION"}},{"html_id":"tdu8_high_pass?-instance-method","name":"tdu8_high_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L36"},"def":{"name":"tdu8_high_pass?","visibility":"Public","body":"self == TDU8_HIGH_PASS"}},{"html_id":"tdu8_input_gain?-instance-method","name":"tdu8_input_gain?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L33"},"def":{"name":"tdu8_input_gain?","visibility":"Public","body":"self == TDU8_INPUT_GAIN"}},{"html_id":"tdu8_input_source?-instance-method","name":"tdu8_input_source?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L34"},"def":{"name":"tdu8_input_source?","visibility":"Public","body":"self == TDU8_INPUT_SOURCE"}},{"html_id":"tdu8_low_pass?-instance-method","name":"tdu8_low_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L37"},"def":{"name":"tdu8_low_pass?","visibility":"Public","body":"self == TDU8_LOW_PASS"}},{"html_id":"tdu8_panel_lock?-instance-method","name":"tdu8_panel_lock?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L43"},"def":{"name":"tdu8_panel_lock?","visibility":"Public","body":"self == TDU8_PANEL_LOCK"}},{"html_id":"tdu8_preset?-instance-method","name":"tdu8_preset?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L35"},"def":{"name":"tdu8_preset?","visibility":"Public","body":"self == TDU8_PRESET"}},{"html_id":"tdu8_reboot?-instance-method","name":"tdu8_reboot?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L30"},"def":{"name":"tdu8_reboot?","visibility":"Public","body":"self == TDU8_REBOOT"}},{"html_id":"tdu8_restore_defaults?-instance-method","name":"tdu8_restore_defaults?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L31"},"def":{"name":"tdu8_restore_defaults?","visibility":"Public","body":"self == TDU8_RESTORE_DEFAULTS"}},{"html_id":"tdu8_rf_17_channel_mode?-instance-method","name":"tdu8_rf_17_channel_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L46"},"def":{"name":"tdu8_rf_17_channel_mode?","visibility":"Public","body":"self == TDU8_RF_17_CHANNEL_MODE"}},{"html_id":"tdu8_rf_channel?-instance-method","name":"tdu8_rf_channel?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L45"},"def":{"name":"tdu8_rf_channel?","visibility":"Public","body":"self == TDU8_RF_CHANNEL"}},{"html_id":"tdu8_rf_power?-instance-method","name":"tdu8_rf_power?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L47"},"def":{"name":"tdu8_rf_power?","visibility":"Public","body":"self == TDU8_RF_POWER"}},{"html_id":"tdu8_secure_mode?-instance-method","name":"tdu8_secure_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L42"},"def":{"name":"tdu8_secure_mode?","visibility":"Public","body":"self == TDU8_SECURE_MODE"}},{"html_id":"tdu8_ttl?-instance-method","name":"tdu8_ttl?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L41"},"def":{"name":"tdu8_ttl?","visibility":"Public","body":"self == TDU8_TTL"}},{"html_id":"tdu8_use_dhcp?-instance-method","name":"tdu8_use_dhcp?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L39"},"def":{"name":"tdu8_use_dhcp?","visibility":"Public","body":"self == TDU8_USE_DHCP"}},{"html_id":"tdu8_vu_meter_value?-instance-method","name":"tdu8_vu_meter_value?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L32"},"def":{"name":"tdu8_vu_meter_value?","visibility":"Public","body":"self == TDU8_VU_METER_VALUE"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/InputSource","path":"WilliamsAV/WaveCastFM/InputSource.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::InputSource","name":"InputSource","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L192"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"AnalogLineIn","name":"AnalogLineIn","value":"1"},{"id":"Mic","name":"Mic","value":"2"},{"id":"PhantomMic","name":"PhantomMic","value":"3"},{"id":"AES","name":"AES","value":"4"},{"id":"S_PDIF","name":"S_PDIF","value":"5"},{"id":"TestTone","name":"TestTone","value":"6"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"aes?-instance-method","name":"aes?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L196"},"def":{"name":"aes?","visibility":"Public","body":"self == AES"}},{"html_id":"analog_line_in?-instance-method","name":"analog_line_in?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L193"},"def":{"name":"analog_line_in?","visibility":"Public","body":"self == AnalogLineIn"}},{"html_id":"mic?-instance-method","name":"mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L194"},"def":{"name":"mic?","visibility":"Public","body":"self == Mic"}},{"html_id":"phantom_mic?-instance-method","name":"phantom_mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L195"},"def":{"name":"phantom_mic?","visibility":"Public","body":"self == PhantomMic"}},{"html_id":"s_pdif?-instance-method","name":"s_pdif?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L197"},"def":{"name":"s_pdif?","visibility":"Public","body":"self == S_PDIF"}},{"html_id":"test_tone?-instance-method","name":"test_tone?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L198"},"def":{"name":"test_tone?","visibility":"Public","body":"self == TestTone"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Preset","path":"WilliamsAV/WaveCastFM/Preset.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Preset","name":"Preset","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L206"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Voice","name":"Voice","value":"1"},{"id":"Music","name":"Music","value":"2"},{"id":"HearingAssist","name":"HearingAssist","value":"3"},{"id":"Custom","name":"Custom","value":"4"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"custom?-instance-method","name":"custom?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L210"},"def":{"name":"custom?","visibility":"Public","body":"self == Custom"}},{"html_id":"hearing_assist?-instance-method","name":"hearing_assist?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L209"},"def":{"name":"hearing_assist?","visibility":"Public","body":"self == HearingAssist"}},{"html_id":"music?-instance-method","name":"music?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L208"},"def":{"name":"music?","visibility":"Public","body":"self == Music"}},{"html_id":"voice?-instance-method","name":"voice?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L207"},"def":{"name":"voice?","visibility":"Public","body":"self == Voice"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Type","path":"WilliamsAV/WaveCastFM/Type.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L56"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TT_FLOAT","name":"TT_FLOAT","value":"0"},{"id":"TT_U8","name":"TT_U8","value":"1"},{"id":"TT_U32","name":"TT_U32","value":"2"},{"id":"TT_S8","name":"TT_S8","value":"3"},{"id":"TT_S32","name":"TT_S32","value":"4"},{"id":"TT_STRING","name":"TT_STRING","value":"5"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tt_float?-instance-method","name":"tt_float?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L57"},"def":{"name":"tt_float?","visibility":"Public","body":"self == TT_FLOAT"}},{"html_id":"tt_s32?-instance-method","name":"tt_s32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L61"},"def":{"name":"tt_s32?","visibility":"Public","body":"self == TT_S32"}},{"html_id":"tt_s8?-instance-method","name":"tt_s8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L60"},"def":{"name":"tt_s8?","visibility":"Public","body":"self == TT_S8"}},{"html_id":"tt_string?-instance-method","name":"tt_string?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L62"},"def":{"name":"tt_string?","visibility":"Public","body":"self == TT_STRING"}},{"html_id":"tt_u32?-instance-method","name":"tt_u32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L59"},"def":{"name":"tt_u32?","visibility":"Public","body":"self == TT_U32"}},{"html_id":"tt_u8?-instance-method","name":"tt_u8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/williams_av/wave_cast_fm.cr#L58"},"def":{"name":"tt_u8?","visibility":"Public","body":"self == TT_U8"}}]}]}]},{"html_id":"drivers/Winmate","path":"Winmate.html","kind":"module","full_name":"Winmate","name":"Winmate","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Winmate/LedLightBar","path":"Winmate/LedLightBar.html","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COLOUR_LOOKUP","name":"COLOUR_LOOKUP","value":"{16 => Led::Red, 17 => Led::Green, 18 => Led::Blue}"},{"id":"COLOURS","name":"COLOURS","value":"{Led::Red => 16_u8, Led::Green => 17_u8, Led::Blue => 18_u8}"},{"id":"COMMANDS","name":"COMMANDS","value":"{set: 97_u8, get: 96_u8}"},{"id":"DEFAULT_COLOURS","name":"DEFAULT_COLOURS","value":"{\"red\" => {red: 255_u8, green: 0_u8, blue: 0_u8}, \"green\" => {red: 0_u8, green: 255_u8, blue: 0_u8}, \"blue\" => {red: 0_u8, green: 0_u8, blue: 255_u8}, \"orange\" => {red: 200_u8, green: 0_u8, blue: 0_u8}, \"off\" => {red: 0_u8, green: 0_u8, blue: 0_u8}}"}],"namespace":{"html_id":"drivers/Winmate","kind":"module","full_name":"Winmate","name":"Winmate"},"instance_methods":[{"html_id":"colour(colour:String)-instance-method","name":"colour","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"String"}],"args_string":"(colour : String)","args_html":"(colour : String)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L72"},"def":{"name":"colour","args":[{"name":"colour","external_name":"colour","restriction":"String"}],"visibility":"Public","body":"colours = @colours[colour]\nself[:colour_name] = colour\ncolours.each do |component, intensity|\n led = Led.parse(component.to_s)\n set(led, intensity)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L53"},"def":{"name":"connected","visibility":"Public","body":"@buffer = String.new\ntransport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n bytes[0].to_i\nend\ndo_poll\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Polling Winmate LED\"\n end\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L68"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L121"},"def":{"name":"do_poll","visibility":"Public","body":"query(:red, priority: 0)\nquery(:green, priority: 0)\nquery(:blue, priority: 0)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"colours = (setting?(Colours, :colours)) || Colours.new\n@colours = colours.merge(DEFAULT_COLOURS)\n"}},{"html_id":"query(led:Led,**options)-instance-method","name":"query","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"}],"args_string":"(led : Led, **options)","args_html":"(led : Led, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L104"},"def":{"name":"query","args":[{"name":"led","external_name":"led","restriction":"Led"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(**options.merge({command: :get, colour: led}))"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L127"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received: #{bytes.hexstring}\"\nend\nif check_checksum(bytes)\nelse\n logger.warn do\n \"Error processing response. Possibly incorrect baud rate configured\"\n end\n return task.try(&.abort)\nend\nindicator = bytes[1]\ncolour = COLOUR_LOOKUP[indicator]?\nif colour\n self[colour.to_s.downcase] = bytes[2]\n task.try(&.success(bytes[2]))\nelse\n if indicator == 12\n else\n return task.try(&.abort)\n end\n task.try(&.success)\nend\n"}},{"html_id":"set(led:Led,value:UInt8,**options)-instance-method","name":"set","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(led : Led, value : UInt8, **options)","args_html":"(led : Led, value : UInt8, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L111"},"def":{"name":"set","args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[led.to_s.downcase] = value\ndo_send(**options.merge({command: :set, colour: led, value: value}))\n"}}],"types":[{"html_id":"drivers/Winmate/LedLightBar/Colours","path":"Winmate/LedLightBar/Colours.html","kind":"alias","full_name":"Winmate::LedLightBar::Colours","name":"Colours","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, NamedTuple(red: UInt8, green: UInt8, blue: UInt8))","aliased_html":"Hash(String, {red: UInt8, green: UInt8, blue: UInt8})","const":false,"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"}},{"html_id":"drivers/Winmate/LedLightBar/Led","path":"Winmate/LedLightBar/Led.html","kind":"enum","full_name":"Winmate::LedLightBar::Led","name":"Led","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L84"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L83"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/winmate/led_light_bar.cr#L82"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]}]}]},{"html_id":"drivers/Xovis","path":"Xovis.html","kind":"module","full_name":"Xovis","name":"Xovis","abstract":false,"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Xovis/SensorAPI","path":"Xovis/SensorAPI.html","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{\"line-counts\" => SensorType::QueueSize, \"zone-occupancy-counts\" => SensorType::PeopleCount, \"zone-in-out-counts\" => SensorType::Counter}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Xovis","kind":"module","full_name":"Xovis","name":"Xovis"},"instance_methods":[{"html_id":"capacity_data-instance-method","name":"capacity_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L150"},"def":{"name":"capacity_data","visibility":"Public","body":"response = get(\"/api/info/persistence\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlast_checked = Time.utc.to_unix\n{\"line\", \"zone-occupancy\", \"zone-in-out\"}.each do |count_name|\n xml_key_name = \"//count-#{count_name}-storage\"\n if count_data = (document.xpath_nodes(xml_key_name)).first?\n count_type = (count_name.split(\"-\", 2))[0]\n capacity = xpath_text(document, \"#{xml_key_name}/capacity\", &.to_i)\n key = \"#{count_name}-counts\"\n @state[key] = self[key] = (document.xpath_nodes(\"#{xml_key_name}/count-#{count_type}s/count-#{count_type}\")).map_with_index do |zone, index|\n attrs = {} of String => String | Int32 | Int64 | Nil\n zone.children.each do |child|\n content = child.text.strip\n attrs[child.name] = case child.name\n when \"entry-count\"\n content.to_i\n when \"first-entry\", \"last-entry\"\n content.empty? ? nil : (Time.parse!(content, \"%Y-%m-%dT%H:%M:%S%z\")).to_unix\n when \"text\"\n next\n else\n content\n end\n end\n last_entry = attrs[\"last-entry\"].as(Int64 | ::Nil)\n sensor = case count_name\n when \"line\"\n SensorDetail.new(SensorType::QueueSize, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"line-#{index}\", attrs[\"name\"].as(String))\n when \"zone-occupancy\"\n SensorDetail.new(SensorType::PeopleCount, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-occupancy-#{index}\", \"Occupancy #{attrs[\"name\"].as(String)}\")\n when \"zone-in-out\"\n SensorDetail.new(SensorType::Counter, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-in-out-#{index}\", \"In Out #{attrs[\"name\"].as(String)}\")\n else\n next\n end\n sensor.capacity = capacity\n sensor.last_entry = last_entry\n sensor.first_entry = attrs[\"first-entry\"].as(Int64 | ::Nil)\n sensor\n end.compact\n end\nend\ntrue\n"}},{"html_id":"count_data-instance-method","name":"count_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L130"},"def":{"name":"count_data","visibility":"Public","body":"response = get(\"/api/count-data\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlines = {} of String => NamedTuple(name: String, id: String, type: String, sensor: String, data: Hash(String, String | Int32 | Float32))\nlines_xml = document.xpath_nodes(\"//lines/line\")\nself[:lines] = lines_xml.map do |line|\n attrs = {} of String => String | Hash(String, Int32)\n counts = {} of String => Int32\n line.attributes.each do |attr|\n attrs[attr.name] = attr.content\n end\n line.children.each do |child|\n if child.name == \"text\"\n next\n end\n counts[child.name] = child.text.to_i\n end\n attrs[\"counts\"] = counts\n attrs\nend\n"}},{"html_id":"device_status-instance-method","name":"device_status","doc":"Combined `/info` and `/info/status`","summary":"

Combined /info and /info/status

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L202"},"def":{"name":"device_status","visibility":"Public","body":"response = get(\"/api/info/sensor-status\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nparse_type_info(document, \"version\")\nparse_type_info(document, \"temperature\")\nif sensor = parse_text_info(document, \"sensor\")\n @mac = sensor[\"serial-number\"]? || @mac\nend\nparse_text_info(document, \"illumination\")\nparse_text_info(document, \"configuration\")\nparse_text_info(document, \"operation\")\ntrue\n"}},{"html_id":"get_logs-instance-method","name":"get_logs","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L109"},"def":{"name":"get_logs","visibility":"Public","body":"response = get(\"/api/info/log\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining logs: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_token-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L102"},"def":{"name":"get_token","visibility":"Public","body":"response = get(\"/api/auth/token\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"is_alive?-instance-method","name":"is_alive?","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L122"},"def":{"name":"is_alive?","visibility":"Public","body":"begin\n response = get(\"/api/info/alive\", headers: {\"Accept\" => \"text/xml\"})\n check_success(response)\n true\nrescue\n false\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@poll_rate = ((setting?(Int32, :poll_rate)) || 15).seconds\n@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nquery_capacity = setting?(Bool, :query_capacity)\nquery_counts = setting?(Bool, :query_counts)\nschedule.clear\nschedule.every(@poll_rate) do\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\nschedule.every(5.minutes) do\n device_status\nend\nschedule.in(@poll_rate / 3) do\n device_status\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\n"}},{"html_id":"reset_count-instance-method","name":"reset_count","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L116"},"def":{"name":"reset_count","visibility":"Public","body":"response = get(\"/api/count-data/reset\", headers: {\"Accept\" => \"text/xml\"})\ncheck_success(response)\ntrue\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/xovis/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L58"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n return nil\n end\n index = index_str.to_i\n if sensors = @state[\"#{sensor}-counts\"]?\n sensors[index]?\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/xovis/sensor_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L85"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return @state.values.flatten.map do |__arg0|\n __arg0.as(Interface::Sensor::Detail)\n end\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << @state[key].map do |__arg1|\n __arg1.as(Interface::Sensor::Detail)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}}],"types":[{"html_id":"drivers/Xovis/SensorAPI/SensorDetail","path":"Xovis/SensorAPI/SensorDetail.html","kind":"class","full_name":"Xovis::SensorAPI::SensorDetail","name":"SensorDetail","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Xovis/SensorAPI","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"args_string":"(capacity : Int32 | Nil)","args_html":"(capacity : Int32 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"first_entry:Int64|Nil-instance-method","name":"first_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@first_entry"}},{"html_id":"first_entry=(first_entry:Int64|Nil)-instance-method","name":"first_entry=","abstract":false,"args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"args_string":"(first_entry : Int64 | Nil)","args_html":"(first_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry=","args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@first_entry = first_entry"}},{"html_id":"last_entry:Int64|Nil-instance-method","name":"last_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_entry"}},{"html_id":"last_entry=(last_entry:Int64|Nil)-instance-method","name":"last_entry=","abstract":false,"args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"args_string":"(last_entry : Int64 | Nil)","args_html":"(last_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry=","args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_entry = last_entry"}}]}]}]},{"html_id":"drivers/XYSense","path":"XYSense.html","kind":"module","full_name":"XYSense","name":"XYSense","abstract":false,"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/XYSense/LocationService","path":"XYSense/LocationService.html","kind":"class","full_name":"XYSense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/XYSense","kind":"module","full_name":"XYSense","name":"XYSense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/xy_sense/location_service.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L191"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L196"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\n@occupancy_mappings[zone_id].compact_map do |space_name, space|\n capacity = space.details.capacity\n if capacity == 1\n if space.headcount > 0\n else\n next\n end\n if location.presence && (location != \"desk\")\n next\n end\n {location: :desk, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n else\n if location.presence && (location != \"area\")\n next\n end\n {location: :area, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n end\nend\n"}},{"html_id":"floor_subscriptions-instance-method","name":"floor_subscriptions","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L138"},"def":{"name":"floor_subscriptions","visibility":"Public","body":"@floor_subscriptions.keys"}},{"html_id":"level_state_change(zone_id:String,spaces:Array(Occupancy))-instance-method","name":"level_state_change","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"args_string":"(zone_id : String, spaces : Array(Occupancy))","args_html":"(zone_id : String, spaces : Array(Occupancy))","location":{"filename":"src/xy_sense/location_service.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L161"},"def":{"name":"level_state_change","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"visibility":"Public","body":"begin\n area_occupancy = {} of String => Occupancy\n spaces.each do |space|\n space.details = @space_details[space.space_id]\n space_name = space.details.name\n if space_name\n else\n logger.warn do\n \"missing space name for id #{space.details.id}\"\n end\n next\n end\n area_occupancy[space_name] = space\n end\n @occupancy_mappings[zone_id] = area_occupancy\n area_manager.update_available({zone_id})\nrescue error\n logger.error(exception: error) do\n \"error updating level #{zone_id} space changes\"\n end\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L181"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L186"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@floor_mappings = setting(Hash(String, NamedTuple(zone_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.map do |_, detail|\n detail[:zone_id]\nend\nschedule.clear\nschedule.every(30.minutes) do\n sync_floor_states\nend\n"}},{"html_id":"sync_floor_states-instance-method","name":"sync_floor_states","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L142"},"def":{"name":"sync_floor_states","visibility":"Public","body":"logger.debug do\n \"-- updating space details...\"\nend\ndetails = update_space_details\nlogger.debug do\n \"-- details:\\n#{details}\"\nend\nlogger.debug do\n \"-- grabbing floor details...\"\nend\nxy = xy_sense\n@change_lock.synchronize do\n floor_subscriptions.each do |zone_id|\n level_state_change(zone_id, xy.status(Array(Occupancy), zone_id))\n end\nend\nlogger.debug do\n \"-- floor states synced!\"\nend\n@occupancy_mappings\n"}},{"html_id":"update_space_details-instance-method","name":"update_space_details","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L83"},"def":{"name":"update_space_details","visibility":"Public","body":"@change_lock.synchronize do\n floors = xy_sense.status(Hash(String, FloorDetails), :floors)\n space_details = {} of String => SpaceDetails\n floors.each do |floor_id, floor|\n mapping = @floor_mappings[floor_id]?\n if mapping\n else\n next\n end\n floor.spaces.each do |space|\n space_details[space.id] = space\n end\n end\n @space_details = space_details\nend"}}],"types":[{"html_id":"drivers/XYSense/LocationService/FloorDetails","path":"XYSense/LocationService/FloorDetails.html","kind":"class","full_name":"XYSense::LocationService::FloorDetails","name":"FloorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"doc":"===================================\nBindings into xy-sense data\n===================================","summary":"

=================================== Bindings into xy-sense data ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"floor_name=(floor_name:String)-instance-method","name":"floor_name=","abstract":false,"args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"args_string":"(floor_name : String)","args_html":"(floor_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name=","args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"visibility":"Public","body":"@floor_name = floor_name"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_name:String-instance-method","name":"location_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name","return_type":"String","visibility":"Public","body":"@location_name"}},{"html_id":"location_name=(location_name:String)-instance-method","name":"location_name=","abstract":false,"args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"args_string":"(location_name : String)","args_html":"(location_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name=","args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"visibility":"Public","body":"@location_name = location_name"}},{"html_id":"spaces:Array(SpaceDetails)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces","return_type":"Array(SpaceDetails)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(SpaceDetails))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"args_string":"(spaces : Array(SpaceDetails))","args_html":"(spaces : Array(SpaceDetails))","location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/XYSense/LocationService/Occupancy","path":"XYSense/LocationService/Occupancy.html","kind":"class","full_name":"XYSense::LocationService::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L64"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L65"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"collected:Time-instance-method","name":"collected","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected","return_type":"Time","visibility":"Public","body":"@collected"}},{"html_id":"collected=(collected:Time)-instance-method","name":"collected=","abstract":false,"args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"args_string":"(collected : Time)","args_html":"(collected : Time)","location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected=","args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"visibility":"Public","body":"@collected = collected"}},{"html_id":"details:SpaceDetails-instance-method","name":"details","abstract":false,"def":{"name":"details","return_type":"SpaceDetails","visibility":"Public","body":"if (value = @details).nil?\n ::raise(NilAssertionError.new(\"XYSense::LocationService::Occupancy#details cannot be nil\"))\nelse\n value\nend"}},{"html_id":"details=(details:SpaceDetails)-instance-method","name":"details=","abstract":false,"args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"args_string":"(details : SpaceDetails)","args_html":"(details : SpaceDetails)","location":{"filename":"src/xy_sense/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L75"},"def":{"name":"details=","args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"visibility":"Public","body":"@details = details"}},{"html_id":"details?:SpaceDetails|Nil-instance-method","name":"details?","abstract":false,"def":{"name":"details?","return_type":"SpaceDetails | ::Nil","visibility":"Public","body":"@details"}},{"html_id":"headcount:Int32-instance-method","name":"headcount","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount","return_type":"Int32","visibility":"Public","body":"@headcount"}},{"html_id":"headcount=(headcount:Int32)-instance-method","name":"headcount=","abstract":false,"args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"args_string":"(headcount : Int32)","args_html":"(headcount : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount=","args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"visibility":"Public","body":"@headcount = headcount"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:String)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L67"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/XYSense/LocationService/SpaceDetails","path":"XYSense/LocationService/SpaceDetails.html","kind":"class","full_name":"XYSense::LocationService::SpaceDetails","name":"SpaceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L61"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String"}],"args_string":"(category : String)","args_html":"(category : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L61"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String"}],"visibility":"Public","body":"@category = category"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L59"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/xy_sense/location_service.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]}]}]},{"html_id":"drivers/Zencontrol","path":"Zencontrol.html","kind":"module","full_name":"Zencontrol","name":"Zencontrol","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI","path":"Zencontrol/AdvancedTPI.html","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CODES","name":"ERROR_CODES","value":"{1_u8 => \"The checksum check failed\", 2_u8 => \"A short on the DALI line was detected\", 3_u8 => \"A receive error occured\", 4_u8 => \"The command in the request is unrecognised\", 176_u8 => \"The command requested relies on a paid feature that hasn't been purchsed\", 177_u8 => \"Invalid arguments supplied for the given command in the re quest\", 178_u8 => \"The command couldn't be processed\", 179_u8 => \"The queue or buffer that's required to process the command in the request\\n is full or broken\", 180_u8 => \"The command in the request may stream multiple responses back, but this\\n feature isn't available for some reason\", 181_u8 => \"The DALI related request couldn't be processed due to an error\", 182_u8 => \"There are an insufficient number of the required resource remaining service\\n the request\", 183_u8 => \"An unexpected result occurred\"}"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L61"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L103"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(170_u8, area_id.to_u8)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L81"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(173_u8, area_id.to_u8)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n logger.debug do\n \"Received: #{bytes.hexstring}\"\n end\n bytes.size < 3 ? 0 : ( bytes[2].to_i + 4)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :api_version)) || 4_u8"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L187"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\nio = IO::Memory.new(data)\nresponse = io.read_bytes(ResponseFrame)\ncase response.type\nwhen .okay?, .no_answer?\nwhen .answer?\n if (request = task.try(&.request_payload)) && (request.sequence == response.sequence)\n case request.command\n when 173_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[area.to_s] = response.bytes[0]\n when 170_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[(area.append(\"level\")).to_s] = response.bytes[0]\n else\n logger.debug do\n \"unknown answer for #{request.command.to_s(16)}\\n - req: #{request.to_slice.hexstring}\\n - resp: #{response.to_slice.hexstring}\"\n end\n end\n end\nwhen .error?\n error_code = response.bytes[0]\n error_message = ERROR_CODES[error_code]?\n logger.error do\n \"request failed with code #{error_code}, message: #{error_message}\"\n end\n return task.try(&.abort(error_message))\nend\nif request = task.try(&.request_payload)\n if request.sequence == response.sequence\n return task.try(&.success)\n else\n return\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L89"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u32\nbasic_request(162_u8, area_id.to_u8, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L70"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nself[area.to_s] = scene\nbasic_request(161_u8, area_id.to_u8, scene)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L55"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI/Area","path":"Zencontrol/AdvancedTPI/Area.html","kind":"alias","full_name":"Zencontrol::AdvancedTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"}},{"html_id":"drivers/Zencontrol/AdvancedTPI/BasicRequest","path":"Zencontrol/AdvancedTPI/BasicRequest.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::BasicRequest","name":"BasicRequest","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::BasicRequest]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"basic\", name: version, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: command, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: address, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bitfield\", name: 20, cls: Zencontrol::AdvancedTPI::BasicRequest, onlyif: nil, verify: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: nil, value: -> do\n (((((version ^ sequence) ^ command) ^ address) ^ ((data >> 16) & 255).to_u8) ^ ((data >> 8) & 255).to_u8) ^ (data & 255).to_u8\nend}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L114"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"address:UInt8-instance-method","name":"address","abstract":false,"def":{"name":"address","return_type":"UInt8","visibility":"Public","body":"@address"}},{"html_id":"address=(address:UInt8)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"args_string":"(address : UInt8)","args_html":"(address : UInt8)","def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"visibility":"Public","body":"@address = address"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"command:UInt8-instance-method","name":"command","abstract":false,"def":{"name":"command","return_type":"UInt8","visibility":"Public","body":"@command"}},{"html_id":"command=(command:UInt8)-instance-method","name":"command=","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"args_string":"(command : UInt8)","args_html":"(command : UInt8)","def":{"name":"command=","args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"visibility":"Public","body":"@command = command"}},{"html_id":"data:UInt32-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"UInt32","visibility":"Public","body":"@data"}},{"html_id":"data=(data:UInt32)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"args_string":"(data : UInt32)","args_html":"(data : UInt32)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"visibility":"Public","body":"@data = data"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"version:UInt8-instance-method","name":"version","abstract":false,"def":{"name":"version","return_type":"UInt8","visibility":"Public","body":"@version"}},{"html_id":"version=(version:UInt8)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"args_string":"(version : UInt8)","args_html":"(version : UInt8)","def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"visibility":"Public","body":"@version = version"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseFrame","path":"Zencontrol/AdvancedTPI/ResponseFrame.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::ResponseFrame","name":"ResponseFrame","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::ResponseFrame]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: ResponseType}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: size, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: bytes, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: -> do\n sum = (type.to_u8 ^ sequence) ^ size\n checksum == (bytes.reduce(sum) do |acc, i|\n i ^ acc\n end)\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L175"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"bytes:Bytes-instance-method","name":"bytes","abstract":false,"def":{"name":"bytes","return_type":"Bytes","visibility":"Public","body":"@bytes"}},{"html_id":"bytes=(bytes:Bytes)-instance-method","name":"bytes=","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"args_string":"(bytes : Bytes)","args_html":"(bytes : Bytes)","def":{"name":"bytes=","args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"visibility":"Public","body":"@bytes = bytes"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt8-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt8","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt8)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"args_string":"(size : UInt8)","args_html":"(size : UInt8)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:ResponseType-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"ResponseType","visibility":"Public","body":"@type"}},{"html_id":"type=(type:ResponseType)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"args_string":"(type : ResponseType)","args_html":"(type : ResponseType)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_response_frame(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_response_frame","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_response_frame","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::ResponseFrame = Zencontrol::AdvancedTPI::ResponseFrame.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseType","path":"Zencontrol/AdvancedTPI/ResponseType.html","kind":"enum","full_name":"Zencontrol::AdvancedTPI::ResponseType","name":"ResponseType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L167"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Okay","name":"Okay","value":"160"},{"id":"Answer","name":"Answer","value":"161"},{"id":"NoAnswer","name":"NoAnswer","value":"162"},{"id":"Error","name":"Error","value":"163"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L169"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L171"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"no_answer?-instance-method","name":"no_answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L170"},"def":{"name":"no_answer?","visibility":"Public","body":"self == NoAnswer"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/advanced_tpi.cr#L168"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Zencontrol/ClassicTPI","path":"Zencontrol/ClassicTPI.html","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BROADCAST","name":"BROADCAST","value":"Bytes[255, 255, 255, 255, 255, 255]"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L52"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L88"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[(area.append(\"level\")).to_s]?\nend"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L70"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[area.to_s]?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :version)) || 1_u8\ncontroller = setting?(String, :controller_id)\nif controller\n @controller = (controller.rjust(12, '0')).hexbytes\nelse\n @controller = BROADCAST\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L101"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L76"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u8\narea_id = ((area.id.as(UInt32)).clamp(0, 127)).to_u8\nself[(area.append(\"level\")).to_s] = level\ndo_send(area_id, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L61"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nscene = (scene.clamp(0, 15)) + 16\narea_id = ((area.id.as(UInt32)).clamp(0, 127)) + 128\nself[area.to_s] = scene\ndo_send(area_id.to_u8, scene.to_u8)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L46"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/ClassicTPI/Area","path":"Zencontrol/ClassicTPI/Area.html","kind":"alias","full_name":"Zencontrol::ClassicTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/4adc05b1361f0b41b45b640e4c167e1cbf729d56/src/zencontrol/classic_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/ClassicTPI","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI"}}]}]}]}}) \ No newline at end of file +crystal_doc_search_index_callback({"repository_name":"drivers","body":"# PlaceOS Drivers\n\n[![CI](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml/badge.svg)](https://github.com/PlaceOS/drivers/actions/workflows/ci.yml)\n\nManage and test [PlaceOS](https://place.technology) drivers.\n\n## Development\n\n### `harness`\n\n`harness` is a helper for easing development of PlaceOS Drivers.\n\n```\nUsage: ./harness [-h|--help] [command]\n\nHelper script for interfacing with the PlaceOS Driver spec runner\n\nCommand:\n report check all drivers' compilation status\n up starts the harness\n down stops the harness\n build builds drivers and uploads them to S3\n format formats driver code\n help display this message\n```\n\nTo spin up the test harness, clone the repository and run...\n\n```shell-session\n$ ./harness up\n```\n\nPoint a browser to [localhost:8085](http://localhost:8085), and you're good to go.\n\nWhen the environment is not in use, remember to run...\n\n```shell-session\n$ ./harness down\n```\n\nBefore committing, please run...\n\n```shell-session\n$ ./harness format\n```\n\n## Documentation\n\n- [Existing Driver Docs](https://placeos.github.io/drivers/)\n- [Writing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver)\n- [Testing a PlaceOS Driver](https://docs.placeos.com/tutorials/backend/write-a-driver/testing-drivers)\n- [Sending Emails](docs/guide-event-emails.md)\n- [Environment Setup](docs/setup.md)\n- [Runtime Debugging](docs/runtime-debugging.md)\n- [Directory Structure](docs/directory_structure.md)\n- [PlaceOS Spec Runner HTTP API](docs/http-api.md)\n\n## Contributing\n\n1. [Fork it](https://github.com/PlaceOS/drivers/fork)\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","program":{"html_id":"drivers/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"}],"locations":[],"repository_name":"drivers","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"CAPTURE_STATUS","name":"CAPTURE_STATUS","value":"\" \\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n 2014-02-12T15:30:00.000Z\\n 3000\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n \\n John Doe\\n \\n \\n
\\n \\n Some other capture\\n 2014-02-13T15:30:00.000Z\\n 1500\\n
Some other capture
\\n \\n \\n Steve\\n \\n \\n
\\n
\""},{"id":"DEFAULT_PASSWORD_EXCLUDE","name":"DEFAULT_PASSWORD_EXCLUDE","value":"\"0Oo1Il`'\\\\/\""},{"id":"DEFAULT_PASSWORD_LENGTH","name":"DEFAULT_PASSWORD_LENGTH","value":"6","doc":"Password defaults","summary":"

Password defaults

"},{"id":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","name":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","name":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","value":"1"},{"id":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","name":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","value":"0"},{"id":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","name":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","value":"0"},{"id":"DESK_LOC","name":"DESK_LOC","value":"{\"location\" => \"desk\", \"at_location\" => true, \"map_id\" => \"desk-4-1006\", \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"},{"id":"EXAMPLE_COLOCATION","name":"EXAMPLE_COLOCATION","value":"\"[\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1b\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 7662\\n }\\n ]\\n },\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:03:c0:1e\\\",\\n \\\"startTime\\\": \\\"2022-02-25T04:02:43Z\\\",\\n \\\"endTime\\\": \\\"2022-03-02T04:02:43Z\\\",\\n \\\"contacts\\\": [\\n {\\n \\\"trackingId\\\": \\\"00:fa:b6:02:4b:a3\\\",\\n \\\"durationSec\\\": 2386\\n }\\n ]\\n }\\n ]\""},{"id":"EXAMPLE_RESPONSE","name":"EXAMPLE_RESPONSE","value":"\"{\\\"content\\\": #{EXAMPLE_COLOCATION}}\""},{"id":"PASSWORD_LOWERCASE_CHARACTERS","name":"PASSWORD_LOWERCASE_CHARACTERS","value":"('a'..'z').to_a"},{"id":"PASSWORD_NUMBER_CHARACTERS","name":"PASSWORD_NUMBER_CHARACTERS","value":"('0'..'9').to_a"},{"id":"PASSWORD_SYMBOL_CHARACTERS","name":"PASSWORD_SYMBOL_CHARACTERS","value":"['!', '@', '#', '$', '%', '^', '&', '*', '(', ')', '_', '+', '-', '=', '{', '}', '[', ']', '|', '\\\\', ':', ';', '\"', '\\'', '<', '>', ',', '.', '?', '/', '`', '~']"},{"id":"PASSWORD_UPPERCASE_CHARACTERS","name":"PASSWORD_UPPERCASE_CHARACTERS","value":"('A'..'Z').to_a"},{"id":"RAW_GUEST_RESPONSE","name":"RAW_GUEST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Guest\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": false,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RAW_HASH_RESPONSE","name":"RAW_HASH_RESPONSE","value":"\"{\\n \\\"host\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJCWXpoYmV4W\\\",\\n \\\"short\\\": \\\"abc1234\\\"\\n }],\\n \\\"guest\\\": [{\\n \\\"cipher\\\": \\\"eyJwMnMiOiJaVVJsejNsb1\\\",\\n \\\"short\\\": \\\"def1234\\\"\\n }],\\n \\\"baseUrl\\\": \\\"https://somedomain.com/chat/\\\"\\n}\""},{"id":"RAW_HOST_RESPONSE","name":"RAW_HOST_RESPONSE","value":"\"{\\n \\\"userIdentifier\\\": \\\"Host\\\",\\n \\\"isLoggedIn\\\": false,\\n \\\"isHost\\\": true,\\n \\\"organizationId\\\": \\\"16917798-5582-49a7-92d0-4410f6964000\\\",\\n \\\"orgName\\\": \\\"PlaceOS\\\",\\n \\\"token\\\": \\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"spaceId\\\": \\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"visitId\\\": \\\"1\\\",\\n \\\"integrationType\\\": \\\"jose\\\"\\n}\""},{"id":"RETVAL","name":"RETVAL","value":"\"{\\n \\\"space_id\\\":\\\"Y2lzY29zcGFyazovL3VzL1JPT00vODhhZGM1ODAtOThmMi0xMWVjLThiYjQtZjM2MmNkNDBlZDQ1\\\",\\n \\\"host_token\\\":\\\"NmFmZGQwODYtZmIzNi00OTlmLWE3N2QtNzUyNzk2MDk4NDU5MjZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"guest_token\\\":\\\"NmFmZGQwODYtZmIzNi05OTlmLWE3N2QtMzUyNzk2MDk4NDU5MeZlNmM2YmQtNjY2_PF84_e2d06a2e-ac4e-464f-968d-a5f8a5ac6303\\\",\\n \\\"host_url\\\": \\\"https://somedomain.com/chat/abc1234\\\",\\n \\\"guest_url\\\": \\\"https://somedomain.com/chat/def1234\\\"\\n}\""},{"id":"SPACES_RESPONSE","name":"SPACES_RESPONSE","value":"[{\"id\" => 96978, \"location\" => {\"id\" => 775, \"scalingFactor\" => nil, \"raw\" => true, \"policy\" => true}, \"name\" => \"WS7-01\", \"srf\" => {\"x\" => 91, \"y\" => 2169, \"z\" => 0}, \"marker\" => {\"type\" => \"CIRCLE\", \"data\" => \"20\"}, \"category\" => {\"id\" => 297, \"name\" => \"Assigned Desks\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => true, \"iconUrl\" => nil, \"colorScheme\" => \"#ffb3b3\", \"orderingIndex\" => 113}, \"sensingPolicyId\" => 247, \"department\" => {\"id\" => 498, \"name\" => \"Sales\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => nil}, \"subCategory\" => {\"id\" => 194, \"name\" => \"None\", \"shortName\" => nil, \"showOnSignage\" => false, \"showInAnalytics\" => false, \"colorScheme\" => nil, \"orderingIndex\" => 194}, \"device\" => {\"id\" => 2016090160, \"displayName\" => \"1609010160\", \"updatedAt\" => nil, \"floorId\" => nil, \"shape\" => nil, \"coord\" => nil, \"blessId\" => 1609010160, \"blessQr\" => nil, \"accessedAt\" => \"2021-03-11T08:06:01.000+0000\", \"installedOn\" => nil, \"licenseeId\" => nil, \"hardware\" => nil, \"network\" => nil, \"itemId\" => nil}, \"markerUniqueId\" => \"K_2493713878097_18542\", \"live\" => false, \"capacity\" => 1, \"counter\" => \"NO_COUNTER\", \"serial\" => 1, \"locationId\" => 775, \"counted\" => true}].to_json"},{"id":"SYSTEM_STATUS","name":"SYSTEM_STATUS","value":"\" \\n 2014-02-12T15:02:19.037Z\\n \\n 3.0\\n \\n \\n Audio Only (Podcast). Balanced between file size & quality\\n Display Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n DualDisplay (Podcast/Vodcast/EchoPlayer). Optimized for file size & bandwidth\\n Dual Video (Podcast/Vodcast/EchoPlayer) -Balance between file size & quality\\n Dual Video (Podcast/Vodcast/EchoPlayer) -High Quality\\n Video Only (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Balanced between file size & quality\\n \\n \\n media\\n 2014-02-12T23:00:00.000Z\\n 3000\\n \\n Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014\\n
Underwater Basket Weaving 101 (UWBW-101-100) Spring 2014
\\n \\n John Doe\\n \\n \\n Display/Video (Podcast/Vodcast/EchoPlayer). Optimized for quality/full motion video\\n archive\\n \\n \\n \\n balanced\\n stereo\\n -6\\n 44100\\n 0\\n false\\n \\n \\n 1\\n dvi\\n 50\\n 50\\n 50\\n 10.0\\n 960\\n 720\\n true\\n true\\n \\n \\n 2\\n composite\\n 50\\n 50\\n 50\\n 29.97\\n 704\\n 480\\n true\\n false\\n ntsc\\n \\n \\n audio\\n aac\\n true\\n \\n 128000\\n lc\\n \\n \\n \\n graphics1\\n h264\\n \\n vbr\\n 736000\\n 1104000\\n base\\n 50\\n \\n \\n \\n graphics2\\n h264\\n \\n vbr\\n 1056000\\n 1584000\\n base\\n 150\\n \\n \\n \\n audio-archive\\n \\n file\\n audio.aac\\n \\n \\n \\n graphics1-archive\\n \\n file\\n display.h264\\n \\n \\n \\n graphics2-archive\\n \\n file\\n video.h264\\n \\n \\n \\n \\n \\n
\\n
\\n \\n \\n \\n
\""},{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"WIRELESS_LOC","name":"WIRELESS_LOC","value":"{\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => 16.764784482481577, \"y\" => 25.435735950388988, \"lng\" => 55.274935030154325, \"lat\" => 25.201036346211698, \"variance\" => 7.944837533996209, \"last_seen\" => 1601526474, \"building\" => \"zone_1234\", \"level\" => \"zone_1234\"}"}],"included_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"extended_modules":[{"html_id":"drivers/Debug/KernelExtension","kind":"module","full_name":"Debug::KernelExtension","name":"KernelExtension"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/Spec/Expectations","kind":"module","full_name":"Spec::Expectations","name":"Expectations"},{"html_id":"drivers/Spec/Methods","kind":"module","full_name":"Spec::Methods","name":"Methods"}],"class_methods":[{"html_id":"create_request(mode:String,device_name:String,modbus_device:String,md5:String,file_time:String,file_descriptor:String,file_name:String,file:String|Nil)-class-method","name":"create_request","doc":"Some of these fields may not be present in every request but\nhaving them there doesn't hurt anything so why bother removing them","summary":"

Some of these fields may not be present in every request but having them there doesn't hurt anything so why bother removing them

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"args_string":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","args_html":"(mode : String, device_name : String, modbus_device : String, md5 : String, file_time : String, file_descriptor : String, file_name : String, file : String | Nil)","location":{"filename":"src/leviton/acquisuite_spec.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite_spec.cr#L87"},"def":{"name":"create_request","args":[{"name":"mode","external_name":"mode","restriction":"String"},{"name":"device_name","external_name":"device_name","restriction":"String"},{"name":"modbus_device","external_name":"modbus_device","restriction":"String"},{"name":"md5","external_name":"md5","restriction":"String"},{"name":"file_time","external_name":"file_time","restriction":"String"},{"name":"file_descriptor","external_name":"file_descriptor","restriction":"String"},{"name":"file_name","external_name":"file_name","restriction":"String"},{"name":"file","external_name":"file","restriction":"String | ::Nil"}],"visibility":"Public","body":"if file.nil?\n file = \"fileplaceholder\"\nend\n\"--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODE\\\"\\n\\n#{mode}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICENAME\\\"\\n\\n#{device_name}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MODBUSDEVICE\\\"\\n\\n#{modbus_device}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"MD5CHECKSUM\\\"\\n\\n#{md5}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"FILETIME\\\"\\n\\n#{file_time}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY\\nContent-Disposition: form-data; name=\\\"#{file_descriptor}\\\"; filename=\\\"#{file_name}\\\"\\nContent-Type: application/octet-stream;\\n\\n#{file}\\n--MIME_BOUNDRY_MIME_BOUNDRY_MIME_BOUNDRY--\\n\"\n"}},{"html_id":"generate_password(length:Int32|Nil=DEFAULT_PASSWORD_LENGTH,exclude:String|Nil=DEFAULT_PASSWORD_EXCLUDE,minimum_lowercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_LOWERCASE,minimum_uppercase:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_UPPERCASE,minimum_numbers:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_NUMBERS,minimum_symbols:Int32|Nil=DEFAULT_PASSWORD_MINIMUM_SYMBOLS):String-class-method","name":"generate_password","abstract":false,"args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"args_string":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","args_html":"(length : Int32 | Nil = DEFAULT_PASSWORD_LENGTH, exclude : String | Nil = DEFAULT_PASSWORD_EXCLUDE, minimum_lowercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_LOWERCASE, minimum_uppercase : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_UPPERCASE, minimum_numbers : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_NUMBERS, minimum_symbols : Int32 | Nil = DEFAULT_PASSWORD_MINIMUM_SYMBOLS) : String","location":{"filename":"src/place/password_generator_helper.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/password_generator_helper.cr#L14"},"def":{"name":"generate_password","args":[{"name":"length","default_value":"DEFAULT_PASSWORD_LENGTH","external_name":"length","restriction":"Int32 | ::Nil"},{"name":"exclude","default_value":"DEFAULT_PASSWORD_EXCLUDE","external_name":"exclude","restriction":"String | ::Nil"},{"name":"minimum_lowercase","default_value":"DEFAULT_PASSWORD_MINIMUM_LOWERCASE","external_name":"minimum_lowercase","restriction":"Int32 | ::Nil"},{"name":"minimum_uppercase","default_value":"DEFAULT_PASSWORD_MINIMUM_UPPERCASE","external_name":"minimum_uppercase","restriction":"Int32 | ::Nil"},{"name":"minimum_numbers","default_value":"DEFAULT_PASSWORD_MINIMUM_NUMBERS","external_name":"minimum_numbers","restriction":"Int32 | ::Nil"},{"name":"minimum_symbols","default_value":"DEFAULT_PASSWORD_MINIMUM_SYMBOLS","external_name":"minimum_symbols","restriction":"Int32 | ::Nil"}],"return_type":"String","visibility":"Public","body":"length || (length = DEFAULT_PASSWORD_LENGTH)\nexclude || (exclude = DEFAULT_PASSWORD_EXCLUDE)\nminimum_lowercase || (minimum_lowercase = DEFAULT_PASSWORD_MINIMUM_LOWERCASE)\nminimum_uppercase || (minimum_uppercase = DEFAULT_PASSWORD_MINIMUM_UPPERCASE)\nminimum_numbers || (minimum_numbers = DEFAULT_PASSWORD_MINIMUM_NUMBERS)\nminimum_symbols || (minimum_symbols = DEFAULT_PASSWORD_MINIMUM_SYMBOLS)\nminimums = ((minimum_lowercase + minimum_uppercase) + minimum_numbers) + minimum_symbols\nif length < minimums\n length = minimums\nend\ncharacters = [] of Char\nif minimum_lowercase > 0\n characters = PASSWORD_LOWERCASE_CHARACTERS\nend\nif minimum_uppercase > 0\n characters = characters + PASSWORD_UPPERCASE_CHARACTERS\nend\nif minimum_numbers > 0\n characters = characters + PASSWORD_NUMBER_CHARACTERS\nend\nif minimum_symbols > 0\n characters = characters + PASSWORD_SYMBOL_CHARACTERS\nend\ncharacters = characters - exclude.chars\nif characters.empty?\n characters = (PASSWORD_LOWERCASE_CHARACTERS + PASSWORD_NUMBER_CHARACTERS) - DEFAULT_PASSWORD_EXCLUDE.chars\nend\npassword = [] of Char\nminimum_lowercase.times do\n password << (PASSWORD_LOWERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_uppercase.times do\n password << (PASSWORD_UPPERCASE_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_numbers.times do\n password << (PASSWORD_NUMBER_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\nminimum_symbols.times do\n password << (PASSWORD_SYMBOL_CHARACTERS - exclude.chars).sample(random: Random::Secure)\nend\n(length - minimums).times do\n password << characters.sample(random: Random::Secure)\nend\npassword.shuffle(random: Random::Secure).join\n"}}],"types":[{"html_id":"drivers/AmberTech","path":"AmberTech.html","kind":"module","full_name":"AmberTech","name":"AmberTech","abstract":false,"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AmberTech/Devices","path":"AmberTech/Devices.html","kind":"class","full_name":"AmberTech::Devices","name":"Devices","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_ip:String-instance-method","name":"current_ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L37"},"def":{"name":"current_ip","return_type":"String","visibility":"Public","body":"@current_ip"}},{"html_id":"device_info:Array(DevInfo)-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L34"},"def":{"name":"device_info","return_type":"Array(DevInfo)","visibility":"Public","body":"@device_info"}}]},{"html_id":"drivers/AmberTech/DevInfo","path":"AmberTech/DevInfo.html","kind":"class","full_name":"AmberTech::DevInfo","name":"DevInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L16"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L17"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"ip_gateway:String-instance-method","name":"ip_gateway","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L23"},"def":{"name":"ip_gateway","return_type":"String","visibility":"Public","body":"@ip_gateway"}},{"html_id":"ip_subnet:String-instance-method","name":"ip_subnet","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L20"},"def":{"name":"ip_subnet","return_type":"String","visibility":"Public","body":"@ip_subnet"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"pass:String|Nil-instance-method","name":"pass","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L25"},"def":{"name":"pass","return_type":"String | ::Nil","visibility":"Public","body":"@pass"}},{"html_id":"pass2:String|Nil-instance-method","name":"pass2","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L26"},"def":{"name":"pass2","return_type":"String | ::Nil","visibility":"Public","body":"@pass2"}},{"html_id":"status:Status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L27"},"def":{"name":"status","return_type":"Status","visibility":"Public","body":"@status"}},{"html_id":"ver:String-instance-method","name":"ver","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L15"},"def":{"name":"ver","return_type":"String","visibility":"Public","body":"@ver"}}]},{"html_id":"drivers/AmberTech/Grandview","path":"AmberTech/Grandview.html","kind":"class","full_name":"AmberTech::Grandview","name":"Grandview","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L109"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:down)"}},{"html_id":"down?-instance-method","name":"down?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L113"},"def":{"name":"down?","visibility":"Public","body":"{\"closed\", \"closing\"}.includes?(self[\"status\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moveable interface","summary":"

moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L30"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"command = case position\nwhen .up?, .close?, .in?\n \"/Close.js?a=100\"\nwhen .down?, .open?, .out?\n \"/Open.js?a=100\"\nelse\n raise(\"unsupported move option: #{position}\")\nend\nqueue(name: \"move\") do |task|\n response = get(command, headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 2.seconds\nschedule.every(1.minute) do\n status\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L59"},"def":{"name":"status","visibility":"Public","body":"if queue.online\n queue(name: \"status\", priority: 0) do |task|\n response = perform_status_request\n if response.success?\n task.success(parse_status(response))\n else\n task.abort(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n end\nelse\n response = perform_status_request\n if response.success?\n parse_status(response)\n end\nend"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"stoppable interface","summary":"

stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/amber_tech/grandview.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L49"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"queue(name: \"stop\", priority: 999, clear_queue: emergency) do |task|\n response = get(\"/Stop.js?a=100\", headers: build_headers)\n if response.success?\n else\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\n end\n self[:status] = status = parse_state((StatusResp.from_json(response.body)).status)\n task.success(status)\nend"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","doc":"compatibility with Screen Technics","summary":"

compatibility with Screen Technics

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/amber_tech/grandview.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L101"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"move(:up)"}},{"html_id":"up?-instance-method","name":"up?","abstract":false,"location":{"filename":"src/amber_tech/grandview.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview.cr#L105"},"def":{"name":"up?","visibility":"Public","body":"{\"opened\", \"opening\"}.includes?(self[\"status\"]?)"}}]},{"html_id":"drivers/AmberTech/Status","path":"AmberTech/Status.html","kind":"enum","full_name":"AmberTech::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stop","name":"Stop","value":"0"},{"id":"Opening","name":"Opening","value":"1"},{"id":"Opened","name":"Opened","value":"2"},{"id":"Closing","name":"Closing","value":"3"},{"id":"Closed","name":"Closed","value":"4"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L9"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"closing?-instance-method","name":"closing?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L8"},"def":{"name":"closing?","visibility":"Public","body":"self == Closing"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L7"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}},{"html_id":"opening?-instance-method","name":"opening?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L6"},"def":{"name":"opening?","visibility":"Public","body":"self == Opening"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L5"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/AmberTech/StatusResp","path":"AmberTech/StatusResp.html","kind":"class","full_name":"AmberTech::StatusResp","name":"StatusResp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amber_tech/grandview_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/AmberTech","kind":"module","full_name":"AmberTech","name":"AmberTech"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/amber_tech/grandview_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L41"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:Status|String-instance-method","name":"status","abstract":false,"location":{"filename":"src/amber_tech/grandview_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amber_tech/grandview_models.cr#L43"},"def":{"name":"status","return_type":"Status | String","visibility":"Public","body":"@status"}}]}]},{"html_id":"drivers/Amx","path":"Amx.html","kind":"module","full_name":"Amx","name":"Amx","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Amx/Svsi","path":"Amx/Svsi.html","kind":"module","full_name":"Amx::Svsi","name":"Svsi","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Amx","kind":"module","full_name":"Amx","name":"Amx"},"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","path":"Amx/Svsi/NSeriesDecoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"OutputModes","name":"OutputModes","value":"[\"auto\", \"1080p59.94\", \"1080p60\", \"720p60\", \"4K30\", \"4K25\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L41"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L49"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L208"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"live(state:Bool=true)-instance-method","name":"live","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L86"},"def":{"name":"live","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? do_send(Command::Live) : local(self[:playlist].as_i)"}},{"html_id":"local(playlist:Int32=0)-instance-method","name":"local","abstract":false,"args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"args_string":"(playlist : Int32 = 0)","args_html":"(playlist : Int32 = 0)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L90"},"def":{"name":"local","args":[{"name":"playlist","default_value":"0","external_name":"playlist","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Local, playlist)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L72"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\n do_send(Command::Mute, name: :mute)\n do_send(Command::SetAudio, 0)\nelse\n do_send(Command::SetAudio, @previous_stream || 0)\n do_send(Command::Unmute, name: :mute)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"output_resolution(mode:String)-instance-method","name":"output_resolution","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L108"},"def":{"name":"output_resolution","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if OutputModes.includes?(mode)\nelse\n logger.error do\n \"\\\"#{mode}\\\" is not a valid resolution\"\n end\n return\nend\ndo_send(Command::ModeSet, mode)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nprop, value = data.split(':')\ncase Response.from_mapped_value?(prop.downcase)\nin Response::Stream\n self[:video] = @stream = value.to_i\nin Response::StreamAudio\n stream_id = value.to_i\n self[:audio_actual] = stream_id\n self[:audio] = stream_id == 0 ? ( @mute ? 0 : @stream) : stream_id\nin Response::Name\n self[:device_name] = value\nin Response::Playmode\n self[:local_playback] = value == \"local\"\nin Response::Playlist\n self[:playlist] = value.to_i\nin Response::Mute\n self[:mute] = @mute = value == \"1\"\nin Response::ScalerBypass\n self[:scaler_active] = value != \"no\"\nin Response::Mode\n self[:output_res] = value\nin Response::InputRes\n self[:input_res] = value\nin Nil\n raise(\"Unexpected response: #{prop}\")\nend\ntask.try(&.success)\n"}},{"html_id":"scaler(state:Bool)-instance-method","name":"scaler","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L94"},"def":{"name":"scaler","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"action = state ? Command::ScalerEnable : Command::ScalerDisable\ndo_send(action, name: :scaler)\n"}},{"html_id":"switch_audio(stream_id:Int32)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L62"},"def":{"name":"switch_audio","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"@previous_stream = stream_id\nunmute\n"}},{"html_id":"switch_kvm(ip_address:String,video_follow:Bool=true)-instance-method","name":"switch_kvm","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"args_string":"(ip_address : String, video_follow : Bool = true)","args_html":"(ip_address : String, video_follow : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L67"},"def":{"name":"switch_kvm","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"video_follow","default_value":"true","external_name":"video_follow","restriction":"Bool"}],"visibility":"Public","body":"host = \"#{ip_address},#{video_follow ? 1 : 0}\"\ndo_send(Command::SwitchKVM, host)\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L53"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"switch_video(input)\nswitch_audio(0)\n"}},{"html_id":"switch_video(stream_id:Int32)-instance-method","name":"switch_video","abstract":false,"args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"args_string":"(stream_id : Int32)","args_html":"(stream_id : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L58"},"def":{"name":"switch_video","args":[{"name":"stream_id","external_name":"stream_id","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Set, stream_id)"}},{"html_id":"videowall(width:Int32,height:Int32,x_pos:Int32,y_pos:Int32,scale:VideowallScalingMode=VideowallScalingMode::Auto)-instance-method","name":"videowall","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"args_string":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","args_html":"(width : Int32, height : Int32, x_pos : Int32, y_pos : Int32, scale : VideowallScalingMode = VideowallScalingMode::Auto)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L116"},"def":{"name":"videowall","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"},{"name":"x_pos","external_name":"x_pos","restriction":"Int32"},{"name":"y_pos","external_name":"y_pos","restriction":"Int32"},{"name":"scale","default_value":"VideowallScalingMode::Auto","external_name":"scale","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"if width > 1 && height > 1\n videowall_size(width, height)\n videowall_position(x_pos, y_pos)\n videowall_scaling(scale)\n videowall_enable\nelse\n videowall_disable\nend"}},{"html_id":"videowall_disable-instance-method","name":"videowall_disable","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L138"},"def":{"name":"videowall_disable","visibility":"Public","body":"videowall_enable(false)"}},{"html_id":"videowall_enable(state:Bool=true)-instance-method","name":"videowall_enable","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L133"},"def":{"name":"videowall_enable","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? \"on\" : \"off\"\ndo_send(Command::SetSettings, \"wallEnable\", state)\n"}},{"html_id":"videowall_position(x:Int32,y:Int32)-instance-method","name":"videowall_position","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(x : Int32, y : Int32)","args_html":"(x : Int32, y : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L147"},"def":{"name":"videowall_position","args":[{"name":"x","external_name":"x","restriction":"Int32"},{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallMonPosV\", x)\ndo_send(Command::SetSettings, \"wallMonPosH\", y)\n"}},{"html_id":"videowall_scaling(scaling_mode:VideowallScalingMode)-instance-method","name":"videowall_scaling","abstract":false,"args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"args_string":"(scaling_mode : VideowallScalingMode)","args_html":"(scaling_mode : VideowallScalingMode)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L158"},"def":{"name":"videowall_scaling","args":[{"name":"scaling_mode","external_name":"scaling_mode","restriction":"VideowallScalingMode"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallStretch\", scaling_mode)"}},{"html_id":"videowall_size(width:Int32,height:Int32)-instance-method","name":"videowall_size","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(width : Int32, height : Int32)","args_html":"(width : Int32, height : Int32)","location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L142"},"def":{"name":"videowall_size","args":[{"name":"width","external_name":"width","restriction":"Int32"},{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::SetSettings, \"wallHorMons\", width)\ndo_send(Command::SetSettings, \"wallVerMons\", height)\n"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Command","path":"Amx/Svsi/NSeriesDecoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"Set","name":"Set","value":"1"},{"id":"SetSettings","name":"SetSettings","value":"2"},{"id":"SwitchKVM","name":"SwitchKVM","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Unmute","name":"Unmute","value":"5"},{"id":"SetAudio","name":"SetAudio","value":"6"},{"id":"Live","name":"Live","value":"7"},{"id":"Local","name":"Local","value":"8"},{"id":"ScalerEnable","name":"ScalerEnable","value":"9"},{"id":"ScalerDisable","name":"ScalerDisable","value":"10"},{"id":"ModeSet","name":"ModeSet","value":"11"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mode_set?-instance-method","name":"mode_set?","abstract":false,"def":{"name":"mode_set?","visibility":"Public","body":"self == ModeSet"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"scaler_disable?-instance-method","name":"scaler_disable?","abstract":false,"def":{"name":"scaler_disable?","visibility":"Public","body":"self == ScalerDisable"}},{"html_id":"scaler_enable?-instance-method","name":"scaler_enable?","abstract":false,"def":{"name":"scaler_enable?","visibility":"Public","body":"self == ScalerEnable"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"def":{"name":"set?","visibility":"Public","body":"self == Set"}},{"html_id":"set_audio?-instance-method","name":"set_audio?","abstract":false,"def":{"name":"set_audio?","visibility":"Public","body":"self == SetAudio"}},{"html_id":"set_settings?-instance-method","name":"set_settings?","abstract":false,"def":{"name":"set_settings?","visibility":"Public","body":"self == SetSettings"}},{"html_id":"switch_kvm?-instance-method","name":"switch_kvm?","abstract":false,"def":{"name":"switch_kvm?","visibility":"Public","body":"self == SwitchKVM"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/Response","path":"Amx/Svsi/NSeriesDecoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Stream","name":"Stream","value":"0"},{"id":"StreamAudio","name":"StreamAudio","value":"1"},{"id":"Name","name":"Name","value":"2"},{"id":"Playmode","name":"Playmode","value":"3"},{"id":"Playlist","name":"Playlist","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"ScalerBypass","name":"ScalerBypass","value":"6"},{"id":"Mode","name":"Mode","value":"7"},{"id":"InputRes","name":"InputRes","value":"8"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"input_res?-instance-method","name":"input_res?","abstract":false,"def":{"name":"input_res?","visibility":"Public","body":"self == InputRes"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playlist?-instance-method","name":"playlist?","abstract":false,"def":{"name":"playlist?","visibility":"Public","body":"self == Playlist"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"scaler_bypass?-instance-method","name":"scaler_bypass?","abstract":false,"def":{"name":"scaler_bypass?","visibility":"Public","body":"self == ScalerBypass"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}},{"html_id":"stream_audio?-instance-method","name":"stream_audio?","abstract":false,"def":{"name":"stream_audio?","visibility":"Public","body":"self == StreamAudio"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesDecoder/VideowallScalingMode","path":"Amx/Svsi/NSeriesDecoder/VideowallScalingMode.html","kind":"enum","full_name":"Amx::Svsi::NSeriesDecoder::VideowallScalingMode","name":"VideowallScalingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L152"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Fit","name":"Fit","value":"1"},{"id":"Stretch","name":"Stretch","value":"2"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesDecoder","kind":"class","full_name":"Amx::Svsi::NSeriesDecoder","name":"NSeriesDecoder"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L153"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"fit?-instance-method","name":"fit?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L154"},"def":{"name":"fit?","visibility":"Public","body":"self == Fit"}},{"html_id":"stretch?-instance-method","name":"stretch?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_decoder.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_decoder.cr#L155"},"def":{"name":"stretch?","visibility":"Public","body":"self == Stretch"}}]}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","path":"Amx/Svsi/NSeriesEncoder.html","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L8"},{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CommonCommands","name":"CommonCommands","value":"[:monitor, :monitornotify, :live, :local, :serial, :readresponse, :sendir, :sendirraw, :audioon, :audiooff, :enablehdmiaudio, :disablehdmiaudio, :autohdmiaudio, :record, :dsrecord, :dvrswitch1, :dvrswitch2, :mpeg, :mpegall, :deletempegfile, :play, :stop, :pause, :unpause, :fastforward, :rewind, :deletefile, :stepforward, :stepreverse, :stoprecord, :recordhold, :recordrelease, :playhold, :playrelease, :deleteallplaylist, :deleteallmpegs, :remotecopy, :wpswitch, :wpaudioin, :wpactive, :wpinactive, :wpaudioon, :wpaudiooff, :wpmodeon, :wpmodeoff, :wparrange, :wpbackground, :wpcrop, :wppriority, :wpbordon, :wpbordoff, :wppreset, :atrswitch, :atrmute, :atrunmute, :atrtxmute, :atrtxunmute, :atrhpvol, :atrlovol, :atrlovolup, :atrlovoldown, :atrhpvolup, :atrhpvoldown, :openrelay, :closerelay, :videowall, :script, :goto, :tcpclient, :udpclient, :reboot, :gc_serial, :gc_openrelay, :gc_closerelay, :gc_ir]"},{"id":"Modes","name":"Modes","value":"(1..8).map(&.to_s)"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"atrhpvol(ip_address:String,*args,**options)-instance-method","name":"atrhpvol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvol\", ip_address, *args, **options)"}},{"html_id":"atrhpvoldown(ip_address:String,*args,**options)-instance-method","name":"atrhpvoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvoldown\", ip_address, *args, **options)"}},{"html_id":"atrhpvolup(ip_address:String,*args,**options)-instance-method","name":"atrhpvolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrhpvolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrhpvolup\", ip_address, *args, **options)"}},{"html_id":"atrlovol(ip_address:String,*args,**options)-instance-method","name":"atrlovol","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovol","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovol\", ip_address, *args, **options)"}},{"html_id":"atrlovoldown(ip_address:String,*args,**options)-instance-method","name":"atrlovoldown","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovoldown","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovoldown\", ip_address, *args, **options)"}},{"html_id":"atrlovolup(ip_address:String,*args,**options)-instance-method","name":"atrlovolup","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrlovolup","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrlovolup\", ip_address, *args, **options)"}},{"html_id":"atrmute(ip_address:String,*args,**options)-instance-method","name":"atrmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrmute\", ip_address, *args, **options)"}},{"html_id":"atrswitch(ip_address:String,*args,**options)-instance-method","name":"atrswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrswitch\", ip_address, *args, **options)"}},{"html_id":"atrtxmute(ip_address:String,*args,**options)-instance-method","name":"atrtxmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxmute\", ip_address, *args, **options)"}},{"html_id":"atrtxunmute(ip_address:String,*args,**options)-instance-method","name":"atrtxunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrtxunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrtxunmute\", ip_address, *args, **options)"}},{"html_id":"atrunmute(ip_address:String,*args,**options)-instance-method","name":"atrunmute","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"atrunmute","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"atrunmute\", ip_address, *args, **options)"}},{"html_id":"audiofollow(output:InOut,*args,**options)-instance-method","name":"audiofollow","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"audiofollow","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiofollow\", get_output(output), *args, **options)"}},{"html_id":"audiooff(ip_address:String,*args,**options)-instance-method","name":"audiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audiooff\", ip_address, *args, **options)"}},{"html_id":"audioon(ip_address:String,*args,**options)-instance-method","name":"audioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"audioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"audioon\", ip_address, *args, **options)"}},{"html_id":"autocc(input:InOut,*args,**options)-instance-method","name":"autocc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"autocc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autocc\", get_input(input), *args, **options)"}},{"html_id":"autohdmiaudio(ip_address:String,*args,**options)-instance-method","name":"autohdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"autohdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"autohdmiaudio\", ip_address, *args, **options)"}},{"html_id":"closerelay(ip_address:String,*args,**options)-instance-method","name":"closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"closerelay\", ip_address, *args, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L40"},"def":{"name":"connected","visibility":"Public","body":"@lookup.each_key do |ip_address|\n monitor(ip_address, priority: 0)\n monitornotify(ip_address, priority: 0)\nend\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Maintaining Connection --\"\n end\n monitornotify(@list.first, priority: 0)\nend\n"}},{"html_id":"cropref(output:InOut,*args,**options)-instance-method","name":"cropref","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"cropref","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"cropref\", get_output(output), *args, **options)"}},{"html_id":"deleteallmpegs(ip_address:String,*args,**options)-instance-method","name":"deleteallmpegs","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallmpegs","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallmpegs\", ip_address, *args, **options)"}},{"html_id":"deleteallplaylist(ip_address:String,*args,**options)-instance-method","name":"deleteallplaylist","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deleteallplaylist","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deleteallplaylist\", ip_address, *args, **options)"}},{"html_id":"deletefile(ip_address:String,*args,**options)-instance-method","name":"deletefile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletefile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletefile\", ip_address, *args, **options)"}},{"html_id":"deletempegfile(ip_address:String,*args,**options)-instance-method","name":"deletempegfile","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"deletempegfile","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"deletempegfile\", ip_address, *args, **options)"}},{"html_id":"disablecc(input:InOut,*args,**options)-instance-method","name":"disablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"disablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablecc\", get_input(input), *args, **options)"}},{"html_id":"disablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"disablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"disablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"disablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L48"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::GetStatus, priority: 0)"}},{"html_id":"do_send(command:Command,*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(command : Command, *args, **options)","args_html":"(command : Command, *args, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L111"},"def":{"name":"do_send","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"arguments = [command.mapped_value]\nif (splat = args.to_a).is_a?(Array(NoReturn))\nelse\n arguments = arguments + splat\nend\nrequest = \"#{arguments.join(':')}#{DELIMITER}\"\nsend(request, **options)\n"}},{"html_id":"do_send(*args,**options)-instance-method","name":"do_send","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L201"},"def":{"name":"do_send","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"cmd = args.join(' ')\nlogger.debug do\n \"sending #{cmd}\"\nend\nsend(\"#{cmd}\\r\\n\", **options)\n"}},{"html_id":"dsrecord(ip_address:String,*args,**options)-instance-method","name":"dsrecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dsrecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dsrecord\", ip_address, *args, **options)"}},{"html_id":"dvioff(output:InOut,*args,**options)-instance-method","name":"dvioff","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvioff","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvioff\", get_output(output), *args, **options)"}},{"html_id":"dvion(output:InOut,*args,**options)-instance-method","name":"dvion","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"dvion","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvion\", get_output(output), *args, **options)"}},{"html_id":"dvrswitch1(ip_address:String,*args,**options)-instance-method","name":"dvrswitch1","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch1","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch1\", ip_address, *args, **options)"}},{"html_id":"dvrswitch2(ip_address:String,*args,**options)-instance-method","name":"dvrswitch2","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"dvrswitch2","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"dvrswitch2\", ip_address, *args, **options)"}},{"html_id":"enablecc(input:InOut,*args,**options)-instance-method","name":"enablecc","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"enablecc","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablecc\", get_input(input), *args, **options)"}},{"html_id":"enablehdmiaudio(ip_address:String,*args,**options)-instance-method","name":"enablehdmiaudio","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"enablehdmiaudio","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"enablehdmiaudio\", ip_address, *args, **options)"}},{"html_id":"fastforward(ip_address:String,*args,**options)-instance-method","name":"fastforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"fastforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"fastforward\", ip_address, *args, **options)"}},{"html_id":"gc_closerelay(ip_address:String,*args,**options)-instance-method","name":"gc_closerelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_closerelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_closerelay\", ip_address, *args, **options)"}},{"html_id":"gc_ir(ip_address:String,*args,**options)-instance-method","name":"gc_ir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_ir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_ir\", ip_address, *args, **options)"}},{"html_id":"gc_openrelay(ip_address:String,*args,**options)-instance-method","name":"gc_openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_openrelay\", ip_address, *args, **options)"}},{"html_id":"gc_serial(ip_address:String,*args,**options)-instance-method","name":"gc_serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"gc_serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"gc_serial\", ip_address, *args, **options)"}},{"html_id":"getStatus(output:InOut,*args,**options)-instance-method","name":"getStatus","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"getStatus","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"getStatus\", get_output(output), *args, **options)"}},{"html_id":"goto(ip_address:String,*args,**options)-instance-method","name":"goto","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"goto","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"goto\", ip_address, *args, **options)"}},{"html_id":"live(ip_address:String,*args,**options)-instance-method","name":"live","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"live","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"live\", ip_address, *args, **options)"}},{"html_id":"local(ip_address:String,*args,**options)-instance-method","name":"local","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"local","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"local\", ip_address, *args, **options)"}},{"html_id":"media_source(mode:String)-instance-method","name":"media_source","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L58"},"def":{"name":"media_source","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"if mode == \"live\"\n do_send(Command::Live)\nelse\n if Modes.includes?(mode)\n do_send(Command::Local, mode)\n else\n raise(\"invalid mode #{mode}\")\n end\nend"}},{"html_id":"modeoff(input:InOut,*args,**options)-instance-method","name":"modeoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"modeoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"modeoff\", get_input(input), *args, **options)"}},{"html_id":"monitor(ip_address:String,*args,**options)-instance-method","name":"monitor","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitor","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitor\", ip_address, *args, **options)"}},{"html_id":"monitornotify(ip_address:String,*args,**options)-instance-method","name":"monitornotify","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"monitornotify","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"monitornotify\", ip_address, *args, **options)"}},{"html_id":"mpeg(ip_address:String,*args,**options)-instance-method","name":"mpeg","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpeg","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpeg\", ip_address, *args, **options)"}},{"html_id":"mpegall(ip_address:String,*args,**options)-instance-method","name":"mpegall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"mpegall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"mpegall\", ip_address, *args, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L155"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"address = index.is_a?(Int32) && (val = @encoders[index]? || @decoders[index]?) ? val : index.as(String)\nif state\n if layer.audio_video? || layer.video?\n dvioff(address)\n end\n if layer.audio_video? || layer.audio?\n audiooff(address)\n end\nelse\n if layer.audio_video? || layer.video?\n dvion(address)\n end\n if layer.audio_video? || layer.audio?\n audioon(address)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = (setting?(Hash(String, String), :inputs)) || ({} of String => String)\n@outputs = (setting?(Hash(String, String), :outputs)) || ({} of String => String)\n@encoders = @inputs.keys\n@decoders = @outputs.keys\n@lookup = @inputs.merge(@outputs)\n@list = @encoders + @decoders\n"}},{"html_id":"openrelay(ip_address:String,*args,**options)-instance-method","name":"openrelay","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"openrelay","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"openrelay\", ip_address, *args, **options)"}},{"html_id":"pause(ip_address:String,*args,**options)-instance-method","name":"pause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"pause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"pause\", ip_address, *args, **options)"}},{"html_id":"play(ip_address:String,*args,**options)-instance-method","name":"play","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"play","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"play\", ip_address, *args, **options)"}},{"html_id":"playhold(ip_address:String,*args,**options)-instance-method","name":"playhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playhold\", ip_address, *args, **options)"}},{"html_id":"playrelease(ip_address:String,*args,**options)-instance-method","name":"playrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"playrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"playrelease\", ip_address, *args, **options)"}},{"html_id":"readresponse(ip_address:String,*args,**options)-instance-method","name":"readresponse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"readresponse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"readresponse\", ip_address, *args, **options)"}},{"html_id":"reboot(ip_address:String,*args,**options)-instance-method","name":"reboot","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"reboot","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"reboot\", ip_address, *args, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L170"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Received: #{data}\"\nend\nresp = data.split(':')\ncase resp.size\nwhen 13\n self[resp[0]] = {communications: resp[1] == \"1\", dvioff: resp[2] == \"1\", scaler: resp[3] == \"1\", source_detected: resp[4] == \"1\", mode: resp[5], audio_enabled: resp[6] == \"1\", video_stream: resp[7].to_i, audio_stream: resp[8] == \"follow video\" ? resp[8] : resp[8].to_i, playlist: resp[9], colorspace: resp[10], hdmiaudio: resp[11], resolution: resp[12]}\nwhen 10\n self[resp[0]] = resp\nelse\n logger.warn do\n \"unknown response type: #{resp}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"record(ip_address:String,*args,**options)-instance-method","name":"record","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"record","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"record\", ip_address, *args, **options)"}},{"html_id":"recordhold(ip_address:String,*args,**options)-instance-method","name":"recordhold","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordhold","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordhold\", ip_address, *args, **options)"}},{"html_id":"recordrelease(ip_address:String,*args,**options)-instance-method","name":"recordrelease","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"recordrelease","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"recordrelease\", ip_address, *args, **options)"}},{"html_id":"remotecopy(ip_address:String,*args,**options)-instance-method","name":"remotecopy","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"remotecopy","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"remotecopy\", ip_address, *args, **options)"}},{"html_id":"rewind(ip_address:String,*args,**options)-instance-method","name":"rewind","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"rewind","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"rewind\", ip_address, *args, **options)"}},{"html_id":"script(ip_address:String,*args,**options)-instance-method","name":"script","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"script","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"script\", ip_address, *args, **options)"}},{"html_id":"sendir(ip_address:String,*args,**options)-instance-method","name":"sendir","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendir","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendir\", ip_address, *args, **options)"}},{"html_id":"sendirraw(ip_address:String,*args,**options)-instance-method","name":"sendirraw","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"sendirraw","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"sendirraw\", ip_address, *args, **options)"}},{"html_id":"serial(ip_address:String,*args,**options)-instance-method","name":"serial","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"serial","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"serial\", ip_address, *args, **options)"}},{"html_id":"serialhex(ip_address:String,wait_time:Int32=1,*data,**options)-instance-method","name":"serialhex","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"args_string":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","args_html":"(ip_address : String, wait_time : Int32 = 1, *data, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L85"},"def":{"name":"serialhex","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"wait_time","default_value":"1","external_name":"wait_time","restriction":"Int32"},{"name":"data","external_name":"data","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":2,"visibility":"Public","body":"do_send(\"serialhex\", wait_time, ip_address, *data, **options)"}},{"html_id":"stepforward(ip_address:String,*args,**options)-instance-method","name":"stepforward","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepforward","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepforward\", ip_address, *args, **options)"}},{"html_id":"stepreverse(ip_address:String,*args,**options)-instance-method","name":"stepreverse","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stepreverse","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stepreverse\", ip_address, *args, **options)"}},{"html_id":"stop(ip_address:String,*args,**options)-instance-method","name":"stop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stop\", ip_address, *args, **options)"}},{"html_id":"stoprecord(ip_address:String,*args,**options)-instance-method","name":"stoprecord","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"stoprecord","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"stoprecord\", ip_address, *args, **options)"}},{"html_id":"switch(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L103"},"def":{"name":"switch","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n dvion(output_actual, **options)\n audioon(output_actual, **options)\n audiofollow(output_actual, **options)\n self[\"video#{output_actual}\"] = input_actual\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switch, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n output_actual = get_output(o)\n dvioff(output_actual, **options)\n audiooff(output_actual, **options)\n end\n end\nend"}},{"html_id":"switch_audio(inouts:Hash(Int32,InOut|Array(InOut)),**options)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"args_string":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","args_html":"(inouts : Hash(Int32, InOut | Array(InOut)), **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L131"},"def":{"name":"switch_audio","args":[{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, InOut | Array(InOut))"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, output|\n outputs = output.is_a?(InOut) ? [output] : output\n if input != 0\n input_actual = get_input(input)\n outputs.each do |o|\n output_actual = get_output(o)\n audioon(input_actual, **options)\n audioon(output_actual, **options)\n self[\"audio#{output_actual}\"] = input_actual\n do_send(:switchaudio, output_actual, input_actual, **options)\n end\n else\n outputs.each do |o|\n audiooff(get_output(o), **options)\n end\n end\nend"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L52"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::VideoSource, input, **options)"}},{"html_id":"tcpclient(ip_address:String,*args,**options)-instance-method","name":"tcpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"tcpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"tcpclient\", ip_address, *args, **options)"}},{"html_id":"udpclient(ip_address:String,*args,**options)-instance-method","name":"udpclient","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"udpclient","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"udpclient\", ip_address, *args, **options)"}},{"html_id":"uncompressedoff(input:InOut,*args,**options)-instance-method","name":"uncompressedoff","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(input : InOut, *args, **options)","args_html":"(input : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L90"},"def":{"name":"uncompressedoff","args":[{"name":"input","external_name":"input","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"uncompressedoff\", get_input(input), *args, **options)"}},{"html_id":"unpause(ip_address:String,*args,**options)-instance-method","name":"unpause","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"unpause","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"unpause\", ip_address, *args, **options)"}},{"html_id":"videowall(ip_address:String,*args,**options)-instance-method","name":"videowall","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"videowall","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"videowall\", ip_address, *args, **options)"}},{"html_id":"volume(output:InOut,*args,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(output : InOut, *args, **options)","args_html":"(output : InOut, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L97"},"def":{"name":"volume","args":[{"name":"output","external_name":"output","restriction":"InOut"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"volume\", get_output(output), *args, **options)"}},{"html_id":"wpactive(ip_address:String,*args,**options)-instance-method","name":"wpactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpactive\", ip_address, *args, **options)"}},{"html_id":"wparrange(ip_address:String,*args,**options)-instance-method","name":"wparrange","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wparrange","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wparrange\", ip_address, *args, **options)"}},{"html_id":"wpaudioin(ip_address:String,*args,**options)-instance-method","name":"wpaudioin","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioin","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioin\", ip_address, *args, **options)"}},{"html_id":"wpaudiooff(ip_address:String,*args,**options)-instance-method","name":"wpaudiooff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudiooff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudiooff\", ip_address, *args, **options)"}},{"html_id":"wpaudioon(ip_address:String,*args,**options)-instance-method","name":"wpaudioon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpaudioon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpaudioon\", ip_address, *args, **options)"}},{"html_id":"wpbackground(ip_address:String,*args,**options)-instance-method","name":"wpbackground","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbackground","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbackground\", ip_address, *args, **options)"}},{"html_id":"wpbordoff(ip_address:String,*args,**options)-instance-method","name":"wpbordoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordoff\", ip_address, *args, **options)"}},{"html_id":"wpbordon(ip_address:String,*args,**options)-instance-method","name":"wpbordon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpbordon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpbordon\", ip_address, *args, **options)"}},{"html_id":"wpcrop(ip_address:String,*args,**options)-instance-method","name":"wpcrop","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpcrop","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpcrop\", ip_address, *args, **options)"}},{"html_id":"wpinactive(ip_address:String,*args,**options)-instance-method","name":"wpinactive","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpinactive","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpinactive\", ip_address, *args, **options)"}},{"html_id":"wpmodeoff(ip_address:String,*args,**options)-instance-method","name":"wpmodeoff","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeoff","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeoff\", ip_address, *args, **options)"}},{"html_id":"wpmodeon(ip_address:String,*args,**options)-instance-method","name":"wpmodeon","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpmodeon","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpmodeon\", ip_address, *args, **options)"}},{"html_id":"wppreset(ip_address:String,*args,**options)-instance-method","name":"wppreset","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppreset","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppreset\", ip_address, *args, **options)"}},{"html_id":"wppriority(ip_address:String,*args,**options)-instance-method","name":"wppriority","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wppriority","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wppriority\", ip_address, *args, **options)"}},{"html_id":"wpswitch(ip_address:String,*args,**options)-instance-method","name":"wpswitch","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"args_string":"(ip_address : String, *args, **options)","args_html":"(ip_address : String, *args, **options)","location":{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L79"},"def":{"name":"wpswitch","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"},{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":1,"visibility":"Public","body":"do_send(\"wpswitch\", ip_address, *args, **options)"}}],"types":[{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Command","path":"Amx/Svsi/NSeriesEncoder/Command.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"GetStatus","name":"GetStatus","value":"0"},{"id":"VideoSource","name":"VideoSource","value":"1"},{"id":"Live","name":"Live","value":"2"},{"id":"Local","name":"Local","value":"3"},{"id":"Disable","name":"Disable","value":"4"},{"id":"Mute","name":"Mute","value":"5"},{"id":"Unmute","name":"Unmute","value":"6"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"disable?-instance-method","name":"disable?","abstract":false,"def":{"name":"disable?","visibility":"Public","body":"self == Disable"}},{"html_id":"get_status?-instance-method","name":"get_status?","abstract":false,"def":{"name":"get_status?","visibility":"Public","body":"self == GetStatus"}},{"html_id":"live?-instance-method","name":"live?","abstract":false,"def":{"name":"live?","visibility":"Public","body":"self == Live"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"unmute?-instance-method","name":"unmute?","abstract":false,"def":{"name":"unmute?","visibility":"Public","body":"self == Unmute"}},{"html_id":"video_source?-instance-method","name":"video_source?","abstract":false,"def":{"name":"video_source?","visibility":"Public","body":"self == VideoSource"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/InOut","path":"Amx/Svsi/NSeriesEncoder/InOut.html","kind":"alias","full_name":"Amx::Svsi::NSeriesEncoder::InOut","name":"InOut","abstract":false,"locations":[{"filename":"src/amx/svsi/n_series_switcher.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_switcher.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Int32 | String)","aliased_html":"Int32 | String","const":false,"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"}},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Input","path":"Amx/Svsi/NSeriesEncoder/Input.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmionly","name":"Hdmionly","value":"0"},{"id":"Vgaonly","name":"Vgaonly","value":"1"},{"id":"Hdmivga","name":"Hdmivga","value":"2"},{"id":"Vgahdmi","name":"Vgahdmi","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"hdmionly?-instance-method","name":"hdmionly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L12"},"def":{"name":"hdmionly?","visibility":"Public","body":"self == Hdmionly"}},{"html_id":"hdmivga?-instance-method","name":"hdmivga?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L14"},"def":{"name":"hdmivga?","visibility":"Public","body":"self == Hdmivga"}},{"html_id":"vgahdmi?-instance-method","name":"vgahdmi?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L15"},"def":{"name":"vgahdmi?","visibility":"Public","body":"self == Vgahdmi"}},{"html_id":"vgaonly?-instance-method","name":"vgaonly?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L13"},"def":{"name":"vgaonly?","visibility":"Public","body":"self == Vgaonly"}}]},{"html_id":"drivers/Amx/Svsi/NSeriesEncoder/Response","path":"Amx/Svsi/NSeriesEncoder/Response.html","kind":"enum","full_name":"Amx::Svsi::NSeriesEncoder::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L82"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Name","name":"Name","value":"0"},{"id":"Stream","name":"Stream","value":"1"},{"id":"Playmode","name":"Playmode","value":"2"},{"id":"Mute","name":"Mute","value":"3"}],"namespace":{"html_id":"drivers/Amx/Svsi/NSeriesEncoder","kind":"class","full_name":"Amx::Svsi::NSeriesEncoder","name":"NSeriesEncoder"},"instance_methods":[{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L86"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L83"},"def":{"name":"name?","visibility":"Public","body":"self == Name"}},{"html_id":"playmode?-instance-method","name":"playmode?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L85"},"def":{"name":"playmode?","visibility":"Public","body":"self == Playmode"}},{"html_id":"stream?-instance-method","name":"stream?","abstract":false,"location":{"filename":"src/amx/svsi/n_series_encoder.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/n_series_encoder.cr#L84"},"def":{"name":"stream?","visibility":"Public","body":"self == Stream"}}]}]},{"html_id":"drivers/Amx/Svsi/VirtualSwitcher","path":"Amx/Svsi/VirtualSwitcher.html","kind":"class","full_name":"Amx::Svsi::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Amx/Svsi","kind":"module","full_name":"Amx::Svsi","name":"Svsi"},"instance_methods":[{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L22"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nconnect(map) do |mod, stream|\n if layer.all? || layer.audio?\n mod.switch_audio(stream)\n end\n if layer.all? || layer.video?\n mod.switch_video(stream)\n end\nend\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/amx/svsi/virtual_switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/amx/svsi/virtual_switcher.cr#L18"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"decoders.each(&.switch_to(input))"}}]}]}]},{"html_id":"drivers/Ashrae","path":"Ashrae.html","kind":"module","full_name":"Ashrae","name":"Ashrae","abstract":false,"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Ashrae/BACnet","path":"Ashrae/BACnet.html","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L157"},"def":{"name":"connected","visibility":"Public","body":"bbmd_ip = setting?(String, :bbmd_ip)\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"device(device_id:UInt32)-instance-method","name":"device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L205"},"def":{"name":"device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device_details((get_device(device_id)).not_nil!)"}},{"html_id":"devices-instance-method","name":"devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L209"},"def":{"name":"devices","visibility":"Public","body":"device_registry.devices.map do |device|\n device_details(device)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L55"},"def":{"name":"on_load","visibility":"Public","body":"server = UDPSocket.new\nserver.bind(\"0.0.0.0\", 47808)\nserver.write_timeout = 200.milliseconds\n@udp_server = server\nqueue.timeout = 2.seconds\nclient = ::BACnet::Client::IPv4.new(0, 2.seconds)\nclient.on_transmit do |message, address|\n if address.address == Socket::IPAddress::BROADCAST\n if @bbmd_forwarding.size == 4\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::ForwardedNPDU\n message.data_link.address.ip1 = @bbmd_forwarding[0]\n message.data_link.address.ip2 = @bbmd_forwarding[1]\n message.data_link.address.ip3 = @bbmd_forwarding[2]\n message.data_link.address.ip4 = @bbmd_forwarding[3]\n message.data_link.address.port = 47808_u16\n end\n logger.debug do\n \"sending broadcase message #{message.inspect}\"\n end\n devices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\n devices.each do |dev|\n begin\n server.send(message, to: dev.address)\n rescue error\n logger.warn(exception: error) do\n \"error sending message to #{dev.address}\"\n end\n end\n end\n message.data_link.request_type = ::BACnet::Message::IPv4::Request::DistributeBroadcastToNetwork\n payload = DispatchProtocol.new\n payload.message = DispatchProtocol::MessageType::WRITE\n payload.ip_address = @bbmd_ip.address\n payload.id_or_port = @bbmd_ip.port.to_u64\n payload.data = message.to_slice\n transport.send(payload.to_slice)\n else\n server.send(message, to: address)\n end\nend\n@bacnet_client = client\nregistry = ::BACnet::Client::DeviceRegistry.new(client, logger)\nregistry.on_new_device do |device|\n new_device_found(device)\nend\n@device_registry = registry\nspawn do\n process_data(server, client)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L128"},"def":{"name":"on_unload","visibility":"Public","body":"udp_server.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L132"},"def":{"name":"on_update","visibility":"Public","body":"bbmd_ip = (setting?(String, :bbmd_ip)) || \"\"\nbbmd_forwarding = (setting?(String, :bbmd_forwarding)) || \"\"\n@bbmd_forwarding = (bbmd_forwarding.strip.split(\".\")).select(&.presence).map(&.to_u8)\nif bbmd_ip.presence\n @bbmd_ip = Socket::IPAddress.new(bbmd_ip, 47808)\nend\n@verbose_debug = (setting?(Bool, :verbose_debug)) || false\nschedule.clear\nschedule.in(5.seconds) do\n query_known_devices\nend\npoll_period = (setting?(UInt32, :poll_period)) || 3\nschedule.every(poll_period.minutes) do\n logger.debug do\n \"--- Polling all known bacnet devices\"\n end\n keys = @mutex.synchronize do\n @devices.keys\n end\n keys.each do |device_id|\n poll_device(device_id)\n end\nend\nif bbmd_ip.presence\n perform_discovery\nend\n"}},{"html_id":"packets_processed:UInt64-instance-method","name":"packets_processed","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L153"},"def":{"name":"packets_processed","visibility":"Public","body":"@packets_processed"}},{"html_id":"perform_discovery:Nil-instance-method","name":"perform_discovery","doc":"Performs a WhoIs discovery against the BACnet network","summary":"

Performs a WhoIs discovery against the BACnet network

","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L258"},"def":{"name":"perform_discovery","return_type":"Nil","visibility":"Public","body":"bacnet_client.who_is"}},{"html_id":"poll_device(device_id:UInt32)-instance-method","name":"poll_device","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"args_string":"(device_id : UInt32)","args_html":"(device_id : UInt32)","location":{"filename":"src/ashrae/bacnet.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L232"},"def":{"name":"poll_device","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"}],"visibility":"Public","body":"device = get_device(device_id)\nif device\nelse\n return false\nend\nclient = bacnet_client\nobjects = @mutex.synchronize do\n device.objects.dup\nend\nobjects.each do |obj|\n if obj.object_type.in?(::BACnet::Client::DeviceRegistry::OBJECTS_WITH_VALUES)\n else\n next\n end\n name = object_binding(device_id, obj)\n queue(name: name, priority: 0, timeout: 500.milliseconds) do |task|\n spawn_action(task) do\n obj.sync_value(client)\n self[name] = object_value(obj)\n end\n end\n Fiber.yield\nend\ntrue\n"}},{"html_id":"query_known_devices-instance-method","name":"query_known_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L213"},"def":{"name":"query_known_devices","visibility":"Public","body":"sent = [] of UInt32\n@seen_devices.each_value do |info|\n sent << info.id.not_nil!\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\nend\ndevices = (setting?(Array(DeviceAddress), :known_devices)) || ([] of DeviceAddress)\ndevices.each do |info|\n if id = info.id\n if id.in?(sent)\n next\n end\n sent << id\n logger.debug do\n \"inspecting #{info.address} - #{info.id}\"\n end\n device_registry.inspect_device(info.address, info.identifier, info.net, info.addr)\n end\nend\n\"inspected #{sent.size} devices\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/ashrae/bacnet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L406"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"protocol = (IO::Memory.new(data)).read_bytes(DispatchProtocol)\nlogger.debug do\n \"received message: #{protocol.message} #{protocol.ip_address}:#{protocol.id_or_port} (size #{protocol.data_size})\"\nend\nif protocol.message.received?\n message = (IO::Memory.new(protocol.data)).read_bytes(::BACnet::Message::IPv4)\n if @verbose_debug\n logger.debug do\n \"dispatch sent:\\n#{message.inspect}\"\n end\n end\n bacnet_client.received(message, @bbmd_ip)\n app = message.application\n is_iam = false\n is_cov = case app\n when ::BACnet::ConfirmedRequest\n app.service.cov_notification?\n when ::BACnet::UnconfirmedRequest\n is_iam = app.service.i_am?\n app.service.cov_notification?\n else\n false\n end\n network = message.network\n if network && is_cov\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n if network.source_specifier\n addr = network.source_address\n net = network.source.network\n end\n device = message.objects.find do |obj|\n obj.tag == 1\n end.not_nil!.to_object_id.instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, net, addr)\n end\n if network && is_iam\n ip = if message.data_link.request_type.forwarded_npdu?\n ip_add = message.data_link.address\n \"#{ip_add.ip1}.#{ip_add.ip2}.#{ip_add.ip3}.#{ip_add.ip4}\"\n else\n protocol.ip_address\n end\n details = ::BACnet::Client::Message::IAm.parse(message)\n device = details[:object_id].instance_number\n @seen_devices[device] = DeviceAddress.new(ip, device, details[:network], details[:address])\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_seen_devices-instance-method","name":"save_seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L631"},"def":{"name":"save_seen_devices","visibility":"Public","body":"define_setting(:known_devices, @seen_devices.values)"}},{"html_id":"seen_devices:Hash(UInt32,Ashrae::DeviceAddress)-instance-method","name":"seen_devices","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":463,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L463"},"def":{"name":"seen_devices","visibility":"Public","body":"@seen_devices"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/ashrae/bacnet.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L601"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ndevice_id = mac.to_u32?\nif device_id\nelse\n return nil\nend\ndevice = get_device(device_id)\nif device\nelse\n return nil\nend\nobj_type_string, instance_id_string = id.split('[', 2)\ninstance_id = instance_id_string.rchop.to_u32?\nif instance_id\nelse\n return nil\nend\nobject_type = ObjectType.parse?(obj_type_string)\nif object_type\nelse\n return nil\nend\nobject = get_object_details(device_id, instance_id, object_type)\nif object.changed < 1.minutes.ago\n begin\n object.sync_value(bacnet_client)\n rescue error\n logger.warn(exception: error) do\n \"failed to obtain latest value for sensor at #{mac}.#{id}\"\n end\n end\nend\nto_sensor(device_id, device, object)\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/ashrae/bacnet.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L577"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n if mac\n device_id = mac.to_u32?\n if device_id\n else\n return NO_MATCH\n end\n device = get_device(device_id)\n if device\n else\n return NO_MATCH\n end\n return device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n matches = @mutex.synchronize do\n @devices.map do |__arg4|\n device_id = __arg4[0]\n device = __arg4[1]\n device.objects.compact_map do |obj|\n to_sensor(device_id, device, obj, filter)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"update_value(device_id:UInt32,instance_id:UInt32,object_type:ObjectType)-instance-method","name":"update_value","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","args_html":"(device_id : UInt32, instance_id : UInt32, object_type : ObjectType)","location":{"filename":"src/ashrae/bacnet.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L264"},"def":{"name":"update_value","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"object_type","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"obj = get_object_details(device_id, instance_id, object_type)\nname = object_binding(device_id, obj)\nqueue(name: name, priority: 50) do |task|\n spawn_action(task) do\n obj.sync_value(bacnet_client)\n self[name] = object_value(obj)\n end\nend\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/ashrae/bacnet.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L29"},"def":{"name":"websocket_headers","visibility":"Public","body":"dispatcher_key = setting?(String, :dispatcher_key)\nHTTP::Headers {\"Authorization\" => \"Bearer #{dispatcher_key}\", \"X-Module-ID\" => module_id}\n"}},{"html_id":"write_binary(device_id:UInt32,instance_id:UInt32,value:Bool,object_type:ObjectType=ObjectType::BinaryValue)-instance-method","name":"write_binary","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Bool, object_type : ObjectType = ObjectType::BinaryValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L371"},"def":{"name":"write_binary","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Bool"},{"name":"object_type","default_value":"ObjectType::BinaryValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"val = value ? 1 : 0\nobject = get_object_details(device_id, instance_id, object_type)\nval = ::BACnet::Object.new.set_value(val)\nval.short_tag = 9_u8\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, val, network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_double(device_id:UInt32,instance_id:UInt32,value:Float64,object_type:ObjectType=ObjectType::LargeAnalogValue)-instance-method","name":"write_double","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float64, object_type : ObjectType = ObjectType::LargeAnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L299"},"def":{"name":"write_double","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float64"},{"name":"object_type","default_value":"ObjectType::LargeAnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_real(device_id:UInt32,instance_id:UInt32,value:Float32,object_type:ObjectType=ObjectType::AnalogValue)-instance-method","name":"write_real","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Float32, object_type : ObjectType = ObjectType::AnalogValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L281"},"def":{"name":"write_real","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Float32"},{"name":"object_type","default_value":"ObjectType::AnalogValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_signed_int(device_id:UInt32,instance_id:UInt32,value:Int64,object_type:ObjectType=ObjectType::IntegerValue)-instance-method","name":"write_signed_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : Int64, object_type : ObjectType = ObjectType::IntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L335"},"def":{"name":"write_signed_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"Int64"},{"name":"object_type","default_value":"ObjectType::IntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_string(device_id:UInt32,instance_id:UInt32,value:String,object_type:ObjectType=ObjectType::CharacterStringValue)-instance-method","name":"write_string","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : String, object_type : ObjectType = ObjectType::CharacterStringValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L353"},"def":{"name":"write_string","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"String"},{"name":"object_type","default_value":"ObjectType::CharacterStringValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}},{"html_id":"write_unsigned_int(device_id:UInt32,instance_id:UInt32,value:UInt64,object_type:ObjectType=ObjectType::PositiveIntegerValue)-instance-method","name":"write_unsigned_int","abstract":false,"args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"args_string":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","args_html":"(device_id : UInt32, instance_id : UInt32, value : UInt64, object_type : ObjectType = ObjectType::PositiveIntegerValue)","location":{"filename":"src/ashrae/bacnet.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L317"},"def":{"name":"write_unsigned_int","args":[{"name":"device_id","external_name":"device_id","restriction":"UInt32"},{"name":"instance_id","external_name":"instance_id","restriction":"UInt32"},{"name":"value","external_name":"value","restriction":"UInt64"},{"name":"object_type","default_value":"ObjectType::PositiveIntegerValue","external_name":"object_type","restriction":"ObjectType"}],"visibility":"Public","body":"object = get_object_details(device_id, instance_id, object_type)\nqueue(priority: 99) do |task|\n spawn_action(task) do\n bacnet_client.write_property(object.ip_address, ::BACnet::ObjectIdentifier.new(object_type, instance_id), ::BACnet::PropertyType::PresentValue, ::BACnet::Object.new.set_value(value), network: object.network, address: object.address)\n end\nend\nvalue\n"}}],"types":[{"html_id":"drivers/Ashrae/BACnet/DeviceInfo","path":"Ashrae/BACnet/DeviceInfo.html","kind":"alias","full_name":"Ashrae::BACnet::DeviceInfo","name":"DeviceInfo","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::Client::DeviceRegistry::DeviceInfo","aliased_html":"BACnet::Client::DeviceRegistry::DeviceInfo","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}},{"html_id":"drivers/Ashrae/BACnet/ObjectType","path":"Ashrae/BACnet/ObjectType.html","kind":"alias","full_name":"Ashrae::BACnet::ObjectType","name":"ObjectType","abstract":false,"locations":[{"filename":"src/ashrae/bacnet.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet.cr#L262"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"BACnet::ObjectIdentifier::ObjectType","aliased_html":"BACnet::ObjectIdentifier::ObjectType","const":false,"namespace":{"html_id":"drivers/Ashrae/BACnet","kind":"class","full_name":"Ashrae::BACnet","name":"BACnet"}}]},{"html_id":"drivers/Ashrae/BACnetDataPoints","path":"Ashrae/BACnetDataPoints.html","kind":"class","full_name":"Ashrae::BACnetDataPoints","name":"BACnetDataPoints","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/ashrae/bacnet_datapoints.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_datapoints.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\npoints = setting(Hash(String, String), :points)\npoints.each do |__arg0|\n key = __arg0[0]\n status = __arg0[1]\n bacnet.subscribe(status) do |_sub, payload|\n self[key] = JSON.parse(payload)\n end\nend\n"}}]},{"html_id":"drivers/Ashrae/DeviceAddress","path":"Ashrae/DeviceAddress.html","kind":"class","full_name":"Ashrae::DeviceAddress","name":"DeviceAddress","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"constructors":[{"html_id":"new(ip:String,id:UInt32|Nil,net:UInt16|Nil,addr:Nil|String)-class-method","name":"new","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"args_string":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","args_html":"(ip : String, id : UInt32 | Nil, net : UInt16 | Nil, addr : Nil | String)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L8"},"def":{"name":"new","args":[{"name":"ip","external_name":"ip","restriction":"::String"},{"name":"id","external_name":"id","restriction":"::UInt32 | ::Nil"},{"name":"net","external_name":"net","restriction":"::UInt16 | ::Nil"},{"name":"addr","external_name":"addr","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ip, id, net, addr)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"addr:String|Nil-instance-method","name":"addr","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L14"},"def":{"name":"addr","return_type":"String | ::Nil","visibility":"Public","body":"@addr"}},{"html_id":"address-instance-method","name":"address","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L16"},"def":{"name":"address","visibility":"Public","body":"Socket::IPAddress.new(@ip, 47808)"}},{"html_id":"id:UInt32|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L12"},"def":{"name":"id","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"identifier-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L20"},"def":{"name":"identifier","visibility":"Public","body":"::BACnet::ObjectIdentifier.new(:device, @id.not_nil!)"}},{"html_id":"ip:String-instance-method","name":"ip","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L11"},"def":{"name":"ip","return_type":"String","visibility":"Public","body":"@ip"}},{"html_id":"net:UInt16|Nil-instance-method","name":"net","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L13"},"def":{"name":"net","return_type":"UInt16 | ::Nil","visibility":"Public","body":"@net"}}]},{"html_id":"drivers/Ashrae/DispatchProtocol","path":"Ashrae/DispatchProtocol.html","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Ashrae::DispatchProtocol]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: message, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: MessageType}, {type: \"string\", name: ip_address, cls: String, onlyif: nil, verify: nil, length: nil, value: nil, encoding: nil}, {type: \"basic\", name: id_or_port, cls: UInt64, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: data_size, cls: UInt32, onlyif: nil, verify: nil, value: -> do\n data.size\nend}, {type: \"bytes\", name: data, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n data_size\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Ashrae","kind":"module","full_name":"Ashrae","name":"Ashrae"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L26"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Bytes)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"@data = data"}},{"html_id":"data_size:UInt32-instance-method","name":"data_size","abstract":false,"def":{"name":"data_size","return_type":"UInt32","visibility":"Public","body":"@data_size"}},{"html_id":"data_size=(data_size:UInt32)-instance-method","name":"data_size=","abstract":false,"args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"args_string":"(data_size : UInt32)","args_html":"(data_size : UInt32)","def":{"name":"data_size=","args":[{"name":"data_size","external_name":"data_size","restriction":"UInt32"}],"visibility":"Public","body":"@data_size = data_size"}},{"html_id":"id_or_port:UInt64-instance-method","name":"id_or_port","abstract":false,"def":{"name":"id_or_port","return_type":"UInt64","visibility":"Public","body":"@id_or_port"}},{"html_id":"id_or_port=(id_or_port:UInt64)-instance-method","name":"id_or_port=","abstract":false,"args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"args_string":"(id_or_port : UInt64)","args_html":"(id_or_port : UInt64)","def":{"name":"id_or_port=","args":[{"name":"id_or_port","external_name":"id_or_port","restriction":"UInt64"}],"visibility":"Public","body":"@id_or_port = id_or_port"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"message:MessageType-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"MessageType","visibility":"Public","body":"@message"}},{"html_id":"message=(message:MessageType)-instance-method","name":"message=","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"args_string":"(message : MessageType)","args_html":"(message : MessageType)","def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"MessageType"}],"visibility":"Public","body":"@message = message"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/ashrae/bacnet_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L25"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}}],"types":[{"html_id":"drivers/Ashrae/DispatchProtocol/MessageType","path":"Ashrae/DispatchProtocol/MessageType.html","kind":"enum","full_name":"Ashrae::DispatchProtocol::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/ashrae/bacnet_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L28"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"OPENED","name":"OPENED","value":"0"},{"id":"CLOSED","name":"CLOSED","value":"1"},{"id":"RECEIVED","name":"RECEIVED","value":"2"},{"id":"WRITE","name":"WRITE","value":"3"},{"id":"CLOSE","name":"CLOSE","value":"4"}],"namespace":{"html_id":"drivers/Ashrae/DispatchProtocol","kind":"class","full_name":"Ashrae::DispatchProtocol","name":"DispatchProtocol"},"instance_methods":[{"html_id":"close?-instance-method","name":"close?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L33"},"def":{"name":"close?","visibility":"Public","body":"self == CLOSE"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L30"},"def":{"name":"closed?","visibility":"Public","body":"self == CLOSED"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L29"},"def":{"name":"opened?","visibility":"Public","body":"self == OPENED"}},{"html_id":"received?-instance-method","name":"received?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L31"},"def":{"name":"received?","visibility":"Public","body":"self == RECEIVED"}},{"html_id":"write?-instance-method","name":"write?","abstract":false,"location":{"filename":"src/ashrae/bacnet_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/ashrae/bacnet_models.cr#L32"},"def":{"name":"write?","visibility":"Public","body":"self == WRITE"}}]}]}]},{"html_id":"drivers/Aver","path":"Aver.html","kind":"module","full_name":"Aver","name":"Aver","abstract":false,"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Aver/Auth","path":"Aver/Auth.html","kind":"struct","full_name":"Aver::Auth","name":"Auth","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L14"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/Aver/AxisSelect","path":"Aver/AxisSelect.html","kind":"enum","full_name":"Aver::AxisSelect","name":"AxisSelect","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pan","name":"Pan","value":"0"},{"id":"Tilt","name":"Tilt","value":"1"},{"id":"Zoom","name":"Zoom","value":"2"},{"id":"Focus","name":"Focus","value":"3"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L8"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L5"},"def":{"name":"pan?","visibility":"Public","body":"self == Pan"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L6"},"def":{"name":"tilt?","visibility":"Public","body":"self == Tilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L7"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Aver/Cam520Pro","path":"Aver/Cam520Pro.html","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"send(\"token:#{authenticate}\")\nschedule.clear\nschedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.minutes) do\n keep_alive\nend\npan?\ntilt?\nzoom?\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L67"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L129"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\nif pan_speed.abs >= tilt_speed.abs\n axis = AxisSelect::Pan\n stop = AxisSelect::Tilt\n dir = pan_speed >= 0.0 ? 0 : 1\n cmd = pan_speed.zero? ? 2 : 1\nelse\n stop = AxisSelect::Pan\n axis = AxisSelect::Tilt\n dir = tilt_speed >= 0.0 ? 0 : 1\n cmd = tilt_speed.zero? ? 2 : 1\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: stop.to_i, dir: dir, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: axis.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L95"},"def":{"name":"keep_alive","visibility":"Public","body":"send(\"alive\")"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L289"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\ntransport.before_request do |request|\n logger.debug do\n \"performing request: #{request.method} #{request.path}\\n#{String.new((request.body.as(IO::Memory)).to_slice)}\"\n end\n if request.path != \"/login_name\"\n bearer = bearer_token.presence || authenticate\n request.headers[\"Authorization\"] = \"Bearer #{bearer}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\nif @username != \"spec\"\n device_host = URI.parse(config.uri.not_nil!)\n device_host.port = nil\n transport.http_uri_override = device_host\nend\n@zoom_max = setting(Int32, :zoom_max)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan?-instance-method","name":"pan?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L216"},"def":{"name":"pan?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_p_s\"}.to_json)\n@pan_pos = parse(response, Int32)\n"}},{"html_id":"pan_direct(position:Int32)-instance-method","name":"pan_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L196"},"def":{"name":"pan_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_p\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"pan_pos:Int32-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L99"},"def":{"name":"pan_pos","return_type":"Int32","visibility":"Public","body":"@pan_pos"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"dummy interface as no power command, camera is always on","summary":"

dummy interface as no power command, camera is always on

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/aver/cam520_pro.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L347"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L170"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n zoom_native(zoom_pos)\n pan_direct(pan_pos)\n tilt_direct(tilt_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task):Nil-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task) : Nil","args_html":"(data, task) : Nil","location":{"filename":"src/aver/cam520_pro.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L103"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"return_type":"Nil","visibility":"Public","body":"begin\n data = String.new(data)\n logger.debug do\n \"Camera sent: #{data}\"\n end\n payload = (Event.from_json(data)).data\n case payload\n in Option\n value = payload.value.to_i\n case payload.option\n in .ptz_ps?\n @pan_pos = value\n in .ptz_ts?\n @tilt_pos = value\n in .ptz_zs?\n @zoom_pos = value\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n end\n in Event\n raise(\"not possible\")\n end\nensure\n task.try(&.success)\nend"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L186"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L181"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/aver/cam520_pro.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L310"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"spawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Tilt.to_i, dir: 0, cmd: 2}.to_json)\nend\nspawn(same_thread: true) do\n post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Pan.to_i, dir: 0, cmd: 2}.to_json)\nend\nFiber.yield\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: 0, cmd: 2}.to_json)\nparse(response, Nil)\n"}},{"html_id":"tilt?-instance-method","name":"tilt?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L225"},"def":{"name":"tilt?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_t_s\"}.to_json)\n@tilt_pos = parse(response, Int32)\n"}},{"html_id":"tilt_direct(position:Int32)-instance-method","name":"tilt_direct","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L206"},"def":{"name":"tilt_direct","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_t\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"tilt_pos:Int32-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L100"},"def":{"name":"tilt_pos","return_type":"Int32","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L243"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .stop?\n dir = 0\n cmd = 2\nin .out?\n dir = 1\n cmd = 1\nin .in?\n dir = 0\n cmd = 1\nend\nresponse = post(\"/camera_move\", body: {method: \"SetPtzf\", axis: AxisSelect::Zoom.to_i, dir: dir, cmd: cmd}.to_json)\nparse(response, Nil)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L276"},"def":{"name":"zoom?","visibility":"Public","body":"response = post(\"/get_option\", body: {method: \"Get\", option: \"ptz_z_s\"}.to_json)\n@zoom_pos = value = parse(response, Int32)\nself[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\n"}},{"html_id":"zoom_native(position:Int32)-instance-method","name":"zoom_native","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Int32"}],"args_string":"(position : Int32)","args_html":"(position : Int32)","location":{"filename":"src/aver/cam520_pro.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L266"},"def":{"name":"zoom_native","args":[{"name":"position","external_name":"position","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/set_option\", body: {method: \"Set\", option: \"ptz_z\", value: position}.to_json)\n(parse(response, Nil)) || position\n"}},{"html_id":"zoom_pos:Int32-instance-method","name":"zoom_pos","abstract":false,"location":{"filename":"src/aver/cam520_pro.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L101"},"def":{"name":"zoom_pos","return_type":"Int32","visibility":"Public","body":"@zoom_pos"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/aver/cam520_pro.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L237"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_native((percentage * @zoom_max.to_f).to_i)\n"}}],"macros":[{"html_id":"parse(response,klass=::Union(Nil,::Nil))-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"args_string":"(response, klass = ::Union(Nil, ::Nil))","args_html":"(response, klass = ::Union(Nil, ::Nil))","location":{"filename":"src/aver/cam520_pro.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L79"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","default_value":"::Union(Nil, ::Nil)","external_name":"klass","restriction":""}],"visibility":"Public","body":" check_success(\n{{ response }}\n)\n HttpResponse(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!).data\n \n"}}],"types":[{"html_id":"drivers/Aver/Cam520Pro/Presets","path":"Aver/Cam520Pro/Presets.html","kind":"alias","full_name":"Aver::Cam520Pro::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/aver/cam520_pro.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro.cr#L167"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(Int32, Int32, Int32))","aliased_html":"Hash(String, {Int32, Int32, Int32})","const":false,"namespace":{"html_id":"drivers/Aver/Cam520Pro","kind":"class","full_name":"Aver::Cam520Pro","name":"Cam520Pro"}}]},{"html_id":"drivers/Aver/Event","path":"Aver/Event.html","kind":"struct","full_name":"Aver::Event","name":"Event","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L25"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Aver/EventOption","kind":"struct","full_name":"Aver::EventOption","name":"EventOption"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"event\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'event' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'event'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"option\"\n EventOption.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'event' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L28"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]},{"html_id":"drivers/Aver/EventOption","path":"Aver/EventOption.html","kind":"struct","full_name":"Aver::EventOption","name":"EventOption","abstract":false,"superclass":{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Aver/Event","kind":"struct","full_name":"Aver::Event","name":"Event"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Option-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L51"},"def":{"name":"data","return_type":"Option","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Aver/HttpResponse","path":"Aver/HttpResponse.html","kind":"struct","full_name":"Aver::HttpResponse(Data)","name":"HttpResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L20"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L22"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"msg:String-instance-method","name":"msg","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L21"},"def":{"name":"msg","return_type":"String","visibility":"Public","body":"@msg"}}]},{"html_id":"drivers/Aver/Option","path":"Aver/Option.html","kind":"struct","full_name":"Aver::Option","name":"Option","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/aver/cam520_pro_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"option:OptionType-instance-method","name":"option","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L44"},"def":{"name":"option","return_type":"OptionType","visibility":"Public","body":"@option"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L45"},"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Aver/OptionType","path":"Aver/OptionType.html","kind":"enum","full_name":"Aver::OptionType","name":"OptionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aver/cam520_pro_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PtzPS","name":"PtzPS","value":"0"},{"id":"PtzTS","name":"PtzTS","value":"1"},{"id":"PtzZS","name":"PtzZS","value":"2"}],"namespace":{"html_id":"drivers/Aver","kind":"module","full_name":"Aver","name":"Aver"},"instance_methods":[{"html_id":"ptz_ps?-instance-method","name":"ptz_ps?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L36"},"def":{"name":"ptz_ps?","visibility":"Public","body":"self == PtzPS"}},{"html_id":"ptz_ts?-instance-method","name":"ptz_ts?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L37"},"def":{"name":"ptz_ts?","visibility":"Public","body":"self == PtzTS"}},{"html_id":"ptz_zs?-instance-method","name":"ptz_zs?","abstract":false,"location":{"filename":"src/aver/cam520_pro_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aver/cam520_pro_models.cr#L38"},"def":{"name":"ptz_zs?","visibility":"Public","body":"self == PtzZS"}}]}]},{"html_id":"drivers/AWS","path":"AWS.html","kind":"module","full_name":"AWS","name":"AWS","abstract":false,"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/AWS/SnsSms","path":"AWS/SnsSms.html","kind":"class","full_name":"AWS::SnsSms","name":"SnsSms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/aws/sns_sms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/AWS","kind":"module","full_name":"AWS","name":"AWS"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"access_key = setting(String, :aws_access_key)\nsecret = setting(String, :aws_secret)\nuri_parts = (URI.parse(config.uri.not_nil!)).host.not_nil!.split('.')\nservice = uri_parts[0]\nregion = uri_parts[1]\n@signer = Awscr::Signer::Signers::V4.new(service, region, access_key, secret)\ntransport.before_request do |request|\n signer.sign(request)\nend\n"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/aws/sns_sms.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L40"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponses = phone_numbers.map do |number|\n params = URI::Params.build do |form|\n form.add(\"Action\", \"Publish\")\n form.add(\"PhoneNumber\", number)\n form.add(\"Message\", message)\n if source\n if source =~ (/^\\+?\\d{5,14}$/)\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.MM.SMS.OriginationNumber\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source)\n else\n form.add(\"MessageAttributes.entry.1.Name\", \"AWS.SNS.SMS.SenderID\")\n form.add(\"MessageAttributes.entry.1.Value.DataType\", \"String\")\n form.add(\"MessageAttributes.entry.1.Value.StringValue\", source.gsub(' ', '-'))\n end\n end\n end\n post(\"/?#{params}\", headers: HTTP::Headers {\"Accept\" => \"application/json\"})\nend\nresponses.each do |response|\n if response.success?\n else\n raise(\"request failed with #{response.status_code}: #{response.body}\")\n end\nend\nnil\n"}},{"html_id":"signer:Awscr::Signer::Signers::V4-instance-method","name":"signer","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L25"},"def":{"name":"signer","return_type":"Awscr::Signer::Signers::V4","visibility":"Public","body":"if (value = @signer).nil?\n ::raise(NilAssertionError.new(\"AWS::SnsSms#signer cannot be nil\"))\nelse\n value\nend"}},{"html_id":"signer?:Awscr::Signer::Signers::V4|Nil-instance-method","name":"signer?","abstract":false,"location":{"filename":"src/aws/sns_sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/aws/sns_sms.cr#L25"},"def":{"name":"signer?","return_type":"Awscr::Signer::Signers::V4 | ::Nil","visibility":"Public","body":"@signer"}}]}]},{"html_id":"drivers/Biamp","path":"Biamp.html","kind":"module","full_name":"Biamp","name":"Biamp","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L3"},{"filename":"src/biamp/tesira.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Biamp/Nexia","path":"Biamp/Nexia.html","kind":"class","full_name":"Biamp::Nexia","name":"Nexia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/nexia.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L19"},"def":{"name":"connected","visibility":"Public","body":"send(Bytes[255, 254, 1], wait: false)\nschedule.every(60.seconds, true) do\n query_device_id\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(id:Int32,level:Float64|Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, level : Float64 | Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L78"},"def":{"name":"fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = get_range(type)\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = level_actual + range.begin.to_f\nsend(Command[:SETD, device_id, type.mapped_value, id, index, level_actual], name: \"fader_#{id}\")\n"}},{"html_id":"mixer(id:Int32,inouts:Hash(Int32,Array(Int32))|Array(Int32),mute:Bool=false,type:Mixer=Mixer::Matrix)-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"args_string":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","args_html":"(id : Int32, inouts : Hash(Int32, Array(Int32)) | Array(Int32), mute : Bool = false, type : Mixer = Mixer::Matrix)","location":{"filename":"src/biamp/nexia.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L44"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"Mixer::Matrix","external_name":"type","restriction":"Mixer"}],"visibility":"Public","body":"value = mute ? 0 : 1\nif inouts.is_a?(Hash)\n inouts.each do |input, outputs|\n outputs.each do |output|\n send(Command[:SET, device_id, type.mapped_value, id, input, output, value])\n end\n end\nelse\n inouts.each do |input|\n send(Command[:SET, device_id, Mixer::Auto.mapped_value, id, input, value])\n end\nend\n"}},{"html_id":"mute(id:Int32,state:Bool=true,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, state : Bool = true, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L106"},"def":{"name":"mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"value = state ? 1 : 0\nsend(Command[:SETD, device_id, type.mapped_value, id, index, value], name: \"mute_#{id}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 30.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\", \"\\xFF\\xFE\\u0001\")\n"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/biamp/nexia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L34"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"send(Command[:RECALL, 0, \"PRESET\", number], name: \"preset_#{number}\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/biamp/nexia.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L30"},"def":{"name":"query_device_id","visibility":"Public","body":"send(Command[:GETD, 0, \"DEVID\"])"}},{"html_id":"query_fader(id:Int32,index:Int32=1,type:Faders=Faders::Fader)-instance-method","name":"query_fader","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"args_string":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Faders = Faders::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L90"},"def":{"name":"query_fader","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Faders::Fader","external_name":"type","restriction":"Faders"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"query_mute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L115"},"def":{"name":"query_mute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"send(Command[:GETD, device_id, type.mapped_value, id, index])"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/nexia.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L119"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"case response = Response.parse(data)\nin Response::FullPath\n logger.debug do\n \"Device responded #{response.message}\"\n end\n result = process_full_path_response(response)\n task.try(&.success(result))\nin Response::OK\n logger.info do\n \"OK\"\n end\n task.try(&.success)\nin Response::Error\n logger.warn do\n \"Device error: #{data}\"\n end\n task.try(&.abort(response.message))\nin Response::Invalid\n logger.error do\n \"Invalid response structure\"\n end\n task.try(&.abort(response.data))\nend"}},{"html_id":"unmute(id:Int32,index:Int32=1,type:Mutes=Mutes::Fader)-instance-method","name":"unmute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"args_string":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","args_html":"(id : Int32, index : Int32 = 1, type : Mutes = Mutes::Fader)","location":{"filename":"src/biamp/nexia.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/nexia.cr#L111"},"def":{"name":"unmute","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32"},{"name":"type","default_value":"Mutes::Fader","external_name":"type","restriction":"Mutes"}],"visibility":"Public","body":"mute(id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Nexia/Faders","path":"Biamp/Nexia/Faders.html","kind":"enum","full_name":"Biamp::Nexia::Faders","name":"Faders","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"MatrixCrosspoint","name":"MatrixCrosspoint","value":"3"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"4"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"5"},{"id":"AutoIn","name":"AutoIn","value":"6"},{"id":"AutoOut","name":"AutoOut","value":"7"},{"id":"IoIn","name":"IoIn","value":"8"},{"id":"IoOut","name":"IoOut","value":"9"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_crosspoint?-instance-method","name":"matrix_crosspoint?","abstract":false,"def":{"name":"matrix_crosspoint?","visibility":"Public","body":"self == MatrixCrosspoint"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mixer","path":"Biamp/Nexia/Mixer.html","kind":"enum","full_name":"Biamp::Nexia::Mixer","name":"Mixer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Matrix","name":"Matrix","value":"0"},{"id":"Standard","name":"Standard","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"matrix?-instance-method","name":"matrix?","abstract":false,"def":{"name":"matrix?","visibility":"Public","body":"self == Matrix"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]},{"html_id":"drivers/Biamp/Nexia/Mutes","path":"Biamp/Nexia/Mutes.html","kind":"enum","full_name":"Biamp::Nexia::Mutes","name":"Mutes","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Fader","name":"Fader","value":"0"},{"id":"MatrixIn","name":"MatrixIn","value":"1"},{"id":"MatrixOut","name":"MatrixOut","value":"2"},{"id":"AutoIn","name":"AutoIn","value":"3"},{"id":"AutoOut","name":"AutoOut","value":"4"},{"id":"StdmatrixIn","name":"StdmatrixIn","value":"5"},{"id":"StdmatrixOut","name":"StdmatrixOut","value":"6"},{"id":"IoIn","name":"IoIn","value":"7"},{"id":"IoOut","name":"IoOut","value":"8"}],"namespace":{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"},"instance_methods":[{"html_id":"auto_in?-instance-method","name":"auto_in?","abstract":false,"def":{"name":"auto_in?","visibility":"Public","body":"self == AutoIn"}},{"html_id":"auto_out?-instance-method","name":"auto_out?","abstract":false,"def":{"name":"auto_out?","visibility":"Public","body":"self == AutoOut"}},{"html_id":"fader?-instance-method","name":"fader?","abstract":false,"def":{"name":"fader?","visibility":"Public","body":"self == Fader"}},{"html_id":"io_in?-instance-method","name":"io_in?","abstract":false,"def":{"name":"io_in?","visibility":"Public","body":"self == IoIn"}},{"html_id":"io_out?-instance-method","name":"io_out?","abstract":false,"def":{"name":"io_out?","visibility":"Public","body":"self == IoOut"}},{"html_id":"matrix_in?-instance-method","name":"matrix_in?","abstract":false,"def":{"name":"matrix_in?","visibility":"Public","body":"self == MatrixIn"}},{"html_id":"matrix_out?-instance-method","name":"matrix_out?","abstract":false,"def":{"name":"matrix_out?","visibility":"Public","body":"self == MatrixOut"}},{"html_id":"stdmatrix_in?-instance-method","name":"stdmatrix_in?","abstract":false,"def":{"name":"stdmatrix_in?","visibility":"Public","body":"self == StdmatrixIn"}},{"html_id":"stdmatrix_out?-instance-method","name":"stdmatrix_out?","abstract":false,"def":{"name":"stdmatrix_out?","visibility":"Public","body":"self == StdmatrixOut"}}],"macros":[{"html_id":"[](mapped_value)-macro","name":"[]","doc":"Provides compile-time resolution from a statically known mapped value\nto a member of `self`.","summary":"

Provides compile-time resolution from a statically known mapped value to a member of self.

","abstract":false,"args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"args_string":"(mapped_value)","args_html":"(mapped_value)","def":{"name":"[]","args":[{"name":"mapped_value","external_name":"mapped_value","restriction":""}],"visibility":"Public","body":" \n{% if mapped_value.is_a?(Path) %}\n {% value = mapped_value.resolve %}\n {% else %}{% if mapped_value.is_a?(Var) %}\n {{ raise(\"Cannot statically resolve #{mapped_value} - use #{@type}.from_mapped_value to lookup at runtime\") }}\n {% else %}\n {% value = mapped_value %}\n {% end %}{% end %}\n\n\n \n{% found = false %}\n\n \n{% for member_value, idx in (@type.annotation(MappedValues)).args %}\n {% if (value == member_value) && (!found) %}\n {% found = true %}\n {{ \"#{@type.name}::#{@type.constants[idx]}\".id }}\n {% end %}\n {% end %}\n\n\n \n{{ unless found\n raise(\"No mapping defined from #{value} to #{@type}\")\nend }}\n\n \n"}}]}]},{"html_id":"drivers/Biamp/NTP","path":"Biamp/NTP.html","kind":"module","full_name":"Biamp::NTP","name":"NTP","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Biamp/Nexia","kind":"class","full_name":"Biamp::Nexia","name":"Nexia"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"doc":"Biamp ATP/NTP protocol utilities.\nhttps://support.biamp.com/Audia-Nexia/Control/Audia-Nexia_Text_Protocol","summary":"

Biamp ATP/NTP protocol utilities.

","types":[{"html_id":"drivers/Biamp/NTP/Command","path":"Biamp/NTP/Command.html","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"constructors":[{"html_id":"new(type:Type,device:Int32,attribute:String,instance:Int32|Nil=nil,index_1:Int32|Nil=nil,index_2:Int32|Nil=nil,value:String|Int32|Float64|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"args_string":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","args_html":"(type : Type, device : Int32, attribute : String, instance : Int32 | Nil = nil, index_1 : Int32 | Nil = nil, index_2 : Int32 | Nil = nil, value : String | Int32 | Float64 | Nil = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"index_1","default_value":"nil","external_name":"index_1","restriction":"Int32 | ::Nil"},{"name":"index_2","default_value":"nil","external_name":"index_2","restriction":"Int32 | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | Int32 | Float64 | Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, device, attribute, instance, index_1, index_2, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@type.clone, @device.clone, @attribute.clone, @instance.clone, @index_1.clone, @index_2.clone, @value.clone)"}},{"html_id":"copy_with(type_type=@type,device_device=@device,attribute_attribute=@attribute,instance_instance=@instance,index_1_index_1=@index_1,index_2_index_2=@index_2,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","args_html":"(type _type = @type, device _device = @device, attribute _attribute = @attribute, instance _instance = @instance, index_1 _index_1 = @index_1, index_2 _index_2 = @index_2, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L4"},"def":{"name":"copy_with","args":[{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_instance","default_value":"@instance","external_name":"instance","restriction":""},{"name":"_index_1","default_value":"@index_1","external_name":"index_1","restriction":""},{"name":"_index_2","default_value":"@index_2","external_name":"index_2","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_type, _device, _attribute, _instance, _index_1, _index_2, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"index_1:Int32|Nil-instance-method","name":"index_1","abstract":false,"def":{"name":"index_1","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_1"}},{"html_id":"index_2:Int32|Nil-instance-method","name":"index_2","abstract":false,"def":{"name":"index_2","return_type":"Int32 | ::Nil","visibility":"Public","body":"@index_2"}},{"html_id":"instance:Int32|Nil-instance-method","name":"instance","abstract":false,"def":{"name":"instance","return_type":"Int32 | ::Nil","visibility":"Public","body":"@instance"}},{"html_id":"to_io(io:IO,format=nil)-instance-method","name":"to_io","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"args_string":"(io : IO, format = nil)","args_html":"(io : IO, format = nil)","location":{"filename":"src/biamp/ntp.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L33"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"nil","external_name":"format","restriction":""}],"visibility":"Public","body":"io << type\n{device, attribute, instance, index_1, index_2, value}.each do |field|\n if field.nil?\n next\n end\n (io << ' ') << field\nend\nio << '\\n'\n"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"value:String|Int32|Float64|Nil-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String | Int32 | Float64 | Nil","visibility":"Public","body":"@value"}}],"macros":[{"html_id":"[](type,*params)-macro","name":"[]","abstract":false,"args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"args_string":"(type, *params)","args_html":"(type, *params)","location":{"filename":"src/biamp/ntp.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L12"},"def":{"name":"[]","args":[{"name":"type","external_name":"type","restriction":""},{"name":"params","external_name":"params","restriction":""}],"splat_index":1,"visibility":"Public","body":" \n{% if (type == (:GET)) || (type == (:GETD)) %}\n {{ @type.name }}.new({{ type }}, {{ params.splat }})\n {% else %}\n {{ @type.name }}.new({{ type }}, {{ params[0...-1].splat }}, value: {{ params[-1] }})\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Biamp/NTP/Command/Type","path":"Biamp/NTP/Command/Type.html","kind":"enum","full_name":"Biamp::NTP::Command::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L19"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SET","name":"SET","value":"0"},{"id":"SETD","name":"SETD","value":"1"},{"id":"GET","name":"GET","value":"2"},{"id":"GETD","name":"GETD","value":"3"},{"id":"INC","name":"INC","value":"4"},{"id":"INCD","name":"INCD","value":"5"},{"id":"DEC","name":"DEC","value":"6"},{"id":"DECD","name":"DECD","value":"7"},{"id":"RECALL","name":"RECALL","value":"8"},{"id":"DIAL","name":"DIAL","value":"9"}],"namespace":{"html_id":"drivers/Biamp/NTP/Command","kind":"struct","full_name":"Biamp::NTP::Command","name":"Command"},"instance_methods":[{"html_id":"dec?-instance-method","name":"dec?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L27"},"def":{"name":"dec?","visibility":"Public","body":"self == DEC"}},{"html_id":"decd?-instance-method","name":"decd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L28"},"def":{"name":"decd?","visibility":"Public","body":"self == DECD"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L30"},"def":{"name":"dial?","visibility":"Public","body":"self == DIAL"}},{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L23"},"def":{"name":"get?","visibility":"Public","body":"self == GET"}},{"html_id":"getd?-instance-method","name":"getd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L24"},"def":{"name":"getd?","visibility":"Public","body":"self == GETD"}},{"html_id":"inc?-instance-method","name":"inc?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L25"},"def":{"name":"inc?","visibility":"Public","body":"self == INC"}},{"html_id":"incd?-instance-method","name":"incd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L26"},"def":{"name":"incd?","visibility":"Public","body":"self == INCD"}},{"html_id":"recall?-instance-method","name":"recall?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L29"},"def":{"name":"recall?","visibility":"Public","body":"self == RECALL"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L21"},"def":{"name":"set?","visibility":"Public","body":"self == SET"}},{"html_id":"setd?-instance-method","name":"setd?","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L22"},"def":{"name":"setd?","visibility":"Public","body":"self == SETD"}}]}]},{"html_id":"drivers/Biamp/NTP/Response","path":"Biamp/NTP/Response.html","kind":"module","full_name":"Biamp::NTP::Response","name":"Response","abstract":false,"locations":[{"filename":"src/biamp/ntp.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP","kind":"module","full_name":"Biamp::NTP","name":"NTP"},"class_methods":[{"html_id":"parse(data:Bytes)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L55"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"case data[0]\nwhen '#'\n response = String.new(data)\n if response.includes?(\" -ERR\")\n Error.new(response)\n else\n fields = response[1..].split\n type = Command::Type.parse(fields[0])\n device = fields[1].to_i\n attribute = fields[2]\n params = fields[3..]\n value = type.getd? ? fields[-1] : fields[-2]\n FullPath.new(response, type, device, attribute, params, value)\n end\nwhen '+'\n OK.new\nwhen '-'\n Error.new(String.new(data))\nelse\n Invalid.new(data)\nend"}}],"types":[{"html_id":"drivers/Biamp/NTP/Response/Error","path":"Biamp/NTP/Response/Error.html","kind":"struct","full_name":"Biamp::NTP::Response::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"}],"args_string":"(message : String)","args_html":"(message : String)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone)"}},{"html_id":"copy_with(message_message=@message)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"args_string":"(message _message = @message)","args_html":"(message _message = @message)","location":{"filename":"src/biamp/ntp.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L52"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""}],"visibility":"Public","body":"self.class.new(_message)"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Biamp/NTP/Response/FullPath","path":"Biamp/NTP/Response/FullPath.html","kind":"struct","full_name":"Biamp::NTP::Response::FullPath","name":"FullPath","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(message:String,type:Command::Type,device:Int32,attribute:String,params:Array(String),value:String)-class-method","name":"new","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","args_html":"(message : String, type : Command::Type, device : Int32, attribute : String, params : Array(String), value : String)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"new","args":[{"name":"message","external_name":"message","restriction":"String"},{"name":"type","external_name":"type","restriction":"Command::Type"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"attribute","external_name":"attribute","restriction":"String"},{"name":"params","external_name":"params","restriction":"Array(String)"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(message, type, device, attribute, params, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attribute:String-instance-method","name":"attribute","abstract":false,"def":{"name":"attribute","return_type":"String","visibility":"Public","body":"@attribute"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@message.clone, @type.clone, @device.clone, @attribute.clone, @params.clone, @value.clone)"}},{"html_id":"copy_with(message_message=@message,type_type=@type,device_device=@device,attribute_attribute=@attribute,params_params=@params,value_value=@value)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"args_string":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","args_html":"(message _message = @message, type _type = @type, device _device = @device, attribute _attribute = @attribute, params _params = @params, value _value = @value)","location":{"filename":"src/biamp/ntp.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L44"},"def":{"name":"copy_with","args":[{"name":"_message","default_value":"@message","external_name":"message","restriction":""},{"name":"_type","default_value":"@type","external_name":"type","restriction":""},{"name":"_device","default_value":"@device","external_name":"device","restriction":""},{"name":"_attribute","default_value":"@attribute","external_name":"attribute","restriction":""},{"name":"_params","default_value":"@params","external_name":"params","restriction":""},{"name":"_value","default_value":"@value","external_name":"value","restriction":""}],"visibility":"Public","body":"self.class.new(_message, _type, _device, _attribute, _params, _value)"}},{"html_id":"device:Int32-instance-method","name":"device","abstract":false,"def":{"name":"device","return_type":"Int32","visibility":"Public","body":"@device"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"params:Array(String)-instance-method","name":"params","abstract":false,"def":{"name":"params","return_type":"Array(String)","visibility":"Public","body":"@params"}},{"html_id":"type:Command::Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Command::Type","visibility":"Public","body":"@type"}},{"html_id":"value:String-instance-method","name":"value","abstract":false,"def":{"name":"value","return_type":"String","visibility":"Public","body":"@value"}}]},{"html_id":"drivers/Biamp/NTP/Response/Invalid","path":"Biamp/NTP/Response/Invalid.html","kind":"struct","full_name":"Biamp::NTP::Response::Invalid","name":"Invalid","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new(data:Bytes)-class-method","name":"new","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"new","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"_ = allocate\n_.initialize(data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@data.clone)"}},{"html_id":"copy_with(data_data=@data)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"args_string":"(data _data = @data)","args_html":"(data _data = @data)","location":{"filename":"src/biamp/ntp.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L53"},"def":{"name":"copy_with","args":[{"name":"_data","default_value":"@data","external_name":"data","restriction":""}],"visibility":"Public","body":"self.class.new(_data)"}},{"html_id":"data:Bytes-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"Bytes","visibility":"Public","body":"@data"}}]},{"html_id":"drivers/Biamp/NTP/Response/OK","path":"Biamp/NTP/Response/OK.html","kind":"struct","full_name":"Biamp::NTP::Response::OK","name":"OK","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Biamp/NTP/Response","kind":"module","full_name":"Biamp::NTP::Response","name":"Response"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"clone","visibility":"Public","body":"self.class.new()"}},{"html_id":"copy_with-instance-method","name":"copy_with","abstract":false,"location":{"filename":"src/biamp/ntp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/ntp.cr#L51"},"def":{"name":"copy_with","visibility":"Public","body":"self.class.new()"}}]}]}]},{"html_id":"drivers/Biamp/Tesira","path":"Biamp/Tesira.html","kind":"class","full_name":"Biamp::Tesira","name":"Tesira","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/biamp/tesira.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"FADERS","name":"FADERS","value":"{\"fader\" => \"level\", \"matrix_in\" => \"inputLevel\", \"matrix_out\" => \"outputLevel\", \"matrix_crosspoint\" => \"crosspointLevel\", \"level\" => \"fader\", \"inputLevel\" => \"matrix_in\", \"outputLevel\" => \"matrix_out\", \"crosspointLevel\" => \"matrix_crosspoint\"}"},{"id":"MIXERS","name":"MIXERS","value":"{\"matrix\" => \"crosspointLevelState\", \"mixer\" => \"crosspoint\"}"},{"id":"MUTES","name":"MUTES","value":"{\"fader\" => \"mute\", \"matrix_in\" => \"inputMute\", \"matrix_out\" => \"outputMute\", \"mute\" => \"fader\", \"inputMute\" => \"matrix_in\", \"outputMute\" => \"matrix_out\"}"}],"namespace":{"html_id":"drivers/Biamp","kind":"module","full_name":"Biamp","name":"Biamp"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"@telnet = telnet = Telnet.new do |telnet_response|\n transport.send(telnet_response)\nend\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\nif setting(Bool, :no_password)\n do_send((setting(String, :username)) || \"admin\", wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\nend\ndo_send(\"SESSION set verbose false\", priority: 96)\nschedule.clear\nschedule.every(60.seconds) do\n do_send(\"DEVICE get serialNumber\", priority: 95)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L45"},"def":{"name":"disconnected","visibility":"Public","body":"transport.tokenizer = nil\nschedule.clear\n"}},{"html_id":"fader(fader_id:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L103"},"def":{"name":"fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader_type = FADERS[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, fader_type, i, level), priority: 30, name: \"fade_#{fad}_#{i}\")\n self[\"#{fader_type}_#{fad}_#{i}\"] = level\n end\nend\n"}},{"html_id":"faders(ids:Ids,level:Num|Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, level : Num | Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L118"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Num | Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fader(ids, level, index, type)"}},{"html_id":"get_aliases-instance-method","name":"get_aliases","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L66"},"def":{"name":"get_aliases","visibility":"Public","body":"do_send(\"SESSION get aliases\")"}},{"html_id":"mixer(id:String,inouts:Hash(Int32,Int32|Array(Int32))|Array(Int32),mute:Bool=false,type:String=\"matrix\")-instance-method","name":"mixer","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"args_string":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = \"matrix\")","args_html":"(id : String, inouts : Hash(Int32, Int32 | Array(Int32)) | Array(Int32), mute : Bool = false, type : String = "matrix")","location":{"filename":"src/biamp/tesira.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L75"},"def":{"name":"mixer","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32)) | Array(Int32)"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"},{"name":"type","default_value":"\"matrix\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mixer_type = MIXERS[type] || type\nif inouts.is_a?(Hash)\n inouts.each do |input, outs|\n outputs = ensure_array(outs)\n outputs.each do |output|\n do_send(build(id, :set, mixer_type, input, output, mute), priority: 30, name: \"mixmute_#{input}_#{output}\")\n end\n end\nelse\n inouts.each do |input|\n do_send(build(id, :set, mixer_type, input, mute), priority: 30, name: \"mixmute_#{input}\")\n end\nend\n"}},{"html_id":"mute(fader_id:Ids,value:Bool=true,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, value : Bool = true, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L131"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"value","default_value":"true","external_name":"value","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_ids = ensure_array(fader_id)\nindicies = ensure_array(index)\nfader_ids.each do |fad|\n indicies.each do |i|\n do_send(build(fad, :set, mute_type, i, value), priority: 30, name: \"mute_#{fad}_#{i}\")\n self[\"#{mute_type}_#{fad}_#{i}_mute\"] = value\n end\nend\n"}},{"html_id":"mutes(ids:Ids,muted:Bool,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, muted : Bool, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L145"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"muted","external_name":"muted","restriction":"Bool"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(ids, muted, index, type)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 30.milliseconds\n"}},{"html_id":"preset(number_or_name:String|Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"args_string":"(number_or_name : String | Int32)","args_html":"(number_or_name : String | Int32)","location":{"filename":"src/biamp/tesira.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L50"},"def":{"name":"preset","args":[{"name":"number_or_name","external_name":"number_or_name","restriction":"String | Int32"}],"visibility":"Public","body":"if number_or_name.is_a?(Int32)\n do_send(\"DEVICE recallPreset #{number_or_name}\", priority: 30, name: \"preset_#{number_or_name}\")\nelse\n do_send(build(:DEVICE, :recallPresetByName, number_or_name), priority: 30, name: \"preset_#{number_or_name}\")\nend"}},{"html_id":"query_fader(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L153"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"fad_type = FADERS[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, fad_type, index))\n"}},{"html_id":"query_faders(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_faders","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L162"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(ids, index, type)"}},{"html_id":"query_mute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L166"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute_type = MUTES[type] || type\nfader_id = (ensure_array(fader_id))[0]\nindex = (ensure_array(index))[0]\ndo_send(build(fader_id, :get, mute_type, index))\n"}},{"html_id":"query_mutes(ids:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"query_mutes","doc":"Named params version","summary":"

Named params version

","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(ids : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L175"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_mute(ids, index, type)"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L62"},"def":{"name":"reboot","visibility":"Public","body":"do_send(\"DEVICE reboot\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/biamp/tesira.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L179"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Tesira responded -> data: #{data}\"\nend\nresult = data.split(\" \")\nif result[0] == \"-\"\n task.try(&.abort)\nend\nif data =~ (/login:|server/i)\n transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nend\ntask.try(&.success)\n"}},{"html_id":"start_audio-instance-method","name":"start_audio","abstract":false,"location":{"filename":"src/biamp/tesira.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L58"},"def":{"name":"start_audio","visibility":"Public","body":"do_send(\"DEVICE startAudio\")"}},{"html_id":"unmute(fader_id:Ids,index:Int32|Array(Int32)=1,type:String=\"fader\")-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = \"fader\")","args_html":"(fader_id : Ids, index : Int32 | Array(Int32) = 1, type : String = "fader")","location":{"filename":"src/biamp/tesira.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L149"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | Array(Int32)"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"mute(fader_id, false, index, type)"}}],"types":[{"html_id":"drivers/Biamp/Tesira/Ids","path":"Biamp/Tesira/Ids.html","kind":"alias","full_name":"Biamp::Tesira::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}},{"html_id":"drivers/Biamp/Tesira/Num","path":"Biamp/Tesira/Num.html","kind":"alias","full_name":"Biamp::Tesira::Num","name":"Num","abstract":false,"locations":[{"filename":"src/biamp/tesira.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/biamp/tesira.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Biamp/Tesira","kind":"class","full_name":"Biamp::Tesira","name":"Tesira"}}]}]},{"html_id":"drivers/Bose","path":"Bose.html","kind":"module","full_name":"Bose","name":"Bose","abstract":false,"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Bose/ControlSpaceSerial","path":"Bose/ControlSpaceSerial.html","kind":"class","full_name":"Bose::ControlSpaceSerial","name":"ControlSpaceSerial","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/bose/control_space_serial.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Bose","kind":"module","full_name":"Bose","name":"Bose"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L20"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n do_send(\"GS\", priority: 99)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L27"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_parameter_group-instance-method","name":"get_parameter_group","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L41"},"def":{"name":"get_parameter_group","visibility":"Public","body":"do_send(\"GS\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[13])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/bose/control_space_serial.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L17"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/bose/control_space_serial.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L45"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).rchop\nlogger.debug do\n \"ControlSpace sent: #{data}\"\nend\nparts = data.split(\" \")\ncase parts[0]\nwhen \"S\"\n self[:parameter_group] = parts[1].to_i(16)\nend\ntask.try(&.success)\n"}},{"html_id":"set_parameter_group(id:UInt8)-instance-method","name":"set_parameter_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"args_string":"(id : UInt8)","args_html":"(id : UInt8)","location":{"filename":"src/bose/control_space_serial.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/bose/control_space_serial.cr#L36"},"def":{"name":"set_parameter_group","args":[{"name":"id","external_name":"id","restriction":"UInt8"}],"visibility":"Public","body":"(do_send(\"SS #{(id.to_s(16)).upcase}\", wait: false, name: \"set_pgroup\")).get\nself[:parameter_group] = id\n"}}]}]},{"html_id":"drivers/Cisco","path":"Cisco.html","kind":"module","full_name":"Cisco","name":"Cisco","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L4"},{"filename":"src/cisco/webex/api/messages.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L1"},{"filename":"src/cisco/webex/api/people.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L1"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L1"},{"filename":"src/cisco/webex/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L1"},{"filename":"src/cisco/webex/command.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L1"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L1"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L1"},{"filename":"src/cisco/webex/constants.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L1"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L1"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L1"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L1"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L1"},{"filename":"src/cisco/webex/models/device.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L1"},{"filename":"src/cisco/webex/models/event.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L1"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L1"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L1"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L1"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L1"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L1"},{"filename":"src/cisco/webex/models/message.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L1"},{"filename":"src/cisco/webex/models/peek.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L1"},{"filename":"src/cisco/webex/models/person.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L1"},{"filename":"src/cisco/webex/models/room.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L1"},{"filename":"src/cisco/webex/session.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L1"},{"filename":"src/cisco/webex/status_code.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L1"},{"filename":"src/cisco/webex/utils.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint","path":"Cisco/CollaborationEndpoint.html","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"bind_feedback(path:String,status_key:String)-instance-method","name":"bind_feedback","doc":"Bind arbitary device feedback to a status variable.","summary":"

Bind arbitary device feedback to a status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L425"},"def":{"name":"bind_feedback","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"register_feedback(path) do |value_path, value|\n if value_path == path\n self[status_key] = value\n else\n key_path = value_path.sub(path, \"\")\n hash = @status_keys[status_key]\n hash[key_path] = value\n self[status_key] = hash\n end\nend"}},{"html_id":"bind_status(path:String,status_key:String)-instance-method","name":"bind_status","doc":"Bind device status to a module status variable.","summary":"

Bind device status to a module status variable.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"args_string":"(path : String, status_key : String)","args_html":"(path : String, status_key : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":439,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L439"},"def":{"name":"bind_status","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"status_key","external_name":"status_key","restriction":"String"}],"visibility":"Public","body":"bind_path = \"Status/#{path.tr(\" \", \"/\")}\"\nbind_feedback(\"/#{bind_path}\", status_key)\npayload = xstatus(path)\nif (payload.size == 1) && (payload.has_key?(bind_path))\n self[status_key] = payload[bind_path]\nelse\n self[status_key] = @status_keys[status_key] = payload.transform_keys do |key|\n key.sub(path, \"\")\n end\nend\npayload\n"}},{"html_id":"clear_event(path:String)-instance-method","name":"clear_event","doc":"Clear external event subscribtions for a specific device path.","summary":"

Clear external event subscribtions for a specific device path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L481"},"def":{"name":"clear_event","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Clearing event subscription for #{path}\"\nend\nunregister_feedback(path)\n"}},{"html_id":"clear_feedback_subscriptions(connected:Bool=true)-instance-method","name":"clear_feedback_subscriptions","abstract":false,"args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool = true)","args_html":"(connected : Bool = true)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L409"},"def":{"name":"clear_feedback_subscriptions","args":[{"name":"connected","default_value":"true","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"Unsubscribing all feedback\"\nend\n@status_keys.clear\nfeedback.clear\n@feedback_paths.clear\nif connected\n do_send(XAPI.xfeedback(:deregister_all))\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L74"},"def":{"name":"connected","visibility":"Public","body":"reset_connection_flags\nschedule.every(2.minutes) do\n ensure_feedback_registered\nend\nschedule.every(30.seconds) do\n if @last_received > 40.seconds.ago.to_unix\n heartbeat(timeout: 35)\n else\n disconnect\n end\nend\nschedule.in(10.seconds) do\n if @ready || @init_called\n else\n init_connection\n end\n schedule.in(15.seconds) do\n if (!@ready) || self[\"configuration\"]?.nil?\n disconnect\n end\n end\nend\nbegin\n transport.send(\"xPreferences OutputMode JSON\\n\")\nrescue\nend\nqueue.clear(abort_current: true)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L95"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nreset_connection_flags\nclear_feedback_subscriptions(false)\nqueue.clear(abort_current: true)\nself[:ready] = false\n"}},{"html_id":"ensure_feedback_registered-instance-method","name":"ensure_feedback_registered","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L107"},"def":{"name":"ensure_feedback_registered","visibility":"Public","body":"send(\"xPreferences OutputMode JSON\\n\", priority: 0, wait: false, name: \"output_json\")\nresults = @feedback_paths.map do |path|\n request = XAPI.xfeedback(:register, path)\n do_send(request, priority: 0, name: path)\nend\nspawn(same_thread: true) do\n success = 0\n results.each do |task|\n begin\n if task.get.state.success?\n success = success + 1\n end\n rescue\n end\n end\n logger.debug do\n \"FEEDBACK REGISTERED #{success}\"\n end\n if success > 0\n else\n disconnect\n end\nend\n@feedback_paths.size\n"}},{"html_id":"feedback_paths:Array(String)-instance-method","name":"feedback_paths","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L34"},"def":{"name":"feedback_paths","return_type":"Array(String)","visibility":"Public","body":"@feedback_paths"}},{"html_id":"generate_request_uuid-instance-method","name":"generate_request_uuid","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L103"},"def":{"name":"generate_request_uuid","visibility":"Public","body":"UUID.random.to_s"}},{"html_id":"on_event(path:String,mod_id:String,channel:String)-instance-method","name":"on_event","doc":"Subscribe another module to async device events.\nCallback methods must be of arity 1 and public.","summary":"

Subscribe another module to async device events.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"args_string":"(path : String, mod_id : String, channel : String)","args_html":"(path : String, mod_id : String, channel : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L471"},"def":{"name":"on_event","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"mod_id","external_name":"mod_id","restriction":"String"},{"name":"channel","external_name":"channel","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Registering callback for #{path} to #{mod_id}/#{channel}\"\nend\nregister_feedback(path) do |event_path, value|\n event_json = {event_path => value}.to_json\n logger.debug do\n \"Publishing #{path} event to #{mod_id}/#{channel} with payload #{event_json}\"\n end\n publish(\"#{mod_id}/#{channel}\", event_json)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 80.milliseconds\nqueue.timeout = 3.seconds\n@peripheral_id = setting?(String, :peripheral_id)\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"if @ignore_update\n @ignore_update = false\n return\nend\n@presets = (setting?(Presets, :camera_presets)) || @presets\nself[:camera_presets] = @presets.transform_values do |val|\n val.keys\nend\ndriver = self\nif driver.responds_to?(:load_settings)\n driver.load_settings\nend\ndisconnect\n"}},{"html_id":"peripheral_id:String-instance-method","name":"peripheral_id","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L20"},"def":{"name":"peripheral_id","return_type":"String","visibility":"Public","body":"if (value = @peripheral_id).nil?\n @peripheral_id = (begin\n uuid = generate_request_uuid\n @ignore_update = true\n define_setting(:peripheral_id, uuid)\n uuid\n end)\nelse\n value\nend"}},{"html_id":"push_config-instance-method","name":"push_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L455"},"def":{"name":"push_config","visibility":"Public","body":"if config = setting?(Config, :configuration)\n xconfigurations(config)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L332"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n @last_received = Time.utc.to_unix\n payload = String.new(data)\n logger.debug do\n \"<- #{payload}\"\n end\n if transport.tokenizer.nil? && (payload =~ XAPI::LOGIN_COMPLETE)\n queue.clear(abort_current: true)\n sleep(500.milliseconds)\n transport.send(\"xPreferences OutputMode JSON\\n\")\n logger.info do\n \"initializing connection\"\n end\n spawn(same_thread: true) do\n init_connection\n end\n return\n end\n response = XAPI.parse(payload)\n if task.nil?\n return feedback.notify(response)\n end\n if task.xapi_request_id == response[\"ResultId\"]?\n command_result = task.xapi_callback.try(&.call(response))\n if command_result.nil?\n feedback.notify(response)\n end\n command_result == (:abort) ? task.abort : task.success(command_result)\n else\n feedback.notify(response)\n end\nrescue error : JSON::ParseException\n payload = (String.new(data)).strip\n case payload\n when \"OK\"\n task.try(&.success(payload))\n when \"Command not recognized.\"\n logger.error do\n \"Command not recognized: `#{task.try(&.request_payload)}`\"\n end\n task.try(&.abort(payload))\n else\n logger.debug do\n \"Malformed device response: #{error}\\n#{payload}\"\n end\n task.try(&.abort(\"Malformed device response: #{error}\"))\n end\nend"}},{"html_id":"register_feedback(path:String,&update_handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"register_feedback","doc":"Subscribe to feedback from the device.","summary":"

Subscribe to feedback from the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &update_handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L376"},"def":{"name":"register_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"update_handler","external_name":"update_handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"if !@ready\n if feedback.contains?(path)\n else\n @feedback_paths << path\n @feedback_paths.uniq!\n feedback.insert(path, &update_handler)\n end\n return true\nend\nlogger.debug do\n \"Subscribing to device feedback for #{path}\"\nend\nif feedback.contains?(path)\nelse\n @feedback_paths << path\n @feedback_paths.uniq!\n request = XAPI.xfeedback(:register, path)\n result = do_send(request, name: path)\nend\nfeedback.insert(path, &update_handler)\nresult.try(&.get) || true\n"}},{"html_id":"sync_config-instance-method","name":"sync_config","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L461"},"def":{"name":"sync_config","visibility":"Public","body":"bind_feedback(\"/Configuration\", \"configuration\")\nsend(\"xConfiguration *\\n\", wait: false)\n"}},{"html_id":"unregister_feedback(path:String)-instance-method","name":"unregister_feedback","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L401"},"def":{"name":"unregister_feedback","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"if path == \"/\"\n return clear_feedback_subscriptions\nend\nlogger.debug do\n \"Unsubscribing feedback for #{path}\"\nend\nfeedback.remove(path)\n@feedback_paths.delete(path)\ndo_send(XAPI.xfeedback(:deregister, path))\n"}},{"html_id":"xcommand(command:String,multiline_body:String|Nil=nil,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-instance-method","name":"xcommand","doc":"Execute an xCommand on the device.","summary":"

Execute an xCommand on the device.

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(command : String, multiline_body : String | Nil = nil, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L140"},"def":{"name":"xcommand","args":[{"name":"command","external_name":"command","restriction":"String"},{"name":"multiline_body","default_value":"nil","external_name":"multiline_body","restriction":"String | ::Nil"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"request = XAPI.xcommand(command, **kwargs.merge({hash_args: hash_args}))\nname = if kwargs.empty?\n command\nelse\n if kwargs.size == 1\n \"#{command} #{kwargs.keys.to_a.first}\"\n end\nend\npriority = kwargs[:priority]? || queue.priority\ndo_send(request, multiline_body, name: name, priority: priority) do |response|\n result_key = (((command.split(' ')).last(2)).join(\"\")) + \"Result\"\n command_result = response[\"CommandResponse/#{result_key}/status\"]?\n failure_result = response[\"CommandResponse/Result/Reason\"]?\n result = command_result || failure_result\n if result\n if result == \"OK\"\n result\n else\n failure_result || (failure_result = response[\"CommandResponse/#{result_key}/Reason\"]?)\n logger.error do\n failure_result.inspect\n end\n :abort\n end\n else\n logger.warn do\n \"Unexpected response format\"\n end\n :abort\n end\nend\n"}},{"html_id":"xconfiguration(path:String,hash_args:Hash(String,JSONBasic)={}ofString=>JSONBasic,**kwargs)-instance-method","name":"xconfiguration","doc":"Apply a single configuration on the device.","summary":"

Apply a single configuration on the device.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"args_string":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSONBasic) = {} of String => JSONBasic, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L186"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSONBasic","external_name":"hash_args","restriction":"Hash(String, JSONBasic)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"promises = hash_args.map do |setting, value|\n apply_configuration(path, setting, value)\nend\nkwargs.each do |setting, value|\n promise = apply_configuration(path, setting, value)\n promises << promise\nend\n(Promise.all(promises)).get.first\n"}},{"html_id":"xconfigurations(config:Config)-instance-method","name":"xconfigurations","doc":"Push a configuration settings to the device.","summary":"

Push a configuration settings to the device.

","abstract":false,"args":[{"name":"config","external_name":"config","restriction":"Config"}],"args_string":"(config : Config)","args_html":"(config : Config)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L135"},"def":{"name":"xconfigurations","args":[{"name":"config","external_name":"config","restriction":"Config"}],"visibility":"Public","body":"config.each do |path, settings|\n xconfiguration(path, settings)\nend"}},{"html_id":"xstatus(path:String)-instance-method","name":"xstatus","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L229"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"request = XAPI.xstatus(path)\npromise = Promise.new(Hash(String, Enumerable::JSONComplex))\ntask = do_send(request) do |response|\n prefix = \"Status/#{(XAPI.tokenize(path)).join('/')}\"\n results = {} of String => Enumerable::JSONComplex\n response.each do |key, value|\n if key.starts_with?(prefix)\n results[key] = value\n end\n end\n if !results.empty?\n promise.resolve(results)\n results\n else\n if error = response[\"Status/status\"]? || response[\"CommandResponse/Status/status\"]?\n reason = response[\"Status/Reason\"]? || response[\"CommandResponse/Status/Reason\"]?\n xpath = response[\"Status/XPath\"]? || response[\"CommandResponse/Status/XPath\"]?\n error_msg = \"#{reason} (#{xpath})\"\n promise.reject(RuntimeError.new(error_msg))\n logger.error do\n error_msg\n end\n :abort\n else\n results[prefix] = nil\n promise.resolve(results)\n results\n end\n end\nend\nspawn(same_thread: true) do\n task.get\n if task.state == (:abort)\n promise.reject(RuntimeError.new(\"failed to obtain status: #{path}\"))\n end\nend\npromise.get\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","path":"Cisco/CollaborationEndpoint/Cameras.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"camera_move(camera_id:Int32,pan:Interface::Camera::PanDirection|Nil=nil,pan_speed:Int32|Nil=nil,tilt:Interface::Camera::TiltDirection|Nil=nil,tilt_speed:Int32|Nil=nil,zoom:Interface::Zoomable::ZoomDirection|Nil=nil,zoom_speed:Int32|Nil=nil,focus:FocusDirection|Nil=nil)-instance-method","name":"camera_move","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"args_string":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","args_html":"(camera_id : Int32, pan : Interface::Camera::PanDirection | Nil = nil, pan_speed : Int32 | Nil = nil, tilt : Interface::Camera::TiltDirection | Nil = nil, tilt_speed : Int32 | Nil = nil, zoom : Interface::Zoomable::ZoomDirection | Nil = nil, zoom_speed : Int32 | Nil = nil, focus : FocusDirection | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L43"},"def":{"name":"camera_move","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"pan","default_value":"nil","external_name":"pan","restriction":"Interface::Camera::PanDirection | ::Nil"},{"name":"pan_speed","default_value":"nil","external_name":"pan_speed","restriction":"Int32 | ::Nil"},{"name":"tilt","default_value":"nil","external_name":"tilt","restriction":"Interface::Camera::TiltDirection | ::Nil"},{"name":"tilt_speed","default_value":"nil","external_name":"tilt_speed","restriction":"Int32 | ::Nil"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Interface::Zoomable::ZoomDirection | ::Nil"},{"name":"zoom_speed","default_value":"nil","external_name":"zoom_speed","restriction":"Int32 | ::Nil"},{"name":"focus","default_value":"nil","external_name":"focus","restriction":"FocusDirection | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif pan_speed\n if (1..15).includes?(pan_speed)\n else\n raise(ArgumentError.new(\"\\\"pan_speed\\\" must be within #{1..15}, was #{pan_speed}\"))\n end\nend\nif tilt_speed\n if (1..15).includes?(tilt_speed)\n else\n raise(ArgumentError.new(\"\\\"tilt_speed\\\" must be within #{1..15}, was #{tilt_speed}\"))\n end\nend\nif zoom_speed\n if (1..15).includes?(zoom_speed)\n else\n raise(ArgumentError.new(\"\\\"zoom_speed\\\" must be within #{1..15}, was #{zoom_speed}\"))\n end\nend\nxcommand(\"Camera Ramp\", camera_id: camera_id, pan: pan, pan_speed: pan_speed, tilt: tilt, tilt_speed: tilt_speed, zoom: zoom, zoom_speed: zoom_speed, focus: focus)\n"}},{"html_id":"camera_position_reset(camera_id:Int32,axis:CameraAxis|Nil=nil)-instance-method","name":"camera_position_reset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"args_string":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","args_html":"(camera_id : Int32, axis : CameraAxis | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L40"},"def":{"name":"camera_position_reset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"axis","default_value":"nil","external_name":"axis","restriction":"CameraAxis | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nxcommand(\"Camera PositionReset\", camera_id: camera_id, axis: axis)\n"}},{"html_id":"camera_preset(preset_id:Int32)-instance-method","name":"camera_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L16"},"def":{"name":"camera_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Activate\", preset_id: preset_id)\n"}},{"html_id":"camera_remove_preset(preset_id:Int32)-instance-method","name":"camera_remove_preset","abstract":false,"args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"args_string":"(preset_id : Int32)","args_html":"(preset_id : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L24"},"def":{"name":"camera_remove_preset","args":[{"name":"preset_id","external_name":"preset_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Remove\", preset_id: preset_id)\n"}},{"html_id":"camera_store_preset(camera_id:Int32,preset_id:Int32,name:String|Nil=nil,take_snapshot:Bool|Nil=nil,default_position:Bool|Nil=nil)-instance-method","name":"camera_store_preset","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"args_string":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","args_html":"(camera_id : Int32, preset_id : Int32, name : String | Nil = nil, take_snapshot : Bool | Nil = nil, default_position : Bool | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L18"},"def":{"name":"camera_store_preset","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"},{"name":"preset_id","external_name":"preset_id","restriction":"Int32"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"take_snapshot","default_value":"nil","external_name":"take_snapshot","restriction":"Bool | ::Nil"},{"name":"default_position","default_value":"nil","external_name":"default_position","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if (1..2).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..2}, was #{camera_id}\"))\nend\nif (1..35).includes?(preset_id)\nelse\n raise(ArgumentError.new(\"preset_id must be within #{1..35}, was #{preset_id}\"))\nend\nxcommand(\"Camera Preset Store\", camera_id: camera_id, preset_id: preset_id, name: name, take_snapshot: take_snapshot, default_position: default_position)\n"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L107"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"pan_speed = pan_speed.clamp(-100.0, 100.0)\ntilt_speed = tilt_speed.clamp(-100.0, 100.0)\npan = if pan_speed.zero?\n pan_speed = nil\n PanDirection::Stop\nelse\n pan_speed.negative? ? PanDirection::Left : PanDirection::Right\nend\ntilt = if tilt_speed.zero?\n tilt_speed = nil\n TiltDirection::Stop\nelse\n tilt_speed.negative? ? TiltDirection::Down : TiltDirection::Up\nend\ncam = index.to_i\nif cam.zero?\n cam = 1\nend\nif pan_speed\n percentage = pan_speed.abs / 100.0\n pan_speed_actual = (percentage * 15.0).round.to_i\nend\nif tilt_speed\n percentage = tilt_speed.abs / 100.0\n tilt_speed_actual = (percentage * 15.0).round.to_i\nend\ncamera_move(camera_id: cam, pan: pan, pan_speed: pan_speed_actual, tilt: tilt, tilt_speed: tilt_speed_actual, zoom: ZoomDirection::Stop)\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L68"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncase position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0.0, tilt_speed: position.down? ? -50.0 : 50.0, index: cam)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -50.0 : 50.0, tilt_speed: 0.0, index: cam)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out, cam)\nend\n"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L148"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npreset = presets[position]?\nif preset\nelse\n raise(\"preset '#{position}' not found on camera #{index}\")\nend\ncamera_preset(preset_id: preset)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L179"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\npresets.delete(name)\nif presets.empty?\n @presets.delete(cam)\nelse\n @presets[cam] = presets\nend\nsave_presets\ntrue\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L159"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\npresets = @presets[cam]? || ({} of String => Int32)\nin_use = @presets.values.flat_map(&.values)\nnext_available = ((1..35).to_a - in_use).first\npresets[name] = next_available\ncamera_store_preset(camera_id: cam, preset_id: next_available, name: name).get\n@presets[cam] = presets\nsave_presets\ntrue\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L56"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, pan: PanDirection::Stop, tilt: TiltDirection::Stop, zoom: ZoomDirection::Stop)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L96"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"cam = index.to_i\nif cam.zero?\n cam = 1\nend\ncamera_move(camera_id: cam, zoom: direction, zoom_speed: 6)\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L92"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"raise(\"direct zoom unsupported on this camera\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/CameraAxis","path":"Cisco/CollaborationEndpoint/Cameras/CameraAxis.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::CameraAxis","name":"CameraAxis","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L27"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"0"},{"id":"Focus","name":"Focus","value":"1"},{"id":"PanTilt","name":"PanTilt","value":"2"},{"id":"Zoom","name":"Zoom","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L28"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"focus?-instance-method","name":"focus?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L29"},"def":{"name":"focus?","visibility":"Public","body":"self == Focus"}},{"html_id":"pan_tilt?-instance-method","name":"pan_tilt?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L30"},"def":{"name":"pan_tilt?","visibility":"Public","body":"self == PanTilt"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L31"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/FocusDirection","path":"Cisco/CollaborationEndpoint/Cameras/FocusDirection.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Cameras::FocusDirection","name":"FocusDirection","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L34"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Far","name":"Far","value":"0"},{"id":"Near","name":"Near","value":"1"},{"id":"Stop","name":"Stop","value":"2"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},"instance_methods":[{"html_id":"far?-instance-method","name":"far?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L35"},"def":{"name":"far?","visibility":"Public","body":"self == Far"}},{"html_id":"near?-instance-method","name":"near?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L36"},"def":{"name":"near?","visibility":"Public","body":"self == Near"}},{"html_id":"stop?-instance-method","name":"stop?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L37"},"def":{"name":"stop?","visibility":"Public","body":"self == Stop"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras/Interface","path":"Cisco/CollaborationEndpoint/Cameras/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Cameras::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/cameras.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/cameras.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Config","path":"Cisco/CollaborationEndpoint/Config.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Config","name":"Config","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L132"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","aliased_html":"Hash(String, Hash(String, Bool | Float64 | Int64 | String | Nil))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Feedback","path":"Cisco/CollaborationEndpoint/Feedback.html","kind":"class","full_name":"Cisco::CollaborationEndpoint::Feedback","name":"Feedback","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L2"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clear-instance-method","name":"clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L44"},"def":{"name":"clear","visibility":"Public","body":"@callbacks = Hash(String, Array(Proc(String, Enumerable::JSONComplex, Nil))).new do |h, k|\n h[k] = [] of Proc(String, Enumerable::JSONComplex, Nil)\nend"}},{"html_id":"contains?(path:String)-instance-method","name":"contains?","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L23"},"def":{"name":"contains?","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"found = false\n@callbacks.each_key do |key|\n if path.starts_with?(key)\n found = true\n break\n end\nend\nfound\n"}},{"html_id":"insert(path:String,&handler:Proc(String,Enumerable::JSONComplex,Nil))-instance-method","name":"insert","doc":"Insert a response handler block to be notified of updates effecting the\nspecified feedback path.","summary":"

Insert a response handler block to be notified of updates effecting the specified feedback path.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","args_html":"(path : String, &handler : Proc(String, Enumerable::JSONComplex, Nil))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L18"},"def":{"name":"insert","args":[{"name":"path","external_name":"path","restriction":"String"}],"yields":0,"block_arity":0,"block_arg":{"name":"handler","external_name":"handler","restriction":"Proc(String, Enumerable::JSONComplex, Nil)"},"visibility":"Public","body":"@callbacks[path] << handler\nself\n"}},{"html_id":"notify(path:String,value:Enumerable::JSONComplex)-instance-method","name":"notify","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"args_string":"(path : String, value : Enumerable::JSONComplex)","args_html":"(path : String, value : Enumerable::JSONComplex)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L34"},"def":{"name":"notify","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"value","external_name":"value","restriction":"Enumerable::JSONComplex"}],"visibility":"Public","body":"@callbacks.each do |key, callbacks|\n if path.starts_with?(key)\n callbacks.each(&.call(path, value))\n end\nend"}},{"html_id":"notify(payload:Hash(String,Enumerable::JSONComplex))-instance-method","name":"notify","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"args_string":"(payload : Hash(String, Enumerable::JSONComplex))","args_html":"(payload : Hash(String, Enumerable::JSONComplex))","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L40"},"def":{"name":"notify","args":[{"name":"payload","external_name":"payload","restriction":"Hash(String, Enumerable::JSONComplex)"}],"visibility":"Public","body":"payload.each do |key, value|\n notify(\"/#{key}\", value)\nend"}},{"html_id":"remove(path:String)-instance-method","name":"remove","doc":"Nuke a subtree below the path","summary":"

Nuke a subtree below the path

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/feedback.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/feedback.cr#L9"},"def":{"name":"remove","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"remove = [] of String\n@callbacks.each_key do |key|\n if key.starts_with?(path)\n remove << key\n end\nend\nremove.each do |key|\n @callbacks.delete(key)\nend\nself\n"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/JSONBasic","path":"Cisco/CollaborationEndpoint/JSONBasic.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","path":"Cisco/CollaborationEndpoint/Powerable.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"half_wake-instance-method","name":"half_wake","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L14"},"def":{"name":"half_wake","visibility":"Public","body":"xcommand(\"Standby HalfWake\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L18"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? powerup : half_wake\nself[:power] = state\n"}},{"html_id":"power_state(state:Interface::Powerable::PowerState)-instance-method","name":"power_state","doc":"override this to implement `PowerState::FullOff` if it is available for the device","summary":"

override this to implement PowerState::FullOff if it is available for the device

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"args_string":"(state : Interface::Powerable::PowerState)","args_html":"(state : Interface::Powerable::PowerState)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L23"},"def":{"name":"power_state","args":[{"name":"state","external_name":"state","restriction":"Interface::Powerable::PowerState"}],"visibility":"Public","body":"case state\nin .on?\n power(true)\nin .off?\n power(false)\nin .full_off?\n standby\n self[:power] = false\nend\nself[:power_state] = state\n"}},{"html_id":"powerup-instance-method","name":"powerup","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L13"},"def":{"name":"powerup","visibility":"Public","body":"xcommand(\"Standby Deactivate\")"}},{"html_id":"reset_standby_timer(delay:Int32)-instance-method","name":"reset_standby_timer","abstract":false,"args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"args_string":"(delay : Int32)","args_html":"(delay : Int32)","location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L16"},"def":{"name":"reset_standby_timer","args":[{"name":"delay","external_name":"delay","restriction":"Int32"}],"visibility":"Public","body":"if (1..480).includes?(delay)\nelse\n raise(ArgumentError.new(\"delay must be within #{1..480}, was #{delay}\"))\nend\nxcommand(\"Standby ResetTimer\", delay: delay)\n"}},{"html_id":"standby-instance-method","name":"standby","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L15"},"def":{"name":"standby","visibility":"Public","body":"xcommand(\"Standby Activate\")"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/Interface","path":"Cisco/CollaborationEndpoint/Powerable/Interface.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Powerable::Interface","name":"Interface","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface","aliased_html":"PlaceOS::Driver::Interface","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"}},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable/PowerOff","path":"Cisco/CollaborationEndpoint/Powerable/PowerOff.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Powerable::PowerOff","name":"PowerOff","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L36"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Restart","name":"Restart","value":"0"},{"id":"Shutdown","name":"Shutdown","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},"instance_methods":[{"html_id":"restart?-instance-method","name":"restart?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L37"},"def":{"name":"restart?","visibility":"Public","body":"self == Restart"}},{"html_id":"shutdown?-instance-method","name":"shutdown?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/powerable.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/powerable.cr#L38"},"def":{"name":"shutdown?","visibility":"Public","body":"self == Shutdown"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","path":"Cisco/CollaborationEndpoint/Presentation.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"presentation_start(presentation_source:Int32|Nil=nil,sending_mode:SendingMode|Nil=nil,connector_id:Int32|Nil=nil,instance:Int32|Nil=nil)-instance-method","name":"presentation_start","abstract":false,"args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"args_string":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","args_html":"(presentation_source : Int32 | Nil = nil, sending_mode : SendingMode | Nil = nil, connector_id : Int32 | Nil = nil, instance : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L24"},"def":{"name":"presentation_start","args":[{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"},{"name":"sending_mode","default_value":"nil","external_name":"sending_mode","restriction":"SendingMode | ::Nil"},{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if presentation_source\n if (1..2).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..2}, was #{presentation_source}\"))\n end\nend\nif connector_id\n if (1..2).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..2}, was #{connector_id}\"))\n end\nend\nif instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nxcommand(\"Presentation Start\", presentation_source: presentation_source, sending_mode: sending_mode, connector_id: connector_id, instance: instance)\n"}},{"html_id":"presentation_stop(instance:Int32|Nil=nil,presentation_source:Int32|Nil=nil)-instance-method","name":"presentation_stop","abstract":false,"args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"args_string":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","args_html":"(instance : Int32 | Nil = nil, presentation_source : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L29"},"def":{"name":"presentation_stop","args":[{"name":"instance","default_value":"nil","external_name":"instance","restriction":"Int32 | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if instance\n if (1..6).includes?(instance)\n else\n raise(ArgumentError.new(\"\\\"instance\\\" must be within #{1..6}, was #{instance}\"))\n end\nend\nif presentation_source\n if (1..4).includes?(presentation_source)\n else\n raise(ArgumentError.new(\"\\\"presentation_source\\\" must be within #{1..4}, was #{presentation_source}\"))\n end\nend\nxcommand(\"Presentation Stop\", instance: instance, presentation_source: presentation_source)\n"}},{"html_id":"send_presentation_to(remote:Bool)-instance-method","name":"send_presentation_to","abstract":false,"args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"args_string":"(remote : Bool)","args_html":"(remote : Bool)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L51"},"def":{"name":"send_presentation_to","args":[{"name":"remote","external_name":"remote","restriction":"Bool"}],"visibility":"Public","body":"@sending_mode = remote ? SendingMode::LocalRemote : SendingMode::LocalOnly\nself[:present_to_remote] = remote\nif input = @presenting_input\n presentation_start(presentation_source: input, sending_mode: @sending_mode)\nend\n"}},{"html_id":"switch_to(input:PresentationInputs)-instance-method","name":"switch_to","doc":"Provide compatabilty with the router module for activating presentation.","summary":"

Provide compatabilty with the router module for activating presentation.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"args_string":"(input : PresentationInputs)","args_html":"(input : PresentationInputs)","location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"PresentationInputs"}],"visibility":"Public","body":"if input.none?\n @presenting_input = nil\n presentation_stop\nelse\n source = input.to_s[5..-1].to_i\n @presenting_input = source\n presentation_start(presentation_source: source, sending_mode: @sending_mode)\nend\nself[:presenting_input] = @presenting_input\n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/PresentationInputs","path":"Cisco/CollaborationEndpoint/Presentation/PresentationInputs.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::PresentationInputs","name":"PresentationInputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"},{"id":"Input3","name":"Input3","value":"3"},{"id":"Input4","name":"Input4","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"input3?-instance-method","name":"input3?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L9"},"def":{"name":"input3?","visibility":"Public","body":"self == Input3"}},{"html_id":"input4?-instance-method","name":"input4?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L10"},"def":{"name":"input4?","visibility":"Public","body":"self == Input4"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation/SendingMode","path":"Cisco/CollaborationEndpoint/Presentation/SendingMode.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Presentation::SendingMode","name":"SendingMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LocalRemote","name":"LocalRemote","value":"0"},{"id":"LocalOnly","name":"LocalOnly","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},"instance_methods":[{"html_id":"local_only?-instance-method","name":"local_only?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L18"},"def":{"name":"local_only?","visibility":"Public","body":"self == LocalOnly"}},{"html_id":"local_remote?-instance-method","name":"local_remote?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/presentation.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/presentation.cr#L17"},"def":{"name":"local_remote?","visibility":"Public","body":"self == LocalRemote"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presets","path":"Cisco/CollaborationEndpoint/Presets.html","kind":"alias","full_name":"Cisco::CollaborationEndpoint::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Int32, Hash(String, Int32))","aliased_html":"Hash(Int32, Hash(String, Int32))","const":false,"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"Camera idx => Preset name => Preset id","summary":"

Camera idx => Preset name => Preset id

"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Toogle","path":"Cisco/CollaborationEndpoint/Toogle.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L15"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"doc":"used by many of the commands","summary":"

used by many of the commands

","instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L17"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint.cr#L16"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","path":"Cisco/CollaborationEndpoint/UIExtensions.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions","abstract":false,"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"}],"including_types":[{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},{"html_id":"drivers/Cisco/RoomOS","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"instance_methods":[{"html_id":"msg_alert(text:String,title:String|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"msg_alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(text : String, title : String | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L7"},"def":{"name":"msg_alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message Alert Display\", text: text, title: title, duration: duration)\n"}},{"html_id":"msg_alert_clear-instance-method","name":"msg_alert_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L6"},"def":{"name":"msg_alert_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"msg_prompt(text:String,options:Array(JSON::Any::Type),title:String|Nil=nil,feedback_id:String|Nil=nil,duration:Int64|Nil=nil)-instance-method","name":"msg_prompt","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"args_string":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","args_html":"(text : String, options : Array(JSON::Any::Type), title : String | Nil = nil, feedback_id : String | Nil = nil, duration : Int64 | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L14"},"def":{"name":"msg_prompt","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"options","external_name":"options","restriction":"Array(JSON::Any::Type)"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"feedback_id","default_value":"nil","external_name":"feedback_id","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"option_map = {} of String => JSON::Any::Type\n(\"Option.1\"..\"Option.5\").each_with_index do |key, i|\n if i >= options.size\n break\n end\n option_map[key] = options[i]\nend\nxcommand(\"UserInterface Message Prompt Display\", hash_args: Hash(String, JSON::Any::Type) {\"text\" => text, \"title\" => title, \"feedback_id\" => feedback_id, \"duration\" => duration}.merge(option_map))\n"}},{"html_id":"msg_prompt_clear-instance-method","name":"msg_prompt_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L12"},"def":{"name":"msg_prompt_clear","visibility":"Public","body":"xcommand(\"UserInterface Message Prompt Clear\")"}},{"html_id":"msg_text(text:String,feedback_id:String,title:String|Nil=nil,duration:Int32|Nil=nil,input_type:TextInputType|Nil=nil,keyboard_state:TextKeyboardState|Nil=nil,place_holder:String|Nil=nil,submit_text:String|Nil=nil)-instance-method","name":"msg_text","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"args_string":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","args_html":"(text : String, feedback_id : String, title : String | Nil = nil, duration : Int32 | Nil = nil, input_type : TextInputType | Nil = nil, keyboard_state : TextKeyboardState | Nil = nil, place_holder : String | Nil = nil, submit_text : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L45"},"def":{"name":"msg_text","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"feedback_id","external_name":"feedback_id","restriction":"String"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"input_type","default_value":"nil","external_name":"input_type","restriction":"TextInputType | ::Nil"},{"name":"keyboard_state","default_value":"nil","external_name":"keyboard_state","restriction":"TextKeyboardState | ::Nil"},{"name":"place_holder","default_value":"nil","external_name":"place_holder","restriction":"String | ::Nil"},{"name":"submit_text","default_value":"nil","external_name":"submit_text","restriction":"String | ::Nil"}],"visibility":"Public","body":"if duration\n if (0..3600).includes?(duration)\n else\n raise(ArgumentError.new(\"\\\"duration\\\" must be within #{0..3600}, was #{duration}\"))\n end\nend\nxcommand(\"UserInterface Message TextInput Display\", text: text, feedback_id: feedback_id, title: title, duration: duration, input_type: input_type, keyboard_state: keyboard_state, place_holder: place_holder, submit_text: submit_text)\n"}},{"html_id":"msg_text_clear-instance-method","name":"msg_text_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L44"},"def":{"name":"msg_text_clear","visibility":"Public","body":"xcommand(\"UserInterface Message TextInput Clear\")"}},{"html_id":"ui_extensions_clear-instance-method","name":"ui_extensions_clear","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L73"},"def":{"name":"ui_extensions_clear","visibility":"Public","body":"xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"ui_extensions_deploy(id:String,xml_def:String)-instance-method","name":"ui_extensions_deploy","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L65"},"def":{"name":"ui_extensions_deploy","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface Extensions Set\", xml_def, config_id: id)"}},{"html_id":"ui_extensions_list-instance-method","name":"ui_extensions_list","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L69"},"def":{"name":"ui_extensions_list","visibility":"Public","body":"xcommand(\"UserInterface Extensions List\")"}},{"html_id":"ui_set_value(widget:String,value:JSON::Any::Type|Nil=nil)-instance-method","name":"ui_set_value","abstract":false,"args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"args_string":"(widget : String, value : JSON::Any::Type | Nil = nil)","args_html":"(widget : String, value : JSON::Any::Type | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L55"},"def":{"name":"ui_set_value","args":[{"name":"widget","external_name":"widget","restriction":"String"},{"name":"value","default_value":"nil","external_name":"value","restriction":"JSON::Any::Type | ::Nil"}],"visibility":"Public","body":"if value.nil?\n xcommand(\"UserInterface Extensions Widget UnsetValue\", widget_id: widget)\nelse\n xcommand(\"UserInterface Extensions Widget SetValue\", value: value, widget_id: widget)\nend"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextInputType","path":"Cisco/CollaborationEndpoint/UIExtensions/TextInputType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextInputType","name":"TextInputType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L32"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"SingleLine","name":"SingleLine","value":"0"},{"id":"Numeric","name":"Numeric","value":"1"},{"id":"Password","name":"Password","value":"2"},{"id":"PIN","name":"PIN","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"numeric?-instance-method","name":"numeric?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L34"},"def":{"name":"numeric?","visibility":"Public","body":"self == Numeric"}},{"html_id":"password?-instance-method","name":"password?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L35"},"def":{"name":"password?","visibility":"Public","body":"self == Password"}},{"html_id":"pin?-instance-method","name":"pin?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L36"},"def":{"name":"pin?","visibility":"Public","body":"self == PIN"}},{"html_id":"single_line?-instance-method","name":"single_line?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L33"},"def":{"name":"single_line?","visibility":"Public","body":"self == SingleLine"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState","path":"Cisco/CollaborationEndpoint/UIExtensions/TextKeyboardState.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::UIExtensions::TextKeyboardState","name":"TextKeyboardState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L39"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L41"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/ui_extensions.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/ui_extensions.cr#L40"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","path":"Cisco/CollaborationEndpoint/XAPI.html","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L3"},{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BOOL_OR","name":"BOOL_OR","value":"->(term : String) do\n ->(val : String) do\n val == term ? term : BOOLEAN.call(val)\n end\nend"},{"id":"BOOLEAN","name":"BOOLEAN","value":"->(val : String) do\n TRUTHY.includes?(val.downcase)\nend"},{"id":"COMMAND_RESPONSE","name":"COMMAND_RESPONSE","value":"Regex.union(INVALID_COMMAND, SUCCESS)"},{"id":"FALSEY","name":"FALSEY","value":"{\"false\", \"unavailable\", \"off\", \"inactive\"}"},{"id":"INVALID_COMMAND","name":"INVALID_COMMAND","value":"/(?<=Command not recognized\\.)[\\r\\n]+/","doc":"Regexp's for tokenizing the xAPI command and response structure.","summary":"

Regexp's for tokenizing the xAPI command and response structure.

"},{"id":"LOGIN_COMPLETE","name":"LOGIN_COMPLETE","value":"/Login successful/"},{"id":"PARSERS","name":"PARSERS","value":"{\"TTPAR_OnOff\" => BOOLEAN, \"TTPAR_OnOffAuto\" => BOOL_OR.call(\"Auto\"), \"TTPAR_OnOffCurrent\" => BOOL_OR.call(\"Current\"), \"TTPAR_MuteEnabled\" => BOOLEAN}"},{"id":"SUCCESS","name":"SUCCESS","value":"/(?<=OK)[\\r\\n]+/"},{"id":"TRUTHY","name":"TRUTHY","value":"{\"true\", \"available\", \"standby\", \"on\", \"active\"}"}],"including_types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},"class_methods":[{"html_id":"create_action(__action__:ActionType,*args,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,priority:Int32|Nil=nil,**kwargs)-class-method","name":"create_action","doc":"Serialize an xAPI action into transmittable command.","summary":"

Serialize an xAPI action into transmittable command.

","abstract":false,"args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"args_string":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","args_html":"(__action__ : ActionType, *args, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, priority : Int32 | Nil = nil, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L45"},"def":{"name":"create_action","args":[{"name":"__action__","external_name":"__action__","restriction":"ActionType"},{"name":"args","external_name":"args","restriction":""},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"},{"name":"priority","default_value":"nil","external_name":"priority","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"splat_index":1,"visibility":"Public","body":"[__action__.to_s.camelcase(lower: true), args.compact_map(&.to_s), hash_args.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend, kwargs.map do |key, value|\n if value\n if value.is_a?(String)\n value = \"\\\"#{value}\\\"\"\n end\n \"#{key.to_s.camelcase}: #{value}\"\n end\nend.to_a.compact!].flatten.join(\" \")"}},{"html_id":"parse(data:String)-class-method","name":"parse","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L31"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"(JSON.parse(data)).as_h.flatten_xapi_json"}},{"html_id":"tokenize(path:String)-class-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L101"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split(/[\\s\\/\\\\]/)).reject(&.empty?)"}},{"html_id":"value_convert(value:String,valuespace:String|Nil=nil)-class-method","name":"value_convert","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"args_string":"(value : String, valuespace : String | Nil = nil)","args_html":"(value : String, valuespace : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L15"},"def":{"name":"value_convert","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"valuespace","default_value":"nil","external_name":"valuespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"begin\n parser = PARSERS[valuespace]?\n if parser\n else\n return value.to_i64\n end\n parser.call(value)\nrescue\n check = value.downcase\n if check.in?(TRUTHY)\n true\n else\n if check.in?(FALSEY)\n false\n else\n value\n end\n end\nend"}},{"html_id":"xcommand(path:String,hash_args:Hash(String,JSON::Any::Type)={}ofString=>JSON::Any::Type,**kwargs)-class-method","name":"xcommand","doc":"Serialize an xCommand into transmittable command.","summary":"

Serialize an xCommand into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","args_html":"(path : String, hash_args : Hash(String, JSON::Any::Type) = {} of String => JSON::Any::Type, **kwargs)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L71"},"def":{"name":"xcommand","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"hash_args","default_value":"{} of String => JSON::Any::Type","external_name":"hash_args","restriction":"Hash(String, JSON::Any::Type)"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"create_action(ActionType::XCommand, path, **kwargs.merge({hash_args: hash_args}))"}},{"html_id":"xconfiguration(path:String,setting:String,value:JSON::Any::Type)-class-method","name":"xconfiguration","doc":"Serialize an xConfiguration action into a transmittable command.","summary":"

Serialize an xConfiguration action into a transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"args_string":"(path : String, setting : String, value : JSON::Any::Type)","args_html":"(path : String, setting : String, value : JSON::Any::Type)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L80"},"def":{"name":"xconfiguration","args":[{"name":"path","external_name":"path","restriction":"String"},{"name":"setting","external_name":"setting","restriction":"String"},{"name":"value","external_name":"value","restriction":"JSON::Any::Type"}],"visibility":"Public","body":"create_action(ActionType::XConfiguration, path, hash_args: {setting => value})"}},{"html_id":"xfeedback(action:FeedbackAction,path:String|Nil=nil)-class-method","name":"xfeedback","doc":"Serialize a xFeedback subscription request.","summary":"

Serialize a xFeedback subscription request.

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"args_string":"(action : FeedbackAction, path : String | Nil = nil)","args_html":"(action : FeedbackAction, path : String | Nil = nil)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L92"},"def":{"name":"xfeedback","args":[{"name":"action","external_name":"action","restriction":"FeedbackAction"},{"name":"path","default_value":"nil","external_name":"path","restriction":"String | ::Nil"}],"visibility":"Public","body":"if path\n xpath = tokenize(path)\n create_action(ActionType::XFeedback, action, \"/#{xpath.join('/')}\")\nelse\n create_action(ActionType::XFeedback, action)\nend"}},{"html_id":"xstatus(path:String)-class-method","name":"xstatus","doc":"Serialize an xStatus request into transmittable command.","summary":"

Serialize an xStatus request into transmittable command.

","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L87"},"def":{"name":"xstatus","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"create_action(ActionType::XStatus, path)"}}],"macros":[{"html_id":"command(cmd_name,**params)-macro","name":"command","abstract":false,"args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"args_string":"(cmd_name, **params)","args_html":"(cmd_name, **params)","location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L106"},"def":{"name":"command","args":[{"name":"cmd_name","external_name":"cmd_name","restriction":""}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":" \n{% for cmd, name in cmd_name %}\n def {{ name.id }}(\n {% for param, klass in params %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {% if klass.is_a?(RangeLiteral) %}\n {{ param.id }} : Int32{% if optional %}? = nil{% end %},\n {% else %}\n {{ param.id }} : {{ klass }}{% if optional %}? = nil{% end %},\n {% end %}\n {% end %}\n )\n {% for param, klass in params %}\n {% if klass.is_a?(RangeLiteral) %}\n {% optional = false %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% optional = true %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n {% if optional %} if {{ param.id }}{% end %}\n raise ArgumentError.new(\"#{ {{ param.stringify }} } must be within #{ {{ klass }} }, was #{ {{ param.id }} }\") unless ({{ klass }}).includes?({{ param.id }})\n {% if optional %}end{% end %}\n {% end %}\n {% end %}\n\n # send the command\n xcommand(\n {{ cmd }},\n {% for param, klass in params %}\n {% if param.stringify.ends_with?(\"_\") %}\n {% param = param.stringify[0..-2] %}\n {% end %}\n\n {{ param.id }}: {{ param.id }},\n {% end %}\n )\n end\n {% end %}\n\n \n"}}],"types":[{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/ActionType","path":"Cisco/CollaborationEndpoint/XAPI/ActionType.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::ActionType","name":"ActionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"XConfiguration","name":"XConfiguration","value":"0"},{"id":"XCommand","name":"XCommand","value":"1"},{"id":"XStatus","name":"XStatus","value":"2"},{"id":"XFeedback","name":"XFeedback","value":"3"},{"id":"XPreferences","name":"XPreferences","value":"4"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"x_command?-instance-method","name":"x_command?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L31"},"def":{"name":"x_command?","visibility":"Public","body":"self == XCommand"}},{"html_id":"x_configuration?-instance-method","name":"x_configuration?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L30"},"def":{"name":"x_configuration?","visibility":"Public","body":"self == XConfiguration"}},{"html_id":"x_feedback?-instance-method","name":"x_feedback?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L33"},"def":{"name":"x_feedback?","visibility":"Public","body":"self == XFeedback"}},{"html_id":"x_preferences?-instance-method","name":"x_preferences?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L34"},"def":{"name":"x_preferences?","visibility":"Public","body":"self == XPreferences"}},{"html_id":"x_status?-instance-method","name":"x_status?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L32"},"def":{"name":"x_status?","visibility":"Public","body":"self == XStatus"}}]},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI/FeedbackAction","path":"Cisco/CollaborationEndpoint/XAPI/FeedbackAction.html","kind":"enum","full_name":"Cisco::CollaborationEndpoint::XAPI::FeedbackAction","name":"FeedbackAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L37"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Register","name":"Register","value":"0"},{"id":"Deregister","name":"Deregister","value":"1"},{"id":"DeregisterAll","name":"DeregisterAll","value":"2"},{"id":"List","name":"List","value":"3"}],"namespace":{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},"instance_methods":[{"html_id":"deregister?-instance-method","name":"deregister?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L39"},"def":{"name":"deregister?","visibility":"Public","body":"self == Deregister"}},{"html_id":"deregister_all?-instance-method","name":"deregister_all?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L40"},"def":{"name":"deregister_all?","visibility":"Public","body":"self == DeregisterAll"}},{"html_id":"list?-instance-method","name":"list?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L41"},"def":{"name":"list?","visibility":"Public","body":"self == List"}},{"html_id":"register?-instance-method","name":"register?","abstract":false,"location":{"filename":"src/cisco/collaboration_endpoint/xapi.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/xapi.cr#L38"},"def":{"name":"register?","visibility":"Public","body":"self == Register"}}]}]}]},{"html_id":"drivers/Cisco/DNASpaces","path":"Cisco/DNASpaces.html","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L9"},{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IOT_SENSORS","name":"IOT_SENSORS","value":"{SensorType::Presence, SensorType::PeopleCount, SensorType::Humidity, SensorType::AirQuality, SensorType::SoundPressure, SensorType::Temperature}"},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"activate-instance-method","name":"activate","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L104"},"def":{"name":"activate","visibility":"Public","body":"if @activation_token.empty?\n return\nend\nresponse = get(\"/client/v1/partner/partnerPublicKey/\")\nif response.success?\nelse\n raise(\"failed to obtain partner public key, code #{response.status_code}\")\nend\nlogger.debug do\n \"public key requested: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: Array(ActivactionPublicKey)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining partner public key: #{payload[:message]}\")\nend\npublic_key = payload[:data][0].public_key\npayload, header = JWT.decode(@activation_token, public_key, JWT::Algorithm::RS256, @verify_activation_key)\napp_id = payload[\"appId\"].as_s\nref_id = payload[\"activationRefId\"].as_s\ntenant_id = payload[\"tenantId\"].as_i64.to_s\nresponse = post(\"/client/v1/partner/activateOnPremiseApp\", headers: {\"Content-Type\" => \"application/json\", \"Authorization\" => \"Bearer #{@activation_token}\"}, body: {appId: app_id, activationRefId: ref_id}.to_json)\nif response.success?\nelse\n raise(\"failed to obtain API key, code #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"application activated: #{response.body}\"\nend\npayload = NamedTuple(status: Bool, message: String, data: NamedTuple(apiKey: String)).from_json(response.body.not_nil!)\nif payload[:status]\nelse\n raise(\"unexpected failure obtaining API key: #{payload[:message]}\")\nend\napi_key = payload[:data][:apiKey]\nlogger.debug do\n \"saving API key: #{tenant_id}, #{api_key}\"\nend\ndefine_setting(:tenant_id, tenant_id)\ndefine_setting(:dna_spaces_api_key, api_key)\ndefine_setting(:dna_spaces_activation_key, \"\")\nlogger.debug do\n \"settings saved! Starting stream\"\nend\n@api_key = api_key\n@tenant_id = tenant_id\nif !@streaming\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":513,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L513"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"if location = locate_mac(mac_address)\n {location: \"wireless\", assigned_to: format_username(location.raw_user_id), mac_address: format_mac(mac_address)}\nend"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L244"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago.to_unix\nremove_keys = [] of String\nlocations do |locs|\n locs.each do |mac, location|\n if location.last_seen < old\n remove_keys << mac\n end\n end\n remove_keys.each do |mac|\n locs.delete(mac)\n end\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":524,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L524"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of Nil\nend\nfloors = [] of String\nadjustments = {} of String => Tuple(Float64, Float64, Float64, Float64)\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n offset_x = (data[\"offset_x\"]? || 0.0).as(Float64)\n offset_y = (data[\"offset_y\"]? || 0.0).as(Float64)\n map_width = (data[\"map_width\"]? || -1.0).as(Float64)\n map_height = (data[\"map_height\"]? || -1.0).as(Float64)\n adjustments[floor_id] = {offset_x, offset_y, map_width, map_height}\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of Nil\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago.to_unix\nmatching = locations(&.compact_map do |mac, loc|\n if loc.last_seen < oldest_location\n too_old = too_old + 1\n next\n end\n if (floors & loc.location_mappings.values).empty?\n wrong_floor = wrong_floor + 1\n next\n end\n loc.device.mac_address = mac\n loc\nend)\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.map_id).flat_map do |map_id, locations|\n map_width = -1.0\n map_height = -1.0\n offset_x = 0.0\n offset_y = 0.0\n locations.first.location_mappings.each_value do |location_id|\n if level_data = adjustments[location_id]?\n offset_x, offset_y, map_width, map_height = level_data\n break\n end\n end\n if (map_width == -1.0) || (map_height == -1.0)\n if map_size = get_map_details(map_id)\n map_width = map_width > -1.0 ? map_width : ( map_size.length - offset_x)\n map_height = map_height > -1.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n locations.map do |loc|\n lat = loc.latitude\n lon = loc.longitude\n {location: :wireless, coordinates_from: \"top-left\", x: loc.x_pos - offset_x, y: loc.y_pos - offset_y, lon: lon, lat: lat, s2_cell_id: (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), mac: loc.device.mac_address, variance: loc.unc, last_seen: loc.last_seen, map_width: map_width, map_height: map_height, ssid: loc.ssid, manufacturer: loc.device.manufacturer, os: loc.device.os}\n end\nend\n"}},{"html_id":"devices(&)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L194"},"def":{"name":"devices","yields":1,"block_arity":1,"visibility":"Public","body":"@dev_lock.synchronize do\n yield @devices\nend"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":614,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L614"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L618"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_location_info(location_id:String)-instance-method","name":"get_location_info","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L168"},"def":{"name":"get_location_info","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/partners/v1/locations/#{location_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\nif response.success?\nelse\n raise(\"failed to obtain location id #{location_id}, code #{response.status_code}\")\nend\nLocationInfo.from_json(response.body.not_nil!)\n"}},{"html_id":"get_map_details(map_id:String)-instance-method","name":"get_map_details","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L226"},"def":{"name":"get_map_details","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"map = @map_lock.synchronize do\n @map_details[map_id]?\nend\nif !map\n response = get(\"/api/partners/v1/maps/#{map_id}?partnerTenantId=#{@tenant_id}\", headers: {\"X-API-KEY\" => @api_key})\n if !response.success?\n message = \"failed to obtain map id #{map_id}, code #{response.status_code}\"\n logger.warn do\n message\n end\n return nil\n end\n map = (MapInfo.from_json(response.body.not_nil!)).dimension\n @map_lock.synchronize do\n @map_details[map_id] = map\n end\nend\nmap\n"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L216"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"MAC Locations: #{locations(&.keys)}\"\nend\n{tracking: locations(&.size), events_received: @events_received}\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L210"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"formatted_address = format_mac(address)\nlocations do |locs|\n locs[formatted_address]?\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"=============================\nLocatable interface\n=============================","summary":"

============================= Locatable interface =============================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L427"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"if macs = user_lookup(username.presence || email.presence.not_nil!)\n location_max_age = @max_location_age.ago.to_unix\n macs.compact_map do |mac|\n if location = locate_mac(mac)\n if location.last_seen > location_max_age\n location.device.mac_address = mac\n location\n end\n end\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end.map do |location|\n lat = location.latitude\n lon = location.longitude\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"top-left\", \"x\" => location.x_pos, \"y\" => location.y_pos, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => (S2Cells::LatLon.new(lat, lon)).to_token(@s2_level), \"mac\" => location.device.mac_address, \"variance\" => location.unc, \"last_seen\" => location.last_seen, \"dna_floor_id\" => location.map_id, \"ssid\" => location.ssid, \"manufacturer\" => location.device.manufacturer, \"os\" => location.device.os}\n map_width = 0.0\n map_height = 0.0\n offset_x = 0.0\n offset_y = 0.0\n location.location_mappings.each_value do |location_id|\n if level_data = @floorplan_mappings[location_id]?\n level_data.each do |key, value|\n case key\n when \"offset_x\"\n offset_x = value.as(Float64)\n loc[\"x\"] = location.x_pos - offset_x\n when \"offset_y\"\n offset_y = value.as(Float64)\n loc[\"y\"] = location.y_pos - offset_y\n when \"map_width\"\n map_width = value.as(Float64)\n when \"map_height\"\n map_height = value.as(Float64)\n else\n loc[key] = value\n end\n end\n break\n end\n end\n if map_width > 0.0 && map_height > 0.0\n loc[\"map_width\"] = map_width\n loc[\"map_height\"] = map_height\n else\n if map_size = get_map_details(location.map_id)\n loc[\"map_width\"] = map_width > 0.0 ? map_width : ( map_size.length - offset_x)\n loc[\"map_height\"] = map_height > 0.0 ? map_height : ( map_size.width - offset_y)\n end\n end\n loc\n end\nelse\n [] of Nil\nend"}},{"html_id":"locations(&)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L190"},"def":{"name":"locations","yields":1,"block_arity":1,"visibility":"Public","body":"@loc_lock.synchronize do\n yield @locations\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L508"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(user_lookup(username.presence || email.presence.not_nil!)).try(&.to_a) || ([] of String)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nif !@api_key.empty?\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L56"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close\n@stream_active = false\nupdate_monitoring_status(running: false)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L73"},"def":{"name":"on_update","visibility":"Public","body":"@max_location_age = ((setting?(UInt32, :max_location_age)) || 10).minutes\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@debug_stream = (setting?(Bool, :debug_stream)) || false\n@verify_activation_key = (setting?(Bool, :verify_activation_key)) || false\nschedule.clear\nschedule.every(30.minutes) do\n cleanup_caches\nend\nschedule.every(5.minutes) do\n update_monitoring_status\nend\nschedule.in(5.seconds) do\n update_monitoring_status\nend\n@activation_token = (setting?(String, :dna_spaces_activation_key)) || \"\"\nif @activation_token.empty?\n @api_key = setting(String, :dna_spaces_api_key)\n @tenant_id = (setting(String | Int64, :tenant_id)).to_s\nelse\n @api_key = (setting?(String, :dna_spaces_api_key)) || \"\"\n @tenant_id = (setting?(String | Int64, :tenant_id)).try(&.to_s) || \"\"\n if @api_key.empty?\n schedule.in(5.seconds) do\n activate\n end\n end\nend\nif (!@streaming) && (!@api_key.empty?)\n @streaming = true\n spawn(same_thread: true) do\n start_streaming_events\n end\nend\n"}},{"html_id":"seen_locations-instance-method","name":"seen_locations","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L180"},"def":{"name":"seen_locations","visibility":"Public","body":"@description_lock.synchronize do\n @location_descriptions.dup\nend"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L117"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nmac = format_mac(mac)\ndevice = devices do |dev|\n dev[mac]?\nend\nif device\nelse\n return nil\nend\nfilter = SensorType.parse(id)\ncase device\nin IotTelemetry\n (to_sensors(nil, filter, device)).first?\nin DeviceLocationUpdate\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/dna_spaces/sensor_interface.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/sensor_interface.cr#L88"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nfilter = type ? SensorType.parse(type) : nil\nif filter && (!(filter.in?(IOT_SENSORS)))\n return NO_MATCH\nend\nif mac\n mac = format_mac(mac)\n device = devices do |dev|\n dev[mac]?\n end\n if device\n else\n return NO_MATCH\n end\n return case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\ndevice_values = devices(&.values)\ndevice_values.flat_map do |device|\n case device\n in IotTelemetry\n to_sensors(zone_id, filter, device)\n in DeviceLocationUpdate\n NO_MATCH\n end\nend\n"}},{"html_id":"update_monitoring_status(running:Bool=true):Nil-instance-method","name":"update_monitoring_status","doc":"This provides the DNA Spaces dashboard with stream consumption status","summary":"

This provides the DNA Spaces dashboard with stream consumption status

","abstract":false,"args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"args_string":"(running : Bool = true) : Nil","args_html":"(running : Bool = true) : Nil","location":{"filename":"src/cisco/dna_spaces.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L629"},"def":{"name":"update_monitoring_status","args":[{"name":"running","default_value":"true","external_name":"running","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = put(\"/api/partners/v1/monitoring/status\", headers: {\"Content-Type\" => \"application/json\", \"X-API-KEY\" => @api_key}, body: {data: {overallStatus: {status: running ? \"up\" : \"down\", notices: [] of Nil}, instanceDetails: {ipAddress: \"\", instanceId: module_id}, cloudFirehose: {status: @stream_active ? \"connected\" : \"disconnected\", lastReceived: @last_received}, localFirehose: {status: \"disconnected\", lastReceived: 0}, subsystems: [] of Nil}}.to_json)\nif response.success?\nelse\n raise(\"failed to update status, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"user_lookup(&)-instance-method","name":"user_lookup","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L201"},"def":{"name":"user_lookup","yields":1,"block_arity":1,"visibility":"Public","body":"@user_loc.synchronize do\n yield @user_lookup\nend"}},{"html_id":"user_lookup(user_id:String)-instance-method","name":"user_lookup","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L205"},"def":{"name":"user_lookup","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"formatted_user = format_username(user_id)\nuser_lookup do |lookup|\n lookup[formatted_user]?\nend\n"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/ActivactionPublicKey","path":"Cisco/DNASpaces/ActivactionPublicKey.html","kind":"class","full_name":"Cisco::DNASpaces::ActivactionPublicKey","name":"ActivactionPublicKey","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"public_key-instance-method","name":"public_key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L11"},"def":{"name":"public_key","visibility":"Public","body":"\"-----BEGIN PUBLIC KEY-----\\n#{@public_key}\\n-----END PUBLIC KEY-----\\n\""}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/activation_publickey.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/activation_publickey.cr#L6"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivaction","path":"Cisco/DNASpaces/AppActivaction.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivaction","name":"AppActivaction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"instance_name:String-instance-method","name":"instance_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L20"},"def":{"name":"instance_name","return_type":"String","visibility":"Public","body":"@instance_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L13"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"reference_id:String-instance-method","name":"reference_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L17"},"def":{"name":"reference_id","return_type":"String","visibility":"Public","body":"@reference_id"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L10"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/app_activaction.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/app_activaction.cr#L7"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","path":"Cisco/DNASpaces/AppActivactionWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L108"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L109"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:AppActivaction-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L112"},"def":{"name":"payload","return_type":"AppActivaction","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/BlePayload","path":"Cisco/DNASpaces/BlePayload.html","kind":"class","full_name":"Cisco::DNASpaces::BlePayload","name":"BlePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data","return_type":"String","visibility":"Public","body":"@data"}},{"html_id":"data=(data:String)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L8"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"@data = data"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L7"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdate","path":"Cisco/DNASpaces/BleRssiUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdate","name":"BleRssiUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L48"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"notification:RssiNotification-instance-method","name":"notification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L47"},"def":{"name":"notification","return_type":"RssiNotification","visibility":"Public","body":"@notification"}}]},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","path":"Cisco/DNASpaces/BleRssiUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L122"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L123"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:BleRssiUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L126"},"def":{"name":"payload","return_type":"BleRssiUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Device","path":"Cisco/DNASpaces/Device.html","kind":"class","full_name":"Cisco::DNASpaces::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_id:String-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L7"},"def":{"name":"device_id","return_type":"String","visibility":"Public","body":"@device_id"}},{"html_id":"email-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L16"},"def":{"name":"email","visibility":"Public","body":"@email.try(&.downcase)"}},{"html_id":"email_raw:String?-instance-method","name":"email_raw","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L20"},"def":{"name":"email_raw","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L27"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L24"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L30"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L41"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L42"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L13"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L43"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os_version:String|Nil-instance-method","name":"os_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L46"},"def":{"name":"os_version","return_type":"String | ::Nil","visibility":"Public","body":"@os_version"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L33"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L12"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L47"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCount","path":"Cisco/DNASpaces/DeviceCount.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCount","name":"DeviceCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"associated_count:Int32-instance-method","name":"associated_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L9"},"def":{"name":"associated_count","return_type":"Int32","visibility":"Public","body":"@associated_count"}},{"html_id":"estimated_capacity_percentage:Float64-instance-method","name":"estimated_capacity_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L21"},"def":{"name":"estimated_capacity_percentage","return_type":"Float64","visibility":"Public","body":"@estimated_capacity_percentage"}},{"html_id":"estimated_density:Float64-instance-method","name":"estimated_density","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L18"},"def":{"name":"estimated_density","return_type":"Float64","visibility":"Public","body":"@estimated_density"}},{"html_id":"estimated_probing_count:Int32-instance-method","name":"estimated_probing_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L12"},"def":{"name":"estimated_probing_count","return_type":"Int32","visibility":"Public","body":"@estimated_probing_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L6"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"probing_randomized_percentage:Float64-instance-method","name":"probing_randomized_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_count.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_count.cr#L15"},"def":{"name":"probing_randomized_percentage","return_type":"Float64","visibility":"Public","body":"@probing_randomized_percentage"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","path":"Cisco/DNASpaces/DeviceCountWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L116"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceCount-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L119"},"def":{"name":"payload","return_type":"DeviceCount","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntry","path":"Cisco/DNASpaces/DeviceEntry.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntry","name":"DeviceEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"days_sinc_last_visit:Int32-instance-method","name":"days_sinc_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L25"},"def":{"name":"days_sinc_last_visit","return_type":"Int32","visibility":"Public","body":"@days_sinc_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L22"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L16"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L13"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L19"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_entry.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_entry.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","path":"Cisco/DNASpaces/DeviceEntryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L53"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceEntry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L56"},"def":{"name":"payload","return_type":"DeviceEntry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExit","path":"Cisco/DNASpaces/DeviceExit.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExit","name":"DeviceExit","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L34"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L22"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L19"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L28"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L25"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L31"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L37"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L16"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_exit.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_exit.cr#L10"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","path":"Cisco/DNASpaces/DeviceExitWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L60"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceExit-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L63"},"def":{"name":"payload","return_type":"DeviceExit","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdate","path":"Cisco/DNASpaces/DeviceLocationUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdate","name":"DeviceLocationUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L33"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L6"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L21"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L38"},"def":{"name":"has_position?","visibility":"Public","body":"true"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L18"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L34"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L7"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L46"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L35"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L24"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L12"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L9"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L36"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"@unc"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L15"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L27"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_location_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_location_update.cr#L30"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","path":"Cisco/DNASpaces/DeviceLocationUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L81"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DeviceLocationUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L84"},"def":{"name":"payload","return_type":"DeviceLocationUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresence","path":"Cisco/DNASpaces/DevicePresence.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresence","name":"DevicePresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_devices_count:Int32-instance-method","name":"active_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L50"},"def":{"name":"active_devices_count","return_type":"Int32","visibility":"Public","body":"@active_devices_count"}},{"html_id":"days_since_last_visit:Int32-instance-method","name":"days_since_last_visit","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L23"},"def":{"name":"days_since_last_visit","return_type":"Int32","visibility":"Public","body":"@days_since_last_visit"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L11"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device_classification:String-instance-method","name":"device_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L44"},"def":{"name":"device_classification","return_type":"String","visibility":"Public","body":"@device_classification"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L29"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L26"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_date_time:String-instance-method","name":"exit_date_time","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L35"},"def":{"name":"exit_date_time","return_type":"String","visibility":"Public","body":"@exit_date_time"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L32"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_devices_count:Int32-instance-method","name":"inactive_devices_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L53"},"def":{"name":"inactive_devices_count","return_type":"Int32","visibility":"Public","body":"@inactive_devices_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L12"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L7"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L17"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L14"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L41"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"visit_classification:String-instance-method","name":"visit_classification","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L47"},"def":{"name":"visit_classification","return_type":"String","visibility":"Public","body":"@visit_classification"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L38"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L20"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/device_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/device_presence.cr#L10"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}]},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","path":"Cisco/DNASpaces/DevicePresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L94"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L95"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:DevicePresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L98"},"def":{"name":"payload","return_type":"DevicePresence","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/Dimension","path":"Cisco/DNASpaces/Dimension.html","kind":"class","full_name":"Cisco::DNASpaces::Dimension","name":"Dimension","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L8"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L6"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"offset_x:Float64-instance-method","name":"offset_x","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L11"},"def":{"name":"offset_x","return_type":"Float64","visibility":"Public","body":"@offset_x"}},{"html_id":"offset_y:Float64-instance-method","name":"offset_y","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L14"},"def":{"name":"offset_y","return_type":"Float64","visibility":"Public","body":"@offset_y"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L7"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/Cisco/DNASpaces/Events","path":"Cisco/DNASpaces/Events.html","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Cisco/DNASpaces/AppActivactionWrapper","kind":"class","full_name":"Cisco::DNASpaces::AppActivactionWrapper","name":"AppActivactionWrapper"},{"html_id":"drivers/Cisco/DNASpaces/BleRssiUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::BleRssiUpdateWrapper","name":"BleRssiUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceCountWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceCountWrapper","name":"DeviceCountWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceEntryWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceEntryWrapper","name":"DeviceEntryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceExitWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceExitWrapper","name":"DeviceExitWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DeviceLocationUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::DeviceLocationUpdateWrapper","name":"DeviceLocationUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/DevicePresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::DevicePresenceWrapper","name":"DevicePresenceWrapper"},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper"},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive"},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper"},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper"},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is used to map the various events into a simpler data structure","summary":"

This is used to map the various events into a simpler data structure

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"event type hint","summary":"

event type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"eventType\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'eventType' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'eventType'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"KEEP_ALIVE\"\n KeepAlive.from_json(json)\nwhen \"DEVICE_ENTRY\"\n DeviceEntryWrapper.from_json(json)\nwhen \"DEVICE_EXIT\"\n DeviceExitWrapper.from_json(json)\nwhen \"PROFILE_UPDATE\"\n ProfileUpdateWrapper.from_json(json)\nwhen \"LOCATION_CHANGE\"\n LocationChangeWrapper.from_json(json)\nwhen \"DEVICE_LOCATION_UPDATE\"\n DeviceLocationUpdateWrapper.from_json(json)\nwhen \"TP_PEOPLE_COUNT_UPDATE\"\n PeopleCountUpdateWrapper.from_json(json)\nwhen \"DEVICE_PRESENCE\"\n DevicePresenceWrapper.from_json(json)\nwhen \"USER_PRESENCE\"\n UserPresenceWrapper.from_json(json)\nwhen \"APP_ACTIVATION\"\n AppActivactionWrapper.from_json(json)\nwhen \"DEVICE_COUNT\"\n DeviceCountWrapper.from_json(json)\nwhen \"BLE_RSSI_UPDATE\"\n BleRssiUpdateWrapper.from_json(json)\nwhen \"IOT_TELEMETRY\"\n IotTelemetryWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'eventType' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"partner_tenant_id:String-instance-method","name":"partner_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L41"},"def":{"name":"partner_tenant_id","return_type":"String","visibility":"Public","body":"@partner_tenant_id"}},{"html_id":"record_timestamp:Int64-instance-method","name":"record_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L32"},"def":{"name":"record_timestamp","return_type":"Int64","visibility":"Public","body":"@record_timestamp"}},{"html_id":"record_uid:String-instance-method","name":"record_uid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L29"},"def":{"name":"record_uid","return_type":"String","visibility":"Public","body":"@record_uid"}},{"html_id":"spaces_tenant_id:String-instance-method","name":"spaces_tenant_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L35"},"def":{"name":"spaces_tenant_id","return_type":"String","visibility":"Public","body":"@spaces_tenant_id"}},{"html_id":"spaces_tenant_name:String-instance-method","name":"spaces_tenant_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L38"},"def":{"name":"spaces_tenant_name","return_type":"String","visibility":"Public","body":"@spaces_tenant_name"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotDeviceInfo","path":"Cisco/DNASpaces/IotDeviceInfo.html","kind":"class","full_name":"Cisco::DNASpaces::IotDeviceInfo","name":"IotDeviceInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_name:String-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name","return_type":"String","visibility":"Public","body":"@device_name"}},{"html_id":"device_name=(device_name:String)-instance-method","name":"device_name=","abstract":false,"args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"args_string":"(device_name : String)","args_html":"(device_name : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L17"},"def":{"name":"device_name=","args":[{"name":"device_name","external_name":"device_name","restriction":"String"}],"visibility":"Public","body":"@device_name = device_name"}},{"html_id":"firmware_version:String-instance-method","name":"firmware_version","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version","return_type":"String","visibility":"Public","body":"@firmware_version"}},{"html_id":"firmware_version=(firmware_version:String)-instance-method","name":"firmware_version=","abstract":false,"args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"args_string":"(firmware_version : String)","args_html":"(firmware_version : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L20"},"def":{"name":"firmware_version=","args":[{"name":"firmware_version","external_name":"firmware_version","restriction":"String"}],"visibility":"Public","body":"@firmware_version = firmware_version"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L11"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L14"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"manufacturer:String-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer","return_type":"String","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"args_string":"(manufacturer : String)","args_html":"(manufacturer : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L24"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L26"},"def":{"name":"os","visibility":"Public","body":"type"}},{"html_id":"raw_id:String-instance-method","name":"raw_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id","return_type":"String","visibility":"Public","body":"@raw_id"}},{"html_id":"raw_id=(raw_id:String)-instance-method","name":"raw_id=","abstract":false,"args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"args_string":"(raw_id : String)","args_html":"(raw_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L23"},"def":{"name":"raw_id=","args":[{"name":"raw_id","external_name":"raw_id","restriction":"String"}],"visibility":"Public","body":"@raw_id = raw_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L8"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotPosition","path":"Cisco/DNASpaces/IotPosition.html","kind":"class","full_name":"Cisco::DNASpaces::IotPosition","name":"IotPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence_factor:Float64-instance-method","name":"confidence_factor","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L44"},"def":{"name":"confidence_factor","return_type":"Float64","visibility":"Public","body":"@confidence_factor"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L45"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L46"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L35"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"time_located:Int64-instance-method","name":"time_located","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located","return_type":"Int64","visibility":"Public","body":"@time_located"}},{"html_id":"time_located=(time_located:Int64)-instance-method","name":"time_located=","abstract":false,"args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"args_string":"(time_located : Int64)","args_html":"(time_located : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L52"},"def":{"name":"time_located=","args":[{"name":"time_located","external_name":"time_located","restriction":"Int64"}],"visibility":"Public","body":"@time_located = time_located"}},{"html_id":"x_pos:Float64-instance-method","name":"x_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L38"},"def":{"name":"x_pos","return_type":"Float64","visibility":"Public","body":"@x_pos"}},{"html_id":"y_pos:Float64-instance-method","name":"y_pos","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L41"},"def":{"name":"y_pos","return_type":"Float64","visibility":"Public","body":"@y_pos"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetry","path":"Cisco/DNASpaces/IotTelemetry.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetry","name":"IotTelemetry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"air_pressure-instance-method","name":"air_pressure","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L165"},"def":{"name":"air_pressure","visibility":"Public","body":"if pressure = @air_pressure_actual\n pressure[:pressure]\nend"}},{"html_id":"air_pressure_actual:NamedTuple(pressure:Float64)|Nil-instance-method","name":"air_pressure_actual","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L127"},"def":{"name":"air_pressure_actual","return_type":"NamedTuple(pressure: Float64) | ::Nil","visibility":"Public","body":"@air_pressure_actual"}},{"html_id":"air_quality-instance-method","name":"air_quality","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L147"},"def":{"name":"air_quality","visibility":"Public","body":"if index = @air_quality_index\n index[:airQualityIndex]\nend"}},{"html_id":"air_quality_index:NamedTuple(airQualityIndex:Float64)|Nil-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L118"},"def":{"name":"air_quality_index","return_type":"NamedTuple(airQualityIndex: Float64) | ::Nil","visibility":"Public","body":"@air_quality_index"}},{"html_id":"ambient_noise-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L143"},"def":{"name":"ambient_noise","visibility":"Public","body":"tele_presence_data.try(&.ambient_noise)"}},{"html_id":"confidence_factor(*args,**options)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.confidence_factor(*args, **options)"}},{"html_id":"confidence_factor(*args,**options,&)-instance-method","name":"confidence_factor","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L202"},"def":{"name":"confidence_factor","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.confidence_factor(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"detected_position:IotPosition|Nil-instance-method","name":"detected_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L98"},"def":{"name":"detected_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@detected_position"}},{"html_id":"device:IotDeviceInfo-instance-method","name":"device","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L95"},"def":{"name":"device","return_type":"IotDeviceInfo","visibility":"Public","body":"@device"}},{"html_id":"device_rtc:Int64-instance-method","name":"device_rtc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L106"},"def":{"name":"device_rtc","return_type":"Int64","visibility":"Public","body":"@device_rtc"}},{"html_id":"has_position?-instance-method","name":"has_position?","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L191"},"def":{"name":"has_position?","visibility":"Public","body":"!(!(@detected_position || @placed_position))"}},{"html_id":"humidity-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L159"},"def":{"name":"humidity","visibility":"Public","body":"if humidity = @humidity_percent\n humidity[:humidityInPercentage]\nend"}},{"html_id":"humidity_percent:NamedTuple(humidityInPercentage:Float64)|Nil-instance-method","name":"humidity_percent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L124"},"def":{"name":"humidity_percent","return_type":"NamedTuple(humidityInPercentage: Float64) | ::Nil","visibility":"Public","body":"@humidity_percent"}},{"html_id":"last_seen-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L215"},"def":{"name":"last_seen","visibility":"Public","body":"tele_presence_data.try(&.time_stamp) || position.time_located"}},{"html_id":"last_seen=(time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":""}],"args_string":"(time)","args_html":"(time)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L219"},"def":{"name":"last_seen=","args":[{"name":"time","external_name":"time","restriction":""}],"visibility":"Public","body":"if tele_data = tele_presence_data\n tele_data.time_stamp = time\nelse\n position.time_located = time\nend"}},{"html_id":"latitude(*args,**options)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.latitude(*args, **options)"}},{"html_id":"latitude(*args,**options,&)-instance-method","name":"latitude","doc":"make this class quack like a wifi DeviceLocationUpdate","summary":"

make this class quack like a wifi DeviceLocationUpdate

","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L200"},"def":{"name":"latitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.latitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L103"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location_mappings:Hash(String,String)-instance-method","name":"location_mappings","doc":"Ensure we only process these once","summary":"

Ensure we only process these once

","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L181"},"def":{"name":"location_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"if mappings = @location_mappings\n mappings\nelse\n mappings = location.details\n @location_mappings = mappings\n mappings\nend"}},{"html_id":"longitude(*args,**options)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.longitude(*args, **options)"}},{"html_id":"longitude(*args,**options,&)-instance-method","name":"longitude","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L201"},"def":{"name":"longitude","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.longitude(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id(*args,**options)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.map_id(*args, **options)"}},{"html_id":"map_id(*args,**options,&)-instance-method","name":"map_id","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L205"},"def":{"name":"map_id","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.map_id(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"map_id=(id)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L207"},"def":{"name":"map_id=","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"position.map_id = id"}},{"html_id":"people_count-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L135"},"def":{"name":"people_count","visibility":"Public","body":"tele_presence_data.try(&.people_count)"}},{"html_id":"pir_trigger:NamedTuple(timestamp:Int64)|Nil-instance-method","name":"pir_trigger","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L130"},"def":{"name":"pir_trigger","return_type":"NamedTuple(timestamp: Int64) | ::Nil","visibility":"Public","body":"@pir_trigger"}},{"html_id":"pir_triggered-instance-method","name":"pir_triggered","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L171"},"def":{"name":"pir_triggered","visibility":"Public","body":"if pir_trigger = @pir_trigger\n pir_trigger[:timestamp]\nend"}},{"html_id":"placed_position:IotPosition|Nil-instance-method","name":"placed_position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L101"},"def":{"name":"placed_position","return_type":"IotPosition | ::Nil","visibility":"Public","body":"@placed_position"}},{"html_id":"position:IotPosition-instance-method","name":"position","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L195"},"def":{"name":"position","return_type":"IotPosition","visibility":"Public","body":"(@detected_position || @placed_position).not_nil!"}},{"html_id":"presence-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L139"},"def":{"name":"presence","visibility":"Public","body":"tele_presence_data.try(&.presence)"}},{"html_id":"raw_header:Int64-instance-method","name":"raw_header","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L109"},"def":{"name":"raw_header","return_type":"Int64","visibility":"Public","body":"@raw_header"}},{"html_id":"raw_payload:String-instance-method","name":"raw_payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L112"},"def":{"name":"raw_payload","return_type":"String","visibility":"Public","body":"@raw_payload"}},{"html_id":"raw_user_id-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L227"},"def":{"name":"raw_user_id","visibility":"Public","body":"\"\""}},{"html_id":"sequence_num:Int64-instance-method","name":"sequence_num","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L115"},"def":{"name":"sequence_num","return_type":"Int64","visibility":"Public","body":"@sequence_num"}},{"html_id":"ssid-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L235"},"def":{"name":"ssid","visibility":"Public","body":"\"IoT\""}},{"html_id":"tele_presence_data:TpData|Nil-instance-method","name":"tele_presence_data","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L133"},"def":{"name":"tele_presence_data","return_type":"TpData | ::Nil","visibility":"Public","body":"@tele_presence_data"}},{"html_id":"temperature-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L153"},"def":{"name":"temperature","visibility":"Public","body":"if temp = @temperature_celsius\n temp[:temperatureInCelsius]\nend"}},{"html_id":"temperature_celsius:NamedTuple(temperatureInCelsius:Float64)|Nil-instance-method","name":"temperature_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L121"},"def":{"name":"temperature_celsius","return_type":"NamedTuple(temperatureInCelsius: Float64) | ::Nil","visibility":"Public","body":"@temperature_celsius"}},{"html_id":"unc:Float64-instance-method","name":"unc","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L231"},"def":{"name":"unc","return_type":"Float64","visibility":"Public","body":"3.0"}},{"html_id":"visit_id-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L211"},"def":{"name":"visit_id","visibility":"Public","body":"\"unknown for IoT\""}},{"html_id":"x_pos(*args,**options)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.x_pos(*args, **options)"}},{"html_id":"x_pos(*args,**options,&)-instance-method","name":"x_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L203"},"def":{"name":"x_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.x_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"y_pos(*args,**options)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"position.y_pos(*args, **options)"}},{"html_id":"y_pos(*args,**options,&)-instance-method","name":"y_pos","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L204"},"def":{"name":"y_pos","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"position.y_pos(*args, **options) do |*yield_args|\n yield *yield_args\nend"}}]},{"html_id":"drivers/Cisco/DNASpaces/IotTelemetryWrapper","path":"Cisco/DNASpaces/IotTelemetryWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::IotTelemetryWrapper","name":"IotTelemetryWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L129"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L130"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:IotTelemetry-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L133"},"def":{"name":"payload","return_type":"IotTelemetry","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/KeepAlive","path":"Cisco/DNASpaces/KeepAlive.html","kind":"class","full_name":"Cisco::DNASpaces::KeepAlive","name":"KeepAlive","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L45"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L47"},"def":{"name":"payload","visibility":"Public","body":"nil"}}]},{"html_id":"drivers/Cisco/DNASpaces/Location","path":"Cisco/DNASpaces/Location.html","kind":"class","full_name":"Cisco::DNASpaces::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"descriptions(mappings={}ofString=>String)-instance-method","name":"descriptions","doc":"Maps location_ids to location names","summary":"

Maps location_ids to location names

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L25"},"def":{"name":"descriptions","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.descriptions(mappings))\nmappings[location_id] = name\nmappings\n"}},{"html_id":"details(mappings={}ofString=>String)-instance-method","name":"details","doc":"Maps tag names to location_ids","summary":"

Maps tag names to location_ids

","abstract":false,"args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"args_string":"(mappings = {} of String => String)","args_html":"(mappings = {} of String => String)","location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L18"},"def":{"name":"details","args":[{"name":"mappings","default_value":"{} of String => String","external_name":"mappings","restriction":""}],"visibility":"Public","body":"parent.try(&.details(mappings))\ntags.each do |tag|\n mappings[tag] = location_id\nend\nmappings\n"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L7"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"parent:Location|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L15"},"def":{"name":"parent","return_type":"Location | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location.cr#L13"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange","path":"Cisco/DNASpaces/LocationChange.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_type:String-instance-method","name":"change_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L7"},"def":{"name":"change_type","return_type":"String","visibility":"Public","body":"@change_type"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L8"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/LocationChange/LocationDetails","path":"Cisco/DNASpaces/LocationChange/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L25"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L22"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L24"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L27"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L28"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"metadata:Array(Metadata)-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L30"},"def":{"name":"metadata","return_type":"Array(Metadata)","visibility":"Public","body":"@metadata"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L23"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L21"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChange/Metadata","path":"Cisco/DNASpaces/LocationChange/Metadata.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChange::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/LocationChange","kind":"class","full_name":"Cisco::DNASpaces::LocationChange","name":"LocationChange"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L13"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"values:Array(String)-instance-method","name":"values","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_change.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_change.cr#L14"},"def":{"name":"values","return_type":"Array(String)","visibility":"Public","body":"@values"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/LocationChangeWrapper","path":"Cisco/DNASpaces/LocationChangeWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::LocationChangeWrapper","name":"LocationChangeWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L74"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:LocationChange-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L77"},"def":{"name":"payload","return_type":"LocationChange","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationDetails","path":"Cisco/DNASpaces/LocationDetails.html","kind":"class","full_name":"Cisco::DNASpaces::LocationDetails","name":"LocationDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L12"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L9"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L11"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L14"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L15"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L10"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/location_details.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/location_details.cr#L7"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Cisco/DNASpaces/LocationInfo","path":"Cisco/DNASpaces/LocationInfo.html","kind":"class","full_name":"Cisco::DNASpaces::LocationInfo","name":"LocationInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"details:LocationDetails-instance-method","name":"details","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L165"},"def":{"name":"details","return_type":"LocationDetails","visibility":"Public","body":"@details"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces.cr#L162"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}}]},{"html_id":"drivers/Cisco/DNASpaces/MapInfo","path":"Cisco/DNASpaces/MapInfo.html","kind":"class","full_name":"Cisco::DNASpaces::MapInfo","name":"MapInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dimension:Cisco::DNASpaces::Dimension-instance-method","name":"dimension","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L29"},"def":{"name":"dimension","return_type":"Cisco::DNASpaces::Dimension","visibility":"Public","body":"@dimension"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L21"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_height:Float64-instance-method","name":"image_height","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L27"},"def":{"name":"image_height","return_type":"Float64","visibility":"Public","body":"@image_height"}},{"html_id":"image_width:Float64-instance-method","name":"image_width","abstract":false,"location":{"filename":"src/cisco/dna_spaces/map_info.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/map_info.cr#L24"},"def":{"name":"image_width","return_type":"Float64","visibility":"Public","body":"@image_width"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdate","path":"Cisco/DNASpaces/PeopleCountUpdate.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdate","name":"PeopleCountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"doc":"This is triggered from telepresence devices","summary":"

This is triggered from telepresence devices

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L25"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L19"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L22"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L9"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L13"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L10"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L28"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L16"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L31"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"tp_device_id:String-instance-method","name":"tp_device_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/people_count_update.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/people_count_update.cr#L8"},"def":{"name":"tp_device_id","return_type":"String","visibility":"Public","body":"@tp_device_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/PeopleCountUpdateWrapper","path":"Cisco/DNASpaces/PeopleCountUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::PeopleCountUpdateWrapper","name":"PeopleCountUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L88"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:PeopleCountUpdate-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L91"},"def":{"name":"payload","return_type":"PeopleCountUpdate","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/ProfileUpdateWrapper","path":"Cisco/DNASpaces/ProfileUpdateWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::ProfileUpdateWrapper","name":"ProfileUpdateWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L67"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:Device-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L70"},"def":{"name":"payload","return_type":"Device","visibility":"Public","body":"@payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiMeasurement","path":"Cisco/DNASpaces/RssiMeasurement.html","kind":"class","full_name":"Cisco::DNASpaces::RssiMeasurement","name":"RssiMeasurement","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L15"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"antenna_id:Int32-instance-method","name":"antenna_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id","return_type":"Int32","visibility":"Public","body":"@antenna_id"}},{"html_id":"antenna_id=(antenna_id:Int32)-instance-method","name":"antenna_id=","abstract":false,"args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"args_string":"(antenna_id : Int32)","args_html":"(antenna_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L24"},"def":{"name":"antenna_id=","args":[{"name":"antenna_id","external_name":"antenna_id","restriction":"Int32"}],"visibility":"Public","body":"@antenna_id = antenna_id"}},{"html_id":"band_id:Int32-instance-method","name":"band_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id","return_type":"Int32","visibility":"Public","body":"@band_id"}},{"html_id":"band_id=(band_id:Int32)-instance-method","name":"band_id=","abstract":false,"args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"args_string":"(band_id : Int32)","args_html":"(band_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L21"},"def":{"name":"band_id=","args":[{"name":"band_id","external_name":"band_id","restriction":"Int32"}],"visibility":"Public","body":"@band_id = band_id"}},{"html_id":"if_slot_id:Int32-instance-method","name":"if_slot_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id","return_type":"Int32","visibility":"Public","body":"@if_slot_id"}},{"html_id":"if_slot_id=(if_slot_id:Int32)-instance-method","name":"if_slot_id=","abstract":false,"args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"args_string":"(if_slot_id : Int32)","args_html":"(if_slot_id : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L18"},"def":{"name":"if_slot_id=","args":[{"name":"if_slot_id","external_name":"if_slot_id","restriction":"Int32"}],"visibility":"Public","body":"@if_slot_id = if_slot_id"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L26"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L27"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/RssiNotification","path":"Cisco/DNASpaces/RssiNotification.html","kind":"class","full_name":"Cisco::DNASpaces::RssiNotification","name":"RssiNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"mac_address=(mac_address:String)-instance-method","name":"mac_address=","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L34"},"def":{"name":"mac_address=","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"@mac_address = mac_address"}},{"html_id":"measurements:Array(RssiMeasurement)-instance-method","name":"measurements","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements","return_type":"Array(RssiMeasurement)","visibility":"Public","body":"@measurements"}},{"html_id":"measurements=(measurements:Array(RssiMeasurement))-instance-method","name":"measurements=","abstract":false,"args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"args_string":"(measurements : Array(RssiMeasurement))","args_html":"(measurements : Array(RssiMeasurement))","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L37"},"def":{"name":"measurements=","args":[{"name":"measurements","external_name":"measurements","restriction":"Array(RssiMeasurement)"}],"visibility":"Public","body":"@measurements = measurements"}},{"html_id":"payload:BlePayload-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload","return_type":"BlePayload","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:BlePayload)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"args_string":"(payload : BlePayload)","args_html":"(payload : BlePayload)","location":{"filename":"src/cisco/dna_spaces/ble_rssi_update.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/ble_rssi_update.cr#L40"},"def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"BlePayload"}],"visibility":"Public","body":"@payload = payload"}}]},{"html_id":"drivers/Cisco/DNASpaces/TpData","path":"Cisco/DNASpaces/TpData.html","kind":"class","full_name":"Cisco::DNASpaces::TpData","name":"TpData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_calls:Int32-instance-method","name":"active_calls","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls","return_type":"Int32","visibility":"Public","body":"@active_calls"}},{"html_id":"active_calls=(active_calls:Int32)-instance-method","name":"active_calls=","abstract":false,"args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"args_string":"(active_calls : Int32)","args_html":"(active_calls : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L71"},"def":{"name":"active_calls=","args":[{"name":"active_calls","external_name":"active_calls","restriction":"Int32"}],"visibility":"Public","body":"@active_calls = active_calls"}},{"html_id":"air_quality_index:Float64-instance-method","name":"air_quality_index","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index","return_type":"Float64","visibility":"Public","body":"@air_quality_index"}},{"html_id":"air_quality_index=(air_quality_index:Float64)-instance-method","name":"air_quality_index=","abstract":false,"args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"args_string":"(air_quality_index : Float64)","args_html":"(air_quality_index : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L80"},"def":{"name":"air_quality_index=","args":[{"name":"air_quality_index","external_name":"air_quality_index","restriction":"Float64"}],"visibility":"Public","body":"@air_quality_index = air_quality_index"}},{"html_id":"ambient_noise:Int32-instance-method","name":"ambient_noise","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise","return_type":"Int32","visibility":"Public","body":"@ambient_noise"}},{"html_id":"ambient_noise=(ambient_noise:Int32)-instance-method","name":"ambient_noise=","abstract":false,"args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"args_string":"(ambient_noise : Int32)","args_html":"(ambient_noise : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L65"},"def":{"name":"ambient_noise=","args":[{"name":"ambient_noise","external_name":"ambient_noise","restriction":"Int32"}],"visibility":"Public","body":"@ambient_noise = ambient_noise"}},{"html_id":"dryness_score:Int32-instance-method","name":"dryness_score","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score","return_type":"Int32","visibility":"Public","body":"@dryness_score"}},{"html_id":"dryness_score=(dryness_score:Int32)-instance-method","name":"dryness_score=","abstract":false,"args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"args_string":"(dryness_score : Int32)","args_html":"(dryness_score : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L68"},"def":{"name":"dryness_score=","args":[{"name":"dryness_score","external_name":"dryness_score","restriction":"Int32"}],"visibility":"Public","body":"@dryness_score = dryness_score"}},{"html_id":"humidity_in_percentage:Float64-instance-method","name":"humidity_in_percentage","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage","return_type":"Float64","visibility":"Public","body":"@humidity_in_percentage"}},{"html_id":"humidity_in_percentage=(humidity_in_percentage:Float64)-instance-method","name":"humidity_in_percentage=","abstract":false,"args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"args_string":"(humidity_in_percentage : Float64)","args_html":"(humidity_in_percentage : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L86"},"def":{"name":"humidity_in_percentage=","args":[{"name":"humidity_in_percentage","external_name":"humidity_in_percentage","restriction":"Float64"}],"visibility":"Public","body":"@humidity_in_percentage = humidity_in_percentage"}},{"html_id":"people_count:Int32-instance-method","name":"people_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count","return_type":"Int32","visibility":"Public","body":"@people_count"}},{"html_id":"people_count=(people_count:Int32)-instance-method","name":"people_count=","abstract":false,"args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"args_string":"(people_count : Int32)","args_html":"(people_count : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L59"},"def":{"name":"people_count=","args":[{"name":"people_count","external_name":"people_count","restriction":"Int32"}],"visibility":"Public","body":"@people_count = people_count"}},{"html_id":"presence:Bool-instance-method","name":"presence","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L88"},"def":{"name":"presence","return_type":"Bool","visibility":"Public","body":"@presence"}},{"html_id":"presentation_state:Int32-instance-method","name":"presentation_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state","return_type":"Int32","visibility":"Public","body":"@presentation_state"}},{"html_id":"presentation_state=(presentation_state:Int32)-instance-method","name":"presentation_state=","abstract":false,"args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"args_string":"(presentation_state : Int32)","args_html":"(presentation_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L74"},"def":{"name":"presentation_state=","args":[{"name":"presentation_state","external_name":"presentation_state","restriction":"Int32"}],"visibility":"Public","body":"@presentation_state = presentation_state"}},{"html_id":"standby_state:Int32-instance-method","name":"standby_state","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state","return_type":"Int32","visibility":"Public","body":"@standby_state"}},{"html_id":"standby_state=(standby_state:Int32)-instance-method","name":"standby_state=","abstract":false,"args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"args_string":"(standby_state : Int32)","args_html":"(standby_state : Int32)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L62"},"def":{"name":"standby_state=","args":[{"name":"standby_state","external_name":"standby_state","restriction":"Int32"}],"visibility":"Public","body":"@standby_state = standby_state"}},{"html_id":"temperature_in_celsius:Float64-instance-method","name":"temperature_in_celsius","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius","return_type":"Float64","visibility":"Public","body":"@temperature_in_celsius"}},{"html_id":"temperature_in_celsius=(temperature_in_celsius:Float64)-instance-method","name":"temperature_in_celsius=","abstract":false,"args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"args_string":"(temperature_in_celsius : Float64)","args_html":"(temperature_in_celsius : Float64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L83"},"def":{"name":"temperature_in_celsius=","args":[{"name":"temperature_in_celsius","external_name":"temperature_in_celsius","restriction":"Float64"}],"visibility":"Public","body":"@temperature_in_celsius = temperature_in_celsius"}},{"html_id":"time_stamp:Int64-instance-method","name":"time_stamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp","return_type":"Int64","visibility":"Public","body":"@time_stamp"}},{"html_id":"time_stamp=(time_stamp:Int64)-instance-method","name":"time_stamp=","abstract":false,"args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"args_string":"(time_stamp : Int64)","args_html":"(time_stamp : Int64)","location":{"filename":"src/cisco/dna_spaces/iot_telemetry.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/iot_telemetry.cr#L77"},"def":{"name":"time_stamp=","args":[{"name":"time_stamp","external_name":"time_stamp","restriction":"Int64"}],"visibility":"Public","body":"@time_stamp = time_stamp"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence","path":"Cisco/DNASpaces/UserPresence.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active_users_count:UserCount-instance-method","name":"active_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L79"},"def":{"name":"active_users_count","return_type":"UserCount","visibility":"Public","body":"@active_users_count"}},{"html_id":"entry_datetime:String-instance-method","name":"entry_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L64"},"def":{"name":"entry_datetime","return_type":"String","visibility":"Public","body":"@entry_datetime"}},{"html_id":"entry_timestamp:Int64-instance-method","name":"entry_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L61"},"def":{"name":"entry_timestamp","return_type":"Int64","visibility":"Public","body":"@entry_timestamp"}},{"html_id":"exit_datetime:String-instance-method","name":"exit_datetime","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L70"},"def":{"name":"exit_datetime","return_type":"String","visibility":"Public","body":"@exit_datetime"}},{"html_id":"exit_timestamp:Int64-instance-method","name":"exit_timestamp","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L67"},"def":{"name":"exit_timestamp","return_type":"Int64","visibility":"Public","body":"@exit_timestamp"}},{"html_id":"inactive_users_count:UserCount-instance-method","name":"inactive_users_count","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L82"},"def":{"name":"inactive_users_count","return_type":"UserCount","visibility":"Public","body":"@inactive_users_count"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L52"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"presence_event_type:String-instance-method","name":"presence_event_type","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L46"},"def":{"name":"presence_event_type","return_type":"String","visibility":"Public","body":"@presence_event_type"}},{"html_id":"raw_user_id:String-instance-method","name":"raw_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L55"},"def":{"name":"raw_user_id","return_type":"String","visibility":"Public","body":"@raw_user_id"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L76"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"user:User-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L51"},"def":{"name":"user","return_type":"User","visibility":"Public","body":"@user"}},{"html_id":"visit_duration_minutes:Int32-instance-method","name":"visit_duration_minutes","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L73"},"def":{"name":"visit_duration_minutes","return_type":"Int32","visibility":"Public","body":"@visit_duration_minutes"}},{"html_id":"visit_id:String-instance-method","name":"visit_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L58"},"def":{"name":"visit_id","return_type":"String","visibility":"Public","body":"@visit_id"}},{"html_id":"was_in_active:Bool-instance-method","name":"was_in_active","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L49"},"def":{"name":"was_in_active","return_type":"Bool","visibility":"Public","body":"@was_in_active"}}],"types":[{"html_id":"drivers/Cisco/DNASpaces/UserPresence/User","path":"Cisco/DNASpaces/UserPresence/User.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L13"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L16"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L20"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"gender:String|Nil-instance-method","name":"gender","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L17"},"def":{"name":"gender","return_type":"String | ::Nil","visibility":"Public","body":"@gender"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L23"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L15"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"postal_code:String|Nil-instance-method","name":"postal_code","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L26"},"def":{"name":"postal_code","return_type":"String | ::Nil","visibility":"Public","body":"@postal_code"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L14"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L10"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresence/UserCount","path":"Cisco/DNASpaces/UserPresence/UserCount.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresence::UserCount","name":"UserCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/DNASpaces/UserPresence","kind":"class","full_name":"Cisco::DNASpaces::UserPresence","name":"UserPresence"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"total_users:Int64-instance-method","name":"total_users","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L42"},"def":{"name":"total_users","return_type":"Int64","visibility":"Public","body":"@total_users"}},{"html_id":"users_with_user_id:Int64-instance-method","name":"users_with_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L36"},"def":{"name":"users_with_user_id","return_type":"Int64","visibility":"Public","body":"@users_with_user_id"}},{"html_id":"users_without_user_id:Int64-instance-method","name":"users_without_user_id","abstract":false,"location":{"filename":"src/cisco/dna_spaces/user_presence.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/user_presence.cr#L39"},"def":{"name":"users_without_user_id","return_type":"Int64","visibility":"Public","body":"@users_without_user_id"}}]}]},{"html_id":"drivers/Cisco/DNASpaces/UserPresenceWrapper","path":"Cisco/DNASpaces/UserPresenceWrapper.html","kind":"class","full_name":"Cisco::DNASpaces::UserPresenceWrapper","name":"UserPresenceWrapper","abstract":false,"superclass":{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},"ancestors":[{"html_id":"drivers/Cisco/DNASpaces/Events","kind":"class","full_name":"Cisco::DNASpaces::Events","name":"Events"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/DNASpaces","kind":"class","full_name":"Cisco::DNASpaces","name":"DNASpaces"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"eventType:String-instance-method","name":"eventType","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L102"},"def":{"name":"eventType","return_type":"String","visibility":"Public","body":"@eventType"}},{"html_id":"payload:UserPresence-instance-method","name":"payload","abstract":false,"location":{"filename":"src/cisco/dna_spaces/events.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/dna_spaces/events.cr#L105"},"def":{"name":"payload","return_type":"UserPresence","visibility":"Public","body":"@payload"}}]}]},{"html_id":"drivers/Cisco/Ise","path":"Cisco/Ise.html","kind":"module","full_name":"Cisco::Ise","name":"Ise","abstract":false,"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Ise/Guests","path":"Cisco/Ise/Guests.html","kind":"class","full_name":"Cisco::Ise::Guests","name":"Guests","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/guest_users.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/vnd.com.cisco.ise.identity.guestuser.2.0+xml\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_guest(event_start:Int64,attendee_email:String,attendee_name:String,company_name:String|Nil=nil,phone_number:String=\"0123456789\",sms_service_provider:String|Nil=nil,guest_type:String|Nil=nil,portal_id:String|Nil=nil)-instance-method","name":"create_guest","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"args_string":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = \"0123456789\", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","args_html":"(event_start : Int64, attendee_email : String, attendee_name : String, company_name : String | Nil = nil, phone_number : String = "0123456789", sms_service_provider : String | Nil = nil, guest_type : String | Nil = nil, portal_id : String | Nil = nil)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L53"},"def":{"name":"create_guest","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"attendee_email","external_name":"attendee_email","restriction":"String"},{"name":"attendee_name","external_name":"attendee_name","restriction":"String"},{"name":"company_name","default_value":"nil","external_name":"company_name","restriction":"String | ::Nil"},{"name":"phone_number","default_value":"\"0123456789\"","external_name":"phone_number","restriction":"String"},{"name":"sms_service_provider","default_value":"nil","external_name":"sms_service_provider","restriction":"String | ::Nil"},{"name":"guest_type","default_value":"nil","external_name":"guest_type","restriction":"String | ::Nil"},{"name":"portal_id","default_value":"nil","external_name":"portal_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"guest_names = attendee_name.split\nfirst_name_index_end = guest_names.size > 1 ? -2 : -1\nfirst_name = guest_names[0..first_name_index_end].join(' ')\nlast_name = guest_names[-1]\nusername = genererate_username(first_name, last_name)\nif setting?(Bool, :test)\n return {\"username\" => username, \"password\" => UUID.random.to_s[0..3]}.merge(@custom_data)\nend\nsms_service_provider || (sms_service_provider = @sms_service_provider)\nguest_type || (guest_type = @guest_type)\nportal_id || (portal_id = @portal_id)\ntime_object = (Time.unix(event_start)).in(@timezone)\nfrom_date = time_object.at_beginning_of_day.to_s(TIME_FORMAT)\nto_date = time_object.at_end_of_day.to_s(TIME_FORMAT)\ncompany_name || (company_name = ((attendee_email.split('@'))[1].split('.'))[0].capitalize)\nxml_string = \"\\n \"\nif @location\n xml_string = xml_string + \"\\n \"\nend\nxml_string = xml_string + \"\\n \\n #{from_date}\"\nif @location\n xml_string = xml_string + \"\\n #{@location}\"\nend\nxml_string = xml_string + \"\\n #{to_date}\\n 1\\n \\n \\n #{company_name}\\n #{attendee_email}\\n #{first_name}\\n #{last_name}\\n English\\n #{phone_number}\"\nif sms_service_provider\n xml_string = xml_string + \"\\n #{sms_service_provider}\"\nend\nxml_string = xml_string + \"\\n #{username}\\n \\n #{guest_type}\\n #{portal_id}\\n \"\nresponse = post(\"/guestuser/\", body: xml_string, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\nguest_id = (response.headers[\"Location\"].split('/')).last\n(guest_crendentials(guest_id)).merge(@custom_data)\n"}},{"html_id":"guest_crendentials(id:String)-instance-method","name":"guest_crendentials","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L140"},"def":{"name":"guest_crendentials","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/guestuser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nparsed_body = XML.parse(response.body)\nguest_user = parsed_body.first_element_child.not_nil!\nguest_info = guest_user.children.find do |c|\n c.name == \"guestInfo\"\nend.not_nil!\n{\"username\" => guest_info.children.find do |c|\n c.name == \"userName\"\nend.not_nil!.content, \"password\" => guest_info.children.find do |c|\n c.name == \"password\"\nend.not_nil!.content}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@basic_auth = \"Basic #{Base64.strict_encode(\"#{setting?(String, :username)}:#{setting?(String, :password)}\")}\"\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@location = setting?(String, :location)\n@sms_service_provider = setting?(String, :sms_service_provider)\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, JSON::Any::Type), :custom_data)) || ({} of String => JSON::Any::Type)\n"}},{"html_id":"test2-instance-method","name":"test2","abstract":false,"location":{"filename":"src/cisco/ise/guest_users.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L164"},"def":{"name":"test2","visibility":"Public","body":"xml_string = \"\\n\\n\\n08/06/2014 23:22\\n08/07/2014 23:22\\n1\\n\\n\\nNew Company\\njohn@example.com\\nJohn\\nDoe\\nEnglish\\n9999998877\\nGlobal Default\\nautoguestuser1\\n\\nDaily\\nsponsor\\nportal101\\ninterview\\n\"\ntest_xml(xml_string)\n"}},{"html_id":"test_json(json:String)-instance-method","name":"test_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L190"},"def":{"name":"test_json","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: json, headers: {\"Accept\" => \"application/json\", \"Content-Type\" => \"application/json\", \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"test_xml(xml_string:String)-instance-method","name":"test_xml","abstract":false,"args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"args_string":"(xml_string : String)","args_html":"(xml_string : String)","location":{"filename":"src/cisco/ise/guest_users.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/guest_users.cr#L155"},"def":{"name":"test_xml","args":[{"name":"xml_string","external_name":"xml_string","restriction":"String"}],"visibility":"Public","body":"response = post(\"/guestuser/\", body: (XML.parse(xml_string)).to_s, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to create guest, code #{response.status_code}\\n#{response.body}\")\nend\n"}}]},{"html_id":"drivers/Cisco/Ise/Models","path":"Cisco/Ise/Models.html","kind":"module","full_name":"Cisco::Ise::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"types":[{"html_id":"drivers/Cisco/Ise/Models/InternalUser","path":"Cisco/Ise/Models/InternalUser.html","kind":"class","full_name":"Cisco::Ise::Models::InternalUser","name":"InternalUser","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/models/internal_user.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Ise/Models","kind":"module","full_name":"Cisco::Ise::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_password:Bool-instance-method","name":"change_password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password","return_type":"Bool","visibility":"Public","body":"@change_password"}},{"html_id":"change_password=(change_password:Bool)-instance-method","name":"change_password=","abstract":false,"args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"args_string":"(change_password : Bool)","args_html":"(change_password : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L19"},"def":{"name":"change_password=","args":[{"name":"change_password","external_name":"change_password","restriction":"Bool"}],"visibility":"Public","body":"@change_password = change_password"}},{"html_id":"custom_attributes:Hash(String,String)-instance-method","name":"custom_attributes","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes","return_type":"Hash(String, String)","visibility":"Public","body":"@custom_attributes"}},{"html_id":"custom_attributes=(custom_attributes:Hash(String,String))-instance-method","name":"custom_attributes=","abstract":false,"args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"args_string":"(custom_attributes : Hash(String, String))","args_html":"(custom_attributes : Hash(String, String))","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L28"},"def":{"name":"custom_attributes=","args":[{"name":"custom_attributes","external_name":"custom_attributes","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@custom_attributes = custom_attributes"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L16"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L22"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"enabled=(enabled:Bool)-instance-method","name":"enabled=","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"args_string":"(enabled : Bool)","args_html":"(enabled : Bool)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L25"},"def":{"name":"enabled=","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"}],"visibility":"Public","body":"@enabled = enabled"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L31"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"identity_groups:String|Nil-instance-method","name":"identity_groups","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups","return_type":"String | ::Nil","visibility":"Public","body":"@identity_groups"}},{"html_id":"identity_groups=(identity_groups:String|Nil)-instance-method","name":"identity_groups=","abstract":false,"args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"args_string":"(identity_groups : String | Nil)","args_html":"(identity_groups : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L13"},"def":{"name":"identity_groups=","args":[{"name":"identity_groups","external_name":"identity_groups","restriction":"String | ::Nil"}],"visibility":"Public","body":"@identity_groups = identity_groups"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L34"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L7"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"password:String|Nil-instance-method","name":"password","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password","return_type":"String | ::Nil","visibility":"Public","body":"@password"}},{"html_id":"password=(password:String|Nil)-instance-method","name":"password=","abstract":false,"args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(password : String | Nil)","args_html":"(password : String | Nil)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L37"},"def":{"name":"password=","args":[{"name":"password","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"@password = password"}},{"html_id":"password_store:String-instance-method","name":"password_store","abstract":false,"location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store","return_type":"String","visibility":"Public","body":"@password_store"}},{"html_id":"password_store=(password_store:String)-instance-method","name":"password_store=","abstract":false,"args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"args_string":"(password_store : String)","args_html":"(password_store : String)","location":{"filename":"src/cisco/ise/models/internal_user.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/models/internal_user.cr#L40"},"def":{"name":"password_store=","args":[{"name":"password_store","external_name":"password_store","restriction":"String"}],"visibility":"Public","body":"@password_store = password_store"}}]}]},{"html_id":"drivers/Cisco/Ise/NetworkAccess","path":"Cisco/Ise/NetworkAccess.html","kind":"class","full_name":"Cisco::Ise::NetworkAccess","name":"NetworkAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ise/network_access.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TIME_FORMAT","name":"TIME_FORMAT","value":"\"%m/%d/%Y %H:%M\""},{"id":"TYPE_HEADER","name":"TYPE_HEADER","value":"\"application/json\""}],"namespace":{"html_id":"drivers/Cisco/Ise","kind":"module","full_name":"Cisco::Ise","name":"Ise"},"instance_methods":[{"html_id":"create_internal_user(email:String,name:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,password:String|Nil=nil,identity_groups:Array(String)=[]ofString)-instance-method","name":"create_internal_user","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","args_html":"(email : String, name : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, password : String | Nil = nil, identity_groups : Array(String) = [] of String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L79"},"def":{"name":"create_internal_user","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"},{"name":"identity_groups","default_value":"[] of String","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"name || (name = email)\npassword || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = Models::InternalUser.from_json({name: name, email: email, password: password, firstName: first_name, lastName: last_name, description: description, identityGroups: identity_groups.join(\",\")}.to_json)\nif @debug\n logger.debug do\n \"Creating Internal User: #{internal_user.to_json}\"\n end\nend\nresponse = post(\"/internaluser/\", body: {\"InternalUser\" => internal_user}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"Failed to create internal user, code #{response.status_code}\\n#{response.body}\")\nend\nuser = get_internal_user_by_name(name)\nuser.password = password\nuser\n"}},{"html_id":"get_internal_user_by_email(email:String)-instance-method","name":"get_internal_user_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L160"},"def":{"name":"get_internal_user_by_email","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/?filter=email.CONTAINS.#{email}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\nresources = parsed_body[\"SearchResult\"].as_h[\"resources\"].as_a\nif resources.empty?\n raise(\"returned body has no resources\")\nend\nget_internal_user_by_id(resources.first.as_h[\"id\"].to_s)\n"}},{"html_id":"get_internal_user_by_id(id:String)-instance-method","name":"get_internal_user_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L126"},"def":{"name":"get_internal_user_by_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/#{id}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by id, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"get_internal_user_by_name(name:String)-instance-method","name":"get_internal_user_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L143"},"def":{"name":"get_internal_user_by_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"response = get(\"/internaluser/name/#{name}\", headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif @debug\n logger.debug do\n \"Response: #{response.status_code}, #{response.body}\"\n end\nend\nif response.success?\nelse\n raise(\"failed to get internal user by name, code #{response.status_code}\\n#{response.body}\")\nend\nparsed_body = JSON.parse(response.body)\ninternal_user = Models::InternalUser.from_json(parsed_body[\"InternalUser\"].to_json)\ninternal_user\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L49"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/ise/network_access.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L53"},"def":{"name":"on_update","visibility":"Public","body":"username = setting?(String, :username)\npassword = setting?(String, :password)\n@basic_auth = [\"Basic\", Base64.strict_encode([username, password].join(\":\"))].join(\" \")\n@debug = (setting?(Bool, :debug)) || false\n@test_mode = (setting?(Bool, :test)) || false\n@portal_id = (setting?(String, :portal_id)) || \"portal101\"\n@guest_type = (setting?(String, :guest_type)) || \"default_guest_type\"\n@sms_service_provider = setting?(String, :sms_service_provider)\n@password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\ntime_zone = (setting?(String, :timezone)).presence\nif time_zone\n @timezone = Time::Location.load(time_zone)\nend\n@custom_data = (setting?(Hash(String, String), :custom_data)) || ({} of String => String)\nif @debug\n logger.debug do\n \"Basic auth details: #{@basic_auth}\"\n end\nend\n"}},{"html_id":"update_internal_user_identity_groups_by_email(email:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(email : String, identity_groups : Array(String))","args_html":"(email : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L262"},"def":{"name":"update_internal_user_identity_groups_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_email(email)\nupdate_internal_user_identity_groups_by_id(internal_user.id.to_s, identity_groups)\n"}},{"html_id":"update_internal_user_identity_groups_by_id(id:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(id : String, identity_groups : Array(String))","args_html":"(id : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L236"},"def":{"name":"update_internal_user_identity_groups_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"internal_user = get_internal_user_by_id(id)\nresponse = put(\"/internaluser/#{internal_user.id}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed to get internal user by email, code #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_identity_groups_by_name(name:String,identity_groups:Array(String))-instance-method","name":"update_internal_user_identity_groups_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"args_string":"(name : String, identity_groups : Array(String))","args_html":"(name : String, identity_groups : Array(String))","location":{"filename":"src/cisco/ise/network_access.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L250"},"def":{"name":"update_internal_user_identity_groups_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"identity_groups","external_name":"identity_groups","restriction":"Array(String)"}],"visibility":"Public","body":"response = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"identityGroups\" => identity_groups.join(\",\")}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_email(email:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_email","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(email : String, password : String | Nil = nil)","args_html":"(email : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L222"},"def":{"name":"update_internal_user_password_by_email","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\ninternal_user = get_internal_user_by_email(email)\nupdate_internal_user_password_by_id(internal_user.id.to_s, password)\n"}},{"html_id":"update_internal_user_password_by_id(id:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(id : String, password : String | Nil = nil)","args_html":"(id : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L180"},"def":{"name":"update_internal_user_password_by_id","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/#{id}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"update_internal_user_password_by_name(name:String,password:String|Nil=nil)-instance-method","name":"update_internal_user_password_by_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(name : String, password : String | Nil = nil)","args_html":"(name : String, password : String | Nil = nil)","location":{"filename":"src/cisco/ise/network_access.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ise/network_access.cr#L201"},"def":{"name":"update_internal_user_password_by_name","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"password || (password = generate_password(length: @password_length, exclude: @password_exclude, minimum_lowercase: @password_minimum_lowercase, minimum_uppercase: @password_minimum_uppercase, minimum_numbers: @password_minimum_numbers, minimum_symbols: @password_minimum_symbols))\nresponse = put(\"/internaluser/name/#{name}\", body: {\"InternalUser\" => {\"password\" => password}}.to_json, headers: {\"Accept\" => TYPE_HEADER, \"Content-Type\" => TYPE_HEADER, \"Authorization\" => @basic_auth})\nif response.success?\nelse\n raise(\"failed: #{response.status_code}: #{response.body}\")\nend\nJSON.parse(response.body)\n"}}]}]},{"html_id":"drivers/Cisco/Meraki","path":"Cisco/Meraki.html","kind":"module","full_name":"Cisco::Meraki","name":"Meraki","abstract":false,"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L5"},{"filename":"src/cisco/meraki/geo.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L6"},{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L4"},{"filename":"src/cisco/meraki/scanning_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"\"%FT%T%z\""}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"doc":"Meraki MQTT Data Models","summary":"

Meraki MQTT Data Models

","types":[{"html_id":"drivers/Cisco/Meraki/AlertType","path":"Cisco/Meraki/AlertType.html","kind":"enum","full_name":"Cisco::Meraki::AlertType","name":"AlertType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L365"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PortConnected","name":"PortConnected","value":"0"},{"id":"PortDisconnected","name":"PortDisconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"port_connected?-instance-method","name":"port_connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L366"},"def":{"name":"port_connected?","visibility":"Public","body":"self == PortConnected"}},{"html_id":"port_disconnected?-instance-method","name":"port_disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L367"},"def":{"name":"port_disconnected?","visibility":"Public","body":"self == PortDisconnected"}}]},{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","path":"Cisco/Meraki/CameraAnalytics.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601_MS","name":"ISO8601_MS","value":"\"%FT%T.%3N%z\""}],"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ts:Time-instance-method","name":"ts","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts","return_type":"Time","visibility":"Public","body":"@ts"}},{"html_id":"ts=(ts:Time)-instance-method","name":"ts=","abstract":false,"args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"args_string":"(ts : Time)","args_html":"(ts : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L50"},"def":{"name":"ts=","args":[{"name":"ts","external_name":"ts","restriction":"Time"}],"visibility":"Public","body":"@ts = ts"}},{"html_id":"zones:Hash(Int64,PeopleCount)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones","return_type":"Hash(Int64, PeopleCount)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Hash(Int64,PeopleCount))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"args_string":"(zones : Hash(Int64, PeopleCount))","args_html":"(zones : Hash(Int64, PeopleCount))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L51"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Hash(Int64, PeopleCount)"}],"visibility":"Public","body":"@zones = zones"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraAnalytics/PeopleCount","path":"Cisco/Meraki/CameraAnalytics/PeopleCount.html","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics::PeopleCount","name":"PeopleCount","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraAnalytics","kind":"class","full_name":"Cisco::Meraki::CameraAnalytics","name":"CameraAnalytics"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person:Int32-instance-method","name":"person","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person","return_type":"Int32","visibility":"Public","body":"@person"}},{"html_id":"person=(person:Int32)-instance-method","name":"person=","abstract":false,"args":[{"name":"person","external_name":"person","restriction":"Int32"}],"args_string":"(person : Int32)","args_html":"(person : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L46"},"def":{"name":"person=","args":[{"name":"person","external_name":"person","restriction":"Int32"}],"visibility":"Public","body":"@person = person"}}]}]},{"html_id":"drivers/Cisco/Meraki/CameraZone","path":"Cisco/Meraki/CameraZone.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L302"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L303"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"distance:Float64-instance-method","name":"distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance","return_type":"Float64","visibility":"Public","body":"@distance"}},{"html_id":"distance=(distance:Float64)-instance-method","name":"distance=","abstract":false,"args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"args_string":"(distance : Float64)","args_html":"(distance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L323"},"def":{"name":"distance=","args":[{"name":"distance","external_name":"distance","restriction":"Float64"}],"visibility":"Public","body":"@distance = distance"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L315"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"label:String-instance-method","name":"label","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L317"},"def":{"name":"label","return_type":"String","visibility":"Public","body":"@label"}},{"html_id":"mid_point-instance-method","name":"mid_point","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L325"},"def":{"name":"mid_point","visibility":"Public","body":"mid_x = (region.x0.to_f64 + region.x1.to_f64) / 2.0\nmid_y = (region.y0.to_f64 + region.y1.to_f64) / 2.0\n{mid_x, mid_y}\n"}},{"html_id":"region:Region-instance-method","name":"region","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L320"},"def":{"name":"region","return_type":"Region","visibility":"Public","body":"@region"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L316"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L331"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"if (value = @x).nil?\n @x = (begin\n xpos, @y = mid_point\n xpos\n end)\nelse\n value\nend"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L336"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"if (value = @y).nil?\n @y = (begin\n @x, ypos = mid_point\n ypos\n end)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CameraZone/Region","path":"Cisco/Meraki/CameraZone/Region.html","kind":"struct","full_name":"Cisco::Meraki::CameraZone::Region","name":"Region","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L305"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CameraZone","kind":"struct","full_name":"Cisco::Meraki::CameraZone","name":"CameraZone"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L306"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x0:String-instance-method","name":"x0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L308"},"def":{"name":"x0","return_type":"String","visibility":"Public","body":"@x0"}},{"html_id":"x1:String-instance-method","name":"x1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L310"},"def":{"name":"x1","return_type":"String","visibility":"Public","body":"@x1"}},{"html_id":"y0:String-instance-method","name":"y0","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L309"},"def":{"name":"y0","return_type":"String","visibility":"Public","body":"@y0"}},{"html_id":"y1:String-instance-method","name":"y1","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L311"},"def":{"name":"y1","return_type":"String","visibility":"Public","body":"@y1"}}]}]},{"html_id":"drivers/Cisco/Meraki/CaptivePortal","path":"Cisco/Meraki/CaptivePortal.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"JSON_HEADERS","name":"JSON_HEADERS","value":"{\"Content-Type\" => \"application/json\"}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"challenge(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"challenge","doc":"Webhook for providing guest access","summary":"

Webhook for providing guest access

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L98"},"def":{"name":"challenge","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"guest access attempt: #{method},\\nheaders #{headers},\\nbody #{body}\"\n end\n challenge = ChallengePayload.from_json(body)\n check_code = challenge.code\n guest_codes = generate_guest_data(challenge.email, Time.utc.to_unix, challenge.timezone)\n matched = (guest_codes.scan(/.{#{@code_length}}/)).count do |code|\n code[0] == check_code\n end > 0\n if matched\n challenge.expires = @access_duration.from_now\n @guests[format_mac(challenge.client_mac)] = challenge\n @granted = @granted + 1_u64\n self[:granted_access] = @granted\n redirect_url = \"#{challenge.base_grant_url}?duration=#{@access_duration.to_i}&continue_url=#{challenge.user_continue || @success_url}\"\n response = {redirect_to: redirect_url}.to_json\n logger.debug do\n \"successful joined network #{challenge.inspect}\"\n end\n {HTTP::Status::OK, JSON_HEADERS, response}\n else\n @denied = @denied + 1_u64\n self[:denied_access] = @denied\n logger.debug do\n \"failed wifi access attempt by #{challenge.inspect}\"\n end\n {HTTP::Status::NOT_ACCEPTABLE, JSON_HEADERS, \"{}\"}\n end\nrescue error\n @errors = @errors + 1_u64\n self[:errors] = @errors\n last_error = error.inspect_with_backtrace\n self[:last_error] = last_error\n logger.error do\n \"failed to parse wifi challenge payload\\n#{error}\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR, EMPTY_HEADERS, nil}\nend"}},{"html_id":"generate_guest_data(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_data","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L62"},"def":{"name":"generate_guest_data","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_zone = time_zone.presence ? Time::Location.load(time_zone.not_nil!) : @default_timezone\ndate = ((Time.unix(time)).in(time_zone)).to_s(@date_format)\nguest_string = \"#{email.downcase}-#{date}-#{@wifi_secret}\"\n((OpenSSL::Digest.new(\"SHA256\")).update(guest_string)).final.hexstring\n"}},{"html_id":"generate_guest_token(email:String,time:Int64,time_zone:String|Nil=nil)-instance-method","name":"generate_guest_token","doc":"Splits the SHA256 into code length and then randomly selects one","summary":"

Splits the SHA256 into code length and then randomly selects one

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"args_string":"(email : String, time : Int64, time_zone : String | Nil = nil)","args_html":"(email : String, time : Int64, time_zone : String | Nil = nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L71"},"def":{"name":"generate_guest_token","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"time","external_name":"time","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"}],"visibility":"Public","body":"(((generate_guest_data(email, time, time_zone)).scan(/.{#{@code_length}}/)).sample(1))[0][0]"}},{"html_id":"guests:Hash(String,Cisco::Meraki::CaptivePortal::ChallengePayload)-instance-method","name":"guests","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L53"},"def":{"name":"guests","visibility":"Public","body":"@guests"}},{"html_id":"lookup(mac:String)-instance-method","name":"lookup","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L58"},"def":{"name":"lookup","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@guests[format_mac(mac)]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@wifi_secret = (setting?(String, :wifi_secret)) || \"anything really\"\n@date_format = (setting?(String, :date_format)) || \"%Y%m%d\"\n@success_url = (setting?(String, :success_url)) || \"https://place.technology/\"\n@access_duration = ((setting?(Int32, :access_duration)) || 12).hours\n@code_length = (setting?(Int32, :code_length)) || 4\ntime_zone = (setting?(String, :default_timezone)).presence\nif time_zone\n @default_timezone = Time::Location.load(time_zone)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/CaptivePortal/ChallengePayload","path":"Cisco/Meraki/CaptivePortal/ChallengePayload.html","kind":"class","full_name":"Cisco::Meraki::CaptivePortal::ChallengePayload","name":"ChallengePayload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/captive_portal.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/CaptivePortal","kind":"class","full_name":"Cisco::Meraki::CaptivePortal","name":"CaptivePortal"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L78"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"base_grant_url:String-instance-method","name":"base_grant_url","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url","return_type":"String","visibility":"Public","body":"@base_grant_url"}},{"html_id":"base_grant_url=(base_grant_url:String)-instance-method","name":"base_grant_url=","abstract":false,"args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"args_string":"(base_grant_url : String)","args_html":"(base_grant_url : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L81"},"def":{"name":"base_grant_url=","args":[{"name":"base_grant_url","external_name":"base_grant_url","restriction":"String"}],"visibility":"Public","body":"@base_grant_url = base_grant_url"}},{"html_id":"client_ip:String-instance-method","name":"client_ip","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip","return_type":"String","visibility":"Public","body":"@client_ip"}},{"html_id":"client_ip=(client_ip:String)-instance-method","name":"client_ip=","abstract":false,"args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"args_string":"(client_ip : String)","args_html":"(client_ip : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L79"},"def":{"name":"client_ip=","args":[{"name":"client_ip","external_name":"client_ip","restriction":"String"}],"visibility":"Public","body":"@client_ip = client_ip"}},{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L80"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"code:String-instance-method","name":"code","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code","return_type":"String","visibility":"Public","body":"@code"}},{"html_id":"code=(code:String)-instance-method","name":"code=","doc":"key they were provided in their invite email","summary":"

key they were provided in their invite email

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"}],"args_string":"(code : String)","args_html":"(code : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L85"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"String"}],"visibility":"Public","body":"@code = code"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L86"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expires:Time|Nil-instance-method","name":"expires","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires","return_type":"Time | ::Nil","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time|Nil)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"args_string":"(expires : Time | Nil)","args_html":"(expires : Time | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L89"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@expires = expires"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L87"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_continue:String|Nil-instance-method","name":"user_continue","abstract":false,"location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue","return_type":"String | ::Nil","visibility":"Public","body":"@user_continue"}},{"html_id":"user_continue=(user_continue:String|Nil)-instance-method","name":"user_continue=","abstract":false,"args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"args_string":"(user_continue : String | Nil)","args_html":"(user_continue : String | Nil)","location":{"filename":"src/cisco/meraki/captive_portal.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/captive_portal.cr#L82"},"def":{"name":"user_continue=","args":[{"name":"user_continue","external_name":"user_continue","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user_continue = user_continue"}}]}]},{"html_id":"drivers/Cisco/Meraki/Client","path":"Cisco/Meraki/Client.html","kind":"class","full_name":"Cisco::Meraki::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L116"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"first_seen:String-instance-method","name":"first_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen","return_type":"String","visibility":"Public","body":"@first_seen"}},{"html_id":"first_seen=(first_seen:String)-instance-method","name":"first_seen=","abstract":false,"args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"args_string":"(first_seen : String)","args_html":"(first_seen : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L128"},"def":{"name":"first_seen=","args":[{"name":"first_seen","external_name":"first_seen","restriction":"String"}],"visibility":"Public","body":"@first_seen = first_seen"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L114"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"ip:String|Nil-instance-method","name":"ip","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip","return_type":"String | ::Nil","visibility":"Public","body":"@ip"}},{"html_id":"ip6:String|Nil-instance-method","name":"ip6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6","return_type":"String | ::Nil","visibility":"Public","body":"@ip6"}},{"html_id":"ip6=(ip6:String|Nil)-instance-method","name":"ip6=","abstract":false,"args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"args_string":"(ip6 : String | Nil)","args_html":"(ip6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L119"},"def":{"name":"ip6=","args":[{"name":"ip6","external_name":"ip6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6 = ip6"}},{"html_id":"ip6_local:String|Nil-instance-method","name":"ip6_local","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local","return_type":"String | ::Nil","visibility":"Public","body":"@ip6_local"}},{"html_id":"ip6_local=(ip6_local:String|Nil)-instance-method","name":"ip6_local=","abstract":false,"args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"args_string":"(ip6_local : String | Nil)","args_html":"(ip6_local : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L122"},"def":{"name":"ip6_local=","args":[{"name":"ip6_local","external_name":"ip6_local","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip6_local = ip6_local"}},{"html_id":"ip=(ip:String|Nil)-instance-method","name":"ip=","abstract":false,"args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"args_string":"(ip : String | Nil)","args_html":"(ip : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L118"},"def":{"name":"ip=","args":[{"name":"ip","external_name":"ip","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ip = ip"}},{"html_id":"last_seen:Time-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen","return_type":"Time","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Time)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"args_string":"(last_seen : Time)","args_html":"(last_seen : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L131"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Time"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L115"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L133"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L145"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L134"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"recent_device_mac:String|Nil-instance-method","name":"recent_device_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_mac"}},{"html_id":"recent_device_mac=(recent_device_mac:String|Nil)-instance-method","name":"recent_device_mac=","abstract":false,"args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"args_string":"(recent_device_mac : String | Nil)","args_html":"(recent_device_mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L140"},"def":{"name":"recent_device_mac=","args":[{"name":"recent_device_mac","external_name":"recent_device_mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_mac = recent_device_mac"}},{"html_id":"recent_device_serial:String|Nil-instance-method","name":"recent_device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial","return_type":"String | ::Nil","visibility":"Public","body":"@recent_device_serial"}},{"html_id":"recent_device_serial=(recent_device_serial:String|Nil)-instance-method","name":"recent_device_serial=","abstract":false,"args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"args_string":"(recent_device_serial : String | Nil)","args_html":"(recent_device_serial : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L137"},"def":{"name":"recent_device_serial=","args":[{"name":"recent_device_serial","external_name":"recent_device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recent_device_serial = recent_device_serial"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L141"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L144"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}},{"html_id":"switch_port:Int32-instance-method","name":"switch_port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L151"},"def":{"name":"switch_port","return_type":"Int32","visibility":"Public","body":"if (value = @switch_port).nil?\n @switch_port = ((@switchport.as(String)).to_i)\nelse\n value\nend"}},{"html_id":"switchport:String|Nil-instance-method","name":"switchport","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport","return_type":"String | ::Nil","visibility":"Public","body":"@switchport"}},{"html_id":"switchport=(switchport:String|Nil)-instance-method","name":"switchport=","abstract":false,"args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"args_string":"(switchport : String | Nil)","args_html":"(switchport : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L143"},"def":{"name":"switchport=","args":[{"name":"switchport","external_name":"switchport","restriction":"String | ::Nil"}],"visibility":"Public","body":"@switchport = switchport"}},{"html_id":"time_added:Time-instance-method","name":"time_added","abstract":false,"def":{"name":"time_added","return_type":"Time","visibility":"Public","body":"if (value = @time_added).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::Client#time_added cannot be nil\"))\nelse\n value\nend"}},{"html_id":"time_added=(time_added:Time)-instance-method","name":"time_added=","abstract":false,"args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"args_string":"(time_added : Time)","args_html":"(time_added : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L148"},"def":{"name":"time_added=","args":[{"name":"time_added","external_name":"time_added","restriction":"Time"}],"visibility":"Public","body":"@time_added = time_added"}},{"html_id":"time_added?:Time|Nil-instance-method","name":"time_added?","abstract":false,"def":{"name":"time_added?","return_type":"Time | ::Nil","visibility":"Public","body":"@time_added"}},{"html_id":"user:String|Nil-instance-method","name":"user","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L124"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"vlan:String|Nil-instance-method","name":"vlan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan","return_type":"String | ::Nil","visibility":"Public","body":"@vlan"}},{"html_id":"vlan=(vlan:String|Nil)-instance-method","name":"vlan=","abstract":false,"args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"args_string":"(vlan : String | Nil)","args_html":"(vlan : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L142"},"def":{"name":"vlan=","args":[{"name":"vlan","external_name":"vlan","restriction":"String | ::Nil"}],"visibility":"Public","body":"@vlan = vlan"}}]},{"html_id":"drivers/Cisco/Meraki/ConnectionType","path":"Cisco/Meraki/ConnectionType.html","kind":"enum","full_name":"Cisco::Meraki::ConnectionType","name":"ConnectionType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L360"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Wired","name":"Wired","value":"0"},{"id":"Wireless","name":"Wireless","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"wired?-instance-method","name":"wired?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L361"},"def":{"name":"wired?","visibility":"Public","body":"self == Wired"}},{"html_id":"wireless?-instance-method","name":"wireless?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":362,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L362"},"def":{"name":"wireless?","visibility":"Public","body":"self == Wireless"}}]},{"html_id":"drivers/Cisco/Meraki/CountType","path":"Cisco/Meraki/CountType.html","kind":"enum","full_name":"Cisco::Meraki::CountType","name":"CountType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"People","name":"People","value":"0"},{"id":"Vehicles","name":"Vehicles","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"people?-instance-method","name":"people?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L44"},"def":{"name":"people?","visibility":"Public","body":"self == People"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L46"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicles?-instance-method","name":"vehicles?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L45"},"def":{"name":"vehicles?","visibility":"Public","body":"self == Vehicles"}}]},{"html_id":"drivers/Cisco/Meraki/Crossing","path":"Cisco/Meraki/Crossing.html","kind":"struct","full_name":"Cisco::Meraki::Crossing","name":"Crossing","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event:CrossingEvent-instance-method","name":"event","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L95"},"def":{"name":"event","return_type":"CrossingEvent","visibility":"Public","body":"@event"}},{"html_id":"label:String|Nil-instance-method","name":"label","doc":"getter object_id : Int64","summary":"

getter object_id : Int64

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L94"},"def":{"name":"label","return_type":"String | ::Nil","visibility":"Public","body":"@label"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L92"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"type:CrossingObject-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L96"},"def":{"name":"type","return_type":"CrossingObject","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingEvent","path":"Cisco/Meraki/CrossingEvent.html","kind":"enum","full_name":"Cisco::Meraki::CrossingEvent","name":"CrossingEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CrossingIn","name":"CrossingIn","value":"0"},{"id":"CrossingOut","name":"CrossingOut","value":"1"},{"id":"Expired","name":"Expired","value":"2"},{"id":"Appeared","name":"Appeared","value":"3"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"appeared?-instance-method","name":"appeared?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L85"},"def":{"name":"appeared?","visibility":"Public","body":"self == Appeared"}},{"html_id":"crossing_in?-instance-method","name":"crossing_in?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L82"},"def":{"name":"crossing_in?","visibility":"Public","body":"self == CrossingIn"}},{"html_id":"crossing_out?-instance-method","name":"crossing_out?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L83"},"def":{"name":"crossing_out?","visibility":"Public","body":"self == CrossingOut"}},{"html_id":"expired?-instance-method","name":"expired?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L84"},"def":{"name":"expired?","visibility":"Public","body":"self == Expired"}}]},{"html_id":"drivers/Cisco/Meraki/CrossingObject","path":"Cisco/Meraki/CrossingObject.html","kind":"enum","full_name":"Cisco::Meraki::CrossingObject","name":"CrossingObject","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Person","name":"Person","value":"0"},{"id":"Vehicle","name":"Vehicle","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"person?-instance-method","name":"person?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L76"},"def":{"name":"person?","visibility":"Public","body":"self == Person"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L78"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"vehicle?-instance-method","name":"vehicle?","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L77"},"def":{"name":"vehicle?","visibility":"Public","body":"self == Vehicle"}}]},{"html_id":"drivers/Cisco/Meraki/Dashboard","path":"Cisco/Meraki/Dashboard.html","kind":"class","full_name":"Cisco::Meraki::Dashboard","name":"Dashboard","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/dashboard.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK.to_i, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"fetch(location:String)-instance-method","name":"fetch","doc":"Perform fetch with the required API request limits in place","summary":"

Perform fetch with the required API request limits in place

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L69"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"req(location, &.body)"}},{"html_id":"fetch_all(location:String)-instance-method","name":"fetch_all","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L74"},"def":{"name":"fetch_all","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"responses = [] of String\nreq_all_pages(location) do |response|\n responses << response.body\nend\nresponses\n"}},{"html_id":"get_zones(camera_serial:String)-instance-method","name":"get_zones","abstract":false,"args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"args_string":"(camera_serial : String)","args_html":"(camera_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L183"},"def":{"name":"get_zones","args":[{"name":"camera_serial","external_name":"camera_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{camera_serial}/camera/analytics/zones\") do |response|\n Array(CameraZone).from_json(response.body)\nend"}},{"html_id":"networks(organization_id:String)-instance-method","name":"networks","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L142"},"def":{"name":"networks","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"nets = [] of Network\nreq_all_pages(\"/api/v1/organizations/#{organization_id}/networks?perPage=1000\") do |response|\n nets.concat(Array(Network).from_json(response.body))\nend\nnets\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L38"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@scanning_validator = (setting?(String, :meraki_validator)) || \"\"\n@scanning_secret = (setting?(String, :meraki_secret)) || \"\"\n@api_key = (setting?(String, :meraki_api_key)) || \"\"\n@scanning_api_filter = (setting?(MessageType, :scanning_api_filter)) || MessageType::WiFi\n@rate_limit = (setting?(Int32, :rate_limit)) || 4\n@wait_time = 1.second / @rate_limit\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n"}},{"html_id":"organizations-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L135"},"def":{"name":"organizations","visibility":"Public","body":"req(\"/api/v1/organizations?perPage=1000\") do |response|\n Array(Organization).from_json(response.body)\nend"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil,statuses:String=\"Online\")-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = \"Online\")","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil, statuses : String = "Online")","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L151"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"},{"name":"statuses","default_value":"\"Online\"","external_name":"statuses","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"perPage\", \"1000\")\n form.add(\"timespan\", timespan.to_s)\n form.add(\"statuses[]\", statuses)\n if connection\n form.add(\"recentDeviceConnections[]\", connection.to_s)\n end\nend\nclients = [] of Client\nreq_all_pages(\"/api/v1/networks/#{network_id}/clients?#{params}\") do |response|\n clients.concat(Array(Client).from_json(response.body))\nend\nif device_serial\n clients.select! do |client|\n client.recent_device_serial == device_serial\n end.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nelse\n clients.sort! do |a, b|\n b.last_seen <=> a.last_seen\n end\nend\n"}},{"html_id":"port_status(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"port_status","doc":"a webhook for obtaining changes in port status","summary":"

a webhook for obtaining changes in port status

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L228"},"def":{"name":"port_status","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Webhook Alert received: #{method},\\nheaders #{headers},\\nbody #{body}\"\nend\nself[:port_update] = WebhookAlert.from_json(body)\nSUCCESS_RESPONSE\n"}},{"html_id":"ports_statuses(device_serial:String)-instance-method","name":"ports_statuses","abstract":false,"args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"args_string":"(device_serial : String)","args_html":"(device_serial : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L177"},"def":{"name":"ports_statuses","args":[{"name":"device_serial","external_name":"device_serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{device_serial}/switch/ports/statuses\") do |response|\n Array(PortStatusResponse).from_json(response.body)\nend"}},{"html_id":"scanning_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"scanning_api","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/cisco/meraki/dashboard.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/dashboard.cr#L190"},"def":{"name":"scanning_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nif method == \"GET\"\n return {HTTP::Status::OK.to_i, EMPTY_HEADERS, @scanning_validator}\nend\nif !(body.starts_with?(\"{\\\"version\\\":\\\"3.0\\\"\"))\n logger.warn do\n \"unknown scanning API message received:\\n#{body[0..96]}\"\n end\n return SUCCESS_RESPONSE\nend\nbegin\n seen = DevicesSeen.from_json(body)\n logger.debug do\n \"parsed meraki payload\"\n end\n if (!@scanning_api_filter.none?) && (seen.message_type != @scanning_api_filter)\n logger.debug do\n \"ignoring message type: #{seen.message_type}\"\n end\n return SUCCESS_RESPONSE\n end\n if seen.secret == @scanning_secret\n else\n raise(\"secret mismatch, sent: #{seen.secret}\")\n end\n self[seen.data.network_id] = seen.data.observations\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]},{"html_id":"drivers/Cisco/Meraki/Data","path":"Cisco/Meraki/Data.html","kind":"class","full_name":"Cisco::Meraki::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L276"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L277"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"network_id=(network_id:String)-instance-method","name":"network_id=","abstract":false,"args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"args_string":"(network_id : String)","args_html":"(network_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L280"},"def":{"name":"network_id=","args":[{"name":"network_id","external_name":"network_id","restriction":"String"}],"visibility":"Public","body":"@network_id = network_id"}},{"html_id":"observations:Array(Observation)-instance-method","name":"observations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations","return_type":"Array(Observation)","visibility":"Public","body":"@observations"}},{"html_id":"observations=(observations:Array(Observation))-instance-method","name":"observations=","abstract":false,"args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"args_string":"(observations : Array(Observation))","args_html":"(observations : Array(Observation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L281"},"def":{"name":"observations=","args":[{"name":"observations","external_name":"observations","restriction":"Array(Observation)"}],"visibility":"Public","body":"@observations = observations"}}]},{"html_id":"drivers/Cisco/Meraki/DeskMappings","path":"Cisco/Meraki/DeskMappings.html","kind":"struct","full_name":"Cisco::Meraki::DeskMappings","name":"DeskMappings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L342"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L343"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L346"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}},{"html_id":"ports:Hash(Int32,String)-instance-method","name":"ports","doc":"port_id => desk_id","summary":"

port_id => desk_id

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L349"},"def":{"name":"ports","return_type":"Hash(Int32, String)","visibility":"Public","body":"@ports"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L345"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}}]},{"html_id":"drivers/Cisco/Meraki/DetectedDesks","path":"Cisco/Meraki/DetectedDesks.html","kind":"class","full_name":"Cisco::Meraki::DetectedDesks","name":"DetectedDesks","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api_version:Int32-instance-method","name":"api_version","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L17"},"def":{"name":"api_version","return_type":"Int32","visibility":"Public","body":"@api_version"}},{"html_id":"desks:Array(Tuple(Float64,Float64,Float64,Float64,Float64,Float64,Float64))-instance-method","name":"desks","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L26"},"def":{"name":"desks","return_type":"Array(Tuple(Float64, Float64, Float64, Float64, Float64, Float64, Float64))","visibility":"Public","body":"@desks"}},{"html_id":"time_string:String|Nil-instance-method","name":"time_string","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L24"},"def":{"name":"time_string","return_type":"String | ::Nil","visibility":"Public","body":"@time_string"}},{"html_id":"time_unix:Int64|Nil-instance-method","name":"time_unix","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L21"},"def":{"name":"time_unix","return_type":"Int64 | ::Nil","visibility":"Public","body":"@time_unix"}}]},{"html_id":"drivers/Cisco/Meraki/DeviceLocation","path":"Cisco/Meraki/DeviceLocation.html","kind":"class","full_name":"Cisco::Meraki::DeviceLocation","name":"DeviceLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"calculate_location(floor:FloorPlan,device:NetworkDevice,time:Time):DeviceLocation-class-method","name":"calculate_location","abstract":false,"args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","args_html":"(floor : FloorPlan, device : NetworkDevice, time : Time) : DeviceLocation","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L173"},"def":{"name":"calculate_location","args":[{"name":"floor","external_name":"floor","restriction":"FloorPlan"},{"name":"device","external_name":"device","restriction":"NetworkDevice"},{"name":"time","external_name":"time","restriction":"Time"}],"return_type":"DeviceLocation","visibility":"Public","body":"distance = Geo.calculate_xy(floor.top_left, floor.bottom_left, floor.bottom_right, device, floor.to_distance)\nDeviceLocation.new(distance.x, distance.y, device.lng, device.lat, 25_f64, floor.id, floor.name, time)\n"}},{"html_id":"new(x:Float64|String|Nil,y:Float64|String|Nil,lng:Float64|Nil,lat:Float64|Nil,variance:Float64,floor_plan_id:Nil|String,floor_plan_name:Nil|String,time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"args_string":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","args_html":"(x : Float64 | String | Nil, y : Float64 | String | Nil, lng : Float64 | Nil, lat : Float64 | Nil, variance : Float64, floor_plan_id : Nil | String, floor_plan_name : Nil | String, time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L165"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64 | ::String | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::String | ::Nil"},{"name":"lng","external_name":"lng","restriction":"::Float64 | ::Nil"},{"name":"lat","external_name":"lat","restriction":"::Float64 | ::Nil"},{"name":"variance","external_name":"variance","restriction":"::Float64"},{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"::Nil | ::String"},{"name":"floor_plan_name","external_name":"floor_plan_name","restriction":"::Nil | ::String"},{"name":"time","external_name":"time","restriction":"::Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y, lng, lat, variance, floor_plan_id, floor_plan_name, time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client:Client|Nil-instance-method","name":"client","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client","return_type":"Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"client=(client:Client|Nil)-instance-method","name":"client=","abstract":false,"args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"args_string":"(client : Client | Nil)","args_html":"(client : Client | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L186"},"def":{"name":"client=","args":[{"name":"client","external_name":"client","restriction":"Client | ::Nil"}],"visibility":"Public","body":"@client = client"}},{"html_id":"floor_plan:FloorPlanLocation|Nil-instance-method","name":"floor_plan","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan","return_type":"FloorPlanLocation | ::Nil","visibility":"Public","body":"@floor_plan"}},{"html_id":"floor_plan=(floor_plan:FloorPlanLocation|Nil)-instance-method","name":"floor_plan=","abstract":false,"args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"args_string":"(floor_plan : FloorPlanLocation | Nil)","args_html":"(floor_plan : FloorPlanLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L202"},"def":{"name":"floor_plan=","args":[{"name":"floor_plan","external_name":"floor_plan","restriction":"FloorPlanLocation | ::Nil"}],"visibility":"Public","body":"@floor_plan = floor_plan"}},{"html_id":"floor_plan_id-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L237"},"def":{"name":"floor_plan_id","visibility":"Public","body":"wifi_floor_plan_id || floor_plan.try(&.id)"}},{"html_id":"floor_plan_name-instance-method","name":"floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L241"},"def":{"name":"floor_plan_name","visibility":"Public","body":"wifi_floor_plan_name || floor_plan.try(&.name)"}},{"html_id":"get_x:Float64|Nil-instance-method","name":"get_x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L221"},"def":{"name":"get_x","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = x || floor_plan.try(&.x)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"get_y:Float64|Nil-instance-method","name":"get_y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L229"},"def":{"name":"get_y","return_type":"Float64 | ::Nil","visibility":"Public","body":"if tmp = y || floor_plan.try(&.y)\n if tmp.is_a?(Float64)\n tmp\n end\nend"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64|Nil)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"args_string":"(lat : Float64 | Nil)","args_html":"(lat : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L192"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64|Nil)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"args_string":"(lng : Float64 | Nil)","args_html":"(lng : Float64 | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L191"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L181"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"nearest_ap_tags:Array(String)-instance-method","name":"nearest_ap_tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags","return_type":"Array(String)","visibility":"Public","body":"if (value = @nearest_ap_tags).nil?\n @nearest_ap_tags = ([] of String)\nelse\n value\nend"}},{"html_id":"nearest_ap_tags=(nearest_ap_tags:Array(String))-instance-method","name":"nearest_ap_tags=","abstract":false,"args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"args_string":"(nearest_ap_tags : Array(String))","args_html":"(nearest_ap_tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L208"},"def":{"name":"nearest_ap_tags=","args":[{"name":"nearest_ap_tags","external_name":"nearest_ap_tags","restriction":"Array(String)"}],"visibility":"Public","body":"@nearest_ap_tags = nearest_ap_tags"}},{"html_id":"rssi_records:Array(RSSI)-instance-method","name":"rssi_records","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records","return_type":"Array(RSSI)","visibility":"Public","body":"@rssi_records"}},{"html_id":"rssi_records=(rssi_records:Array(RSSI))-instance-method","name":"rssi_records=","abstract":false,"args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"args_string":"(rssi_records : Array(RSSI))","args_html":"(rssi_records : Array(RSSI))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L211"},"def":{"name":"rssi_records=","args":[{"name":"rssi_records","external_name":"rssi_records","restriction":"Array(RSSI)"}],"visibility":"Public","body":"@rssi_records = rssi_records"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L205"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}},{"html_id":"variance:Float64-instance-method","name":"variance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance","return_type":"Float64","visibility":"Public","body":"@variance"}},{"html_id":"variance=(variance:Float64)-instance-method","name":"variance=","abstract":false,"args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"args_string":"(variance : Float64)","args_html":"(variance : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L193"},"def":{"name":"variance=","args":[{"name":"variance","external_name":"variance","restriction":"Float64"}],"visibility":"Public","body":"@variance = variance"}},{"html_id":"wifi_floor_plan_id:String|Nil-instance-method","name":"wifi_floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_id=(wifi_floor_plan_id:String|Nil)-instance-method","name":"wifi_floor_plan_id=","abstract":false,"args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_id : String | Nil)","args_html":"(wifi_floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L196"},"def":{"name":"wifi_floor_plan_id=","args":[{"name":"wifi_floor_plan_id","external_name":"wifi_floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_id = wifi_floor_plan_id"}},{"html_id":"wifi_floor_plan_name:String|Nil-instance-method","name":"wifi_floor_plan_name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name","return_type":"String | ::Nil","visibility":"Public","body":"@wifi_floor_plan_name"}},{"html_id":"wifi_floor_plan_name=(wifi_floor_plan_name:String|Nil)-instance-method","name":"wifi_floor_plan_name=","abstract":false,"args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"args_string":"(wifi_floor_plan_name : String | Nil)","args_html":"(wifi_floor_plan_name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L199"},"def":{"name":"wifi_floor_plan_name=","args":[{"name":"wifi_floor_plan_name","external_name":"wifi_floor_plan_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@wifi_floor_plan_name = wifi_floor_plan_name"}},{"html_id":"x:Float64|String|Nil-instance-method","name":"x","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x","return_type":"Float64 | String | Nil","visibility":"Public","body":"@x"}},{"html_id":"x!-instance-method","name":"x!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L213"},"def":{"name":"x!","visibility":"Public","body":"get_x.not_nil!"}},{"html_id":"x=(x:Float64|String|Nil)-instance-method","name":"x=","doc":"Multiple types as the location when parsed might include javascript `\"NaN\"`","summary":"

Multiple types as the location when parsed might include javascript "NaN"

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"args_string":"(x : Float64 | String | Nil)","args_html":"(x : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L189"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|String|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y","return_type":"Float64 | String | Nil","visibility":"Public","body":"@y"}},{"html_id":"y!-instance-method","name":"y!","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L217"},"def":{"name":"y!","visibility":"Public","body":"get_y.not_nil!"}},{"html_id":"y=(y:Float64|String|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"args_string":"(y : Float64 | String | Nil)","args_html":"(y : Float64 | String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L190"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | String | Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/DevicesSeen","path":"Cisco/Meraki/DevicesSeen.html","kind":"class","full_name":"Cisco::Meraki::DevicesSeen","name":"DevicesSeen","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L290"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L291"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L299"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"message_type:MessageType-instance-method","name":"message_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type","return_type":"MessageType","visibility":"Public","body":"@message_type"}},{"html_id":"message_type=(message_type:MessageType)-instance-method","name":"message_type=","abstract":false,"args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"args_string":"(message_type : MessageType)","args_html":"(message_type : MessageType)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L297"},"def":{"name":"message_type=","args":[{"name":"message_type","external_name":"message_type","restriction":"MessageType"}],"visibility":"Public","body":"@message_type = message_type"}},{"html_id":"secret:String-instance-method","name":"secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret","return_type":"String","visibility":"Public","body":"@secret"}},{"html_id":"secret=(secret:String)-instance-method","name":"secret=","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String"}],"args_string":"(secret : String)","args_html":"(secret : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L294"},"def":{"name":"secret=","args":[{"name":"secret","external_name":"secret","restriction":"String"}],"visibility":"Public","body":"@secret = secret"}},{"html_id":"version:String-instance-method","name":"version","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version","return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L293"},"def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"String"}],"visibility":"Public","body":"@version = version"}}]},{"html_id":"drivers/Cisco/Meraki/Entrances","path":"Cisco/Meraki/Entrances.html","kind":"class","full_name":"Cisco::Meraki::Entrances","name":"Entrances","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L72"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n @count = ((counts[:person] || counts[:vehicle]) || 0)\nelse\n value\nend"}},{"html_id":"count_type:CountType-instance-method","name":"count_type","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L61"},"def":{"name":"count_type","return_type":"CountType","visibility":"Public","body":"if (value = @count_type).nil?\n @count_type = (if counts[:person]\n CountType::People\n else\n if counts[:vehicle]\n CountType::Vehicles\n else\n CountType::Unknown\n end\n end)\nelse\n value\nend"}},{"html_id":"counts:NamedTuple(person:Int32|Nil,vehicle:Int32|Nil)-instance-method","name":"counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L55"},"def":{"name":"counts","return_type":"NamedTuple(person: Int32 | ::Nil, vehicle: Int32 | ::Nil)","visibility":"Public","body":"@counts"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L53"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Cisco/Meraki/FloorMapping","path":"Cisco/Meraki/FloorMapping.html","kind":"class","full_name":"Cisco::Meraki::FloorMapping","name":"FloorMapping","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:String|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L10"},"def":{"name":"building_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"camera_serials:Array(String)-instance-method","name":"camera_serials","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L8"},"def":{"name":"camera_serials","return_type":"Array(String)","visibility":"Public","body":"@camera_serials"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L9"},"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"@level_id"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlan","path":"Cisco/Meraki/FloorPlan.html","kind":"class","full_name":"Cisco::Meraki::FloorPlan","name":"FloorPlan","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_left:Geo::Point-instance-method","name":"bottom_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left","return_type":"Geo::Point","visibility":"Public","body":"@bottom_left"}},{"html_id":"bottom_left=(bottom_left:Geo::Point)-instance-method","name":"bottom_left=","abstract":false,"args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"args_string":"(bottom_left : Geo::Point)","args_html":"(bottom_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L66"},"def":{"name":"bottom_left=","args":[{"name":"bottom_left","external_name":"bottom_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_left = bottom_left"}},{"html_id":"bottom_right:Geo::Point-instance-method","name":"bottom_right","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right","return_type":"Geo::Point","visibility":"Public","body":"@bottom_right"}},{"html_id":"bottom_right=(bottom_right:Geo::Point)-instance-method","name":"bottom_right=","abstract":false,"args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"args_string":"(bottom_right : Geo::Point)","args_html":"(bottom_right : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L69"},"def":{"name":"bottom_right=","args":[{"name":"bottom_right","external_name":"bottom_right","restriction":"Geo::Point"}],"visibility":"Public","body":"@bottom_right = bottom_right"}},{"html_id":"height:Float64-instance-method","name":"height","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height","return_type":"Float64","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Float64)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Float64"}],"args_string":"(height : Float64)","args_html":"(height : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L60"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Float64"}],"visibility":"Public","body":"@height = height"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L72"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"to_distance-instance-method","name":"to_distance","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L74"},"def":{"name":"to_distance","visibility":"Public","body":"Geo::Distance.new(width, height)"}},{"html_id":"top_left:Geo::Point-instance-method","name":"top_left","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left","return_type":"Geo::Point","visibility":"Public","body":"@top_left"}},{"html_id":"top_left=(top_left:Geo::Point)-instance-method","name":"top_left=","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"args_string":"(top_left : Geo::Point)","args_html":"(top_left : Geo::Point)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L63"},"def":{"name":"top_left=","args":[{"name":"top_left","external_name":"top_left","restriction":"Geo::Point"}],"visibility":"Public","body":"@top_left = top_left"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L59"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}]},{"html_id":"drivers/Cisco/Meraki/FloorPlanLocation","path":"Cisco/Meraki/FloorPlanLocation.html","kind":"class","full_name":"Cisco::Meraki::FloorPlanLocation","name":"FloorPlanLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L79"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L80"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L82"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L83"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L84"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L85"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo","path":"Cisco/Meraki/Geo.html","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo","abstract":false,"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EarthRadiusApprox","name":"EarthRadiusApprox","value":"6371000.7900","doc":"radius in meters, approx as we're using a perfect sphere the same volume as the earth","summary":"

radius in meters, approx as we're using a perfect sphere the same volume as the earth

"},{"id":"Radians","name":"Radians","value":"Math::PI / 180_f64"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"class_methods":[{"html_id":"calculate_xy(top_left:Point,bottom_left:Point,bottom_right:Point,position,distance:Distance)-class-method","name":"calculate_xy","abstract":false,"args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"args_string":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","args_html":"(top_left : Point, bottom_left : Point, bottom_right : Point, position, distance : Distance)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L29"},"def":{"name":"calculate_xy","args":[{"name":"top_left","external_name":"top_left","restriction":"Point"},{"name":"bottom_left","external_name":"bottom_left","restriction":"Point"},{"name":"bottom_right","external_name":"bottom_right","restriction":"Point"},{"name":"position","external_name":"position","restriction":""},{"name":"distance","external_name":"distance","restriction":"Distance"}],"visibility":"Public","body":"y_base = geo_distance(top_left, bottom_left)\na = geo_distance(top_left, position)\nc = geo_distance(bottom_left, position)\nx_raw = triangle_height(a, y_base, c)\nx_base = geo_distance(bottom_left, bottom_right)\na = geo_distance(bottom_left, position)\nc = geo_distance(bottom_right, position)\ny_raw = triangle_height(a, x_base, c)\npercentage_height = y_raw / y_base\npercentage_width = x_raw / x_base\nDistance.new(distance.x * percentage_width, distance.y * percentage_height)\n"}},{"html_id":"geo_distance(start:Point,ending)-class-method","name":"geo_distance","doc":"https://www.movable-type.co.uk/scripts/latlong.html\nreturns the distance in meters","summary":"

https://www.movable-type.co.uk/scripts/latlong.html returns the distance in meters

","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"args_string":"(start : Point, ending)","args_html":"(start : Point, ending)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L54"},"def":{"name":"geo_distance","args":[{"name":"start","external_name":"start","restriction":"Point"},{"name":"ending","external_name":"ending","restriction":""}],"visibility":"Public","body":"lat_diff = (ending.lat - start.lat) * Radians\nlng_diff = (ending.lng - start.lng) * Radians\nstart_lat_radian = start.lat * Radians\nend_lng_radian = ending.lng * Radians\na = ((Math.sin(lat_diff / 2_f64)) * (Math.sin(lat_diff / 2_f64))) + ((((Math.cos(start_lat_radian)) * (Math.cos(end_lng_radian))) * (Math.sin(lng_diff / 2_f64))) * (Math.sin(lng_diff / 2_f64)))\nc = 2_f64 * (Math.atan2(Math.sqrt(a), Math.sqrt(1_f64 - a)))\nEarthRadiusApprox * c\n"}},{"html_id":"triangle_height(a:Float64,base:Float64,c:Float64)-class-method","name":"triangle_height","doc":"https://www.omnicalculator.com/math/triangle-height","summary":"

https://www.omnicalculator.com/math/triangle-height

","abstract":false,"args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"args_string":"(a : Float64, base : Float64, c : Float64)","args_html":"(a : Float64, base : Float64, c : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L70"},"def":{"name":"triangle_height","args":[{"name":"a","external_name":"a","restriction":"Float64"},{"name":"base","external_name":"base","restriction":"Float64"},{"name":"c","external_name":"c","restriction":"Float64"}],"visibility":"Public","body":"(0.5 * (Math.sqrt(((((a + base) + c) * ((base + c) - a)) * ((a - base) + c)) * ((a + base) - c)))) / base"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Geo/Distance","path":"Cisco/Meraki/Geo/Distance.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Distance","name":"Distance","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L22"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"::Float64"},{"name":"y","external_name":"y","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L25"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L26"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Cisco/Meraki/Geo/Point","path":"Cisco/Meraki/Geo/Point.html","kind":"struct","full_name":"Cisco::Meraki::Geo::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/geo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Geo","kind":"module","full_name":"Cisco::Meraki::Geo","name":"Geo"},"constructors":[{"html_id":"new(lat:Float64,lng:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"args_string":"(lat : Float64, lng : Float64)","args_html":"(lat : Float64, lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L12"},"def":{"name":"new","args":[{"name":"lat","external_name":"lat","restriction":"::Float64"},{"name":"lng","external_name":"lng","restriction":"::Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(lat, lng)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L15"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/geo.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/geo.cr#L16"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]}]},{"html_id":"drivers/Cisco/Meraki/LatestRecord","path":"Cisco/Meraki/LatestRecord.html","kind":"class","full_name":"Cisco::Meraki::LatestRecord","name":"LatestRecord","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"nearest_ap_mac:String-instance-method","name":"nearest_ap_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac","return_type":"String","visibility":"Public","body":"@nearest_ap_mac"}},{"html_id":"nearest_ap_mac=(nearest_ap_mac:String)-instance-method","name":"nearest_ap_mac=","abstract":false,"args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"args_string":"(nearest_ap_mac : String)","args_html":"(nearest_ap_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L250"},"def":{"name":"nearest_ap_mac=","args":[{"name":"nearest_ap_mac","external_name":"nearest_ap_mac","restriction":"String"}],"visibility":"Public","body":"@nearest_ap_mac = nearest_ap_mac"}},{"html_id":"nearest_ap_rssi:Int32-instance-method","name":"nearest_ap_rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi","return_type":"Int32","visibility":"Public","body":"@nearest_ap_rssi"}},{"html_id":"nearest_ap_rssi=(nearest_ap_rssi:Int32)-instance-method","name":"nearest_ap_rssi=","abstract":false,"args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"args_string":"(nearest_ap_rssi : Int32)","args_html":"(nearest_ap_rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L253"},"def":{"name":"nearest_ap_rssi=","args":[{"name":"nearest_ap_rssi","external_name":"nearest_ap_rssi","restriction":"Int32"}],"visibility":"Public","body":"@nearest_ap_rssi = nearest_ap_rssi"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L256"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations","path":"Cisco/Meraki/Locations.html","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"building_zone:String-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L94"},"def":{"name":"building_zone","return_type":"String","visibility":"Public","body":"@building_zone"}},{"html_id":"camera_analytics(serial:String)-instance-method","name":"camera_analytics","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L711"},"def":{"name":"camera_analytics","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"req(\"/api/v1/devices/#{serial}/camera/analytics/live\") do |response|\n CameraAnalytics.from_json(response)\nend"}},{"html_id":"cameras:Array(Cisco::Meraki::NetworkDevice)-instance-method","name":"cameras","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":726,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L726"},"def":{"name":"cameras","visibility":"Public","body":"@cameras"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L418"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = user_mac_mappings(&.[]?(lookup))\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"cleanup_caches:Nil-instance-method","name":"cleanup_caches","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":638,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L638"},"def":{"name":"cleanup_caches","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"removing IP and location data that is over 30 minutes old\"\nend\nold = 30.minutes.ago\nremove_keys = [] of String\n@ip_lookup.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_lookup.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => MAC mappings\"\nend\nremove_keys.clear\n@ip_usernames.each do |ip, lookup|\n if lookup.time < old\n remove_keys << ip\n end\nend\nremove_keys.each do |ip|\n @ip_usernames.delete(ip)\nend\nlogger.debug do\n \"removed #{remove_keys.size} IP => Username mappings\"\nend\nremove_keys.clear\n@client_details.each do |mac, client|\n if client.time_added < old\n remove_keys << mac\n end\nend\nremove_keys.each do |mac|\n @client_details.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} client details\"\nend\nremove_keys.clear\n@locations.each do |mac, location|\n if location.time < old\n if client = @client_details[mac]?\n if client.time_added < old\n remove_keys << mac\n end\n else\n remove_keys << mac\n end\n end\nend\nremove_keys.each do |mac|\n @locations.delete(mac)\nend\nlogger.debug do\n \"removed #{remove_keys.size} MACs\"\nend\n"}},{"html_id":"desk_details:Hash(String,DetectedDesks)-instance-method","name":"desk_details","doc":"serial => desks detected","summary":"

serial => desks detected

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L221"},"def":{"name":"desk_details","return_type":"Hash(String, DetectedDesks)","visibility":"Public","body":"@desk_details"}},{"html_id":"desk_locations(zone_id:String)-instance-method","name":"desk_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1260"},"def":{"name":"desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"serials = @zone_lookup[zone_id]? || ([] of String)\nreturn_empty_spaces = @return_empty_spaces\nexpiry_time = desk_data_expiry_time\nserials.compact_map do |serial|\n desks = @desk_mappings[serial]?\n if desks\n else\n next\n end\n if desk_details[serial]?\n else\n next\n end\n floor = @floor_lookup[serial]\n illumination = lux[serial]?\n desks.compact_map do |desk|\n desk_id = desk.label\n occupied = is_occupied?(desk_id, expiry_time)\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: desk_id, level: floor.level_id, building: floor.building_id, capacity: 1, area_lux: illumination, merakimv: serial}\n end\nend.flatten\n"}},{"html_id":"desk_mappings:Hash(String,Array(CameraZone))-instance-method","name":"desk_mappings","doc":"Camera serial => [desk location]","summary":"

Camera serial => [desk location]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1258"},"def":{"name":"desk_mappings","return_type":"Hash(String, Array(CameraZone))","visibility":"Public","body":"@desk_mappings"}},{"html_id":"desk_occupancy:Hash(String,Array(Tuple(Int64,Bool)))-instance-method","name":"desk_occupancy","doc":"=================\nCamera Desk data:\n=================\ndesk_id => [{time, occupied}]","summary":"

================= Camera Desk data: ================= desk_id => [{time, occupied}]

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1195"},"def":{"name":"desk_occupancy","return_type":"Hash(String, Array(Tuple(Int64, Bool)))","visibility":"Public","body":"@desk_occupancy"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":510,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L510"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\ncase location.presence\nwhen \"wireless\"\n wireless_locations(zone_id)\nwhen \"desk\"\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(cam_locs[0]) | typeof(desk_locs[0])).new(cam_locs.size + desk_locs.size)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nwhen nil\n wireless_locs = wireless_locations(zone_id)\n desk_locs = wired_desk_locations(zone_id)\n cam_locs = desk_locations(zone_id)\n combind = Array(typeof(wireless_locs[0]) | typeof(cam_locs[0]) | typeof(desk_locs[0])).new((wireless_locs.size + cam_locs.size) + desk_locs.size)\n combind.concat(wireless_locs)\n combind.concat(desk_locs)\n combind.concat(cam_locs)\nelse\n [] of String\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":935,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L935"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L400"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"hostname_ownership(hostname:String,username:String|Nil):Nil-instance-method","name":"hostname_ownership","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(hostname : String, username : String | Nil) : Nil","args_html":"(hostname : String, username : String | Nil) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1006,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1006"},"def":{"name":"hostname_ownership","args":[{"name":"hostname","external_name":"hostname","restriction":"String"},{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"macs = @mac_hostnames.compact_map do |__arg7|\n mac = __arg7[0]\n host = __arg7[1]\n host == hostname ? mac : nil\nend\nif username && username.presence\n user_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(mac, username, storage)\n end\n end\nelse\n macs.each do |mac|\n @mac_hostnames.delete(mac)\n end\nend\n"}},{"html_id":"inspect_foorplans:Hash(String,Cisco::Meraki::FloorPlan)-instance-method","name":"inspect_foorplans","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L269"},"def":{"name":"inspect_foorplans","visibility":"Public","body":"@floorplan_sizes"}},{"html_id":"inspect_network_devices:Hash(String,Cisco::Meraki::NetworkDevice)-instance-method","name":"inspect_network_devices","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L274"},"def":{"name":"inspect_network_devices","visibility":"Public","body":"@network_devices"}},{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L279"},"def":{"name":"inspect_state","visibility":"Public","body":"logger.debug do\n \"IP Mappings: #{@ip_lookup.keys}\\n\\nMAC Locations: #{@locations.keys}\\n\\nClient Details: #{@client_details.keys}\"\nend\n{ip_mappings: @ip_lookup.size, tracking: @locations.size, client_details: @client_details.size}\n"}},{"html_id":"ip_username_mappings(ip_map:Array(Tuple(String,String,String,String|Nil))):Nil-instance-method","name":"ip_username_mappings","abstract":false,"args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"args_string":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","args_html":"(ip_map : Array(Tuple(String, String, String, String | Nil))) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":943,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L943"},"def":{"name":"ip_username_mappings","args":[{"name":"ip_map","external_name":"ip_map","restriction":"Array(Tuple(String, String, String, String | ::Nil))"}],"return_type":"Nil","visibility":"Public","body":"now = Time.utc\nuser_mac_mappings do |storage|\n ip_map.each do |__arg6|\n ip = __arg6[0]\n username = __arg6[1]\n domain = __arg6[2]\n hostname = __arg6[3]\n username = format_username(username)\n @ip_usernames[ip] = Lookup.new(now, username)\n if lookup = @ip_lookup[ip]?\n map_user_mac(lookup.mac, username, storage)\n end\n end\nend\n"}},{"html_id":"locate_mac(address:String)-instance-method","name":"locate_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L264"},"def":{"name":"locate_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@locations[format_mac(address)]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"returns locations based on most recently seen\nversus most accurate location","summary":"

returns locations based on most recently seen versus most accurate location

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L431"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n location_max_age = @max_location_age.ago\n (Array(String).from_json(macs)).compact_map do |mac|\n if location = locate_mac(mac)\n client = @client_details[mac]?\n if @regex_filter_device_os\n if client && client.os\n if (/#{@regex_filter_device_os}/).match(client.os.not_nil!)\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS does not match regex filter\"\n end\n next\n end\n else\n logger.debug do\n \"[#{username}] IGNORING #{mac} as OS is UNKNOWN\"\n end\n next\n end\n end\n location.client = client\n location.mac = mac\n if client && client.time_added > location_max_age\n location\n else\n if location.time > location_max_age\n location\n end\n end\n end\n end.sort! do |a, b|\n b.time <=> a.time\n end.map do |location|\n lat = location.lat\n lon = location.lng\n loc = {\"location\" => \"wireless\", \"coordinates_from\" => \"bottom-left\", \"x\" => location.x, \"y\" => location.y, \"lon\" => lon, \"lat\" => lat, \"s2_cell_id\" => lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, \"mac\" => location.mac, \"variance\" => location.variance, \"last_seen\" => location.time.to_unix, \"meraki_floor_id\" => location.floor_plan_id, \"meraki_floor_name\" => location.floor_plan_name}\n if level_data = @floorplan_mappings[location.floor_plan_id]?\n level_data.each do |k, v|\n loc[k] = v\n end\n end\n if map_size = @floorplan_sizes[location.floor_plan_id]?\n loc[\"map_width\"] = map_size.width\n loc[\"map_height\"] = map_size.height\n end\n if client = location.client\n if client.manufacturer\n loc[\"manufacturer\"] = client.manufacturer\n end\n if client.os\n loc[\"os\"] = client.os\n end\n if client.ssid\n loc[\"ssid\"] = client.ssid\n end\n end\n loc\n end\nelse\n [] of Nil\nend\n"}},{"html_id":"locateable-instance-method","name":"locateable","doc":"Returns the list of users who can be located","summary":"

Returns the list of users who can be located

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L288"},"def":{"name":"locateable","visibility":"Public","body":"too_old = @max_location_age.ago\n@client_details.compact_map do |mac, client|\n location = @locations[mac]?\n if location && ((location.time > too_old) || (client.time_added > too_old))\n client.user\n end\nend\n"}},{"html_id":"lookup_ip(address:String)-instance-method","name":"lookup_ip","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L260"},"def":{"name":"lookup_ip","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"@ip_lookup[address.downcase]?"}},{"html_id":"lux:Hash(String,Float64)-instance-method","name":"lux","doc":"serial => lux","summary":"

serial => lux

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L224"},"def":{"name":"lux","return_type":"Hash(String, Float64)","visibility":"Public","body":"@lux"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":958,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L958"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"mac_hostnames:Hash(String,String)-instance-method","name":"mac_hostnames","doc":"User lookup helpers using device hostnames","summary":"

User lookup helpers using device hostnames

","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":981,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L981"},"def":{"name":"mac_hostnames","return_type":"Hash(String, String)","visibility":"Public","body":"@mac_hostnames"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L409"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username.presence || email.presence.not_nil!)\nif macs = user_mac_mappings(&.[]?(username))\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"map_users_to_macs(network_id:String|Nil=nil)-instance-method","name":"map_users_to_macs","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L310"},"def":{"name":"map_users_to_macs","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"mapping users to device MACs\"\nend\nclients = poll_clients(network_id)\nnew_devices = 0\nupdated_dev = 0\nnow = Time.utc\nlogger.debug do\n \"mapping found #{clients.size} devices\"\nend\nuser_mac_mappings do |storage|\n clients.each do |client|\n user_mac = format_mac(client.mac)\n client.time_added = now\n if hostname = client.description\n @mac_hostnames[user_mac] = hostname\n end\n user_id = client.user\n if user_id\n @ignore_usernames.each do |name|\n if user_id.starts_with?(name)\n client.user = user_id = nil\n break\n end\n end\n end\n if user_id.nil?\n if known_id = storage[user_mac]?\n client.user = known_id\n end\n end\n @client_details[user_mac] = client\n if user_id\n else\n next\n end\n was_update, was_new = map_user_mac(user_mac, user_id, storage)\n if was_update\n updated_dev = updated_dev + 1\n end\n if was_new\n new_devices = new_devices + 1\n end\n end\nend\nlogger.debug do\n \"mapping assigned #{new_devices} new devices, #{updated_dev} user updated\"\nend\nnil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L84"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L116"},"def":{"name":"on_update","visibility":"Public","body":"@default_network = (setting?(String, :default_network_id)) || \"\"\n@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@acceptable_confidence = (setting?(Float64, :acceptable_confidence)) || 5.0\n@maximum_uncertainty = (setting?(Float64, :maximum_uncertainty)) || 25.0\n@override_min_variance = (setting?(Float64, :override_min_variance)) || 0.0\n@regex_filter_device_os = setting?(String, :regex_filter_device_os)\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\n@confidence_time = @max_location_age / 3\n@drift_location_age = @max_location_age - @confidence_time\n@time_multiplier = 1.0 / (@drift_location_age.to_i - @confidence_time.to_i).to_f64\n@confidence_multiplier = 1.0 / (@maximum_uncertainty.to_i - @acceptable_confidence.to_i).to_f64\n@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Float64)), :floorplan_mappings)) || @floorplan_mappings\n@s2_level = (setting?(Int32, :s2_level)) || 21\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\ndisable_username_lookup = (setting?(Bool, :disable_username_lookup)) || false\nschedule.clear\ninit_wired_port_mappings\nif @default_network.presence\n schedule.every(59.seconds) do\n update_sensor_cache\n end\n if disable_username_lookup\n else\n schedule.every(2.minutes) do\n map_users_to_macs\n end\n end\n schedule.every(29.minutes) do\n sync_floorplan_sizes\n end\n schedule.in(30.milliseconds) do\n sync_floorplan_sizes\n update_sensor_cache\n end\nend\nschedule.every(30.minutes) do\n cleanup_caches\nend\nsubscriptions.clear\nif @default_network.presence\n dashboard.subscribe(@default_network) do |_subscription, new_value|\n parse_new_locations(new_value)\n end\nend\nzones = config.control_system.not_nil!.zones\nspawn(same_thread: true) do\n find_building(zones)\nend\nif system.exists?(:MerakiMQTT)\n mqtt_module = system[:MerakiMQTT]\n mqtt_module.subscribe(:floor_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @floor_lookup = Hash(String, FloorMapping).from_json(new_value)\n if @zone_lookup.empty?\n else\n update_desk_mappings\n end\n end\n mqtt_module.subscribe(:zone_lookup) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n @zone_lookup = Hash(String, Array(String)).from_json(new_value)\n if @floor_lookup.empty?\n else\n update_desk_mappings\n end\n end\n schedule.every(10.minutes) do\n update_desk_mappings\n end\n mqtt_module.subscribe(:camera_updated) do |_sub, new_value|\n if new_value.nil? || (new_value == \"null\")\n next\n end\n _time, camera_serial = Tuple(Int64, String).from_json(new_value)\n if @desk_mappings.has_key?(camera_serial)\n check_camera_status(mqtt_module, camera_serial)\n end\n end\nend\n"}},{"html_id":"parse_new_locations(payload:String):Nil-instance-method","name":"parse_new_locations","doc":"Webhook endpoint for scanning API, expects version 3","summary":"

Webhook endpoint for scanning API, expects version 3

","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(payload : String) : Nil","args_html":"(payload : String) : Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L763"},"def":{"name":"parse_new_locations","args":[{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"if @debug_payload\n logger.debug do\n payload\n end\nend\nlocations_updated = 0\nbegin\n observations = Array(Observation).from_json(payload)\n logger.debug do\n \"parsed meraki payload\"\n end\n ignore_older = @max_location_age.ago.in(Time::Location::UTC)\n drift_older = @drift_location_age.ago.in(Time::Location::UTC)\n current_time = Time.utc\n observations.each do |observation|\n client_mac = format_mac(observation.client_mac)\n existing = @locations[client_mac]?\n if @debug_webhook\n logger.debug do\n \"parsing new observation for #{client_mac}\"\n end\n end\n if @regex_filter_device_os\n client = @client_details[format_mac(observation.client_mac)]?\n if client.nil? || (/#{@regex_filter_device_os}/).match(client.os || \"\").nil?\n if @debug_webhook\n logger.debug do\n \"FILTERED OUT #{client_mac}: OS \\\"#{observation.os}\\\" did not match \\\"#{@regex_filter_device_os}\\\"\"\n end\n end\n next\n end\n end\n location = parse(existing, ignore_older, drift_older, observation)\n if location\n @locations[client_mac] = location\n locations_updated = locations_updated + 1\n end\n update_ipv4(observation.ipv4, client_mac, current_time)\n update_ipv6(observation.ipv6.try(&.downcase), client_mac, current_time)\n end\nrescue e\n logger.error do\n \"failed to parse meraki scanning API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{payload}\"\n end\nend\nlogger.debug do\n \"updated #{locations_updated} locations\"\nend\n"}},{"html_id":"poll_clients(network_id:String|Nil=nil,timespan:UInt32=900_u32,connection:ConnectionType|Nil=nil,device_serial:String|Nil=nil)-instance-method","name":"poll_clients","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","args_html":"(network_id : String | Nil = nil, timespan : UInt32 = 900_u32, connection : ConnectionType | Nil = nil, device_serial : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L297"},"def":{"name":"poll_clients","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"},{"name":"timespan","default_value":"900_u32","external_name":"timespan","restriction":"UInt32"},{"name":"connection","default_value":"nil","external_name":"connection","restriction":"ConnectionType | ::Nil"},{"name":"device_serial","default_value":"nil","external_name":"device_serial","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nArray(Client).from_json((dashboard.poll_clients(network_id, timespan, connection, device_serial)).get.to_json)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1163"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\ncam_state = @camera_analytics[format_mac(mac)]?\nif cam_state\nelse\n return nil\nend\narea_str, _, sensor_type = id.rpartition('-')\nfilter = case sensor_type\nwhen \"people\"\n SensorType::PeopleCount\nwhen \"presence\"\n SensorType::Presence\nelse\n return nil\nend\narea_id = area_str.to_i64?\nif area_id\nelse\n return nil\nend\nzone_count = cam_state[:details].zones[area_id]?.try(&.person)\nif zone_count\nelse\n return nil\nend\n(to_sensors(nil, filter, **cam_state)).find do |sensor|\n sensor.id == id\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1148"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (!(type.in?({\"Presence\", \"PeopleCount\"})))\n return NO_MATCH\nend\nfilter = type ? SensorType.parse(type) : nil\nif mac\n cam_state = @camera_analytics[format_mac(mac)]?\n if cam_state\n else\n return NO_MATCH\n end\n return to_sensors(zone_id, filter, **cam_state)\nend\n@camera_analytics.values.flat_map do |cam_data|\n to_sensors(zone_id, filter, **cam_data)\nend\n"}},{"html_id":"sync_floorplan_sizes(network_id:String|Nil=nil)-instance-method","name":"sync_floorplan_sizes","abstract":false,"args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"args_string":"(network_id : String | Nil = nil)","args_html":"(network_id : String | Nil = nil)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L676"},"def":{"name":"sync_floorplan_sizes","args":[{"name":"network_id","default_value":"nil","external_name":"network_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"network_id = network_id.presence || @default_network\nlogger.debug do\n \"syncing floor plan sizes for network #{network_id}\"\nend\nfloor_plans = {} of String => FloorPlan\nreq_all(\"/api/v1/networks/#{network_id}/floorPlans?perPage=1000\") do |response|\n (Array(FloorPlan).from_json(response)).each do |plan|\n floor_plans[plan.id] = plan\n end\n nil\nend\n@floorplan_sizes = floor_plans\nnetwork_devices = {} of String => NetworkDevice\ncameras = [] of NetworkDevice\nreq_all(\"/api/v1/networks/#{network_id}/devices?perPage=1000\") do |response|\n (Array(NetworkDevice).from_json(response)).each do |device|\n if device.firmware.starts_with?(\"cam\")\n cameras << device\n end\n if device.floor_plan_id\n else\n next\n end\n network_devices[format_mac(device.mac)] = device\n end\n nil\nend\n@network_devices = network_devices\n@cameras = cameras\n{floor_plans, network_devices}\n"}},{"html_id":"update_desk_mappings-instance-method","name":"update_desk_mappings","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1297"},"def":{"name":"update_desk_mappings","visibility":"Public","body":"desk_mappings = Hash(String, Array(CameraZone)).new\n@floor_lookup.keys.each do |serial|\n begin\n desk_mappings[serial] = (Array(CameraZone).from_json((dashboard.get_zones(serial)).get.to_json)).reject!() do |__arg12|\n __arg12.id == \"0\"\n end\n rescue error\n logger.warn(exception: error) do\n \"fetching zones for camera: #{serial}\"\n end\n end\nend\n@desk_mappings = desk_mappings\nmqtt_module = system[:MerakiMQTT]\ndesk_mappings.keys.each do |camera_serial|\n check_camera_status(mqtt_module, camera_serial)\nend\n"}},{"html_id":"update_sensor_cache-instance-method","name":"update_sensor_cache","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L728"},"def":{"name":"update_sensor_cache","visibility":"Public","body":"analytics = {} of String => CamAnalytics\ncameras.each do |cam|\n begin\n mappings = @floorplan_mappings[cam.floor_plan_id]?\n counts = camera_analytics(cam.serial)\n mac = format_mac(cam.mac)\n if mappings\n analytics[mac] = {camera: cam, details: counts, building: mappings[\"building\"]?.as(String | ::Nil), level: mappings[\"level\"]?.as(String | ::Nil)}\n else\n analytics[mac] = {camera: cam, details: counts, building: nil.as(String | ::Nil), level: nil.as(String | ::Nil)}\n end\n counts.zones.each do |area_id, count|\n self[\"people-#{mac}-#{area_id}\"] = count.person\n self[\"presence-#{mac}-#{area_id}\"] = count.person > 0\n end\n rescue error\n logger.debug(exception: error) do\n \"failed to obtain analytics for #{cam.name} (serial: #{cam.serial})\"\n end\n end\nend\n@camera_analytics = analytics\n"}},{"html_id":"wired_desk_locations(zone_id:String)-instance-method","name":"wired_desk_locations","doc":"grabs the wired desk data for a level","summary":"

grabs the wired desk data for a level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":1064,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L1064"},"def":{"name":"wired_desk_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"return_empty_spaces = @return_empty_spaces\nserials = if zone_id == @building_zone\n @level_serials.values.flatten\nelse\n @level_serials[zone_id]? || ([] of String)\nend\nserials.compact_map do |serial|\n ports = @port_status[serial]?\n if ports\n else\n next\n end\n ports.map do |__arg8|\n port_num = __arg8[0]\n port = __arg8[1]\n occupied = port.status.connected? ? 1 : 0\n if (!return_empty_spaces) && (occupied == 0)\n next\n end\n {location: \"desk\", at_location: occupied, map_id: port.desk_id, level: port.level_id, building: @building_zone, capacity: 1, mac: port.mac, port: port_num, switch: port.switch_serial}\n end\nend.flatten\n"}},{"html_id":"wireless_locations(zone_id:String)-instance-method","name":"wireless_locations","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L534"},"def":{"name":"wireless_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"floors = [] of String\n@floorplan_mappings.each do |floor_id, data|\n if data.values.includes?(zone_id)\n floors << floor_id\n end\nend\nlogger.debug do\n \"found matching meraki floors: #{floors}\"\nend\nif floors.empty?\n return [] of String\nend\nchecking_count = @locations.size\nwrong_floor = 0\ntoo_old = 0\noldest_location = @max_location_age.ago\nmatching = @locations.compact_map do |mac, loc|\n client = @client_details[mac]?\n loc.client = client\n if loc.time < oldest_location\n if client\n if client.time_added < oldest_location\n too_old = too_old + 1\n next\n end\n else\n too_old = too_old + 1\n next\n end\n end\n if !(floors.includes?(loc.floor_plan_id))\n wrong_floor = wrong_floor + 1\n next\n end\n loc.mac = mac\n loc\nend\nlogger.debug do\n \"found #{matching.size} matching devices\\nchecked #{checking_count} locations, #{wrong_floor} were on the wrong floor, #{too_old} were too old\"\nend\nmatching.group_by(&.floor_plan_id).flat_map do |floor_id, locations|\n map_width = -1.0\n map_height = -1.0\n if map_size = @floorplan_sizes[floor_id]?\n map_width = map_size.width\n map_height = map_size.height\n else\n if mappings = @floorplan_mappings[floor_id]?\n map_width = (mappings[\"width\"]? || map_width).as(Float64)\n map_height = (mappings[\"height\"]? || map_width).as(Float64)\n end\n end\n locations.compact_map do |loc|\n lat = loc.lat\n lon = loc.lng\n if client = @client_details[loc.mac]?\n manufacturer = client.manufacturer\n os = client.os\n ssid = client.ssid\n end\n if (x = loc.x) && (y = loc.y)\n if x.is_a?(Float64) && y.is_a?(Float64)\n if (loc.x.as(Float64)).nan? || (loc.y.as(Float64)).nan?\n logger.warn do\n \"ignoring bad location for #{loc.mac}, NaN\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, unexpected value #{loc.x.inspect}\"\n end\n next\n end\n else\n logger.warn do\n \"ignoring bad location for #{loc.mac}, no coordinates provided\"\n end\n next\n end\n {location: :wireless, coordinates_from: \"bottom-left\", x: loc.x, y: loc.y, lon: lon, lat: lat, s2_cell_id: lat ? (S2Cells::LatLon.new(lat.not_nil!, lon.not_nil!)).to_token(@s2_level) : nil, mac: loc.mac, variance: loc.variance, last_seen: loc.time.to_unix, map_width: map_width, map_height: map_height, manufacturer: manufacturer, os: os, ssid: ssid}\n end\nend\n"}}],"types":[{"html_id":"drivers/Cisco/Meraki/Locations/CamAnalytics","path":"Cisco/Meraki/Locations/CamAnalytics.html","kind":"alias","full_name":"Cisco::Meraki::Locations::CamAnalytics","name":"CamAnalytics","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L717"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String | Nil, level: String | Nil)","aliased_html":"{camera: Cisco::Meraki::NetworkDevice, details: Cisco::Meraki::CameraAnalytics, building: String?, level: String?}","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}},{"html_id":"drivers/Cisco/Meraki/Locations/Lookup","path":"Cisco/Meraki/Locations/Lookup.html","kind":"struct","full_name":"Cisco::Meraki::Locations::Lookup","name":"Lookup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L246"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"},"constructors":[{"html_id":"new(time:Time,mac:String)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"args_string":"(time : Time, mac : String)","args_html":"(time : Time, mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L252"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"::Time"},{"name":"mac","external_name":"mac","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time, mac)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L247"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L250"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"time=(time:Time)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L249"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Cisco/Meraki/Locations/WiredDesks","path":"Cisco/Meraki/Locations/WiredDesks.html","kind":"alias","full_name":"Cisco::Meraki::Locations::WiredDesks","name":"WiredDesks","abstract":false,"locations":[{"filename":"src/cisco/meraki/meraki_locations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/meraki_locations.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(Int32, String))","aliased_html":"Hash(String, Hash(Int32, String))","const":false,"namespace":{"html_id":"drivers/Cisco/Meraki/Locations","kind":"class","full_name":"Cisco::Meraki::Locations","name":"Locations"}}]},{"html_id":"drivers/Cisco/Meraki/LuxLevel","path":"Cisco/Meraki/LuxLevel.html","kind":"class","full_name":"Cisco::Meraki::LuxLevel","name":"LuxLevel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lux:Float64-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L40"},"def":{"name":"lux","return_type":"Float64","visibility":"Public","body":"@lux"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt_models.cr#L38"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"if (value = @timestamp).nil?\n @timestamp = (Time.utc.to_unix)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/MessageType","path":"Cisco/Meraki/MessageType.html","kind":"enum","full_name":"Cisco::Meraki::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L284"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"WiFi","name":"WiFi","value":"1"},{"id":"Bluetooth","name":"Bluetooth","value":"2"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"bluetooth?-instance-method","name":"bluetooth?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L287"},"def":{"name":"bluetooth?","visibility":"Public","body":"self == Bluetooth"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L285"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"wi_fi?-instance-method","name":"wi_fi?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L286"},"def":{"name":"wi_fi?","visibility":"Public","body":"self == WiFi"}}]},{"html_id":"drivers/Cisco/Meraki/MQTT","path":"Cisco/Meraki/MQTT.html","kind":"class","full_name":"Cisco::Meraki::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/mqtt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LUX_ID","name":"LUX_ID","value":"\"lux\""},{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SUBS","name":"SUBS","value":"{\"/merakimv/+/net.meraki.detector\", \"/merakimv/+/light\", \"/merakimv/+/0\", \"/merakimv/+/crossing/+\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L149"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\nend\n"}},{"html_id":"crossing_people:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_people","doc":"Serial => count","summary":"

Serial => count

","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L192"},"def":{"name":"crossing_people","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_people).nil?\n @crossing_people = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"crossing_vehicle:Hash(String,Tuple(Int32,Int64))-instance-method","name":"crossing_vehicle","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L196"},"def":{"name":"crossing_vehicle","return_type":"Hash(String, Tuple(Int32, Int64))","visibility":"Public","body":"if (value = @crossing_vehicle).nil?\n @crossing_vehicle = (Hash(String, Tuple(Int32, Int64)).new do |hash, key|\n hash[key] = {0, 0_i64}\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L163"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"lux:Hash(String,Tuple(Float64,Int64))-instance-method","name":"lux","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L200"},"def":{"name":"lux","return_type":"Hash(String, Tuple(Float64, Int64))","visibility":"Public","body":"@lux"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L85"},"def":{"name":"on_unload","visibility":"Public","body":""}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L88"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\nzone_lookup = Hash(String, Array(String)).new do |h, k|\n h[k] = [] of String\nend\nfloor_lookup = {} of String => FloorMapping\nfloor_mappings = (setting?(Array(FloorMapping), :floor_mappings)) || ([] of FloorMapping)\nfloor_mappings.each do |mapping|\n mapping.camera_serials.each do |serial|\n zone_lookup[mapping.level_id] << serial\n if mapping.building_id\n zone_lookup[mapping.building_id.not_nil!] << serial\n end\n floor_lookup[serial] = mapping\n end\nend\nself[:floor_lookup] = @floor_lookup = floor_lookup\nself[:zone_lookup] = zone_lookup\nexisting = @subs\n@subs = SUBS.to_a\n@line_crossing = line_crossing_combined = (setting?(Hash(String, Array(String)), :line_crossing_combined)) || ({} of String => Array(String))\nline_crossing_mapping = {} of String => String\nline_crossing_combined.each do |name, serials|\n serials.each do |serial|\n line_crossing_mapping[serial] = name\n end\nend\n@crossing_lookup = line_crossing_mapping\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif !(setting?(Bool, :disable_line_crossing_reset))\n time_zone = (setting?(String, :timezone)).presence || \"America/New_York\"\n tz = Time::Location.load(time_zone)\n schedule.cron(\"30 3 * * *\", tz) do\n crossing_people.each_key do |key|\n self[\"camera_mvx-#{key}_person\"] = 0\n end\n crossing_people.clear\n crossing_vehicle.each_key do |key|\n self[\"camera_mvx-#{key}_vehicle\"] = 0\n end\n crossing_vehicle.clear\n end\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n client.unsubscribe(sub)\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"people_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L179"},"def":{"name":"people_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @people_counts).nil?\n @people_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L168"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\n@mqtt.not_nil!.ping\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L173"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L254"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif id == \"lux\"\n (add_lux_values([] of Detail, mac)).first?\nelse\n if id.starts_with?(\"zone\")\n zone, count_type = id.split('_', 2)\n zone = zone[4..-1]\n sensor_type = SensorType::PeopleCount\n lookup = case count_type\n when \"people\"\n people_counts\n when \"vehicles\"\n sensor_type = SensorType::Counter\n vehicle_counts\n end\n if lookup\n if counts = lookup[mac]?\n if count = counts[zone]?\n to_sensor(sensor_type, mac, \"zone#{zone}_#{count_type}\", count[0], count[1])\n end\n end\n end\n else\n nil\n end\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L291"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n serial_filter = nil\n if zone_id && (!@floor_lookup.empty?)\n serial_filter = [] of String\n @floor_lookup.each do |serial, floor|\n if {floor.level_id, floor.building_id}.includes?(zone_id)\n serial_filter << serial\n end\n end\n end\n sensors = [] of Detail\n filter = type ? Interface::Sensor::SensorType.parse?(type) : nil\n case filter\n when nil\n add_lux_values(sensors, mac, serial_filter)\n add_people_counts(sensors, mac, serial_filter)\n add_vehicle_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .people_count?\n add_people_counts(sensors, mac, serial_filter)\n add_people_crossing(sensors, mac, serial_filter)\n when .counter?\n add_vehicle_counts(sensors, mac, serial_filter)\n add_vehicle_crossing(sensors, mac, serial_filter)\n when .illuminance?\n add_lux_values(sensors, mac, serial_filter)\n else\n sensors\n end\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"vehicle_counts:Hash(String,Hash(String,Tuple(Float64,Int64)))-instance-method","name":"vehicle_counts","abstract":false,"location":{"filename":"src/cisco/meraki/mqtt.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/mqtt.cr#L185"},"def":{"name":"vehicle_counts","return_type":"Hash(String, Hash(String, Tuple(Float64, Int64)))","visibility":"Public","body":"if (value = @vehicle_counts).nil?\n @vehicle_counts = (Hash(String, Hash(String, Tuple(Float64, Int64))).new do |hash, key|\n hash[key] = {} of String => Tuple(Float64, Int64)\n end)\nelse\n value\nend"}}]},{"html_id":"drivers/Cisco/Meraki/Network","path":"Cisco/Meraki/Network.html","kind":"class","full_name":"Cisco::Meraki::Network","name":"Network","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"enrollment_string:String|Nil-instance-method","name":"enrollment_string","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string","return_type":"String | ::Nil","visibility":"Public","body":"@enrollment_string"}},{"html_id":"enrollment_string=(enrollment_string:String|Nil)-instance-method","name":"enrollment_string=","abstract":false,"args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"args_string":"(enrollment_string : String | Nil)","args_html":"(enrollment_string : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L35"},"def":{"name":"enrollment_string=","args":[{"name":"enrollment_string","external_name":"enrollment_string","restriction":"String | ::Nil"}],"visibility":"Public","body":"@enrollment_string = enrollment_string"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L19"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String|Nil-instance-method","name":"notes","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes","return_type":"String | ::Nil","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String|Nil)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"args_string":"(notes : String | Nil)","args_html":"(notes : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L36"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String | ::Nil"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"organization_id:String-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id","return_type":"String","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:String)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"args_string":"(organization_id : String)","args_html":"(organization_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L22"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"String"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"product_types:Array(String)-instance-method","name":"product_types","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types","return_type":"Array(String)","visibility":"Public","body":"@product_types"}},{"html_id":"product_types=(product_types:Array(String))-instance-method","name":"product_types=","abstract":false,"args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"args_string":"(product_types : Array(String))","args_html":"(product_types : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L27"},"def":{"name":"product_types=","args":[{"name":"product_types","external_name":"product_types","restriction":"Array(String)"}],"visibility":"Public","body":"@product_types = product_types"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L31"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}},{"html_id":"time_zone:String-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone","return_type":"String","visibility":"Public","body":"@time_zone"}},{"html_id":"time_zone=(time_zone:String)-instance-method","name":"time_zone=","abstract":false,"args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"args_string":"(time_zone : String)","args_html":"(time_zone : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L30"},"def":{"name":"time_zone=","args":[{"name":"time_zone","external_name":"time_zone","restriction":"String"}],"visibility":"Public","body":"@time_zone = time_zone"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/NetworkDevice","path":"Cisco/Meraki/NetworkDevice.html","kind":"class","full_name":"Cisco::Meraki::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L105"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"floor_plan_id:String|Nil-instance-method","name":"floor_plan_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_plan_id"}},{"html_id":"floor_plan_id=(floor_plan_id:String|Nil)-instance-method","name":"floor_plan_id=","abstract":false,"args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"args_string":"(floor_plan_id : String | Nil)","args_html":"(floor_plan_id : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L97"},"def":{"name":"floor_plan_id=","args":[{"name":"floor_plan_id","external_name":"floor_plan_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_plan_id = floor_plan_id"}},{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L99"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L100"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}},{"html_id":"location:DeviceLocation|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location","return_type":"DeviceLocation | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:DeviceLocation|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"args_string":"(location : DeviceLocation | Nil)","args_html":"(location : DeviceLocation | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L94"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"DeviceLocation | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L101"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"model:String-instance-method","name":"model","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L104"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"name:String|Nil-instance-method","name":"name","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","doc":"This is useful for when we have to map meraki IDs to our zones","summary":"

This is useful for when we have to map meraki IDs to our zones

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L108"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"serial:String-instance-method","name":"serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial","return_type":"String","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:String)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"String"}],"args_string":"(serial : String)","args_html":"(serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L103"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"String"}],"visibility":"Public","body":"@serial = serial"}}]},{"html_id":"drivers/Cisco/Meraki/Observation","path":"Cisco/Meraki/Observation.html","kind":"class","full_name":"Cisco::Meraki::Observation","name":"Observation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_mac:String-instance-method","name":"client_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac","return_type":"String","visibility":"Public","body":"@client_mac"}},{"html_id":"client_mac=(client_mac:String)-instance-method","name":"client_mac=","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L263"},"def":{"name":"client_mac=","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"@client_mac = client_mac"}},{"html_id":"ipv4:String|Nil-instance-method","name":"ipv4","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4","return_type":"String | ::Nil","visibility":"Public","body":"@ipv4"}},{"html_id":"ipv4=(ipv4:String|Nil)-instance-method","name":"ipv4=","abstract":false,"args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"args_string":"(ipv4 : String | Nil)","args_html":"(ipv4 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L266"},"def":{"name":"ipv4=","args":[{"name":"ipv4","external_name":"ipv4","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv4 = ipv4"}},{"html_id":"ipv6:String|Nil-instance-method","name":"ipv6","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6","return_type":"String | ::Nil","visibility":"Public","body":"@ipv6"}},{"html_id":"ipv6=(ipv6:String|Nil)-instance-method","name":"ipv6=","abstract":false,"args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"args_string":"(ipv6 : String | Nil)","args_html":"(ipv6 : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L267"},"def":{"name":"ipv6=","args":[{"name":"ipv6","external_name":"ipv6","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ipv6 = ipv6"}},{"html_id":"latest_record:LatestRecord-instance-method","name":"latest_record","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record","return_type":"LatestRecord","visibility":"Public","body":"@latest_record"}},{"html_id":"latest_record=(latest_record:LatestRecord)-instance-method","name":"latest_record=","abstract":false,"args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"args_string":"(latest_record : LatestRecord)","args_html":"(latest_record : LatestRecord)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L272"},"def":{"name":"latest_record=","args":[{"name":"latest_record","external_name":"latest_record","restriction":"LatestRecord"}],"visibility":"Public","body":"@latest_record = latest_record"}},{"html_id":"locations:Array(DeviceLocation)-instance-method","name":"locations","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations","return_type":"Array(DeviceLocation)","visibility":"Public","body":"@locations"}},{"html_id":"locations=(locations:Array(DeviceLocation))-instance-method","name":"locations=","abstract":false,"args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"args_string":"(locations : Array(DeviceLocation))","args_html":"(locations : Array(DeviceLocation))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L273"},"def":{"name":"locations=","args":[{"name":"locations","external_name":"locations","restriction":"Array(DeviceLocation)"}],"visibility":"Public","body":"@locations = locations"}},{"html_id":"manufacturer:String|Nil-instance-method","name":"manufacturer","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer","return_type":"String | ::Nil","visibility":"Public","body":"@manufacturer"}},{"html_id":"manufacturer=(manufacturer:String|Nil)-instance-method","name":"manufacturer=","abstract":false,"args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"args_string":"(manufacturer : String | Nil)","args_html":"(manufacturer : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L265"},"def":{"name":"manufacturer=","args":[{"name":"manufacturer","external_name":"manufacturer","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacturer = manufacturer"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L269"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"ssid:String|Nil-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid","return_type":"String | ::Nil","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String|Nil)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"args_string":"(ssid : String | Nil)","args_html":"(ssid : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L268"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ssid = ssid"}}]},{"html_id":"drivers/Cisco/Meraki/Organization","path":"Cisco/Meraki/Organization.html","kind":"class","full_name":"Cisco::Meraki::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"api:NamedTuple(enabled:Bool)-instance-method","name":"api","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api","return_type":"NamedTuple(enabled: Bool)","visibility":"Public","body":"@api"}},{"html_id":"api=(api:NamedTuple(enabled:Bool))-instance-method","name":"api=","abstract":false,"args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"args_string":"(api : NamedTuple(enabled: Bool))","args_html":"(api : NamedTuple(enabled: Bool))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L13"},"def":{"name":"api=","args":[{"name":"api","external_name":"api","restriction":"NamedTuple(enabled: Bool)"}],"visibility":"Public","body":"@api = api"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L12"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Meraki/PortState","path":"Cisco/Meraki/PortState.html","kind":"enum","full_name":"Cisco::Meraki::PortState","name":"PortState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L400"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Connected","name":"Connected","value":"0"},{"id":"Disconnected","name":"Disconnected","value":"1"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"instance_methods":[{"html_id":"connected?-instance-method","name":"connected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L401"},"def":{"name":"connected?","visibility":"Public","body":"self == Connected"}},{"html_id":"disconnected?-instance-method","name":"disconnected?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L402"},"def":{"name":"disconnected?","visibility":"Public","body":"self == Disconnected"}}]},{"html_id":"drivers/Cisco/Meraki/PortStatusResponse","path":"Cisco/Meraki/PortStatusResponse.html","kind":"class","full_name":"Cisco::Meraki::PortStatusResponse","name":"PortStatusResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":405,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L405"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L406"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_id:String-instance-method","name":"desk_id","abstract":false,"def":{"name":"desk_id","return_type":"String","visibility":"Public","body":"if (value = @desk_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#desk_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"desk_id=(desk_id:String)-instance-method","name":"desk_id=","abstract":false,"args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"args_string":"(desk_id : String)","args_html":"(desk_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L427"},"def":{"name":"desk_id=","args":[{"name":"desk_id","external_name":"desk_id","restriction":"String"}],"visibility":"Public","body":"@desk_id = desk_id"}},{"html_id":"desk_id?:String|Nil-instance-method","name":"desk_id?","abstract":false,"def":{"name":"desk_id?","return_type":"String | ::Nil","visibility":"Public","body":"@desk_id"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":414,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L414"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_uplink?:Bool-instance-method","name":"is_uplink?","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":418,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L418"},"def":{"name":"is_uplink?","return_type":"Bool","visibility":"Public","body":"@is_uplink"}},{"html_id":"level_id:String-instance-method","name":"level_id","abstract":false,"def":{"name":"level_id","return_type":"String","visibility":"Public","body":"if (value = @level_id).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#level_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"level_id=(level_id:String)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"args_string":"(level_id : String)","args_html":"(level_id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":430,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L430"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_id?:String|Nil-instance-method","name":"level_id?","abstract":false,"def":{"name":"level_id?","return_type":"String | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"mac:String|Nil-instance-method","name":"mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac","return_type":"String | ::Nil","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String|Nil)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"args_string":"(mac : String | Nil)","args_html":"(mac : String | Nil)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":424,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L424"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"port:Int32-instance-method","name":"port","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L412"},"def":{"name":"port","return_type":"Int32","visibility":"Public","body":"if (value = @port).nil?\n @port = (port_id.to_i)\nelse\n value\nend"}},{"html_id":"port_id:String-instance-method","name":"port_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L409"},"def":{"name":"port_id","return_type":"String","visibility":"Public","body":"@port_id"}},{"html_id":"status:PortState-instance-method","name":"status","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L415"},"def":{"name":"status","return_type":"PortState","visibility":"Public","body":"@status"}},{"html_id":"switch_serial:String-instance-method","name":"switch_serial","abstract":false,"def":{"name":"switch_serial","return_type":"String","visibility":"Public","body":"if (value = @switch_serial).nil?\n ::raise(NilAssertionError.new(\"Cisco::Meraki::PortStatusResponse#switch_serial cannot be nil\"))\nelse\n value\nend"}},{"html_id":"switch_serial=(switch_serial:String)-instance-method","name":"switch_serial=","abstract":false,"args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"args_string":"(switch_serial : String)","args_html":"(switch_serial : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L421"},"def":{"name":"switch_serial=","args":[{"name":"switch_serial","external_name":"switch_serial","restriction":"String"}],"visibility":"Public","body":"@switch_serial = switch_serial"}},{"html_id":"switch_serial?:String|Nil-instance-method","name":"switch_serial?","abstract":false,"def":{"name":"switch_serial?","return_type":"String | ::Nil","visibility":"Public","body":"@switch_serial"}}]},{"html_id":"drivers/Cisco/Meraki/RSSI","path":"Cisco/Meraki/RSSI.html","kind":"class","full_name":"Cisco::Meraki::RSSI","name":"RSSI","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_point_mac:String-instance-method","name":"access_point_mac","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac","return_type":"String","visibility":"Public","body":"@access_point_mac"}},{"html_id":"access_point_mac=(access_point_mac:String)-instance-method","name":"access_point_mac=","abstract":false,"args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"args_string":"(access_point_mac : String)","args_html":"(access_point_mac : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L158"},"def":{"name":"access_point_mac=","args":[{"name":"access_point_mac","external_name":"access_point_mac","restriction":"String"}],"visibility":"Public","body":"@access_point_mac = access_point_mac"}},{"html_id":"rssi:Int32-instance-method","name":"rssi","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi","return_type":"Int32","visibility":"Public","body":"@rssi"}},{"html_id":"rssi=(rssi:Int32)-instance-method","name":"rssi=","abstract":false,"args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"args_string":"(rssi : Int32)","args_html":"(rssi : Int32)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L159"},"def":{"name":"rssi=","args":[{"name":"rssi","external_name":"rssi","restriction":"Int32"}],"visibility":"Public","body":"@rssi = rssi"}}]},{"html_id":"drivers/Cisco/Meraki/WebhookAlert","path":"Cisco/Meraki/WebhookAlert.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alert_data:PortData-instance-method","name":"alert_data","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":387,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L387"},"def":{"name":"alert_data","return_type":"PortData","visibility":"Public","body":"@alert_data"}},{"html_id":"alert_type:AlertType-instance-method","name":"alert_type","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":384,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L384"},"def":{"name":"alert_type","return_type":"AlertType","visibility":"Public","body":"@alert_type"}},{"html_id":"device_serial:String-instance-method","name":"device_serial","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L390"},"def":{"name":"device_serial","return_type":"String","visibility":"Public","body":"@device_serial"}},{"html_id":"network_id:String-instance-method","name":"network_id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":381,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L381"},"def":{"name":"network_id","return_type":"String","visibility":"Public","body":"@network_id"}},{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L395"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"alert_data.port_num"}},{"html_id":"shared_secret:String-instance-method","name":"shared_secret","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":393,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L393"},"def":{"name":"shared_secret","return_type":"String","visibility":"Public","body":"@shared_secret"}}],"types":[{"html_id":"drivers/Cisco/Meraki/WebhookAlert/PortData","path":"Cisco/Meraki/WebhookAlert/PortData.html","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert::PortData","name":"PortData","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L373"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki/WebhookAlert","kind":"struct","full_name":"Cisco::Meraki::WebhookAlert","name":"WebhookAlert"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L374"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"port_num:Int32-instance-method","name":"port_num","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L377"},"def":{"name":"port_num","return_type":"Int32","visibility":"Public","body":"@port_num"}}]}]},{"html_id":"drivers/Cisco/Meraki/ZoneDetails","path":"Cisco/Meraki/ZoneDetails.html","kind":"struct","full_name":"Cisco::Meraki::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/meraki/scanning_api.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L352"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Meraki","kind":"module","full_name":"Cisco::Meraki","name":"Meraki"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L353"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L355"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L356"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/cisco/meraki/scanning_api.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/meraki/scanning_api.cr#L357"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Cisco/RoomKit","path":"Cisco/RoomKit.html","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Cameras","kind":"module","full_name":"Cisco::CollaborationEndpoint::Cameras","name":"Cameras"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Powerable","kind":"module","full_name":"Cisco::CollaborationEndpoint::Powerable","name":"Powerable"},{"html_id":"drivers/Cisco/CollaborationEndpoint/Presentation","kind":"module","full_name":"Cisco::CollaborationEndpoint::Presentation","name":"Presentation"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L45"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}],"instance_methods":[{"html_id":"autofocus_diagnostics_start(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_start","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L248"},"def":{"name":"autofocus_diagnostics_start","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Start\", camera_id: camera_id)\n"}},{"html_id":"autofocus_diagnostics_stop(camera_id:Int32)-instance-method","name":"autofocus_diagnostics_stop","abstract":false,"args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"args_string":"(camera_id : Int32)","args_html":"(camera_id : Int32)","location":{"filename":"src/cisco/room_kit.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L252"},"def":{"name":"autofocus_diagnostics_stop","args":[{"name":"camera_id","external_name":"camera_id","restriction":"Int32"}],"visibility":"Public","body":"if (1..1).includes?(camera_id)\nelse\n raise(ArgumentError.new(\"camera_id must be within #{1..1}, was #{camera_id}\"))\nend\nxcommand(\"Cameras AutoFocus Diagnostics Stop\", camera_id: camera_id)\n"}},{"html_id":"bookings(days:Int32|Nil=nil,day_offset:Int32|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(days : Int32 | Nil = nil, day_offset : Int32 | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L163"},"def":{"name":"bookings","args":[{"name":"days","default_value":"nil","external_name":"days","restriction":"Int32 | ::Nil"},{"name":"day_offset","default_value":"nil","external_name":"day_offset","restriction":"Int32 | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if days\n if (1..365).includes?(days)\n else\n raise(ArgumentError.new(\"\\\"days\\\" must be within #{1..365}, was #{days}\"))\n end\nend\nif day_offset\n if (0..365).includes?(day_offset)\n else\n raise(ArgumentError.new(\"\\\"day_offset\\\" must be within #{0..365}, was #{day_offset}\"))\n end\nend\nxcommand(\"Bookings List\", days: days, day_offset: day_offset, limit: limit, offset: offset)\n"}},{"html_id":"call_accept(call_id:Int32|Nil=nil)-instance-method","name":"call_accept","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L169"},"def":{"name":"call_accept","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Accept\", call_id: call_id)"}},{"html_id":"call_place_on_hold(call_id:Int32|Nil=nil)-instance-method","name":"call_place_on_hold","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L172"},"def":{"name":"call_place_on_hold","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Hold\", call_id: call_id)"}},{"html_id":"call_reject(call_id:Int32|Nil=nil)-instance-method","name":"call_reject","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L170"},"def":{"name":"call_reject","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Reject\", call_id: call_id)"}},{"html_id":"call_resume(call_id:Int32|Nil=nil)-instance-method","name":"call_resume","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L173"},"def":{"name":"call_resume","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Resume\", call_id: call_id)"}},{"html_id":"camera_select(connector_id:Int32|Nil=nil,layout:VideoLayout|Nil=nil,source_id:Int32|Nil=nil)-instance-method","name":"camera_select","abstract":false,"args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"args_string":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","args_html":"(connector_id : Int32 | Nil = nil, layout : VideoLayout | Nil = nil, source_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L202"},"def":{"name":"camera_select","args":[{"name":"connector_id","default_value":"nil","external_name":"connector_id","restriction":"Int32 | ::Nil"},{"name":"layout","default_value":"nil","external_name":"layout","restriction":"VideoLayout | ::Nil"},{"name":"source_id","default_value":"nil","external_name":"source_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if connector_id\n if (1..3).includes?(connector_id)\n else\n raise(ArgumentError.new(\"\\\"connector_id\\\" must be within #{1..3}, was #{connector_id}\"))\n end\nend\nif source_id\n if (1..3).includes?(source_id)\n else\n raise(ArgumentError.new(\"\\\"source_id\\\" must be within #{1..3}, was #{source_id}\"))\n end\nend\nxcommand(\"Video Input SetMainVideoSource\", connector_id: connector_id, layout: layout, source_id: source_id)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L60"},"def":{"name":"connected","visibility":"Public","body":"super()\nschedule.in(40.seconds) do\n if self[\"calls\"]?.nil?\n disconnect\n end\nend\n"}},{"html_id":"dial(number:String,protocol:DialProtocol|Nil=nil,call_rate:Int32|Nil=nil,call_type:CallType|Nil=nil)-instance-method","name":"dial","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"args_string":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","args_html":"(number : String, protocol : DialProtocol | Nil = nil, call_rate : Int32 | Nil = nil, call_type : CallType | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L191"},"def":{"name":"dial","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"protocol","default_value":"nil","external_name":"protocol","restriction":"DialProtocol | ::Nil"},{"name":"call_rate","default_value":"nil","external_name":"call_rate","restriction":"Int32 | ::Nil"},{"name":"call_type","default_value":"nil","external_name":"call_type","restriction":"CallType | ::Nil"}],"visibility":"Public","body":"if call_rate\n if (64..6000).includes?(call_rate)\n else\n raise(ArgumentError.new(\"\\\"call_rate\\\" must be within #{64..6000}, was #{call_rate}\"))\n end\nend\nxcommand(\"Dial\", number: number, protocol: protocol, call_rate: call_rate, call_type: call_type)\n"}},{"html_id":"dtmf_send(d_t_m_f_string:String,call_id:Int32|Nil=nil)-instance-method","name":"dtmf_send","abstract":false,"args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","args_html":"(d_t_m_f_string : String, call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L175"},"def":{"name":"dtmf_send","args":[{"name":"d_t_m_f_string","external_name":"d_t_m_f_string","restriction":"String"},{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"if call_id\n if (0..65534).includes?(call_id)\n else\n raise(ArgumentError.new(\"\\\"call_id\\\" must be within #{0..65534}, was #{call_id}\"))\n end\nend\nxcommand(\"Call DTMFSend\", d_t_m_f_string: d_t_m_f_string, call_id: call_id)\n"}},{"html_id":"hangup(call_id:Int32|Nil=nil)-instance-method","name":"hangup","abstract":false,"args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"args_string":"(call_id : Int32 | Nil = nil)","args_html":"(call_id : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L171"},"def":{"name":"hangup","args":[{"name":"call_id","default_value":"nil","external_name":"call_id","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Call Disconnect\", call_id: call_id)"}},{"html_id":"mic_mute(state:Bool=true)-instance-method","name":"mic_mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L298"},"def":{"name":"mic_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? mic_mute_on : mic_mute_off"}},{"html_id":"mic_mute_off-instance-method","name":"mic_mute_off","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L121"},"def":{"name":"mic_mute_off","visibility":"Public","body":"xcommand(\"Audio Microphones Unmute\")"}},{"html_id":"mic_mute_on-instance-method","name":"mic_mute_on","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L120"},"def":{"name":"mic_mute_on","visibility":"Public","body":"xcommand(\"Audio Microphones Mute\")"}},{"html_id":"mic_mute_toggle-instance-method","name":"mic_mute_toggle","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L122"},"def":{"name":"mic_mute_toggle","visibility":"Public","body":"xcommand(\"Audio Microphones ToggleMute\")"}},{"html_id":"phonebook_search(search_string:String,phonebook_type:PhonebookType|Nil=nil,limit:Int32|Nil=nil,offset:Int32|Nil=nil)-instance-method","name":"phonebook_search","abstract":false,"args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"args_string":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","args_html":"(search_string : String, phonebook_type : PhonebookType | Nil = nil, limit : Int32 | Nil = nil, offset : Int32 | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L276"},"def":{"name":"phonebook_search","args":[{"name":"search_string","external_name":"search_string","restriction":"String"},{"name":"phonebook_type","default_value":"nil","external_name":"phonebook_type","restriction":"PhonebookType | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"offset","default_value":"nil","external_name":"offset","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"xcommand(\"Phonebook Search\", search_string: search_string, phonebook_type: phonebook_type, limit: limit, offset: offset)"}},{"html_id":"play_sound(sound:Sound,loop:Toogle|Nil=nil)-instance-method","name":"play_sound","abstract":false,"args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"args_string":"(sound : Sound, loop : Toogle | Nil = nil)","args_html":"(sound : Sound, loop : Toogle | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L158"},"def":{"name":"play_sound","args":[{"name":"sound","external_name":"sound","restriction":"Sound"},{"name":"loop","default_value":"nil","external_name":"loop","restriction":"Toogle | ::Nil"}],"visibility":"Public","body":"xcommand(\"Audio Sound Play\", sound: sound, loop: loop)"}},{"html_id":"presentation_mode(value:PresentationMode)-instance-method","name":"presentation_mode","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"args_string":"(value : PresentationMode)","args_html":"(value : PresentationMode)","location":{"filename":"src/cisco/room_kit.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L302"},"def":{"name":"presentation_mode","args":[{"name":"value","external_name":"value","restriction":"PresentationMode"}],"visibility":"Public","body":"case value\nin .remote?\n presentation_start(sending_mode: :LocalRemote)\nin .local?\n @presentation_mode = PresentationMode::Local\n presentation_start(sending_mode: :LocalOnly)\nin .none?\n @presentation_mode = PresentationMode::None\n presentation_stop\nend"}},{"html_id":"reboot(action:PowerOff|Nil=nil)-instance-method","name":"reboot","abstract":false,"args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"args_string":"(action : PowerOff | Nil = nil)","args_html":"(action : PowerOff | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":288,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L288"},"def":{"name":"reboot","args":[{"name":"action","default_value":"nil","external_name":"action","restriction":"PowerOff | ::Nil"}],"visibility":"Public","body":"xcommand(\"SystemUnit Boot\", action: action)"}},{"html_id":"selfview(mode:Toogle|Nil=nil,full_screen_mode:Toogle|Nil=nil,p_i_p_position:PiPPosition|Nil=nil,on_monitor_role:MonitorRole|Nil=nil)-instance-method","name":"selfview","abstract":false,"args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"args_string":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","args_html":"(mode : Toogle | Nil = nil, full_screen_mode : Toogle | Nil = nil, p_i_p_position : PiPPosition | Nil = nil, on_monitor_role : MonitorRole | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L241"},"def":{"name":"selfview","args":[{"name":"mode","default_value":"nil","external_name":"mode","restriction":"Toogle | ::Nil"},{"name":"full_screen_mode","default_value":"nil","external_name":"full_screen_mode","restriction":"Toogle | ::Nil"},{"name":"p_i_p_position","default_value":"nil","external_name":"p_i_p_position","restriction":"PiPPosition | ::Nil"},{"name":"on_monitor_role","default_value":"nil","external_name":"on_monitor_role","restriction":"MonitorRole | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Selfview Set\", mode: mode, full_screen_mode: full_screen_mode, p_i_p_position: p_i_p_position, on_monitor_role: on_monitor_role)"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/cisco/room_kit.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L340"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == config.ip\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/cisco/room_kit.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L322"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"show_camera_pip(visible:Bool)-instance-method","name":"show_camera_pip","abstract":false,"args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"args_string":"(visible : Bool)","args_html":"(visible : Bool)","location":{"filename":"src/cisco/room_kit.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L293"},"def":{"name":"show_camera_pip","args":[{"name":"visible","external_name":"visible","restriction":"Bool"}],"visibility":"Public","body":"mode = visible ? Toogle::On : Toogle::Off\nselfview(mode: mode)\n"}},{"html_id":"speaker_track(state:Bool=true)-instance-method","name":"speaker_track","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/cisco/room_kit.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L267"},"def":{"name":"speaker_track","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state ? speaker_track_activate : speaker_track_deactivate"}},{"html_id":"speaker_track_activate-instance-method","name":"speaker_track_activate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L262"},"def":{"name":"speaker_track_activate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Activate\")"}},{"html_id":"speaker_track_deactivate-instance-method","name":"speaker_track_deactivate","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L265"},"def":{"name":"speaker_track_deactivate","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Deactivate\")"}},{"html_id":"speaker_track_diagnostics_start-instance-method","name":"speaker_track_diagnostics_start","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L256"},"def":{"name":"speaker_track_diagnostics_start","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Start\")"}},{"html_id":"speaker_track_diagnostics_stop-instance-method","name":"speaker_track_diagnostics_stop","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L259"},"def":{"name":"speaker_track_diagnostics_stop","visibility":"Public","body":"xcommand(\"Cameras SpeakerTrack Diagnostics Stop\")"}},{"html_id":"stop_sound-instance-method","name":"stop_sound","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L161"},"def":{"name":"stop_sound","visibility":"Public","body":"xcommand(\"Audio Sound Stop\")"}},{"html_id":"video_layout(layout_family:LayoutFamily,target:LayoutTarget|Nil=nil)-instance-method","name":"video_layout","abstract":false,"args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"args_string":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","args_html":"(layout_family : LayoutFamily, target : LayoutTarget | Nil = nil)","location":{"filename":"src/cisco/room_kit.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L220"},"def":{"name":"video_layout","args":[{"name":"layout_family","external_name":"layout_family","restriction":"LayoutFamily"},{"name":"target","default_value":"nil","external_name":"target","restriction":"LayoutTarget | ::Nil"}],"visibility":"Public","body":"xcommand(\"Video Layout LayoutFamily Set\", layout_family: layout_family, target: target)"}},{"html_id":"webview_clear-instance-method","name":"webview_clear","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L285"},"def":{"name":"webview_clear","visibility":"Public","body":"xcommand(\"UserInterface WebView Clear\")"}},{"html_id":"webview_display(url:String)-instance-method","name":"webview_display","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/room_kit.cr","line_number":282,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L282"},"def":{"name":"webview_display","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"xcommand(\"UserInterface WebView Display\", url: url)"}}],"types":[{"html_id":"drivers/Cisco/RoomKit/CallType","path":"Cisco/RoomKit/CallType.html","kind":"enum","full_name":"Cisco::RoomKit::CallType","name":"CallType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L187"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L188"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Cisco/RoomKit/DialProtocol","path":"Cisco/RoomKit/DialProtocol.html","kind":"enum","full_name":"Cisco::RoomKit::DialProtocol","name":"DialProtocol","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L179"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"H320","name":"H320","value":"0"},{"id":"H323","name":"H323","value":"1"},{"id":"Sip","name":"Sip","value":"2"},{"id":"Spark","name":"Spark","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"h320?-instance-method","name":"h320?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L180"},"def":{"name":"h320?","visibility":"Public","body":"self == H320"}},{"html_id":"h323?-instance-method","name":"h323?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L181"},"def":{"name":"h323?","visibility":"Public","body":"self == H323"}},{"html_id":"sip?-instance-method","name":"sip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L182"},"def":{"name":"sip?","visibility":"Public","body":"self == Sip"}},{"html_id":"spark?-instance-method","name":"spark?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L183"},"def":{"name":"spark?","visibility":"Public","body":"self == Spark"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutFamily","path":"Cisco/RoomKit/LayoutFamily.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutFamily","name":"LayoutFamily","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L207"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Auto","name":"Auto","value":"0"},{"id":"Equal","name":"Equal","value":"1"},{"id":"Overlay","name":"Overlay","value":"2"},{"id":"Prominent","name":"Prominent","value":"3"},{"id":"Single","name":"Single","value":"4"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L208"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L209"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"overlay?-instance-method","name":"overlay?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L210"},"def":{"name":"overlay?","visibility":"Public","body":"self == Overlay"}},{"html_id":"prominent?-instance-method","name":"prominent?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L211"},"def":{"name":"prominent?","visibility":"Public","body":"self == Prominent"}},{"html_id":"single?-instance-method","name":"single?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L212"},"def":{"name":"single?","visibility":"Public","body":"self == Single"}}]},{"html_id":"drivers/Cisco/RoomKit/LayoutTarget","path":"Cisco/RoomKit/LayoutTarget.html","kind":"enum","full_name":"Cisco::RoomKit::LayoutTarget","name":"LayoutTarget","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L215"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Local","name":"Local","value":"0"},{"id":"Remote","name":"Remote","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L216"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L217"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/MonitorRole","path":"Cisco/RoomKit/MonitorRole.html","kind":"enum","full_name":"Cisco::RoomKit::MonitorRole","name":"MonitorRole","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L234"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"First","name":"First","value":"0"},{"id":"Second","name":"Second","value":"1"},{"id":"Third","name":"Third","value":"2"},{"id":"Fourth","name":"Fourth","value":"3"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"first?-instance-method","name":"first?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L235"},"def":{"name":"first?","visibility":"Public","body":"self == First"}},{"html_id":"fourth?-instance-method","name":"fourth?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L238"},"def":{"name":"fourth?","visibility":"Public","body":"self == Fourth"}},{"html_id":"second?-instance-method","name":"second?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L236"},"def":{"name":"second?","visibility":"Public","body":"self == Second"}},{"html_id":"third?-instance-method","name":"third?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L237"},"def":{"name":"third?","visibility":"Public","body":"self == Third"}}]},{"html_id":"drivers/Cisco/RoomKit/PhonebookType","path":"Cisco/RoomKit/PhonebookType.html","kind":"enum","full_name":"Cisco::RoomKit::PhonebookType","name":"PhonebookType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L271"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Corporate","name":"Corporate","value":"0"},{"id":"Local","name":"Local","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"corporate?-instance-method","name":"corporate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L272"},"def":{"name":"corporate?","visibility":"Public","body":"self == Corporate"}},{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L273"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}}]},{"html_id":"drivers/Cisco/RoomKit/PiPPosition","path":"Cisco/RoomKit/PiPPosition.html","kind":"enum","full_name":"Cisco::RoomKit::PiPPosition","name":"PiPPosition","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"CenterLeft","name":"CenterLeft","value":"0"},{"id":"CenterRight","name":"CenterRight","value":"1"},{"id":"LowerLeft","name":"LowerLeft","value":"2"},{"id":"LowerRight","name":"LowerRight","value":"3"},{"id":"UpperCenter","name":"UpperCenter","value":"4"},{"id":"UpperLeft","name":"UpperLeft","value":"5"},{"id":"UpperRight","name":"UpperRight","value":"6"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"center_left?-instance-method","name":"center_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L225"},"def":{"name":"center_left?","visibility":"Public","body":"self == CenterLeft"}},{"html_id":"center_right?-instance-method","name":"center_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L226"},"def":{"name":"center_right?","visibility":"Public","body":"self == CenterRight"}},{"html_id":"lower_left?-instance-method","name":"lower_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L227"},"def":{"name":"lower_left?","visibility":"Public","body":"self == LowerLeft"}},{"html_id":"lower_right?-instance-method","name":"lower_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L228"},"def":{"name":"lower_right?","visibility":"Public","body":"self == LowerRight"}},{"html_id":"upper_center?-instance-method","name":"upper_center?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L229"},"def":{"name":"upper_center?","visibility":"Public","body":"self == UpperCenter"}},{"html_id":"upper_left?-instance-method","name":"upper_left?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L230"},"def":{"name":"upper_left?","visibility":"Public","body":"self == UpperLeft"}},{"html_id":"upper_right?-instance-method","name":"upper_right?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L231"},"def":{"name":"upper_right?","visibility":"Public","body":"self == UpperRight"}}]},{"html_id":"drivers/Cisco/RoomKit/PresentationMode","path":"Cisco/RoomKit/PresentationMode.html","kind":"enum","full_name":"Cisco::RoomKit::PresentationMode","name":"PresentationMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L51"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Local","name":"Local","value":"1"},{"id":"Remote","name":"Remote","value":"2"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"local?-instance-method","name":"local?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L53"},"def":{"name":"local?","visibility":"Public","body":"self == Local"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L52"},"def":{"name":"none?","visibility":"Public","body":"self == None"}},{"html_id":"remote?-instance-method","name":"remote?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L54"},"def":{"name":"remote?","visibility":"Public","body":"self == Remote"}}]},{"html_id":"drivers/Cisco/RoomKit/Sound","path":"Cisco/RoomKit/Sound.html","kind":"enum","full_name":"Cisco::RoomKit::Sound","name":"Sound","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L133"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Alert","name":"Alert","value":"0"},{"id":"Bump","name":"Bump","value":"1"},{"id":"Busy","name":"Busy","value":"2"},{"id":"CallDisconnect","name":"CallDisconnect","value":"3"},{"id":"CallInitiate","name":"CallInitiate","value":"4"},{"id":"CallWaiting","name":"CallWaiting","value":"5"},{"id":"Dial","name":"Dial","value":"6"},{"id":"KeyInput","name":"KeyInput","value":"7"},{"id":"KeyInputDelete","name":"KeyInputDelete","value":"8"},{"id":"KeyTone","name":"KeyTone","value":"9"},{"id":"Nav","name":"Nav","value":"10"},{"id":"NavBack","name":"NavBack","value":"11"},{"id":"Notification","name":"Notification","value":"12"},{"id":"OK","name":"OK","value":"13"},{"id":"PresentationConnect","name":"PresentationConnect","value":"14"},{"id":"Ringing","name":"Ringing","value":"15"},{"id":"SignIn","name":"SignIn","value":"16"},{"id":"SpecialInfo","name":"SpecialInfo","value":"17"},{"id":"TelephoneCall","name":"TelephoneCall","value":"18"},{"id":"VideoCall","name":"VideoCall","value":"19"},{"id":"VolumeAdjust","name":"VolumeAdjust","value":"20"},{"id":"WakeUp","name":"WakeUp","value":"21"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"alert?-instance-method","name":"alert?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L134"},"def":{"name":"alert?","visibility":"Public","body":"self == Alert"}},{"html_id":"bump?-instance-method","name":"bump?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L135"},"def":{"name":"bump?","visibility":"Public","body":"self == Bump"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L136"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"call_disconnect?-instance-method","name":"call_disconnect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L137"},"def":{"name":"call_disconnect?","visibility":"Public","body":"self == CallDisconnect"}},{"html_id":"call_initiate?-instance-method","name":"call_initiate?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L138"},"def":{"name":"call_initiate?","visibility":"Public","body":"self == CallInitiate"}},{"html_id":"call_waiting?-instance-method","name":"call_waiting?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L139"},"def":{"name":"call_waiting?","visibility":"Public","body":"self == CallWaiting"}},{"html_id":"dial?-instance-method","name":"dial?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L140"},"def":{"name":"dial?","visibility":"Public","body":"self == Dial"}},{"html_id":"key_input?-instance-method","name":"key_input?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L141"},"def":{"name":"key_input?","visibility":"Public","body":"self == KeyInput"}},{"html_id":"key_input_delete?-instance-method","name":"key_input_delete?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L142"},"def":{"name":"key_input_delete?","visibility":"Public","body":"self == KeyInputDelete"}},{"html_id":"key_tone?-instance-method","name":"key_tone?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L143"},"def":{"name":"key_tone?","visibility":"Public","body":"self == KeyTone"}},{"html_id":"nav?-instance-method","name":"nav?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L144"},"def":{"name":"nav?","visibility":"Public","body":"self == Nav"}},{"html_id":"nav_back?-instance-method","name":"nav_back?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L145"},"def":{"name":"nav_back?","visibility":"Public","body":"self == NavBack"}},{"html_id":"notification?-instance-method","name":"notification?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L146"},"def":{"name":"notification?","visibility":"Public","body":"self == Notification"}},{"html_id":"ok?-instance-method","name":"ok?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L147"},"def":{"name":"ok?","visibility":"Public","body":"self == OK"}},{"html_id":"presentation_connect?-instance-method","name":"presentation_connect?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L148"},"def":{"name":"presentation_connect?","visibility":"Public","body":"self == PresentationConnect"}},{"html_id":"ringing?-instance-method","name":"ringing?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L149"},"def":{"name":"ringing?","visibility":"Public","body":"self == Ringing"}},{"html_id":"sign_in?-instance-method","name":"sign_in?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L150"},"def":{"name":"sign_in?","visibility":"Public","body":"self == SignIn"}},{"html_id":"special_info?-instance-method","name":"special_info?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L151"},"def":{"name":"special_info?","visibility":"Public","body":"self == SpecialInfo"}},{"html_id":"telephone_call?-instance-method","name":"telephone_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L152"},"def":{"name":"telephone_call?","visibility":"Public","body":"self == TelephoneCall"}},{"html_id":"video_call?-instance-method","name":"video_call?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L153"},"def":{"name":"video_call?","visibility":"Public","body":"self == VideoCall"}},{"html_id":"volume_adjust?-instance-method","name":"volume_adjust?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L154"},"def":{"name":"volume_adjust?","visibility":"Public","body":"self == VolumeAdjust"}},{"html_id":"wake_up?-instance-method","name":"wake_up?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L155"},"def":{"name":"wake_up?","visibility":"Public","body":"self == WakeUp"}}]},{"html_id":"drivers/Cisco/RoomKit/Toogle","path":"Cisco/RoomKit/Toogle.html","kind":"enum","full_name":"Cisco::RoomKit::Toogle","name":"Toogle","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L130"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L129"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Cisco/RoomKit/VideoLayout","path":"Cisco/RoomKit/VideoLayout.html","kind":"enum","full_name":"Cisco::RoomKit::VideoLayout","name":"VideoLayout","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_kit.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L197"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Equal","name":"Equal","value":"0"},{"id":"PIP","name":"PIP","value":"1"}],"namespace":{"html_id":"drivers/Cisco/RoomKit","kind":"class","full_name":"Cisco::RoomKit","name":"RoomKit"},"instance_methods":[{"html_id":"equal?-instance-method","name":"equal?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L198"},"def":{"name":"equal?","visibility":"Public","body":"self == Equal"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/cisco/room_kit.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_kit.cr#L199"},"def":{"name":"pip?","visibility":"Public","body":"self == PIP"}}]}]},{"html_id":"drivers/Cisco/RoomOS","path":"Cisco/RoomOS.html","kind":"class","full_name":"Cisco::RoomOS","name":"RoomOS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"},{"html_id":"drivers/Cisco/CollaborationEndpoint/XAPI","kind":"module","full_name":"Cisco::CollaborationEndpoint::XAPI","name":"XAPI"},{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/room_os.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_os.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Cisco/CollaborationEndpoint","kind":"module","full_name":"Cisco::CollaborationEndpoint","name":"CollaborationEndpoint"},{"html_id":"drivers/Cisco/CollaborationEndpoint/UIExtensions","kind":"module","full_name":"Cisco::CollaborationEndpoint::UIExtensions","name":"UIExtensions"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"class_methods":[{"html_id":"map_status(**opts)-class-method","name":"map_status","abstract":false,"location":{"filename":"src/cisco/room_os.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/room_os.cr#L38"},"def":{"name":"map_status","double_splat":{"name":"opts","external_name":"opts","restriction":""},"visibility":"Public","body":"@@status_mappings.merge!(opts.to_h)"}}]},{"html_id":"drivers/Cisco/Switch","path":"Cisco/Switch.html","kind":"module","full_name":"Cisco::Switch","name":"Switch","abstract":false,"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Switch/SnoopingCatalyst","path":"Cisco/Switch/SnoopingCatalyst.html","kind":"class","full_name":"Cisco::Switch::SnoopingCatalyst","name":"SnoopingCatalyst","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Switch","kind":"module","full_name":"Cisco::Switch","name":"Switch"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.in(1.second) do\n query_connected_devices\nend\nschedule.every(1.minute) do\n query_connected_devices\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L60"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nqueue.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\n\", \"--More--\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@ignore_macs = ::Set.new(((setting?(Hash(String, String), :ignore_macs)) || ({} of String => String)).values)\nself[:name] = @switch_name = setting?(String, :switch_name)\nself[:ip_address] = config.ip.not_nil!.downcase\nself[:building] = setting?(String, :building)\nself[:level] = setting?(String, :level)\nself[:last_successful_query]? || (self[:last_successful_query] = 0)\n"}},{"html_id":"query_connected_devices-instance-method","name":"query_connected_devices","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L87"},"def":{"name":"query_connected_devices","visibility":"Public","body":"begin\n if @querying_devices\n return\n end\n @querying_devices = true\n logger.debug do\n \"Querying for connected devices\"\n end\n query_interface_status.get\n sleep(3.seconds)\n query_mac_addresses.get\n sleep(3.seconds)\n query_snooping_bindings.get\n sleep(2.seconds)\n nil\nensure\n @querying_devices = false\nend"}},{"html_id":"query_interface_status-instance-method","name":"query_interface_status","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L71"},"def":{"name":"query_interface_status","visibility":"Public","body":"do_send(\"show interfaces status\")"}},{"html_id":"query_mac_addresses-instance-method","name":"query_mac_addresses","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L75"},"def":{"name":"query_mac_addresses","visibility":"Public","body":"@interface_macs.clear\ndo_send(\"show mac address-table\")\n"}},{"html_id":"query_snooping_bindings-instance-method","name":"query_snooping_bindings","abstract":false,"location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L80"},"def":{"name":"query_snooping_bindings","visibility":"Public","body":"@snooping.clear\ndo_send(\"show ip dhcp snooping binding\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L107"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Switch sent: #{data}\"\nend\nif @hostname.nil?\n parts = data.split(\">\")\n if parts.size == 2\n self[:hostname] = @hostname = parts[0]\n return task.try(&.success)\n end\nend\ncase data\nwhen /More/\n send(\" \", priority: 99, retries: 0)\n return task.try(&.success)\nwhen /STATIC|DYNAMIC/\n parts = (data.split(/\\s+/)).reject(&.empty?)\n mac = format(parts[1])\n interface = normalise(parts[-1])\n if mac && interface\n @interface_macs[interface] = mac\n end\n return :success\nwhen /%LINK/\n interface = normalise(((data.split(\",\"))[0].split(/\\s/))[-1])\n if data =~ (/Up:/)\n logger.debug do\n \"Notify Up: #{interface}\"\n end\n @check_interface << interface\n else\n if data =~ (/Down:/)\n logger.debug do\n \"Notify Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\n end\n self[:interfaces] = @check_interface\n return task.try(&.success)\nwhen .starts_with?(\"Total number\")\n logger.debug do\n \"Processing #{@snooping.size} bindings\"\n end\n checked = Set(String).new\n devices = {} of String => NamedTuple(mac: String, ip: String)\n state_changed = false\n @snooping.each do |mac, ip, interface|\n if @check_interface.includes?(interface)\n else\n next\n end\n if @interface_macs[interface]? == mac\n else\n next\n end\n if checked.includes?(interface)\n next\n end\n checked << interface\n iface = @devices[interface]? || {mac: \"\", ip: \"\"}\n if (iface[:ip] != ip) || (iface[:mac] != mac)\n logger.debug do\n \"New connection on #{interface} with #{ip}: #{mac}\"\n end\n devices[interface] = {mac: mac, ip: ip}\n state_changed = true\n else\n devices[interface] = iface\n end\n end\n if state_changed\n @devices = devices\n self[:devices] = devices\n end\n if @check_interface != checked\n @check_interface = checked\n self[:interfaces] = checked\n end\n self[:last_successful_query] = Time.utc.to_unix\n return task.try(&.success)\nend\nentries = (data.split(/\\s+/)).reject(&.empty?)\ncase entries\nwhen .includes?(\"connected\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n else\n logger.debug do\n \"Interface Up: #{interface}\"\n end\n @check_interface << interface\n end\nwhen .includes?(\"notconnect\")\n interface = entries[0].downcase\n if @check_interface.includes?(interface)\n logger.debug do\n \"Interface Down: #{interface}\"\n end\n @check_interface.delete(interface)\n end\nelse\n if entries.size > 2\n interface = normalise(entries[-1])\n if @check_interface.includes?(interface)\n mac = entries[0]\n if mac =~ (/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/)\n mac = format(mac)\n ip = entries[1]\n if @ignore_macs.includes?(mac[0..5])\n else\n @snooping << {mac, ip, interface}\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"run(command:String)-instance-method","name":"run","doc":"Don't want the every day user using this method","summary":"

Don't want the every day user using this method

","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(command : String)","args_html":"(command : String)","location":{"filename":"src/cisco/switch/snooping_catalyst.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/switch/snooping_catalyst.cr#L67"},"def":{"name":"run","args":[{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"do_send(command)"}}]}]},{"html_id":"drivers/Cisco/UIExtender","path":"Cisco/UIExtender.html","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"IGNORE_METHODS","name":"IGNORE_METHODS","value":"[\"on_load\", \"on_unload\", \"on_update\"] of ::String","doc":"Build a list of all callback methods that have been defined.\n\nCallback methods are denoted being single arity and beginning with `on_`.","summary":"

Build a list of all callback methods that have been defined.

"}],"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"instance_methods":[{"html_id":"alert(text:String,title:String=\"\",duration:Int32=0)-instance-method","name":"alert","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"args_string":"(text : String, title : String = \"\", duration : Int32 = 0)","args_html":"(text : String, title : String = "", duration : Int32 = 0)","location":{"filename":"src/cisco/ui_extender.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L200"},"def":{"name":"alert","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"title","default_value":"\"\"","external_name":"title","restriction":"String"},{"name":"duration","default_value":"0","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Display\", hash_args: {Text: text, Title: title, Duration: duration})"}},{"html_id":"clear_alert-instance-method","name":"clear_alert","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L211"},"def":{"name":"clear_alert","visibility":"Public","body":"codec.xcommand(\"UserInterface Message Alert Clear\")"}},{"html_id":"clear_extensions-instance-method","name":"clear_extensions","doc":"Clear any deployed UI extensions.","summary":"

Clear any deployed UI extensions.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L75"},"def":{"name":"clear_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Clear\")"}},{"html_id":"close_panel-instance-method","name":"close_panel","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L82"},"def":{"name":"close_panel","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Panel Close\")"}},{"html_id":"deploy_extensions(id:String,xml_def:String)-instance-method","name":"deploy_extensions","doc":"Push a UI definition build with the in-room control editor to the device.","summary":"

Push a UI definition build with the in-room control editor to the device.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"args_string":"(id : String, xml_def : String)","args_html":"(id : String, xml_def : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L65"},"def":{"name":"deploy_extensions","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"xml_def","external_name":"xml_def","restriction":"String"}],"visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions Set\", xml_def, {\"config_id\" => id})"}},{"html_id":"highlight(id:String,state:Bool=true,momentary:Bool=false,time:Int32=500)-instance-method","name":"highlight","doc":"Set the highlight state for a button widget.","summary":"

Set the highlight state for a button widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"args_string":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","args_html":"(id : String, state : Bool = true, momentary : Bool = false, time : Int32 = 500)","location":{"filename":"src/cisco/ui_extender.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L145"},"def":{"name":"highlight","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"momentary","default_value":"false","external_name":"momentary","restriction":"Bool"},{"name":"time","default_value":"500","external_name":"time","restriction":"Int32"}],"visibility":"Public","body":"value = state ? \"active\" : \"inactive\"\nif momentary\n schedule.in(time.milliseconds) do\n highlight(id, !state)\n nil\n end\nend\nset(id, value)\n"}},{"html_id":"label(id:String,value:String|Bool|Nil)-instance-method","name":"label","doc":"Set the text label used on text or spinner widget.","summary":"

Set the text label used on text or spinner widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L152"},"def":{"name":"label","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"link_widget(id:String,bindings:Binding)-instance-method","name":"link_widget","doc":"Wire up a widget based on a binding target.","summary":"

Wire up a widget based on a binding target.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"args_string":"(id : String, bindings : Binding)","args_html":"(id : String, bindings : Binding)","location":{"filename":"src/cisco/ui_extender.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L328"},"def":{"name":"link_widget","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"bindings","external_name":"bindings","restriction":"Binding"}],"visibility":"Public","body":"logger.debug do\n \"setting up bindings for #{id}\"\nend\nbinding = case bindings\nin String\n (([\"clicked\", \"changed\", \"status\"] of ::String).product([bindings])).to_h\nin Hash(String, Hash(String, Hash(String, Array(String)) | String) | String)\n bindings\nend\nbinding.each do |type, target|\n if type == \"status\"\n case target\n in String\n mod, state = target.split(\".\")\n link_feedback(id, mod, state)\n in Hash(String, String | Hash(String, Array(String)))\n mod, state = target.first\n link_feedback(id, mod, state.as(String))\n end\n else\n handler = build_handler(target)\n if handler\n @event_handlers[{id, type}] = handler\n else\n logger.warn do\n \"invalid #{type} binding for #{id}\"\n end\n end\n end\nend\n"}},{"html_id":"list_extensions-instance-method","name":"list_extensions","doc":"Retrieve the extensions currently loaded.","summary":"

Retrieve the extensions currently loaded.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L70"},"def":{"name":"list_extensions","visibility":"Public","body":"codec.xcommand(\"UserInterface Extensions List\")"}},{"html_id":"on_extensions_widget_action(event:Hash(String,JSON::Any))-instance-method","name":"on_extensions_widget_action","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"args_string":"(event : Hash(String, JSON::Any))","args_html":"(event : Hash(String, JSON::Any))","location":{"filename":"src/cisco/ui_extender.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L159"},"def":{"name":"on_extensions_widget_action","args":[{"name":"event","external_name":"event","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"logger.debug do\n \"received widget action update #{event}\"\nend\ncurrent_key = event.keys.first\ncase current_key\nwhen \"/Event/UserInterface/Extensions/Widget/Action/WidgetId\"\n @action_merged[\"WidgetId\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action\", \"/Event/UserInterface/Extensions/Widget/Action/Value\"\n @action_merged[\"Value\"] = event[current_key]\nwhen \"/Event/UserInterface/Extensions/Widget/Action/Type\"\n @action_merged[\"Type\"] = event[current_key]\nelse\n logger.debug do\n \"ignoring key #{current_key} processing widget_action event\"\n end\nend\nlogger.debug do\n \"current action state: #{@action_merged}\"\nend\nif @action_merged.size == 3\nelse\n return\nend\nid, value, type = @action_merged.values_at(\"WidgetId\", \"Value\", \"Type\")\n@action_merged = {} of String => JSON::Any\nlogger.debug do\n \"#{id} #{type} = #{value}\"\nend\nid = id.as_s\ntype = type.as_s\nif [\"\", \"increment\", \"decrement\"].includes?(value.raw)\nelse\n self[id] = value\nend\nbegin\n handler = @event_handlers.fetch([id, type], nil)\n handler.try(&.call(value))\nrescue e\n logger.error(exception: e) do\n \"error in binding for #{id}.#{type}\"\n end\nend\nself[:__event_stream] = {id: id, type: type, value: value}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update(true)"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L27"},"def":{"name":"on_unload","visibility":"Public","body":"clear_extensions\nunbind\n"}},{"html_id":"on_update(loading=false)-instance-method","name":"on_update","abstract":false,"args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"args_string":"(loading = false)","args_html":"(loading = false)","location":{"filename":"src/cisco/ui_extender.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L37"},"def":{"name":"on_update","args":[{"name":"loading","default_value":"false","external_name":"loading","restriction":""}],"visibility":"Public","body":"if loading\nelse\n begin\n clear_events\n rescue\n end\nend\ncodec_mod = (setting?(String, :codec)) || \"VidConf_1\"\nif system.exists?(codec_mod)\nelse\n logger.warn do\n \"could not find codec #{codec_mod}\"\n end\n return\nend\nui_layout = setting?(String, :cisco_ui_layout)\nbindings = (setting?(Bindings, :cisco_ui_bindings)) || ({} of String => Binding)\nbind(codec_mod) do\n if ui_layout\n deploy_extensions(\"PlaceOS\", ui_layout)\n end\n bindings.each do |id, config|\n link_widget(id, config)\n end\nend\n"}},{"html_id":"set(id:String,value:String|Bool|Nil)-instance-method","name":"set","doc":"Set the value of a widget.","summary":"

Set the value of a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"args_string":"(id : String, value : String | Bool | Nil)","args_html":"(id : String, value : String | Bool | Nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L119"},"def":{"name":"set","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | Bool | Nil"}],"visibility":"Public","body":"set_actual(id, value)"}},{"html_id":"switch(id:String,state:Bool|Nil=nil)-instance-method","name":"switch","doc":"Set the state of a switch widget.","summary":"

Set the state of a switch widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"args_string":"(id : String, state : Bool | Nil = nil)","args_html":"(id : String, state : Bool | Nil = nil)","location":{"filename":"src/cisco/ui_extender.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L138"},"def":{"name":"switch","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"state","default_value":"nil","external_name":"state","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"if state.nil?\n state = !(status?(Bool, id))\nend\nvalue = state ? \"on\" : \"off\"\nset(id, value)\n"}},{"html_id":"sync_widget_state-instance-method","name":"sync_widget_state","doc":"Push the current module state to the device.","summary":"

Push the current module state to the device.

","abstract":false,"location":{"filename":"src/cisco/ui_extender.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L262"},"def":{"name":"sync_widget_state","visibility":"Public","body":"@__status__.each do |key, value|\n if key == \"connected\"\n next\n end\n if key =~ (/^__.*/)\n next\n end\n case value\n when .starts_with?(\"\\\"\")\n set(key, String.from_json(value))\n when \"true\", \"false\"\n set(key, value == \"true\")\n end\nend"}},{"html_id":"unset(id:String)-instance-method","name":"unset","doc":"Clear the value associated with a widget.","summary":"

Clear the value associated with a widget.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/ui_extender.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L124"},"def":{"name":"unset","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"clearing #{id}\"\nend\nupdate = codec.xcommand(\"UserInterface Extensions Widget UnsetValue\", hash_args: {WidgetId: id})\nPromise.defer(same_thread: true) do\n update.get\n self[id] = nil\n nil.as(String | Nil)\nend\n"}}],"types":[{"html_id":"drivers/Cisco/UIExtender/Binding","path":"Cisco/UIExtender/Binding.html","kind":"alias","full_name":"Cisco::UIExtender::Binding","name":"Binding","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"}},{"html_id":"drivers/Cisco/UIExtender/Bindings","path":"Cisco/UIExtender/Bindings.html","kind":"alias","full_name":"Cisco::UIExtender::Bindings","name":"Bindings","abstract":false,"locations":[{"filename":"src/cisco/ui_extender.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/ui_extender.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","aliased_html":"Hash(String, Hash(String, Hash(String, Hash(String, Array(String)) | String) | String) | String)","const":false,"namespace":{"html_id":"drivers/Cisco/UIExtender","kind":"class","full_name":"Cisco::UIExtender","name":"UIExtender"},"doc":"id => binding","summary":"

id => binding

"}]},{"html_id":"drivers/Cisco/Webex","path":"Cisco/Webex.html","kind":"module","full_name":"Cisco::Webex","name":"Webex","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L2"},{"filename":"src/cisco/webex/api/people.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L2"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L2"},{"filename":"src/cisco/webex/client.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L2"},{"filename":"src/cisco/webex/command.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L2"},{"filename":"src/cisco/webex/commands/echo.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L2"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L2"},{"filename":"src/cisco/webex/constants.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L2"},{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L2"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L2"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L2"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L2"},{"filename":"src/cisco/webex/models/device.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L2"},{"filename":"src/cisco/webex/models/event.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L2"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L2"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L2"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L2"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L2"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L2"},{"filename":"src/cisco/webex/models/message.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L2"},{"filename":"src/cisco/webex/models/peek.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L2"},{"filename":"src/cisco/webex/models/person.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L2"},{"filename":"src/cisco/webex/models/room.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L2"},{"filename":"src/cisco/webex/session.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L2"},{"filename":"src/cisco/webex/status_code.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L2"},{"filename":"src/cisco/webex/utils.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco","kind":"module","full_name":"Cisco","name":"Cisco"},"types":[{"html_id":"drivers/Cisco/Webex/Api","path":"Cisco/Webex/Api.html","kind":"module","full_name":"Cisco::Webex::Api","name":"Api","abstract":false,"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L3"},{"filename":"src/cisco/webex/api/people.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L3"},{"filename":"src/cisco/webex/api/rooms.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Api/Messages","path":"Cisco/Webex/Api/Messages.html","kind":"class","full_name":"Cisco::Webex::Api::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/messages.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/messages.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/messages.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/People","path":"Cisco/Webex/Api/People.html","kind":"class","full_name":"Cisco::Webex::Api::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/people.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/people.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"me:Models::Person-instance-method","name":"me","abstract":false,"location":{"filename":"src/cisco/webex/api/people.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/people.cr#L8"},"def":{"name":"me","return_type":"Models::Person","visibility":"Public","body":"response = @session.get([Constants::PEOPLE_ENDPOINT, \"/\", \"me\"].join(\"\"))\nModels::Person.from_json(response.body)\n"}}]},{"html_id":"drivers/Cisco/Webex/Api/Rooms","path":"Cisco/Webex/Api/Rooms.html","kind":"class","full_name":"Cisco::Webex::Api::Rooms","name":"Rooms","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/api/rooms.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Api","kind":"module","full_name":"Cisco::Webex::Api","name":"Api"},"constructors":[{"html_id":"new(session:Session)-class-method","name":"new","abstract":false,"args":[{"name":"session","external_name":"session","restriction":"Session"}],"args_string":"(session : Session)","args_html":"(session : Session)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L5"},"def":{"name":"new","args":[{"name":"session","external_name":"session","restriction":"Session"}],"visibility":"Public","body":"_ = allocate\n_.initialize(session)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"create(room_id:String=\"\",parent_id:String=\"\",to_person_id:String=\"\",to_person_email:String=\"\",text:String=\"\",markdown:String=\"\"):Models::Message-instance-method","name":"create","abstract":false,"args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"args_string":"(room_id : String = \"\", parent_id : String = \"\", to_person_id : String = \"\", to_person_email : String = \"\", text : String = \"\", markdown : String = \"\") : Models::Message","args_html":"(room_id : String = "", parent_id : String = "", to_person_id : String = "", to_person_email : String = "", text : String = "", markdown : String = "") : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L28"},"def":{"name":"create","args":[{"name":"room_id","default_value":"\"\"","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"to_person_id","default_value":"\"\"","external_name":"to_person_id","restriction":"String"},{"name":"to_person_email","default_value":"\"\"","external_name":"to_person_email","restriction":"String"},{"name":"text","default_value":"\"\"","external_name":"text","restriction":"String"},{"name":"markdown","default_value":"\"\"","external_name":"markdown","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"json = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, toPersonId: to_person_id, toPersonEmail: to_person_email, text: text, markdown: markdown)\nresponse = @session.post([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), json: json)\nModels::Message.from_json(response.body)\n"}},{"html_id":"get(message_id:String):Models::Message-instance-method","name":"get","abstract":false,"args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"args_string":"(message_id : String) : Models::Message","args_html":"(message_id : String) : Models::Message","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L34"},"def":{"name":"get","args":[{"name":"message_id","external_name":"message_id","restriction":"String"}],"return_type":"Models::Message","visibility":"Public","body":"response = @session.get([Constants::MESSAGES_ENDPOINT, \"/\", message_id].join(\"\"))\nModels::Message.from_json(response.body)\n"}},{"html_id":"list(room_id:String,parent_id:String=\"\",mentioned_people:String=\"\",before:String=\"\",before_message:String=\"\",max:Int32=50):Array(Models::Message)-instance-method","name":"list","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"args_string":"(room_id : String, parent_id : String = \"\", mentioned_people : String = \"\", before : String = \"\", before_message : String = \"\", max : Int32 = 50) : Array(Models::Message)","args_html":"(room_id : String, parent_id : String = "", mentioned_people : String = "", before : String = "", before_message : String = "", max : Int32 = 50) : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L8"},"def":{"name":"list","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"},{"name":"mentioned_people","default_value":"\"\"","external_name":"mentioned_people","restriction":"String"},{"name":"before","default_value":"\"\"","external_name":"before","restriction":"String"},{"name":"before_message","default_value":"\"\"","external_name":"before_message","restriction":"String"},{"name":"max","default_value":"50","external_name":"max","restriction":"Int32"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(roomId: room_id, parentId: parent_id, mentionedPeople: mentioned_people, before: before, beforeMessage: before_message, max: max)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}},{"html_id":"list_direct(person_id:String=\"\",person_email:String=\"\",parent_id:String=\"\"):Array(Models::Message)-instance-method","name":"list_direct","abstract":false,"args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"args_string":"(person_id : String = \"\", person_email : String = \"\", parent_id : String = \"\") : Array(Models::Message)","args_html":"(person_id : String = "", person_email : String = "", parent_id : String = "") : Array(Models::Message)","location":{"filename":"src/cisco/webex/api/rooms.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/api/rooms.cr#L18"},"def":{"name":"list_direct","args":[{"name":"person_id","default_value":"\"\"","external_name":"person_id","restriction":"String"},{"name":"person_email","default_value":"\"\"","external_name":"person_email","restriction":"String"},{"name":"parent_id","default_value":"\"\"","external_name":"parent_id","restriction":"String"}],"return_type":"Array(Models::Message)","visibility":"Public","body":"params = Utils.hash_from_items_with_values(personId: person_id, personEmail: person_email, parentId: parent_id)\nresponse = @session.get([Constants::MESSAGES_ENDPOINT, \"/\"].join(\"\"), params: params)\ndata = JSON.parse(response.body)\ndata[\"items\"].as_a.map do |item|\n Models::Message.from_json(item.to_json)\nend\n"}}]}]},{"html_id":"drivers/Cisco/Webex/Client","path":"Cisco/Webex/Client.html","kind":"class","full_name":"Cisco::Webex::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/client.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(name:String,access_token:String,emails:String,session:Session,commands:Array(Command))-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"args_string":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","args_html":"(name : String, access_token : String, emails : String, session : Session, commands : Array(Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L10"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"access_token","external_name":"access_token","restriction":"String"},{"name":"emails","external_name":"emails","restriction":"String"},{"name":"session","external_name":"session","restriction":"Session"},{"name":"commands","external_name":"commands","restriction":"Array(Command)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, access_token, emails, session, commands)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/client.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"keywords:Hash(String,Command)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords","return_type":"Hash(String, Command)","visibility":"Public","body":"@keywords"}},{"html_id":"keywords=(keywords:Hash(String,Command))-instance-method","name":"keywords=","abstract":false,"args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"args_string":"(keywords : Hash(String, Command))","args_html":"(keywords : Hash(String, Command))","location":{"filename":"src/cisco/webex/client.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L7"},"def":{"name":"keywords=","args":[{"name":"keywords","external_name":"keywords","restriction":"Hash(String, Command)"}],"visibility":"Public","body":"@keywords = keywords"}},{"html_id":"messages:Cisco::Webex::Api::Messages-instance-method","name":"messages","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L31"},"def":{"name":"messages","visibility":"Public","body":"@messages"}},{"html_id":"people:Cisco::Webex::Api::People-instance-method","name":"people","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L27"},"def":{"name":"people","visibility":"Public","body":"@people"}},{"html_id":"rooms:Cisco::Webex::Api::Rooms-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L23"},"def":{"name":"rooms","visibility":"Public","body":"@rooms"}},{"html_id":"run:Void-instance-method","name":"run","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L124"},"def":{"name":"run","return_type":"Void","visibility":"Public","body":"device = device()\n@socket = socket = HTTP::WebSocket.new(URI.parse(device.websocket_url))\nsocket.on_message do |message|\n process_incoming_websocket_message(socket, message)\nend\nsocket.on_binary do |binary|\n process_incoming_websocket_message(socket, String.new(binary))\nend\nmessage = {\"id\" => UUID.random.to_s, \"type\" => \"authorization\", \"trackingId\" => [\"webex\", \"-\", UUID.random.to_s].join(\"\"), \"data\" => {\"token\" => [\"Bearer\", @access_token].join(\" \")}}\nsocket.send(message.to_json)\nsocket.run\n"}},{"html_id":"socket:HTTP::WebSocket|Nil-instance-method","name":"socket","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L8"},"def":{"name":"socket","return_type":"HTTP::WebSocket | ::Nil","visibility":"Public","body":"@socket"}},{"html_id":"socket=(socket:HTTP::WebSocket|Nil)-instance-method","name":"socket=","abstract":false,"args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"args_string":"(socket : HTTP::WebSocket | Nil)","args_html":"(socket : HTTP::WebSocket | Nil)","location":{"filename":"src/cisco/webex/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L8"},"def":{"name":"socket=","args":[{"name":"socket","external_name":"socket","restriction":"HTTP::WebSocket | ::Nil"}],"visibility":"Public","body":"@socket = socket"}},{"html_id":"stop:Void-instance-method","name":"stop","abstract":false,"location":{"filename":"src/cisco/webex/client.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/client.cr#L148"},"def":{"name":"stop","return_type":"Void","visibility":"Public","body":"@socket.close"}}]},{"html_id":"drivers/Cisco/Webex/Command","path":"Cisco/Webex/Command.html","kind":"class","full_name":"Cisco::Webex::Command","name":"Command","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/command.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo"},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L5"},"def":{"name":"description","return_type":"String","visibility":"Public","body":""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":true,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L6"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":""}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":true,"location":{"filename":"src/cisco/webex/command.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/command.cr#L4"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":""}}]},{"html_id":"drivers/Cisco/Webex/Commands","path":"Cisco/Webex/Commands.html","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands","abstract":false,"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L3"},{"filename":"src/cisco/webex/commands/greeting.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Commands/Echo","path":"Cisco/Webex/Commands/Echo.html","kind":"class","full_name":"Cisco::Webex::Commands::Echo","name":"Echo","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/echo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply replies your message!\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => message.text}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/echo.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/echo.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"echo\"]"}}]},{"html_id":"drivers/Cisco/Webex/Commands/Greeting","path":"Cisco/Webex/Commands/Greeting.html","kind":"class","full_name":"Cisco::Webex::Commands::Greeting","name":"Greeting","abstract":false,"superclass":{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},"ancestors":[{"html_id":"drivers/Cisco/Webex/Command","kind":"class","full_name":"Cisco::Webex::Command","name":"Command"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/commands/greeting.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Commands","kind":"module","full_name":"Cisco::Webex::Commands","name":"Commands"},"instance_methods":[{"html_id":"description:String-instance-method","name":"description","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L9"},"def":{"name":"description","return_type":"String","visibility":"Public","body":"\"This command simply responds to hello, hi, how are you, etc.\""}},{"html_id":"execute(event,keyword,message)-instance-method","name":"execute","abstract":false,"args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"args_string":"(event, keyword, message)","args_html":"(event, keyword, message)","location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L13"},"def":{"name":"execute","args":[{"name":"event","external_name":"event","restriction":""},{"name":"keyword","external_name":"keyword","restriction":""},{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"{\"id\" => message.room_id, \"text\" => \"👋\"}"}},{"html_id":"keywords:Array(String)-instance-method","name":"keywords","abstract":false,"location":{"filename":"src/cisco/webex/commands/greeting.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/commands/greeting.cr#L5"},"def":{"name":"keywords","return_type":"Array(String)","visibility":"Public","body":"[\"hello\", \"hi\"]"}}]}]},{"html_id":"drivers/Cisco/Webex/Constants","path":"Cisco/Webex/Constants.html","kind":"module","full_name":"Cisco::Webex::Constants","name":"Constants","abstract":false,"locations":[{"filename":"src/cisco/webex/constants.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/constants.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_BASE_URL","name":"DEFAULT_BASE_URL","value":"\"https://webexapis.com/v1/\""},{"id":"DEFAULT_DEVICE_URL","name":"DEFAULT_DEVICE_URL","value":"\"https://wdm-a.wbx2.com/wdm/api/v1/\""},{"id":"DEFAULT_SINGLE_REQUEST_TIMEOUT","name":"DEFAULT_SINGLE_REQUEST_TIMEOUT","value":"60"},{"id":"DEFAULT_WAIT_ON_RATE_LIMIT","name":"DEFAULT_WAIT_ON_RATE_LIMIT","value":"true"},{"id":"DEVICE","name":"DEVICE","value":"{\"deviceType\" => \"DESKTOP\", \"localizedModel\" => \"crystal\", \"model\" => \"crystal\", \"name\" => UUID.random.to_s, \"systemName\" => \"webex-bot-client\", \"systemVersion\" => VERSION}"},{"id":"MESSAGES_ENDPOINT","name":"MESSAGES_ENDPOINT","value":"\"messages\""},{"id":"PEOPLE_ENDPOINT","name":"PEOPLE_ENDPOINT","value":"\"people\""},{"id":"ROOMS_ENDPOINT","name":"ROOMS_ENDPOINT","value":"\"rooms\""},{"id":"STATUS_CODES","name":"STATUS_CODES","value":"{200 => \"Successful request with body content.\", 204 => \"Successful request without body content.\", 400 => \"The request was invalid or cannot be otherwise served.\", 401 => \"Authentication credentials were missing or incorrect.\", 403 => \"The request is understood, but it has been refused or access is not allowed.\", 404 => \"The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method.\", 405 => \"The request was made to a resource using an HTTP request method that is not supported.\", 409 => \"The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once.\", 410 => \"The requested resource is no longer available.\", 415 => \"The request was made to a resource without specifying a media type or used a media type that is not supported.\", 423 => \"The requested resource is temporarily unavailable. A `Retry-After` header may be present that specifies how many seconds you need to wait before attempting the request again.\", 429 => \"Too many requests have been sent in a given amount of time and the request has been rate limited. A `Retry-After` header should be present that specifies how many seconds you need to wait before a successful request can be made.\", 500 => \"Something went wrong on the server. If the issue persists, feel free to contact the Webex Developer Support team (https://developer.webex.com/support).\", 502 => \"The server received an invalid response from an upstream server while processing the request. Try again later.\", 503 => \"Server is overloaded with requests. Try again later.\"}"},{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/runner/work/drivers/drivers/src/cisco/webex\\\"`).chomp.stringify.downcase }}"},{"id":"WEBEX_TEAMS_DATETIME_FORMAT","name":"WEBEX_TEAMS_DATETIME_FORMAT","value":"\"%Y-%m-%dT%H:%M:%S.%fZ\""}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"}},{"html_id":"drivers/Cisco/Webex/Exceptions","path":"Cisco/Webex/Exceptions.html","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions","abstract":false,"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L3"},{"filename":"src/cisco/webex/exceptions/method.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L3"},{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L3"},{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Exceptions/Argument","path":"Cisco/Webex/Exceptions/Argument.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Argument","name":"Argument","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/argument.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/argument.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/Method","path":"Cisco/Webex/Exceptions/Method.html","kind":"class","full_name":"Cisco::Webex::Exceptions::Method","name":"Method","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/method.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/method.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/RateLimit","path":"Cisco/Webex/Exceptions/RateLimit.html","kind":"class","full_name":"Cisco::Webex::Exceptions::RateLimit","name":"RateLimit","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/rate_limit.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/rate_limit.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}},{"html_id":"drivers/Cisco/Webex/Exceptions/StatusCode","path":"Cisco/Webex/Exceptions/StatusCode.html","kind":"class","full_name":"Cisco::Webex::Exceptions::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/exceptions/status_code.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/exceptions/status_code.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Exceptions","kind":"module","full_name":"Cisco::Webex::Exceptions","name":"Exceptions"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect","path":"Cisco/Webex/InstantConnect.html","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"instance_methods":[{"html_id":"create_guest_bearer(user_id:String,display_name:String,expiry:Int64|Nil=nil)-instance-method","name":"create_guest_bearer","doc":"Cisco docs on the subject:\n* Guest JWT: https://developer.webex.com/docs/guest-issuer\n* Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/","summary":"

Cisco docs on the subject: * Guest JWT: https://developer.webex.com/docs/guest-issuer * Testing site: https://webexsamples.github.io/browser-sdk-samples/browser-auth-jwt/

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","args_html":"(user_id : String, display_name : String, expiry : Int64 | Nil = nil)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L38"},"def":{"name":"create_guest_bearer","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"expiry","default_value":"nil","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"expires_at = expiry || 12.hours.from_now.to_unix\nJWT.encode({sub: user_id, name: display_name, iss: @webex_guest_issuer, iat: 3.minutes.ago.to_unix, exp: expires_at}, Base64.decode_string(@webex_guest_secret), :hs256)\n"}},{"html_id":"create_meeting(room_id:String)-instance-method","name":"create_meeting","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L49"},"def":{"name":"create_meeting","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"expiry = 24.hours.from_now.to_unix\nrequest = {aud: @jwt_audience, provideShortUrls: true, jwt: {sub: room_id, exp: expiry}}.to_json\nget_meeting_details(get_hash(request))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@webex_guest_issuer = (setting?(String, :webex_guest_issuer)) || \"\"\n@webex_guest_secret = (setting?(String, :webex_guest_secret)) || \"\"\n@audience_setting = (setting?(String, :jwt_audience)) || \"a4d886b0-979f-4e2c-a958-3e8c14605e51\"\n@bot_access_token = setting(String, :bot_access_token)\n"}}],"types":[{"html_id":"drivers/Cisco/Webex/InstantConnect/JoseEncryptResponse","path":"Cisco/Webex/InstantConnect/JoseEncryptResponse.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::JoseEncryptResponse","name":"JoseEncryptResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L95"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"guest:Array(MeetingDetails)-instance-method","name":"guest","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L92"},"def":{"name":"guest","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@guest"}},{"html_id":"host:Array(MeetingDetails)-instance-method","name":"host","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L91"},"def":{"name":"host","return_type":"Array(MeetingDetails)","visibility":"Public","body":"@host"}}]},{"html_id":"drivers/Cisco/Webex/InstantConnect/MeetingDetails","path":"Cisco/Webex/InstantConnect/MeetingDetails.html","kind":"struct","full_name":"Cisco::Webex::InstantConnect::MeetingDetails","name":"MeetingDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/instant_connect.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/InstantConnect","kind":"class","full_name":"Cisco::Webex::InstantConnect","name":"InstantConnect"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cipher:String-instance-method","name":"cipher","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L101"},"def":{"name":"cipher","return_type":"String","visibility":"Public","body":"@cipher"}},{"html_id":"short:String-instance-method","name":"short","abstract":false,"location":{"filename":"src/cisco/webex/instant_connect.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/instant_connect.cr#L102"},"def":{"name":"short","return_type":"String","visibility":"Public","body":"@short"}}]}]},{"html_id":"drivers/Cisco/Webex/Models","path":"Cisco/Webex/Models.html","kind":"module","full_name":"Cisco::Webex::Models","name":"Models","abstract":false,"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L3"},{"filename":"src/cisco/webex/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L3"},{"filename":"src/cisco/webex/models/events/activity.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L3"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L3"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L3"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L3"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L3"},{"filename":"src/cisco/webex/models/message.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L3"},{"filename":"src/cisco/webex/models/peek.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L3"},{"filename":"src/cisco/webex/models/person.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L3"},{"filename":"src/cisco/webex/models/room.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Device","path":"Cisco/Webex/Models/Device.html","kind":"class","full_name":"Cisco::Webex::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"websocket_url:String-instance-method","name":"websocket_url","abstract":false,"location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url","return_type":"String","visibility":"Public","body":"@websocket_url"}},{"html_id":"websocket_url=(websocket_url:String)-instance-method","name":"websocket_url=","abstract":false,"args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"args_string":"(websocket_url : String)","args_html":"(websocket_url : String)","location":{"filename":"src/cisco/webex/models/device.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/device.cr#L8"},"def":{"name":"websocket_url=","args":[{"name":"websocket_url","external_name":"websocket_url","restriction":"String"}],"visibility":"Public","body":"@websocket_url = websocket_url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Event","path":"Cisco/Webex/Models/Event.html","kind":"class","full_name":"Cisco::Webex::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data","return_type":"Events::Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"args_string":"(data : Events::Data)","args_html":"(data : Events::Data)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"filter_message:Bool-instance-method","name":"filter_message","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message","return_type":"Bool","visibility":"Public","body":"@filter_message"}},{"html_id":"filter_message=(filter_message:Bool)-instance-method","name":"filter_message=","abstract":false,"args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"args_string":"(filter_message : Bool)","args_html":"(filter_message : Bool)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L23"},"def":{"name":"filter_message=","args":[{"name":"filter_message","external_name":"filter_message","restriction":"Bool"}],"visibility":"Public","body":"@filter_message = filter_message"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sequence_number:Int64-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number","return_type":"Int64","visibility":"Public","body":"@sequence_number"}},{"html_id":"sequence_number=(sequence_number:Int64)-instance-method","name":"sequence_number=","abstract":false,"args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"args_string":"(sequence_number : Int64)","args_html":"(sequence_number : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L20"},"def":{"name":"sequence_number=","args":[{"name":"sequence_number","external_name":"sequence_number","restriction":"Int64"}],"visibility":"Public","body":"@sequence_number = sequence_number"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L14"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"tracking_id:String-instance-method","name":"tracking_id","abstract":false,"location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id","return_type":"String","visibility":"Public","body":"@tracking_id"}},{"html_id":"tracking_id=(tracking_id:String)-instance-method","name":"tracking_id=","abstract":false,"args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"args_string":"(tracking_id : String)","args_html":"(tracking_id : String)","location":{"filename":"src/cisco/webex/models/event.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/event.cr#L17"},"def":{"name":"tracking_id=","args":[{"name":"tracking_id","external_name":"tracking_id","restriction":"String"}],"visibility":"Public","body":"@tracking_id = tracking_id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events","path":"Cisco/Webex/Models/Events.html","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events","abstract":false,"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L4"},{"filename":"src/cisco/webex/models/events/actor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L4"},{"filename":"src/cisco/webex/models/events/data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L4"},{"filename":"src/cisco/webex/models/events/target.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L4"},{"filename":"src/cisco/webex/models/events/type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"types":[{"html_id":"drivers/Cisco/Webex/Models/Events/Activity","path":"Cisco/Webex/Models/Events/Activity.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Activity","name":"Activity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/activity.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actor:Actor-instance-method","name":"actor","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor","return_type":"Actor","visibility":"Public","body":"@actor"}},{"html_id":"actor=(actor:Actor)-instance-method","name":"actor=","abstract":false,"args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"args_string":"(actor : Actor)","args_html":"(actor : Actor)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L24"},"def":{"name":"actor=","args":[{"name":"actor","external_name":"actor","restriction":"Actor"}],"visibility":"Public","body":"@actor = actor"}},{"html_id":"client_temp_id:String|Nil-instance-method","name":"client_temp_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id","return_type":"String | ::Nil","visibility":"Public","body":"@client_temp_id"}},{"html_id":"client_temp_id=(client_temp_id:String|Nil)-instance-method","name":"client_temp_id=","abstract":false,"args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"args_string":"(client_temp_id : String | Nil)","args_html":"(client_temp_id : String | Nil)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L30"},"def":{"name":"client_temp_id=","args":[{"name":"client_temp_id","external_name":"client_temp_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client_temp_id = client_temp_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"target:Target-instance-method","name":"target","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target","return_type":"Target","visibility":"Public","body":"@target"}},{"html_id":"target=(target:Target)-instance-method","name":"target=","abstract":false,"args":[{"name":"target","external_name":"target","restriction":"Target"}],"args_string":"(target : Target)","args_html":"(target : Target)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L27"},"def":{"name":"target=","args":[{"name":"target","external_name":"target","restriction":"Target"}],"visibility":"Public","body":"@target = target"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"verb:String-instance-method","name":"verb","abstract":false,"location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb","return_type":"String","visibility":"Public","body":"@verb"}},{"html_id":"verb=(verb:String)-instance-method","name":"verb=","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"}],"args_string":"(verb : String)","args_html":"(verb : String)","location":{"filename":"src/cisco/webex/models/events/activity.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/activity.cr#L21"},"def":{"name":"verb=","args":[{"name":"verb","external_name":"verb","restriction":"String"}],"visibility":"Public","body":"@verb = verb"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Actor","path":"Cisco/Webex/Models/Events/Actor.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Actor","name":"Actor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/actor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L21"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"entry_uuid:String-instance-method","name":"entry_uuid","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid","return_type":"String","visibility":"Public","body":"@entry_uuid"}},{"html_id":"entry_uuid=(entry_uuid:String)-instance-method","name":"entry_uuid=","abstract":false,"args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"args_string":"(entry_uuid : String)","args_html":"(entry_uuid : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L24"},"def":{"name":"entry_uuid=","args":[{"name":"entry_uuid","external_name":"entry_uuid","restriction":"String"}],"visibility":"Public","body":"@entry_uuid = entry_uuid"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"organisation_id:String-instance-method","name":"organisation_id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id","return_type":"String","visibility":"Public","body":"@organisation_id"}},{"html_id":"organisation_id=(organisation_id:String)-instance-method","name":"organisation_id=","abstract":false,"args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"args_string":"(organisation_id : String)","args_html":"(organisation_id : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L18"},"def":{"name":"organisation_id=","args":[{"name":"organisation_id","external_name":"organisation_id","restriction":"String"}],"visibility":"Public","body":"@organisation_id = organisation_id"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/events/actor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/actor.cr#L27"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Data","path":"Cisco/Webex/Models/Events/Data.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/data.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activity:Activity-instance-method","name":"activity","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity","return_type":"Activity","visibility":"Public","body":"@activity"}},{"html_id":"activity=(activity:Activity)-instance-method","name":"activity=","abstract":false,"args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"args_string":"(activity : Activity)","args_html":"(activity : Activity)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L9"},"def":{"name":"activity=","args":[{"name":"activity","external_name":"activity","restriction":"Activity"}],"visibility":"Public","body":"@activity = activity"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/data.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/data.cr#L12"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Target","path":"Cisco/Webex/Models/Events/Target.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Target","name":"Target","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/target.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"object_type:String-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type","return_type":"String","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:String)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"args_string":"(object_type : String)","args_html":"(object_type : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L12"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"String"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"published:String-instance-method","name":"published","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published","return_type":"String","visibility":"Public","body":"@published"}},{"html_id":"published=(published:String)-instance-method","name":"published=","abstract":false,"args":[{"name":"published","external_name":"published","restriction":"String"}],"args_string":"(published : String)","args_html":"(published : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L18"},"def":{"name":"published=","args":[{"name":"published","external_name":"published","restriction":"String"}],"visibility":"Public","body":"@published = published"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/cisco/webex/models/events/target.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/target.cr#L15"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}}]},{"html_id":"drivers/Cisco/Webex/Models/Events/Type","path":"Cisco/Webex/Models/Events/Type.html","kind":"class","full_name":"Cisco::Webex::Models::Events::Type","name":"Type","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/events/type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models/Events","kind":"module","full_name":"Cisco::Webex::Models::Events","name":"Events"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/cisco/webex/models/events/type.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/events/type.cr#L9"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}}]}]},{"html_id":"drivers/Cisco/Webex/Models/Message","path":"Cisco/Webex/Models/Message.html","kind":"class","full_name":"Cisco::Webex::Models::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/message.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Array(String)|Nil-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@attachments"}},{"html_id":"attachments=(attachments:Array(String)|Nil)-instance-method","name":"attachments=","abstract":false,"args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"args_string":"(attachments : Array(String) | Nil)","args_html":"(attachments : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L65"},"def":{"name":"attachments=","args":[{"name":"attachments","external_name":"attachments","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@attachments = attachments"}},{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L69"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"files:Array(String)|Nil-instance-method","name":"files","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@files"}},{"html_id":"files=(files:Array(String)|Nil)-instance-method","name":"files=","abstract":false,"args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"args_string":"(files : Array(String) | Nil)","args_html":"(files : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L45"},"def":{"name":"files=","args":[{"name":"files","external_name":"files","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@files = files"}},{"html_id":"html:String|Nil-instance-method","name":"html","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html","return_type":"String | ::Nil","visibility":"Public","body":"@html"}},{"html_id":"html=(html:String|Nil)-instance-method","name":"html=","abstract":false,"args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"args_string":"(html : String | Nil)","args_html":"(html : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L41"},"def":{"name":"html=","args":[{"name":"html","external_name":"html","restriction":"String | ::Nil"}],"visibility":"Public","body":"@html = html"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"markdown:String|Nil-instance-method","name":"markdown","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown","return_type":"String | ::Nil","visibility":"Public","body":"@markdown"}},{"html_id":"markdown=(markdown:String|Nil)-instance-method","name":"markdown=","abstract":false,"args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"args_string":"(markdown : String | Nil)","args_html":"(markdown : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L37"},"def":{"name":"markdown=","args":[{"name":"markdown","external_name":"markdown","restriction":"String | ::Nil"}],"visibility":"Public","body":"@markdown = markdown"}},{"html_id":"mentioned_groups:Array(String)|Nil-instance-method","name":"mentioned_groups","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_groups"}},{"html_id":"mentioned_groups=(mentioned_groups:Array(String)|Nil)-instance-method","name":"mentioned_groups=","abstract":false,"args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_groups : Array(String) | Nil)","args_html":"(mentioned_groups : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L61"},"def":{"name":"mentioned_groups=","args":[{"name":"mentioned_groups","external_name":"mentioned_groups","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_groups = mentioned_groups"}},{"html_id":"mentioned_people:Array(String)|Nil-instance-method","name":"mentioned_people","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@mentioned_people"}},{"html_id":"mentioned_people=(mentioned_people:Array(String)|Nil)-instance-method","name":"mentioned_people=","abstract":false,"args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"args_string":"(mentioned_people : Array(String) | Nil)","args_html":"(mentioned_people : Array(String) | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L57"},"def":{"name":"mentioned_people=","args":[{"name":"mentioned_people","external_name":"mentioned_people","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@mentioned_people = mentioned_people"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"parent_id=(parent_id:String|Nil)-instance-method","name":"parent_id=","abstract":false,"args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"args_string":"(parent_id : String | Nil)","args_html":"(parent_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L13"},"def":{"name":"parent_id=","args":[{"name":"parent_id","external_name":"parent_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@parent_id = parent_id"}},{"html_id":"person_email:String-instance-method","name":"person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email","return_type":"String","visibility":"Public","body":"@person_email"}},{"html_id":"person_email=(person_email:String)-instance-method","name":"person_email=","abstract":false,"args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"args_string":"(person_email : String)","args_html":"(person_email : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L53"},"def":{"name":"person_email=","args":[{"name":"person_email","external_name":"person_email","restriction":"String"}],"visibility":"Public","body":"@person_email = person_email"}},{"html_id":"person_id:String-instance-method","name":"person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id","return_type":"String","visibility":"Public","body":"@person_id"}},{"html_id":"person_id=(person_id:String)-instance-method","name":"person_id=","abstract":false,"args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"args_string":"(person_id : String)","args_html":"(person_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L49"},"def":{"name":"person_id=","args":[{"name":"person_id","external_name":"person_id","restriction":"String"}],"visibility":"Public","body":"@person_id = person_id"}},{"html_id":"room_id:String-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id","return_type":"String","visibility":"Public","body":"@room_id"}},{"html_id":"room_id=(room_id:String)-instance-method","name":"room_id=","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L17"},"def":{"name":"room_id=","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"@room_id = room_id"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}},{"html_id":"room_type=(room_type:String)-instance-method","name":"room_type=","abstract":false,"args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"args_string":"(room_type : String)","args_html":"(room_type : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L21"},"def":{"name":"room_type=","args":[{"name":"room_type","external_name":"room_type","restriction":"String"}],"visibility":"Public","body":"@room_type = room_type"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L33"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}},{"html_id":"to_person_email:String|Nil-instance-method","name":"to_person_email","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_email"}},{"html_id":"to_person_email=(to_person_email:String|Nil)-instance-method","name":"to_person_email=","abstract":false,"args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"args_string":"(to_person_email : String | Nil)","args_html":"(to_person_email : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L29"},"def":{"name":"to_person_email=","args":[{"name":"to_person_email","external_name":"to_person_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_email = to_person_email"}},{"html_id":"to_person_id:String|Nil-instance-method","name":"to_person_id","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id","return_type":"String | ::Nil","visibility":"Public","body":"@to_person_id"}},{"html_id":"to_person_id=(to_person_id:String|Nil)-instance-method","name":"to_person_id=","abstract":false,"args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"args_string":"(to_person_id : String | Nil)","args_html":"(to_person_id : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L25"},"def":{"name":"to_person_id=","args":[{"name":"to_person_id","external_name":"to_person_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@to_person_id = to_person_id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/cisco/webex/models/message.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/message.cr#L73"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/Cisco/Webex/Models/Peek","path":"Cisco/Webex/Models/Peek.html","kind":"class","full_name":"Cisco::Webex::Models::Peek","name":"Peek","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/peek.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Events::Type-instance-method","name":"data","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data","return_type":"Events::Type","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Events::Type)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"args_string":"(data : Events::Type)","args_html":"(data : Events::Type)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L11"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Events::Type"}],"visibility":"Public","body":"@data = data"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/peek.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/peek.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Person","path":"Cisco/Webex/Models/Person.html","kind":"class","full_name":"Cisco::Webex::Models::Person","name":"Person","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/person.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/person.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/person.cr#L8"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}}]},{"html_id":"drivers/Cisco/Webex/Models/Room","path":"Cisco/Webex/Models/Room.html","kind":"class","full_name":"Cisco::Webex::Models::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/models/room.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Cisco/Webex/Models","kind":"module","full_name":"Cisco::Webex::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created:String-instance-method","name":"created","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created","return_type":"String","visibility":"Public","body":"@created"}},{"html_id":"created=(created:String)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"String"}],"args_string":"(created : String)","args_html":"(created : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L37"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"String"}],"visibility":"Public","body":"@created = created"}},{"html_id":"creator_id:String-instance-method","name":"creator_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id","return_type":"String","visibility":"Public","body":"@creator_id"}},{"html_id":"creator_id=(creator_id:String)-instance-method","name":"creator_id=","abstract":false,"args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"args_string":"(creator_id : String)","args_html":"(creator_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L33"},"def":{"name":"creator_id=","args":[{"name":"creator_id","external_name":"creator_id","restriction":"String"}],"visibility":"Public","body":"@creator_id = creator_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_locked:Bool-instance-method","name":"is_locked","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked","return_type":"Bool","visibility":"Public","body":"@is_locked"}},{"html_id":"is_locked=(is_locked:Bool)-instance-method","name":"is_locked=","abstract":false,"args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"args_string":"(is_locked : Bool)","args_html":"(is_locked : Bool)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L21"},"def":{"name":"is_locked=","args":[{"name":"is_locked","external_name":"is_locked","restriction":"Bool"}],"visibility":"Public","body":"@is_locked = is_locked"}},{"html_id":"last_activity:String-instance-method","name":"last_activity","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity","return_type":"String","visibility":"Public","body":"@last_activity"}},{"html_id":"last_activity=(last_activity:String)-instance-method","name":"last_activity=","abstract":false,"args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"args_string":"(last_activity : String)","args_html":"(last_activity : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L29"},"def":{"name":"last_activity=","args":[{"name":"last_activity","external_name":"last_activity","restriction":"String"}],"visibility":"Public","body":"@last_activity = last_activity"}},{"html_id":"owner_id:String-instance-method","name":"owner_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id","return_type":"String","visibility":"Public","body":"@owner_id"}},{"html_id":"owner_id=(owner_id:String)-instance-method","name":"owner_id=","abstract":false,"args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(owner_id : String)","args_html":"(owner_id : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L41"},"def":{"name":"owner_id=","args":[{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"@owner_id = owner_id"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"team_id=(team_id:String|Nil)-instance-method","name":"team_id=","abstract":false,"args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(team_id : String | Nil)","args_html":"(team_id : String | Nil)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L25"},"def":{"name":"team_id=","args":[{"name":"team_id","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@team_id = team_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L13"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/cisco/webex/models/room.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/models/room.cr#L17"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]}]},{"html_id":"drivers/Cisco/Webex/Session","path":"Cisco/Webex/Session.html","kind":"class","full_name":"Cisco::Webex::Session","name":"Session","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/session.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Log","name":"Log","value":"::Log.for(self)"}],"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(access_token:String)-class-method","name":"new","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L13"},"def":{"name":"new","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(access_token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"base_url:String-instance-method","name":"base_url","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url","return_type":"String","visibility":"Public","body":"@base_url"}},{"html_id":"base_url=(base_url:String)-instance-method","name":"base_url=","abstract":false,"args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"args_string":"(base_url : String)","args_html":"(base_url : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L6"},"def":{"name":"base_url=","args":[{"name":"base_url","external_name":"base_url","restriction":"String"}],"visibility":"Public","body":"@base_url = base_url"}},{"html_id":"delete(url:String,**kwargs):Halite::Response-instance-method","name":"delete","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L76"},"def":{"name":"delete","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"DELETE\", url, **kwargs)"}},{"html_id":"get(url:String,**kwargs):Halite::Response-instance-method","name":"get","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L61"},"def":{"name":"get","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"GET\", url, **kwargs)"}},{"html_id":"post(url:String,**kwargs):Halite::Response-instance-method","name":"post","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L66"},"def":{"name":"post","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"POST\", url, **kwargs)"}},{"html_id":"put(url:String,**kwargs):Halite::Response-instance-method","name":"put","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String, **kwargs) : Halite::Response","args_html":"(url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L71"},"def":{"name":"put","args":[{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"request(\"PUT\", url, **kwargs)"}},{"html_id":"request(method:String,url:String,**kwargs):Halite::Response-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(method : String, url : String, **kwargs) : Halite::Response","args_html":"(method : String, url : String, **kwargs) : Halite::Response","location":{"filename":"src/cisco/webex/session.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L16"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"url","external_name":"url","restriction":"String"}],"double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"return_type":"Halite::Response","visibility":"Public","body":"absolute_url = ((URI.parse(base_url)).resolve(url)).to_s\n@client.headers({\"Authorization\" => [\"Bearer\", @access_token].join(\" \")})\n@client.headers({\"Content-Type\" => \"application/json;charset=utf-8\"})\n@client.timeout(single_request_timeout)\nloop do\n case method\n when \"GET\"\n response = @client.get(absolute_url, **kwargs)\n when \"POST\"\n response = @client.post(absolute_url, **kwargs)\n when \"PUT\"\n response = @client.put(absolute_url, **kwargs)\n when \"DELETE\"\n response = @client.delete(absolute_url, **kwargs)\n else\n raise(Exceptions::Method.new(\"The request-method type is invalid.\"))\n end\n begin\n status_code = StatusCode.new(response.status_code)\n if response.status_code == 429\n raise(Exceptions::RateLimit.new(status_code.message))\n end\n if !status_code.valid?\n raise(Exceptions::StatusCode.new(status_code.message))\n end\n return response\n rescue e : Exceptions::StatusCode\n Log.error(exception: e) do\n end\n rescue e : Exceptions::RateLimit\n Log.error(exception: e) do\n end\n retry_after = (response.headers[\"Retry-After\"]? || \"15\").to_i * 1000\n sleep(retry_after)\n end\nend\n"}},{"html_id":"single_request_timeout:Int32-instance-method","name":"single_request_timeout","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout","return_type":"Int32","visibility":"Public","body":"@single_request_timeout"}},{"html_id":"single_request_timeout=(single_request_timeout:Int32)-instance-method","name":"single_request_timeout=","abstract":false,"args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"args_string":"(single_request_timeout : Int32)","args_html":"(single_request_timeout : Int32)","location":{"filename":"src/cisco/webex/session.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L7"},"def":{"name":"single_request_timeout=","args":[{"name":"single_request_timeout","external_name":"single_request_timeout","restriction":"Int32"}],"visibility":"Public","body":"@single_request_timeout = single_request_timeout"}},{"html_id":"user_agent:String-instance-method","name":"user_agent","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent","return_type":"String","visibility":"Public","body":"@user_agent"}},{"html_id":"user_agent=(user_agent:String)-instance-method","name":"user_agent=","abstract":false,"args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"args_string":"(user_agent : String)","args_html":"(user_agent : String)","location":{"filename":"src/cisco/webex/session.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L8"},"def":{"name":"user_agent=","args":[{"name":"user_agent","external_name":"user_agent","restriction":"String"}],"visibility":"Public","body":"@user_agent = user_agent"}},{"html_id":"wait_on_rate_limit:Bool-instance-method","name":"wait_on_rate_limit","abstract":false,"location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit","return_type":"Bool","visibility":"Public","body":"@wait_on_rate_limit"}},{"html_id":"wait_on_rate_limit=(wait_on_rate_limit:Bool)-instance-method","name":"wait_on_rate_limit=","abstract":false,"args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"args_string":"(wait_on_rate_limit : Bool)","args_html":"(wait_on_rate_limit : Bool)","location":{"filename":"src/cisco/webex/session.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/session.cr#L9"},"def":{"name":"wait_on_rate_limit=","args":[{"name":"wait_on_rate_limit","external_name":"wait_on_rate_limit","restriction":"Bool"}],"visibility":"Public","body":"@wait_on_rate_limit = wait_on_rate_limit"}}]},{"html_id":"drivers/Cisco/Webex/StatusCode","path":"Cisco/Webex/StatusCode.html","kind":"class","full_name":"Cisco::Webex::StatusCode","name":"StatusCode","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cisco/webex/status_code.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"constructors":[{"html_id":"new(code:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/cisco/webex/status_code.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L6"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"Constants::STATUS_CODES[@code]"}},{"html_id":"valid?:Bool-instance-method","name":"valid?","abstract":false,"location":{"filename":"src/cisco/webex/status_code.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/status_code.cr#L9"},"def":{"name":"valid?","return_type":"Bool","visibility":"Public","body":"case @code\nwhen 200, 204\n true\nelse\n false\nend"}}]},{"html_id":"drivers/Cisco/Webex/Utils","path":"Cisco/Webex/Utils.html","kind":"module","full_name":"Cisco::Webex::Utils","name":"Utils","abstract":false,"locations":[{"filename":"src/cisco/webex/utils.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Cisco/Webex","kind":"module","full_name":"Cisco::Webex","name":"Webex"},"class_methods":[{"html_id":"hash_from_items_with_values(**kwargs)-class-method","name":"hash_from_items_with_values","abstract":false,"location":{"filename":"src/cisco/webex/utils.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L4"},"def":{"name":"hash_from_items_with_values","double_splat":{"name":"kwargs","external_name":"kwargs","restriction":""},"visibility":"Public","body":"kwargs = kwargs.map do |k, v|\n if (v != nil) && (v != \"\")\n {\"#{k}\" => v}\n end\nend\nkwargs.reject!(nil)\nkwargs = kwargs.reduce do |acc, i|\n acc.try(&.merge(i.not_nil!))\nend\nkwargs\n"}},{"html_id":"named_tuple_from_hash(hash)-class-method","name":"named_tuple_from_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":""}],"args_string":"(hash)","args_html":"(hash)","location":{"filename":"src/cisco/webex/utils.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/utils.cr#L17"},"def":{"name":"named_tuple_from_hash","args":[{"name":"hash","external_name":"hash","restriction":""}],"visibility":"Public","body":"named_tuple = NamedTuple.new(roomId: String, text: String)\nnamed_tuple.from(hash)\n"}}]}]}]},{"html_id":"drivers/Crestron","path":"Crestron.html","kind":"module","full_name":"Crestron","name":"Crestron","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Crestron/AspectRatio","path":"Crestron/AspectRatio.html","kind":"enum","full_name":"Crestron::AspectRatio","name":"AspectRatio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L11"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MaintainAspectRatio","name":"MaintainAspectRatio","value":"0"},{"id":"StretchToFit","name":"StretchToFit","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"maintain_aspect_ratio?-instance-method","name":"maintain_aspect_ratio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L12"},"def":{"name":"maintain_aspect_ratio?","visibility":"Public","body":"self == MaintainAspectRatio"}},{"html_id":"stretch_to_fit?-instance-method","name":"stretch_to_fit?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L13"},"def":{"name":"stretch_to_fit?","visibility":"Public","body":"self == StretchToFit"}}]},{"html_id":"drivers/Crestron/CresNext","path":"Crestron/CresNext.html","kind":"class","full_name":"Crestron::CresNext","name":"CresNext","abstract":true,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/cres_next.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"}],"subclasses":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Parent module for Crestron DM NVX devices.","summary":"

Parent module for Crestron DM NVX devices.

","instance_methods":[{"html_id":"maintain_session-instance-method","name":"maintain_session","doc":"========================================\nHTTP for updates and session maintenance\n========================================","summary":"

======================================== HTTP for updates and session maintenance ========================================

","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L93"},"def":{"name":"maintain_session","visibility":"Public","body":"response = get(\"/Device/DeviceInfo\")\nif response.success?\nelse\n return logout\nend\nreceived(response.body.to_slice, nil)\n"}},{"html_id":"manual_send(payload:JSON::Any)-instance-method","name":"manual_send","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(payload : JSON::Any)","args_html":"(payload : JSON::Any)","location":{"filename":"src/crestron/cres_next.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L79"},"def":{"name":"manual_send","args":[{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"data = payload.to_json\nlogger.debug do\n \"Sending: #{data}\"\nend\nsend(data, wait: false)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/cres_next.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\n"}},{"html_id":"tokenize(path:String)-instance-method","name":"tokenize","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String)","args_html":"(path : String)","location":{"filename":"src/crestron/cres_next.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L30"},"def":{"name":"tokenize","args":[{"name":"path","external_name":"path","restriction":"String"}],"visibility":"Public","body":"(path.split('/')).reject(&.empty?)"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/crestron/cres_next.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next.cr#L15"},"def":{"name":"websocket_headers","visibility":"Public","body":"authenticate\nheaders = HTTP::Headers.new\ntransport.cookies.add_request_headers(headers)\nif @xsrf_token.empty?\nelse\n headers[\"CREST-XSRF-TOKEN\"] = @xsrf_token\nend\nheaders[\"User-Agent\"] = \"advanced-rest-client\"\nschedule.clear\nschedule.every(10.minutes) do\n maintain_session\nend\nheaders\n"}}]},{"html_id":"drivers/Crestron/CresNextAuth","path":"Crestron/CresNextAuth.html","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth","abstract":false,"locations":[{"filename":"src/crestron/cres_next_auth.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/OccupancySensor","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"authenticate-instance-method","name":"authenticate","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L6"},"def":{"name":"authenticate","visibility":"Public","body":"logger.debug do\n \"Authenticating\"\nend\nuri = URI.parse(config.uri.not_nil!)\nhost = uri.host\nresponse = post(\"/userlogin.html\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Referer\" => \"https://#{host}/userlogin.html\", \"Origin\" => \"https://#{host}\"}, body: URI::Params.build do |form|\n form.add(\"login\", setting(String, :username))\n form.add(\"passwd\", setting(String, :password))\nend)\ncase response.status_code\nwhen 200, 302\n auth_cookies = [\"AuthByPasswd\", \"iv\", \"tag\", \"userid\", \"userstr\"] of ::String\n if (auth_cookies - response.cookies.to_h.keys).empty?\n @xsrf_token = response.headers[\"CREST-XSRF-TOKEN\"]? || \"\"\n logger.debug do\n \"Authenticated\"\n end\n else\n error = \"Device did not return all auth information\"\n end\nwhen 403\n error = \"Invalid credentials\"\nelse\n error = \"Unexpected response (HTTP #{response.status})\"\nend\nif error\n logger.error do\n error\n end\n raise(error)\nend\n"}},{"html_id":"logout-instance-method","name":"logout","abstract":false,"location":{"filename":"src/crestron/cres_next_auth.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/cres_next_auth.cr#L43"},"def":{"name":"logout","visibility":"Public","body":"begin\n response = post(\"/logout\")\n case response.status\n when 302\n logger.debug do\n \"Logout successful\"\n end\n true\n else\n logger.warn do\n \"Unexpected response (HTTP #{response.status})\"\n end\n false\n end\nensure\n @xsrf_token = \"\"\n transport.cookies.clear\n schedule.clear\n disconnect\nend"}}]},{"html_id":"drivers/Crestron/Fusion","path":"Crestron/Fusion.html","kind":"class","full_name":"Crestron::Fusion","name":"Fusion","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/fusion.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"TODO: add handling of security level 2\nTODO: parse returend results into models\n\nDocumentation: https://sdkcon78221.crestron.com/sdk/Fusion_APIs/Content/Topics/Default.htm","summary":"

TODO add handling of security level 2 TODO: parse returend results into models

","instance_methods":[{"html_id":"delete_room(room_id:String)-instance-method","name":"delete_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L132"},"def":{"name":"delete_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"DELETE\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_action(action_id:String)-instance-method","name":"get_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"args_string":"(action_id : String)","args_html":"(action_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L65"},"def":{"name":"get_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/actions/#{action_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_actions(name:String|Nil,room_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_actions","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, room_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L55"},"def":{"name":"get_actions","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif room_id\n params[\"room\"] = room_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/actions\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_alerts(node_ids:Array(String)|Nil=nil,room_ids:Array(String)|Nil=nil,start_time:String|Nil=nil,end_time:String|Nil=nil,severity:Int32|Nil=nil,active_alerts:Bool=true)-instance-method","name":"get_alerts","doc":"Severity should be in the range 1-4","summary":"

Severity should be in the range 1-4

","abstract":false,"args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"args_string":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","args_html":"(node_ids : Array(String) | Nil = nil, room_ids : Array(String) | Nil = nil, start_time : String | Nil = nil, end_time : String | Nil = nil, severity : Int32 | Nil = nil, active_alerts : Bool = true)","location":{"filename":"src/crestron/fusion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L90"},"def":{"name":"get_alerts","args":[{"name":"node_ids","default_value":"nil","external_name":"node_ids","restriction":"Array(String) | ::Nil"},{"name":"room_ids","default_value":"nil","external_name":"room_ids","restriction":"Array(String) | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"String | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"String | ::Nil"},{"name":"severity","default_value":"nil","external_name":"severity","restriction":"Int32 | ::Nil"},{"name":"active_alerts","default_value":"true","external_name":"active_alerts","restriction":"Bool"}],"visibility":"Public","body":"params = URI::Params.new\nif node_ids\n params[\"nodes\"] = node_ids.join(',')\nend\nif room_ids\n params[\"rooms\"] = room_ids.join(',')\nend\nif start_time\n params[\"start\"] = start_time\nend\nif end_time\n params[\"end\"] = end_time\nend\nif severity\n params[\"severity\"] = severity.to_s\nend\nif active_alerts\n params[\"activeAlerts\"] = active_alerts.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_room(room_id:String)-instance-method","name":"get_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"args_string":"(room_id : String)","args_html":"(room_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L122"},"def":{"name":"get_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/rooms/#{room_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_rooms(name:String|Nil,node_id:String|Nil=nil,page:Int32|Nil=nil)-instance-method","name":"get_rooms","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"args_string":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","args_html":"(name : String | Nil, node_id : String | Nil = nil, page : Int32 | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L112"},"def":{"name":"get_rooms","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"},{"name":"page","default_value":"nil","external_name":"page","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif name\n params[\"search\"] = name\nend\nif node_id\n params[\"node\"] = node_id\nend\nif page\n params[\"page\"] = page.to_s\nend\nresponse = perform_request(\"GET\", \"/rooms\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_value(symbol_id:String,attribute_id:String)-instance-method","name":"get_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String)","args_html":"(symbol_id : String, attribute_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L146"},"def":{"name":"get_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}/#{attribute_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"get_signal_values(symbol_id:String)-instance-method","name":"get_signal_values","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"args_string":"(symbol_id : String)","args_html":"(symbol_id : String)","location":{"filename":"src/crestron/fusion.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L141"},"def":{"name":"get_signal_values","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"GET\", \"/signalvalues/#{symbol_id}\")\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/fusion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L44"},"def":{"name":"on_update","visibility":"Public","body":"@security_level = setting(Int32, :security_level)\n@user_id = setting(String, :user_id)\n@api_pass_code = setting(String, :api_pass_code)\n@content_type = \"application/\" + (setting(String, :content_type))\n"}},{"html_id":"post_room(room_xml_or_json:String)-instance-method","name":"post_room","abstract":false,"args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_xml_or_json : String)","args_html":"(room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L107"},"def":{"name":"post_room","args":[{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"POST\", \"/rooms\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_room(room_id:String,room_xml_or_json:String)-instance-method","name":"put_room","abstract":false,"args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"args_string":"(room_id : String, room_xml_or_json : String)","args_html":"(room_id : String, room_xml_or_json : String)","location":{"filename":"src/crestron/fusion.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L127"},"def":{"name":"put_room","args":[{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"room_xml_or_json","external_name":"room_xml_or_json","restriction":"String"}],"visibility":"Public","body":"response = perform_request(\"PUT\", \"/rooms/#{room_id}\", body: room_xml_or_json)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"put_signal_value(symbol_id:String,attribute_id:String,value:String)-instance-method","name":"put_signal_value","abstract":false,"args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(symbol_id : String, attribute_id : String, value : String)","args_html":"(symbol_id : String, attribute_id : String, value : String)","location":{"filename":"src/crestron/fusion.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L151"},"def":{"name":"put_signal_value","args":[{"name":"symbol_id","external_name":"symbol_id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.new\nparams[\"value\"] = value\nresponse = perform_request(\"PUT\", \"/signalvalues/#{symbol_id}/#{attribute_id}\", params)\n@content_type == \"xml\" ? XML.parse(response.body) : JSON.parse(response.body)\n"}},{"html_id":"send_action(action_id:String|Nil,room_id:String|Nil=nil,node_id:String|Nil=nil)-instance-method","name":"send_action","abstract":false,"args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"args_string":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","args_html":"(action_id : String | Nil, room_id : String | Nil = nil, node_id : String | Nil = nil)","location":{"filename":"src/crestron/fusion.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/fusion.cr#L70"},"def":{"name":"send_action","args":[{"name":"action_id","external_name":"action_id","restriction":"String | ::Nil"},{"name":"room_id","default_value":"nil","external_name":"room_id","restriction":"String | ::Nil"},{"name":"node_id","default_value":"nil","external_name":"node_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.new\nif room_id\n params[\"room\"] = room_id\nend\nif node_id\n params[\"node\"] = node_id\nend\npath = if (id = action_id) && (!id.empty?)\n \"/actions/#{id}\"\nelse\n \"/actions\"\nend\nresponse = perform_request(\"POST\", path, params)\nJSON.parse(response.body)\n"}}]},{"html_id":"drivers/Crestron/NvxAddressManager","path":"Crestron/NvxAddressManager.html","kind":"class","full_name":"Crestron::NvxAddressManager","name":"NvxAddressManager","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_address_manager.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MULTICAST_ADDRESSES","name":"MULTICAST_ADDRESSES","value":"::IPAddress::IPv4.new(\"224.0.0.0/4\")","doc":"https://github.com/Sija/ipaddress.cr","summary":"

https://github.com/Sija/ipaddress.cr

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"addr = setting(String, :base_address)\nbase_addr = ::IPAddress::IPv4.new(addr)\n@base_address = base_addr.to_u32\nif MULTICAST_ADDRESSES.includes?(base_addr)\nelse\n logger.warn do\n \"#{addr} is not a valid multicast address\"\n end\nend\n@block_size = setting(Int32, :block_size)\n"}},{"html_id":"readdress_streams-instance-method","name":"readdress_streams","abstract":false,"location":{"filename":"src/crestron/nvx_address_manager.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_address_manager.cr#L42"},"def":{"name":"readdress_streams","visibility":"Public","body":"logger.debug do\n \"readdressing devices\"\nend\naddress_pairs = encoders.zip(addresses)\ninteractions = address_pairs.map_with_index(1) do |__arg0, idx|\n mod = __arg0[0]\n ip_u32 = __arg0[1]\n ip = ::IPAddress::IPv4.parse_u32(ip_u32)\n logger.debug do\n \"setting encoder #{idx} to #{ip}\"\n end\n mod.multicast_address(ip.to_s)\nend\nfailed = 0\ninteractions.each do |request|\n begin\n request.get\n rescue error\n failed = failed + 1\n logger.warn(exception: error) do\n \"addressing NVX devices\"\n end\n end\nend\nif failed == 0\nelse\n raise(\"#{failed} failed to set stream address\")\nend\ninteractions.size\n"}}]},{"html_id":"drivers/Crestron/NvxRx","path":"Crestron/NvxRx.html","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Receiver","kind":"module","full_name":"Crestron::Receiver","name":"Receiver"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"aspect_ratio(mode:AspectRatio)-instance-method","name":"aspect_ratio","doc":"aspect ratio defined in nvx_rx_models","summary":"

aspect ratio defined in nvx_rx_models

","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"args_string":"(mode : AspectRatio)","args_html":"(mode : AspectRatio)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L99"},"def":{"name":"aspect_ratio","args":[{"name":"mode","external_name":"mode","restriction":"AspectRatio"}],"visibility":"Public","body":"logger.debug do\n \"setting output aspect ratio mode: #{mode}\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{AspectRatioMode: mode}]}], name: :aspect_ratio)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L27"},"def":{"name":"connected","visibility":"Public","body":"audio_follows_video = setting?(Bool, :audio_follows_video)\n@audio_follows_video = audio_follows_video.nil? ? true : audio_follows_video\nquery(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Receiver\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Receiver\"\nend\nquery(\"/XioSubscription/Subscriptions\") do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\nend\nschedule.every(1.hour) do\n query(\"/XioSubscription/Subscriptions\", priority: 5) do |subs|\n self[:subscriptions] = @subscriptions = subs.as_h\n end\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L84"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nws_update(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L80"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"switch_layer(map.keys.first, layer)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_rx.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L58"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}}],"types":[{"html_id":"drivers/Crestron/NvxRx/Input","path":"Crestron/NvxRx/Input.html","kind":"alias","full_name":"Crestron::NvxRx::Input","name":"Input","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/Output","path":"Crestron/NvxRx/Output.html","kind":"alias","full_name":"Crestron::NvxRx::Output","name":"Output","abstract":false,"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Int32","aliased_html":"Int32","const":false,"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}},{"html_id":"drivers/Crestron/NvxRx/SourceType","path":"Crestron/NvxRx/SourceType.html","kind":"enum","full_name":"Crestron::NvxRx::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_rx.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L227"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L228"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_rx.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_rx.cr#L229"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Crestron/NvxScalerControl","path":"Crestron/NvxScalerControl.html","kind":"class","full_name":"Crestron::NvxScalerControl","name":"NvxScalerControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_scaler_control.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SCALE_TO_FIT_BOUNDS","name":"SCALE_TO_FIT_BOUNDS","value":"((16 / 9) * 0.95)..((16 / 9) * 1.05)","doc":"Window of aspect ratio's to detect as 16:9 - allows for +/-5% for\nslightly off-shape windows","summary":"

Window of aspect ratio's to detect as 16:9 - allows for +/-5% for slightly off-shape windows

"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/nvx_scaler_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_scaler_control.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@links = (setting?(Hash(String, String), :link_scalers)) || ({} of String => String)"}}]},{"html_id":"drivers/Crestron/NvxTx","path":"Crestron/NvxTx.html","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx","abstract":false,"superclass":{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},"ancestors":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Crestron/CresNext","kind":"class","full_name":"Crestron::CresNext","name":"CresNext"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Crestron/Transmitter","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L21"},"def":{"name":"connected","visibility":"Public","body":"query(\"/DeviceSpecific/DeviceMode\") do |mode|\n if mode == \"Transmitter\"\n next\n end\n logger.warn do\n \"device configured as a #{mode}\"\n end\n self[:WARN] = \"device configured as a #{mode}. Expecting Transmitter\"\nend\nschedule.every(5.minutes, immediate: true) do\n update_source_info\nend\n"}},{"html_id":"emulate_input_sync(state:Bool=true,idx:Int32=1)-instance-method","name":"emulate_input_sync","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"args_string":"(state : Bool = true, idx : Int32 = 1)","args_html":"(state : Bool = true, idx : Int32 = 1)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L64"},"def":{"name":"emulate_input_sync","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"idx","default_value":"1","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"self[\"input_#{idx}_sync\"] = state"}},{"html_id":"multicast_address(address:String)-instance-method","name":"multicast_address","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L59"},"def":{"name":"multicast_address","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"setting multicast address to #{address}\"\nend\nupdate(\"/StreamTransmit/Streams\", [{MulticastAddress: address}], name: :multicast_address)\n"}},{"html_id":"output(state:Bool)-instance-method","name":"output","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L45"},"def":{"name":"output","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"#{state ? \"enabling\" : \"disabling\"} output sync\"\nend\nupdate(\"/AudioVideoInputOutput/Outputs\", [{Ports: [{Hdmi: {IsOutputDisabled: !state}}]}], name: :output)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L105"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"Crestron sent: #{raw_json}\"\nend\nif raw_json.includes?(\"AudioVideoInputOutput\")\nelse\n return\nend\npayload = JSON.parse(raw_json)\nif av_inputs = (payload.dig?(\"Device\", \"AudioVideoInputOutput\", \"Inputs\")).try(&.as_a?)\n av_inputs.each do |input|\n name = input[\"Name\"]?.try(&.as_s) || \"\"\n idx = case name\n when /input(\\d+)/\n $~[1].to_i.succ\n when /input-(\\d+)/\n $~[1].to_i\n else\n 1\n end\n sync = (input.dig?(\"Ports\", 0, \"IsSyncDetected\")).try(&.as_bool?)\n if sync.nil?\n else\n self[\"input_#{idx}_sync\"] = sync\n end\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/nvx_tx.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L35"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching to #{input}\"\nend\n(update(\"/DeviceSpecific\", {VideoSource: input, AudioSource: \"AudioFollowsVideo\"}, name: :switch)).get\nupdate_source_info\n"}}],"types":[{"html_id":"drivers/Crestron/NvxTx/Input","path":"Crestron/NvxTx/Input.html","kind":"enum","full_name":"Crestron::NvxTx::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_tx.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L5"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Input1","name":"Input1","value":"1"},{"id":"Input2","name":"Input2","value":"2"}],"namespace":{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"},"instance_methods":[{"html_id":"input1?-instance-method","name":"input1?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L7"},"def":{"name":"input1?","visibility":"Public","body":"self == Input1"}},{"html_id":"input2?-instance-method","name":"input2?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L8"},"def":{"name":"input2?","visibility":"Public","body":"self == Input2"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/crestron/nvx_tx.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_tx.cr#L6"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]}]},{"html_id":"drivers/Crestron/OccupancySensor","path":"Crestron/OccupancySensor.html","kind":"class","full_name":"Crestron::OccupancySensor","name":"OccupancySensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/occupancy_sensor.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/Crestron/CresNextAuth","kind":"module","full_name":"Crestron::CresNextAuth","name":"CresNextAuth"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L36"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nauthenticate\npoll_device_state\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false"}},{"html_id":"get_sensor_details-instance-method","name":"get_sensor_details","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L126"},"def":{"name":"get_sensor_details","visibility":"Public","body":"Detail.new(type: :presence, value: @occupied ? 1.0 : 0.0, last_seen: @connected ? Time.utc.to_unix : @last_update, mac: @mac, id: nil, name: @name, module_id: module_id, binding: \"presence\", status: @connected ? Status::Normal : Status::Fault)"}},{"html_id":"last_update:Int64-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L26"},"def":{"name":"last_update","return_type":"Int64","visibility":"Public","body":"@last_update"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(10.minutes) do\n authenticate\nend\nschedule.every(1.hour) do\n poll_device_state\nend\n"}},{"html_id":"poll_counter:UInt64-instance-method","name":"poll_counter","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L27"},"def":{"name":"poll_counter","return_type":"UInt64","visibility":"Public","body":"@poll_counter"}},{"html_id":"poll_device_state:Nil-instance-method","name":"poll_device_state","abstract":false,"location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L47"},"def":{"name":"poll_device_state","return_type":"Nil","visibility":"Public","body":"response = get(\"/Device\")\nif response.success?\nelse\n raise(\"unexpected response code: #{response.status_code}\")\nend\npayload = JSON.parse(response.body)\n@last_update = Time.utc.to_unix\nself[:occupied] = @occupied = (payload.dig(\"Device\", \"OccupancySensor\", \"IsRoomOccupied\")).as_bool\nself[:presence] = @occupied ? 1.0 : 0.0\nself[:mac] = @mac = format_mac((payload.dig(\"Device\", \"DeviceInfo\", \"MacAddress\")).as_s)\nself[:name] = @name = (payload.dig(\"Device\", \"DeviceInfo\", \"Name\")).as_s?\n@poll_counter = @poll_counter + 1\nif @long_polling\nelse\n long_poll\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L120"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif @mac == mac\nelse\n return nil\nend\nget_sensor_details\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/crestron/occupancy_sensor.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/occupancy_sensor.cr#L108"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != @mac)\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\n[get_sensor_details]\n"}}]},{"html_id":"drivers/Crestron/Receiver","path":"Crestron/Receiver.html","kind":"module","full_name":"Crestron::Receiver","name":"Receiver","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxRx","kind":"class","full_name":"Crestron::NvxRx","name":"NvxRx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"}},{"html_id":"drivers/Crestron/SourceType","path":"Crestron/SourceType.html","kind":"enum","full_name":"Crestron::SourceType","name":"SourceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio","name":"Audio","value":"0"},{"id":"Video","name":"Video","value":"1"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"audio?-instance-method","name":"audio?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L17"},"def":{"name":"audio?","visibility":"Public","body":"self == Audio"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/crestron/nvx_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L18"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]},{"html_id":"drivers/Crestron/Transmitter","path":"Crestron/Transmitter.html","kind":"module","full_name":"Crestron::Transmitter","name":"Transmitter","abstract":false,"locations":[{"filename":"src/crestron/nvx_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/nvx_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Crestron/NvxTx","kind":"class","full_name":"Crestron::NvxTx","name":"NvxTx"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"doc":"Interface for enumerating devices","summary":"

Interface for enumerating devices

"},{"html_id":"drivers/Crestron/VirtualSwitcher","path":"Crestron/VirtualSwitcher.html","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Crestron","kind":"module","full_name":"Crestron","name":"Crestron"},"instance_methods":[{"html_id":"available_inputs-instance-method","name":"available_inputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L108"},"def":{"name":"available_inputs","visibility":"Public","body":"encoder_name_map.keys"}},{"html_id":"available_outputs-instance-method","name":"available_outputs","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L112"},"def":{"name":"available_outputs","visibility":"Public","body":"decoder_name_map.keys"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"only support muting the outputs, no unmuting","summary":"

only support muting the outputs, no unmuting

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if state\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n SwitchLayer::Audio\nin MuteLayer::Video\n SwitchLayer::Video\nin MuteLayer::AudioVideo\n SwitchLayer::All\nend\nswitch({\"none\" => [index]}, switch_layer)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@audio = setting?(AudioSink, :audio_sink)"}},{"html_id":"receivers-instance-method","name":"receivers","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L57"},"def":{"name":"receivers","visibility":"Public","body":"system.implementing(Crestron::Receiver)"}},{"html_id":"switch(map:Hash(Input,Array(Output|Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output | Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L134"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"layer || (layer = SwitchLayer::All)\nif (layer.all? || layer.video?) || layer.audio?\nelse\n return\nend\nconnect(map, layer) do |mod, __arg0|\n video = __arg0[0]\n audio = __arg0[1]\n if layer.all? || layer.audio?\n switch_audio_to(audio)\n end\n if layer.all? || layer.video?\n mod.switch_to(video)\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L99"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"stream = get_streams(input)\nif stream\nelse\n return\nend\nswitch_audio_to(stream[1])\nreceivers.switch_to(stream[0])\n"}},{"html_id":"transmitters-instance-method","name":"transmitters","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L53"},"def":{"name":"transmitters","visibility":"Public","body":"system.implementing(Crestron::Transmitter)"}}],"types":[{"html_id":"drivers/Crestron/VirtualSwitcher/AudioSink","path":"Crestron/VirtualSwitcher/AudioSink.html","kind":"class","full_name":"Crestron::VirtualSwitcher::AudioSink","name":"AudioSink","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/crestron/virtual_switcher.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Crestron/VirtualSwitcher","kind":"class","full_name":"Crestron::VirtualSwitcher","name":"VirtualSwitcher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/crestron/virtual_switcher.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L31"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L30"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L29"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/crestron/virtual_switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/crestron/virtual_switcher.cr#L32"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]}]}]},{"html_id":"drivers/Delta","path":"Delta.html","kind":"module","full_name":"Delta","name":"Delta","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L3"},{"filename":"src/delta/models/generic_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L3"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L3"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L3"},{"filename":"src/delta/models/list_sites_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L3"},{"filename":"src/delta/models/local_value.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L3"},{"filename":"src/delta/models/object.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L3"},{"filename":"src/delta/models/property_identifier.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L3"},{"filename":"src/delta/models/reference.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L3"},{"filename":"src/delta/models/value_property.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Delta/API","path":"Delta/API.html","kind":"class","full_name":"Delta::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"instance_methods":[{"html_id":"get_value_property_by_object_type_through_instance(site_name:String,device_number:String,object_type:String,instance:String)-instance-method","name":"get_value_property_by_object_type_through_instance","doc":"get value of property from object through instance","summary":"

get value of property from object through instance

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, instance : String)","args_html":"(site_name : String, device_number : String, object_type : String, instance : String)","location":{"filename":"src/delta/api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L85"},"def":{"name":"get_value_property_by_object_type_through_instance","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"instance","external_name":"instance","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{instance}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_property_name(site_name:String,device_number:String,object_type:String,property_name:String)-instance-method","name":"get_value_property_by_object_type_through_property_name","doc":"get value of property from object through property name","summary":"

get value of property from object through property name

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, property_name : String)","args_html":"(site_name : String, device_number : String, object_type : String, property_name : String)","location":{"filename":"src/delta/api.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L97"},"def":{"name":"get_value_property_by_object_type_through_property_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{property_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"get_value_property_by_object_type_through_subproperty_path(site_name:String,device_number:String,object_type:String,subproperty_path:String)-instance-method","name":"get_value_property_by_object_type_through_subproperty_path","doc":"get value of property from object through subproperty path","summary":"

get value of property from object through subproperty path

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"args_string":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","args_html":"(site_name : String, device_number : String, object_type : String, subproperty_path : String)","location":{"filename":"src/delta/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L108"},"def":{"name":"get_value_property_by_object_type_through_subproperty_path","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"},{"name":"object_type","external_name":"object_type","restriction":"String"},{"name":"subproperty_path","external_name":"subproperty_path","restriction":"String"}],"visibility":"Public","body":"path = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}/#{object_type},#{subproperty_path}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ValueProperty.from_json(response.body)\n"}},{"html_id":"list_devices_by_site_name(site_name:String)-instance-method","name":"list_devices_by_site_name","doc":"list devices for site","summary":"

list devices for site

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"args_string":"(site_name : String)","args_html":"(site_name : String)","location":{"filename":"src/delta/api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L44"},"def":{"name":"list_devices_by_site_name","args":[{"name":"site_name","external_name":"site_name","restriction":"String"}],"visibility":"Public","body":"devices = [] of Models::Device\npath = URI.encode_path(\"/api/.bacnet/#{site_name}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListDevicesBySiteNameResponse.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n devices.push(Models::Device.new(id: key, base: value[\"$base\"].to_s, node_type: value[\"nodeType\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\ndevices\n"}},{"html_id":"list_objects_by_device_number(site_name:String,device_number:String)-instance-method","name":"list_objects_by_device_number","doc":"list objects from device resource","summary":"

list objects from device resource

","abstract":false,"args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"args_string":"(site_name : String, device_number : String)","args_html":"(site_name : String, device_number : String)","location":{"filename":"src/delta/api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L65"},"def":{"name":"list_objects_by_device_number","args":[{"name":"site_name","external_name":"site_name","restriction":"String"},{"name":"device_number","external_name":"device_number","restriction":"String"}],"visibility":"Public","body":"objects = [] of Models::Object\npath = URI.encode_path(\"/api/.bacnet/#{site_name}/#{device_number}\")\nresponse = fetch(path)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nbody = Models::ListObjectsByDeviceNumber.from_json(response.body)\nbody.json_unmapped.keys.each do |key|\n value = body.json_unmapped[key].as_h\n objects.push(Models::Object.new(id: key, base: value[\"$base\"].to_s, display_name: value[\"displayName\"].to_s, truncated: Bool.new(JSON::PullParser.new(value[\"truncated\"].to_s))))\nend\nobjects\n"}},{"html_id":"list_sites-instance-method","name":"list_sites","doc":"list all sites","summary":"

list all sites

","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L38"},"def":{"name":"list_sites","visibility":"Public","body":"response = Models::ListSitesResponse.from_json((fetch(\"/api/.bacnet\")).body)\nresponse.json_unmapped.keys\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/delta/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/Delta/Models","path":"Delta/Models.html","kind":"module","full_name":"Delta::Models","name":"Models","abstract":false,"locations":[{"filename":"src/delta/models/device.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L4"},{"filename":"src/delta/models/generic_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L4"},{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L4"},{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L4"},{"filename":"src/delta/models/list_sites_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L4"},{"filename":"src/delta/models/local_value.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L4"},{"filename":"src/delta/models/object.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L4"},{"filename":"src/delta/models/property_identifier.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L4"},{"filename":"src/delta/models/reference.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L4"},{"filename":"src/delta/models/value_property.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Delta","kind":"module","full_name":"Delta","name":"Delta"},"types":[{"html_id":"drivers/Delta/Models/Device","path":"Delta/Models/Device.html","kind":"struct","full_name":"Delta::Models::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/device.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,node_type:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, node_type : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L23"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"node_type","external_name":"node_type","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, node_type, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/device.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/device.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L18"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/device.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L18"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/device.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L15"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/device.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L15"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L21"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/device.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/device.cr#L21"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/GenericValue","path":"Delta/Models/GenericValue.html","kind":"struct","full_name":"Delta::Models::GenericValue","name":"GenericValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/generic_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/generic_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/generic_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/generic_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/generic_value.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/ListDevicesBySiteNameResponse","path":"Delta/Models/ListDevicesBySiteNameResponse.html","kind":"struct","full_name":"Delta::Models::ListDevicesBySiteNameResponse","name":"ListDevicesBySiteNameResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_devices_by_site_name_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_devices_by_site_name_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}}]},{"html_id":"drivers/Delta/Models/ListObjectsByDeviceNumber","path":"Delta/Models/ListObjectsByDeviceNumber.html","kind":"struct","full_name":"Delta::Models::ListObjectsByDeviceNumber","name":"ListObjectsByDeviceNumber","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_objects_by_device_number_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_objects_by_device_number_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/ListSitesResponse","path":"Delta/Models/ListSitesResponse.html","kind":"struct","full_name":"Delta::Models::ListSitesResponse","name":"ListSitesResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/list_sites_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/delta/models/list_sites_response.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/list_sites_response.cr#L13"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}}]},{"html_id":"drivers/Delta/Models/LocalValue","path":"Delta/Models/LocalValue.html","kind":"struct","full_name":"Delta::Models::LocalValue","name":"LocalValue","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/local_value.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/local_value.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/local_value.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"real:GenericValue-instance-method","name":"real","abstract":false,"location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L12"},"def":{"name":"real","return_type":"GenericValue","visibility":"Public","body":"@real"}},{"html_id":"real=(real:GenericValue)-instance-method","name":"real=","abstract":false,"args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"args_string":"(real : GenericValue)","args_html":"(real : GenericValue)","location":{"filename":"src/delta/models/local_value.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/local_value.cr#L12"},"def":{"name":"real=","args":[{"name":"real","external_name":"real","restriction":"GenericValue"}],"visibility":"Public","body":"@real = real"}}]},{"html_id":"drivers/Delta/Models/Object","path":"Delta/Models/Object.html","kind":"struct","full_name":"Delta::Models::Object","name":"Object","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/object.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(id:String,base:String,display_name:String,truncated:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(id : String, base : String, display_name : String, truncated : Bool)","args_html":"(id : String, base : String, display_name : String, truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L20"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"base","external_name":"base","restriction":"String"},{"name":"display_name","external_name":"display_name","restriction":"String"},{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, base, display_name, truncated)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/object.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L12"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/object.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L12"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L15"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/object.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L15"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L9"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/delta/models/object.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"truncated:Bool-instance-method","name":"truncated","abstract":false,"location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L18"},"def":{"name":"truncated","return_type":"Bool","visibility":"Public","body":"@truncated"}},{"html_id":"truncated=(truncated:Bool)-instance-method","name":"truncated=","abstract":false,"args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"args_string":"(truncated : Bool)","args_html":"(truncated : Bool)","location":{"filename":"src/delta/models/object.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/object.cr#L18"},"def":{"name":"truncated=","args":[{"name":"truncated","external_name":"truncated","restriction":"Bool"}],"visibility":"Public","body":"@truncated = truncated"}}]},{"html_id":"drivers/Delta/Models/PropertyIdentifier","path":"Delta/Models/PropertyIdentifier.html","kind":"struct","full_name":"Delta::Models::PropertyIdentifier","name":"PropertyIdentifier","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/property_identifier.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L15"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:JSON::Any-instance-method","name":"value","abstract":false,"location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value","return_type":"JSON::Any","visibility":"Public","body":"@value"}},{"html_id":"value=(value:JSON::Any)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(value : JSON::Any)","args_html":"(value : JSON::Any)","location":{"filename":"src/delta/models/property_identifier.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/property_identifier.cr#L12"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Delta/Models/Reference","path":"Delta/Models/Reference.html","kind":"struct","full_name":"Delta::Models::Reference","name":"Reference","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/reference.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/reference.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L9"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/reference.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L9"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"device_identifier:GenericValue-instance-method","name":"device_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier","return_type":"GenericValue","visibility":"Public","body":"@device_identifier"}},{"html_id":"device_identifier=(device_identifier:GenericValue)-instance-method","name":"device_identifier=","abstract":false,"args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"args_string":"(device_identifier : GenericValue)","args_html":"(device_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L15"},"def":{"name":"device_identifier=","args":[{"name":"device_identifier","external_name":"device_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@device_identifier = device_identifier"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/reference.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L18"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"property_identifier:PropertyIdentifier-instance-method","name":"property_identifier","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier","return_type":"PropertyIdentifier","visibility":"Public","body":"@property_identifier"}},{"html_id":"property_identifier=(property_identifier:PropertyIdentifier)-instance-method","name":"property_identifier=","abstract":false,"args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"args_string":"(property_identifier : PropertyIdentifier)","args_html":"(property_identifier : PropertyIdentifier)","location":{"filename":"src/delta/models/reference.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L21"},"def":{"name":"property_identifier=","args":[{"name":"property_identifier","external_name":"property_identifier","restriction":"PropertyIdentifier"}],"visibility":"Public","body":"@property_identifier = property_identifier"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L12"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/delta/models/reference.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/reference.cr#L12"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Delta/Models/ValueProperty","path":"Delta/Models/ValueProperty.html","kind":"struct","full_name":"Delta::Models::ValueProperty","name":"ValueProperty","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/delta/models/value_property.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Delta/Models","kind":"module","full_name":"Delta::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/delta/models/value_property.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"base:String-instance-method","name":"base","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L10"},"def":{"name":"base","return_type":"String","visibility":"Public","body":"@base"}},{"html_id":"base=(base:String)-instance-method","name":"base=","abstract":false,"args":[{"name":"base","external_name":"base","restriction":"String"}],"args_string":"(base : String)","args_html":"(base : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L10"},"def":{"name":"base=","args":[{"name":"base","external_name":"base","restriction":"String"}],"visibility":"Public","body":"@base = base"}},{"html_id":"cov_increment:GenericValue-instance-method","name":"cov_increment","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment","return_type":"GenericValue","visibility":"Public","body":"@cov_increment"}},{"html_id":"cov_increment=(cov_increment:GenericValue)-instance-method","name":"cov_increment=","abstract":false,"args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"args_string":"(cov_increment : GenericValue)","args_html":"(cov_increment : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L52"},"def":{"name":"cov_increment=","args":[{"name":"cov_increment","external_name":"cov_increment","restriction":"GenericValue"}],"visibility":"Public","body":"@cov_increment = cov_increment"}},{"html_id":"display_name:String-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name","return_type":"String","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"args_string":"(display_name : String)","args_html":"(display_name : String)","location":{"filename":"src/delta/models/value_property.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L13"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"exchange_flags:GenericValue-instance-method","name":"exchange_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags","return_type":"GenericValue","visibility":"Public","body":"@exchange_flags"}},{"html_id":"exchange_flags=(exchange_flags:GenericValue)-instance-method","name":"exchange_flags=","abstract":false,"args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"args_string":"(exchange_flags : GenericValue)","args_html":"(exchange_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L25"},"def":{"name":"exchange_flags=","args":[{"name":"exchange_flags","external_name":"exchange_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_flags = exchange_flags"}},{"html_id":"exchange_type:GenericValue-instance-method","name":"exchange_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type","return_type":"GenericValue","visibility":"Public","body":"@exchange_type"}},{"html_id":"exchange_type=(exchange_type:GenericValue)-instance-method","name":"exchange_type=","abstract":false,"args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"args_string":"(exchange_type : GenericValue)","args_html":"(exchange_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L28"},"def":{"name":"exchange_type=","args":[{"name":"exchange_type","external_name":"exchange_type","restriction":"GenericValue"}],"visibility":"Public","body":"@exchange_type = exchange_type"}},{"html_id":"last_error:GenericValue-instance-method","name":"last_error","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error","return_type":"GenericValue","visibility":"Public","body":"@last_error"}},{"html_id":"last_error=(last_error:GenericValue)-instance-method","name":"last_error=","abstract":false,"args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"args_string":"(last_error : GenericValue)","args_html":"(last_error : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L31"},"def":{"name":"last_error=","args":[{"name":"last_error","external_name":"last_error","restriction":"GenericValue"}],"visibility":"Public","body":"@last_error = last_error"}},{"html_id":"last_sent:GenericValue-instance-method","name":"last_sent","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent","return_type":"GenericValue","visibility":"Public","body":"@last_sent"}},{"html_id":"last_sent=(last_sent:GenericValue)-instance-method","name":"last_sent=","abstract":false,"args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"args_string":"(last_sent : GenericValue)","args_html":"(last_sent : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L46"},"def":{"name":"last_sent=","args":[{"name":"last_sent","external_name":"last_sent","restriction":"GenericValue"}],"visibility":"Public","body":"@last_sent = last_sent"}},{"html_id":"local_flags:LocalValue-instance-method","name":"local_flags","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags","return_type":"LocalValue","visibility":"Public","body":"@local_flags"}},{"html_id":"local_flags=(local_flags:GenericValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"args_string":"(local_flags : GenericValue)","args_html":"(local_flags : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L37"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"GenericValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_flags=(local_flags:LocalValue)-instance-method","name":"local_flags=","abstract":false,"args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"args_string":"(local_flags : LocalValue)","args_html":"(local_flags : LocalValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L40"},"def":{"name":"local_flags=","args":[{"name":"local_flags","external_name":"local_flags","restriction":"LocalValue"}],"visibility":"Public","body":"@local_flags = local_flags"}},{"html_id":"local_ref:Reference-instance-method","name":"local_ref","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref","return_type":"Reference","visibility":"Public","body":"@local_ref"}},{"html_id":"local_ref=(local_ref:Reference)-instance-method","name":"local_ref=","abstract":false,"args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"args_string":"(local_ref : Reference)","args_html":"(local_ref : Reference)","location":{"filename":"src/delta/models/value_property.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L34"},"def":{"name":"local_ref=","args":[{"name":"local_ref","external_name":"local_ref","restriction":"Reference"}],"visibility":"Public","body":"@local_ref = local_ref"}},{"html_id":"object_identifier:GenericValue-instance-method","name":"object_identifier","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier","return_type":"GenericValue","visibility":"Public","body":"@object_identifier"}},{"html_id":"object_identifier=(object_identifier:GenericValue)-instance-method","name":"object_identifier=","abstract":false,"args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"args_string":"(object_identifier : GenericValue)","args_html":"(object_identifier : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L16"},"def":{"name":"object_identifier=","args":[{"name":"object_identifier","external_name":"object_identifier","restriction":"GenericValue"}],"visibility":"Public","body":"@object_identifier = object_identifier"}},{"html_id":"object_name:GenericValue-instance-method","name":"object_name","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name","return_type":"GenericValue","visibility":"Public","body":"@object_name"}},{"html_id":"object_name=(object_name:GenericValue)-instance-method","name":"object_name=","abstract":false,"args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"args_string":"(object_name : GenericValue)","args_html":"(object_name : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L22"},"def":{"name":"object_name=","args":[{"name":"object_name","external_name":"object_name","restriction":"GenericValue"}],"visibility":"Public","body":"@object_name = object_name"}},{"html_id":"object_type:GenericValue-instance-method","name":"object_type","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type","return_type":"GenericValue","visibility":"Public","body":"@object_type"}},{"html_id":"object_type=(object_type:GenericValue)-instance-method","name":"object_type=","abstract":false,"args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"args_string":"(object_type : GenericValue)","args_html":"(object_type : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L19"},"def":{"name":"object_type=","args":[{"name":"object_type","external_name":"object_type","restriction":"GenericValue"}],"visibility":"Public","body":"@object_type = object_type"}},{"html_id":"send_frequency:GenericValue-instance-method","name":"send_frequency","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency","return_type":"GenericValue","visibility":"Public","body":"@send_frequency"}},{"html_id":"send_frequency=(send_frequency:GenericValue)-instance-method","name":"send_frequency=","abstract":false,"args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"args_string":"(send_frequency : GenericValue)","args_html":"(send_frequency : GenericValue)","location":{"filename":"src/delta/models/value_property.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L49"},"def":{"name":"send_frequency=","args":[{"name":"send_frequency","external_name":"send_frequency","restriction":"GenericValue"}],"visibility":"Public","body":"@send_frequency = send_frequency"}},{"html_id":"subscribers:Hash(String,JSON::Any)-instance-method","name":"subscribers","abstract":false,"location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@subscribers"}},{"html_id":"subscribers=(subscribers:Hash(String,JSON::Any))-instance-method","name":"subscribers=","abstract":false,"args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"args_string":"(subscribers : Hash(String, JSON::Any))","args_html":"(subscribers : Hash(String, JSON::Any))","location":{"filename":"src/delta/models/value_property.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/delta/models/value_property.cr#L43"},"def":{"name":"subscribers=","args":[{"name":"subscribers","external_name":"subscribers","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@subscribers = subscribers"}}]}]}]},{"html_id":"drivers/Denon","path":"Denon.html","kind":"module","full_name":"Denon","name":"Denon","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"","summary":"","types":[{"html_id":"drivers/Denon/Amplifier","path":"Denon/Amplifier.html","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier","abstract":false,"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Denon","kind":"module","full_name":"Denon","name":"Denon"},"types":[{"html_id":"drivers/Denon/Amplifier/AvReceiver","path":"Denon/Amplifier/AvReceiver.html","kind":"class","full_name":"Denon::Amplifier::AvReceiver","name":"AvReceiver","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/denon/amplifier/av_receiver.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power: :PW, power_query: :\"PW?\", mute: :MU, mute_query: :\"MU?\", volume: :MV, volume_query: :\"MV?\", input: :SI, input_query: :\"SI?\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Utilities/Transcoder","kind":"module","full_name":"PlaceOS::Driver::Utilities::Transcoder","name":"Transcoder"}],"namespace":{"html_id":"drivers/Denon/Amplifier","kind":"module","full_name":"Denon::Amplifier","name":"Amplifier"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L65"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n logger.info do\n \"-- Polling Denon AVR\"\n end\n power?\n do_send(:input, priority: 0, name: :input)\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L80"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"input(input:String=\"\")-instance-method","name":"input","doc":"Just here for documentation (there are many more)\n\nINPUTS = [:cd, :tuner, :dvd, :bd, :tv, :\"sat/cbl\", :dvr, :game, :game2, :\"v.aux\", :dock]","summary":"

Just here for documentation (there are many more)

","abstract":false,"args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"args_string":"(input : String = \"\")","args_html":"(input : String = "")","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L148"},"def":{"name":"input","args":[{"name":"input","default_value":"\"\"","external_name":"input","restriction":"String"}],"visibility":"Public","body":"status = input.upcase\nif status != self[:input]\n input = input.to_s.upcase\n do_send(:input, input, name: :input)\nend\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L156"},"def":{"name":"input?","visibility":"Public","body":"do_send(:input_query, priority: 0, name: :input_query)"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L104"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"req = state ? \"ON\" : \"OFF\"\nif self[:mute] == req\n return\nend\ndo_send(:mute, req, name: :mute)\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L99"},"def":{"name":"mute?","visibility":"Public","body":"self[:mute] = \"OFF\"\ndo_send(:mute_query, priority: 0, name: :mute_query)\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L110"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:volume_min] = 0\nself[:volume_max] = @volume_range.max\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L60"},"def":{"name":"on_update","visibility":"Public","body":"self[:max_waits] = 10\nself[:timeout] = 3000\n"}},{"html_id":"power(state:Bool=false)-instance-method","name":"power","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L84"},"def":{"name":"power","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state && ((self[:power] == \"OFF\") || (self[:power] == \"STANDBY\"))\n do_send(:power, \"ON\", delay: 3.milliseconds, name: :power)\nelse\n if (!state) && (self[:power] == \"ON\")\n do_send(:power, \"STANDBY\", delay: 3.milliseconds, name: :power)\n end\nend"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L93"},"def":{"name":"power?","visibility":"Public","body":"do_send(:power_query, priority: 0, name: :power_query)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.info do\n \"Denon sent #{data.inspect}\"\nend\nif task\nelse\n return\nend\ncmd = data[0..1]\nval = data[2..-2]\ncase cmd\nwhen \"PW\"\n self[:power] = val\nwhen \"SI\"\n self[:input] = val\nwhen \"MV\"\n vol_percent = ((val.to_f * 2) / @volume_range.end.to_f) * 100.0\n self[:volume] = vol_percent\nwhen \"MU\"\n self[:mute] = val\nelse\n return :ignore\nend\ntask.try(&.success)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L114"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L118"},"def":{"name":"unmute_audio","visibility":"Public","body":"unmute"}},{"html_id":"volume(level:Float64|Int32=0)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"args_string":"(level : Float64 | Int32 = 0)","args_html":"(level : Float64 | Int32 = 0)","location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L122"},"def":{"name":"volume","args":[{"name":"level","default_value":"0","external_name":"level","restriction":"Float64 | Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\nif self[:volume] == level\n return\nend\npercentage = level / 100.0\nvalue = (percentage * @volume_range.end.to_f).round_away.to_i\nstep = value % 2\nactual = value / 2\nreq = actual.to_s.rjust(2, '0')\nif step != 0\n req = req + \"5\"\nend\ndo_send(:volume, req, name: :volume)\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/denon/amplifier/av_receiver.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/denon/amplifier/av_receiver.cr#L141"},"def":{"name":"volume?","visibility":"Public","body":"do_send(:volume_query, priority: 0, name: :volume_query)"}}]}]}]},{"html_id":"drivers/DigitalIO","path":"DigitalIO.html","kind":"class","full_name":"DigitalIO","name":"DigitalIO","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv_spec.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv_spec.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"ir(index:Int32,command:String)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String)","args_html":"(index : Int32, command : String)","location":{"filename":"src/global_cache/ir_tv_spec.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv_spec.cr#L6"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"visibility":"Public","body":"@called = @called + 1\nself[:call_count] = @called\nnil\n"}}]},{"html_id":"drivers/Digraph","path":"Digraph.html","kind":"alias","full_name":"Digraph","name":"Digraph","abstract":false,"locations":[{"filename":"src/place/router/digraph_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Digraph(N, E)","aliased_html":"Place::Router::Digraph(N, E)","const":false},{"html_id":"drivers/Echo360","path":"Echo360.html","kind":"module","full_name":"Echo360","name":"Echo360","abstract":false,"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Echo360/DeviceCapture","path":"Echo360/DeviceCapture.html","kind":"class","full_name":"Echo360::DeviceCapture","name":"DeviceCapture","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/echo360/device_capture.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CHECK","name":"CHECK","value":"{\"next\", \"current\"}"},{"id":"STATUS_CMDS","name":"STATUS_CMDS","value":"{system_status: :system, capture_status: :captures, next: :next_capture, current: :current_capture, state: :monitoring}"}],"namespace":{"html_id":"drivers/Echo360","kind":"module","full_name":"Echo360","name":"Echo360"},"instance_methods":[{"html_id":"capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"capture","doc":"This will auto-start a recording","summary":"

This will auto-start a recording

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L74"},"def":{"name":"capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/new_capture\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"capture_status-instance-method","name":"capture_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"capture_status","visibility":"Public","body":"response = get(\"/status/captures\")\nprocess_status(check(response))\n"}},{"html_id":"captures-instance-method","name":"captures","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L61"},"def":{"name":"captures","visibility":"Public","body":"response = get(\"/diagnostics/recovery/saved-content\")\nself[:captures] = (check(response))[\"captures\"][\"capture\"]\n"}},{"html_id":"current-instance-method","name":"current","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"current","visibility":"Public","body":"response = get(\"/status/current_capture\")\nprocess_status(check(response))\n"}},{"html_id":"extend(duration:Int32)-instance-method","name":"extend","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"args_string":"(duration : Int32)","args_html":"(duration : Int32)","location":{"filename":"src/echo360/device_capture.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L94"},"def":{"name":"extend","args":[{"name":"duration","external_name":"duration","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"duration\", duration.to_s)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"next-instance-method","name":"next","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"next","visibility":"Public","body":"response = get(\"/status/next_capture\")\nprocess_status(check(response))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(15.seconds) do\n logger.debug do\n \"-- Polling Capture\"\n end\n system_status\n capture_status\nend\n"}},{"html_id":"pause-instance-method","name":"pause","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L101"},"def":{"name":"pause","visibility":"Public","body":"response = post(\"/capture/pause\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L56"},"def":{"name":"reboot","visibility":"Public","body":"(post(\"/diagnostics/reboot\")).success?"}},{"html_id":"record-instance-method","name":"record","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L115"},"def":{"name":"record","visibility":"Public","body":"start"}},{"html_id":"restart_application-instance-method","name":"restart_application","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L51"},"def":{"name":"restart_application","visibility":"Public","body":"(post(\"/diagnostics/restart_all\")).success?"}},{"html_id":"resume-instance-method","name":"resume","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L111"},"def":{"name":"resume","visibility":"Public","body":"start"}},{"html_id":"start-instance-method","name":"start","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L106"},"def":{"name":"start","visibility":"Public","body":"response = post(\"/capture/record\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"state-instance-method","name":"state","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"state","visibility":"Public","body":"response = get(\"/status/monitoring\")\nprocess_status(check(response))\n"}},{"html_id":"stop-instance-method","name":"stop","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L119"},"def":{"name":"stop","visibility":"Public","body":"response = post(\"/capture/stop\")\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"system_status-instance-method","name":"system_status","abstract":false,"location":{"filename":"src/echo360/device_capture.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L40"},"def":{"name":"system_status","visibility":"Public","body":"response = get(\"/status/system\")\nprocess_status(check(response))\n"}},{"html_id":"test_capture(name:String,duration:Int32,profile:String|Nil=nil)-instance-method","name":"test_capture","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"args_string":"(name : String, duration : Int32, profile : String | Nil = nil)","args_html":"(name : String, duration : Int32, profile : String | Nil = nil)","location":{"filename":"src/echo360/device_capture.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L84"},"def":{"name":"test_capture","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"duration","external_name":"duration","restriction":"Int32"},{"name":"profile","default_value":"nil","external_name":"profile","restriction":"String | ::Nil"}],"visibility":"Public","body":"profile || (profile = self[:capture_profiles][0].as_s)\nresponse = post(\"/capture/confidence_monitor\", body: URI::Params.build do |form|\n form.add(\"description\", name)\n form.add(\"duration\", duration.to_s)\n form.add(\"capture_profile_name\", profile)\nend)\n(check(response))[\"ok\"][\"#text\"].as_s\n"}},{"html_id":"upload(id:String)-instance-method","name":"upload","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/echo360/device_capture.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/echo360/device_capture.cr#L67"},"def":{"name":"upload","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/diagnostics/recovery/#{id}/upload\")\nif response.success?\nelse\n raise(\"upload request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}}]}]},{"html_id":"drivers/Enumerable","path":"Enumerable.html","kind":"module","full_name":"Enumerable(T)","name":"Enumerable","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"The `Enumerable` mixin provides collection classes with several traversal, searching,\nfiltering and querying methods.\n\nIncluding types must provide an `each` method, which yields successive members\nof the collection.\n\nFor example:\n\n```\nclass Three\n include Enumerable(Int32)\n\n def each(&)\n yield 1\n yield 2\n yield 3\n end\nend\n\nthree = Three.new\nthree.to_a # => [1, 2, 3]\nthree.select &.odd? # => [1, 3]\nthree.all? { |x| x < 10 } # => true\n```\n\nNote that most search and filter methods traverse an Enumerable eagerly,\nproducing an `Array` as the result. For a lazy alternative refer to\nthe `Iterator` and `Iterable` modules.","summary":"

The Enumerable mixin provides collection classes with several traversal, searching, filtering and querying methods.

","instance_methods":[{"html_id":"flatten_xapi_json(parent_prefix:String|Nil=nil,delimiter:String=\"/\")-instance-method","name":"flatten_xapi_json","abstract":false,"args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"args_string":"(parent_prefix : String | Nil = nil, delimiter : String = \"/\")","args_html":"(parent_prefix : String | Nil = nil, delimiter : String = "/")","location":{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L40"},"def":{"name":"flatten_xapi_json","args":[{"name":"parent_prefix","default_value":"nil","external_name":"parent_prefix","restriction":"String | ::Nil"},{"name":"delimiter","default_value":"\"/\"","external_name":"delimiter","restriction":"String"}],"visibility":"Public","body":"res = {} of String => JSONComplex\nself.each_with_index do |elem, i|\n if elem.is_a?(Tuple)\n k, v = elem\n else\n k, v = i, elem\n if id = v.as_h?.try(&.delete(\"id\"))\n k = id\n end\n end\n key = parent_prefix ? \"#{parent_prefix}#{delimiter}#{k}\" : k.to_s\n raw = v.raw\n case raw\n in Array(JSON::Any)\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n in Hash(String, JSON::Any)\n value = raw[\"Value\"]?\n if value && value.as_h?.nil?\n valuespaceref = raw[\"valueSpaceRef\"]?.try do |__arg1|\n (__arg1.as_s.split('/')).last\n end\n res[key] = Cisco::CollaborationEndpoint::XAPI.value_convert(value.as_s, valuespaceref)\n else\n if id\n res[key] = raw.flatten_xapi_json(delimiter: delimiter)\n else\n res.merge!(raw.flatten_xapi_json(key, delimiter))\n end\n end\n in JSONBasic\n res[key] = raw\n end\nend\nres\n"}}],"types":[{"html_id":"drivers/Enumerable/JSONBasic","path":"Enumerable/JSONBasic.html","kind":"alias","full_name":"Enumerable::JSONBasic","name":"JSONBasic","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}},{"html_id":"drivers/Enumerable/JSONComplex","path":"Enumerable/JSONComplex.html","kind":"alias","full_name":"Enumerable::JSONComplex","name":"JSONComplex","abstract":false,"locations":[{"filename":"src/cisco/collaboration_endpoint/response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/collaboration_endpoint/response.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil)","aliased_html":"Bool | Float64 | Hash(String, Enumerable::JSONComplex) | Int64 | String | Nil","const":false,"namespace":{"html_id":"drivers/Enumerable","kind":"module","full_name":"Enumerable(T)","name":"Enumerable"}}]},{"html_id":"drivers/Epson","path":"Epson.html","kind":"module","full_name":"Epson","name":"Epson","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Epson/Projector","path":"Epson/Projector.html","kind":"module","full_name":"Epson::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Epson","kind":"module","full_name":"Epson","name":"Epson"},"types":[{"html_id":"drivers/Epson/Projector/EscVp21","path":"Epson/Projector/EscVp21.html","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{power: \"PWR\", input: \"SOURCE\", volume: \"VOL\", av_mute: \"MUTE\", video_mute: \"MSEL\", error: \"ERR\", lamp: \"LAMP\"}"},{"id":"ERRORS","name":"ERRORS","value":"[\"00: no error\", \"01: fan error\", \"03: lamp failure at power on\", \"04: high internal temperature\", \"06: lamp error\", \"07: lamp cover door open\", \"08: cinema filter error\", \"09: capacitor is disconnected\", \"0A: auto iris error\", \"0B: subsystem error\", \"0C: low air flow error\", \"0D: air flow sensor error\", \"0E: ballast power supply error\", \"0F: shutter error\", \"10: peltiert cooling error\", \"11: pump cooling error\", \"12: static iris error\", \"13: power supply unit error\", \"14: exhaust shutter error\", \"15: obstacle detection error\", \"16: IF board discernment error\"]"},{"id":"RESPONSE","name":"RESPONSE","value":"COMMAND.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Epson/Projector","kind":"module","full_name":"Epson::Projector","name":"Projector"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L33"},"def":{"name":"connected","visibility":"Public","body":"send(\"ESC/VP.net\\u0010\\u0003\\u0000\\u0000\\u0000\\u0000\")\nschedule.every(52.seconds, true) do\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L39"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L221"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 20) && @power_stable\n input?\n video_mute?\n volume?\nend\ndo_send(:lamp, priority: 20)\n"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L73"},"def":{"name":"input?","visibility":"Public","body":"(do_send(:input, priority: 0)).get\nself[:input]\n"}},{"html_id":"inspect_error-instance-method","name":"inspect_error","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L145"},"def":{"name":"inspect_error","visibility":"Public","body":"do_send(:error, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L98"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"case layer\nwhen .audio_video?\n do_send(:av_mute, state ? \"ON\" : \"OFF\", name: :mute)\n do_send(:av_mute, name: :\"mute?\", priority: 0)\nwhen .video?\n do_send(:video_mute, state ? \"ON\" : \"OFF\", name: :video_mute)\n video_mute?\nwhen .audio?\n val = state ? 0.0 : @unmute_volume\n volume(val)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nself[:type] = :projector\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L43"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n @power_target = true\n logger.debug do\n \"-- epson Proj, requested to power on\"\n end\n do_send(:power, \"ON\", delay: 40.seconds, name: \"power\", priority: 99)\nelse\n @power_target = false\n logger.debug do\n \"-- epson Proj, requested to power off\"\n end\n do_send(:power, \"OFF\", delay: 10.seconds, name: \"power\", priority: 99)\nend\n@power_stable = false\nself[:power] = state\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L58"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power, **options)).get\n@power_actual || false\n"}},{"html_id":"power_actual:Bool|Nil-instance-method","name":"power_actual","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L22"},"def":{"name":"power_actual","return_type":"Bool | ::Nil","visibility":"Public","body":"@power_actual"}},{"html_id":"power_stable?:Bool-instance-method","name":"power_stable?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L23"},"def":{"name":"power_stable?","return_type":"Bool","visibility":"Public","body":"@power_stable"}},{"html_id":"power_target?:Bool-instance-method","name":"power_target?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L24"},"def":{"name":"power_target?","return_type":"Bool","visibility":"Public","body":"@power_target"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L160"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if data.size <= 2\n return task.try(&.success)\nend\ndata = String.new(data[1..-2])\nlogger.debug do\n \"epson Proj sent: #{data}\"\nend\ndata = data.split('=')\ncase RESPONSE[data[0]]\nwhen :error\n if data[1]?\n code = data[1].to_i(16)\n self[:last_error] = ERRORS[code]? || \"#{data[1]}: unknown error code #{code}\"\n return task.try(&.success(\"Epson PJ error was #{self[:last_error]}\"))\n else\n return task.try(&.abort(\"Epson PJ sent error response for #{task.not_nil!.name || \"unknown\"}\"))\n end\nwhen :power\n state = data[1].to_i\n @power_actual = powered = state < 3\n warming = state == 2\n cooling = state == 3\n if warming || cooling\n schedule.in(5.seconds) do\n power?(priority: 10)\n end\n else\n if !@power_stable\n if @power_actual == @power_target\n @power_stable = true\n else\n power(@power_target)\n end\n end\n end\n if @power_stable\n self[:power] = powered\n end\n self[:warming] = warming\n self[:cooling] = cooling\n if powered == @power_target\n if powered\n else\n self[:video_mute] = false\n end\n end\nwhen :av_mute\n self[:video_mute] = self[:audio_mute] = data[1] == \"ON\"\n self[:volume] = 0.0\nwhen :video_mute\n self[:video_mute] = data[1] == \"ON\"\nwhen :volume\n vol = data[1].to_i\n vol_percent = (vol.to_f / 255.0) * 100.0\n self[:volume] = vol_percent\n mute = vol == 0\n if mute\n self[:audio_mute] = mute\n end\n if mute\n else\n @unmute_volume || (@unmute_volume = vol_percent)\n end\nwhen :lamp\n self[:lamp_usage] = data[1].to_i\nwhen :input\n self[:input] = (Input.from_value(data[1].to_i(16))) || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L63"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- epson Proj, requested to switch to: #{input}\"\nend\ndo_send(:input, input.value.to_s(16), name: :input)\nself[:input] = input\nself[:video_mute] = false\ninput?\n"}},{"html_id":"video_mute?-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L116"},"def":{"name":"video_mute?","visibility":"Public","body":"(do_send(:video_mute, priority: 0)).get\n!(!self[:video_mute]?.try(&.as_bool))\n"}},{"html_id":"volume(vol:Float64|Int32,**options)-instance-method","name":"volume","doc":"Volume commands are sent using the inpt command","summary":"

Volume commands are sent using the inpt command

","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"args_string":"(vol : Float64 | Int32, **options)","args_html":"(vol : Float64 | Int32, **options)","location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L79"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Float64 | Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * 255.0).round_away.to_i\nif (mute = vol == 0.0) && self[:volume]?\n @unmute_volume = self[:volume].as_f\nend\ndo_send(:volume, vol_actual, **options, name: :volume)\nself[:volume] = vol\nself[:audio_mute] = mute\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L93"},"def":{"name":"volume?","visibility":"Public","body":"(do_send(:volume, priority: 0)).get\nself[:volume]?.try(&.as_f)\n"}}],"types":[{"html_id":"drivers/Epson/Projector/EscVp21/Input","path":"Epson/Projector/EscVp21/Input.html","kind":"enum","full_name":"Epson::Projector::EscVp21::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/epson/projector/esc_vp21.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"48"},{"id":"HDBaseT","name":"HDBaseT","value":"128"}],"namespace":{"html_id":"drivers/Epson/Projector/EscVp21","kind":"class","full_name":"Epson::Projector::EscVp21","name":"EscVp21"},"instance_methods":[{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L12"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/epson/projector/esc_vp21.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/epson/projector/esc_vp21.cr#L11"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}}]}]}]}]},{"html_id":"drivers/Exterity","path":"Exterity.html","kind":"module","full_name":"Exterity","name":"Exterity","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Exterity/AvediaPlayer","path":"Exterity/AvediaPlayer.html","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer","abstract":false,"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity","kind":"module","full_name":"Exterity","name":"Exterity"},"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R92xx","path":"Exterity/AvediaPlayer/R92xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R92xx","name":"R92xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L40"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L23"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.info do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L52"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L56"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L72"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L60"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L76"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.info do\n \"Exterity sent #{data}\"\nend\nif @ready\n if data =~ (/sh: .* not found/i)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 2.seconds, priority: 95)\n return :failure\n end\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Exterity Control Interface| Exit/i)\n logger.info do\n \"-- got the control interface message, we're READY now\"\n end\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n logger.info do\n \"-- got the login: prompt\"\n end\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 200.milliseconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 200.milliseconds, priority: 97)\n do_send(\"6\", wait: false, delay: 2.seconds, priority: 96)\n do_send(\"/usr/bin/serialCommandInterface\", wait: false, delay: 200.milliseconds, priority: 95)\n schedule.in(20.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n else\n if logger.info do\n \"Somehow we got here #{data}\"\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L48"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L64"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r92xx.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r92xx.cr#L68"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}]},{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","path":"Exterity/AvediaPlayer/R93xx.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L4"},{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Exterity/AvediaPlayer","kind":"module","full_name":"Exterity::AvediaPlayer","name":"AvediaPlayer"},"instance_methods":[{"html_id":"channel(number:Int32|String)-instance-method","name":"channel","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"args_string":"(number : Int32 | String)","args_html":"(number : Int32 | String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L39"},"def":{"name":"channel","args":[{"name":"number","external_name":"number","restriction":"Int32 | String"}],"visibility":"Public","body":"if number.is_a?(Number)\n set(:playChannelNumber, number)\nelse\n stream(number)\nend"}},{"html_id":"channel_name(name:String)-instance-method","name":"channel_name","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L79"},"def":{"name":"channel_name","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"(set(:currentChannel_name, name, name: :name)).get\ncurrent_channel_name\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Exterity Player\"\n end\n tv_info\nend\n"}},{"html_id":"current_channel-instance-method","name":"current_channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L98"},"def":{"name":"current_channel","visibility":"Public","body":"get(:currentChannel)"}},{"html_id":"current_channel_name-instance-method","name":"current_channel_name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L102"},"def":{"name":"current_channel_name","visibility":"Public","body":"get(:currentChannel_name)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L32"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"dump-instance-method","name":"dump","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L51"},"def":{"name":"dump","visibility":"Public","body":"do_send(\"^dump!\", name: :dump)"}},{"html_id":"help-instance-method","name":"help","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L55"},"def":{"name":"help","visibility":"Public","body":"do_send(\"^help!\", name: :help)"}},{"html_id":"manual(cmd:String)-instance-method","name":"manual","abstract":false,"args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"args_string":"(cmd : String)","args_html":"(cmd : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L71"},"def":{"name":"manual","args":[{"name":"cmd","external_name":"cmd","restriction":"String"}],"visibility":"Public","body":"do_send(cmd)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n @telnet.try(&.buffer(bytes))\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"channel_lookup = {} of String => ChannelDetail\nif channel_details = setting?(Array(ChannelDetail), :channel_details)\n self[:channel_details] = channel_details\n channel_details.each do |lookup|\n channel_lookup[lookup.channel] = lookup\n end\nelse\n self[:channel_details] = nil\nend\n@channel_lookup = channel_lookup\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L59"},"def":{"name":"reboot","visibility":"Public","body":"remote(:reboot)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L75"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Exterity sent #{data}\"\nend\nif @ready\n (data.split(\"!\")).map(&.strip(\"^\")).each do |resp|\n process_resp(resp, task)\n end\nelse\n if data =~ (/Terminal Control Interface/i)\n @ready = true\n self[:ready] = true\n version\n else\n if data =~ (/login:/i)\n transport.tokenizer = Tokenizer.new(\"\\r\")\n do_send(setting(String, :username), wait: false, delay: 2.seconds, priority: 98)\n do_send(setting(String, :password), wait: false, delay: 2.seconds, priority: 97)\n schedule.in(5.seconds) do\n if !@ready\n logger.error do\n \"Exterity connection failed to be ready after 5 seconds. Check username and password.\"\n end\n disconnect\n end\n end\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"stream(uri:String)-instance-method","name":"stream","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L47"},"def":{"name":"stream","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"set(:playChannelUri, uri)"}},{"html_id":"tv_info-instance-method","name":"tv_info","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L63"},"def":{"name":"tv_info","visibility":"Public","body":"get(:tv_info)"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/exterity/avedia_player/r93xx.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/r93xx.cr#L67"},"def":{"name":"version","visibility":"Public","body":"get(:SoftwareVersion)"}}],"types":[{"html_id":"drivers/Exterity/AvediaPlayer/R93xx/ChannelDetail","path":"Exterity/AvediaPlayer/R93xx/ChannelDetail.html","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx::ChannelDetail","name":"ChannelDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Exterity/AvediaPlayer/R93xx","kind":"class","full_name":"Exterity::AvediaPlayer::R93xx","name":"R93xx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L29"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L28"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/exterity/avedia_player/m93xx.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/exterity/avedia_player/m93xx.cr#L27"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]}]}]},{"html_id":"drivers/Extron","path":"Extron.html","kind":"module","full_name":"Extron","name":"Extron","abstract":false,"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Extron/Matrix","path":"Extron/Matrix.html","kind":"class","full_name":"Extron::Matrix","name":"Matrix","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/matrix.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MUTE_INPUT","name":"MUTE_INPUT","value":"0_u16"}],"included_modules":[{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"instance_methods":[{"html_id":"audio_mute(state:Bool=true,group:Int32=2)-instance-method","name":"audio_mute","doc":"Sets the audio mute *state* on the specified *group*.\n\nNOTE: mute groups may differ from volume groups depending on device\nconfiguration. Default group (2) is program audio.","summary":"

Sets the audio mute state on the specified group.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"args_string":"(state : Bool = true, group : Int32 = 2)","args_html":"(state : Bool = true, group : Int32 = 2)","location":{"filename":"src/extron/matrix.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L212"},"def":{"name":"audio_mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"group","default_value":"2","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"device_state = state ? '1' : '0'\nsend(Command[\"\\eD\", group, '*', device_state, \"GRPM\\r\"], Response::GroupMute) do\n state\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n query_device_info\nend"}},{"html_id":"device_size-instance-method","name":"device_size","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L60"},"def":{"name":"device_size","visibility":"Public","body":"if (value = @device_size).nil?\n @device_size = (begin\n empty = MatrixSize.new(0_u16, 0_u16)\n SwitcherInformation.new(empty, empty)\n end)\nelse\n value\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nif config.role.ssh?\nelse\n @ready = false\n transport.tokenizer = nil\nend\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/extron/matrix.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L82"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"output = index.to_u16\nif output > 0\nelse\n return\nend\nswitch_layer = case layer\nin MuteLayer::Audio\n MatrixLayer::Aud\nin MuteLayer::Video\n MatrixLayer::Vid\nin MuteLayer::AudioVideo\n MatrixLayer::All\nend\nif state\n record_mute(output, switch_layer)\n switch_one(MUTE_INPUT, output, switch_layer)\nelse\n video_input = audio_input = MUTE_INPUT\n if switch_layer.all? || switch_layer.vid?\n video_input = (@muted_video.delete(output)) || MUTE_INPUT\n end\n if switch_layer.all? || switch_layer.aud?\n audio_input = (@muted_audio.delete(output)) || MUTE_INPUT\n end\n if audio_input > 0\n switch_one(audio_input, output, MatrixLayer::Aud)\n end\n if video_input > 0\n switch_one(video_input, output, MatrixLayer::Vid)\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"if config.role.ssh?\n @ready = true\n transport.tokenizer = Tokenizer.new(DELIMITER)\nend\nqueue.delay = 200.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"inputs = (setting?(UInt16, :input_count)) || 8_u16\noutputs = (setting?(UInt16, :output_count)) || 1_u16\nio = MatrixSize.new(inputs, outputs)\n@device_size = SwitcherInformation.new(video: io, audio: io)\n"}},{"html_id":"query_device_info-instance-method","name":"query_device_info","abstract":false,"location":{"filename":"src/extron/matrix.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L65"},"def":{"name":"query_device_info","visibility":"Public","body":"send(Command['I'], Response::SwitcherInformation) do |info|\n video_io = MatrixSize.new(info.video.inputs, info.video.outputs)\n audio_io = MatrixSize.new(info.audio.inputs, info.audio.outputs)\n @device_size = SwitcherInformation.new(video: video_io, audio: audio_io)\n self[:video_matrix] = \"#{info.video.inputs}x#{info.video.outputs}\"\n self[:audio_matrix] = \"#{info.audio.inputs}x#{info.audio.outputs}\"\n info\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","doc":"Response callback for async responses.","summary":"

Response callback for async responses.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/extron/matrix.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L240"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Ready #{@ready}, Received #{String.new(data)}\"\nend\nif !@ready\n payload = String.new(data)\n if payload =~ (/Copyright/i)\n if password = setting?(String, :password)\n send(\"#{password}\\r\", wait: false, priority: 99)\n end\n transport.tokenizer = Tokenizer.new(DELIMITER)\n @ready = true\n schedule.in(1.second) do\n query_device_info\n end\n end\n return\nend\ncase response = Response.parse(data, as: Response::Unsolicited)\nin Tie\n update_io(response)\nin Error, Response::ParseError\n logger.error do\n response\n end\nin Time\n query_device_info\nin String\n logger.info do\n response\n end\nin Nil\nend\nresponse\n"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","doc":"Implementing switchable interface","summary":"

Implementing switchable interface

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/extron/matrix.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L118"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"extron_layer = case layer\nin Nil, .all?\n MatrixLayer::All\nin .audio?\n MatrixLayer::Aud\nin .video?\n MatrixLayer::Vid\nin .data?, .data2?\n logger.debug do\n \"layer #{layer} not available on extron matrix\"\n end\n return\nend\nif (map.size == 1) && (map.first_value.size == 1)\n switch_one(map.first_key, map.first_value.first, extron_layer)\nelse\n switch_map(map, extron_layer)\nend\n"}},{"html_id":"switch_layer(input:Input,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_layer","doc":"Connect *input* to all outputs at the specified *layer*.","summary":"

Connect input to all outputs at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L154"},"def":{"name":"switch_layer","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio = {} of UInt16 => UInt16\nend\nif layer.all? || layer.aud?\n @muted_video = {} of UInt16 => UInt16\nend\nsend(Command[input, layer], Response::Switch, name: \"present-#{input}-#{layer}\", &->update_io(Switch))\n"}},{"html_id":"switch_map(map:SignalMap,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_map","doc":"Applies a `SignalMap` as a single operation. All included ties will take\nsimultaneously on the device.","summary":"

Applies a SignalMap as a single operation.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","args_html":"(map : SignalMap, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L162"},"def":{"name":"switch_map","args":[{"name":"map","external_name":"map","restriction":"SignalMap"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if map.size == 1\n outp = map.first_value\n if outp.is_a?(Array)\n if outp.size == 1\n return switch_one(map.first_key, outp.first, layer)\n end\n else\n return switch_one(map.first_key, outp, layer)\n end\nend\nties = map.flat_map do |__arg2|\n input = __arg2[0]\n outputs = __arg2[1]\n if outputs.is_a?(Enumerable)\n outputs.each.map do |output|\n if layer.all? || layer.aud?\n @muted_audio.delete(output)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(output)\n end\n Tie.new(input, output, layer)\n end\n else\n if layer.all? || layer.aud?\n @muted_audio.delete(outputs)\n end\n if layer.all? || layer.vid?\n @muted_video.delete(outputs)\n end\n Tie.new(input, outputs, layer)\n end\nend\nconflicts = ties - ties.uniq(&.output)\nif conflicts.empty?\nelse\n raise(ArgumentError.new(\"map contains conflicts for output(s) #{conflicts.join(\", \", &.output)}\"))\nend\nsend(Command[\"\\e+Q\", ties.map do |tie|\n [tie.input, '*', tie.output, tie.layer]\nend, '\\r'], Response::Qik) do\n ties.each(&->update_io(Tie))\nend\n"}},{"html_id":"switch_one(input:Input,output:Output,layer:MatrixLayer=MatrixLayer::All)-instance-method","name":"switch_one","doc":"Connect a signal *input* to an *output* at the specified *layer*.\n\n`0` may be used as either an input or output to specify a disconnection at\nthe corresponding signal point. For example, to disconnect input 1 from all\noutputs is is currently feeding `switch(1, 0)`.","summary":"

Connect a signal input to an output at the specified layer.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","args_html":"(input : Input, output : Output, layer : MatrixLayer = MatrixLayer::All)","location":{"filename":"src/extron/matrix.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L147"},"def":{"name":"switch_one","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","default_value":"MatrixLayer::All","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"if layer.all? || layer.aud?\n @muted_audio.delete(output)\nend\nif layer.all? || layer.vid?\n @muted_video.delete(output)\nend\nsend(Command[input, '*', output, layer], Response::Tie, name: \"switch-#{output}-#{layer}\", &->update_io(Tie))\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/extron/matrix.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L134"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"switch_layer(input)"}},{"html_id":"volume(level:Float64|Int32,group:Int32=1)-instance-method","name":"volume","doc":"Sets the audio volume *level* (0..100) on the specified mix *group*.","summary":"

Sets the audio volume level (0..100) on the specified mix group.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"args_string":"(level : Float64 | Int32, group : Int32 = 1)","args_html":"(level : Float64 | Int32, group : Int32 = 1)","location":{"filename":"src/extron/matrix.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L199"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Float64 | Int32"},{"name":"group","default_value":"1","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\ndevice_level = (level * 10.0).round_away.to_i - 1000\nsend(Command[\"\\eD\", group, '*', device_level, \"GRPM\\r\"], Response::GroupVolume) do\n level\nend\n"}}],"types":[{"html_id":"drivers/Extron/Matrix/Outputs","path":"Extron/Matrix/Outputs.html","kind":"alias","full_name":"Extron::Matrix::Outputs","name":"Outputs","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(UInt16)","aliased_html":"Array(UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}},{"html_id":"drivers/Extron/Matrix/SignalMap","path":"Extron/Matrix/SignalMap.html","kind":"alias","full_name":"Extron::Matrix::SignalMap","name":"SignalMap","abstract":false,"locations":[{"filename":"src/extron/matrix.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/matrix.cr#L140"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(UInt16, Array(UInt16) | UInt16)","aliased_html":"Hash(UInt16, Array(UInt16) | UInt16)","const":false,"namespace":{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}}]},{"html_id":"drivers/Extron/SIS","path":"Extron/SIS.html","kind":"module","full_name":"Extron::SIS","name":"SIS","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L9"},{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"SPECIAL_CHARS","name":"SPECIAL_CHARS","value":"\"+-,@=‘[]{}<>`“;:|?\".chars","doc":"Illegal characters for use in property names.","summary":"

Illegal characters for use in property names.

"},{"id":"SSH_PORT","name":"SSH_PORT","value":"22023"},{"id":"TELNET_PORT","name":"TELNET_PORT","value":"23"}],"including_types":[{"html_id":"drivers/Extron/Matrix","kind":"class","full_name":"Extron::Matrix","name":"Matrix"}],"namespace":{"html_id":"drivers/Extron","kind":"module","full_name":"Extron","name":"Extron"},"doc":"Implementation, types and utilities for working with the Extron Simple\nInstruction Set (SIS) device control protocol.\n\nThis protocol is used for control of all Extron signal distribution,\nprocessing and general audio-visual products via SSH, telnet and serial\ncontrol.","summary":"

Implementation, types and utilities for working with the Extron Simple Instruction Set (SIS) device control protocol.

","types":[{"html_id":"drivers/Extron/SIS/Command","path":"Extron/SIS/Command.html","kind":"struct","full_name":"Extron::SIS::Command(*T)","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis/command.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Structure for representing a SIS device command.\n\nCommands are composed from a set of *fields*. The contents and types of these\nare arbitrary, however they must be capable of serialising to an IO.","summary":"

Structure for representing a SIS device command.

","constructors":[{"html_id":"new(*fields:*T)-class-method","name":"new","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"args_string":"(*fields : *T)","args_html":"(*fields : *T)","location":{"filename":"src/extron/sis/command.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L6"},"def":{"name":"new","args":[{"name":"fields","external_name":"fields","restriction":"*T"}],"splat_index":0,"visibility":"Public","body":"_ = Command(*T).allocate\n_.initialize(*fields)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_io(io:IO,format=IO::ByteFormat::SystemEndian)-instance-method","name":"to_io","doc":"Writes `self` to the passed *io*.","summary":"

Writes self to the passed io.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"args_string":"(io : IO, format = IO::ByteFormat::SystemEndian)","args_html":"(io : IO, format = IO::ByteFormat::SystemEndian)","location":{"filename":"src/extron/sis/command.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L18"},"def":{"name":"to_io","args":[{"name":"io","external_name":"io","restriction":"IO"},{"name":"format","default_value":"IO::ByteFormat::SystemEndian","external_name":"format","restriction":""}],"visibility":"Public","body":"@fields.each.flatten.each do |field|\n if field.is_a?(Enum)\n io.write_byte(field.value)\n else\n io << field\n end\nend"}},{"html_id":"to_s(io:IO)-instance-method","name":"to_s","doc":"Serialises `self` in a format suitable for log messages.","summary":"

Serialises self in a format suitable for log messages.

","abstract":false,"args":[{"name":"io","external_name":"io","restriction":"IO"}],"args_string":"(io : IO)","args_html":"(io : IO)","location":{"filename":"src/extron/sis/command.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L11"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":"IO"}],"visibility":"Public","body":"io << '‹'\nto_io(io)\nio << '›'\n"}}],"macros":[{"html_id":"[](*fields)-macro","name":"[]","doc":"Syntactical suger for `Command` definition. Provides the ability to express\ncommand fields in the same way as `Byte` objects and other similar\ncollections from the Crystal std lib.","summary":"

Syntactical suger for Command definition.

","abstract":false,"args":[{"name":"fields","external_name":"fields","restriction":""}],"args_string":"(*fields)","args_html":"(*fields)","location":{"filename":"src/extron/sis/command.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/command.cr#L31"},"def":{"name":"[]","args":[{"name":"fields","external_name":"fields","restriction":""}],"splat_index":0,"visibility":"Public","body":" Extron::SIS::Command.new(\n{{ *fields }}\n)\n \n"}}]},{"html_id":"drivers/Extron/SIS/Error","path":"Extron/SIS/Error.html","kind":"enum","full_name":"Extron::SIS::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"InvalidInput","name":"InvalidInput","value":"1"},{"id":"InvalidCommand","name":"InvalidCommand","value":"10"},{"id":"InvalidPresent","name":"InvalidPresent","value":"11"},{"id":"InvalidOutput","name":"InvalidOutput","value":"12"},{"id":"InvalidParameter","name":"InvalidParameter","value":"13"},{"id":"InvalidForConfig","name":"InvalidForConfig","value":"14"},{"id":"Timeout","name":"Timeout","value":"17"},{"id":"Busy","name":"Busy","value":"22"},{"id":"PrivilegesViolation","name":"PrivilegesViolation","value":"24"},{"id":"DeviceNotPresent","name":"DeviceNotPresent","value":"25"},{"id":"MaxConnectionsExceeded","name":"MaxConnectionsExceeded","value":"26"},{"id":"InvalidEventNumber","name":"InvalidEventNumber","value":"27"},{"id":"FileNotFound","name":"FileNotFound","value":"28"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Device error numbers","summary":"

Device error numbers

","instance_methods":[{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L30"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"device_not_present?-instance-method","name":"device_not_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L32"},"def":{"name":"device_not_present?","visibility":"Public","body":"self == DeviceNotPresent"}},{"html_id":"file_not_found?-instance-method","name":"file_not_found?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L35"},"def":{"name":"file_not_found?","visibility":"Public","body":"self == FileNotFound"}},{"html_id":"invalid_command?-instance-method","name":"invalid_command?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L24"},"def":{"name":"invalid_command?","visibility":"Public","body":"self == InvalidCommand"}},{"html_id":"invalid_event_number?-instance-method","name":"invalid_event_number?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L34"},"def":{"name":"invalid_event_number?","visibility":"Public","body":"self == InvalidEventNumber"}},{"html_id":"invalid_for_config?-instance-method","name":"invalid_for_config?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L28"},"def":{"name":"invalid_for_config?","visibility":"Public","body":"self == InvalidForConfig"}},{"html_id":"invalid_input?-instance-method","name":"invalid_input?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L23"},"def":{"name":"invalid_input?","visibility":"Public","body":"self == InvalidInput"}},{"html_id":"invalid_output?-instance-method","name":"invalid_output?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L26"},"def":{"name":"invalid_output?","visibility":"Public","body":"self == InvalidOutput"}},{"html_id":"invalid_parameter?-instance-method","name":"invalid_parameter?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L27"},"def":{"name":"invalid_parameter?","visibility":"Public","body":"self == InvalidParameter"}},{"html_id":"invalid_present?-instance-method","name":"invalid_present?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L25"},"def":{"name":"invalid_present?","visibility":"Public","body":"self == InvalidPresent"}},{"html_id":"max_connections_exceeded?-instance-method","name":"max_connections_exceeded?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L33"},"def":{"name":"max_connections_exceeded?","visibility":"Public","body":"self == MaxConnectionsExceeded"}},{"html_id":"privileges_violation?-instance-method","name":"privileges_violation?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L31"},"def":{"name":"privileges_violation?","visibility":"Public","body":"self == PrivilegesViolation"}},{"html_id":"retryable?-instance-method","name":"retryable?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L37"},"def":{"name":"retryable?","visibility":"Public","body":"timeout? || busy?"}},{"html_id":"timeout?-instance-method","name":"timeout?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L29"},"def":{"name":"timeout?","visibility":"Public","body":"self == Timeout"}}]},{"html_id":"drivers/Extron/SIS/Input","path":"Extron/SIS/Input.html","kind":"alias","full_name":"Extron::SIS::Input","name":"Input","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/MatrixLayer","path":"Extron/SIS/MatrixLayer.html","kind":"enum","full_name":"Extron::SIS::MatrixLayer","name":"MatrixLayer","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L47"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"All","name":"All","value":"33_u8"},{"id":"Aud","name":"Aud","value":"36_u8"},{"id":"Vid","name":"Vid","value":"37_u8"},{"id":"RGB","name":"RGB","value":"38_u8"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Layers for targetting signal distribution operations.","summary":"

Layers for targetting signal distribution operations.

","instance_methods":[{"html_id":"all?-instance-method","name":"all?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L48"},"def":{"name":"all?","visibility":"Public","body":"self == All"}},{"html_id":"aud?-instance-method","name":"aud?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L49"},"def":{"name":"aud?","visibility":"Public","body":"self == Aud"}},{"html_id":"includes_audio?-instance-method","name":"includes_audio?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L57"},"def":{"name":"includes_audio?","visibility":"Public","body":"All || Aud"}},{"html_id":"includes_video?-instance-method","name":"includes_video?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L53"},"def":{"name":"includes_video?","visibility":"Public","body":"(All || Vid) || RGB"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L51"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"vid?-instance-method","name":"vid?","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L50"},"def":{"name":"vid?","visibility":"Public","body":"self == Vid"}}]},{"html_id":"drivers/Extron/SIS/MatrixSize","path":"Extron/SIS/MatrixSize.html","kind":"struct","full_name":"Extron::SIS::MatrixSize","name":"MatrixSize","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a switching layer.","summary":"

IO capacity for a switching layer.

","constructors":[{"html_id":"new(inputs:Input,outputs:Output)-class-method","name":"new","abstract":false,"args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"args_string":"(inputs : Input, outputs : Output)","args_html":"(inputs : Input, outputs : Output)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"new","args":[{"name":"inputs","external_name":"inputs","restriction":"Input"},{"name":"outputs","external_name":"outputs","restriction":"Output"}],"visibility":"Public","body":"_ = allocate\n_.initialize(inputs, outputs)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@inputs.clone, @outputs.clone)"}},{"html_id":"copy_with(inputs_inputs=@inputs,outputs_outputs=@outputs)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"args_string":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","args_html":"(inputs _inputs = @inputs, outputs _outputs = @outputs)","location":{"filename":"src/extron/sis.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L69"},"def":{"name":"copy_with","args":[{"name":"_inputs","default_value":"@inputs","external_name":"inputs","restriction":""},{"name":"_outputs","default_value":"@outputs","external_name":"outputs","restriction":""}],"visibility":"Public","body":"self.class.new(_inputs, _outputs)"}},{"html_id":"inputs:Input-instance-method","name":"inputs","abstract":false,"def":{"name":"inputs","return_type":"Input","visibility":"Public","body":"@inputs"}},{"html_id":"outputs:Output-instance-method","name":"outputs","abstract":false,"def":{"name":"outputs","return_type":"Output","visibility":"Public","body":"@outputs"}}]},{"html_id":"drivers/Extron/SIS/Ok","path":"Extron/SIS/Ok.html","kind":"struct","full_name":"Extron::SIS::Ok","name":"Ok","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Symbolic type for representating a successfull interactions no useful data.","summary":"

Symbolic type for representating a successfull interactions no useful data.

","constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L19"},"def":{"name":"initialize","visibility":"Public","body":""}}]},{"html_id":"drivers/Extron/SIS/Output","path":"Extron/SIS/Output.html","kind":"alias","full_name":"Extron::SIS::Output","name":"Output","abstract":false,"locations":[{"filename":"src/extron/sis.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"UInt16","aliased_html":"UInt16","const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"}},{"html_id":"drivers/Extron/SIS/Response","path":"Extron/SIS/Response.html","kind":"module","full_name":"Extron::SIS::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"locations":[{"filename":"src/extron/sis/response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Clock","name":"Clock","value":"Raw.map do |date|\n Time.parse_utc(date, \"%a, %d %b %Y %T\")\nend","doc":"Part of the copyright banner, but appears on a new line so will tokenize as\nas standalone message.","summary":"

Part of the copyright banner, but appears on a new line so will tokenize as as standalone message.

"},{"id":"Copyright","name":"Copyright","value":"((Parse.string(\"(c) Copyright\")) + Raw).map(&.join)","doc":"Copyright message shown on connect.","summary":"

Copyright message shown on connect.

"},{"id":"DeviceError","name":"DeviceError","value":"(Parse.char('E')) >> Parse.integer.map do |e|\n SIS::Error.new(e.to_i)\nend","doc":"Error codes returned from the device.","summary":"

Error codes returned from the device.

"},{"id":"Empty","name":"Empty","value":"(Parse.string(\"\\r\\n\")) >> (Parse.const(nil))"},{"id":"GroupMute","name":"GroupMute","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), state <= BoolField, Parse.const({state, group})})","doc":"Group audio mute update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group audio mute update / response.

"},{"id":"GroupVolume","name":"GroupVolume","value":"Parse.do({(_) <= (Parse.string(\"GrpmD\")), group <= (num(Int32)), (_) <= (Parse.char('*')), (_) <= (Parse.char('-')), level <= (num(Int32)).map do |val|\n val * -1\nend, Parse.const({level, group})})","doc":"Group volume update / response. Level are provided in the raw device range\nof -1000..0.","summary":"

Group volume update / response.

"},{"id":"MatrixSize","name":"MatrixSize","value":"Parse.do({inputs <= (num(Input)), (_) <= (Parse.char('X')), outputs <= (num(Output)), Parse.const(SIS::MatrixSize.new(inputs, outputs))})"},{"id":"Qik","name":"Qik","value":"(Parse.string(\"Qik\")) >> (Parse.const(Ok.new))","doc":"Quick response, occurs following quick tie, or switching interaction from\nthe device's front panel.","summary":"

Quick response, occurs following quick tie, or switching interaction from the device's front panel.

"},{"id":"Raw","name":"Raw","value":"(((Parse.char ^ Delimiter) * (0..)) << (Delimiter * (0..1))).map(&.join)","doc":"Parse a full command response as a String. Delimiter is optional as it may\nhave already been dropped by an upstream tokenizer.","summary":"

Parse a full command response as a String.

"},{"id":"Switch","name":"Switch","value":"Parse.do({input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Switch.new(input, layer))})","doc":"Broadcast or single output route update.","summary":"

Broadcast or single output route update.

"},{"id":"SwitcherInformation","name":"SwitcherInformation","value":"Parse.do({(_) <= (Parse.char('V')), video <= MatrixSize, (_) <= (Parse.char(' ')), (_) <= (Parse.char('A')), audio <= MatrixSize, Parse.const(SIS::SwitcherInformation.new(video, audio))})"},{"id":"Tie","name":"Tie","value":"Parse.do({output <= ((Parse.string(\"Out\")) >> (num(Output))), (_) <= (Parse.char(' ')), input <= ((Parse.string(\"In\")) >> (num(Input))), (_) <= (Parse.char(' ')), layer <= (word_as_enum(MatrixLayer)), Parse.const(SIS::Tie.new(input, output, layer))})","doc":"Matrix signal route update.","summary":"

Matrix signal route update.

"},{"id":"Unsolicited","name":"Unsolicited","value":"(((DeviceError | Tie) | Copyright) | Clock) | Empty","doc":"Async messages that can be expected outside of a command -> response flow.","summary":"

Async messages that can be expected outside of a command -> response flow.

"}],"included_modules":[{"html_id":"drivers/Pars","kind":"module","full_name":"Pars","name":"Pars"}],"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Parsers for responses and asynchronous messages originating from Extron SIS\ndevices.","summary":"

Parsers for responses and asynchronous messages originating from Extron SIS devices.

","class_methods":[{"html_id":"parse(data:String,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : String, as parser : Parser(T)) forall T","args_html":"(data : String, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L11"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"String"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"((parser | DeviceError) | \"unhandled device response\").parse(data)"}},{"html_id":"parse(data:Bytes,asparser:Parser(T))forallT-class-method","name":"parse","doc":"Parses a response packet with specified *parser*.\n\nReturns the parser output, a parse error or a device error.","summary":"

Parses a response packet with specified parser.

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"args_string":"(data : Bytes, as parser : Parser(T)) forall T","args_html":"(data : Bytes, as parser : Parser(T)) forall T","location":{"filename":"src/extron/sis/response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis/response.cr#L16"},"def":{"name":"parse","args":[{"name":"data","external_name":"data","restriction":"Bytes"},{"name":"parser","external_name":"as","restriction":"Parser(T)"}],"visibility":"Public","body":"parse(String.new(data), parser)"}}]},{"html_id":"drivers/Extron/SIS/Switch","path":"Extron/SIS/Switch.html","kind":"struct","full_name":"Extron::SIS::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a broadcast signal path, or single output switch.","summary":"

Struct for representing a broadcast signal path, or single output switch.

","constructors":[{"html_id":"new(input:Input,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, layer : MatrixLayer)","args_html":"(input : Input, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, layer _layer = @layer)","args_html":"(input _input = @input, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L66"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}}]},{"html_id":"drivers/Extron/SIS/SwitcherInformation","path":"Extron/SIS/SwitcherInformation.html","kind":"struct","full_name":"Extron::SIS::SwitcherInformation","name":"SwitcherInformation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"IO capacity for a full device.","summary":"

IO capacity for a full device.

","constructors":[{"html_id":"new(video:MatrixSize,audio:MatrixSize)-class-method","name":"new","abstract":false,"args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"args_string":"(video : MatrixSize, audio : MatrixSize)","args_html":"(video : MatrixSize, audio : MatrixSize)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"new","args":[{"name":"video","external_name":"video","restriction":"MatrixSize"},{"name":"audio","external_name":"audio","restriction":"MatrixSize"}],"visibility":"Public","body":"_ = allocate\n_.initialize(video, audio)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"audio:MatrixSize-instance-method","name":"audio","abstract":false,"def":{"name":"audio","return_type":"MatrixSize","visibility":"Public","body":"@audio"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@video.clone, @audio.clone)"}},{"html_id":"copy_with(video_video=@video,audio_audio=@audio)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"args_string":"(video _video = @video, audio _audio = @audio)","args_html":"(video _video = @video, audio _audio = @audio)","location":{"filename":"src/extron/sis.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L72"},"def":{"name":"copy_with","args":[{"name":"_video","default_value":"@video","external_name":"video","restriction":""},{"name":"_audio","default_value":"@audio","external_name":"audio","restriction":""}],"visibility":"Public","body":"self.class.new(_video, _audio)"}},{"html_id":"video:MatrixSize-instance-method","name":"video","abstract":false,"def":{"name":"video","return_type":"MatrixSize","visibility":"Public","body":"@video"}}]},{"html_id":"drivers/Extron/SIS/Tie","path":"Extron/SIS/Tie.html","kind":"struct","full_name":"Extron::SIS::Tie","name":"Tie","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Extron/SIS","kind":"module","full_name":"Extron::SIS","name":"SIS"},"doc":"Struct for representing a matrix signal path.","summary":"

Struct for representing a matrix signal path.

","constructors":[{"html_id":"new(input:Input,output:Output,layer:MatrixLayer)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"args_string":"(input : Input, output : Output, layer : MatrixLayer)","args_html":"(input : Input, output : Output, layer : MatrixLayer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Input"},{"name":"output","external_name":"output","restriction":"Output"},{"name":"layer","external_name":"layer","restriction":"MatrixLayer"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/extron/sis.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/extron/sis.cr#L63"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Input-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Input","visibility":"Public","body":"@input"}},{"html_id":"layer:MatrixLayer-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"MatrixLayer","visibility":"Public","body":"@layer"}},{"html_id":"output:Output-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Output","visibility":"Public","body":"@output"}}]}]}]},{"html_id":"drivers/Floorsense","path":"Floorsense.html","kind":"module","full_name":"Floorsense","name":"Floorsense","abstract":false,"locations":[{"filename":"src/floorsense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Floorsense Data Models","summary":"

Floorsense Data Models

","types":[{"html_id":"drivers/Floorsense/AuthInfo","path":"Floorsense/AuthInfo.html","kind":"class","full_name":"Floorsense::AuthInfo","name":"AuthInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"sessionid:String-instance-method","name":"sessionid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L52"},"def":{"name":"sessionid","return_type":"String","visibility":"Public","body":"@sessionid"}},{"html_id":"sessionid=(sessionid:String)-instance-method","name":"sessionid=","abstract":false,"args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"args_string":"(sessionid : String)","args_html":"(sessionid : String)","location":{"filename":"src/floorsense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L52"},"def":{"name":"sessionid=","args":[{"name":"sessionid","external_name":"sessionid","restriction":"String"}],"visibility":"Public","body":"@sessionid = sessionid"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L51"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/floorsense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L51"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/Floorsense/BookingsSync","path":"Floorsense/BookingsSync.html","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L196"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlogger.debug do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_email.nil?\n logger.warn do\n \"no user email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n next\n end\n user = (staff_api.user(user_email)).get\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n logger.debug do\n \"new floorsense booking found #{booking}\"\n end\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: to_place_asset_id(booking.key), user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, floor_details[:level_id]].compact, checked_in: true, extension_data: {floorsense_id: event.bkid}).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L592"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(placeos_user_id:String):String-instance-method","name":"get_floorsense_user","doc":"===================================\nSync Users\n===================================","summary":"

=================================== Sync Users ===================================

","abstract":false,"args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"args_string":"(placeos_user_id : String) : String","args_html":"(placeos_user_id : String) : String","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":543,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L543"},"def":{"name":"get_floorsense_user","args":[{"name":"placeos_user_id","external_name":"placeos_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"users = floorsense.user_list(description: placeos_user_id).get.as_a\nuser_id = users.first?.try() do |__arg5|\n __arg5[\"uid\"].as_s\nend\ncard_number = nil\nbegin\n place_user = (staff_api.user(placeos_user_id)).get\n name = place_user[\"name\"].as_s\n email = place_user[\"email\"].as_s\n card_number = place_user[\"card_number\"]?.try(&.as_s)\n user_id || (user_id = (floorsense.create_user(name, email, placeos_user_id)).get[\"uid\"].as_s)\nrescue error\n if user_id\n return user_id\n else\n raise(error)\n end\nend\nif (user_id && card_number) && (!card_number.empty?)\n ensure_card_synced(card_number, user_id)\nend\nuser_id.not_nil!\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L51"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L59"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":609,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L609"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L340"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L344"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}},{"html_id":"to_floor_key(asset_id:String)-instance-method","name":"to_floor_key","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L98"},"def":{"name":"to_floor_key","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"if @key_prefix.presence\n asset_id = asset_id.lstrip(@key_prefix)\nend\nif @strip_leading_zero\n asset_id = asset_id.rjust(@zero_padding_size, '0')\nend\nasset_id\n"}},{"html_id":"to_place_asset_id(key:String)-instance-method","name":"to_place_asset_id","doc":"===================================\nDesk ID manipulation\n===================================","summary":"

=================================== Desk ID manipulation ===================================

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L93"},"def":{"name":"to_place_asset_id","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"if @strip_leading_zero\n key = key.lstrip('0')\nend\n\"#{@key_prefix}#{key}\"\n"}}],"types":[{"html_id":"drivers/Floorsense/BookingsSync/Booking","path":"Floorsense/BookingsSync/Booking.html","kind":"class","full_name":"Floorsense::BookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/bookings_sync.cr","line_number":623,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L623"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/BookingsSync","kind":"class","full_name":"Floorsense::BookingsSync","name":"BookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":624,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L624"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L627"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":639,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L639"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":636,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L636"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":632,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L632"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L631"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":630,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L630"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":649,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L649"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L652"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":629,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L629"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L654"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":650,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L650"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":637,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L637"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":633,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L633"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":644,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L644"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":643,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L643"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L645"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/bookings_sync.cr","line_number":647,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/bookings_sync.cr#L647"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Floorsense/BookingStatus","path":"Floorsense/BookingStatus.html","kind":"class","full_name":"Floorsense::BookingStatus","name":"BookingStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L248"},"def":{"name":"active","return_type":"Bool","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool"}],"args_string":"(active : Bool)","args_html":"(active : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L248"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool"}],"visibility":"Public","body":"@active = active"}},{"html_id":"booking_id:String-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L230"},"def":{"name":"booking_id","return_type":"String","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:String)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L230"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L227"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L227"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L241"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L241"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confexpiry:Int64|Nil-instance-method","name":"confexpiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@confexpiry"}},{"html_id":"confexpiry=(confexpiry:Int64|Nil)-instance-method","name":"confexpiry=","abstract":false,"args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"args_string":"(confexpiry : Int64 | Nil)","args_html":"(confexpiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L239"},"def":{"name":"confexpiry=","args":[{"name":"confexpiry","external_name":"confexpiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@confexpiry = confexpiry"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L249"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L249"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"confmethod:Int32|Nil-instance-method","name":"confmethod","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L238"},"def":{"name":"confmethod","return_type":"Int32 | ::Nil","visibility":"Public","body":"@confmethod"}},{"html_id":"confmethod=(confmethod:Int32|Nil)-instance-method","name":"confmethod=","abstract":false,"args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"args_string":"(confmethod : Int32 | Nil)","args_html":"(confmethod : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L238"},"def":{"name":"confmethod=","args":[{"name":"confmethod","external_name":"confmethod","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@confmethod = confmethod"}},{"html_id":"conftime:Int64|Nil-instance-method","name":"conftime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L237"},"def":{"name":"conftime","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conftime"}},{"html_id":"conftime=(conftime:Int64|Nil)-instance-method","name":"conftime=","abstract":false,"args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"args_string":"(conftime : Int64 | Nil)","args_html":"(conftime : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L237"},"def":{"name":"conftime=","args":[{"name":"conftime","external_name":"conftime","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conftime = conftime"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L233"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L233"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L232"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L232"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L235"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L235"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L243"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L243"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L223"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L223"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"if (value = @place_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::BookingStatus#place_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L256"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"place_id?:String|Nil-instance-method","name":"place_id?","abstract":false,"def":{"name":"place_id?","return_type":"String | ::Nil","visibility":"Public","body":"@place_id"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L242"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L242"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L250"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L250"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L247"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L247"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L246"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","doc":"Time the booking was released","summary":"

Time the booking was released

","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L246"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L234"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L234"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L224"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L224"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L253"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L253"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/Floorsense/ControllerInfo","path":"Floorsense/ControllerInfo.html","kind":"class","full_name":"Floorsense::ControllerInfo","name":"ControllerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L307"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L308"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L311"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L311"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"desks:Bool-instance-method","name":"desks","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L315"},"def":{"name":"desks","return_type":"Bool","visibility":"Public","body":"@desks"}},{"html_id":"desks=(desks:Bool)-instance-method","name":"desks=","abstract":false,"args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"args_string":"(desks : Bool)","args_html":"(desks : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L315"},"def":{"name":"desks=","args":[{"name":"desks","external_name":"desks","restriction":"Bool"}],"visibility":"Public","body":"@desks = desks"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L317"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/models.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L317"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location1:String-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L319"},"def":{"name":"location1","return_type":"String","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String"}],"args_string":"(location1 : String)","args_html":"(location1 : String)","location":{"filename":"src/floorsense/models.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L319"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L320"},"def":{"name":"location2","return_type":"String","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String"}],"args_string":"(location2 : String)","args_html":"(location2 : String)","location":{"filename":"src/floorsense/models.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L320"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L321"},"def":{"name":"location3","return_type":"String","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String"}],"args_string":"(location3 : String)","args_html":"(location3 : String)","location":{"filename":"src/floorsense/models.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L321"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"location4:String-instance-method","name":"location4","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L322"},"def":{"name":"location4","return_type":"String","visibility":"Public","body":"@location4"}},{"html_id":"location4=(location4:String)-instance-method","name":"location4=","abstract":false,"args":[{"name":"location4","external_name":"location4","restriction":"String"}],"args_string":"(location4 : String)","args_html":"(location4 : String)","location":{"filename":"src/floorsense/models.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L322"},"def":{"name":"location4=","args":[{"name":"location4","external_name":"location4","restriction":"String"}],"visibility":"Public","body":"@location4 = location4"}},{"html_id":"lockers:Bool-instance-method","name":"lockers","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L314"},"def":{"name":"lockers","return_type":"Bool","visibility":"Public","body":"@lockers"}},{"html_id":"lockers=(lockers:Bool)-instance-method","name":"lockers=","abstract":false,"args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"args_string":"(lockers : Bool)","args_html":"(lockers : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L314"},"def":{"name":"lockers=","args":[{"name":"lockers","external_name":"lockers","restriction":"Bool"}],"visibility":"Public","body":"@lockers = lockers"}},{"html_id":"mode:String-instance-method","name":"mode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L324"},"def":{"name":"mode","return_type":"String","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:String)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"String"}],"args_string":"(mode : String)","args_html":"(mode : String)","location":{"filename":"src/floorsense/models.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L324"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"String"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L318"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L318"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"online:Bool-instance-method","name":"online","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L313"},"def":{"name":"online","return_type":"Bool","visibility":"Public","body":"@online"}},{"html_id":"online=(online:Bool)-instance-method","name":"online=","abstract":false,"args":[{"name":"online","external_name":"online","restriction":"Bool"}],"args_string":"(online : Bool)","args_html":"(online : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L313"},"def":{"name":"online=","args":[{"name":"online","external_name":"online","restriction":"Bool"}],"visibility":"Public","body":"@online = online"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync","path":"Floorsense/CustomBookingsSync.html","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_floorsense_log:Nil-instance-method","name":"check_floorsense_log","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L239"},"def":{"name":"check_floorsense_log","return_type":"Nil","visibility":"Public","body":"last_event_id = @last_event_id\nif last_event_id.nil?\n recent = (floorsense.event_log({49, 50, 53})).get.as_a\n if !recent.empty?\n last = recent.last\n @last_event_id = last[\"eventid\"].as_i64\n @last_event_at = last[\"eventtime\"].as_i64\n end\n return\nend\nevents = Array(LogEntry).from_json(floorsense.event_log(codes: {49, 50, 53}, after: @last_event_at, limit: 500).get.to_json)\nevents.reject! do |event|\n event.eventid <= last_event_id\nend\nif events.empty?\n return\nend\nlog do\n \"parsing floorsense event log, #{events.size} new events\"\nend\n@last_event_id = events.last.eventid\nevents.each do |event|\n begin\n booking = BookingStatus.from_json((floorsense.get_booking(event.bkid)).get.to_json)\n floor_details = @floor_mappings[booking.planid.to_s]?\n if floor_details\n else\n next\n end\n case event.code\n when 49\n if booking.booking_type != \"adhoc\"\n next\n end\n user_id = booking.user.not_nil!.desc\n user_email = booking.user.not_nil!.email.try(&.downcase)\n if user_id.presence.nil? && user_email.presence.nil?\n logger.warn do\n \"no user id or email defined for floorsense user #{booking.user.not_nil!.name}\"\n end\n return\n end\n user = begin\n (staff_api.user(user_id.presence || user_email)).get\n rescue error\n logger.warn(exception: error) do\n \"floorsense user #{user_id.presence || user_email} (#{booking.user.not_nil!.name}) not found in placeos\"\n end\n return\n end\n user_id = user[\"id\"]\n user_name = user[\"name\"]\n user_email = user[\"email\"]\n log do\n \"new floorsense booking found #{booking}\"\n end\n booking_key = booking.key\n level_id = floor_details[:level_id]\n if metadata = @desk_mapping_cache[level_id][booking_key]?\n title = metadata.title\n ext_data = metadata.ext_data\n asset_id = metadata.place_id\n else\n title = asset_id = booking_key\n ext_data = {} of String => JSON::Any\n end\n ext_data[\"floorsense_booking_id\"] = JSON::Any.new(booking.booking_id)\n staff_api.create_booking(booking_start: booking.start, booking_end: booking.finish, time_zone: @time_zone.to_s, booking_type: @booking_type, asset_id: asset_id, user_id: user_id, user_email: user_email, user_name: user_name, zones: [floor_details[:building_id]?, level_id].compact, checked_in: true, approved: true, title: title, extension_data: ext_data).get\n when 50\n if booking.released >= booking.finish || booking.released <= booking.start\n next\n end\n if place_booking = get_place_booking(booking, floor_details)\n staff_api.update_booking(booking_id: place_booking.id, booking_end: booking.released, checked_in: false).get\n else\n logger.warn do\n \"no booking found for released booking #{booking.booking_id}\"\n end\n end\n when 51\n when 52\n when 53\n begin\n if desc = booking.desc\n place_booking = Booking.from_json((staff_api.get_booking(desc.to_i64)).get.to_json)\n staff_api.booking_check_in(place_booking.id, booking.confirmed)\n end\n rescue ArgumentError\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"while processing #{event.eventid}\\n#{event.inspect}\"\n end\n end\nend\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":674,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L674"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"if foor_id = (locations.eui64_to_desk_id(id.downcase)).get.raw\n floor_desk_id = foor_id.as(String)\n place_id = floor_desk_id\n level_id = nil\n building = nil\n @desk_mapping_cache.each do |level, lookup|\n if meta = lookup[floor_desk_id]?\n level_id = level\n place_id = meta.place_id || floor_desk_id\n building = meta.building\n break\n end\n end\n if level_id\n {level: level_id, desk_id: place_id, building_id: building}\n end\nend"}},{"html_id":"floorsense_bookings(zone_id:String)-instance-method","name":"floorsense_bookings","doc":"===================================\nBooking Queries\n===================================","summary":"

=================================== Booking Queries ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":697,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L697"},"def":{"name":"floorsense_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"log do\n \"querying floorsense bookings in zone #{zone_id}\"\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of BookingStatus\nend\ncurrent = [] of BookingStatus\nstart_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nraw_bookings = (floorsense.bookings(plan_id, start_of_day.to_unix, tomorrow_night.to_unix)).get.to_json\n(Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n current.concat(bookings)\nend\ncurrent\n"}},{"html_id":"get_floorsense_user(place_user_id:String):String-instance-method","name":"get_floorsense_user","abstract":false,"args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"args_string":"(place_user_id : String) : String","args_html":"(place_user_id : String) : String","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":645,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L645"},"def":{"name":"get_floorsense_user","args":[{"name":"place_user_id","external_name":"place_user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"place_user = (staff_api.user(place_user_id)).get\nplaceos_staff_id = place_user[@user_lookup].as_s\nfloorsense_users = floorsense.user_list(description: placeos_staff_id).get.as_a\nuser_id = floorsense_users.first?.try() do |__arg8|\n __arg8[\"uid\"].as_s\nend\nif @create_floorsense_users\n user_id || (user_id = (floorsense.create_user(place_user[\"name\"].as_s, place_user[\"email\"].as_s, placeos_staff_id)).get[\"uid\"].as_s)\nend\nif user_id\nelse\n raise(\"Floorsense user not found for #{placeos_staff_id}\")\nend\ncard_number = place_user[\"card_number\"]?.try(&.as_s)\nif (user_id && card_number) && (!card_number.empty?)\n spawn(same_thread: true) do\n ensure_card_synced(card_number, user_id)\n end\nend\nuser_id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L70"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n log do\n \"received booking changed event #{payload}\"\n end\n booking_changed(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L78"},"def":{"name":"on_update","visibility":"Public","body":"@key_prefix = (setting?(String, :key_prefix)) || \"\"\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@strip_leading_zero = (setting?(Bool, :strip_leading_zero)) || false\n@zero_padding_size = (setting?(Int32, :zero_padding_size)) || 7\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@poll_rate = ((setting?(Int32, :poll_rate)) || 3).seconds\n@user_lookup = (setting?(String, :user_lookup)).presence || \"staff_id\"\n@debug_logging = (setting?(Bool, :debug_logging)) || false\n@floorsense_lookup_key = (setting?(String, :floorsense_lookup_key)).presence || \"floorsensedeskid\"\n@create_floorsense_users = (setting?(Bool, :create_floorsense_users)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\ntime_zone = (setting?(String, :time_zone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nschedule.in(@poll_rate / 2) do\n schedule.every(@poll_rate * 10) do\n sync_bookings\n end\n sync_bookings\nend\n"}},{"html_id":"placeos_bookings(zone_id:String)-instance-method","name":"placeos_bookings","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":714,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L714"},"def":{"name":"placeos_bookings","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"start_of_day = (Time.local(@time_zone)).at_beginning_of_day\ntomorrow_night = (start_of_day.at_end_of_day + 1.hour).at_end_of_day - 1.minute\nbookings = staff_api.query_bookings(type: @booking_type, period_start: start_of_day.to_unix, period_end: tomorrow_night.to_unix, zones: {zone_id}).get.as_a\nbookings.map do |book|\n Booking.from_json(book.to_json)\nend\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,building_id:String|Nil)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, building_id : String | Nil)","args_html":"(zone_id : String, building_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":728,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L728"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"desk_lookup = {} of String => DeskMeta\nbegin\n metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\n lookup_key = @floorsense_lookup_key\n metadata.each do |desk|\n desk = desk.as_h\n place_id = desk[\"id\"]?.try() do |__arg10|\n __arg10.as_s.presence\n end\n if place_id\n else\n next\n end\n floor_id = desk[lookup_key]?.try() do |__arg11|\n __arg11.as_s.presence\n end\n if floor_id\n else\n next\n end\n ext_data = {\"floorsense_id\" => JSON::Any.new(floor_id)}\n title = desk[\"name\"]?.try(&.as_s) || place_id\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk[meta_key]?\n ext_data[ext_key] = value\n end\n end\n ids = DeskMeta.new(place_id, floor_id, building_id, title, ext_data)\n desk_lookup[place_id] = ids\n desk_lookup[floor_id] = ids\n end\n desk_lookup\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain desk metadata for #{zone_id}\"\n end\n desk_lookup\nend\n"}},{"html_id":"sync_bookings-instance-method","name":"sync_bookings","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L406"},"def":{"name":"sync_bookings","visibility":"Public","body":"@zone_mappings.keys.each do |zone_id|\n sync_floor(zone_id)\nend"}},{"html_id":"sync_floor(zone:String)-instance-method","name":"sync_floor","abstract":false,"args":[{"name":"zone","external_name":"zone","restriction":"String"}],"args_string":"(zone : String)","args_html":"(zone : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L410"},"def":{"name":"sync_floor","args":[{"name":"zone","external_name":"zone","restriction":"String"}],"visibility":"Public","body":"@sync_lock.synchronize do\n do_sync_floor(zone)\nend"}}],"types":[{"html_id":"drivers/Floorsense/CustomBookingsSync/Booking","path":"Floorsense/CustomBookingsSync/Booking.html","kind":"class","full_name":"Floorsense::CustomBookingsSync::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":781,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L781"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":782,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L782"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L785"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":797,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L797"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":794,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L794"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":790,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L790"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":789,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L789"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":788,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L788"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool|Nil-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in","return_type":"Bool | ::Nil","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":807,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L807"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"extension_data:JSON::Any|Nil-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@extension_data"}},{"html_id":"extension_data=(extension_data:JSON::Any|Nil)-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"args_string":"(extension_data : JSON::Any | Nil)","args_html":"(extension_data : JSON::Any | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":810,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L810"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"if (value = @floor_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::CustomBookingsSync::Booking#floor_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":813,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L813"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_id?:String|Nil-instance-method","name":"floor_id?","abstract":false,"def":{"name":"floor_id?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":787,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L787"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L815"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L808"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":795,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L795"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":791,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L791"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":802,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L802"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":801,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L801"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L803"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":805,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L805"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Floorsense/CustomBookingsSync/DeskMeta","path":"Floorsense/CustomBookingsSync/DeskMeta.html","kind":"struct","full_name":"Floorsense::CustomBookingsSync::DeskMeta","name":"DeskMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":768,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L768"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense/CustomBookingsSync","kind":"class","full_name":"Floorsense::CustomBookingsSync","name":"CustomBookingsSync"},"constructors":[{"html_id":"new(place_id:String,floor_id:String,building:Nil|String,title:String,ext_data:Hash(String,JSON::Any))-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","args_html":"(place_id : String, floor_id : String, building : Nil | String, title : String, ext_data : Hash(String, JSON::Any))","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":771,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L771"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"floor_id","external_name":"floor_id","restriction":"::String"},{"name":"building","external_name":"building","restriction":"::Nil | ::String"},{"name":"title","external_name":"title","restriction":"::String"},{"name":"ext_data","external_name":"ext_data","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, floor_id, building, title, ext_data)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":769,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L769"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"@building"}},{"html_id":"building=(building:String|Nil)-instance-method","name":"building=","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"args_string":"(building : String | Nil)","args_html":"(building : String | Nil)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L776"},"def":{"name":"building=","args":[{"name":"building","external_name":"building","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building = building"}},{"html_id":"ext_data:Hash(String,JSON::Any)-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":777,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L777"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@ext_data"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":775,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L775"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"place_id=(place_id:String)-instance-method","name":"place_id=","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"args_string":"(place_id : String)","args_html":"(place_id : String)","location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":774,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L774"},"def":{"name":"place_id=","args":[{"name":"place_id","external_name":"place_id","restriction":"String"}],"visibility":"Public","body":"@place_id = place_id"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/floorsense/custom_bookings_sync.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/custom_bookings_sync.cr#L778"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]}]},{"html_id":"drivers/Floorsense/DeskInfo","path":"Floorsense/DeskInfo.html","kind":"class","full_name":"Floorsense::DeskInfo","name":"DeskInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L154"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::DeskInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L166"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"desk_type:String|Nil-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L162"},"def":{"name":"desk_type","return_type":"String | ::Nil","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String|Nil)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"args_string":"(desk_type : String | Nil)","args_html":"(desk_type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L162"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L157"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L157"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L158"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L158"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L159"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L159"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L163"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L163"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}}]},{"html_id":"drivers/Floorsense/Desks","path":"Floorsense/Desks.html","kind":"class","full_name":"Floorsense::Desks","name":"Desks","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":487,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L487"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L152"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":764,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L764"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":454,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L454"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":772,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L772"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":475,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L475"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"controller_list-instance-method","name":"controller_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L127"},"def":{"name":"controller_list","visibility":"Public","body":"response = get(\"/restapi/slave-list\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks.cr","line_number":527,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L527"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg0|\n __arg0.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":686,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L686"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L660"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L98"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":704,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L704"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks.cr","line_number":622,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L622"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":594,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L594"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":508,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L508"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L449"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks.cr","line_number":745,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L745"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L49"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L444"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":468,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L468"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L716"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L58"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{@username}&password=#{@password}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":721,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L721"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":776,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L776"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L162"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L257"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L176"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L244"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L207"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L233"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L297"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L291"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L271"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L316"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L157"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@username = URI.encode_www_form(setting(String, :username))\n@password = URI.encode_www_form(setting(String, :password))\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\n"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L566"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L137"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L105"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\nend\n@lockers = lockers\n@desks = desks\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L53"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L576"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L654"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks.cr","line_number":731,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L731"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":436,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L436"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks.cr","line_number":421,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L421"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L386"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L337"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L332"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L93"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n check_response Resp(\n{{ klass }}\n).from_json(\n{{ response }}\n.body.not_nil!) \n{{ modify }}\n\n \n"}}],"types":[{"html_id":"drivers/Floorsense/Desks/DeskHeight","path":"Floorsense/Desks/DeskHeight.html","kind":"enum","full_name":"Floorsense::Desks::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":611,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L611"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":612,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L612"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":613,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L613"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/Desks/DeskPower","path":"Floorsense/Desks/DeskPower.html","kind":"enum","full_name":"Floorsense::Desks::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L605"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L607"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L606"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L608"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/Desks/LedColour","path":"Floorsense/Desks/LedColour.html","kind":"enum","full_name":"Floorsense::Desks::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":599,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L599"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L602"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L601"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L600"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/Desks/LedState","path":"Floorsense/Desks/LedState.html","kind":"enum","full_name":"Floorsense::Desks::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L168"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L173"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L172"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L169"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L170"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L171"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/Desks/QiMode","path":"Floorsense/Desks/QiMode.html","kind":"enum","full_name":"Floorsense::Desks::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks.cr","line_number":616,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L616"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/Desks","kind":"class","full_name":"Floorsense::Desks","name":"Desks"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":619,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L619"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":618,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L618"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks.cr","line_number":617,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks.cr#L617"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/DeskStatus","path":"Floorsense/DeskStatus.html","kind":"class","full_name":"Floorsense::DeskStatus","name":"DeskStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L146"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L146"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"cached:Bool-instance-method","name":"cached","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L124"},"def":{"name":"cached","return_type":"Bool","visibility":"Public","body":"@cached"}},{"html_id":"cached=(cached:Bool)-instance-method","name":"cached=","abstract":false,"args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"args_string":"(cached : Bool)","args_html":"(cached : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L124"},"def":{"name":"cached=","args":[{"name":"cached","external_name":"cached","restriction":"Bool"}],"visibility":"Public","body":"@cached = cached"}},{"html_id":"cid:Int32-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L123"},"def":{"name":"cid","return_type":"Int32","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"args_string":"(cid : Int32)","args_html":"(cid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L123"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L149"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L149"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L134"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Time)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Time"}],"args_string":"(created : Time)","args_html":"(created : Time)","location":{"filename":"src/floorsense/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L134"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Time"}],"visibility":"Public","body":"@created = created"}},{"html_id":"desk_type:String-instance-method","name":"desk_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L141"},"def":{"name":"desk_type","return_type":"String","visibility":"Public","body":"@desk_type"}},{"html_id":"desk_type=(desk_type:String)-instance-method","name":"desk_type=","abstract":false,"args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"args_string":"(desk_type : String)","args_html":"(desk_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L141"},"def":{"name":"desk_type=","args":[{"name":"desk_type","external_name":"desk_type","restriction":"String"}],"visibility":"Public","body":"@desk_type = desk_type"}},{"html_id":"deskid:Int32-instance-method","name":"deskid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L128"},"def":{"name":"deskid","return_type":"Int32","visibility":"Public","body":"@deskid"}},{"html_id":"deskid=(deskid:Int32)-instance-method","name":"deskid=","abstract":false,"args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"args_string":"(deskid : Int32)","args_html":"(deskid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L128"},"def":{"name":"deskid=","args":[{"name":"deskid","external_name":"deskid","restriction":"Int32"}],"visibility":"Public","body":"@deskid = deskid"}},{"html_id":"eui64:String-instance-method","name":"eui64","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L138"},"def":{"name":"eui64","return_type":"String","visibility":"Public","body":"@eui64"}},{"html_id":"eui64=(eui64:String)-instance-method","name":"eui64=","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"args_string":"(eui64 : String)","args_html":"(eui64 : String)","location":{"filename":"src/floorsense/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L138"},"def":{"name":"eui64=","args":[{"name":"eui64","external_name":"eui64","restriction":"String"}],"visibility":"Public","body":"@eui64 = eui64"}},{"html_id":"features:Int32-instance-method","name":"features","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L143"},"def":{"name":"features","return_type":"Int32","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Int32)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Int32"}],"args_string":"(features : Int32)","args_html":"(features : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L143"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Int32"}],"visibility":"Public","body":"@features = features"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L142"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L142"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"freq:String-instance-method","name":"freq","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L144"},"def":{"name":"freq","return_type":"String","visibility":"Public","body":"@freq"}},{"html_id":"freq=(freq:String)-instance-method","name":"freq=","abstract":false,"args":[{"name":"freq","external_name":"freq","restriction":"String"}],"args_string":"(freq : String)","args_html":"(freq : String)","location":{"filename":"src/floorsense/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L144"},"def":{"name":"freq=","args":[{"name":"freq","external_name":"freq","restriction":"String"}],"visibility":"Public","body":"@freq = freq"}},{"html_id":"groupid:Int32-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L145"},"def":{"name":"groupid","return_type":"Int32","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"args_string":"(groupid : Int32)","args_html":"(groupid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L145"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:String-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L131"},"def":{"name":"hardware","return_type":"String","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:String)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"args_string":"(hardware : String)","args_html":"(hardware : String)","location":{"filename":"src/floorsense/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L131"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"String"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"hwfeat:Int32-instance-method","name":"hwfeat","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat","return_type":"Int32","visibility":"Public","body":"@hwfeat"}},{"html_id":"hwfeat=(hwfeat:Int32)-instance-method","name":"hwfeat=","abstract":false,"args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"args_string":"(hwfeat : Int32)","args_html":"(hwfeat : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L130"},"def":{"name":"hwfeat=","args":[{"name":"hwfeat","external_name":"hwfeat","restriction":"Int32"}],"visibility":"Public","body":"@hwfeat = hwfeat"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L135"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L135"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"netid:Int32-instance-method","name":"netid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L126"},"def":{"name":"netid","return_type":"Int32","visibility":"Public","body":"@netid"}},{"html_id":"netid=(netid:Int32)-instance-method","name":"netid=","abstract":false,"args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"args_string":"(netid : Int32)","args_html":"(netid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L126"},"def":{"name":"netid=","args":[{"name":"netid","external_name":"netid","restriction":"Int32"}],"visibility":"Public","body":"@netid = netid"}},{"html_id":"occupied:Bool-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L136"},"def":{"name":"occupied","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L136"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime","return_type":"Int32","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"args_string":"(occupiedtime : Int32)","args_html":"(occupiedtime : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L151"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L147"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L147"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L150"},"def":{"name":"privacy","return_type":"Bool","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"args_string":"(privacy : Bool)","args_html":"(privacy : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L150"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reservable:Bool-instance-method","name":"reservable","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L125"},"def":{"name":"reservable","return_type":"Bool","visibility":"Public","body":"@reservable"}},{"html_id":"reservable=(reservable:Bool)-instance-method","name":"reservable=","abstract":false,"args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"args_string":"(reservable : Bool)","args_html":"(reservable : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L125"},"def":{"name":"reservable=","args":[{"name":"reservable","external_name":"reservable","restriction":"Bool"}],"visibility":"Public","body":"@reservable = reservable"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L148"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L148"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L127"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L127"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L137"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L137"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket","path":"Floorsense/DesksWebsocket.html","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"activate_booking(booking_id:String|Int64,controller_id:String|Int64|Nil=nil,key:String|Nil=nil,eui64:String|Nil=nil,userpresent:Bool|Nil=nil)-instance-method","name":"activate_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, controller_id : String | Int64 | Nil = nil, key : String | Nil = nil, eui64 : String | Nil = nil, userpresent : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L587"},"def":{"name":"activate_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int64 | Nil"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Nil"},{"name":"eui64","default_value":"nil","external_name":"eui64","restriction":"String | Nil"},{"name":"userpresent","default_value":"nil","external_name":"userpresent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if key.nil?\n else\n form.add(\"key\", key.to_s)\n end\n if userpresent.nil?\n else\n form.add(\"userpresent\", userpresent.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"all_lockers-instance-method","name":"all_lockers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L242"},"def":{"name":"all_lockers","visibility":"Public","body":"if @lockers.empty?\nelse\n return @lockers.values\nend\nsync_locker_list.values\n"}},{"html_id":"at_location(controller_id:String,desk_key:String)-instance-method","name":"at_location","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"args_string":"(controller_id : String, desk_key : String)","args_html":"(controller_id : String, desk_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":864,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L864"},"def":{"name":"at_location","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"},{"name":"desk_key","external_name":"desk_key","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/user-locate?cid=#{controller_id}&desk_key=#{desk_key}\", headers: default_headers)\nlogger.debug do\n \"at_location response: #{response.body}\"\nend\nusers = parse(response, Array(User))\nusers.first?\n"}},{"html_id":"bookings(plan_id:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil)-instance-method","name":"bookings","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"args_string":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","args_html":"(plan_id : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":554,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L554"},"def":{"name":"bookings","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 15.minutes.from_now.to_unix)\nuri = \"/restapi/floorplan-booking?planid=#{plan_id}&start=#{period_start}&finish=#{period_end}\"\nresponse = get(uri, headers: default_headers)\nbookings_map = parse(response, Hash(String, Array(BookingStatus)))\nbookings_map.each do |_id, bookings|\n bookings.each do |booking|\n booking.user = get_user(booking.uid)\n end\nend\nbookings_map\n"}},{"html_id":"check_subscriptions-instance-method","name":"check_subscriptions","doc":"used to poll the websocket to check for liveliness","summary":"

used to poll the websocket to check for liveliness

","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L78"},"def":{"name":"check_subscriptions","visibility":"Public","body":"ws_get(\"/restapi/subscribe\")"}},{"html_id":"clear_user_cache!-instance-method","name":"clear_user_cache!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L872"},"def":{"name":"clear_user_cache!","visibility":"Public","body":"@user_cache.clear"}},{"html_id":"confirm_booking(booking_id:String|Int64)-instance-method","name":"confirm_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L575"},"def":{"name":"confirm_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-confirm\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"method\", \"1\")\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"ws_post(\"/auth\", {user: \"kiosk\"}.to_json, priority: 99, name: \"auth\")"}},{"html_id":"controller_list(locker:Bool|Nil=nil,desks:Bool|Nil=nil)-instance-method","name":"controller_list","abstract":false,"args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"args_string":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","args_html":"(locker : Bool | Nil = nil, desks : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L212"},"def":{"name":"controller_list","args":[{"name":"locker","default_value":"nil","external_name":"locker","restriction":"Bool | ::Nil"},{"name":"desks","default_value":"nil","external_name":"desks","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if locker\n form.add(\"locks\", \"true\")\n end\n if desks\n form.add(\"desks\", \"true\")\n end\nend\nresponse = get(\"/restapi/slave-list?#{query}\", headers: default_headers)\ncontrollers = parse(response, Array(ControllerInfo))\nmappings = {} of Int32 => ControllerInfo\ncontrollers.each do |ctrl|\n mappings[ctrl.controller_id] = ctrl\nend\nself[:controllers] = mappings\n@controllers = mappings\n"}},{"html_id":"create_booking(user_id:String|Int64,plan_id:String|Int32,key:String,description:String|Nil=nil,starting:Int64|Nil=nil,ending:Int64|Nil=nil,time_zone:String|Nil=nil,booking_type:String=\"advance\")-instance-method","name":"create_booking","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"args_string":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = \"advance\")","args_html":"(user_id : String | Int64, plan_id : String | Int32, key : String, description : String | Nil = nil, starting : Int64 | Nil = nil, ending : Int64 | Nil = nil, time_zone : String | Nil = nil, booking_type : String = "advance")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":627,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L627"},"def":{"name":"create_booking","args":[{"name":"user_id","external_name":"user_id","restriction":"String | Int64"},{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"},{"name":"key","external_name":"key","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"starting","default_value":"nil","external_name":"starting","restriction":"Int64 | ::Nil"},{"name":"ending","default_value":"nil","external_name":"ending","restriction":"Int64 | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"booking_type","default_value":"\"advance\"","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"desks_on_plan = desks(plan_id)\ndesk = desks_on_plan.find() do |__arg5|\n __arg5.key == key\nend\nif desk\nelse\n raise(\"could not find desk #{key} on plan #{plan_id}\")\nend\nnow = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nstarting || (starting = now.at_beginning_of_day.to_unix)\nending || (ending = now.at_end_of_day.to_unix)\nresponse = post(\"/restapi/booking-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id.to_s)\n form.add(\"cid\", desk.cid.to_s)\n form.add(\"key\", key)\n form.add(\"bktype\", booking_type)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n form.add(\"start\", starting.to_s)\n form.add(\"finish\", ending.to_s)\n form.add(\"confexpiry\", ending.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"create_rfid(user_id:String,card_number:String,description:String|Nil=nil)-instance-method","name":"create_rfid","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(user_id : String, card_number : String, description : String | Nil = nil)","args_html":"(user_id : String, card_number : String, description : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":786,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L786"},"def":{"name":"create_rfid","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"card_number","external_name":"card_number","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"uid\", user_id)\n form.add(\"csn\", card_number)\n if description\n form.add(\"desc\", description.not_nil!)\n end\nend)\nparse(response, User) do |resp|\n resp || (JSON::Any.new(true))\nend\n"}},{"html_id":"create_user(name:String,email:String,description:String|Nil=nil,extid:String|Nil=nil,pin:String|Nil=nil,usertype:String=\"user\")-instance-method","name":"create_user","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"args_string":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = \"user\")","args_html":"(name : String, email : String, description : String | Nil = nil, extid : String | Nil = nil, pin : String | Nil = nil, usertype : String = "user")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":760,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L760"},"def":{"name":"create_user","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"email","external_name":"email","restriction":"String"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"extid","default_value":"nil","external_name":"extid","restriction":"String | ::Nil"},{"name":"pin","default_value":"nil","external_name":"pin","restriction":"String | ::Nil"},{"name":"usertype","default_value":"\"user\"","external_name":"usertype","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/user-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"name\", name)\n form.add(\"email\", email)\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if pin\n form.add(\"pin\", pin.not_nil!)\n end\n if extid\n form.add(\"extid\", extid.not_nil!)\n end\n form.add(\"usertype\", \"user\")\nend)\nuser = parse(response, User)\n@user_cache[user.uid] = user\nuser\n"}},{"html_id":"default_headers-instance-method","name":"default_headers","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L174"},"def":{"name":"default_headers","visibility":"Public","body":"{\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"delete_rfid(card_number:String)-instance-method","name":"delete_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":804,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L804"},"def":{"name":"delete_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/rfid-delete\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"csn\", card_number)\nend)\ncheck_success(response)\n"}},{"html_id":"desk_control(desk_key:String,led_state:LedState|Nil=nil,led_colour:LedColour|Nil=nil,desk_power:DeskPower|Nil=nil,desk_height:DeskHeight|Int32|Nil=nil,qi_mode:QiMode|Nil=nil,reboot:Bool=false,clean:Bool=false)-instance-method","name":"desk_control","abstract":false,"args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"args_string":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","args_html":"(desk_key : String, led_state : LedState | Nil = nil, led_colour : LedColour | Nil = nil, desk_power : DeskPower | Nil = nil, desk_height : DeskHeight | Int32 | Nil = nil, qi_mode : QiMode | Nil = nil, reboot : Bool = false, clean : Bool = false)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":722,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L722"},"def":{"name":"desk_control","args":[{"name":"desk_key","external_name":"desk_key","restriction":"String"},{"name":"led_state","default_value":"nil","external_name":"led_state","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"LedColour | ::Nil"},{"name":"desk_power","default_value":"nil","external_name":"desk_power","restriction":"DeskPower | ::Nil"},{"name":"desk_height","default_value":"nil","external_name":"desk_height","restriction":"DeskHeight | Int32 | ::Nil"},{"name":"qi_mode","default_value":"nil","external_name":"qi_mode","restriction":"QiMode | ::Nil"},{"name":"reboot","default_value":"false","external_name":"reboot","restriction":"Bool"},{"name":"clean","default_value":"false","external_name":"clean","restriction":"Bool"}],"visibility":"Public","body":"controller_id = @desks[desk_key].controller_id\nresponse = post(\"/restapi/desk-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", controller_id.to_s)\n form.add(\"key\", desk_key)\n if led_state\n form.add(\"led\", led_state.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour.to_s.downcase)\n end\n if desk_power\n form.add(\"desk-power\", desk_power.to_s.downcase)\n end\n if desk_height\n form.add(\"desk-height\", desk_height.to_s.downcase)\n end\n if qi_mode\n form.add(\"qi-mode\", qi_mode.to_s.downcase)\n end\n if reboot\n form.add(\"reboot\", \"true\")\n end\n if clean\n form.add(\"clean\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"desk_list(controller_id:String|Int32)-instance-method","name":"desk_list","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L694"},"def":{"name":"desk_list","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/desk-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(DeskInfo))\n"}},{"html_id":"desk_scan(eui64:String,key:String|Int64|Nil=nil,cid:String|Nil=nil,uid:String|Nil=nil)-instance-method","name":"desk_scan","doc":"More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a","summary":"

More details on: https://apiguide.smartalock.com/#d685f36e-a513-44d9-8205-2b071922733a

","abstract":false,"args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","args_html":"(eui64 : String, key : String | Int64 | Nil = nil, cid : String | Nil = nil, uid : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":608,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L608"},"def":{"name":"desk_scan","args":[{"name":"eui64","external_name":"eui64","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | Int64 | Nil"},{"name":"cid","default_value":"nil","external_name":"cid","restriction":"String | ::Nil"},{"name":"uid","default_value":"nil","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/desk-scan\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"eui64\", eui64.to_s)\n form.add(\"key\", key.to_s)\n if cid.nil?\n else\n form.add(\"cid\", cid.to_s)\n end\n if uid.nil?\n else\n form.add(\"uid\", uid.to_s)\n end\nend)\nparse(response, JSON::Any)\n"}},{"html_id":"desks(plan_id:String|Int32)-instance-method","name":"desks","abstract":false,"args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"args_string":"(plan_id : String | Int32)","args_html":"(plan_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":549,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L549"},"def":{"name":"desks","args":[{"name":"plan_id","external_name":"plan_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/floorplan-desk?planid=#{plan_id}\", headers: default_headers)\nparse(response, Array(DeskStatus))\n"}},{"html_id":"event_log(codes:Array(String|Int32),event_id:Int64|Nil=nil,after:Int64|Nil=nil,limit:Int32=1)-instance-method","name":"event_log","abstract":false,"args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"args_string":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","args_html":"(codes : Array(String | Int32), event_id : Int64 | Nil = nil, after : Int64 | Nil = nil, limit : Int32 = 1)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":845,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L845"},"def":{"name":"event_log","args":[{"name":"codes","external_name":"codes","restriction":"Array(String | Int32)"},{"name":"event_id","default_value":"nil","external_name":"event_id","restriction":"Int64 | ::Nil"},{"name":"after","default_value":"nil","external_name":"after","restriction":"Int64 | ::Nil"},{"name":"limit","default_value":"1","external_name":"limit","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n form.add(\"codes\", codes.join(\",\", &.to_s))\n if after\n form.add(\"after\", after.not_nil!.to_s)\n end\n if event_id\n form.add(\"event_id\", event_id.not_nil!.to_s)\n end\n form.add(\"limit\", limit.to_s)\nend\nresponse = get(\"/restapi/event-log?#{query}\", headers: default_headers)\nlogs = parse(response, Array(LogEntry))\nlogs.sort do |a, b|\n if a.eventtime == b.eventtime\n a.eventid <=> b.eventid\n else\n a.eventtime <=> b.eventtime\n end\nend\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L116"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floors-instance-method","name":"floors","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":544,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L544"},"def":{"name":"floors","visibility":"Public","body":"response = get(\"/restapi/floorplan-list\", headers: default_headers)\nparse(response, Array(Floor))\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L568"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = get(\"/restapi/booking?bkid=#{booking_id}\", headers: default_headers)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"get_locker_reservation(reservation_id:String)-instance-method","name":"get_locker_reservation","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L297"},"def":{"name":"get_locker_reservation","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if reservation_id\n form.add(\"resid\", reservation_id)\n end\nend\nresponse = get(\"/restapi/res?#{query}\", headers: default_headers)\nparse(response, LockerBooking)\n"}},{"html_id":"get_rfid(card_number:String)-instance-method","name":"get_rfid","abstract":false,"args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"args_string":"(card_number : String)","args_html":"(card_number : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":816,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L816"},"def":{"name":"get_rfid","args":[{"name":"card_number","external_name":"card_number","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/rfid?csn=#{card_number}\", headers: default_headers)\nparse(response, RFID)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L125"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/restapi/login\", body: \"username=#{URI.encode_www_form(@username)}&password=#{URI.encode_www_form(@password)}\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"})\ndata = response.body.not_nil!\nlogger.debug do\n \"received login response #{data}\"\nend\nif response.success?\n resp = Resp(AuthInfo).from_json(data)\n token = resp.info.not_nil!.token\n payload, _ = JWT.decode(token, verify: false, validate: false)\n @auth_expiry = (Time.unix(payload[\"exp\"].as_i64)) - 5.minutes\n @auth_token = \"Bearer #{token}\"\nelse\n case response.status_code\n when 401\n resp = Resp(AuthInfo).from_json(data)\n logger.warn do\n \"#{resp.message} (#{resp.code})\"\n end\n else\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":821,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L821"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"existing = @user_cache[user_id]?\nif existing\n return existing\nend\nresponse = get(\"/restapi/user?uid=#{user_id}\", headers: default_headers)\nuser = parse(response, User)\n@user_cache[user_id] = user\nuser\n"}},{"html_id":"locate(key:String,controller_id:String|Nil=nil)-instance-method","name":"locate","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(key : String, controller_id : String | Nil = nil)","args_html":"(key : String, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":876,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L876"},"def":{"name":"locate","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"uri = if controller_id\n \"/restapi/user-locate?cid=#{controller_id}&key=#{URI.encode_www_form(key)}\"\nelse\n \"/restapi/user-locate?name=#{URI.encode_www_form(key)}\"\nend\nresponse = get(uri, headers: default_headers)\nparse(response, Array(UserLocation))\n"}},{"html_id":"locker(locker_key:String)-instance-method","name":"locker","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L252"},"def":{"name":"locker","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = get(\"/restapi/locker-status?cid=#{lock.controller_id}&bid=#{lock.bus_id}&lid=#{lock.locker_id}\", headers: default_headers)\nparse(response, LockerInfo)\n"}},{"html_id":"locker_change_pin(reservation_id:String,pin:Int32)-instance-method","name":"locker_change_pin","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"args_string":"(reservation_id : String, pin : Int32)","args_html":"(reservation_id : String, pin : Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L357"},"def":{"name":"locker_change_pin","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"Int32"}],"visibility":"Public","body":"response = post(\"/restapi/res\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"pin\", pin.to_s)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_control(locker_key:String,light:Bool|Nil=nil,led:LedState|Nil=nil,led_colour:String|Nil=nil,buzzer:String|Nil=nil,usb_charging:String|Nil=nil,detect:Bool|Nil=nil)-instance-method","name":"locker_control","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"args_string":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","args_html":"(locker_key : String, light : Bool | Nil = nil, led : LedState | Nil = nil, led_colour : String | Nil = nil, buzzer : String | Nil = nil, usb_charging : String | Nil = nil, detect : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L266"},"def":{"name":"locker_control","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"light","default_value":"nil","external_name":"light","restriction":"Bool | ::Nil"},{"name":"led","default_value":"nil","external_name":"led","restriction":"LedState | ::Nil"},{"name":"led_colour","default_value":"nil","external_name":"led_colour","restriction":"String | ::Nil"},{"name":"buzzer","default_value":"nil","external_name":"buzzer","restriction":"String | ::Nil"},{"name":"usb_charging","default_value":"nil","external_name":"usb_charging","restriction":"String | ::Nil"},{"name":"detect","default_value":"nil","external_name":"detect","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-control\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"bid\", lock.bus_id.to_s)\n form.add(\"lid\", lock.locker_id.to_s)\n if !light.nil?\n form.add(\"light\", light ? \"on\" : \"off\")\n end\n if led\n form.add(\"led\", led.to_s.downcase)\n end\n if led_colour\n form.add(\"led-colour\", led_colour)\n end\n if buzzer\n form.add(\"buzzer\", buzzer)\n end\n if usb_charging\n form.add(\"usbchg\", usb_charging)\n end\n if detect\n form.add(\"detect\", \"true\")\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_release(reservation_id:String)-instance-method","name":"locker_release","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":344,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L344"},"def":{"name":"locker_release","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_reservation(locker_key:String,user_id:String,type:String|Nil=nil,duration:Int32|Nil=nil,restype:String=\"adhoc\")-instance-method","name":"locker_reservation","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"args_string":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = \"adhoc\")","args_html":"(locker_key : String, user_id : String, type : String | Nil = nil, duration : Int32 | Nil = nil, restype : String = "adhoc")","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L306"},"def":{"name":"locker_reservation","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"\"adhoc\"","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/res-create\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\n if type\n form.add(\"type\", type)\n end\n if duration\n form.add(\"duration\", duration.to_s)\n end\n form.add(\"restype\", restype)\nend)\nparse(response, LockerBooking)\n"}},{"html_id":"locker_reservations(active:Bool|Nil=nil,user_id:String|Nil=nil,controller_id:String|Nil=nil)-instance-method","name":"locker_reservations","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, user_id : String | Nil = nil, controller_id : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L332"},"def":{"name":"locker_reservations","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if user_id\n form.add(\"uid\", user_id)\n end\n if active\n form.add(\"active\", \"1\")\n end\n if controller_id\n form.add(\"cid\", controller_id)\n end\nend\nresponse = get(\"/restapi/res-list?#{query}\", headers: default_headers)\nparse(response, Array(LockerBooking))\n"}},{"html_id":"locker_share(reservation_id:String,user_id:String,duration:UInt32|Nil=nil)-instance-method","name":"locker_share","doc":"POST res-share","summary":"

POST res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"args_string":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","args_html":"(reservation_id : String, user_id : String, duration : UInt32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L397"},"def":{"name":"locker_share","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-share\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\n if duration\n form.add(\"duration\", duration.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"locker_shared?(reservation_id:String)-instance-method","name":"locker_shared?","doc":"GET res-share","summary":"

GET res-share

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":391,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L391"},"def":{"name":"locker_shared?","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/res-share?resid=#{reservation_id}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"locker_unlock(locker_key:String,user_id:String)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_key : String, user_id : String)","args_html":"(locker_key : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L371"},"def":{"name":"locker_unlock","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"lock = @lockers[locker_key]\nresponse = post(\"/restapi/locker-unlock\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"cid\", lock.controller_id.to_s)\n form.add(\"key\", locker_key)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"locker_unshare(reservation_id:String,user_id:String)-instance-method","name":"locker_unshare","doc":"POST res-unshare","summary":"

POST res-unshare

","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(reservation_id : String, user_id : String)","args_html":"(reservation_id : String, user_id : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":416,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L416"},"def":{"name":"locker_unshare","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"resid\", reservation_id)\n form.add(\"uid\", user_id)\nend)\ncheck_success(response)\n"}},{"html_id":"lockers(controller_id:String|Int32)-instance-method","name":"lockers","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"args_string":"(controller_id : String | Int32)","args_html":"(controller_id : String | Int32)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L247"},"def":{"name":"lockers","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String | Int32"}],"visibility":"Public","body":"response = get(\"/restapi/locker-list?cid=#{controller_id}\", headers: default_headers)\nparse(response, Array(LockerInfo))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@ws_username = (setting?(String, :ws_username)) || @username\n@ws_password = (setting?(String, :ws_password)) || @password\nschedule.clear\nschedule.every(1.hour) do\n sync_locker_list\nend\nschedule.in(5.seconds) do\n sync_locker_list\nend\nschedule.every(1.minute) do\n check_subscriptions\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L82"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"begin\n string = (String.new(data)).rstrip\n logger.debug do\n \"websocket sent: #{string}\"\n end\n payload = Payload.from_json(string)\n case payload\n in Response\n if !payload.result\n logger.warn do\n \"task #{task.try(&.name)} failed..\"\n end\n return task.try(&.abort)\n end\n case task.try(&.name)\n when \"auth\"\n logger.debug do\n \"authentication success!\"\n end\n ws_post(\"/sub\", {mask: 255}.to_json, name: \"sub\")\n when \"sub\"\n logger.debug do\n \"subscribed to events\"\n end\n else\n logger.warn do\n \"unknown task: #{(task.try(&.name)).inspect}\"\n end\n end\n task.try(&.success)\n in Event\n self[\"event_#{payload.code}\"] = payload.info || payload.message\n in Payload\n logger.error do\n \"base class, this case will never occur\"\n end\n end\nrescue error\n logger.error(exception: error) do\n \"failed to parse: #{string.inspect}\"\n end\nend"}},{"html_id":"release_booking(booking_id:String|Int64)-instance-method","name":"release_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L666"},"def":{"name":"release_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"response = post(\"/restapi/booking-release\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build(&.add(\"bkid\", booking_id.to_s)))\ncheck_success(response)\n"}},{"html_id":"settings_list(group_id:Int32|Nil=nil,user_group_id:Int32|Nil=nil,controller_id:String|Int32|Nil=nil)-instance-method","name":"settings_list","abstract":false,"args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"args_string":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","args_html":"(group_id : Int32 | Nil = nil, user_group_id : Int32 | Nil = nil, controller_id : String | Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L227"},"def":{"name":"settings_list","args":[{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"Int32 | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"Int32 | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | Int32 | ::Nil"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if controller_id\n form.add(\"cid\", controller_id.to_s)\n end\n if group_id\n form.add(\"groupid\", group_id.to_s)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\nend\nresponse = get(\"/restapi/setting-list?#{query}\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"sync_locker_list-instance-method","name":"sync_locker_list","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L181"},"def":{"name":"sync_locker_list","visibility":"Public","body":"lockers = {} of String => LockerInfo\ndesks = {} of String => DeskInfo\ncontroller_list.each do |controller_id, controller|\n if controller.lockers\n else\n next\n end\n begin\n (lockers(controller_id)).each do |locker|\n if locker.key\n else\n next\n end\n locker.controller_id = controller_id\n lockers[locker.key.not_nil!] = locker\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining locker list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\n begin\n (desk_list(controller_id)).each do |desk|\n if desk.key\n else\n next\n end\n desk.controller_id = controller_id\n desks[desk.key.not_nil!] = desk\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk list for controller #{controller.name} - #{controller_id}, possibly offline\"\n end\n end\nend\n@desks = desks\n@lockers = lockers\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L120"},"def":{"name":"token_expired?","visibility":"Public","body":"now = Time.utc\n@auth_expiry < now\n"}},{"html_id":"update_booking(booking_id:String|Int64,privacy:Bool|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","args_html":"(booking_id : String | Int64, privacy : Bool | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":676,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L676"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"privacy","default_value":"nil","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/booking\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"bkid\", booking_id.to_s)\n form.add(\"privacy\", privacy.to_s)\nend)\nbooking = parse(response, BookingStatus)\nbooking.user = get_user(booking.uid)\nbooking\n"}},{"html_id":"user_groups_list(in_use:Bool=true)-instance-method","name":"user_groups_list","abstract":false,"args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"args_string":"(in_use : Bool = true)","args_html":"(in_use : Bool = true)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":754,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L754"},"def":{"name":"user_groups_list","args":[{"name":"in_use","default_value":"true","external_name":"in_use","restriction":"Bool"}],"visibility":"Public","body":"query = in_use ? \"inuse=1\" : \"\"\nresponse = get(\"/restapi/usergroup-list?#{query}\", headers: default_headers)\nparse(response, Array(UserGroup))\n"}},{"html_id":"user_list(email:String|Nil=nil,name:String|Nil=nil,description:String|Nil=nil,user_group_id:String|Int32|Nil=nil,limit:Int32=500,offset:Int32=0)-instance-method","name":"user_list","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","args_html":"(email : String | Nil = nil, name : String | Nil = nil, description : String | Nil = nil, user_group_id : String | Int32 | Nil = nil, limit : Int32 = 500, offset : Int32 = 0)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":831,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L831"},"def":{"name":"user_list","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"user_group_id","default_value":"nil","external_name":"user_group_id","restriction":"String | Int32 | ::Nil"},{"name":"limit","default_value":"500","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"query = URI::Params.build do |form|\n if email\n form.add(\"email\", email.not_nil!)\n end\n if name\n form.add(\"name\", name.not_nil!)\n end\n if description\n form.add(\"desc\", description.not_nil!)\n end\n if user_group_id\n form.add(\"ugroupid\", user_group_id.to_s)\n end\n form.add(\"limit\", limit.to_s)\n form.add(\"offset\", offset.to_s)\nend\nresponse = get(\"/restapi/user-list?#{query}\", headers: default_headers)\nparse(response, Array(User))\n"}},{"html_id":"voucher(voucher_id:String,pin:String)-instance-method","name":"voucher","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":536,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L536"},"def":{"name":"voucher","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = get(\"/restapi/voucher?vid=#{voucher_id}&pin=#{pin}\", headers: default_headers)\nparse(response, Voucher)\n"}},{"html_id":"voucher_activate(voucher_id:String,pin:String)-instance-method","name":"voucher_activate","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(voucher_id : String, pin : String)","args_html":"(voucher_id : String, pin : String)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":521,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L521"},"def":{"name":"voucher_activate","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"},{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"response = post(\"/restapi/voucher-activate\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"vid\", voucher_id)\n form.add(\"pin\", pin)\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_create(template_key:String,user_name:String,user_email:String,user_id:String|Nil=nil,reservation_id:String|Nil=nil,locker_key:String|Nil=nil,controller_id:String|Nil=nil,notes:String|Nil=nil,validfrom:Int64|Nil=nil,validto:Int64|Nil=nil,duration:Int32|Nil=nil)-instance-method","name":"voucher_create","abstract":false,"args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"args_string":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","args_html":"(template_key : String, user_name : String, user_email : String, user_id : String | Nil = nil, reservation_id : String | Nil = nil, locker_key : String | Nil = nil, controller_id : String | Nil = nil, notes : String | Nil = nil, validfrom : Int64 | Nil = nil, validto : Int64 | Nil = nil, duration : Int32 | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L486"},"def":{"name":"voucher_create","args":[{"name":"template_key","external_name":"template_key","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"reservation_id","default_value":"nil","external_name":"reservation_id","restriction":"String | ::Nil"},{"name":"locker_key","default_value":"nil","external_name":"locker_key","restriction":"String | ::Nil"},{"name":"controller_id","default_value":"nil","external_name":"controller_id","restriction":"String | ::Nil"},{"name":"notes","default_value":"nil","external_name":"notes","restriction":"String | ::Nil"},{"name":"validfrom","default_value":"nil","external_name":"validfrom","restriction":"Int64 | ::Nil"},{"name":"validto","default_value":"nil","external_name":"validto","restriction":"Int64 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", template_key)\n form.add(\"name\", user_name)\n form.add(\"email\", user_email)\n if user_id.nil?\n else\n form.add(\"uid\", user_id)\n end\n if reservation_id.nil?\n else\n form.add(\"resid\", reservation_id.to_s)\n end\n if controller_id.nil?\n else\n form.add(\"cid\", controller_id.to_s)\n end\n if locker_key.nil?\n else\n form.add(\"key\", locker_key.to_s)\n end\n if notes.nil?\n else\n form.add(\"notes\", notes.to_s)\n end\n if validfrom.nil?\n else\n form.add(\"validfrom\", validfrom.to_s)\n end\n if validto.nil?\n else\n form.add(\"validto\", validto.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\nend)\nparse(response, NamedTuple(user: User, voucher: Voucher))\n"}},{"html_id":"voucher_template(key:String,subject:String,desc:String,bodyhtml:String,body:String,createuser:Bool|Nil=nil,email:Bool|Nil=nil,unlock:Bool|Nil=nil,createunlock:Bool|Nil=nil,createres:Bool|Nil=nil,release:Bool|Nil=nil,cardswipe:Bool|Nil=nil,maxuse:Int32|Nil=nil,duration:Int32|Nil=nil,validperiod:Int32|Nil=nil,restype:String|Nil=nil,activatemessage:String|Nil=nil,vouchermessage:String|Nil=nil)-instance-method","name":"voucher_template","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"args_string":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","args_html":"(key : String, subject : String, desc : String, bodyhtml : String, body : String, createuser : Bool | Nil = nil, email : Bool | Nil = nil, unlock : Bool | Nil = nil, createunlock : Bool | Nil = nil, createres : Bool | Nil = nil, release : Bool | Nil = nil, cardswipe : Bool | Nil = nil, maxuse : Int32 | Nil = nil, duration : Int32 | Nil = nil, validperiod : Int32 | Nil = nil, restype : String | Nil = nil, activatemessage : String | Nil = nil, vouchermessage : String | Nil = nil)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":437,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L437"},"def":{"name":"voucher_template","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"desc","external_name":"desc","restriction":"String"},{"name":"bodyhtml","external_name":"bodyhtml","restriction":"String"},{"name":"body","external_name":"body","restriction":"String"},{"name":"createuser","default_value":"nil","external_name":"createuser","restriction":"Bool | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"Bool | ::Nil"},{"name":"unlock","default_value":"nil","external_name":"unlock","restriction":"Bool | ::Nil"},{"name":"createunlock","default_value":"nil","external_name":"createunlock","restriction":"Bool | ::Nil"},{"name":"createres","default_value":"nil","external_name":"createres","restriction":"Bool | ::Nil"},{"name":"release","default_value":"nil","external_name":"release","restriction":"Bool | ::Nil"},{"name":"cardswipe","default_value":"nil","external_name":"cardswipe","restriction":"Bool | ::Nil"},{"name":"maxuse","default_value":"nil","external_name":"maxuse","restriction":"Int32 | ::Nil"},{"name":"duration","default_value":"nil","external_name":"duration","restriction":"Int32 | ::Nil"},{"name":"validperiod","default_value":"nil","external_name":"validperiod","restriction":"Int32 | ::Nil"},{"name":"restype","default_value":"nil","external_name":"restype","restriction":"String | ::Nil"},{"name":"activatemessage","default_value":"nil","external_name":"activatemessage","restriction":"String | ::Nil"},{"name":"vouchermessage","default_value":"nil","external_name":"vouchermessage","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = post(\"/restapi/res-unshare\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => get_token, \"Content-Type\" => \"application/x-www-form-urlencoded\"}, body: URI::Params.build do |form|\n form.add(\"key\", key)\n form.add(\"subject\", subject)\n form.add(\"desc\", desc)\n form.add(\"bodyhtml\", bodyhtml)\n form.add(\"body\", body)\n if createuser.nil?\n else\n form.add(\"createuser\", createuser.to_s)\n end\n if email.nil?\n else\n form.add(\"email\", email.to_s)\n end\n if unlock.nil?\n else\n form.add(\"unlock\", unlock.to_s)\n end\n if createunlock.nil?\n else\n form.add(\"createunlock\", createunlock.to_s)\n end\n if createres.nil?\n else\n form.add(\"createres\", createres.to_s)\n end\n if release.nil?\n else\n form.add(\"release\", release.to_s)\n end\n if cardswipe.nil?\n else\n form.add(\"cardswipe\", cardswipe.to_s)\n end\n if maxuse.nil?\n else\n form.add(\"maxuse\", maxuse.to_s)\n end\n if duration.nil?\n else\n form.add(\"duration\", duration.to_s)\n end\n if validperiod.nil?\n else\n form.add(\"validperiod\", validperiod.to_s)\n end\n if restype.nil?\n else\n form.add(\"restype\", restype.to_s)\n end\n if activatemessage.nil?\n else\n form.add(\"activatemessage\", activatemessage.to_s)\n end\n if vouchermessage.nil?\n else\n form.add(\"vouchermessage\", vouchermessage.to_s)\n end\nend)\ncheck_success(response)\n"}},{"html_id":"voucher_templates-instance-method","name":"voucher_templates","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":432,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L432"},"def":{"name":"voucher_templates","visibility":"Public","body":"response = get(\"/restapi/voucher-template\", headers: default_headers)\nparse(response, Array(JSON::Any))\n"}},{"html_id":"ws_get(uri:String,**options)-instance-method","name":"ws_get","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String, **options)","args_html":"(uri : String, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L71"},"def":{"name":"ws_get","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"GET #{uri}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}},{"html_id":"ws_post(uri:String,body:String|Nil=nil,**options)-instance-method","name":"ws_post","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(uri : String, body : String | Nil = nil, **options)","args_html":"(uri : String, body : String | Nil = nil, **options)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L64"},"def":{"name":"ws_post","args":[{"name":"uri","external_name":"uri","restriction":"String"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"request = \"POST #{uri}\\r\\n#{body.presence ? body : \"{}\"}\\r\\n\"\nlogger.debug do\n \"requesting: #{request}\"\nend\nsend(request, **options)\n"}}],"macros":[{"html_id":"parse(response,klass,&modify)-macro","name":"parse","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"args_string":"(response, klass, &modify)","args_html":"(response, klass, &modify)","location":{"filename":"src/floorsense/desks_websocket.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L163"},"def":{"name":"parse","args":[{"name":"response","external_name":"response","restriction":""},{"name":"klass","external_name":"klass","restriction":""}],"block_arg":{"name":"modify","external_name":"modify","restriction":""},"visibility":"Public","body":" check_success(\n{{ response }}\n)\n \n%resp_body\n = \n{{ response }}\n.body\n begin\n check_response Resp(\n{{ klass }}\n).from_json(\n%resp_body\n.not_nil!) \n{{ modify }}\n\n rescue \nerror\n logger.debug \n{ \"failed to parse response: #{\n%resp_body\n}\" }\n raise \nerror\n \nend\n \n"}}],"types":[{"html_id":"drivers/Floorsense/DesksWebsocket/DeskHeight","path":"Floorsense/DesksWebsocket/DeskHeight.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskHeight","name":"DeskHeight","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":711,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L711"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Sit","name":"Sit","value":"0"},{"id":"Stand","name":"Stand","value":"1"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"sit?-instance-method","name":"sit?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":712,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L712"},"def":{"name":"sit?","visibility":"Public","body":"self == Sit"}},{"html_id":"stand?-instance-method","name":"stand?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":713,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L713"},"def":{"name":"stand?","visibility":"Public","body":"self == Stand"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/DeskPower","path":"Floorsense/DesksWebsocket/DeskPower.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::DeskPower","name":"DeskPower","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":705,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L705"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Policy","name":"Policy","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":707,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L707"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":706,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L706"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"policy?-instance-method","name":"policy?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":708,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L708"},"def":{"name":"policy?","visibility":"Public","body":"self == Policy"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedColour","path":"Floorsense/DesksWebsocket/LedColour.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedColour","name":"LedColour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":699,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L699"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":702,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L702"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":701,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L701"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":700,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L700"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/LedState","path":"Floorsense/DesksWebsocket/LedState.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::LedState","name":"LedState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L258"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Off","name":"Off","value":"0"},{"id":"On","name":"On","value":"1"},{"id":"Slow","name":"Slow","value":"2"},{"id":"Medium","name":"Medium","value":"3"},{"id":"Fast","name":"Fast","value":"4"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"fast?-instance-method","name":"fast?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L263"},"def":{"name":"fast?","visibility":"Public","body":"self == Fast"}},{"html_id":"medium?-instance-method","name":"medium?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L262"},"def":{"name":"medium?","visibility":"Public","body":"self == Medium"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L259"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L260"},"def":{"name":"on?","visibility":"Public","body":"self == On"}},{"html_id":"slow?-instance-method","name":"slow?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L261"},"def":{"name":"slow?","visibility":"Public","body":"self == Slow"}}]},{"html_id":"drivers/Floorsense/DesksWebsocket/QiMode","path":"Floorsense/DesksWebsocket/QiMode.html","kind":"enum","full_name":"Floorsense::DesksWebsocket::QiMode","name":"QiMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/desks_websocket.cr","line_number":716,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L716"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"},{"id":"Auto","name":"Auto","value":"2"}],"namespace":{"html_id":"drivers/Floorsense/DesksWebsocket","kind":"class","full_name":"Floorsense::DesksWebsocket","name":"DesksWebsocket"},"instance_methods":[{"html_id":"auto?-instance-method","name":"auto?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":719,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L719"},"def":{"name":"auto?","visibility":"Public","body":"self == Auto"}},{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":718,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L718"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/floorsense/desks_websocket.cr","line_number":717,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/desks_websocket.cr#L717"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]}]},{"html_id":"drivers/Floorsense/Event","path":"Floorsense/Event.html","kind":"class","full_name":"Floorsense::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L17"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"info:JSON::Any|Nil-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L19"},"def":{"name":"info","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L18"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L16"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/Floor","path":"Floorsense/Floor.html","kind":"class","full_name":"Floorsense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L205"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L206"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"imgheight:Int32|Nil-instance-method","name":"imgheight","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L213"},"def":{"name":"imgheight","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgheight"}},{"html_id":"imgheight=(imgheight:Int32|Nil)-instance-method","name":"imgheight=","abstract":false,"args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"args_string":"(imgheight : Int32 | Nil)","args_html":"(imgheight : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L213"},"def":{"name":"imgheight=","args":[{"name":"imgheight","external_name":"imgheight","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgheight = imgheight"}},{"html_id":"imgname:String|Nil-instance-method","name":"imgname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L211"},"def":{"name":"imgname","return_type":"String | ::Nil","visibility":"Public","body":"@imgname"}},{"html_id":"imgname=(imgname:String|Nil)-instance-method","name":"imgname=","abstract":false,"args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"args_string":"(imgname : String | Nil)","args_html":"(imgname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L211"},"def":{"name":"imgname=","args":[{"name":"imgname","external_name":"imgname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@imgname = imgname"}},{"html_id":"imgwidth:Int32|Nil-instance-method","name":"imgwidth","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth","return_type":"Int32 | ::Nil","visibility":"Public","body":"@imgwidth"}},{"html_id":"imgwidth=(imgwidth:Int32|Nil)-instance-method","name":"imgwidth=","abstract":false,"args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"args_string":"(imgwidth : Int32 | Nil)","args_html":"(imgwidth : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L212"},"def":{"name":"imgwidth=","args":[{"name":"imgwidth","external_name":"imgwidth","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@imgwidth = imgwidth"}},{"html_id":"location1:String|Nil-instance-method","name":"location1","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L215"},"def":{"name":"location1","return_type":"String | ::Nil","visibility":"Public","body":"@location1"}},{"html_id":"location1=(location1:String|Nil)-instance-method","name":"location1=","abstract":false,"args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"args_string":"(location1 : String | Nil)","args_html":"(location1 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L215"},"def":{"name":"location1=","args":[{"name":"location1","external_name":"location1","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location1 = location1"}},{"html_id":"location2:String|Nil-instance-method","name":"location2","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L216"},"def":{"name":"location2","return_type":"String | ::Nil","visibility":"Public","body":"@location2"}},{"html_id":"location2=(location2:String|Nil)-instance-method","name":"location2=","abstract":false,"args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"args_string":"(location2 : String | Nil)","args_html":"(location2 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L216"},"def":{"name":"location2=","args":[{"name":"location2","external_name":"location2","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location2 = location2"}},{"html_id":"location3:String|Nil-instance-method","name":"location3","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L217"},"def":{"name":"location3","return_type":"String | ::Nil","visibility":"Public","body":"@location3"}},{"html_id":"location3=(location3:String|Nil)-instance-method","name":"location3=","abstract":false,"args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"args_string":"(location3 : String | Nil)","args_html":"(location3 : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L217"},"def":{"name":"location3=","args":[{"name":"location3","external_name":"location3","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location3 = location3"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L209"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L209"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"planid:Int32-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L208"},"def":{"name":"planid","return_type":"Int32","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"args_string":"(planid : Int32)","args_html":"(planid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L208"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32"}],"visibility":"Public","body":"@planid = planid"}}]},{"html_id":"drivers/Floorsense/LocationService","path":"Floorsense/LocationService.html","kind":"class","full_name":"Floorsense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/floorsense/location_service.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L70"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"begin\n floor_mac = URI::Params.parse(mac_address)\n user = (floorsense.at_location(floor_mac[\"cid\"], floor_mac[\"key\"])).get\n {location: \"desk\", assigned_to: user[\"name\"].as_s, mac_address: mac_address}\nrescue\n nil\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nplan_id = @zone_mappings[zone_id]?\nif plan_id\nelse\n return [] of Nil\nend\nbuilding = @building_mappings[zone_id]?\nraw_desks = (floorsense.desks(plan_id)).get.to_json\ndesks = (Array(DeskStatus).from_json(raw_desks)).compact_map do |desk|\n @eui64_to_desk_id[desk.eui64] = desk.key\n if desk.occupied\n {location: :desk, at_location: 1, map_id: desk.key, level: zone_id, building: building, capacity: 1, mac: \"cid=#{desk.cid}&key=#{desk.key}\", floorsense_status: desk.status, floorsense_desk_type: desk.desk_type}\n end\nend\ncurrent = [] of BookingStatus\nif @include_bookings\n raw_bookings = (floorsense.bookings(plan_id)).get.to_json\n (Hash(String, Array(BookingStatus)).from_json(raw_bookings)).each_value do |bookings|\n if bookings.empty?\n else\n current << bookings.first\n end\n end\nend\ncurrent.map do |booking|\n {location: :booking, type: \"desk\", checked_in: booking.active, asset_id: booking.key, booking_id: booking.booking_id, building: building, level: zone_id, ends_at: booking.finish, mac: \"cid=#{booking.cid}&key=#{booking.key}\", staff_email: booking.user.try do |__arg0|\n __arg0.email.try(&.downcase)\n end, staff_name: booking.user.try(&.name)}\nend + desks\n"}},{"html_id":"eui64_to_desk_id(id:String)-instance-method","name":"eui64_to_desk_id","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/floorsense/location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L53"},"def":{"name":"eui64_to_desk_id","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@eui64_to_desk_id[id]?"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/floorsense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L60"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/floorsense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L65"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L39"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/location_service.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@include_bookings = (setting?(Bool, :include_bookings)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@floor_mappings.each do |plan_id, details|\n level = details[:level_id]\n @building_mappings[level] = details[:building_id]\n @zone_mappings[level] = plan_id\nend\n"}}]},{"html_id":"drivers/Floorsense/LockerBooking","path":"Floorsense/LockerBooking.html","kind":"class","full_name":"Floorsense::LockerBooking","name":"LockerBooking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Int32-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L109"},"def":{"name":"active","return_type":"Int32","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Int32)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Int32"}],"args_string":"(active : Int32)","args_html":"(active : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L109"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Int32"}],"visibility":"Public","body":"@active = active"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L96"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L96"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L91"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L91"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"finish:Int64-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L93"},"def":{"name":"finish","return_type":"Int64","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Int64)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"args_string":"(finish : Int64)","args_html":"(finish : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L93"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Int64"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"key:String-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L104"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L104"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}},{"html_id":"lastopened:Int64-instance-method","name":"lastopened","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L107"},"def":{"name":"lastopened","return_type":"Int64","visibility":"Public","body":"@lastopened"}},{"html_id":"lastopened=(lastopened:Int64)-instance-method","name":"lastopened=","abstract":false,"args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"args_string":"(lastopened : Int64)","args_html":"(lastopened : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L107"},"def":{"name":"lastopened=","args":[{"name":"lastopened","external_name":"lastopened","restriction":"Int64"}],"visibility":"Public","body":"@lastopened = lastopened"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L105"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L105"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"releasecode:Int32-instance-method","name":"releasecode","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L110"},"def":{"name":"releasecode","return_type":"Int32","visibility":"Public","body":"@releasecode"}},{"html_id":"releasecode=(releasecode:Int32)-instance-method","name":"releasecode=","abstract":false,"args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"args_string":"(releasecode : Int32)","args_html":"(releasecode : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L110"},"def":{"name":"releasecode=","args":[{"name":"releasecode","external_name":"releasecode","restriction":"Int32"}],"visibility":"Public","body":"@releasecode = releasecode"}},{"html_id":"released:Int64-instance-method","name":"released","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L108"},"def":{"name":"released","return_type":"Int64","visibility":"Public","body":"@released"}},{"html_id":"released=(released:Int64)-instance-method","name":"released=","abstract":false,"args":[{"name":"released","external_name":"released","restriction":"Int64"}],"args_string":"(released : Int64)","args_html":"(released : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L108"},"def":{"name":"released=","args":[{"name":"released","external_name":"released","restriction":"Int64"}],"visibility":"Public","body":"@released = released"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L112"},"def":{"name":"released?","visibility":"Public","body":"self.active == 1"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L99"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L106"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L106"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"start:Int64-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L92"},"def":{"name":"start","return_type":"Int64","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Int64)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Int64"}],"args_string":"(start : Int64)","args_html":"(start : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L92"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Int64"}],"visibility":"Public","body":"@start = start"}},{"html_id":"user:User|Nil-instance-method","name":"user","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L117"},"def":{"name":"user","return_type":"User | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:User|Nil)-instance-method","name":"user=","doc":"not included in the responses but we will merge this","summary":"

not included in the responses but we will merge this

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"args_string":"(user : User | Nil)","args_html":"(user : User | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L117"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"User | ::Nil"}],"visibility":"Public","body":"@user = user"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L102"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L102"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Floorsense/LockerInfo","path":"Floorsense/LockerInfo.html","kind":"class","full_name":"Floorsense::LockerInfo","name":"LockerInfo","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bus_id:Int32-instance-method","name":"bus_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L61"},"def":{"name":"bus_id","return_type":"Int32","visibility":"Public","body":"@bus_id"}},{"html_id":"bus_id=(bus_id:Int32)-instance-method","name":"bus_id=","abstract":false,"args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"args_string":"(bus_id : Int32)","args_html":"(bus_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L61"},"def":{"name":"bus_id=","args":[{"name":"bus_id","external_name":"bus_id","restriction":"Int32"}],"visibility":"Public","body":"@bus_id = bus_id"}},{"html_id":"canid:Int32-instance-method","name":"canid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L58"},"def":{"name":"canid","return_type":"Int32","visibility":"Public","body":"@canid"}},{"html_id":"canid=(canid:Int32)-instance-method","name":"canid=","abstract":false,"args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"args_string":"(canid : Int32)","args_html":"(canid : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L58"},"def":{"name":"canid=","args":[{"name":"canid","external_name":"canid","restriction":"Int32"}],"visibility":"Public","body":"@canid = canid"}},{"html_id":"closed:Bool|Nil-instance-method","name":"closed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L72"},"def":{"name":"closed","return_type":"Bool | ::Nil","visibility":"Public","body":"@closed"}},{"html_id":"closed=(closed:Bool|Nil)-instance-method","name":"closed=","abstract":false,"args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"args_string":"(closed : Bool | Nil)","args_html":"(closed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L72"},"def":{"name":"closed=","args":[{"name":"closed","external_name":"closed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@closed = closed"}},{"html_id":"confirmed:Bool-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L70"},"def":{"name":"confirmed","return_type":"Bool","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"args_string":"(confirmed : Bool)","args_html":"(confirmed : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L70"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"if (value = @controller_id).nil?\n ::raise(NilAssertionError.new(\"Floorsense::LockerInfo#controller_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"controller_id=(controller_id:Int32)-instance-method","name":"controller_id=","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"args_string":"(controller_id : Int32)","args_html":"(controller_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L85"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"Int32"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"controller_id?:Int32|Nil-instance-method","name":"controller_id?","doc":"not included by default, used by locker mappings","summary":"

not included by default, used by locker mappings

","abstract":false,"def":{"name":"controller_id?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controller_id"}},{"html_id":"disabled:Bool-instance-method","name":"disabled","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L69"},"def":{"name":"disabled","return_type":"Bool","visibility":"Public","body":"@disabled"}},{"html_id":"disabled=(disabled:Bool)-instance-method","name":"disabled=","abstract":false,"args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"args_string":"(disabled : Bool)","args_html":"(disabled : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L69"},"def":{"name":"disabled=","args":[{"name":"disabled","external_name":"disabled","restriction":"Bool"}],"visibility":"Public","body":"@disabled = disabled"}},{"html_id":"firmware:String-instance-method","name":"firmware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L68"},"def":{"name":"firmware","return_type":"String","visibility":"Public","body":"@firmware"}},{"html_id":"firmware=(firmware:String)-instance-method","name":"firmware=","abstract":false,"args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"args_string":"(firmware : String)","args_html":"(firmware : String)","location":{"filename":"src/floorsense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L68"},"def":{"name":"firmware=","args":[{"name":"firmware","external_name":"firmware","restriction":"String"}],"visibility":"Public","body":"@firmware = firmware"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L77"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L77"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"hardware:Int32|Nil-instance-method","name":"hardware","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L78"},"def":{"name":"hardware","return_type":"Int32 | ::Nil","visibility":"Public","body":"@hardware"}},{"html_id":"hardware=(hardware:Int32|Nil)-instance-method","name":"hardware=","abstract":false,"args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"args_string":"(hardware : Int32 | Nil)","args_html":"(hardware : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L78"},"def":{"name":"hardware=","args":[{"name":"hardware","external_name":"hardware","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@hardware = hardware"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L80"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L80"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"locker_id:Int32-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L64"},"def":{"name":"locker_id","return_type":"Int32","visibility":"Public","body":"@locker_id"}},{"html_id":"locker_id=(locker_id:Int32)-instance-method","name":"locker_id=","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"args_string":"(locker_id : Int32)","args_html":"(locker_id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L64"},"def":{"name":"locker_id=","args":[{"name":"locker_id","external_name":"locker_id","restriction":"Int32"}],"visibility":"Public","body":"@locker_id = locker_id"}},{"html_id":"reserved:Bool-instance-method","name":"reserved","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L66"},"def":{"name":"reserved","return_type":"Bool","visibility":"Public","body":"@reserved"}},{"html_id":"reserved=(reserved:Bool)-instance-method","name":"reserved=","abstract":false,"args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"args_string":"(reserved : Bool)","args_html":"(reserved : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L66"},"def":{"name":"reserved=","args":[{"name":"reserved","external_name":"reserved","restriction":"Bool"}],"visibility":"Public","body":"@reserved = reserved"}},{"html_id":"resid:String|Nil-instance-method","name":"resid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L82"},"def":{"name":"resid","return_type":"String | ::Nil","visibility":"Public","body":"@resid"}},{"html_id":"resid=(resid:String|Nil)-instance-method","name":"resid=","abstract":false,"args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"args_string":"(resid : String | Nil)","args_html":"(resid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L82"},"def":{"name":"resid=","args":[{"name":"resid","external_name":"resid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resid = resid"}},{"html_id":"status:Int32-instance-method","name":"status","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L67"},"def":{"name":"status","return_type":"Int32","visibility":"Public","body":"@status"}},{"html_id":"status=(status:Int32)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"Int32"}],"args_string":"(status : Int32)","args_html":"(status : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"Int32"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L79"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L79"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"typename:String|Nil-instance-method","name":"typename","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L75"},"def":{"name":"typename","return_type":"String | ::Nil","visibility":"Public","body":"@typename"}},{"html_id":"typename=(typename:String|Nil)-instance-method","name":"typename=","abstract":false,"args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"args_string":"(typename : String | Nil)","args_html":"(typename : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L75"},"def":{"name":"typename=","args":[{"name":"typename","external_name":"typename","restriction":"String | ::Nil"}],"visibility":"Public","body":"@typename = typename"}},{"html_id":"uid:String|Nil-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L76"},"def":{"name":"uid","return_type":"String | ::Nil","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String|Nil)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"args_string":"(uid : String | Nil)","args_html":"(uid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L76"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"usbcharger:Bool|Nil-instance-method","name":"usbcharger","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharger"}},{"html_id":"usbcharger=(usbcharger:Bool|Nil)-instance-method","name":"usbcharger=","abstract":false,"args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"args_string":"(usbcharger : Bool | Nil)","args_html":"(usbcharger : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L73"},"def":{"name":"usbcharger=","args":[{"name":"usbcharger","external_name":"usbcharger","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharger = usbcharger"}},{"html_id":"usbcharging:Bool|Nil-instance-method","name":"usbcharging","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging","return_type":"Bool | ::Nil","visibility":"Public","body":"@usbcharging"}},{"html_id":"usbcharging=(usbcharging:Bool|Nil)-instance-method","name":"usbcharging=","abstract":false,"args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"args_string":"(usbcharging : Bool | Nil)","args_html":"(usbcharging : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L74"},"def":{"name":"usbcharging=","args":[{"name":"usbcharging","external_name":"usbcharging","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@usbcharging = usbcharging"}},{"html_id":"usbcurrent:Int32|Nil-instance-method","name":"usbcurrent","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent","return_type":"Int32 | ::Nil","visibility":"Public","body":"@usbcurrent"}},{"html_id":"usbcurrent=(usbcurrent:Int32|Nil)-instance-method","name":"usbcurrent=","abstract":false,"args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"args_string":"(usbcurrent : Int32 | Nil)","args_html":"(usbcurrent : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L81"},"def":{"name":"usbcurrent=","args":[{"name":"usbcurrent","external_name":"usbcurrent","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@usbcurrent = usbcurrent"}}]},{"html_id":"drivers/Floorsense/LogEntry","path":"Floorsense/LogEntry.html","kind":"class","full_name":"Floorsense::LogEntry","name":"LogEntry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L278"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":279,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L279"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bkid:String-instance-method","name":"bkid","doc":"booking id","summary":"

booking id

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L290"},"def":{"name":"bkid","return_type":"String","visibility":"Public","body":"@bkid"}},{"html_id":"bkid=(bkid:String)-instance-method","name":"bkid=","doc":"booking id","summary":"

booking id

","abstract":false,"args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"args_string":"(bkid : String)","args_html":"(bkid : String)","location":{"filename":"src/floorsense/models.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L290"},"def":{"name":"bkid=","args":[{"name":"bkid","external_name":"bkid","restriction":"String"}],"visibility":"Public","body":"@bkid = bkid"}},{"html_id":"code:Int32-instance-method","name":"code","doc":"the event code","summary":"

the event code

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L287"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","doc":"the event code","summary":"

the event code

","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L287"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"eventid:Int64-instance-method","name":"eventid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L281"},"def":{"name":"eventid","return_type":"Int64","visibility":"Public","body":"@eventid"}},{"html_id":"eventid=(eventid:Int64)-instance-method","name":"eventid=","abstract":false,"args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"args_string":"(eventid : Int64)","args_html":"(eventid : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L281"},"def":{"name":"eventid=","args":[{"name":"eventid","external_name":"eventid","restriction":"Int64"}],"visibility":"Public","body":"@eventid = eventid"}},{"html_id":"eventtime:Int64-instance-method","name":"eventtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L296"},"def":{"name":"eventtime","return_type":"Int64","visibility":"Public","body":"@eventtime"}},{"html_id":"eventtime=(eventtime:Int64)-instance-method","name":"eventtime=","abstract":false,"args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"args_string":"(eventtime : Int64)","args_html":"(eventtime : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L296"},"def":{"name":"eventtime=","args":[{"name":"eventtime","external_name":"eventtime","restriction":"Int64"}],"visibility":"Public","body":"@eventtime = eventtime"}},{"html_id":"key:String-instance-method","name":"key","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L284"},"def":{"name":"key","return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":"this is the locker or table name","summary":"

this is the locker or table name

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/floorsense/models.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L284"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"@key = key"}}]},{"html_id":"drivers/Floorsense/MobileCheckinLogic","path":"Floorsense/MobileCheckinLogic.html","kind":"class","full_name":"Floorsense::MobileCheckinLogic","name":"MobileCheckinLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"instance_methods":[{"html_id":"eui64_scanned(id:String,user_id:String,booking_minutes:Int32|Nil=nil)-instance-method","name":"eui64_scanned","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"args_string":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","args_html":"(id : String, user_id : String, booking_minutes : Int32 | Nil = nil)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L35"},"def":{"name":"eui64_scanned","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"booking_minutes","default_value":"nil","external_name":"booking_minutes","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"#{user_id} scanned mac #{id}\"\nend\ndesk_details = (booking_sync.eui64_to_desk_id(id)).get\nif desk_details.raw.nil?\n raise(\"could not find eui64 id: #{id}\")\nend\nlogger.debug do\n \"desk details found: #{desk_details.inspect}\"\nend\nlevel_zone = desk_details[\"level\"].as_s\nplace_desk = desk_details[\"desk_id\"].as_s\nbuilding_raw = desk_details[\"building_id\"]?.try(&.raw)\nbuild_zone = building_raw.try do |__arg2|\n __arg2.as(String)\nend\nlogger.debug do\n \"located #{place_desk} for #{user_id}\"\nend\nnow = Time.utc.to_unix\nbooking = staff_api.query_bookings(type: \"desk\", zones: [level_zone]).get.as_a.find do |book|\n ((book[\"asset_id\"].as_s == place_desk) && book[\"booking_start\"].as_i64 <= now) && book[\"booking_end\"].as_i64 > now\nend\nif booking\n owner_id = booking[\"user_id\"].as_s\n if owner_id == user_id\n checkin_out = !booking[\"checked_in\"].as_bool\n booking_id = booking[\"id\"].as_i64\n logger.debug do\n \"found existing booking #{booking_id} with current checked-in status #{!checkin_out}\"\n end\n if checkin_out\n (staff_api.booking_check_in(booking_id, true)).get.as_bool\n \"checked-in\"\n else\n now = 1.minute.ago.to_unix\n staff_api.update_booking(booking_id: booking_id, booking_end: now, checked_in: false).get\n \"checked-out\"\n end\n else\n logger.debug do\n \"#{user_id} scanned desk owned by #{owner_id}\"\n end\n \"forbidden\"\n end\nelse\n booking_period = booking_minutes.try(&.minutes) || @booking_period\n now = Time.local(@time_zone)\n future = booking_period ? ( now + booking_period) : now.at_end_of_day\n user_details = (staff_api.user(user_id)).get\n zones = [level_zone]\n if build_zone\n zones.unshift(build_zone)\n end\n title = place_desk\n ext_data = {} of String => JSON::Any\n begin\n logger.debug do\n \"obtaining metadata for desk #{place_desk} on level #{level_zone}\"\n end\n if desk_details = placeos_desk_metadata(level_zone, place_desk)\n if bookable = desk_details[\"bookable\"]?\n if (bookable.as_s?.try(&.upcase) == \"FALSE\") || (bookable.as_bool? == false)\n return \"forbidden\"\n end\n end\n title = desk_details[\"name\"]?.try(&.as_s) || place_desk\n @meta_ext_mappings.each do |meta_key, ext_key|\n if value = desk_details[meta_key]?\n ext_data[ext_key] = value\n end\n end\n else\n logger.warn do\n \"desk details not found!\"\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"obtaining desk metadata\"\n end\n end\n logger.debug do\n \"creating new booking for #{user_id} on #{place_desk}\"\n end\n staff_api.create_booking(booking_type: \"desk\", asset_id: place_desk, user_id: user_id, user_email: user_details[\"email\"], user_name: user_details[\"name\"], zones: zones, booking_start: now.to_unix, booking_end: future.to_unix, checked_in: true, approved: true, title: title, time_zone: @time_zone.name, extension_data: ext_data).get\n \"adhoc\"\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"time_zone = (setting?(String, :time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@booking_period = (setting?(Int32, :booking_period)).try(&.minutes)\n@meta_ext_mappings = (setting?(Hash(String, String), :meta_ext_mappings)) || ({} of String => String)\n"}},{"html_id":"placeos_desk_metadata(zone_id:String,asset_id:String)-instance-method","name":"placeos_desk_metadata","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(zone_id : String, asset_id : String)","args_html":"(zone_id : String, asset_id : String)","location":{"filename":"src/floorsense/mobile_checkin_logic.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/mobile_checkin_logic.cr#L137"},"def":{"name":"placeos_desk_metadata","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"metadata = (staff_api.metadata(zone_id, \"desks\")).get[\"desks\"][\"details\"].as_a\nmetadata.each do |desk|\n place_id = desk[\"id\"]?.try(&.as_s)\n if place_id\n else\n next\n end\n if place_id == asset_id\n return desk.as_h\n end\nend\nnil\n"}}]},{"html_id":"drivers/Floorsense/Payload","path":"Floorsense/Payload.html","kind":"class","full_name":"Floorsense::Payload","name":"Payload","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Floorsense/Event","kind":"class","full_name":"Floorsense::Event","name":"Event"},{"html_id":"drivers/Floorsense/Response","kind":"class","full_name":"Floorsense::Response","name":"Response"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"doc":"Websocket payloads","summary":"

Websocket payloads

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"event\"\n Event.from_json(json)\nwhen \"response\"\n Response.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/Floorsense/Resp","path":"Floorsense/Resp.html","kind":"class","full_name":"Floorsense::Resp(T)","name":"Resp","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"code:Int32|Nil-instance-method","name":"code","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L42"},"def":{"name":"code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32|Nil)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"args_string":"(code : Int32 | Nil)","args_html":"(code : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L42"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@code = code"}},{"html_id":"info:T|Nil-instance-method","name":"info","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L45"},"def":{"name":"info","return_type":"T | ::Nil","visibility":"Public","body":"@info"}},{"html_id":"info=(info:T|Nil)-instance-method","name":"info=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"args_string":"(info : T | Nil)","args_html":"(info : T | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L45"},"def":{"name":"info=","args":[{"name":"info","external_name":"info","restriction":"T | ::Nil"}],"visibility":"Public","body":"@info = info"}},{"html_id":"message:String|Nil-instance-method","name":"message","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L41"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"message=(message:String|Nil)-instance-method","name":"message=","doc":"Returned on failure","summary":"

Returned on failure

","abstract":false,"args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(message : String | Nil)","args_html":"(message : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L41"},"def":{"name":"message=","args":[{"name":"message","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"@message = message"}},{"html_id":"msg_type:String-instance-method","name":"msg_type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L37"},"def":{"name":"msg_type","return_type":"String","visibility":"Public","body":"@msg_type"}},{"html_id":"msg_type=(msg_type:String)-instance-method","name":"msg_type=","abstract":false,"args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"args_string":"(msg_type : String)","args_html":"(msg_type : String)","location":{"filename":"src/floorsense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L37"},"def":{"name":"msg_type=","args":[{"name":"msg_type","external_name":"msg_type","restriction":"String"}],"visibility":"Public","body":"@msg_type = msg_type"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L38"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"result=(result:Bool)-instance-method","name":"result=","abstract":false,"args":[{"name":"result","external_name":"result","restriction":"Bool"}],"args_string":"(result : Bool)","args_html":"(result : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L38"},"def":{"name":"result=","args":[{"name":"result","external_name":"result","restriction":"Bool"}],"visibility":"Public","body":"@result = result"}}]},{"html_id":"drivers/Floorsense/Response","path":"Floorsense/Response.html","kind":"class","full_name":"Floorsense::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},"ancestors":[{"html_id":"drivers/Floorsense/Payload","kind":"class","full_name":"Floorsense::Payload","name":"Payload"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"info-instance-method","name":"info","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L28"},"def":{"name":"info","visibility":"Public","body":"@info || (JSON.parse(\"{}\"))"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L25"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"result:Bool-instance-method","name":"result","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L24"},"def":{"name":"result","return_type":"Bool","visibility":"Public","body":"@result"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L23"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Floorsense/RFID","path":"Floorsense/RFID.html","kind":"class","full_name":"Floorsense::RFID","name":"RFID","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L299"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L300"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"csn:String-instance-method","name":"csn","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L302"},"def":{"name":"csn","return_type":"String","visibility":"Public","body":"@csn"}},{"html_id":"csn=(csn:String)-instance-method","name":"csn=","abstract":false,"args":[{"name":"csn","external_name":"csn","restriction":"String"}],"args_string":"(csn : String)","args_html":"(csn : String)","location":{"filename":"src/floorsense/models.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L302"},"def":{"name":"csn=","args":[{"name":"csn","external_name":"csn","restriction":"String"}],"visibility":"Public","body":"@csn = csn"}},{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L304"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L304"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L303"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L303"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/User","path":"Floorsense/User.html","kind":"class","full_name":"Floorsense::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L259"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L260"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desc:String|Nil-instance-method","name":"desc","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L274"},"def":{"name":"desc","return_type":"String | ::Nil","visibility":"Public","body":"@desc"}},{"html_id":"desc=(desc:String|Nil)-instance-method","name":"desc=","abstract":false,"args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"args_string":"(desc : String | Nil)","args_html":"(desc : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L274"},"def":{"name":"desc=","args":[{"name":"desc","external_name":"desc","restriction":"String | ::Nil"}],"visibility":"Public","body":"@desc = desc"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L263"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L263"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expiry:Int64|Nil-instance-method","name":"expiry","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L267"},"def":{"name":"expiry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@expiry"}},{"html_id":"expiry=(expiry:Int64|Nil)-instance-method","name":"expiry=","abstract":false,"args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"args_string":"(expiry : Int64 | Nil)","args_html":"(expiry : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L267"},"def":{"name":"expiry=","args":[{"name":"expiry","external_name":"expiry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@expiry = expiry"}},{"html_id":"extid:String|Nil-instance-method","name":"extid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L272"},"def":{"name":"extid","return_type":"String | ::Nil","visibility":"Public","body":"@extid"}},{"html_id":"extid=(extid:String|Nil)-instance-method","name":"extid=","abstract":false,"args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"args_string":"(extid : String | Nil)","args_html":"(extid : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L272"},"def":{"name":"extid=","args":[{"name":"extid","external_name":"extid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@extid = extid"}},{"html_id":"lastlogin:Int64|Nil-instance-method","name":"lastlogin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin","return_type":"Int64 | ::Nil","visibility":"Public","body":"@lastlogin"}},{"html_id":"lastlogin=(lastlogin:Int64|Nil)-instance-method","name":"lastlogin=","abstract":false,"args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"args_string":"(lastlogin : Int64 | Nil)","args_html":"(lastlogin : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L266"},"def":{"name":"lastlogin=","args":[{"name":"lastlogin","external_name":"lastlogin","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@lastlogin = lastlogin"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L264"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L264"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"pin:String|Nil-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L269"},"def":{"name":"pin","return_type":"String | ::Nil","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String|Nil)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"args_string":"(pin : String | Nil)","args_html":"(pin : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L269"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"privacy:Int32|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L275"},"def":{"name":"privacy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Int32|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"args_string":"(privacy : Int32 | Nil)","args_html":"(privacy : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L275"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"reslimit:Int64|Nil-instance-method","name":"reslimit","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L268"},"def":{"name":"reslimit","return_type":"Int64 | ::Nil","visibility":"Public","body":"@reslimit"}},{"html_id":"reslimit=(reslimit:Int64|Nil)-instance-method","name":"reslimit=","abstract":false,"args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"args_string":"(reslimit : Int64 | Nil)","args_html":"(reslimit : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L268"},"def":{"name":"reslimit=","args":[{"name":"reslimit","external_name":"reslimit","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@reslimit = reslimit"}},{"html_id":"ugroupid:Int64|Nil-instance-method","name":"ugroupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ugroupid"}},{"html_id":"ugroupid=(ugroupid:Int64|Nil)-instance-method","name":"ugroupid=","abstract":false,"args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"args_string":"(ugroupid : Int64 | Nil)","args_html":"(ugroupid : Int64 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L270"},"def":{"name":"ugroupid=","args":[{"name":"ugroupid","external_name":"ugroupid","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ugroupid = ugroupid"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L262"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L262"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}},{"html_id":"uidtoken:String|Nil-instance-method","name":"uidtoken","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken","return_type":"String | ::Nil","visibility":"Public","body":"@uidtoken"}},{"html_id":"uidtoken=(uidtoken:String|Nil)-instance-method","name":"uidtoken=","abstract":false,"args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"args_string":"(uidtoken : String | Nil)","args_html":"(uidtoken : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L271"},"def":{"name":"uidtoken=","args":[{"name":"uidtoken","external_name":"uidtoken","restriction":"String | ::Nil"}],"visibility":"Public","body":"@uidtoken = uidtoken"}},{"html_id":"usertype:String|Nil-instance-method","name":"usertype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L273"},"def":{"name":"usertype","return_type":"String | ::Nil","visibility":"Public","body":"@usertype"}},{"html_id":"usertype=(usertype:String|Nil)-instance-method","name":"usertype=","abstract":false,"args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"args_string":"(usertype : String | Nil)","args_html":"(usertype : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L273"},"def":{"name":"usertype=","args":[{"name":"usertype","external_name":"usertype","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usertype = usertype"}}]},{"html_id":"drivers/Floorsense/UserGroup","path":"Floorsense/UserGroup.html","kind":"class","full_name":"Floorsense::UserGroup","name":"UserGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L169"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L170"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L175"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L175"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L173"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int32)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/floorsense/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L173"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L174"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L174"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Floorsense/UserLocation","path":"Floorsense/UserLocation.html","kind":"class","full_name":"Floorsense::UserLocation","name":"UserLocation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L179"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"active:Bool|Nil-instance-method","name":"active","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L202"},"def":{"name":"active","return_type":"Bool | ::Nil","visibility":"Public","body":"@active"}},{"html_id":"active=(active:Bool|Nil)-instance-method","name":"active=","abstract":false,"args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"args_string":"(active : Bool | Nil)","args_html":"(active : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L202"},"def":{"name":"active=","args":[{"name":"active","external_name":"active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@active = active"}},{"html_id":"cid:Int32|Nil-instance-method","name":"cid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L197"},"def":{"name":"cid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cid"}},{"html_id":"cid=(cid:Int32|Nil)-instance-method","name":"cid=","abstract":false,"args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"args_string":"(cid : Int32 | Nil)","args_html":"(cid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L197"},"def":{"name":"cid=","args":[{"name":"cid","external_name":"cid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@cid = cid"}},{"html_id":"confirmed:Bool|Nil-instance-method","name":"confirmed","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L201"},"def":{"name":"confirmed","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmed"}},{"html_id":"confirmed=(confirmed:Bool|Nil)-instance-method","name":"confirmed=","abstract":false,"args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"args_string":"(confirmed : Bool | Nil)","args_html":"(confirmed : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L201"},"def":{"name":"confirmed=","args":[{"name":"confirmed","external_name":"confirmed","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmed = confirmed"}},{"html_id":"finish:Time|Nil-instance-method","name":"finish","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L190"},"def":{"name":"finish","return_type":"Time | ::Nil","visibility":"Public","body":"@finish"}},{"html_id":"finish=(finish:Time|Nil)-instance-method","name":"finish=","abstract":false,"args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"args_string":"(finish : Time | Nil)","args_html":"(finish : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L190"},"def":{"name":"finish=","args":[{"name":"finish","external_name":"finish","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@finish = finish"}},{"html_id":"floorname:String|Nil-instance-method","name":"floorname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L196"},"def":{"name":"floorname","return_type":"String | ::Nil","visibility":"Public","body":"@floorname"}},{"html_id":"floorname=(floorname:String|Nil)-instance-method","name":"floorname=","abstract":false,"args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"args_string":"(floorname : String | Nil)","args_html":"(floorname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L196"},"def":{"name":"floorname=","args":[{"name":"floorname","external_name":"floorname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floorname = floorname"}},{"html_id":"groupid:Int32|Nil-instance-method","name":"groupid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L194"},"def":{"name":"groupid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@groupid"}},{"html_id":"groupid=(groupid:Int32|Nil)-instance-method","name":"groupid=","abstract":false,"args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"args_string":"(groupid : Int32 | Nil)","args_html":"(groupid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L194"},"def":{"name":"groupid=","args":[{"name":"groupid","external_name":"groupid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@groupid = groupid"}},{"html_id":"groupname:String|Nil-instance-method","name":"groupname","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L199"},"def":{"name":"groupname","return_type":"String | ::Nil","visibility":"Public","body":"@groupname"}},{"html_id":"groupname=(groupname:String|Nil)-instance-method","name":"groupname=","abstract":false,"args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"args_string":"(groupname : String | Nil)","args_html":"(groupname : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L199"},"def":{"name":"groupname=","args":[{"name":"groupname","external_name":"groupname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@groupname = groupname"}},{"html_id":"key:String|Nil-instance-method","name":"key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L195"},"def":{"name":"key","return_type":"String | ::Nil","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String|Nil)-instance-method","name":"key=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(key : String | Nil)","args_html":"(key : String | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L195"},"def":{"name":"key=","args":[{"name":"key","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@key = key"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L181"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L181"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"occupied:Bool|Nil-instance-method","name":"occupied","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L193"},"def":{"name":"occupied","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}},{"html_id":"occupied=(occupied:Bool|Nil)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"args_string":"(occupied : Bool | Nil)","args_html":"(occupied : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L193"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupiedtime:Int32|Nil-instance-method","name":"occupiedtime","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@occupiedtime"}},{"html_id":"occupiedtime=(occupiedtime:Int32|Nil)-instance-method","name":"occupiedtime=","abstract":false,"args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"args_string":"(occupiedtime : Int32 | Nil)","args_html":"(occupiedtime : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L198"},"def":{"name":"occupiedtime=","args":[{"name":"occupiedtime","external_name":"occupiedtime","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@occupiedtime = occupiedtime"}},{"html_id":"planid:Int32|Nil-instance-method","name":"planid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L192"},"def":{"name":"planid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@planid"}},{"html_id":"planid=(planid:Int32|Nil)-instance-method","name":"planid=","abstract":false,"args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"args_string":"(planid : Int32 | Nil)","args_html":"(planid : Int32 | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L192"},"def":{"name":"planid=","args":[{"name":"planid","external_name":"planid","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@planid = planid"}},{"html_id":"privacy:Bool|Nil-instance-method","name":"privacy","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L200"},"def":{"name":"privacy","return_type":"Bool | ::Nil","visibility":"Public","body":"@privacy"}},{"html_id":"privacy=(privacy:Bool|Nil)-instance-method","name":"privacy=","abstract":false,"args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"args_string":"(privacy : Bool | Nil)","args_html":"(privacy : Bool | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L200"},"def":{"name":"privacy=","args":[{"name":"privacy","external_name":"privacy","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@privacy = privacy"}},{"html_id":"start:Time|Nil-instance-method","name":"start","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L187"},"def":{"name":"start","return_type":"Time | ::Nil","visibility":"Public","body":"@start"}},{"html_id":"start=(start:Time|Nil)-instance-method","name":"start=","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"args_string":"(start : Time | Nil)","args_html":"(start : Time | Nil)","location":{"filename":"src/floorsense/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L187"},"def":{"name":"start=","args":[{"name":"start","external_name":"start","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@start = start"}},{"html_id":"uid:String-instance-method","name":"uid","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L182"},"def":{"name":"uid","return_type":"String","visibility":"Public","body":"@uid"}},{"html_id":"uid=(uid:String)-instance-method","name":"uid=","abstract":false,"args":[{"name":"uid","external_name":"uid","restriction":"String"}],"args_string":"(uid : String)","args_html":"(uid : String)","location":{"filename":"src/floorsense/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L182"},"def":{"name":"uid=","args":[{"name":"uid","external_name":"uid","restriction":"String"}],"visibility":"Public","body":"@uid = uid"}}]},{"html_id":"drivers/Floorsense/Voucher","path":"Floorsense/Voucher.html","kind":"class","full_name":"Floorsense::Voucher","name":"Voucher","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/floorsense/models.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Floorsense","kind":"module","full_name":"Floorsense","name":"Floorsense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/floorsense/models.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L328"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardswipe:Bool-instance-method","name":"cardswipe","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe","return_type":"Bool","visibility":"Public","body":"@cardswipe"}},{"html_id":"cardswipe=(cardswipe:Bool)-instance-method","name":"cardswipe=","abstract":false,"args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"args_string":"(cardswipe : Bool)","args_html":"(cardswipe : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L361"},"def":{"name":"cardswipe=","args":[{"name":"cardswipe","external_name":"cardswipe","restriction":"Bool"}],"visibility":"Public","body":"@cardswipe = cardswipe"}},{"html_id":"controller_id:String-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L340"},"def":{"name":"controller_id","return_type":"String","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_id=(controller_id:String)-instance-method","name":"controller_id=","abstract":false,"args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"args_string":"(controller_id : String)","args_html":"(controller_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":340,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L340"},"def":{"name":"controller_id=","args":[{"name":"controller_id","external_name":"controller_id","restriction":"String"}],"visibility":"Public","body":"@controller_id = controller_id"}},{"html_id":"created:Int64-instance-method","name":"created","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L346"},"def":{"name":"created","return_type":"Int64","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64"}],"args_string":"(created : Int64)","args_html":"(created : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L346"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64"}],"visibility":"Public","body":"@created = created"}},{"html_id":"duration:Int64-instance-method","name":"duration","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L348"},"def":{"name":"duration","return_type":"Int64","visibility":"Public","body":"@duration"}},{"html_id":"duration=(duration:Int64)-instance-method","name":"duration=","abstract":false,"args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"args_string":"(duration : Int64)","args_html":"(duration : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":348,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L348"},"def":{"name":"duration=","args":[{"name":"duration","external_name":"duration","restriction":"Int64"}],"visibility":"Public","body":"@duration = duration"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L331"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/floorsense/models.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L331"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"expired:Int64-instance-method","name":"expired","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L349"},"def":{"name":"expired","return_type":"Int64","visibility":"Public","body":"@expired"}},{"html_id":"expired=(expired:Int64)-instance-method","name":"expired=","abstract":false,"args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"args_string":"(expired : Int64)","args_html":"(expired : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":349,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L349"},"def":{"name":"expired=","args":[{"name":"expired","external_name":"expired","restriction":"Int64"}],"visibility":"Public","body":"@expired = expired"}},{"html_id":"lastuse:Int64-instance-method","name":"lastuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L330"},"def":{"name":"lastuse","return_type":"Int64","visibility":"Public","body":"@lastuse"}},{"html_id":"lastuse=(lastuse:Int64)-instance-method","name":"lastuse=","abstract":false,"args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"args_string":"(lastuse : Int64)","args_html":"(lastuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":330,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L330"},"def":{"name":"lastuse=","args":[{"name":"lastuse","external_name":"lastuse","restriction":"Int64"}],"visibility":"Public","body":"@lastuse = lastuse"}},{"html_id":"locker_key:String-instance-method","name":"locker_key","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L337"},"def":{"name":"locker_key","return_type":"String","visibility":"Public","body":"@locker_key"}},{"html_id":"locker_key=(locker_key:String)-instance-method","name":"locker_key=","abstract":false,"args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"args_string":"(locker_key : String)","args_html":"(locker_key : String)","location":{"filename":"src/floorsense/models.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L337"},"def":{"name":"locker_key=","args":[{"name":"locker_key","external_name":"locker_key","restriction":"String"}],"visibility":"Public","body":"@locker_key = locker_key"}},{"html_id":"maxuse:Int64-instance-method","name":"maxuse","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L351"},"def":{"name":"maxuse","return_type":"Int64","visibility":"Public","body":"@maxuse"}},{"html_id":"maxuse=(maxuse:Int64)-instance-method","name":"maxuse=","abstract":false,"args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"args_string":"(maxuse : Int64)","args_html":"(maxuse : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L351"},"def":{"name":"maxuse=","args":[{"name":"maxuse","external_name":"maxuse","restriction":"Int64"}],"visibility":"Public","body":"@maxuse = maxuse"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L359"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/floorsense/models.cr","line_number":359,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L359"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notes:String-instance-method","name":"notes","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L360"},"def":{"name":"notes","return_type":"String","visibility":"Public","body":"@notes"}},{"html_id":"notes=(notes:String)-instance-method","name":"notes=","abstract":false,"args":[{"name":"notes","external_name":"notes","restriction":"String"}],"args_string":"(notes : String)","args_html":"(notes : String)","location":{"filename":"src/floorsense/models.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L360"},"def":{"name":"notes=","args":[{"name":"notes","external_name":"notes","restriction":"String"}],"visibility":"Public","body":"@notes = notes"}},{"html_id":"notified:Int64-instance-method","name":"notified","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L353"},"def":{"name":"notified","return_type":"Int64","visibility":"Public","body":"@notified"}},{"html_id":"notified=(notified:Int64)-instance-method","name":"notified=","abstract":false,"args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"args_string":"(notified : Int64)","args_html":"(notified : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":353,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L353"},"def":{"name":"notified=","args":[{"name":"notified","external_name":"notified","restriction":"Int64"}],"visibility":"Public","body":"@notified = notified"}},{"html_id":"pin:String-instance-method","name":"pin","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L345"},"def":{"name":"pin","return_type":"String","visibility":"Public","body":"@pin"}},{"html_id":"pin=(pin:String)-instance-method","name":"pin=","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/floorsense/models.cr","line_number":345,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L345"},"def":{"name":"pin=","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"@pin = pin"}},{"html_id":"release:Bool-instance-method","name":"release","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L347"},"def":{"name":"release","return_type":"Bool","visibility":"Public","body":"@release"}},{"html_id":"release=(release:Bool)-instance-method","name":"release=","abstract":false,"args":[{"name":"release","external_name":"release","restriction":"Bool"}],"args_string":"(release : Bool)","args_html":"(release : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L347"},"def":{"name":"release=","args":[{"name":"release","external_name":"release","restriction":"Bool"}],"visibility":"Public","body":"@release = release"}},{"html_id":"reservation_id:String-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id","return_type":"String","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:String)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"args_string":"(reservation_id : String)","args_html":"(reservation_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L343"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"String"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"restype:String-instance-method","name":"restype","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L352"},"def":{"name":"restype","return_type":"String","visibility":"Public","body":"@restype"}},{"html_id":"restype=(restype:String)-instance-method","name":"restype=","abstract":false,"args":[{"name":"restype","external_name":"restype","restriction":"String"}],"args_string":"(restype : String)","args_html":"(restype : String)","location":{"filename":"src/floorsense/models.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L352"},"def":{"name":"restype=","args":[{"name":"restype","external_name":"restype","restriction":"String"}],"visibility":"Public","body":"@restype = restype"}},{"html_id":"template:String-instance-method","name":"template","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L358"},"def":{"name":"template","return_type":"String","visibility":"Public","body":"@template"}},{"html_id":"template=(template:String)-instance-method","name":"template=","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"}],"args_string":"(template : String)","args_html":"(template : String)","location":{"filename":"src/floorsense/models.cr","line_number":358,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L358"},"def":{"name":"template=","args":[{"name":"template","external_name":"template","restriction":"String"}],"visibility":"Public","body":"@template = template"}},{"html_id":"unlock:Bool-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L357"},"def":{"name":"unlock","return_type":"Bool","visibility":"Public","body":"@unlock"}},{"html_id":"unlock=(unlock:Bool)-instance-method","name":"unlock=","abstract":false,"args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"args_string":"(unlock : Bool)","args_html":"(unlock : Bool)","location":{"filename":"src/floorsense/models.cr","line_number":357,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L357"},"def":{"name":"unlock=","args":[{"name":"unlock","external_name":"unlock","restriction":"Bool"}],"visibility":"Public","body":"@unlock = unlock"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L365"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/floorsense/models.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L365"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}},{"html_id":"usecount:Int64-instance-method","name":"usecount","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L350"},"def":{"name":"usecount","return_type":"Int64","visibility":"Public","body":"@usecount"}},{"html_id":"usecount=(usecount:Int64)-instance-method","name":"usecount=","abstract":false,"args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"args_string":"(usecount : Int64)","args_html":"(usecount : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":350,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L350"},"def":{"name":"usecount=","args":[{"name":"usecount","external_name":"usecount","restriction":"Int64"}],"visibility":"Public","body":"@usecount = usecount"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L364"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L364"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"validfrom:Int64-instance-method","name":"validfrom","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L354"},"def":{"name":"validfrom","return_type":"Int64","visibility":"Public","body":"@validfrom"}},{"html_id":"validfrom=(validfrom:Int64)-instance-method","name":"validfrom=","abstract":false,"args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"args_string":"(validfrom : Int64)","args_html":"(validfrom : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L354"},"def":{"name":"validfrom=","args":[{"name":"validfrom","external_name":"validfrom","restriction":"Int64"}],"visibility":"Public","body":"@validfrom = validfrom"}},{"html_id":"validto:Int64-instance-method","name":"validto","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L355"},"def":{"name":"validto","return_type":"Int64","visibility":"Public","body":"@validto"}},{"html_id":"validto=(validto:Int64)-instance-method","name":"validto=","abstract":false,"args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"args_string":"(validto : Int64)","args_html":"(validto : Int64)","location":{"filename":"src/floorsense/models.cr","line_number":355,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L355"},"def":{"name":"validto=","args":[{"name":"validto","external_name":"validto","restriction":"Int64"}],"visibility":"Public","body":"@validto = validto"}},{"html_id":"voucher_id:String-instance-method","name":"voucher_id","abstract":false,"location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id","return_type":"String","visibility":"Public","body":"@voucher_id"}},{"html_id":"voucher_id=(voucher_id:String)-instance-method","name":"voucher_id=","abstract":false,"args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"args_string":"(voucher_id : String)","args_html":"(voucher_id : String)","location":{"filename":"src/floorsense/models.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/floorsense/models.cr#L334"},"def":{"name":"voucher_id=","args":[{"name":"voucher_id","external_name":"voucher_id","restriction":"String"}],"visibility":"Public","body":"@voucher_id = voucher_id"}}]}]},{"html_id":"drivers/Freespace","path":"Freespace.html","kind":"module","full_name":"Freespace","name":"Freespace","abstract":false,"locations":[{"filename":"src/freespace/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Freespace/Category","path":"Freespace/Category.html","kind":"class","full_name":"Freespace::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"color_scheme:String|Nil-instance-method","name":"color_scheme","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L75"},"def":{"name":"color_scheme","return_type":"String | ::Nil","visibility":"Public","body":"@color_scheme"}},{"html_id":"color_scheme=(color_scheme:String|Nil)-instance-method","name":"color_scheme=","abstract":false,"args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"args_string":"(color_scheme : String | Nil)","args_html":"(color_scheme : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L75"},"def":{"name":"color_scheme=","args":[{"name":"color_scheme","external_name":"color_scheme","restriction":"String | ::Nil"}],"visibility":"Public","body":"@color_scheme = color_scheme"}},{"html_id":"icon_url:String|Nil-instance-method","name":"icon_url","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L71"},"def":{"name":"icon_url","return_type":"String | ::Nil","visibility":"Public","body":"@icon_url"}},{"html_id":"icon_url=(icon_url:String|Nil)-instance-method","name":"icon_url=","abstract":false,"args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"args_string":"(icon_url : String | Nil)","args_html":"(icon_url : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L71"},"def":{"name":"icon_url=","args":[{"name":"icon_url","external_name":"icon_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@icon_url = icon_url"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L58"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L59"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"ordering_index:Int32|Nil-instance-method","name":"ordering_index","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L78"},"def":{"name":"ordering_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@ordering_index"}},{"html_id":"ordering_index=(ordering_index:Int32|Nil)-instance-method","name":"ordering_index=","abstract":false,"args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"args_string":"(ordering_index : Int32 | Nil)","args_html":"(ordering_index : Int32 | Nil)","location":{"filename":"src/freespace/models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L78"},"def":{"name":"ordering_index=","args":[{"name":"ordering_index","external_name":"ordering_index","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@ordering_index = ordering_index"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L62"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L62"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"show_in_analytics:Bool-instance-method","name":"show_in_analytics","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics","return_type":"Bool","visibility":"Public","body":"@show_in_analytics"}},{"html_id":"show_in_analytics=(show_in_analytics:Bool)-instance-method","name":"show_in_analytics=","abstract":false,"args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"args_string":"(show_in_analytics : Bool)","args_html":"(show_in_analytics : Bool)","location":{"filename":"src/freespace/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L68"},"def":{"name":"show_in_analytics=","args":[{"name":"show_in_analytics","external_name":"show_in_analytics","restriction":"Bool"}],"visibility":"Public","body":"@show_in_analytics = show_in_analytics"}},{"html_id":"show_on_signage:Bool-instance-method","name":"show_on_signage","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage","return_type":"Bool","visibility":"Public","body":"@show_on_signage"}},{"html_id":"show_on_signage=(show_on_signage:Bool)-instance-method","name":"show_on_signage=","abstract":false,"args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"args_string":"(show_on_signage : Bool)","args_html":"(show_on_signage : Bool)","location":{"filename":"src/freespace/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L65"},"def":{"name":"show_on_signage=","args":[{"name":"show_on_signage","external_name":"show_on_signage","restriction":"Bool"}],"visibility":"Public","body":"@show_on_signage = show_on_signage"}}]},{"html_id":"drivers/Freespace/Device","path":"Freespace/Device.html","kind":"class","full_name":"Freespace::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L84"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L84"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L87"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L87"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Freespace/Location","path":"Freespace/Location.html","kind":"class","full_name":"Freespace::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L35"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L37"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L37"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"policy:Bool-instance-method","name":"policy","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L44"},"def":{"name":"policy","return_type":"Bool","visibility":"Public","body":"@policy"}},{"html_id":"policy=(policy:Bool)-instance-method","name":"policy=","abstract":false,"args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"args_string":"(policy : Bool)","args_html":"(policy : Bool)","location":{"filename":"src/freespace/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L44"},"def":{"name":"policy=","args":[{"name":"policy","external_name":"policy","restriction":"Bool"}],"visibility":"Public","body":"@policy = policy"}},{"html_id":"raw:Bool-instance-method","name":"raw","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L43"},"def":{"name":"raw","return_type":"Bool","visibility":"Public","body":"@raw"}},{"html_id":"raw=(raw:Bool)-instance-method","name":"raw=","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"args_string":"(raw : Bool)","args_html":"(raw : Bool)","location":{"filename":"src/freespace/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L43"},"def":{"name":"raw=","args":[{"name":"raw","external_name":"raw","restriction":"Bool"}],"visibility":"Public","body":"@raw = raw"}}]},{"html_id":"drivers/Freespace/SensorAPI","path":"Freespace/SensorAPI.html","kind":"class","full_name":"Freespace::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/sensor_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/freespace/sensor_api.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L211"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"client:STOMP::Client-instance-method","name":"client","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L58"},"def":{"name":"client","return_type":"STOMP::Client","visibility":"Public","body":"if (value = @client).nil?\n ::raise(NilAssertionError.new(\"Freespace::SensorAPI#client cannot be nil\"))\nelse\n value\nend"}},{"html_id":"client?:STOMP::Client|Nil-instance-method","name":"client?","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L58"},"def":{"name":"client?","return_type":"STOMP::Client | ::Nil","visibility":"Public","body":"@client"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L70"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nhostname = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\n@client = STOMP::Client.new(hostname)\nsend(client.stomp.to_s)\nschedule.clear\nschedule.in(5.seconds) do\n @auth_key = nil\nend\nschedule.every(10.seconds) do\n heart_beat\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L216"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif location && (location != \"desk\")\n return [] of Nil\nend\nloctions = @zone_mappings[zone_id]?\nif loctions\nelse\n return [] of Nil\nend\nloctions.flat_map do |loc_id|\n location_id = loc_id.to_i64\n loc_details = @floor_mappings[loc_id]\n @space_state.values.compact_map do |activity|\n if ((activity.location_id != location_id) || (activity.state == 0)) || activity.capacity > 1\n next\n end\n {location: activity.capacity == 1 ? \"desk\" : \"area\", at_location: activity.state, map_id: activity.name, level: loc_details[:level_id], building: loc_details[:building_id], capacity: activity.capacity}\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L83"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n@spaces.clear\n@auth_key = @client = nil\n"}},{"html_id":"get_location(location_id:String|Int64):Array(Space)-instance-method","name":"get_location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"args_string":"(location_id : String | Int64) : Array(Space)","args_html":"(location_id : String | Int64) : Array(Space)","location":{"filename":"src/freespace/sensor_api.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L117"},"def":{"name":"get_location","args":[{"name":"location_id","external_name":"location_id","restriction":"String | Int64"}],"return_type":"Array(Space)","visibility":"Public","body":"response = http(\"POST\", \"/api/locations/#{location_id}/spaces\", headers: {\"X-Auth-Key\" => get_token, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nif response.success?\nelse\n raise(\"issue obtaining to location #{location_id}: status code #{response.status_code}\\n#{response.body}\")\nend\nspaces = Array(Space).from_json(response.body)\nspaces.each do |space|\n @spaces[space.id] = space\nend\nspaces\n"}},{"html_id":"get_token:String-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L139"},"def":{"name":"get_token","return_type":"String","visibility":"Public","body":"auth_key = @auth_key\nif auth_key\n return auth_key\nend\nresponse = http(\"POST\", \"/login\", headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"login response: #{response.body}\"\nend\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nschedule.in(5.seconds) do\n @auth_key = nil\nend\n@auth_key = response.headers[\"X-Auth-Key\"]\n"}},{"html_id":"heart_beat-instance-method","name":"heart_beat","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L90"},"def":{"name":"heart_beat","visibility":"Public","body":"send((client.send(\"/beat/#{Time.utc.to_unix}\")).to_s, wait: false, priority: 0)"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/freespace/sensor_api.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L201"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/freespace/sensor_api.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L206"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_mappings.clear\n@floor_mappings.each do |location_id, details|\n @zone_mappings[details[:level_id]] << location_id\n @zone_mappings[details[:building_id]] << location_id\nend\nif @connected\n disconnect\nend\n"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/freespace/sensor_api.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L161"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"frame = STOMP::Frame.new(bytes)\ncase frame.command\nwhen .connected?\n client.negotiate(frame)\n @floor_mappings.keys.each do |location_id|\n begin\n subscribe_location(location_id)\n rescue error\n logger.error(exception: error) do\n \"failed to subscribe to #{location_id}, skipping\"\n end\n end\n end\nwhen .message?\n activity = SpaceActivity.from_json(frame.body_text)\n if space = @spaces[activity.space_id]?\n activity.location_id = space.location_id\n activity.capacity = space.capacity\n activity.name = space.name\n @space_state[activity.space_id] = activity\n self[\"space-#{activity.space_id}\"] = {location: space.location_id, name: space.name, capacity: space.capacity, count: activity.state, last_updated: activity.utc_epoch}\n self[\"last_change\"] = Time.utc.to_unix\n else\n logger.warn do\n \"unknown space id: #{activity.space_id}\"\n end\n end\nend\ntask.try(&.success)\n"}},{"html_id":"spaces_details:Hash(Int64,Freespace::Space)-instance-method","name":"spaces_details","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L107"},"def":{"name":"spaces_details","visibility":"Public","body":"@spaces"}},{"html_id":"spaces_state:Hash(Int64,Freespace::SpaceActivity)-instance-method","name":"spaces_state","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L112"},"def":{"name":"spaces_state","visibility":"Public","body":"@space_state"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","doc":"We need an API key to connect to the websocket","summary":"

We need an API key to connect to the websocket

","abstract":false,"location":{"filename":"src/freespace/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/sensor_api.cr#L52"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"X-Auth-Key\" => get_token}"}}]},{"html_id":"drivers/Freespace/Space","path":"Freespace/Space.html","kind":"class","full_name":"Freespace::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L92"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L93"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L115"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L115"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:Category-instance-method","name":"category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L105"},"def":{"name":"category","return_type":"Category","visibility":"Public","body":"@category"}},{"html_id":"category=(category:Category)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"Category"}],"args_string":"(category : Category)","args_html":"(category : Category)","location":{"filename":"src/freespace/models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L105"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"Category"}],"visibility":"Public","body":"@category = category"}},{"html_id":"counted:Bool-instance-method","name":"counted","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L124"},"def":{"name":"counted","return_type":"Bool","visibility":"Public","body":"@counted"}},{"html_id":"counted=(counted:Bool)-instance-method","name":"counted=","abstract":false,"args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"args_string":"(counted : Bool)","args_html":"(counted : Bool)","location":{"filename":"src/freespace/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L124"},"def":{"name":"counted=","args":[{"name":"counted","external_name":"counted","restriction":"Bool"}],"visibility":"Public","body":"@counted = counted"}},{"html_id":"department:Category-instance-method","name":"department","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L106"},"def":{"name":"department","return_type":"Category","visibility":"Public","body":"@department"}},{"html_id":"department=(department:Category)-instance-method","name":"department=","abstract":false,"args":[{"name":"department","external_name":"department","restriction":"Category"}],"args_string":"(department : Category)","args_html":"(department : Category)","location":{"filename":"src/freespace/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L106"},"def":{"name":"department=","args":[{"name":"department","external_name":"department","restriction":"Category"}],"visibility":"Public","body":"@department = department"}},{"html_id":"device:Device-instance-method","name":"device","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L110"},"def":{"name":"device","return_type":"Device","visibility":"Public","body":"@device"}},{"html_id":"device=(device:Device)-instance-method","name":"device=","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Device"}],"args_string":"(device : Device)","args_html":"(device : Device)","location":{"filename":"src/freespace/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L110"},"def":{"name":"device=","args":[{"name":"device","external_name":"device","restriction":"Device"}],"visibility":"Public","body":"@device = device"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L95"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"live:Bool-instance-method","name":"live","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L114"},"def":{"name":"live","return_type":"Bool","visibility":"Public","body":"@live"}},{"html_id":"live=(live:Bool)-instance-method","name":"live=","abstract":false,"args":[{"name":"live","external_name":"live","restriction":"Bool"}],"args_string":"(live : Bool)","args_html":"(live : Bool)","location":{"filename":"src/freespace/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L114"},"def":{"name":"live=","args":[{"name":"live","external_name":"live","restriction":"Bool"}],"visibility":"Public","body":"@live = live"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L96"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/freespace/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L96"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L123"},"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L123"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"marker:Hash(String,JSON::Any)-instance-method","name":"marker","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L101"},"def":{"name":"marker","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@marker"}},{"html_id":"marker=(marker:Hash(String,JSON::Any))-instance-method","name":"marker=","doc":"undocumented, possibly polymorphic: {\"type\" => \"CIRCLE\", \"data\" => \"20\"},","summary":"

undocumented, possibly polymorphic: {"type" => "CIRCLE", "data" => "20"},

","abstract":false,"args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"args_string":"(marker : Hash(String, JSON::Any))","args_html":"(marker : Hash(String, JSON::Any))","location":{"filename":"src/freespace/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L101"},"def":{"name":"marker=","args":[{"name":"marker","external_name":"marker","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@marker = marker"}},{"html_id":"marker_unique_id:String|Nil-instance-method","name":"marker_unique_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id","return_type":"String | ::Nil","visibility":"Public","body":"@marker_unique_id"}},{"html_id":"marker_unique_id=(marker_unique_id:String|Nil)-instance-method","name":"marker_unique_id=","abstract":false,"args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"args_string":"(marker_unique_id : String | Nil)","args_html":"(marker_unique_id : String | Nil)","location":{"filename":"src/freespace/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L113"},"def":{"name":"marker_unique_id=","args":[{"name":"marker_unique_id","external_name":"marker_unique_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@marker_unique_id = marker_unique_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L97"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L97"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"sensing_policy_id:Int32-instance-method","name":"sensing_policy_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id","return_type":"Int32","visibility":"Public","body":"@sensing_policy_id"}},{"html_id":"sensing_policy_id=(sensing_policy_id:Int32)-instance-method","name":"sensing_policy_id=","abstract":false,"args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"args_string":"(sensing_policy_id : Int32)","args_html":"(sensing_policy_id : Int32)","location":{"filename":"src/freespace/models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L109"},"def":{"name":"sensing_policy_id=","args":[{"name":"sensing_policy_id","external_name":"sensing_policy_id","restriction":"Int32"}],"visibility":"Public","body":"@sensing_policy_id = sensing_policy_id"}},{"html_id":"serial:Int32-instance-method","name":"serial","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L120"},"def":{"name":"serial","return_type":"Int32","visibility":"Public","body":"@serial"}},{"html_id":"serial=(serial:Int32)-instance-method","name":"serial=","abstract":false,"args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"args_string":"(serial : Int32)","args_html":"(serial : Int32)","location":{"filename":"src/freespace/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L120"},"def":{"name":"serial=","args":[{"name":"serial","external_name":"serial","restriction":"Int32"}],"visibility":"Public","body":"@serial = serial"}},{"html_id":"srf:SRF-instance-method","name":"srf","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L98"},"def":{"name":"srf","return_type":"SRF","visibility":"Public","body":"@srf"}},{"html_id":"srf=(srf:SRF)-instance-method","name":"srf=","abstract":false,"args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"args_string":"(srf : SRF)","args_html":"(srf : SRF)","location":{"filename":"src/freespace/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L98"},"def":{"name":"srf=","args":[{"name":"srf","external_name":"srf","restriction":"SRF"}],"visibility":"Public","body":"@srf = srf"}},{"html_id":"sub_category:Category-instance-method","name":"sub_category","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L104"},"def":{"name":"sub_category","return_type":"Category","visibility":"Public","body":"@sub_category"}},{"html_id":"sub_category=(sub_category:Category)-instance-method","name":"sub_category=","abstract":false,"args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"args_string":"(sub_category : Category)","args_html":"(sub_category : Category)","location":{"filename":"src/freespace/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L104"},"def":{"name":"sub_category=","args":[{"name":"sub_category","external_name":"sub_category","restriction":"Category"}],"visibility":"Public","body":"@sub_category = sub_category"}}]},{"html_id":"drivers/Freespace/SpaceActivity","path":"Freespace/SpaceActivity.html","kind":"class","full_name":"Freespace::SpaceActivity","name":"SpaceActivity","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"if (value = @capacity).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#capacity cannot be nil\"))\nelse\n value\nend"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/freespace/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L24"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"capacity?:Int32|Nil-instance-method","name":"capacity?","abstract":false,"def":{"name":"capacity?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L7"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L7"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location_id:Int64-instance-method","name":"location_id","abstract":false,"def":{"name":"location_id","return_type":"Int64","visibility":"Public","body":"if (value = @location_id).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#location_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"location_id=(location_id:Int64)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"args_string":"(location_id : Int64)","args_html":"(location_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L21"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"Int64"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_id?:Int64|Nil-instance-method","name":"location_id?","abstract":false,"def":{"name":"location_id?","return_type":"Int64 | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"if (value = @name).nil?\n ::raise(NilAssertionError.new(\"Freespace::SpaceActivity#name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/freespace/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L27"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"name?:String|Nil-instance-method","name":"name?","abstract":false,"def":{"name":"name?","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"presence?-instance-method","name":"presence?","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L16"},"def":{"name":"presence?","visibility":"Public","body":"@state > 0"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/freespace/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L14"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/freespace/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L14"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}},{"html_id":"utc_epoch:Int64-instance-method","name":"utc_epoch","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch","return_type":"Int64","visibility":"Public","body":"@utc_epoch"}},{"html_id":"utc_epoch=(utc_epoch:Int64)-instance-method","name":"utc_epoch=","abstract":false,"args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"args_string":"(utc_epoch : Int64)","args_html":"(utc_epoch : Int64)","location":{"filename":"src/freespace/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L13"},"def":{"name":"utc_epoch=","args":[{"name":"utc_epoch","external_name":"utc_epoch","restriction":"Int64"}],"visibility":"Public","body":"@utc_epoch = utc_epoch"}}]},{"html_id":"drivers/Freespace/SRF","path":"Freespace/SRF.html","kind":"class","full_name":"Freespace::SRF","name":"SRF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/freespace/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L47"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Freespace","kind":"module","full_name":"Freespace","name":"Freespace"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/freespace/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L48"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"x:Int32-instance-method","name":"x","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L50"},"def":{"name":"x","return_type":"Int32","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Int32)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Int32"}],"args_string":"(x : Int32)","args_html":"(x : Int32)","location":{"filename":"src/freespace/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L50"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Int32"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Int32-instance-method","name":"y","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L51"},"def":{"name":"y","return_type":"Int32","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Int32)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Int32"}],"args_string":"(y : Int32)","args_html":"(y : Int32)","location":{"filename":"src/freespace/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L51"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Int32"}],"visibility":"Public","body":"@y = y"}},{"html_id":"z:Int32-instance-method","name":"z","abstract":false,"location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L52"},"def":{"name":"z","return_type":"Int32","visibility":"Public","body":"@z"}},{"html_id":"z=(z:Int32)-instance-method","name":"z=","abstract":false,"args":[{"name":"z","external_name":"z","restriction":"Int32"}],"args_string":"(z : Int32)","args_html":"(z : Int32)","location":{"filename":"src/freespace/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/freespace/models.cr#L52"},"def":{"name":"z=","args":[{"name":"z","external_name":"z","restriction":"Int32"}],"visibility":"Public","body":"@z = z"}}]}]},{"html_id":"drivers/Gallagher","path":"Gallagher.html","kind":"module","full_name":"Gallagher","name":"Gallagher","abstract":false,"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gallagher/AccessGroup","path":"Gallagher/AccessGroup.html","kind":"class","full_name":"Gallagher::AccessGroup","name":"AccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L181"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L182"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholders:NamedTuple(href:String)-instance-method","name":"cardholders","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@cardholders"}},{"html_id":"cardholders=(cardholders:NamedTuple(href:String))-instance-method","name":"cardholders=","abstract":false,"args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"args_string":"(cardholders : NamedTuple(href: String))","args_html":"(cardholders : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L198"},"def":{"name":"cardholders=","args":[{"name":"cardholders","external_name":"cardholders","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@cardholders = cardholders"}},{"html_id":"children:Array(NamedTuple(href:String,name:String))|Nil-instance-method","name":"children","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children","return_type":"Array(NamedTuple(href: String, name: String)) | ::Nil","visibility":"Public","body":"@children"}},{"html_id":"children=(children:Array(NamedTuple(href:String,name:String))|Nil)-instance-method","name":"children=","abstract":false,"args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"args_string":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","args_html":"(children : Array(NamedTuple(href: String, name: String)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L202"},"def":{"name":"children=","args":[{"name":"children","external_name":"children","restriction":"Array(NamedTuple(href: String, name: String)) | ::Nil"}],"visibility":"Public","body":"@children = children"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L187"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String))-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"args_string":"(division : NamedTuple(href: String))","args_html":"(division : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L194"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@division = division"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L184"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L185"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L186"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"parent:NamedTuple(href:String,name:String)|Nil-instance-method","name":"parent","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent","return_type":"NamedTuple(href: String, name: String) | ::Nil","visibility":"Public","body":"@parent"}},{"html_id":"parent=(parent:NamedTuple(href:String,name:String)|Nil)-instance-method","name":"parent=","abstract":false,"args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"args_string":"(parent : NamedTuple(href: String, name: String) | Nil)","args_html":"(parent : NamedTuple(href: String, name: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L189"},"def":{"name":"parent=","args":[{"name":"parent","external_name":"parent","restriction":"NamedTuple(href: String, name: String) | ::Nil"}],"visibility":"Public","body":"@parent = parent"}}]},{"html_id":"drivers/Gallagher/AccessGroupMembership","path":"Gallagher/AccessGroupMembership.html","kind":"class","full_name":"Gallagher::AccessGroupMembership","name":"AccessGroupMembership","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L208"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L209"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cardholder:NamedTuple(href:String,name:String)-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder","return_type":"NamedTuple(href: String, name: String)","visibility":"Public","body":"@cardholder"}},{"html_id":"cardholder=(cardholder:NamedTuple(href:String,name:String))-instance-method","name":"cardholder=","abstract":false,"args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"args_string":"(cardholder : NamedTuple(href: String, name: String))","args_html":"(cardholder : NamedTuple(href: String, name: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L212"},"def":{"name":"cardholder=","args":[{"name":"cardholder","external_name":"cardholder","restriction":"NamedTuple(href: String, name: String)"}],"visibility":"Public","body":"@cardholder = cardholder"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L216"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L211"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L217"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Card","path":"Gallagher/Card.html","kind":"struct","full_name":"Gallagher::Card","name":"Card","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(href:Nil|String,status:NamedTuple(value:String,type:Nil|String)|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"args_string":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","args_html":"(href : Nil | String, status : NamedTuple(value: String, type: Nil | String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L133"},"def":{"name":"new","args":[{"name":"href","external_name":"href","restriction":"::Nil | ::String"},{"name":"status","external_name":"status","restriction":"::NamedTuple(value: ::String, type: ::Nil | ::String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(href, status)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ble_facility_id:Int64|Nil-instance-method","name":"ble_facility_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ble_facility_id"}},{"html_id":"ble_facility_id=(ble_facility_id:Int64|Nil)-instance-method","name":"ble_facility_id=","abstract":false,"args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"args_string":"(ble_facility_id : Int64 | Nil)","args_html":"(ble_facility_id : Int64 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L157"},"def":{"name":"ble_facility_id=","args":[{"name":"ble_facility_id","external_name":"ble_facility_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ble_facility_id = ble_facility_id"}},{"html_id":"card_serial_number:String|Nil-instance-method","name":"card_serial_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number","return_type":"String | ::Nil","visibility":"Public","body":"@card_serial_number"}},{"html_id":"card_serial_number=(card_serial_number:String|Nil)-instance-method","name":"card_serial_number=","abstract":false,"args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"args_string":"(card_serial_number : String | Nil)","args_html":"(card_serial_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L145"},"def":{"name":"card_serial_number=","args":[{"name":"card_serial_number","external_name":"card_serial_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@card_serial_number = card_serial_number"}},{"html_id":"credential_class:String|Nil-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class","return_type":"String | ::Nil","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String|Nil)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"args_string":"(credential_class : String | Nil)","args_html":"(credential_class : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L151"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"credential_id:String|Nil-instance-method","name":"credential_id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id","return_type":"String | ::Nil","visibility":"Public","body":"@credential_id"}},{"html_id":"credential_id=(credential_id:String|Nil)-instance-method","name":"credential_id=","abstract":false,"args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"args_string":"(credential_id : String | Nil)","args_html":"(credential_id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L160"},"def":{"name":"credential_id=","args":[{"name":"credential_id","external_name":"credential_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@credential_id = credential_id"}},{"html_id":"e2e_key:String|Nil-instance-method","name":"e2e_key","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key","return_type":"String | ::Nil","visibility":"Public","body":"@e2e_key"}},{"html_id":"e2e_key=(e2e_key:String|Nil)-instance-method","name":"e2e_key=","abstract":false,"args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"args_string":"(e2e_key : String | Nil)","args_html":"(e2e_key : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L154"},"def":{"name":"e2e_key=","args":[{"name":"e2e_key","external_name":"e2e_key","restriction":"String | ::Nil"}],"visibility":"Public","body":"@e2e_key = e2e_key"}},{"html_id":"facility_code:String|Nil-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code","return_type":"String | ::Nil","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String|Nil)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"args_string":"(facility_code : String | Nil)","args_html":"(facility_code : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L142"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L164"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L136"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"invitation:Invitation|Nil-instance-method","name":"invitation","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation","return_type":"Invitation | ::Nil","visibility":"Public","body":"@invitation"}},{"html_id":"invitation=(invitation:Invitation|Nil)-instance-method","name":"invitation=","abstract":false,"args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"args_string":"(invitation : Invitation | Nil)","args_html":"(invitation : Invitation | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L162"},"def":{"name":"invitation=","args":[{"name":"invitation","external_name":"invitation","restriction":"Invitation | ::Nil"}],"visibility":"Public","body":"@invitation = invitation"}},{"html_id":"issue_level:Int32|Nil-instance-method","name":"issue_level","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@issue_level"}},{"html_id":"issue_level=(issue_level:Int32|Nil)-instance-method","name":"issue_level=","abstract":false,"args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"args_string":"(issue_level : Int32 | Nil)","args_html":"(issue_level : Int32 | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L148"},"def":{"name":"issue_level=","args":[{"name":"issue_level","external_name":"issue_level","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@issue_level = issue_level"}},{"html_id":"number:String|Nil-instance-method","name":"number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number","return_type":"String | ::Nil","visibility":"Public","body":"@number"}},{"html_id":"number=(number:String|Nil)-instance-method","name":"number=","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"args_string":"(number : String | Nil)","args_html":"(number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L138"},"def":{"name":"number=","args":[{"name":"number","external_name":"number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@number = number"}},{"html_id":"status:NamedTuple(value:String,type:String|Nil)|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status","return_type":"NamedTuple(value: String, type: String | ::Nil) | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:NamedTuple(value:String,type:String|Nil)|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"args_string":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","args_html":"(status : NamedTuple(value: String, type: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L139"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"NamedTuple(value: String, type: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@status = status"}},{"html_id":"type:NamedTuple(href:String,name:String|Nil)|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type","return_type":"NamedTuple(href: String, name: String | ::Nil) | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:NamedTuple(href:String,name:String|Nil)|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"args_string":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","args_html":"(type : NamedTuple(href: String, name: String | Nil) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L137"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"NamedTuple(href: String, name: String | ::Nil) | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L165"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/Cardholder","path":"Gallagher/Cardholder.html","kind":"class","full_name":"Gallagher::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(first_name:Nil|String,last_name:Nil|String,short_name:Nil|String,description:Nil|String,authorised:Bool|Nil,cards:Array(Gallagher::Card)|Hash(String,Array(Gallagher::Card))|Nil,access_groups:Array(Gallagher::CardholderAccessGroup)|Hash(String,Array(Gallagher::CardholderAccessGroup))|Nil,division:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"args_string":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","args_html":"(first_name : Nil | String, last_name : Nil | String, short_name : Nil | String, description : Nil | String, authorised : Bool | Nil, cards : Array(Gallagher::Card) | Hash(String, Array(Gallagher::Card)) | Nil, access_groups : Array(Gallagher::CardholderAccessGroup) | Hash(String, Array(Gallagher::CardholderAccessGroup)) | Nil, division : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"first_name","external_name":"first_name","restriction":"::Nil | ::String"},{"name":"last_name","external_name":"last_name","restriction":"::Nil | ::String"},{"name":"short_name","external_name":"short_name","restriction":"::Nil | ::String"},{"name":"description","external_name":"description","restriction":"::Nil | ::String"},{"name":"authorised","external_name":"authorised","restriction":"::Bool | ::Nil"},{"name":"cards","external_name":"cards","restriction":"::Array(::Gallagher::Card) | ::Hash(::String, ::Array(::Gallagher::Card)) | ::Nil"},{"name":"access_groups","external_name":"access_groups","restriction":"::Array(::Gallagher::CardholderAccessGroup) | ::Hash(::String, ::Array(::Gallagher::CardholderAccessGroup)) | ::Nil"},{"name":"division","external_name":"division","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(first_name, last_name, short_name, description, authorised, cards, access_groups, division)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil-instance-method","name":"access_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups","return_type":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil","visibility":"Public","body":"@access_groups"}},{"html_id":"access_groups=(access_groups:Array(CardholderAccessGroup)|Hash(String,Array(CardholderAccessGroup))|Nil)-instance-method","name":"access_groups=","abstract":false,"args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"args_string":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","args_html":"(access_groups : Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L88"},"def":{"name":"access_groups=","args":[{"name":"access_groups","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | Hash(String, Array(CardholderAccessGroup)) | ::Nil"}],"visibility":"Public","body":"@access_groups = access_groups"}},{"html_id":"authorised:Bool|Nil-instance-method","name":"authorised","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised","return_type":"Bool | ::Nil","visibility":"Public","body":"@authorised"}},{"html_id":"authorised=(authorised:Bool|Nil)-instance-method","name":"authorised=","abstract":false,"args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"args_string":"(authorised : Bool | Nil)","args_html":"(authorised : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L77"},"def":{"name":"authorised=","args":[{"name":"authorised","external_name":"authorised","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@authorised = authorised"}},{"html_id":"cards:Array(Card)|Hash(String,Array(Card))|Nil-instance-method","name":"cards","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards","return_type":"Array(Card) | Hash(String, Array(Card)) | ::Nil","visibility":"Public","body":"@cards"}},{"html_id":"cards=(cards:Array(Card)|Hash(String,Array(Card))|Nil)-instance-method","name":"cards=","abstract":false,"args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"args_string":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","args_html":"(cards : Array(Card) | Hash(String, Array(Card)) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L85"},"def":{"name":"cards=","args":[{"name":"cards","external_name":"cards","restriction":"Array(Card) | Hash(String, Array(Card)) | ::Nil"}],"visibility":"Public","body":"@cards = cards"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L76"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"division:NamedTuple(href:String)|Nil-instance-method","name":"division","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@division"}},{"html_id":"division=(division:NamedTuple(href:String)|Nil)-instance-method","name":"division=","abstract":false,"args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(division : NamedTuple(href: String) | Nil)","args_html":"(division : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L82"},"def":{"name":"division=","args":[{"name":"division","external_name":"division","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@division = division"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L69"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L65"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil)","args_html":"(id : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L66"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_accessed:Time|Nil-instance-method","name":"last_accessed","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed","return_type":"Time | ::Nil","visibility":"Public","body":"@last_accessed"}},{"html_id":"last_accessed=(last_accessed:Time|Nil)-instance-method","name":"last_accessed=","abstract":false,"args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"args_string":"(last_accessed : Time | Nil)","args_html":"(last_accessed : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L80"},"def":{"name":"last_accessed=","args":[{"name":"last_accessed","external_name":"last_accessed","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@last_accessed = last_accessed"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"last_name=(last_name:String|Nil)-instance-method","name":"last_name=","abstract":false,"args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"args_string":"(last_name : String | Nil)","args_html":"(last_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L72"},"def":{"name":"last_name=","args":[{"name":"last_name","external_name":"last_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_name = last_name"}},{"html_id":"short_name:String|Nil-instance-method","name":"short_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name","return_type":"String | ::Nil","visibility":"Public","body":"@short_name"}},{"html_id":"short_name=(short_name:String|Nil)-instance-method","name":"short_name=","abstract":false,"args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"args_string":"(short_name : String | Nil)","args_html":"(short_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L75"},"def":{"name":"short_name=","args":[{"name":"short_name","external_name":"short_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@short_name = short_name"}},{"html_id":"usercode:String|Nil-instance-method","name":"usercode","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode","return_type":"String | ::Nil","visibility":"Public","body":"@usercode"}},{"html_id":"usercode=(usercode:String|Nil)-instance-method","name":"usercode=","abstract":false,"args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"args_string":"(usercode : String | Nil)","args_html":"(usercode : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L83"},"def":{"name":"usercode=","args":[{"name":"usercode","external_name":"usercode","restriction":"String | ::Nil"}],"visibility":"Public","body":"@usercode = usercode"}}]},{"html_id":"drivers/Gallagher/CardholderAccessGroup","path":"Gallagher/CardholderAccessGroup.html","kind":"class","full_name":"Gallagher::CardholderAccessGroup","name":"CardholderAccessGroup","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L169"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_group:NamedTuple(href:String)-instance-method","name":"access_group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@access_group"}},{"html_id":"access_group=(access_group:NamedTuple(href:String))-instance-method","name":"access_group=","abstract":false,"args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"args_string":"(access_group : NamedTuple(href: String))","args_html":"(access_group : NamedTuple(href: String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L175"},"def":{"name":"access_group=","args":[{"name":"access_group","external_name":"access_group","restriction":"NamedTuple(href: String)"}],"visibility":"Public","body":"@access_group = access_group"}},{"html_id":"from:Time|Nil-instance-method","name":"from","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from","return_type":"Time | ::Nil","visibility":"Public","body":"@from"}},{"html_id":"from=(from:Time|Nil)-instance-method","name":"from=","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"args_string":"(from : Time | Nil)","args_html":"(from : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L177"},"def":{"name":"from=","args":[{"name":"from","external_name":"from","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@from = from"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L172"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"until:Time|Nil-instance-method","name":"until","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until","return_type":"Time | ::Nil","visibility":"Public","body":"@until"}},{"html_id":"until=(until__arg0:Time|Nil)-instance-method","name":"until=","abstract":false,"args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"args_string":"(until __arg0 : Time | Nil)","args_html":"(until __arg0 : Time | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L178"},"def":{"name":"until=","args":[{"name":"__arg0","external_name":"until","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@until = __arg0"}}]},{"html_id":"drivers/Gallagher/CardType","path":"Gallagher/CardType.html","kind":"class","full_name":"Gallagher::CardType","name":"CardType","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_card_states:Array(String)-instance-method","name":"available_card_states","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states","return_type":"Array(String)","visibility":"Public","body":"@available_card_states"}},{"html_id":"available_card_states=(available_card_states:Array(String))-instance-method","name":"available_card_states=","abstract":false,"args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"args_string":"(available_card_states : Array(String))","args_html":"(available_card_states : Array(String))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L103"},"def":{"name":"available_card_states=","args":[{"name":"available_card_states","external_name":"available_card_states","restriction":"Array(String)"}],"visibility":"Public","body":"@available_card_states = available_card_states"}},{"html_id":"credential_class:String-instance-method","name":"credential_class","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class","return_type":"String","visibility":"Public","body":"@credential_class"}},{"html_id":"credential_class=(credential_class:String)-instance-method","name":"credential_class=","abstract":false,"args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"args_string":"(credential_class : String)","args_html":"(credential_class : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L106"},"def":{"name":"credential_class=","args":[{"name":"credential_class","external_name":"credential_class","restriction":"String"}],"visibility":"Public","body":"@credential_class = credential_class"}},{"html_id":"facility_code:String-instance-method","name":"facility_code","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code","return_type":"String","visibility":"Public","body":"@facility_code"}},{"html_id":"facility_code=(facility_code:String)-instance-method","name":"facility_code=","abstract":false,"args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"args_string":"(facility_code : String)","args_html":"(facility_code : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L100"},"def":{"name":"facility_code=","args":[{"name":"facility_code","external_name":"facility_code","restriction":"String"}],"visibility":"Public","body":"@facility_code = facility_code"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L97"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L95"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"maximum_number:String|Nil-instance-method","name":"maximum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number","return_type":"String | ::Nil","visibility":"Public","body":"@maximum_number"}},{"html_id":"maximum_number=(maximum_number:String|Nil)-instance-method","name":"maximum_number=","abstract":false,"args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"args_string":"(maximum_number : String | Nil)","args_html":"(maximum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L112"},"def":{"name":"maximum_number=","args":[{"name":"maximum_number","external_name":"maximum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@maximum_number = maximum_number"}},{"html_id":"minimum_number:String|Nil-instance-method","name":"minimum_number","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number","return_type":"String | ::Nil","visibility":"Public","body":"@minimum_number"}},{"html_id":"minimum_number=(minimum_number:String|Nil)-instance-method","name":"minimum_number=","abstract":false,"args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"args_string":"(minimum_number : String | Nil)","args_html":"(minimum_number : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L109"},"def":{"name":"minimum_number=","args":[{"name":"minimum_number","external_name":"minimum_number","restriction":"String | ::Nil"}],"visibility":"Public","body":"@minimum_number = minimum_number"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L96"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/DoorDetails","path":"Gallagher/DoorDetails.html","kind":"class","full_name":"Gallagher::DoorDetails","name":"DoorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L38"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L36"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L43"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L41"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L42"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Gallagher/Event","path":"Gallagher/Event.html","kind":"struct","full_name":"Gallagher::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L227"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L228"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card:Card|Nil-instance-method","name":"card","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L238"},"def":{"name":"card","return_type":"Card | ::Nil","visibility":"Public","body":"@card"}},{"html_id":"cardholder:IdName|Nil-instance-method","name":"cardholder","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L239"},"def":{"name":"cardholder","return_type":"IdName | ::Nil","visibility":"Public","body":"@cardholder"}},{"html_id":"group:IdName-instance-method","name":"group","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L230"},"def":{"name":"group","return_type":"IdName","visibility":"Public","body":"@group"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L234"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"matching_type?(types:Array(Int32)|Nil)-instance-method","name":"matching_type?","abstract":false,"args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"args_string":"(types : Array(Int32) | Nil)","args_html":"(types : Array(Int32) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L241"},"def":{"name":"matching_type?","args":[{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"}],"visibility":"Public","body":"if types\nelse\n return true\nend\ntypes.map(&.to_s).includes?(type.id)\n"}},{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L236"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"source:IdName-instance-method","name":"source","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L232"},"def":{"name":"source","return_type":"IdName","visibility":"Public","body":"@source"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L235"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:IdName-instance-method","name":"type","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L231"},"def":{"name":"type","return_type":"IdName","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Gallagher/Events","path":"Gallagher/Events.html","kind":"struct","full_name":"Gallagher::Events","name":"Events","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L247"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L248"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(Event)-instance-method","name":"events","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L250"},"def":{"name":"events","return_type":"Array(Event)","visibility":"Public","body":"@events"}},{"html_id":"update_url-instance-method","name":"update_url","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L253"},"def":{"name":"update_url","visibility":"Public","body":"updates[:href]"}},{"html_id":"updates:NamedTuple(href:String)-instance-method","name":"updates","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L251"},"def":{"name":"updates","return_type":"NamedTuple(href: String)","visibility":"Public","body":"@updates"}}]},{"html_id":"drivers/Gallagher/IdName","path":"Gallagher/IdName.html","kind":"struct","full_name":"Gallagher::IdName","name":"IdName","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L220"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L221"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L223"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L224"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Gallagher/Invitation","path":"Gallagher/Invitation.html","kind":"class","full_name":"Gallagher::Invitation","name":"Invitation","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L119"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"href:String|Nil-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href","return_type":"String | ::Nil","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String|Nil)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(href : String | Nil)","args_html":"(href : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L126"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"@href = href"}},{"html_id":"mobile:String|Nil-instance-method","name":"mobile","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile","return_type":"String | ::Nil","visibility":"Public","body":"@mobile"}},{"html_id":"mobile=(mobile:String|Nil)-instance-method","name":"mobile=","abstract":false,"args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"args_string":"(mobile : String | Nil)","args_html":"(mobile : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L120"},"def":{"name":"mobile=","args":[{"name":"mobile","external_name":"mobile","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mobile = mobile"}},{"html_id":"single_factor_only:Bool|Nil-instance-method","name":"single_factor_only","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@single_factor_only"}},{"html_id":"single_factor_only=(single_factor_only:Bool|Nil)-instance-method","name":"single_factor_only=","abstract":false,"args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"args_string":"(single_factor_only : Bool | Nil)","args_html":"(single_factor_only : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L123"},"def":{"name":"single_factor_only=","args":[{"name":"single_factor_only","external_name":"single_factor_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@single_factor_only = single_factor_only"}},{"html_id":"status:String|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status","return_type":"String | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String|Nil)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"args_string":"(status : String | Nil)","args_html":"(status : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L125"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String | ::Nil"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/Gallagher/PDF","path":"Gallagher/PDF.html","kind":"class","full_name":"Gallagher::PDF","name":"PDF","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"doc":"Personal Data Field","summary":"

Personal Data Field

","constructors":[{"html_id":"new(id:String,name:String,href:String)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"args_string":"(id : String, name : String, href : String)","args_html":"(id : String, name : String, href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"href","external_name":"href","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, href)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L16"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default:String|Nil-instance-method","name":"default","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default","return_type":"String | ::Nil","visibility":"Public","body":"@default"}},{"html_id":"default=(default:String|Nil)-instance-method","name":"default=","abstract":false,"args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"args_string":"(default : String | Nil)","args_html":"(default : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L31"},"def":{"name":"default=","args":[{"name":"default","external_name":"default","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default = default"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L32"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"href=(href:String)-instance-method","name":"href=","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L24"},"def":{"name":"href=","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"@href = href"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L23"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"required:Bool|Nil-instance-method","name":"required","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required","return_type":"Bool | ::Nil","visibility":"Public","body":"@required"}},{"html_id":"required=(required:Bool|Nil)-instance-method","name":"required=","abstract":false,"args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"args_string":"(required : Bool | Nil)","args_html":"(required : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L29"},"def":{"name":"required=","args":[{"name":"required","external_name":"required","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@required = required"}},{"html_id":"server_display_name:String|Nil-instance-method","name":"server_display_name","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name","return_type":"String | ::Nil","visibility":"Public","body":"@server_display_name"}},{"html_id":"server_display_name=(server_display_name:String|Nil)-instance-method","name":"server_display_name=","abstract":false,"args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"args_string":"(server_display_name : String | Nil)","args_html":"(server_display_name : String | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L27"},"def":{"name":"server_display_name=","args":[{"name":"server_display_name","external_name":"server_display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@server_display_name = server_display_name"}},{"html_id":"unique:Bool|Nil-instance-method","name":"unique","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique","return_type":"Bool | ::Nil","visibility":"Public","body":"@unique"}},{"html_id":"unique=(unique:Bool|Nil)-instance-method","name":"unique=","abstract":false,"args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"args_string":"(unique : Bool | Nil)","args_html":"(unique : Bool | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L30"},"def":{"name":"unique=","args":[{"name":"unique","external_name":"unique","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@unique = unique"}}]},{"html_id":"drivers/Gallagher/RestAPI","path":"Gallagher/RestAPI.html","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"instance_methods":[{"html_id":"cardholder_exists?(filter:String)-instance-method","name":"cardholder_exists?","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L343"},"def":{"name":"cardholder_exists?","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"!(query_cardholders(filter)).empty?"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L110"},"def":{"name":"connected","visibility":"Public","body":"query_endpoints"}},{"html_id":"create_cardholder(first_name:String,last_name:String,description:String=\"acardholder\",authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"create_cardholder","doc":"#\nCreate a new cardholder.\n@param first_name [String] The first name of the new cardholder. Either this or last name is required (but we should assume both are for most instances).\n@param last_name [String] The last name of the new cardholder. Either this or first name is required (but we should assume both are for most instances).\n@option options [String] :division The division to add the cardholder to. This is required when making the request to create the cardholder but if none is passed the `default_division` is used.\n@option options [Hash] :pdfs A hash containing all PDFs to add to the user in the form `{ some_pdf_name: some_pdf_value, another_pdf_name: another_pdf_value }`.\n@option options [Array] :cards An array of cards to be added to this cardholder which can include both virtual and physical cards.\n@option options [Array] :access_groups An array of access groups to add this cardholder to. These may include `from` and `until` fields to dictate temporary access.\n@option options [Array] :competencies An array of competencies to add this cardholder to.\n@return [Hash] The cardholder that was created.","summary":"

\n \n \nCreate a new cardholder.

","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(first_name : String, last_name : String, description : String = \"a cardholder\", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(first_name : String, last_name : String, description : String = "a cardholder", authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L257"},"def":{"name":"create_cardholder","args":[{"name":"first_name","external_name":"first_name","restriction":"String"},{"name":"last_name","external_name":"last_name","restriction":"String"},{"name":"description","default_value":"\"a cardholder\"","external_name":"description","restriction":"String"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"short_name || (short_name = \"#{first_name} #{last_name}\")\nshort_name = short_name[0..15]\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, cards, access_groups, division_href || @default_division.not_nil!)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = post(@cardholders_endpoint, headers: @headers, body: payload)\nCardholder.from_json(process(response))\n"}},{"html_id":"delete_card(href:String)-instance-method","name":"delete_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L338"},"def":{"name":"delete_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = delete(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"failed to delete card #{href}\")\nend\n"}},{"html_id":"delete_href(href:String)-instance-method","name":"delete_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L425"},"def":{"name":"delete_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"delete_card(href)"}},{"html_id":"disable_card(href:String)-instance-method","name":"disable_card","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L331"},"def":{"name":"disable_card","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"uri = get_path(href)\ncardholder_id = (uri.split('/'))[-3]\ncard = Card.new(uri, {value: @disabled_card_value, type: nil.as(String | ::Nil)})\nupdate_cardholder(cardholder_id, update_cards: [card])\n"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":465,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L465"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"doors.map do |d|\n Door.new(d.id, d.name)\nend"}},{"html_id":"doors-instance-method","name":"doors","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":455,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L455"},"def":{"name":"doors","visibility":"Public","body":"response = get(@doors_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\n(NamedTuple(results: Array(DoorDetails)).from_json(response.body))[:results]\n"}},{"html_id":"get_access_group(id:String)-instance-method","name":"get_access_group","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":354,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L354"},"def":{"name":"get_access_group","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"access group request failed with #{response.status_code}\\n#{response.body}\")\nend\nAccessGroup.from_json(response.body)\n"}},{"html_id":"get_access_group_members(id:String)-instance-method","name":"get_access_group_members","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L368"},"def":{"name":"get_access_group_members","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@access_groups_endpoint}/#{id}/cardholders\", headers: @headers)\nif response.success?\nelse\n raise(\"access group members request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroupMembership, response.body)\n"}},{"html_id":"get_access_groups(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_access_groups","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L360"},"def":{"name":"get_access_groups","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@access_groups_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"access groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(AccessGroup, response.body)\n"}},{"html_id":"get_base64_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_base64_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L209"},"def":{"name":"get_base64_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nBase64.strict_encode(response.body)\n"}},{"html_id":"get_card_type(id:String|Int32|Nil=nil)-instance-method","name":"get_card_type","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"args_string":"(id : String | Int32 | Nil = nil)","args_html":"(id : String | Int32 | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L240"},"def":{"name":"get_card_type","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | Int32 | Nil"}],"visibility":"Public","body":"card = (id || @default_card_type) || (raise(\"no default card type provided\"))\nresponse = get(\"#{@card_types_endpoint}/#{card}\", headers: @headers)\nif response.success?\nelse\n raise(\"card type request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardType.from_json(response.body)\n"}},{"html_id":"get_cardholder(id:String)-instance-method","name":"get_cardholder","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L216"},"def":{"name":"get_cardholder","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder request failed with #{response.status_code}\\n#{response.body}\")\nend\nCardholder.from_json(response.body)\n"}},{"html_id":"get_division(id:String)-instance-method","name":"get_division","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L374"},"def":{"name":"get_division","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = get(\"#{@divisions_endpoint}/#{id}\", headers: @headers)\nif response.success?\nelse\n raise(\"division request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_divisions(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_divisions","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L380"},"def":{"name":"get_divisions","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@divisions_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"divisions request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(JSON::Any, response.body)\n"}},{"html_id":"get_event_groups-instance-method","name":"get_event_groups","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":395,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L395"},"def":{"name":"get_event_groups","visibility":"Public","body":"response = get(\"#{@events_endpoint}/groups\", headers: @headers)\nif response.success?\nelse\n raise(\"event groups request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_events-instance-method","name":"get_events","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":389,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L389"},"def":{"name":"get_events","visibility":"Public","body":"response = get(@events_endpoint, headers: @headers)\nif response.success?\nelse\n raise(\"events request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_href(href:String)-instance-method","name":"get_href","abstract":false,"args":[{"name":"href","external_name":"href","restriction":"String"}],"args_string":"(href : String)","args_html":"(href : String)","location":{"filename":"src/gallagher/rest_api.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L419"},"def":{"name":"get_href","args":[{"name":"href","external_name":"href","restriction":"String"}],"visibility":"Public","body":"response = get(get_path(href), headers: @headers)\nif response.success?\nelse\n raise(\"generic request failed with #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_pdf(user_id:String,pdf_id:String|UInt64)-instance-method","name":"get_pdf","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"args_string":"(user_id : String, pdf_id : String | UInt64)","args_html":"(user_id : String, pdf_id : String | UInt64)","location":{"filename":"src/gallagher/rest_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L203"},"def":{"name":"get_pdf","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"pdf_id","external_name":"pdf_id","restriction":"String | UInt64"}],"visibility":"Public","body":"response = get(\"#{@cardholders_endpoint}/#{user_id}/personal_data/#{pdf_id}\", headers: @headers)\nif response.success?\nelse\n raise(\"cardholder PDF request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_pdfs(name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"get_pdfs","doc":"#\nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.\nThey will usually be for things like email address, employee ID or some other field specific to whoever is hosting the Gallagher instance.\nAllows retrieval of the PDFs used in the Gallagher instance, primarily so we can get the PDF's ID and use that to filter cardholders based on that PDF.\n\n@param name [String] The name of the PDF which we want to retrieve. This will only return one result (as the PDF names are unique).\n@return [Hash] A list of PDF results and a next link for pagination (we will generally have less than 100 PDFs so 'next' link will mostly be unused):\n@example An example response:\n {\n \"results\": [\n {\n \"name\": \"email\",\n \"id\": \"5516\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/5516\"\n },\n {\n \"name\": \"cellphone\",\n \"id\": \"9998\",\n \"href\": \"https://localhost:8904/api/personal_data_fields/9998\",\n \"serverDisplayName\": \"Site B\"\n }\n ],\n \"next\": {\n \"href\": \"https://localhost:8904/api/personal_data_fields?pos=900&sort=id\"\n }\n }","summary":"

\n \n \nPersonal Data Fields (PDFs) are custom fields that Gallagher allows definintions of on a site-by-site basis.

","abstract":false,"args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(name : String | Nil = nil, exact_match : Bool = true)","args_html":"(name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L195"},"def":{"name":"get_pdfs","args":[{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"if name && exact_match\n name = \"\\\"#{name}\\\"\"\nend\nresponse = get(@pdfs_endpoint, headers: @headers, params: {\"top\" => \"10000\", \"name\" => name}.compact)\nif response.success?\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(PDF, response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nspawn do\n event_monitor\nend\nschedule.every(1.minutes) do\n query_endpoints\nend\ntransport.before_request do |req|\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L73"},"def":{"name":"on_unload","visibility":"Public","body":"@poll_events = false"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L85"},"def":{"name":"on_update","visibility":"Public","body":"api_key = setting(String, :api_key)\n@api_key = \"GGL-API-KEY #{api_key}\"\n@door_event_channel = (setting?(String, :door_event_channel)) || \"event\"\nnew_map = {} of String => EventMap\n((setting?(Array(EventMap), :event_mappings)) || ([] of EventMap)).each do |event|\n new_map[event.group.to_s] = event\nend\n@event_map = new_map\n@unique_pdf_name = setting(String, :unique_pdf_name)\n@default_division = setting?(String, :default_division_href)\n@default_facility_code = setting?(String, :default_facility_code)\n@default_card_type = setting?(String, :default_card_type_href)\n@default_access_group = setting?(String, :default_access_group_href)\n@disabled_card_value = (setting(::Union(String, ::Nil), :disabled_card_value)) || \"Disabled (manually)\"\n@headers = {\"Authorization\" => @api_key, \"Content-Type\" => \"application/json\"}\n"}},{"html_id":"query_card_types-instance-method","name":"query_card_types","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L234"},"def":{"name":"query_card_types","visibility":"Public","body":"response = get(@card_types_endpoint, {\"top\" => \"10000\"}, headers: @headers)\nif response.success?\nelse\n raise(\"card types request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(CardType, response.body)\n"}},{"html_id":"query_cardholders(filter:String,pdf_name:String|Nil=nil,exact_match:Bool=true)-instance-method","name":"query_cardholders","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"args_string":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","args_html":"(filter : String, pdf_name : String | Nil = nil, exact_match : Bool = true)","location":{"filename":"src/gallagher/rest_api.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L222"},"def":{"name":"query_cardholders","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"pdf_name","default_value":"nil","external_name":"pdf_name","restriction":"String | ::Nil"},{"name":"exact_match","default_value":"true","external_name":"exact_match","restriction":"Bool"}],"visibility":"Public","body":"pdf_id = \"pdf_\" + (pdf_name ? (get_pdfs(pdf_name)).first.id : @fixed_pdf_id).not_nil!\nquery = {pdf_id => exact_match ? \"\\\"#{filter}\\\"\" : filter, \"top\" => \"10000\"}\nresponse = get(@cardholders_endpoint, query, headers: @headers)\nif response.success?\nelse\n raise(\"cardholder query request failed with #{response.status_code}\\n#{response.body}\")\nend\nget_results(Cardholder, response.body)\n"}},{"html_id":"query_endpoints-instance-method","name":"query_endpoints","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L127"},"def":{"name":"query_endpoints","visibility":"Public","body":"response = get(\"/api\", headers: @headers)\nif response.success?\nelse\n raise(\"endpoints request failed with #{response.status_code}\\n#{response.body}\")\nend\npayload = JSON.parse(response.body)\nlogger.debug do\n \"endpoints query returned:\\n#{payload.inspect}\"\nend\napi_version = SemanticVersion.parse((payload[\"version\"].as_s.split('.'))[0..2].join('.'))\n@cardholders_endpoint = get_path(payload[\"features\"][\"cardholders\"][\"cardholders\"][\"href\"].as_s)\n@divisions_endpoint = @cardholders_endpoint.sub(\"cardholders\", \"divisions\")\n@access_groups_endpoint = get_path(payload[\"features\"][\"accessGroups\"][\"accessGroups\"][\"href\"].as_s)\n@events_endpoint = get_path(payload[\"features\"][\"events\"][\"events\"][\"href\"].as_s)\n@doors_endpoint = get_path(payload[\"features\"][\"doors\"][\"doors\"][\"href\"].as_s)\nif api_version >= (SemanticVersion.parse(\"8.10.0\"))\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"assign\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"personalDataFields\"][\"personalDataFields\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name}, @headers)\nelse\n @card_types_endpoint = get_path(payload[\"features\"][\"cardTypes\"][\"cardTypes\"][\"href\"].as_s)\n @pdfs_endpoint = get_path(payload[\"features\"][\"items\"][\"items\"][\"href\"].as_s)\n response = get(@pdfs_endpoint, {\"name\" => @unique_pdf_name, \"type\" => \"33\"}, @headers)\nend\nif response.success?\n logger.debug do\n \"PDFS request returned:\\n#{response.body}\"\n end\nelse\n raise(\"PDFS request failed with #{response.status_code}\\n#{response.body}\")\nend\nresults = (JSON.parse(response.body))[\"results\"].as_a\nif results.empty?\nelse\n @fixed_pdf_id = results.first[\"id\"].as_s\nend\n"}},{"html_id":"remove_cardholder_access(id:String|Nil=nil,href:String|Nil=nil)-instance-method","name":"remove_cardholder_access","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":347,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L347"},"def":{"name":"remove_cardholder_access","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"}],"visibility":"Public","body":"update_cardholder(id, href, authorised: false)"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/gallagher/rest_api.cr","line_number":469,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L469"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"response = post(\"#{@doors_endpoint}/#{door_id}/open\", headers: @headers)\nresponse.success?\n"}},{"html_id":"update_cardholder(id:String|Nil=nil,href:String|Nil=nil,first_name:String|Nil=nil,last_name:String|Nil=nil,description:String|Nil=nil,authorised:Bool=true,pdfs:Hash(String,String)|Nil=nil,cards:Array(Card)|Nil=nil,remove_cards:Array(Card)|Nil=nil,update_cards:Array(Card)|Nil=nil,access_groups:Array(CardholderAccessGroup)|Nil=nil,remove_access_groups:Array(CardholderAccessGroup)|Nil=nil,update_access_groups:Array(CardholderAccessGroup)|Nil=nil,short_name:String|Nil=nil,division_href:String|Nil=nil)-instance-method","name":"update_cardholder","abstract":false,"args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"args_string":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","args_html":"(id : String | Nil = nil, href : String | Nil = nil, first_name : String | Nil = nil, last_name : String | Nil = nil, description : String | Nil = nil, authorised : Bool = true, pdfs : Hash(String, String) | Nil = nil, cards : Array(Card) | Nil = nil, remove_cards : Array(Card) | Nil = nil, update_cards : Array(Card) | Nil = nil, access_groups : Array(CardholderAccessGroup) | Nil = nil, remove_access_groups : Array(CardholderAccessGroup) | Nil = nil, update_access_groups : Array(CardholderAccessGroup) | Nil = nil, short_name : String | Nil = nil, division_href : String | Nil = nil)","location":{"filename":"src/gallagher/rest_api.cr","line_number":284,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L284"},"def":{"name":"update_cardholder","args":[{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"},{"name":"href","default_value":"nil","external_name":"href","restriction":"String | ::Nil"},{"name":"first_name","default_value":"nil","external_name":"first_name","restriction":"String | ::Nil"},{"name":"last_name","default_value":"nil","external_name":"last_name","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"authorised","default_value":"true","external_name":"authorised","restriction":"Bool"},{"name":"pdfs","default_value":"nil","external_name":"pdfs","restriction":"Hash(String, String) | ::Nil"},{"name":"cards","default_value":"nil","external_name":"cards","restriction":"Array(Card) | ::Nil"},{"name":"remove_cards","default_value":"nil","external_name":"remove_cards","restriction":"Array(Card) | ::Nil"},{"name":"update_cards","default_value":"nil","external_name":"update_cards","restriction":"Array(Card) | ::Nil"},{"name":"access_groups","default_value":"nil","external_name":"access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"remove_access_groups","default_value":"nil","external_name":"remove_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"update_access_groups","default_value":"nil","external_name":"update_access_groups","restriction":"Array(CardholderAccessGroup) | ::Nil"},{"name":"short_name","default_value":"nil","external_name":"short_name","restriction":"String | ::Nil"},{"name":"division_href","default_value":"nil","external_name":"division_href","restriction":"String | ::Nil"}],"visibility":"Public","body":"url = href ? get_path(href) : \"#{@cardholders_endpoint}/#{id.not_nil!}\"\nif (cards || remove_cards) || update_cards\n card_updates = {} of String => Array(Card)\n if cards\n card_updates[\"add\"] = cards\n end\n if update_cards\n card_updates[\"update\"] = update_cards\n end\n if remove_cards\n card_updates[\"remove\"] = remove_cards\n end\nend\nif (access_groups || remove_access_groups) || update_access_groups\n groups_update = {} of String => Array(CardholderAccessGroup)\n if access_groups\n groups_update[\"add\"] = access_groups\n end\n if update_access_groups\n groups_update[\"update\"] = update_access_groups\n end\n if remove_access_groups\n groups_update[\"remove\"] = remove_access_groups\n end\nend\npayload = (Cardholder.new(first_name, last_name, short_name, description, authorised, card_updates, groups_update, division_href)).to_json\nif pdfs && (!pdfs.empty?)\n payload = \"#{payload[0..-2]},#{pdfs.transform_keys do |key|\n \"@#{key}\"\n end.to_json[1..-1]}\"\nend\nresponse = patch(url, headers: @headers, body: payload)\nresult = process(response)\nresult.presence && (Cardholder.from_json(result))\n"}}],"macros":[{"html_id":"get_results(klass,response)-macro","name":"get_results","abstract":false,"args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"args_string":"(klass, response)","args_html":"(klass, response)","location":{"filename":"src/gallagher/rest_api.cr","line_number":401,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L401"},"def":{"name":"get_results","args":[{"name":"klass","external_name":"klass","restriction":""},{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":" \n%results\n = Results(\n{{ klass }}\n).from_json \n{{ response }}\n\n \n%result_array\n = \n%results\n.results\n loop do\n \n%next_uri\n = \n%results\n.next_uri\n break unless \n%next_uri\n\n \n%results\n = Results(\n{{ klass }}\n).from_json(get_raw(\n%next_uri\n[:href]))\n \n%result_array\n.concat \n%results\n.results\n \nend\n \n%result_array\n\n \n"}}],"types":[{"html_id":"drivers/Gallagher/RestAPI/BadRequest","path":"Gallagher/RestAPI/BadRequest.html","kind":"class","full_name":"Gallagher::RestAPI::BadRequest","name":"BadRequest","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":453,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L453"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/Conflict","path":"Gallagher/RestAPI/Conflict.html","kind":"class","full_name":"Gallagher::RestAPI::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":449,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L449"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}},{"html_id":"drivers/Gallagher/RestAPI/EventMap","path":"Gallagher/RestAPI/EventMap.html","kind":"struct","full_name":"Gallagher::RestAPI::EventMap","name":"EventMap","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"},"constructors":[{"html_id":"new(group:Int32,types:Array(Int32)|Nil,action:Action)-class-method","name":"new","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"args_string":"(group : Int32, types : Array(Int32) | Nil, action : Action)","args_html":"(group : Int32, types : Array(Int32) | Nil, action : Action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"new","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"types","external_name":"types","restriction":"Array(Int32) | ::Nil"},{"name":"action","external_name":"action","restriction":"Action"}],"visibility":"Public","body":"_ = allocate\n_.initialize(group, types, action)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L60"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Action-instance-method","name":"action","abstract":false,"def":{"name":"action","return_type":"Action","visibility":"Public","body":"@action"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@group.clone, @types.clone, @action.clone)"}},{"html_id":"copy_with(group_group=@group,types_types=@types,action_action=@action)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"args_string":"(group _group = @group, types _types = @types, action _action = @action)","args_html":"(group _group = @group, types _types = @types, action _action = @action)","location":{"filename":"src/gallagher/rest_api.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L59"},"def":{"name":"copy_with","args":[{"name":"_group","default_value":"@group","external_name":"group","restriction":""},{"name":"_types","default_value":"@types","external_name":"types","restriction":""},{"name":"_action","default_value":"@action","external_name":"action","restriction":""}],"visibility":"Public","body":"self.class.new(_group, _types, _action)"}},{"html_id":"group:Int32-instance-method","name":"group","abstract":false,"def":{"name":"group","return_type":"Int32","visibility":"Public","body":"@group"}},{"html_id":"types:Array(Int32)|Nil-instance-method","name":"types","abstract":false,"def":{"name":"types","return_type":"Array(Int32) | ::Nil","visibility":"Public","body":"@types"}}]},{"html_id":"drivers/Gallagher/RestAPI/NotFound","path":"Gallagher/RestAPI/NotFound.html","kind":"class","full_name":"Gallagher::RestAPI::NotFound","name":"NotFound","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api.cr","line_number":451,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api.cr#L451"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gallagher/RestAPI","kind":"class","full_name":"Gallagher::RestAPI","name":"RestAPI"}}]},{"html_id":"drivers/Gallagher/Results","path":"Gallagher/Results.html","kind":"class","full_name":"Gallagher::Results(ResultType)","name":"Results","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gallagher/rest_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gallagher","kind":"module","full_name":"Gallagher","name":"Gallagher"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_uri:NamedTuple(href:String)|Nil-instance-method","name":"next_uri","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri","return_type":"NamedTuple(href: String) | ::Nil","visibility":"Public","body":"@next_uri"}},{"html_id":"next_uri=(next_uri:NamedTuple(href:String)|Nil)-instance-method","name":"next_uri=","abstract":false,"args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"args_string":"(next_uri : NamedTuple(href: String) | Nil)","args_html":"(next_uri : NamedTuple(href: String) | Nil)","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L11"},"def":{"name":"next_uri=","args":[{"name":"next_uri","external_name":"next_uri","restriction":"NamedTuple(href: String) | ::Nil"}],"visibility":"Public","body":"@next_uri = next_uri"}},{"html_id":"results:Array(ResultType)-instance-method","name":"results","abstract":false,"location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results","return_type":"Array(ResultType)","visibility":"Public","body":"@results"}},{"html_id":"results=(results:Array(ResultType))-instance-method","name":"results=","abstract":false,"args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"args_string":"(results : Array(ResultType))","args_html":"(results : Array(ResultType))","location":{"filename":"src/gallagher/rest_api_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gallagher/rest_api_models.cr#L8"},"def":{"name":"results=","args":[{"name":"results","external_name":"results","restriction":"Array(ResultType)"}],"visibility":"Public","body":"@results = results"}}]}]},{"html_id":"drivers/Gantner","path":"Gantner.html","kind":"module","full_name":"Gantner","name":"Gantner","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Gantner/Relaxx","path":"Gantner/Relaxx.html","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx","abstract":false,"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner","kind":"module","full_name":"Gantner","name":"Gantner"},"types":[{"html_id":"drivers/Gantner/Relaxx/Locker","path":"Gantner/Relaxx/Locker.html","kind":"class","full_name":"Gantner::Relaxx::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:Int32-instance-method","name":"address","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address","return_type":"Int32","visibility":"Public","body":"@address"}},{"html_id":"address=(address:Int32)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"Int32"}],"args_string":"(address : Int32)","args_html":"(address : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L58"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"Int32"}],"visibility":"Public","body":"@address = address"}},{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"card_id=(card_id:String)-instance-method","name":"card_id=","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"args_string":"(card_id : String)","args_html":"(card_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L80"},"def":{"name":"card_id=","args":[{"name":"card_id","external_name":"card_id","restriction":"String"}],"visibility":"Public","body":"@card_id = card_id"}},{"html_id":"group_id:String-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id","return_type":"String","visibility":"Public","body":"@group_id"}},{"html_id":"group_id=(group_id:String)-instance-method","name":"group_id=","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L49"},"def":{"name":"group_id=","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"@group_id = group_id"}},{"html_id":"group_name:String-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name","return_type":"String","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:String)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"args_string":"(group_name : String)","args_html":"(group_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L52"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"String"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L46"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"is_deleted:Bool-instance-method","name":"is_deleted","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted","return_type":"Bool","visibility":"Public","body":"@is_deleted"}},{"html_id":"is_deleted=(is_deleted:Bool)-instance-method","name":"is_deleted=","abstract":false,"args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"args_string":"(is_deleted : Bool)","args_html":"(is_deleted : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L71"},"def":{"name":"is_deleted=","args":[{"name":"is_deleted","external_name":"is_deleted","restriction":"Bool"}],"visibility":"Public","body":"@is_deleted = is_deleted"}},{"html_id":"is_existing:Bool-instance-method","name":"is_existing","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing","return_type":"Bool","visibility":"Public","body":"@is_existing"}},{"html_id":"is_existing=(is_existing:Bool)-instance-method","name":"is_existing=","abstract":false,"args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"args_string":"(is_existing : Bool)","args_html":"(is_existing : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L74"},"def":{"name":"is_existing=","args":[{"name":"is_existing","external_name":"is_existing","restriction":"Bool"}],"visibility":"Public","body":"@is_existing = is_existing"}},{"html_id":"is_free:Bool-instance-method","name":"is_free","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free","return_type":"Bool","visibility":"Public","body":"@is_free"}},{"html_id":"is_free=(is_free:Bool)-instance-method","name":"is_free=","abstract":false,"args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"args_string":"(is_free : Bool)","args_html":"(is_free : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L68"},"def":{"name":"is_free=","args":[{"name":"is_free","external_name":"is_free","restriction":"Bool"}],"visibility":"Public","body":"@is_free = is_free"}},{"html_id":"last_closed:String-instance-method","name":"last_closed","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed","return_type":"String","visibility":"Public","body":"@last_closed"}},{"html_id":"last_closed=(last_closed:String)-instance-method","name":"last_closed=","abstract":false,"args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"args_string":"(last_closed : String)","args_html":"(last_closed : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L77"},"def":{"name":"last_closed=","args":[{"name":"last_closed","external_name":"last_closed","restriction":"String"}],"visibility":"Public","body":"@last_closed = last_closed"}},{"html_id":"locker_mode-instance-method","name":"locker_mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L86"},"def":{"name":"locker_mode","visibility":"Public","body":"LockerMode.from_value(self.mode)"}},{"html_id":"locker_number:String-instance-method","name":"locker_number","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number","return_type":"String","visibility":"Public","body":"@locker_number"}},{"html_id":"locker_number=(locker_number:String)-instance-method","name":"locker_number=","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"args_string":"(locker_number : String)","args_html":"(locker_number : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L55"},"def":{"name":"locker_number=","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"}],"visibility":"Public","body":"@locker_number = locker_number"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L82"},"def":{"name":"locker_state","visibility":"Public","body":"LockerState.from_value(self.state)"}},{"html_id":"mode:Int32-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode","return_type":"Int32","visibility":"Public","body":"@mode"}},{"html_id":"mode=(mode:Int32)-instance-method","name":"mode=","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32)","args_html":"(mode : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L64"},"def":{"name":"mode=","args":[{"name":"mode","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"@mode = mode"}},{"html_id":"state:Int32-instance-method","name":"state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state","return_type":"Int32","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int32)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int32"}],"args_string":"(state : Int32)","args_html":"(state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L61"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int32"}],"visibility":"Public","body":"@state = state"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerEvent","path":"Gantner/Relaxx/LockerEvent.html","kind":"enum","full_name":"Gantner::Relaxx::LockerEvent","name":"LockerEvent","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L91"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Opened","name":"Opened","value":"0"},{"id":"Closed","name":"Closed","value":"1"},{"id":"Enabled","name":"Enabled","value":"2"},{"id":"Disabled","name":"Disabled","value":"3"},{"id":"Alarmed","name":"Alarmed","value":"4"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L96"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L93"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L95"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"enabled?-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L94"},"def":{"name":"enabled?","visibility":"Public","body":"self == Enabled"}},{"html_id":"opened?-instance-method","name":"opened?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L92"},"def":{"name":"opened?","visibility":"Public","body":"self == Opened"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerMode","path":"Gantner/Relaxx/LockerMode.html","kind":"enum","full_name":"Gantner::Relaxx::LockerMode","name":"LockerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"NotExisting","name":"NotExisting","value":"1"},{"id":"FreeLocker","name":"FreeLocker","value":"2"},{"id":"PersonalLocker","name":"PersonalLocker","value":"3"},{"id":"ReservableLocker","name":"ReservableLocker","value":"4"},{"id":"DynamicLocker","name":"DynamicLocker","value":"5"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"dynamic_locker?-instance-method","name":"dynamic_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L39"},"def":{"name":"dynamic_locker?","visibility":"Public","body":"self == DynamicLocker"}},{"html_id":"free_locker?-instance-method","name":"free_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L36"},"def":{"name":"free_locker?","visibility":"Public","body":"self == FreeLocker"}},{"html_id":"not_existing?-instance-method","name":"not_existing?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L35"},"def":{"name":"not_existing?","visibility":"Public","body":"self == NotExisting"}},{"html_id":"personal_locker?-instance-method","name":"personal_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L37"},"def":{"name":"personal_locker?","visibility":"Public","body":"self == PersonalLocker"}},{"html_id":"reservable_locker?-instance-method","name":"reservable_locker?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L38"},"def":{"name":"reservable_locker?","visibility":"Public","body":"self == ReservableLocker"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L34"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerNotification","path":"Gantner/Relaxx/LockerNotification.html","kind":"class","full_name":"Gantner::Relaxx::LockerNotification","name":"LockerNotification","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L115"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"area_name:String-instance-method","name":"area_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name","return_type":"String","visibility":"Public","body":"@area_name"}},{"html_id":"area_name=(area_name:String)-instance-method","name":"area_name=","abstract":false,"args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"args_string":"(area_name : String)","args_html":"(area_name : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L118"},"def":{"name":"area_name=","args":[{"name":"area_name","external_name":"area_name","restriction":"String"}],"visibility":"Public","body":"@area_name = area_name"}},{"html_id":"event:Int32-instance-method","name":"event","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event","return_type":"Int32","visibility":"Public","body":"@event"}},{"html_id":"event=(event:Int32)-instance-method","name":"event=","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"Int32"}],"args_string":"(event : Int32)","args_html":"(event : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L103"},"def":{"name":"event=","args":[{"name":"event","external_name":"event","restriction":"Int32"}],"visibility":"Public","body":"@event = event"}},{"html_id":"group_name:Bool-instance-method","name":"group_name","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name","return_type":"Bool","visibility":"Public","body":"@group_name"}},{"html_id":"group_name=(group_name:Bool)-instance-method","name":"group_name=","abstract":false,"args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"args_string":"(group_name : Bool)","args_html":"(group_name : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L127"},"def":{"name":"group_name=","args":[{"name":"group_name","external_name":"group_name","restriction":"Bool"}],"visibility":"Public","body":"@group_name = group_name"}},{"html_id":"locker:Locker-instance-method","name":"locker","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker","return_type":"Locker","visibility":"Public","body":"@locker"}},{"html_id":"locker=(locker:Locker)-instance-method","name":"locker=","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"args_string":"(locker : Locker)","args_html":"(locker : Locker)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L112"},"def":{"name":"locker=","args":[{"name":"locker","external_name":"locker","restriction":"Locker"}],"visibility":"Public","body":"@locker = locker"}},{"html_id":"locker_state-instance-method","name":"locker_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L129"},"def":{"name":"locker_state","visibility":"Public","body":"self.locker.state"}},{"html_id":"prev_state:Int32-instance-method","name":"prev_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state","return_type":"Int32","visibility":"Public","body":"@prev_state"}},{"html_id":"prev_state=(prev_state:Int32)-instance-method","name":"prev_state=","abstract":false,"args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"args_string":"(prev_state : Int32)","args_html":"(prev_state : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L106"},"def":{"name":"prev_state=","args":[{"name":"prev_state","external_name":"prev_state","restriction":"Int32"}],"visibility":"Public","body":"@prev_state = prev_state"}},{"html_id":"previous_state-instance-method","name":"previous_state","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L133"},"def":{"name":"previous_state","visibility":"Public","body":"LockerState.from_value(self.prev_state)"}},{"html_id":"time:String-instance-method","name":"time","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time","return_type":"String","visibility":"Public","body":"@time"}},{"html_id":"time=(time:String)-instance-method","name":"time=","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"String"}],"args_string":"(time : String)","args_html":"(time : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L109"},"def":{"name":"time=","args":[{"name":"time","external_name":"time","restriction":"String"}],"visibility":"Public","body":"@time = time"}}]},{"html_id":"drivers/Gantner/Relaxx/LockerState","path":"Gantner/Relaxx/LockerState.html","kind":"enum","full_name":"Gantner::Relaxx::LockerState","name":"LockerState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Unknown","name":"Unknown","value":"0"},{"id":"Disabled","name":"Disabled","value":"1"},{"id":"Free","name":"Free","value":"2"},{"id":"InUse","name":"InUse","value":"3"},{"id":"Locked","name":"Locked","value":"4"},{"id":"Alarmed","name":"Alarmed","value":"5"},{"id":"InUseExpired","name":"InUseExpired","value":"6"},{"id":"Conflict","name":"Conflict","value":"7"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L28"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"conflict?-instance-method","name":"conflict?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L30"},"def":{"name":"conflict?","visibility":"Public","body":"self == Conflict"}},{"html_id":"disabled?-instance-method","name":"disabled?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L24"},"def":{"name":"disabled?","visibility":"Public","body":"self == Disabled"}},{"html_id":"free?-instance-method","name":"free?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L25"},"def":{"name":"free?","visibility":"Public","body":"self == Free"}},{"html_id":"in_use?-instance-method","name":"in_use?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L26"},"def":{"name":"in_use?","visibility":"Public","body":"self == InUse"}},{"html_id":"in_use_expired?-instance-method","name":"in_use_expired?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L29"},"def":{"name":"in_use_expired?","visibility":"Public","body":"self == InUseExpired"}},{"html_id":"locked?-instance-method","name":"locked?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L27"},"def":{"name":"locked?","visibility":"Public","body":"self == Locked"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L23"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Gantner/Relaxx/ProtocolJSON","path":"Gantner/Relaxx/ProtocolJSON.html","kind":"class","full_name":"Gantner::Relaxx::ProtocolJSON","name":"ProtocolJSON","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"instance_methods":[{"html_id":"close_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"close_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L115"},"def":{"name":"close_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(false, locker_number, locker_group)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"self[\"authenticated\"] = @authenticated = false\nrequest_auth_string\nschedule.every(40.seconds) do\n logger.debug do\n \"-- maintaining connection\"\n end\n @authenticated ? keep_alive : request_auth_string\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L58"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"keep_alive-instance-method","name":"keep_alive","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L62"},"def":{"name":"keep_alive","visibility":"Public","body":"send_frame({Caption: \"KeepAliveRequest\", Id: new_request_id}, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[3])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@password = (setting?(String, :password)) || \"GAT\""}},{"html_id":"open_locker(locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"open_locker","abstract":false,"args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(locker_number : String, locker_group : String | Nil = nil)","args_html":"(locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L111"},"def":{"name":"open_locker","args":[{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"set_open_state(true, locker_number, locker_group)"}},{"html_id":"query_lockers(free_only:Bool=false)-instance-method","name":"query_lockers","abstract":false,"args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"args_string":"(free_only : Bool = false)","args_html":"(free_only : Bool = false)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L147"},"def":{"name":"query_lockers","args":[{"name":"free_only","default_value":"false","external_name":"free_only","restriction":"Bool"}],"visibility":"Public","body":"send_frame({Caption: \"GetLockersRequest\", Id: new_request_id, FreeLockersOnly: free_only, PersonalLockersOnly: false})"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L156"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data))[1..-2]\nlogger.debug do\n \"Gantner Relaxx sent: #{data}\"\nend\njson = JSON.parse(data)\nif json[\"IsNotification\"].as_bool\n return parse_notify(json[\"Caption\"].as_s, data)\nend\nresult = Result.from_json(json[\"Result\"].to_json)\nif result.cancelled\n return task.try(&.abort(\"request cancelled, #{result.code}: #{result.text}\"))\nend\nif !result.successful\n return task.try(&.abort(\"request failed, #{result.code}: #{result.text}\"))\nend\ncase json[\"Caption\"].as_s\nwhen \"AuthenticationResponseA\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n return task.try(&.success)\n end\n login(json[\"AuthenticationString\"].as_s)\nwhen \"AuthenticationResponseB\"\n logged_in = json[\"LoggedIn\"].as_bool\n self[\"authenticated\"] = @authenticated = logged_in\n if logged_in\n logger.debug do\n \"authentication success\"\n end\n if @locker_ids.empty?\n query_lockers\n end\n else\n logger.warn do\n \"authentication failure - please check credentials\"\n end\n end\nwhen \"GetLockersResponse\"\n lockers = Array(Locker).from_json(json[\"Lockers\"].to_json)\n lockers.each do |locker|\n locker_id = locker.id\n @locker_ids << locker_id\n if locker.locker_state != LockerState::Free\n @lockers_in_use << locker_id\n self[\"locker_#{locker_id}\"] = locker.card_id\n else\n @lockers_in_use.delete(locker_id)\n end\n end\n self[:locker_ids] = @locker_ids\n self[:lockers_in_use] = @lockers_in_use\nwhen \"CommandNotSupportedResponse\"\n logger.warn do\n \"Command not supported!\"\n end\n return task.try(&.abort(\"Command not supported!\"))\nend\ntask.try(&.success)\n"}},{"html_id":"request_auth_string-instance-method","name":"request_auth_string","abstract":false,"location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L69"},"def":{"name":"request_auth_string","visibility":"Public","body":"send_frame({Caption: \"AuthenticationRequestA\", Id: new_request_id}, priority: 9998)"}},{"html_id":"set_open_state(open:Bool,locker_number:String,locker_group:String|Nil=nil)-instance-method","name":"set_open_state","abstract":false,"args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"args_string":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","args_html":"(open : Bool, locker_number : String, locker_group : String | Nil = nil)","location":{"filename":"src/gantner/relaxx/protocol_json.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/protocol_json.cr#L119"},"def":{"name":"set_open_state","args":[{"name":"open","external_name":"open","restriction":"Bool"},{"name":"locker_number","external_name":"locker_number","restriction":"String"},{"name":"locker_group","default_value":"nil","external_name":"locker_group","restriction":"String | ::Nil"}],"visibility":"Public","body":"action = open ? \"0\" : \"1\"\ntask = if locker_number.includes?(\"-\")\n send_frame({Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerId: locker_number})\nelse\n request = {Caption: \"ExecuteLockerActionRequest\", Id: new_request_id, Action: action, LockerNumber: locker_number}\n if locker_group\n send_frame(request.merge({LockerGroupId: locker_group}))\n else\n send_frame(request)\n end\nend\ntask\n"}}]},{"html_id":"drivers/Gantner/Relaxx/Result","path":"Gantner/Relaxx/Result.html","kind":"class","full_name":"Gantner::Relaxx::Result","name":"Result","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gantner/relaxx/json_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Gantner/Relaxx","kind":"module","full_name":"Gantner::Relaxx","name":"Relaxx"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancelled:Bool-instance-method","name":"cancelled","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled","return_type":"Bool","visibility":"Public","body":"@cancelled"}},{"html_id":"cancelled=(cancelled:Bool)-instance-method","name":"cancelled=","abstract":false,"args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"args_string":"(cancelled : Bool)","args_html":"(cancelled : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L13"},"def":{"name":"cancelled=","args":[{"name":"cancelled","external_name":"cancelled","restriction":"Bool"}],"visibility":"Public","body":"@cancelled = cancelled"}},{"html_id":"code:Int32-instance-method","name":"code","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code","return_type":"Int32","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int32)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int32"}],"args_string":"(code : Int32)","args_html":"(code : Int32)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L19"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int32"}],"visibility":"Public","body":"@code = code"}},{"html_id":"successful:Bool-instance-method","name":"successful","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful","return_type":"Bool","visibility":"Public","body":"@successful"}},{"html_id":"successful=(successful:Bool)-instance-method","name":"successful=","abstract":false,"args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"args_string":"(successful : Bool)","args_html":"(successful : Bool)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L10"},"def":{"name":"successful=","args":[{"name":"successful","external_name":"successful","restriction":"Bool"}],"visibility":"Public","body":"@successful = successful"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}},{"html_id":"text=(text:String)-instance-method","name":"text=","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/gantner/relaxx/json_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gantner/relaxx/json_models.cr#L16"},"def":{"name":"text=","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"@text = text"}}]}]}]},{"html_id":"drivers/GlobalCache","path":"GlobalCache.html","kind":"module","full_name":"GlobalCache","name":"GlobalCache","abstract":false,"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GlobalCache/Gc100","path":"GlobalCache/Gc100.html","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\""}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/ElectricalRelay","kind":"module","full_name":"PlaceOS::Driver::Interface::ElectricalRelay","name":"ElectricalRelay"}],"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"@relay_config = {} of String => Hash(Int32, String)\n@port_config = {} of String => Tuple(String, Int32)\nself[:config_indexed] = false\nschedule.clear\nschedule.every(10.seconds, true) do\n logger.debug do\n \"-- Polling GC100\"\n end\n if self[:config_indexed].as_bool\n else\n get_devices\n end\n do_send(\"get_NET,0:1\", priority: 0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L40"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_devices-instance-method","name":"get_devices","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L44"},"def":{"name":"get_devices","visibility":"Public","body":"do_send(\"getdevices\")"}},{"html_id":"ir(index:Int32,command:String,**options)-instance-method","name":"ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"args_string":"(index : Int32, command : String, **options)","args_html":"(index : Int32, command : String, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L59"},"def":{"name":"ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"command","external_name":"command","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"sendir,1:#{index},#{command}\", **options)"}},{"html_id":"ir_status?(index:Int32,**options)-instance-method","name":"ir_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L88"},"def":{"name":"ir_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\nself[:num_relays] = 0\nself[:num_ir] = 0\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/global_cache/gc_100.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L97"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nlogger.debug do\n \"GlobalCache sent #{data}\"\nend\ndata = data.split(',')\ntask_name = task.try(&.name) || \"unknown\"\ncase data[0]\nwhen \"state\", \"statechange\"\n type, index = self[:port_config][data[1]]\n self[\"#{type}#{index}\"] = data[2] == \"1\"\nwhen \"device\"\n address = data[1]\n number, type = data[2].split(' ')\n type = type.downcase\n __temp_221 = type\n @relay_config[__temp_221]? || (@relay_config[__temp_221] = {} of Int32 => String)\n current = @relay_config[type].size\n (current..((current + number.to_i) - 1)).each_with_index(1) do |i, dev_index|\n port = \"#{address}:#{dev_index}\"\n @relay_config[type][i] = port\n @port_config[port] = {type, i}\n end\n return task.try(&.success)\nwhen \"endlistdevices\"\n if @relay_config[\"relay\"]?\n self[:num_relays] = @relay_config[\"relay\"].size\n end\n if @relay_config[\"relaysensor\"]?\n @relay_config[\"relaysensor\"][1] = \"1:2\"\n @relay_config[\"relaysensor\"][2] = \"1:3\"\n @relay_config[\"relaysensor\"][3] = \"1:4\"\n self[:num_relays] = @relay_config[\"relaysensor\"].size\n end\n if @relay_config[\"ir\"]?\n self[:num_ir] = @relay_config[\"ir\"].size\n end\n self[:relay_config] = @relay_config\n self[:port_config] = @port_config\n logger.debug do\n \"self[:relay_config] is #{self[:relay_config]}\"\n end\n logger.debug do\n \"self[:port_config] is #{self[:port_config]}\"\n end\n @relay_config = {} of String => Hash(Int32, String)\n @port_config = {} of String => Tuple(String, Int32)\n self[:config_indexed] = true\n return task.try(&.success)\nend\nif data.size == 1\n error = case (data[0].split(' '))[1].to_i\n when 1\n \"Command was missing the carriage return delimiter\"\n when 2\n \"Invalid module address when looking for version\"\n when 3\n \"Invalid module address\"\n when 4\n \"Invalid connector address\"\n when 5\n \"Connector address 1 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 6\n \"Connector address 2 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 7\n \"Connector address 3 is set up as \\\"sensor in\\\" when attempting to send an IR command\"\n when 8\n \"Offset is set to an even transition number, but should be set to an odd transition number in the IR command\"\n when 9\n \"Maximum number of transitions exceeded (256 total on/off transitions allowed)\"\n when 10\n \"Number of transitions in the IR command is not even (the same number of on and off transitions is required)\"\n when 11\n \"Contact closure command sent to a module that is not a relay\"\n when 12\n \"Missing carriage return. All commands must end with a carriage return\"\n when 13\n \"State was requested of an invalid connector address, or the connector is programmed as IR out and not sensor in.\"\n when 14\n \"Command sent to the unit is not supported by the GC-100\"\n when 15\n \"Maximum number of IR transitions exceeded\"\n when 16\n \"Invalid number of IR transitions (must be an even number)\"\n when 21\n \"Attempted to send an IR command to a non-IR module\"\n when 23\n \"Command sent is not supported by this type of module\"\n else\n \"Unknown error\"\n end\n return task.try(&.abort(\"GlobalCache error for command #{task_name}: #{error}\"))\nend\ntask.try(&.success)\n"}},{"html_id":"relay(state:Bool,index:Int32=0,**options)-instance-method","name":"relay","doc":"`**options` here will be passed to the `task` to allow for different priorities","summary":"

**options here will be passed to the task to allow for different priorities

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(state : Bool, index : Int32 = 0, **options)","args_html":"(state : Bool, index : Int32 = 0, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L48"},"def":{"name":"relay","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n relays = (self[:relay_config][\"relay\"]? || self[:relay_config][\"relaysensor\"]?).not_nil!.as_h\n logger.debug do\n \"relays = #{relays}\"\n end\n connector = relays[index.to_s]\n do_send(\"setstate,#{connector},#{state ? 1 : 0}\", **options)\nelse\n logger.warn do\n \"Attempted to set relay on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"relay_status?(index:Int32,**options)-instance-method","name":"relay_status?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32, **options)","args_html":"(index : Int32, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L79"},"def":{"name":"relay_status?","args":[{"name":"index","external_name":"index","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_relays].as_i\n connector = self[:relay_config][\"relay\"][index.to_s]\n do_send(\"getstate,#{connector}\", **options)\nelse\n logger.warn do\n \"Attempted to check IO on GlobalCache that does not exist: #{index}\"\n end\nend"}},{"html_id":"set_ir(index:Int32,mode:IrMode,**options)-instance-method","name":"set_ir","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"args_string":"(index : Int32, mode : IrMode, **options)","args_html":"(index : Int32, mode : IrMode, **options)","location":{"filename":"src/global_cache/gc_100.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L70"},"def":{"name":"set_ir","args":[{"name":"index","external_name":"index","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"IrMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if index < self[:num_ir].as_i\n connector = self[:relay_config][\"ir\"][index.to_s]\n do_send(\"set_IR,#{connector},#{mode}\", **options)\nelse\n logger.warn do\n \"Attempted to set IR mode on GlobalCache that does not exist: #{index}\"\n end\nend"}}],"types":[{"html_id":"drivers/GlobalCache/Gc100/IrMode","path":"GlobalCache/Gc100/IrMode.html","kind":"enum","full_name":"GlobalCache::Gc100::IrMode","name":"IrMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/gc_100.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L63"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IR","name":"IR","value":"0"},{"id":"SENSOR","name":"SENSOR","value":"1"},{"id":"SENSOR_NOTIFY","name":"SENSOR_NOTIFY","value":"2"},{"id":"IR_NOCARRIER","name":"IR_NOCARRIER","value":"3"}],"namespace":{"html_id":"drivers/GlobalCache/Gc100","kind":"class","full_name":"GlobalCache::Gc100","name":"Gc100"},"instance_methods":[{"html_id":"ir?-instance-method","name":"ir?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L64"},"def":{"name":"ir?","visibility":"Public","body":"self == IR"}},{"html_id":"ir_nocarrier?-instance-method","name":"ir_nocarrier?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L67"},"def":{"name":"ir_nocarrier?","visibility":"Public","body":"self == IR_NOCARRIER"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L65"},"def":{"name":"sensor?","visibility":"Public","body":"self == SENSOR"}},{"html_id":"sensor_notify?-instance-method","name":"sensor_notify?","abstract":false,"location":{"filename":"src/global_cache/gc_100.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/gc_100.cr#L66"},"def":{"name":"sensor_notify?","visibility":"Public","body":"self == SENSOR_NOTIFY"}}]}]},{"html_id":"drivers/GlobalCache/IRTV","path":"GlobalCache/IRTV.html","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"channel(id:String,ir_set:String=\"\",ir_index:Int32=0)-instance-method","name":"channel","doc":"Actually send the IR commands, via the globalcache","summary":"

Actually send the IR commands, via the globalcache

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"args_string":"(id : String, ir_set : String = \"\", ir_index : Int32 = 0)","args_html":"(id : String, ir_set : String = "", ir_index : Int32 = 0)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L150"},"def":{"name":"channel","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"ir_set","default_value":"\"\"","external_name":"ir_set","restriction":"String"},{"name":"ir_index","default_value":"0","external_name":"ir_index","restriction":"Int32"}],"visibility":"Public","body":"if ir_set.presence\nelse\n ir_set = @default_ir_set\nend\nif ir_index == 0\n ir_index = @default_ir_index\nend\nresult = @channel_lookup[id].ir_commands.map do |ir_command_name|\n (system[@globalcache].ir(ir_index, @ir_commands[ir_set][ir_command_name])).get\n sleep(500.milliseconds)\nend\nself[:current_channel] = id\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L119"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L123"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache = setting(String, :globalcache_module)\n@default_ir_set = setting(String, :default_ir_set)\n@default_ir_index = setting(Int32, :default_ir_index)\n@channels = setting(Array(Channel), :channel_details)\nupdated_channel_lookup = {} of String => Channel\n@channels.each do |channel|\n updated_channel_lookup[channel.channel] = channel\nend\n@channel_lookup = updated_channel_lookup\nglobalcache_ir_sets = setting(Hash(String, String), :globalcache_ir_sets)\nupdated_ir_commands = {} of String => Hash(String, String)\nglobalcache_ir_sets.each do |device, all_commands|\n updated_ir_commands[device] = parse_all_commands(all_commands)\nend\n@ir_commands = updated_ir_commands\nself[:channel_details] = @channels\nself[:ir_commands] = @ir_commands\n"}}],"types":[{"html_id":"drivers/GlobalCache/IRTV/Channel","path":"GlobalCache/IRTV/Channel.html","kind":"class","full_name":"GlobalCache::IRTV::Channel","name":"Channel","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/ir_tv.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GlobalCache/IRTV","kind":"class","full_name":"GlobalCache::IRTV","name":"IRTV"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/global_cache/ir_tv.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L87"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L86"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"ir_commands:Array(String)-instance-method","name":"ir_commands","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L88"},"def":{"name":"ir_commands","return_type":"Array(String)","visibility":"Public","body":"@ir_commands"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/global_cache/ir_tv.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/ir_tv.cr#L85"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/GlobalCache/ProjectorScreen","path":"GlobalCache/ProjectorScreen.html","kind":"class","full_name":"GlobalCache::ProjectorScreen","name":"ProjectorScreen","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GlobalCache","kind":"module","full_name":"GlobalCache","name":"GlobalCache"},"instance_methods":[{"html_id":"down-instance-method","name":"down","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L54"},"def":{"name":"down","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_down)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@globalcache_module = (setting(String, :globalcache_module)) || \"DigitalIO_1\"\n@globalcache_relay_method = (setting(String, :globalcache_relay_method)) || \"pulse\"\n@globalcache_relay_index_down = (setting(Int32, :globalcache_relay_index_down)) || 0\n@globalcache_relay_index_up = (setting(Int32, :globalcache_relay_index_up)) || 1\n@globalcache_relay_pulse_milliseconds = (setting(Int32, :globalcache_relay_pulse_milliseconds)) || 1000\n"}},{"html_id":"up-instance-method","name":"up","abstract":false,"location":{"filename":"src/global_cache/projector_screen.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen.cr#L43"},"def":{"name":"up","visibility":"Public","body":"case @relay_method\nwhen \"pulse\"\n system[@globalcache_module].pulse(@relay_pulse_milliseconds, @relay_index_up)\nwhen \"hold\"\n logger.error do\n \"Not yet implemented by this driver.\"\n end\nelse\n logger.error do\n \"Invalid globalcache_relay_method setting \\\"#{@relay_method}}\\\". Must be \\\"pulse\\\" or \\\"hold\\\" \"\n end\nend"}}]}]},{"html_id":"drivers/GoBright","path":"GoBright.html","kind":"module","full_name":"GoBright","name":"GoBright","abstract":false,"locations":[{"filename":"src/gobright/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/GoBright/AccessToken","path":"GoBright/AccessToken.html","kind":"struct","full_name":"GoBright::AccessToken","name":"AccessToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L195"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"expires_at:Time-instance-method","name":"expires_at","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L198"},"def":{"name":"expires_at","return_type":"Time","visibility":"Public","body":"expires_in.seconds.from_now"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L196"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}}]},{"html_id":"drivers/GoBright/Amenity","path":"GoBright/Amenity.html","kind":"struct","full_name":"GoBright::Amenity","name":"Amenity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L89"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L90"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available_for_desk:Bool|Nil-instance-method","name":"available_for_desk","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L101"},"def":{"name":"available_for_desk","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_desk"}},{"html_id":"available_for_parking:Bool|Nil-instance-method","name":"available_for_parking","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L104"},"def":{"name":"available_for_parking","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_parking"}},{"html_id":"available_for_room:Bool|Nil-instance-method","name":"available_for_room","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L98"},"def":{"name":"available_for_room","return_type":"Bool | ::Nil","visibility":"Public","body":"@available_for_room"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L93"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L94"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L92"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"order:Int32|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L95"},"def":{"name":"order","return_type":"Int32 | ::Nil","visibility":"Public","body":"@order"}}]},{"html_id":"drivers/GoBright/API","path":"GoBright/API.html","kind":"class","full_name":"GoBright::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"bookings(starting:Int64,ending:Int64,location_id:String|Array(String)|Nil=nil,space_id:String|Array(String)|Nil=nil)-instance-method","name":"bookings","doc":"the list of booking occurances in the time period specified","summary":"

the list of booking occurances in the time period specified

","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","args_html":"(starting : Int64, ending : Int64, location_id : String | Array(String) | Nil = nil, space_id : String | Array(String) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L109"},"def":{"name":"bookings","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | Array(String) | ::Nil"},{"name":"space_id","default_value":"nil","external_name":"space_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"1000\")\n form.add(\"include\", \"spaces,organizer,attendees\")\n form.add(\"start\", (Time.unix(starting)).to_rfc3339)\n form.add(\"end\", (Time.unix(ending)).to_rfc3339)\n if location_id\n location_ids = location_id.is_a?(Array) ? location_id : [location_id]\n location_ids.each do |loc|\n form.add(\"locationIds\", loc)\n end\n end\n if space_id\n space_ids = space_id.is_a?(Array) ? space_id : [space_id]\n space_ids.each do |space|\n form.add(\"spaceIds\", space)\n end\n end\nend\nArray(Occurrence).from_json(fetch(\"/api/v2.0/bookings/occurrences?#{params}\"))\n"}},{"html_id":"fetch(location:String):String-instance-method","name":"fetch","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/gobright/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L29"},"def":{"name":"fetch","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"next_page = location\nappend = location.includes?('?') ? '&' : '?'\nString.build do |str|\n str << \"[\"\n loop do\n logger.debug do\n \"requesting: #{next_page}\"\n end\n response = get(next_page, headers: HTTP::Headers {\"Authorization\" => get_token, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = begin\n Response.from_json(response.body)\n rescue error : JSON::SerializableError\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(error)\n end\n if data = payload.data || payload.items\n str << data.strip[1..-2]\n end\n continuation = payload.paging.try(&.token)\n total_items = payload.paging.try(&.total)\n if continuation\n next_page = \"#{location}#{append}continuationToken=#{continuation}\"\n else\n if total_items\n uri = URI.parse(next_page)\n params = uri.query_params\n skip = params[\"pagingSkip\"]?.try(&.to_i) || 0\n taking = params[\"pagingTake\"]?.try(&.to_i) || 100\n if (skip + taking) >= total_items\n break\n end\n params[\"pagingSkip\"] = (skip + taking).to_s\n uri.query_params = params\n next_page = uri.to_s\n else\n break\n end\n end\n str << \",\"\n end\n str << \"]\"\nend\n"}},{"html_id":"live_occupancy(location:String,type:SpaceType|Nil=nil)-instance-method","name":"live_occupancy","doc":"the occupancy status of the spaces","summary":"

the occupancy status of the spaces

","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"args_string":"(location : String, type : SpaceType | Nil = nil)","args_html":"(location : String, type : SpaceType | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L132"},"def":{"name":"live_occupancy","args":[{"name":"location","external_name":"location","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"SpaceType | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n form.add(\"filterLocationId\", location)\n if type\n form.add(\"filterSpaceType\", type.value.to_s)\n end\nend\nArray(Occupancy).from_json(fetch(\"/api/v2.0/occupancy/space/live?#{params}\"))\n"}},{"html_id":"locations-instance-method","name":"locations","doc":"the list of buildings, levels, areas etc","summary":"

the list of buildings, levels, areas etc

","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L88"},"def":{"name":"locations","visibility":"Public","body":"Array(Location).from_json(fetch(\"/api/v2.0/locations?pagingTake=100\"))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/api.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}},{"html_id":"spaces(location:String|Nil=nil,types:SpaceType|Array(SpaceType)|Nil=nil)-instance-method","name":"spaces","doc":"a list of spaces in the locations. rooms, desks and parking","summary":"

a list of spaces in the locations.

","abstract":false,"args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"args_string":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","args_html":"(location : String | Nil = nil, types : SpaceType | Array(SpaceType) | Nil = nil)","location":{"filename":"src/gobright/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/api.cr#L93"},"def":{"name":"spaces","args":[{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"types","default_value":"nil","external_name":"types","restriction":"SpaceType | Array(SpaceType) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"pagingTake\", \"100\")\n if location.presence.nil?\n else\n form.add(\"LocationId\", location.to_s)\n end\n if types\n types = types.is_a?(Array) ? types : [types]\n types.each do |type|\n form.add(\"SpaceTypes\", type.value.to_s)\n end\n end\nend\nArray(Space).from_json(fetch(\"/api/v2.0/spaces?#{params}\"))\n"}}]},{"html_id":"drivers/GoBright/ApprovalState","path":"GoBright/ApprovalState.html","kind":"enum","full_name":"GoBright::ApprovalState","name":"ApprovalState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L203"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Inactive","name":"Inactive","value":"0"},{"id":"NeedsApproval","name":"NeedsApproval","value":"1"},{"id":"Approved","name":"Approved","value":"2"},{"id":"Rejected","name":"Rejected","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"approved?-instance-method","name":"approved?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L206"},"def":{"name":"approved?","visibility":"Public","body":"self == Approved"}},{"html_id":"inactive?-instance-method","name":"inactive?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L204"},"def":{"name":"inactive?","visibility":"Public","body":"self == Inactive"}},{"html_id":"needs_approval?-instance-method","name":"needs_approval?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L205"},"def":{"name":"needs_approval?","visibility":"Public","body":"self == NeedsApproval"}},{"html_id":"rejected?-instance-method","name":"rejected?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L207"},"def":{"name":"rejected?","visibility":"Public","body":"self == Rejected"}}]},{"html_id":"drivers/GoBright/Attendee","path":"GoBright/Attendee.html","kind":"struct","full_name":"GoBright::Attendee","name":"Attendee","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L222"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"email_address=(email_address:String|Nil)-instance-method","name":"email_address=","abstract":false,"args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"args_string":"(email_address : String | Nil)","args_html":"(email_address : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L222"},"def":{"name":"email_address=","args":[{"name":"email_address","external_name":"email_address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email_address = email_address"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L223"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L223"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/GoBright/BookingType","path":"GoBright/BookingType.html","kind":"enum","full_name":"GoBright::BookingType","name":"BookingType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L210"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"BookingOnRoom","name":"BookingOnRoom","value":"0"},{"id":"ServiceOnly","name":"ServiceOnly","value":"1"},{"id":"BookingOnDesk","name":"BookingOnDesk","value":"2"},{"id":"BookingAsTeam","name":"BookingAsTeam","value":"3"},{"id":"BookingOnParking","name":"BookingOnParking","value":"4"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"booking_as_team?-instance-method","name":"booking_as_team?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L214"},"def":{"name":"booking_as_team?","visibility":"Public","body":"self == BookingAsTeam"}},{"html_id":"booking_on_desk?-instance-method","name":"booking_on_desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L213"},"def":{"name":"booking_on_desk?","visibility":"Public","body":"self == BookingOnDesk"}},{"html_id":"booking_on_parking?-instance-method","name":"booking_on_parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L215"},"def":{"name":"booking_on_parking?","visibility":"Public","body":"self == BookingOnParking"}},{"html_id":"booking_on_room?-instance-method","name":"booking_on_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L211"},"def":{"name":"booking_on_room?","visibility":"Public","body":"self == BookingOnRoom"}},{"html_id":"service_only?-instance-method","name":"service_only?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L212"},"def":{"name":"service_only?","visibility":"Public","body":"self == ServiceOnly"}}]},{"html_id":"drivers/GoBright/DeskPeriod","path":"GoBright/DeskPeriod.html","kind":"struct","full_name":"GoBright::DeskPeriod","name":"DeskPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L67"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L64"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L55"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L61"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L58"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Location","path":"GoBright/Location.html","kind":"struct","full_name":"GoBright::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L107"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L108"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_desk_periods:DeskPeriod|Nil-instance-method","name":"booking_desk_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L142"},"def":{"name":"booking_desk_periods","return_type":"DeskPeriod | ::Nil","visibility":"Public","body":"@booking_desk_periods"}},{"html_id":"booking_parking_periods:ParkingPeriod|Nil-instance-method","name":"booking_parking_periods","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L145"},"def":{"name":"booking_parking_periods","return_type":"ParkingPeriod | ::Nil","visibility":"Public","body":"@booking_parking_periods"}},{"html_id":"full_path:String|Nil-instance-method","name":"full_path","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L130"},"def":{"name":"full_path","return_type":"String | ::Nil","visibility":"Public","body":"@full_path"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L133"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L110"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image_id:String|Nil-instance-method","name":"image_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L139"},"def":{"name":"image_id","return_type":"String | ::Nil","visibility":"Public","body":"@image_id"}},{"html_id":"level:Int64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L127"},"def":{"name":"level","return_type":"Int64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L118"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name_indented:String|Nil-instance-method","name":"name_indented","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L121"},"def":{"name":"name_indented","return_type":"String | ::Nil","visibility":"Public","body":"@name_indented"}},{"html_id":"old_id:Int64|Nil-instance-method","name":"old_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L113"},"def":{"name":"old_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@old_id"}},{"html_id":"order:Int64|Nil-instance-method","name":"order","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L124"},"def":{"name":"order","return_type":"Int64 | ::Nil","visibility":"Public","body":"@order"}},{"html_id":"parent_id:String|Nil-instance-method","name":"parent_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L116"},"def":{"name":"parent_id","return_type":"String | ::Nil","visibility":"Public","body":"@parent_id"}},{"html_id":"visitor_kiosk_enabled:Bool|Nil-instance-method","name":"visitor_kiosk_enabled","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L136"},"def":{"name":"visitor_kiosk_enabled","return_type":"Bool | ::Nil","visibility":"Public","body":"@visitor_kiosk_enabled"}}]},{"html_id":"drivers/GoBright/LocationService","path":"GoBright/LocationService.html","kind":"class","full_name":"GoBright::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCHES","name":"NO_MATCHES","value":"[] of String"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L74"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"cache_space_details-instance-method","name":"cache_space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L77"},"def":{"name":"cache_space_details","visibility":"Public","body":"space_details = {} of String => Space\n(Array(Space).from_json(gobright.spaces.get.to_json)).each do |space|\n space_details[space.id] = space\nend\n@space_details = space_details\n"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/gobright/location_service.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L128"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"checking ownership of: #{mac_address}\"\nend\nif mac_address.starts_with?(\"gobright-\")\nelse\n return\nend\nid = (mac_address.split(\"gobright-\"))[1]\n@cached_booking_data.each do |zone_id, lookup|\n if booking = lookup[id]?\n return {location: \"booking\", assigned_to: booking.organizer.try(&.email_address) || (booking.attendees.first.email_address.as(String)), mac_address: mac_address}\n end\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L145"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nif location && (!(location.in?({\"desk\", \"area\", \"booking\"})))\n return [] of Nil\nend\ngobright_location_id = @floor_mappings[zone_id]\nspaces = {} of String => Space\nspace_details.each_value do |space|\n if space.location_id == gobright_location_id\n else\n next\n end\n spaces[space.id] = space.dup\nend\noccupancy = Array(Occupancy).from_json((gobright.live_occupancy(gobright_location_id)).get.to_json)\noccupancy.each do |details|\n space = spaces[details.id]?\n if space\n else\n next\n end\n space.occupied = details.occupied? || false\nend\ndesk_types = @desk_space_types\noccupancy_locs = spaces.values.compact_map do |space|\n loc_type = space.type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n if (occupied = space.occupied?) || @return_empty_spaces\n {location: loc_type, at_location: occupied ? 1 : 0, map_id: space.name, level: zone_id, building: building_id, capacity: space.capacity || 1, gobright_location_id: gobright_location_id, gobright_space_name: space.name, gobright_space_type: space.type, gobright_space_id: space.id}\n end\nend\nif location && (location != \"booking\")\n return spaces\nend\nbookings = Array(Occurrence).from_json((gobright.bookings(1.minutes.ago.to_unix, 10.minutes.from_now.to_unix, gobright_location_id)).get.to_json)\nlookup = {} of String => Occurrence\nbooking_locs = bookings.compact_map do |occurrence|\n space = nil\n occurrence.spaces.each do |details|\n space = spaces[details.id]?\n if space\n break\n end\n end\n if space\n else\n next\n end\n occurrence.zone_id = zone_id\n occurrence.matched_space = space\n lookup[occurrence.id] = occurrence\n map_booking(occurrence, space, zone_id)\nend\n@cached_booking_data[zone_id] = lookup\nbooking_locs.map() do |__arg6|\n __arg6.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend + occupancy_locs.map() do |__arg7|\n __arg7.as(typeof(booking_locs[0]) | typeof(occupancy_locs[0]))\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L66"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L61"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"if (value = @level_details).nil?\n @level_details = (Hash(String, LevelCapacity).from_json(area_management.level_details.get.to_json))\nelse\n value\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"NOTE:: we could keep track of current bookings and then use that information to assign ownership of a desk\nif the desks are being booked via the check-in/check-out\nthis would allow us to locate","summary":"

NOTE : we could keep track of current bookings and then use that information to assign ownership of a desk if the desks are being booked via the check-in/check-out this would allow us to locate

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/gobright/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L95"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for user #{email}\"\nend\nmatches = [] of Occurrence\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n else\n next\n end\n matches << booking\n end\nend\nmatches.compact_map do |booking|\n zone_id = booking.zone_id\n map_booking(booking, booking.matched_space, zone_id, level_details[zone_id]?.try(&.desk_mappings))\nend\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/gobright/location_service.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L116"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"if email\nelse\n return NO_MATCHES\nend\nlogger.debug do\n \"checking if any bookings for email: #{email}\"\nend\nmatches = [] of String\n@cached_booking_data.each do |zone_id, lookup|\n lookup.each_value do |booking|\n if booking.organizer.try(&.email_address) == email\n matches << \"gobright-#{booking.id}\"\n end\n end\nend\nmatches\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(SpaceType), :desk_space_types)) || [SpaceType::Desk]\n@floor_mappings = (setting(Hash(String, Mapping), :gobright_floor_mappings)).transform_values(&.location_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\ntimezone = Time::Location.load(system.timezone.presence || \"Australia/Sydney\")\nschedule.clear\nschedule.cron((setting?(String, :space_cache_cron)) || \"0 5 * * *\", timezone) do\n cache_space_details\nend\nschedule.every(10.minutes) do\n @level_details = nil\nend\n"}},{"html_id":"space_details:Hash(String,Space)-instance-method","name":"space_details","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L75"},"def":{"name":"space_details","return_type":"Hash(String, Space)","visibility":"Public","body":"if (value = @space_details).nil?\n @space_details = (cache_space_details)\nelse\n value\nend"}}],"types":[{"html_id":"drivers/GoBright/LocationService/LevelCapacity","path":"GoBright/LocationService/LevelCapacity.html","kind":"struct","full_name":"GoBright::LocationService::LevelCapacity","name":"LevelCapacity","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L43"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"desk_mappings:Hash(String,String)-instance-method","name":"desk_mappings","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L45"},"def":{"name":"desk_mappings","return_type":"Hash(String, String)","visibility":"Public","body":"@desk_mappings"}}]},{"html_id":"drivers/GoBright/LocationService/Mapping","path":"GoBright/LocationService/Mapping.html","kind":"struct","full_name":"GoBright::LocationService::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright/LocationService","kind":"class","full_name":"GoBright::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/location_service.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/location_service.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/location_service.cr#L39"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}}]}]},{"html_id":"drivers/GoBright/Metadata","path":"GoBright/Metadata.html","kind":"struct","full_name":"GoBright::Metadata","name":"Metadata","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"message:String|Nil-instance-method","name":"message","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L11"},"def":{"name":"message","return_type":"String | ::Nil","visibility":"Public","body":"@message"}},{"html_id":"status_code:Int32|Nil-instance-method","name":"status_code","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L8"},"def":{"name":"status_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status_code"}},{"html_id":"validation_errors:Array(Hash(String,String))|Nil-instance-method","name":"validation_errors","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L14"},"def":{"name":"validation_errors","return_type":"Array(Hash(String, String)) | ::Nil","visibility":"Public","body":"@validation_errors"}}]},{"html_id":"drivers/GoBright/Occupancy","path":"GoBright/Occupancy.html","kind":"struct","full_name":"GoBright::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L182"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L183"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L186"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"occupied?:Bool|Nil-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L189"},"def":{"name":"occupied?","return_type":"Bool | ::Nil","visibility":"Public","body":"@occupied"}}]},{"html_id":"drivers/GoBright/Occurrence","path":"GoBright/Occurrence.html","kind":"struct","full_name":"GoBright::Occurrence","name":"Occurrence","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L226"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L227"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approval_state:ApprovalState|Nil-instance-method","name":"approval_state","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L244"},"def":{"name":"approval_state","return_type":"ApprovalState | ::Nil","visibility":"Public","body":"@approval_state"}},{"html_id":"approval_state=(approval_state:ApprovalState|Nil)-instance-method","name":"approval_state=","abstract":false,"args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"args_string":"(approval_state : ApprovalState | Nil)","args_html":"(approval_state : ApprovalState | Nil)","location":{"filename":"src/gobright/models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L244"},"def":{"name":"approval_state=","args":[{"name":"approval_state","external_name":"approval_state","restriction":"ApprovalState | ::Nil"}],"visibility":"Public","body":"@approval_state = approval_state"}},{"html_id":"attendee_amount:Int32|Nil-instance-method","name":"attendee_amount","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount","return_type":"Int32 | ::Nil","visibility":"Public","body":"@attendee_amount"}},{"html_id":"attendee_amount=(attendee_amount:Int32|Nil)-instance-method","name":"attendee_amount=","abstract":false,"args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"args_string":"(attendee_amount : Int32 | Nil)","args_html":"(attendee_amount : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L263"},"def":{"name":"attendee_amount=","args":[{"name":"attendee_amount","external_name":"attendee_amount","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@attendee_amount = attendee_amount"}},{"html_id":"attendees:Array(Attendee)-instance-method","name":"attendees","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L260"},"def":{"name":"attendees","return_type":"Array(Attendee)","visibility":"Public","body":"@attendees"}},{"html_id":"attendees=(attendees:Array(Attendee))-instance-method","name":"attendees=","abstract":false,"args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"args_string":"(attendees : Array(Attendee))","args_html":"(attendees : Array(Attendee))","location":{"filename":"src/gobright/models.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L260"},"def":{"name":"attendees=","args":[{"name":"attendees","external_name":"attendees","restriction":"Array(Attendee)"}],"visibility":"Public","body":"@attendees = attendees"}},{"html_id":"booking_type:BookingType-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L235"},"def":{"name":"booking_type","return_type":"BookingType","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:BookingType)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"args_string":"(booking_type : BookingType)","args_html":"(booking_type : BookingType)","location":{"filename":"src/gobright/models.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L235"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"BookingType"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"composed_id:String-instance-method","name":"composed_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L232"},"def":{"name":"composed_id","return_type":"String","visibility":"Public","body":"@composed_id"}},{"html_id":"composed_id=(composed_id:String)-instance-method","name":"composed_id=","abstract":false,"args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"args_string":"(composed_id : String)","args_html":"(composed_id : String)","location":{"filename":"src/gobright/models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L232"},"def":{"name":"composed_id=","args":[{"name":"composed_id","external_name":"composed_id","restriction":"String"}],"visibility":"Public","body":"@composed_id = composed_id"}},{"html_id":"confirmation_active:Bool|Nil-instance-method","name":"confirmation_active","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active","return_type":"Bool | ::Nil","visibility":"Public","body":"@confirmation_active"}},{"html_id":"confirmation_active=(confirmation_active:Bool|Nil)-instance-method","name":"confirmation_active=","abstract":false,"args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"args_string":"(confirmation_active : Bool | Nil)","args_html":"(confirmation_active : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":266,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L266"},"def":{"name":"confirmation_active=","args":[{"name":"confirmation_active","external_name":"confirmation_active","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@confirmation_active = confirmation_active"}},{"html_id":"confirmation_window_end:String|Nil-instance-method","name":"confirmation_window_end","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_end"}},{"html_id":"confirmation_window_end=(confirmation_window_end:String|Nil)-instance-method","name":"confirmation_window_end=","abstract":false,"args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_end : String | Nil)","args_html":"(confirmation_window_end : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L272"},"def":{"name":"confirmation_window_end=","args":[{"name":"confirmation_window_end","external_name":"confirmation_window_end","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_end = confirmation_window_end"}},{"html_id":"confirmation_window_start:String|Nil-instance-method","name":"confirmation_window_start","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start","return_type":"String | ::Nil","visibility":"Public","body":"@confirmation_window_start"}},{"html_id":"confirmation_window_start=(confirmation_window_start:String|Nil)-instance-method","name":"confirmation_window_start=","abstract":false,"args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"args_string":"(confirmation_window_start : String | Nil)","args_html":"(confirmation_window_start : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L269"},"def":{"name":"confirmation_window_start=","args":[{"name":"confirmation_window_start","external_name":"confirmation_window_start","restriction":"String | ::Nil"}],"visibility":"Public","body":"@confirmation_window_start = confirmation_window_start"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L256"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L256"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L229"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/gobright/models.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L229"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"intention_type:Int32|Nil-instance-method","name":"intention_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L238"},"def":{"name":"intention_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@intention_type"}},{"html_id":"intention_type=(intention_type:Int32|Nil)-instance-method","name":"intention_type=","abstract":false,"args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"args_string":"(intention_type : Int32 | Nil)","args_html":"(intention_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L238"},"def":{"name":"intention_type=","args":[{"name":"intention_type","external_name":"intention_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@intention_type = intention_type"}},{"html_id":"is_anonymously_booked:Bool|Nil-instance-method","name":"is_anonymously_booked","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_anonymously_booked"}},{"html_id":"is_anonymously_booked=(is_anonymously_booked:Bool|Nil)-instance-method","name":"is_anonymously_booked=","abstract":false,"args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"args_string":"(is_anonymously_booked : Bool | Nil)","args_html":"(is_anonymously_booked : Bool | Nil)","location":{"filename":"src/gobright/models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L247"},"def":{"name":"is_anonymously_booked=","args":[{"name":"is_anonymously_booked","external_name":"is_anonymously_booked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_anonymously_booked = is_anonymously_booked"}},{"html_id":"license_plate:String|Nil-instance-method","name":"license_plate","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L250"},"def":{"name":"license_plate","return_type":"String | ::Nil","visibility":"Public","body":"@license_plate"}},{"html_id":"license_plate=(license_plate:String|Nil)-instance-method","name":"license_plate=","abstract":false,"args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"args_string":"(license_plate : String | Nil)","args_html":"(license_plate : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L250"},"def":{"name":"license_plate=","args":[{"name":"license_plate","external_name":"license_plate","restriction":"String | ::Nil"}],"visibility":"Public","body":"@license_plate = license_plate"}},{"html_id":"matched_space:Space-instance-method","name":"matched_space","abstract":false,"def":{"name":"matched_space","return_type":"Space","visibility":"Public","body":"if (value = @matched_space).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#matched_space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"matched_space=(matched_space:Space)-instance-method","name":"matched_space=","abstract":false,"args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"args_string":"(matched_space : Space)","args_html":"(matched_space : Space)","location":{"filename":"src/gobright/models.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L278"},"def":{"name":"matched_space=","args":[{"name":"matched_space","external_name":"matched_space","restriction":"Space"}],"visibility":"Public","body":"@matched_space = matched_space"}},{"html_id":"matched_space?:Space|Nil-instance-method","name":"matched_space?","abstract":false,"def":{"name":"matched_space?","return_type":"Space | ::Nil","visibility":"Public","body":"@matched_space"}},{"html_id":"organizer:Attendee|Nil-instance-method","name":"organizer","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L258"},"def":{"name":"organizer","return_type":"Attendee | ::Nil","visibility":"Public","body":"@organizer"}},{"html_id":"organizer=(organizer:Attendee|Nil)-instance-method","name":"organizer=","abstract":false,"args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"args_string":"(organizer : Attendee | Nil)","args_html":"(organizer : Attendee | Nil)","location":{"filename":"src/gobright/models.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L258"},"def":{"name":"organizer=","args":[{"name":"organizer","external_name":"organizer","restriction":"Attendee | ::Nil"}],"visibility":"Public","body":"@organizer = organizer"}},{"html_id":"recurrence_type:Int32|Nil-instance-method","name":"recurrence_type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@recurrence_type"}},{"html_id":"recurrence_type=(recurrence_type:Int32|Nil)-instance-method","name":"recurrence_type=","abstract":false,"args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"args_string":"(recurrence_type : Int32 | Nil)","args_html":"(recurrence_type : Int32 | Nil)","location":{"filename":"src/gobright/models.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L241"},"def":{"name":"recurrence_type=","args":[{"name":"recurrence_type","external_name":"recurrence_type","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@recurrence_type = recurrence_type"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L259"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/gobright/models.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L259"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L253"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/gobright/models.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L253"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}},{"html_id":"subject:String|Nil-instance-method","name":"subject","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L257"},"def":{"name":"subject","return_type":"String | ::Nil","visibility":"Public","body":"@subject"}},{"html_id":"subject=(subject:String|Nil)-instance-method","name":"subject=","abstract":false,"args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"args_string":"(subject : String | Nil)","args_html":"(subject : String | Nil)","location":{"filename":"src/gobright/models.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L257"},"def":{"name":"subject=","args":[{"name":"subject","external_name":"subject","restriction":"String | ::Nil"}],"visibility":"Public","body":"@subject = subject"}},{"html_id":"zone_id:String-instance-method","name":"zone_id","abstract":false,"def":{"name":"zone_id","return_type":"String","visibility":"Public","body":"if (value = @zone_id).nil?\n ::raise(NilAssertionError.new(\"GoBright::Occurrence#zone_id cannot be nil\"))\nelse\n value\nend"}},{"html_id":"zone_id=(zone_id:String)-instance-method","name":"zone_id=","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/gobright/models.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L275"},"def":{"name":"zone_id=","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"@zone_id = zone_id"}},{"html_id":"zone_id?:String|Nil-instance-method","name":"zone_id?","abstract":false,"def":{"name":"zone_id?","return_type":"String | ::Nil","visibility":"Public","body":"@zone_id"}}]},{"html_id":"drivers/GoBright/Paging","path":"GoBright/Paging.html","kind":"struct","full_name":"GoBright::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L24"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"total:Int32|Nil-instance-method","name":"total","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L21"},"def":{"name":"total","return_type":"Int32 | ::Nil","visibility":"Public","body":"@total"}}]},{"html_id":"drivers/GoBright/ParkingPeriod","path":"GoBright/ParkingPeriod.html","kind":"struct","full_name":"GoBright::ParkingPeriod","name":"ParkingPeriod","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L70"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L71"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_of_day:String|Nil-instance-method","name":"end_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L86"},"def":{"name":"end_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@end_of_day"}},{"html_id":"middle_of_day:String|Nil-instance-method","name":"middle_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L83"},"def":{"name":"middle_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@middle_of_day"}},{"html_id":"mode:Int64|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L74"},"def":{"name":"mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"start_of_day:String|Nil-instance-method","name":"start_of_day","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L80"},"def":{"name":"start_of_day","return_type":"String | ::Nil","visibility":"Public","body":"@start_of_day"}},{"html_id":"working_mode:Int64|Nil-instance-method","name":"working_mode","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L77"},"def":{"name":"working_mode","return_type":"Int64 | ::Nil","visibility":"Public","body":"@working_mode"}}]},{"html_id":"drivers/GoBright/Response","path":"GoBright/Response.html","kind":"struct","full_name":"GoBright::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:String|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L34"},"def":{"name":"data","return_type":"String | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"items:String|Nil-instance-method","name":"items","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L37"},"def":{"name":"items","return_type":"String | ::Nil","visibility":"Public","body":"@items"}},{"html_id":"metadata:Metadata|Nil-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L31"},"def":{"name":"metadata","return_type":"Metadata | ::Nil","visibility":"Public","body":"@metadata"}},{"html_id":"paging:Paging|Nil-instance-method","name":"paging","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L40"},"def":{"name":"paging","return_type":"Paging | ::Nil","visibility":"Public","body":"@paging"}}]},{"html_id":"drivers/GoBright/Space","path":"GoBright/Space.html","kind":"class","full_name":"GoBright::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/gobright/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"amenities:Array(Amenity)-instance-method","name":"amenities","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L160"},"def":{"name":"amenities","return_type":"Array(Amenity)","visibility":"Public","body":"@amenities"}},{"html_id":"capacity:Int64|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L170"},"def":{"name":"capacity","return_type":"Int64 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"iana_time_zone:String|Nil-instance-method","name":"iana_time_zone","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L169"},"def":{"name":"iana_time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@iana_time_zone"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L158"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"integration_external_id:String|Nil-instance-method","name":"integration_external_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L173"},"def":{"name":"integration_external_id","return_type":"String | ::Nil","visibility":"Public","body":"@integration_external_id"}},{"html_id":"is_bookable:Bool|Nil-instance-method","name":"is_bookable","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L176"},"def":{"name":"is_bookable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_bookable"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L166"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L159"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"occupied=(occupied:Bool)-instance-method","name":"occupied=","abstract":false,"args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"args_string":"(occupied : Bool)","args_html":"(occupied : Bool)","location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L179"},"def":{"name":"occupied=","args":[{"name":"occupied","external_name":"occupied","restriction":"Bool"}],"visibility":"Public","body":"@occupied = occupied"}},{"html_id":"occupied?:Bool-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L179"},"def":{"name":"occupied?","return_type":"Bool","visibility":"Public","body":"@occupied"}},{"html_id":"type:SpaceType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L163"},"def":{"name":"type","return_type":"SpaceType | ::Nil","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/GoBright/SpaceType","path":"GoBright/SpaceType.html","kind":"enum","full_name":"GoBright::SpaceType","name":"SpaceType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/gobright/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L148"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Room","name":"Room","value":"0"},{"id":"Desk","name":"Desk","value":"1"},{"id":"CombinedRoom","name":"CombinedRoom","value":"2"},{"id":"Parking","name":"Parking","value":"3"}],"namespace":{"html_id":"drivers/GoBright","kind":"module","full_name":"GoBright","name":"GoBright"},"instance_methods":[{"html_id":"combined_room?-instance-method","name":"combined_room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L151"},"def":{"name":"combined_room?","visibility":"Public","body":"self == CombinedRoom"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L150"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}},{"html_id":"parking?-instance-method","name":"parking?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L152"},"def":{"name":"parking?","visibility":"Public","body":"self == Parking"}},{"html_id":"room?-instance-method","name":"room?","abstract":false,"location":{"filename":"src/gobright/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/gobright/models.cr#L149"},"def":{"name":"room?","visibility":"Public","body":"self == Room"}}]}]},{"html_id":"drivers/Halite","path":"Halite.html","kind":"module","full_name":"Halite","name":"Halite","abstract":false,"locations":[{"filename":"lib/halite/src/halite.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite.cr#L4"},{"filename":"lib/halite/src/halite/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/chainable.cr#L3"},{"filename":"lib/halite/src/halite/client.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/client.cr#L8"},{"filename":"lib/halite/src/halite/error.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/error.cr#L1"},{"filename":"lib/halite/src/halite/feature.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/feature.cr#L1"},{"filename":"lib/halite/src/halite/features/cache.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/features/cache.cr#L5"},{"filename":"lib/halite/src/halite/features/logging.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/features/logging.cr#L10"},{"filename":"lib/halite/src/halite/form_data.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/form_data.cr#L4"},{"filename":"lib/halite/src/halite/header_link.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/header_link.cr#L1"},{"filename":"lib/halite/src/halite/mime_type.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/mime_type.cr#L1"},{"filename":"lib/halite/src/halite/options.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options.cr#L4"},{"filename":"lib/halite/src/halite/options/follow.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options/follow.cr#L1"},{"filename":"lib/halite/src/halite/options/timeout.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/options/timeout.cr#L1"},{"filename":"lib/halite/src/halite/rate_limit.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/rate_limit.cr#L1"},{"filename":"lib/halite/src/halite/redirector.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/redirector.cr#L1"},{"filename":"lib/halite/src/halite/request.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/request.cr#L1"},{"filename":"lib/halite/src/halite/response.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/response.cr#L1"},{"filename":"lib/quantum/src/quantum/extensions/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/quantum/src/quantum/extensions/client.cr#L1"},{"filename":"lib/sabo/src/sabo/ext/client.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/sabo/src/sabo/ext/client.cr#L1"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/stripetease/src/stripetease/extensions/chainable.cr#L1"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Halite/Chainable","kind":"module","full_name":"Halite::Chainable","name":"Chainable"},{"html_id":"drivers/Halite/FeatureRegister","kind":"module","full_name":"Halite::FeatureRegister","name":"FeatureRegister"}],"types":[{"html_id":"drivers/Halite/Chainable","path":"Halite/Chainable.html","kind":"module","full_name":"Halite::Chainable","name":"Chainable","abstract":false,"locations":[{"filename":"lib/halite/src/halite/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/halite/src/halite/chainable.cr#L4"},{"filename":"lib/stripetease/src/stripetease/extensions/chainable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/stripetease/src/stripetease/extensions/chainable.cr#L2"},{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Halite","kind":"module","full_name":"Halite","name":"Halite"},"instance_methods":[{"html_id":"cookies(cookies:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"cookies","doc":"Make a request with the given cookies\n\n```\nHalite.cookies({\"private-token\", \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.cookies({private-token: \"6abaef100b77808ceb7fe26a3bcff1d0\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given cookies

","abstract":false,"args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(cookies : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L189"},"def":{"name":"cookies","args":[{"name":"cookies","external_name":"cookies","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_cookies(cookies))"}},{"html_id":"headers(headers:Hash(String,_)|NamedTuple):Halite::Client-instance-method","name":"headers","doc":"Make a request with the given headers\n\n```\nHalite.headers({\"Content-Type\", \"application/json\", \"Connection\": \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n# Or\nHalite.headers({content_type: \"application/json\", connection: \"keep-alive\"})\n .get(\"http://httpbin.org/get\")\n```","summary":"

Make a request with the given headers

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"args_string":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","args_html":"(headers : Hash(String, _) | NamedTuple) : Halite::Client","location":{"filename":"src/cisco/webex/extensions/chainable.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/cisco/webex/extensions/chainable.cr#L166"},"def":{"name":"headers","args":[{"name":"headers","external_name":"headers","restriction":"Hash(String, _) | NamedTuple"}],"return_type":"Halite::Client","visibility":"Public","body":"branch(default_options.with_headers(headers))"}}]}]},{"html_id":"drivers/Helvar","path":"Helvar.html","kind":"module","full_name":"Helvar","name":"Helvar","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Helvar/Net","path":"Helvar/Net.html","kind":"class","full_name":"Helvar::Net","name":"Net","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/helvar/net.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_METHODS","name":"CMD_METHODS","value":"{group_scene: 11, device_scene: 12, group_level: 13, device_level: 14, group_proportion: 15, device_proportion: 16, group_modify_proportion: 17, device_modify_proportion: 18, group_emergency_test: 19, device_emergency_test: 20, group_emergency_duration_test: 21, device_emergency_duration_test: 22, group_emergency_stop: 23, device_emergency_stop: 24, query_lamp_hours: 70, query_ballast_hours: 71, query_max_voltage: 72, query_min_voltage: 73, query_max_temp: 74, query_min_temp: 75, query_device_types_with_addresses: 100, query_clusters: 101, query_routers: 102, query_LSIB: 103, query_device_type: 104, query_description_group: 105, query_description_device: 106, query_workgroup_name: 107, query_workgroup_membership: 108, query_last_scene: 109, query_device_state: 110, query_device_disabled: 111, query_lamp_failure: 112, query_device_faulty: 113, query_missing: 114, query_emergency_battery_failure: 129, query_measurement: 150, query_inputs: 151, query_load: 152, query_power_consumption: 160, query_group_power_consumption: 161, query_group: 164, query_groups: 165, query_scene_names: 166, query_scene_info: 167, query_emergency_func_test_time: 170, query_emergency_func_test_state: 171, query_emergency_duration_time: 172, query_emergency_duration_state: 173, query_emergency_battery_charge: 174, query_emergency_battery_time: 175, query_emergency_total_lamp_time: 176, query_time: 185, query_longitude: 186, query_latitude: 187, query_time_zone: 188, query_daylight_savings: 189, query_software_version: 190, query_helvar_net: 191}"},{"id":"COMMANDS","name":"COMMANDS","value":"{\"group_scene\" => \"11\", \"device_scene\" => \"12\", \"group_level\" => \"13\", \"device_level\" => \"14\", \"group_proportion\" => \"15\", \"device_proportion\" => \"16\", \"group_modify_proportion\" => \"17\", \"device_modify_proportion\" => \"18\", \"group_emergency_test\" => \"19\", \"device_emergency_test\" => \"20\", \"group_emergency_duration_test\" => \"21\", \"device_emergency_duration_test\" => \"22\", \"group_emergency_stop\" => \"23\", \"device_emergency_stop\" => \"24\", \"query_lamp_hours\" => \"70\", \"query_ballast_hours\" => \"71\", \"query_max_voltage\" => \"72\", \"query_min_voltage\" => \"73\", \"query_max_temp\" => \"74\", \"query_min_temp\" => \"75\", \"query_device_types_with_addresses\" => \"100\", \"query_clusters\" => \"101\", \"query_routers\" => \"102\", \"query_LSIB\" => \"103\", \"query_device_type\" => \"104\", \"query_description_group\" => \"105\", \"query_description_device\" => \"106\", \"query_workgroup_name\" => \"107\", \"query_workgroup_membership\" => \"108\", \"query_last_scene\" => \"109\", \"query_device_state\" => \"110\", \"query_device_disabled\" => \"111\", \"query_lamp_failure\" => \"112\", \"query_device_faulty\" => \"113\", \"query_missing\" => \"114\", \"query_emergency_battery_failure\" => \"129\", \"query_measurement\" => \"150\", \"query_inputs\" => \"151\", \"query_load\" => \"152\", \"query_power_consumption\" => \"160\", \"query_group_power_consumption\" => \"161\", \"query_group\" => \"164\", \"query_groups\" => \"165\", \"query_scene_names\" => \"166\", \"query_scene_info\" => \"167\", \"query_emergency_func_test_time\" => \"170\", \"query_emergency_func_test_state\" => \"171\", \"query_emergency_duration_time\" => \"172\", \"query_emergency_duration_state\" => \"173\", \"query_emergency_battery_charge\" => \"174\", \"query_emergency_battery_time\" => \"175\", \"query_emergency_total_lamp_time\" => \"176\", \"query_time\" => \"185\", \"query_longitude\" => \"186\", \"query_latitude\" => \"187\", \"query_time_zone\" => \"188\", \"query_daylight_savings\" => \"189\", \"query_software_version\" => \"190\", \"query_helvar_net\" => \"191\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"0\" => \"success\", \"1\" => \"invalid group index parameter\", \"2\" => \"invalid cluster parameter\", \"3\" => \"invalid router\", \"4\" => \"invalid router subnet\", \"5\" => \"invalid device parameter\", \"6\" => \"invalid sub device parameter\", \"7\" => \"invalid block parameter\", \"8\" => \"invalid scene\", \"9\" => \"cluster does not exist\", \"10\" => \"router does not exist\", \"11\" => \"device does not exist\", \"12\" => \"property does not exist\", \"13\" => \"invalid RAW message size\", \"14\" => \"invalid messages type\", \"15\" => \"invalid message command\", \"16\" => \"missing ASCII terminator\", \"17\" => \"missing ASCII parameter\", \"18\" => \"incompatible version\"}"},{"id":"PARAMS","name":"PARAMS","value":"{\"V\" => :ver, \"Q\" => :seq, \"C\" => :cmd, \"A\" => :ack, \"@\" => :addr, \"F\" => :fade, \"T\" => :time, \"L\" => :level, \"G\" => :group, \"S\" => :scene, \"B\" => :block, \"N\" => :latitude, \"E\" => :longitude, \"Z\" => :time_zone, \"P\" => :proportion, \"D\" => :display_screen, \"Y\" => :daylight_savings, \"O\" => :force_store_scene, \"K\" => :constant_light_scene}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Helvar","kind":"module","full_name":"Helvar","name":"Helvar"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Helvar\"\n end\n if poll_group = @poll_group\n get_current_preset(poll_group)\n else\n query_software_version\n end\nend"}},{"html_id":"device_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"22\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"24\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"20\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"14\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"18\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"16\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"device_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"device_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"device_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"12\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L46"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(group:Int32)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L67"},"def":{"name":"get_current_preset","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_last_scene(group: group, name: \"query_scene#{group}\")"}},{"html_id":"group_emergency_duration_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_duration_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_duration_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"21\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_stop(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_stop","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_stop","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"23\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_emergency_test(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_emergency_test","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_emergency_test","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"19\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_level(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_level","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_level","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"13\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_modify_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_modify_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_modify_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"17\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_proportion(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_proportion","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_proportion","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"15\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"group_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"group_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"group_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"11\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"light_level(group:Int32,level:Int32,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, level : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, level : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L55"},"def":{"name":"light_level","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}_level\"] = level\ngroup_level(group: group, level: level, fade: fade, name: \"group_level#{group}\")\n"}},{"html_id":"lighting(group:Int32,state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(group : Int32, state : Bool)","args_html":"(group : Int32, state : Bool)","location":{"filename":"src/helvar/net.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L50"},"def":{"name":"lighting","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(group, level)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":337,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L337"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"group = check_arguments(area)\nif scene = (get_current_preset(group)).get(response_required: true).payload.to_i\n payload = (query_scene_levels(group)).get(response_required: true).payload\n levels = Array(Int32).from_json(payload)\n self[\"area#{group}_level\"] = levels[scene]\nend\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/helvar/net.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L328"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"get_current_preset(check_arguments(area))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"#\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(Int32, :version)) || 2\n@ignore_blocks = (setting?(Bool, :ignore_blocks)) || true\n@poll_group = setting?(Int32, :poll_group)\n"}},{"html_id":"query_ballast_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_ballast_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_ballast_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"71\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_clusters(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_clusters","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_clusters","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"101\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_daylight_savings(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_daylight_savings","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_daylight_savings","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"189\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_device(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_device","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_description_device","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"106\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_description_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_description_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_description_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"105\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_disabled(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_disabled","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_disabled","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"111\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_faulty(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_faulty","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_faulty","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"113\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"110\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_type(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_type","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_type","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"104\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_device_types_with_addresses(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_device_types_with_addresses","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_device_types_with_addresses","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"100\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_charge(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_charge","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_charge","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"174\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"129\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_battery_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_battery_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_battery_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"175\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"173\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_duration_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_duration_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_duration_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"172\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_state(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_state","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_state","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"171\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_func_test_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_func_test_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_func_test_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"170\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_emergency_total_lamp_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_emergency_total_lamp_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_emergency_total_lamp_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"176\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_group","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"164\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_group_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_group_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_group_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"161\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_groups(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_groups","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_groups","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"165\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_helvar_net(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_helvar_net","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_helvar_net","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"191\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_inputs(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_inputs","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_inputs","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"151\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_failure(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_failure","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_failure","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"112\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_lamp_hours(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_lamp_hours","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_lamp_hours","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"70\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_last_scene(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_last_scene","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_last_scene","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"109\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_latitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_latitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_latitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"187\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_load(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_load","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_load","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"152\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_longitude(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_longitude","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_longitude","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"186\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_LSIB(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_LSIB","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_LSIB","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"103\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_max_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"74\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_max_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_max_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_max_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"72\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_measurement(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_measurement","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_measurement","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"150\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_temp(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_temp","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_min_temp","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"75\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_min_voltage(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_min_voltage","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_min_voltage","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"73\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_missing(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_missing","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_missing","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"114\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_power_consumption(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_power_consumption","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_power_consumption","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"160\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_routers(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_routers","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_routers","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"102\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_info(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_info","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_scene_info","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"167\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_scene_levels(group:Int32)-instance-method","name":"query_scene_levels","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"}],"args_string":"(group : Int32)","args_html":"(group : Int32)","location":{"filename":"src/helvar/net.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L71"},"def":{"name":"query_scene_levels","args":[{"name":"group","external_name":"group","restriction":"Int32"}],"visibility":"Public","body":"query_scene_info(group: group, name: \"query_scene#{group}_info\")"}},{"html_id":"query_scene_names(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_scene_names","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_scene_names","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"166\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_software_version(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_software_version","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_software_version","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"190\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_time","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"185\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_time_zone(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_time_zone","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_time_zone","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"188\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_membership(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_membership","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_membership","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"108\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"query_workgroup_name(group:Int32|Nil=nil,block:Int32|Nil=nil,level:Int32|Nil=nil,scene:Int32|Nil=nil,fade:Int32|Nil=nil,addr:Int32|Nil=nil,**options)-instance-method","name":"query_workgroup_name","abstract":false,"args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"args_string":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","args_html":"(group : Int32 | Nil = nil, block : Int32 | Nil = nil, level : Int32 | Nil = nil, scene : Int32 | Nil = nil, fade : Int32 | Nil = nil, addr : Int32 | Nil = nil, **options)","location":{"filename":"src/helvar/net.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L140"},"def":{"name":"query_workgroup_name","args":[{"name":"group","default_value":"nil","external_name":"group","restriction":"Int32 | ::Nil"},{"name":"block","default_value":"nil","external_name":"block","restriction":"Int32 | ::Nil"},{"name":"level","default_value":"nil","external_name":"level","restriction":"Int32 | ::Nil"},{"name":"scene","default_value":"nil","external_name":"scene","restriction":"Int32 | ::Nil"},{"name":"fade","default_value":"nil","external_name":"fade","restriction":"Int32 | ::Nil"},{"name":"addr","default_value":"nil","external_name":"addr","restriction":"Int32 | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"107\", @version, group, block, level, scene, fade, addr, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/helvar/net.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L181"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Helvar sent: #{data}\"\nend\ntask_name = task.try(&.name)\ndata = data[0..-2]\nstart_of_message = data.index(/[\\?\\>\\!]V:/i)\nif start_of_message != 0\n logger.warn do\n \"Lighting error response: #{data[0...start_of_message]}\"\n end\n data = data[start_of_message..-1]\nend\ndata = data.delete(\"$\")\nindicator = data[0]\ncase indicator\nwhen '?', '>'\n data = data[1..-1]\n parts = data.split(\"=\")\n data = parts[0]\n value = parts[1]?\n params = {} of Symbol => String\n (data.split(\",\")).each do |param|\n parts = param.split(\":\")\n if parts.size > 1\n params[PARAMS[parts[0]]] = parts[1]\n else\n if parts[0][0] == '@'\n params[:addr] == parts[0][1..-1]\n else\n logger.debug do\n \"unknown param type #{param}\"\n end\n end\n end\n end\n ack = params[:ack]?\n if ack\n if ack != \"1\"\n return task.try(&.abort(\"request failed\"))\n end\n return task.try(&.success)\n end\n cmd = COMMANDS[params[:cmd]]\n case cmd\n when \"query_last_scene\"\n scene = value.try(&.to_i)\n group = params[:group]\n self[\"area#{group}\"] = scene\n if task_name == \"query_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_scene\"\n block = params[:block]\n group = params[:group]\n scene = params[:scene].to_i\n if block\n if @ignore_blocks\n self[\"area#{group}\"] = scene\n else\n self[\"area#{group}_#{block}\"] = scene\n end\n else\n self[\"area#{group}\"] = scene\n end\n if task_name == \"group_scene#{group}\"\n task.not_nil!.success(scene)\n end\n when \"group_level\"\n if task_name == \"group_level#{params[:group]}\"\n task.not_nil!.success\n end\n when \"query_scene_info\"\n group = params[:group]\n if value && (task_name == \"query_scene#{group}_info\")\n levels = ((value.split(\",L\"))[0].split(',')).map(&.to_i)\n task.not_nil!.success(levels)\n end\n else\n logger.debug do\n \"unknown response value\\n#{cmd} = #{value}\"\n end\n end\nwhen '!'\n error = ERRORS[(data.split(\"=\"))[1]]\n error = \"#{error} for #{data}\"\n self[:last_error] = error\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nelse\n logger.info do\n \"unknown request #{data}\"\n end\nend\nif task_name\nelse\n task.try(&.success)\nend\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":332,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L332"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\nlight_level(area_id, level.round_even.to_i, fade_time.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/helvar/net.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L324"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"trigger(check_arguments(area), scene.to_i, fade_time.to_i)"}},{"html_id":"trigger(group:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","abstract":false,"args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(group : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(group : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/helvar/net.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L61"},"def":{"name":"trigger","args":[{"name":"group","external_name":"group","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade = (fade / 10).to_i\nself[\"area#{group}\"] = scene\ngroup_scene(group: group, scene: scene, fade: fade, name: \"group_scene#{group}\")\n"}}],"macros":[{"html_id":"build_command_hash-macro","name":"build_command_hash","doc":"Generate a String => String hash based on the data above","summary":"

Generate a String => String hash based on the data above

","abstract":false,"location":{"filename":"src/helvar/net.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L147"},"def":{"name":"build_command_hash","visibility":"Public","body":" COMMANDS = \n{\n \n{% for name, command in CMD_METHODS %}\n {{ name.id.stringify }} => {{ command.id.stringify }},\n {% end %}\n\n }\n COMMANDS.merge!(COMMANDS.invert)\n \n"}}],"types":[{"html_id":"drivers/Helvar/Net/Area","path":"Helvar/Net/Area.html","kind":"alias","full_name":"Helvar::Net::Area","name":"Area","abstract":false,"locations":[{"filename":"src/helvar/net.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/helvar/net.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Helvar/Net","kind":"class","full_name":"Helvar::Net","name":"Net"}}]}]},{"html_id":"drivers/Hitachi","path":"Hitachi.html","kind":"module","full_name":"Hitachi","name":"Hitachi","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Hitachi/Projector","path":"Hitachi/Projector.html","kind":"module","full_name":"Hitachi::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Hitachi","kind":"module","full_name":"Hitachi","name":"Hitachi"},"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","path":"Hitachi/Projector/CpTwSeriesBasic.html","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Commands","name":"Commands","value":"{power_on: \"BA D2 01 00 00 60 01 00\", power_off: \"2A D3 01 00 00 60 00 00\", hdmi: \"0E D2 01 00 00 20 03 00\", hdmi2: \"6E D6 01 00 00 20 0D 00\", mute_video: \"6E F1 01 00 A0 20 01 00\", unmute_video: \"FE F0 01 00 A0 20 00 00\", mute_audio: \"D6 D2 01 00 02 20 01 00\", unmute_audio: \"46 D3 01 00 02 20 00 00\", lamp_hours_reset: \"58 DC 06 00 30 70 00 00\", filter_hours_reset: \"98 C6 06 00 40 70 00 00\", \"power?\": \"19 D3 02 00 00 60 00 00\", \"input?\": \"CD D2 02 00 00 20 00 00\", \"error?\": \"D9 D8 02 00 20 60 00 00\", \"freeze?\": \"B0 D2 02 00 02 30 00 00\", \"audio_mute?\": \"75 D3 02 00 02 20 00 00\", \"video_mute?\": \"CD F0 02 00 A0 20 00 00\", \"lamp?\": \"C2 FF 02 00 90 10 00 00\", \"filter?\": \"C2 F0 02 00 A0 10 00 00\"}","doc":"Note: commands have spaces in between each byte for readability","summary":"

Note: commands have spaces in between each byte for readability

"},{"id":"GetRequests","name":"GetRequests","value":"[:\"power?\", :\"input?\", :\"error?\", :\"freeze?\", :\"audio_mute?\", :\"video_mute?\", :\"lamp?\", :\"filter?\"] of ::Symbol"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Hitachi/Projector","kind":"module","full_name":"Hitachi::Projector","name":"Projector"},"instance_methods":[{"html_id":"audio_mute?(**options)-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"audio_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"audio_mute?\", **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L32"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n poll_1\nend\nschedule.every(10.minutes, true) do\n poll_2\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L53"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@recover_power = nil\n@recover_input = nil\n"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"error?\", **options)"}},{"html_id":"filter?(**options)-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"filter?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"filter?\", **options)"}},{"html_id":"filter_hours_reset-instance-method","name":"filter_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L109"},"def":{"name":"filter_hours_reset","visibility":"Public","body":"do_send(:filter_hours_reset)\nfilter?\n"}},{"html_id":"freeze?(**options)-instance-method","name":"freeze?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"freeze?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"freeze?\", **options)"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"input?\", **options)"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"lamp?\", **options)"}},{"html_id":"lamp_hours_reset-instance-method","name":"lamp_hours_reset","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L104"},"def":{"name":"lamp_hours_reset","visibility":"Public","body":"do_send(:lamp_hours_reset)\nlamp?\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L77"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L95"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_audio)\nelse\n do_send(:unmute_audio)\nend\naudio_mute?\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L86"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n do_send(:mute_video)\nelse\n do_send(:unmute_video)\nend\nvideo_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nqueue.timeout = 5.seconds\nqueue.retries = 3\nself[:type] = :projector\n"}},{"html_id":"poll_1-instance-method","name":"poll_1","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L37"},"def":{"name":"poll_1","visibility":"Public","body":"power?(priority: 0).get\nif self[:power]?.try(&.as_bool)\n input?(priority: 0)\n audio_mute?(priority: 0)\n video_mute?(priority: 0)\n freeze?(priority: 0)\nend\n"}},{"html_id":"poll_2-instance-method","name":"poll_2","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L47"},"def":{"name":"poll_2","visibility":"Public","body":"lamp?(priority: 0)\nfilter?(priority: 0)\nerror?(priority: 0)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L59"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off)\nend\npower?\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"power?\", **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L139"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data}\"\nend\ncommand = task.try(&.name)\ncase Response.from_value(data[0])\nwhen .ack?\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"NAK response\"))\nwhen .error?\n task.try(&.abort(\"Error response\"))\nwhen .data?\n if command\n case command\n when \"power?\"\n self[:power] = data[1] == 1\n self[:cooling] = data[1] == 2\n if self[:power]? == @power_target\n @power_target = nil\n else\n if @power_target && @recover_power.nil?\n logger.debug do\n \"recovering power state #{self[:power]} != target #{@power_target}\"\n end\n @recover_power = schedule.in(3.seconds) do\n @recover_power = nil\n power(@power_target.not_nil!)\n end\n end\n end\n when \"input?\"\n input = Input.from_value?(data[1])\n self[:input] = input || \"unknown\"\n if @input_target\n if input == @input_target\n @input_target = nil\n else\n if @recover_input.nil?\n logger.debug do\n \"recovering input #{self[:input]} != target #{@input_target}\"\n end\n @recover_input = schedule.in(3.seconds) do\n @recover_input = nil\n switch_to(@input_target.not_nil!)\n end\n end\n end\n end\n when \"error?\"\n self[:error_status] = (Error.from_value?(data[1])) || \"unknown\"\n when \"freeze?\"\n self[:frozen] = data[1] == 1\n when \"audio_mute?\"\n self[:audio_mute] = data[1] == 1\n when \"video_mute?\"\n self[:video_mute] = data[1] == 1\n when \"lamp?\"\n self[:lamp] = data[1] * data[2]\n when \"filter?\"\n self[:filter] = data[1] * data[2]\n end\n task.try(&.success)\n else\n task.try(&.abort(\"data received for unknown command\"))\n end\nwhen .busy?\n if (data[1] == 4) && (data[2] == 0)\n task.try(&.abort(\"authentication enabled, please disable\"))\n else\n task.try(&.retry(\"projector busy, retrying\"))\n end\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L71"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ndo_send(input.to_s.downcase)\ninput?\n"}},{"html_id":"video_mute?(**options)-instance-method","name":"video_mute?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L231"},"def":{"name":"video_mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(\"video_mute?\", **options)"}}],"types":[{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Error","path":"Hitachi/Projector/CpTwSeriesBasic/Error.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Error","name":"Error","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L128"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Normal","name":"Normal","value":"0"},{"id":"Cover","name":"Cover","value":"1"},{"id":"Fan","name":"Fan","value":"2"},{"id":"Lamp","name":"Lamp","value":"3"},{"id":"Temp","name":"Temp","value":"4"},{"id":"AirFlow","name":"AirFlow","value":"5"},{"id":"Cold","name":"Cold","value":"6"},{"id":"Filter","name":"Filter","value":"7"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"air_flow?-instance-method","name":"air_flow?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L134"},"def":{"name":"air_flow?","visibility":"Public","body":"self == AirFlow"}},{"html_id":"cold?-instance-method","name":"cold?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L135"},"def":{"name":"cold?","visibility":"Public","body":"self == Cold"}},{"html_id":"cover?-instance-method","name":"cover?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L130"},"def":{"name":"cover?","visibility":"Public","body":"self == Cover"}},{"html_id":"fan?-instance-method","name":"fan?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L131"},"def":{"name":"fan?","visibility":"Public","body":"self == Fan"}},{"html_id":"filter?-instance-method","name":"filter?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L136"},"def":{"name":"filter?","visibility":"Public","body":"self == Filter"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L132"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"normal?-instance-method","name":"normal?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L129"},"def":{"name":"normal?","visibility":"Public","body":"self == Normal"}},{"html_id":"temp?-instance-method","name":"temp?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L133"},"def":{"name":"temp?","visibility":"Public","body":"self == Temp"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Input","path":"Hitachi/Projector/CpTwSeriesBasic/Input.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Hdmi","name":"Hdmi","value":"3"},{"id":"Hdmi2","name":"Hdmi2","value":"13"},{"id":"HdbaSet","name":"HdbaSet","value":"17"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"hdba_set?-instance-method","name":"hdba_set?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L125"},"def":{"name":"hdba_set?","visibility":"Public","body":"self == HdbaSet"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L124"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L123"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}}]},{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic/Response","path":"Hitachi/Projector/CpTwSeriesBasic/Response.html","kind":"enum","full_name":"Hitachi::Projector::CpTwSeriesBasic::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L114"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"6"},{"id":"Nak","name":"Nak","value":"21"},{"id":"Error","name":"Error","value":"28"},{"id":"Data","name":"Data","value":"29"},{"id":"Busy","name":"Busy","value":"31"}],"namespace":{"html_id":"drivers/Hitachi/Projector/CpTwSeriesBasic","kind":"class","full_name":"Hitachi::Projector::CpTwSeriesBasic","name":"CpTwSeriesBasic"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L115"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"busy?-instance-method","name":"busy?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L119"},"def":{"name":"busy?","visibility":"Public","body":"self == Busy"}},{"html_id":"data?-instance-method","name":"data?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L118"},"def":{"name":"data?","visibility":"Public","body":"self == Data"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L117"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/hitachi/projector/cp_tw_series_basic.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/hitachi/projector/cp_tw_series_basic.cr#L116"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Infosilem","path":"Infosilem.html","kind":"module","full_name":"Infosilem","name":"Infosilem","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L4"},{"filename":"src/infosilem/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Infosilem/Campus","path":"Infosilem/Campus.html","kind":"class","full_name":"Infosilem::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String)","location":{"filename":"src/infosilem/campus.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L39"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"response = @integration.try(&.call(operation: \"StartTransfer\", body: {\"StartTransferOptions\" => Sabo::Parameter.from_hash(start_transfer_options(username: setting(String, :username), password: setting(String, :password)))}))\ntransfer_id = response.try(&.result)\nresponse = @booking.try(&.call(operation: \"RoomBookingOccurrence_ExportAll\", body: {\"TransferID\" => Sabo::Parameter.new(transfer_id.to_s), \"Options\" => Sabo::Parameter.from_hash(booking_options(building: building_id, room: room_id, start_date: start_date, end_date: end_date, start_time: start_date, end_time: end_date))}))\n@integration.try(&.call(operation: \"EndTransfer\", body: end_transfer_body(transfer_id: transfer_id.to_s)))\nself[\"room_#{room_id}_bookings_#{start_date}_#{end_date}\"] = response.try() do |__arg4|\n __arg4.result[\"ObjectData\"][\"ReservationOccurrences\"][\"ReservationOccurrence\"]?\nend || ([] of Int32)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/campus.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@integration = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/Integration/Integration.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n@booking = Sabo::Client.new(document: Sabo::WSDL::Document.new([host_name, \"/ExportOnly/RoomBookingPub.asmx?WSDL\"].join), prefix: \"http://www.infosilem.com/\", version: \"1.2\")\n"}}],"types":[{"html_id":"drivers/Infosilem/Campus/Client","path":"Infosilem/Campus/Client.html","kind":"alias","full_name":"Infosilem::Campus::Client","name":"Client","abstract":false,"locations":[{"filename":"src/infosilem/campus.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/campus.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Sabo::Client","aliased_html":"Sabo::Client","const":false,"namespace":{"html_id":"drivers/Infosilem/Campus","kind":"class","full_name":"Infosilem::Campus","name":"Campus"}}]},{"html_id":"drivers/Infosilem/DateTimeConvertor","path":"Infosilem/DateTimeConvertor.html","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/DateTimeConvertor","kind":"module","full_name":"Infosilem::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L37"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_local(\"#{Time.local.to_s(\"%F\")} #{value.read_string}\", \"%F %H:%M:%S\")"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L33"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%H:%M:%S\"))"}}]},{"html_id":"drivers/Infosilem/Event","path":"Infosilem/Event.html","kind":"class","full_name":"Infosilem::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflicting:Int32|Nil-instance-method","name":"conflicting","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L15"},"def":{"name":"conflicting","return_type":"Int32 | ::Nil","visibility":"Public","body":"@conflicting"}},{"html_id":"conflicting=(conflicting:Int32|Nil)-instance-method","name":"conflicting=","abstract":false,"args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"args_string":"(conflicting : Int32 | Nil)","args_html":"(conflicting : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L15"},"def":{"name":"conflicting=","args":[{"name":"conflicting","external_name":"conflicting","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@conflicting = conflicting"}},{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L23"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L23"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L9"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L9"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L25"},"def":{"name":"duration","visibility":"Public","body":"end_time - start_time"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L21"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"end_time=(end_time:Time)-instance-method","name":"end_time=","abstract":false,"args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"args_string":"(end_time : Time)","args_html":"(end_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L21"},"def":{"name":"end_time=","args":[{"name":"end_time","external_name":"end_time","restriction":"Time"}],"visibility":"Public","body":"@end_time = end_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L6"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/infosilem/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L6"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"number_of_attendees:Int32|Nil-instance-method","name":"number_of_attendees","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_attendees"}},{"html_id":"number_of_attendees=(number_of_attendees:Int32|Nil)-instance-method","name":"number_of_attendees=","abstract":false,"args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"args_string":"(number_of_attendees : Int32 | Nil)","args_html":"(number_of_attendees : Int32 | Nil)","location":{"filename":"src/infosilem/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L12"},"def":{"name":"number_of_attendees=","args":[{"name":"number_of_attendees","external_name":"number_of_attendees","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@number_of_attendees = number_of_attendees"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L18"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}},{"html_id":"start_time=(start_time:Time)-instance-method","name":"start_time=","abstract":false,"args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"args_string":"(start_time : Time)","args_html":"(start_time : Time)","location":{"filename":"src/infosilem/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L18"},"def":{"name":"start_time=","args":[{"name":"start_time","external_name":"start_time","restriction":"Time"}],"visibility":"Public","body":"@start_time = start_time"}}]},{"html_id":"drivers/Infosilem/IntegerConverter","path":"Infosilem/IntegerConverter.html","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter","abstract":false,"locations":[{"filename":"src/infosilem/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L42"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Infosilem/IntegerConverter","kind":"module","full_name":"Infosilem::IntegerConverter","name":"IntegerConverter"}],"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/infosilem/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L49"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"value.read_string.to_i"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/infosilem/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/models.cr#L45"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s)"}}]},{"html_id":"drivers/Infosilem/MockCampus","path":"Infosilem/MockCampus.html","kind":"class","full_name":"Infosilem::MockCampus","name":"MockCampus","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/mock_campus.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"bookings?(building_id:String,room_id:String,start_date:String,end_date:String):Array(JSON::Any)-instance-method","name":"bookings?","abstract":false,"args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","args_html":"(building_id : String, room_id : String, start_date : String, end_date : String) : Array(JSON::Any)","location":{"filename":"src/infosilem/mock_campus.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L230"},"def":{"name":"bookings?","args":[{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"room_id","external_name":"room_id","restriction":"String"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"@response"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L222"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/mock_campus.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/mock_campus.cr#L226"},"def":{"name":"on_update","visibility":"Public","body":"@response = (setting?(Array(JSON::Any), :response)) || ([] of JSON::Any)"}}]},{"html_id":"drivers/Infosilem/RoomSchedule","path":"Infosilem/RoomSchedule.html","kind":"class","full_name":"Infosilem::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/infosilem/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Infosilem","kind":"module","full_name":"Infosilem","name":"Infosilem"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L38"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local.to_s(\"%Y-%m-%d\")\n todays_events = Array(Event).from_json(fetch_events(today, today))\n todays_events.sort_by(&.duration).reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.start_time\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by?(&.start_time)\n previous_event = past_events.max_by?(&.end_time)\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(start_date : String, end_date : String)","args_html":"(start_date : String, end_date : String)","location":{"filename":"src/infosilem/room_schedule.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L81"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"events = (infosilem.bookings?(@building_id, @room_id, start_date, end_date)).get.to_json\nif @debug\n logger.debug do\n \"Infosilem Campus returned: #{events}\"\n end\nend\nevents\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/infosilem/room_schedule.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/infosilem/room_schedule.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@building_id = setting(String, :infosilem_building_id)\n@room_id = setting(String, :infosilem_room_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/JohnsonControls","path":"JohnsonControls.html","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls","abstract":false,"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ISO8601","name":"ISO8601","value":"Time::Format.new(\"%FT%TZ\")"}],"types":[{"html_id":"drivers/JohnsonControls/Attribute","path":"JohnsonControls/Attribute.html","kind":"class","full_name":"JohnsonControls::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L97"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"smaples_url:String-instance-method","name":"smaples_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url","return_type":"String","visibility":"Public","body":"@smaples_url"}},{"html_id":"smaples_url=(smaples_url:String)-instance-method","name":"smaples_url=","abstract":false,"args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"args_string":"(smaples_url : String)","args_html":"(smaples_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L94"},"def":{"name":"smaples_url=","args":[{"name":"smaples_url","external_name":"smaples_url","restriction":"String"}],"visibility":"Public","body":"@smaples_url = smaples_url"}}]},{"html_id":"drivers/JohnsonControls/AuthResponse","path":"JohnsonControls/AuthResponse.html","kind":"class","full_name":"JohnsonControls::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L10"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires:Time-instance-method","name":"expires","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires","return_type":"Time","visibility":"Public","body":"@expires"}},{"html_id":"expires=(expires:Time)-instance-method","name":"expires=","abstract":false,"args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"args_string":"(expires : Time)","args_html":"(expires : Time)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L13"},"def":{"name":"expires=","args":[{"name":"expires","external_name":"expires","restriction":"Time"}],"visibility":"Public","body":"@expires = expires"}}]},{"html_id":"drivers/JohnsonControls/Command","path":"JohnsonControls/Command.html","kind":"class","full_name":"JohnsonControls::Command","name":"Command","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L190"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"command_id:String-instance-method","name":"command_id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id","return_type":"String","visibility":"Public","body":"@command_id"}},{"html_id":"command_id=(command_id:String)-instance-method","name":"command_id=","abstract":false,"args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"args_string":"(command_id : String)","args_html":"(command_id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L193"},"def":{"name":"command_id=","args":[{"name":"command_id","external_name":"command_id","restriction":"String"}],"visibility":"Public","body":"@command_id = command_id"}},{"html_id":"items:Array(JSON::Any)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items","return_type":"Array(JSON::Any)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(JSON::Any))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"args_string":"(items : Array(JSON::Any))","args_html":"(items : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L202"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"maximum_items:Int32-instance-method","name":"maximum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items","return_type":"Int32","visibility":"Public","body":"@maximum_items"}},{"html_id":"maximum_items=(maximum_items:Int32)-instance-method","name":"maximum_items=","abstract":false,"args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"args_string":"(maximum_items : Int32)","args_html":"(maximum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L208"},"def":{"name":"maximum_items=","args":[{"name":"maximum_items","external_name":"maximum_items","restriction":"Int32"}],"visibility":"Public","body":"@maximum_items = maximum_items"}},{"html_id":"minimum_items:Int32-instance-method","name":"minimum_items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items","return_type":"Int32","visibility":"Public","body":"@minimum_items"}},{"html_id":"minimum_items=(minimum_items:Int32)-instance-method","name":"minimum_items=","abstract":false,"args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"args_string":"(minimum_items : Int32)","args_html":"(minimum_items : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L205"},"def":{"name":"minimum_items=","args":[{"name":"minimum_items","external_name":"minimum_items","restriction":"Int32"}],"visibility":"Public","body":"@minimum_items = minimum_items"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L196"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L199"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/JohnsonControls/Equipment","path":"JohnsonControls/Equipment.html","kind":"class","full_name":"JohnsonControls::Equipment","name":"Equipment","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_url:String-instance-method","name":"equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url","return_type":"String","visibility":"Public","body":"@equipment_url"}},{"html_id":"equipment_url=(equipment_url:String)-instance-method","name":"equipment_url=","abstract":false,"args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"args_string":"(equipment_url : String)","args_html":"(equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L81"},"def":{"name":"equipment_url=","args":[{"name":"equipment_url","external_name":"equipment_url","restriction":"String"}],"visibility":"Public","body":"@equipment_url = equipment_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L60"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L63"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L66"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L78"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L87"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L72"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"spaces_url:String-instance-method","name":"spaces_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url","return_type":"String","visibility":"Public","body":"@spaces_url"}},{"html_id":"spaces_url=(spaces_url:String)-instance-method","name":"spaces_url=","abstract":false,"args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"args_string":"(spaces_url : String)","args_html":"(spaces_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L75"},"def":{"name":"spaces_url=","args":[{"name":"spaces_url","external_name":"spaces_url","restriction":"String"}],"visibility":"Public","body":"@spaces_url = spaces_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L69"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}},{"html_id":"upstream_equipment_url:String-instance-method","name":"upstream_equipment_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url","return_type":"String","visibility":"Public","body":"@upstream_equipment_url"}},{"html_id":"upstream_equipment_url=(upstream_equipment_url:String)-instance-method","name":"upstream_equipment_url=","abstract":false,"args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"args_string":"(upstream_equipment_url : String)","args_html":"(upstream_equipment_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L84"},"def":{"name":"upstream_equipment_url=","args":[{"name":"upstream_equipment_url","external_name":"upstream_equipment_url","restriction":"String"}],"visibility":"Public","body":"@upstream_equipment_url = upstream_equipment_url"}}]},{"html_id":"drivers/JohnsonControls/EquipmentPoints","path":"JohnsonControls/EquipmentPoints.html","kind":"class","full_name":"JohnsonControls::EquipmentPoints","name":"EquipmentPoints","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L211"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L212"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(Point))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L215"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"@points = points"}}]},{"html_id":"drivers/JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse","path":"JohnsonControls/GetEquipmentHostedByNetworkDeviceResponse.html","kind":"class","full_name":"JohnsonControls::GetEquipmentHostedByNetworkDeviceResponse","name":"GetEquipmentHostedByNetworkDeviceResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Equipment)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items","return_type":"Array(Equipment)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Equipment))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"args_string":"(items : Array(Equipment))","args_html":"(items : Array(Equipment))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L177"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Equipment)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L180"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L183"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L186"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L174"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetNetworkDeviceChildrenResponse","path":"JohnsonControls/GetNetworkDeviceChildrenResponse.html","kind":"class","full_name":"JohnsonControls::GetNetworkDeviceChildrenResponse","name":"GetNetworkDeviceChildrenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L138"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L139"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(NetworkDevice)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items","return_type":"Array(NetworkDevice)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(NetworkDevice))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"args_string":"(items : Array(NetworkDevice))","args_html":"(items : Array(NetworkDevice))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L145"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(NetworkDevice)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L148"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L151"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L154"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L142"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetObjectAttributesWithSamplesResponse","path":"JohnsonControls/GetObjectAttributesWithSamplesResponse.html","kind":"class","full_name":"JohnsonControls::GetObjectAttributesWithSamplesResponse","name":"GetObjectAttributesWithSamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L157"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L158"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Attribute)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items","return_type":"Array(Attribute)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Attribute))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"args_string":"(items : Array(Attribute))","args_html":"(items : Array(Attribute))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L164"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Attribute)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L167"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L161"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/GetSamplesForAnObjectAttributeResponse","path":"JohnsonControls/GetSamplesForAnObjectAttributeResponse.html","kind":"class","full_name":"JohnsonControls::GetSamplesForAnObjectAttributeResponse","name":"GetSamplesForAnObjectAttributeResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L114"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_url:String-instance-method","name":"attribute_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url","return_type":"String","visibility":"Public","body":"@attribute_url"}},{"html_id":"attribute_url=(attribute_url:String)-instance-method","name":"attribute_url=","abstract":false,"args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"args_string":"(attribute_url : String)","args_html":"(attribute_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L132"},"def":{"name":"attribute_url=","args":[{"name":"attribute_url","external_name":"attribute_url","restriction":"String"}],"visibility":"Public","body":"@attribute_url = attribute_url"}},{"html_id":"items:Array(Sample)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items","return_type":"Array(Sample)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Sample))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"args_string":"(items : Array(Sample))","args_html":"(items : Array(Sample))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L120"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Sample)"}],"visibility":"Public","body":"@items = items"}},{"html_id":"next:String|Nil-instance-method","name":"next","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next","return_type":"String | ::Nil","visibility":"Public","body":"@next"}},{"html_id":"next=(next__arg0:String|Nil)-instance-method","name":"next=","abstract":false,"args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"args_string":"(next __arg0 : String | Nil)","args_html":"(next __arg0 : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L123"},"def":{"name":"next=","args":[{"name":"__arg0","external_name":"next","restriction":"String | ::Nil"}],"visibility":"Public","body":"@next = __arg0"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L135"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}},{"html_id":"previous:String|Nil-instance-method","name":"previous","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous","return_type":"String | ::Nil","visibility":"Public","body":"@previous"}},{"html_id":"previous=(previous:String|Nil)-instance-method","name":"previous=","abstract":false,"args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"args_string":"(previous : String | Nil)","args_html":"(previous : String | Nil)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L126"},"def":{"name":"previous=","args":[{"name":"previous","external_name":"previous","restriction":"String | ::Nil"}],"visibility":"Public","body":"@previous = previous"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L129"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"total:Int32-instance-method","name":"total","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total","return_type":"Int32","visibility":"Public","body":"@total"}},{"html_id":"total=(total:Int32)-instance-method","name":"total=","abstract":false,"args":[{"name":"total","external_name":"total","restriction":"Int32"}],"args_string":"(total : Int32)","args_html":"(total : Int32)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L117"},"def":{"name":"total=","args":[{"name":"total","external_name":"total","restriction":"Int32"}],"visibility":"Public","body":"@total = total"}}]},{"html_id":"drivers/JohnsonControls/Item","path":"JohnsonControls/Item.html","kind":"class","full_name":"JohnsonControls::Item","name":"Item","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L237"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L238"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"value:Value-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value","return_type":"Value","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Value)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Value"}],"args_string":"(value : Value)","args_html":"(value : Value)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L240"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Value"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/Metasys","path":"JohnsonControls/Metasys.html","kind":"class","full_name":"JohnsonControls::Metasys","name":"Metasys","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CONTENT_TYPE","name":"CONTENT_TYPE","value":"\"application/json\""}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L265"},"def":{"name":"count","visibility":"Public","body":"@count"}},{"html_id":"get_attribute_value(id:String):Float64-instance-method","name":"get_attribute_value","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Float64","args_html":"(id : String) : Float64","location":{"filename":"src/johnson_controls/metasys.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L98"},"def":{"name":"get_attribute_value","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Float64","visibility":"Public","body":"current_time = Time.utc\nshort_while_ago = Time.utc - (@poll_interval_seconds * 2).seconds\nresponse = get_request(\"/objects/#{id}/attributes/85/samples\", start_time: short_while_ago.to_rfc3339, end_time: current_time.to_rfc3339, page_size: 1, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n(SamplesResponse.from_json(response.body)).items.first.value.actual\n"}},{"html_id":"get_commands_for_an_object(id:String):Array(Command)-instance-method","name":"get_commands_for_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Array(Command)","args_html":"(id : String) : Array(Command)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L165"},"def":{"name":"get_commands_for_an_object","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Array(Command)","visibility":"Public","body":"response = get_request(\"/objects/#{id}/commands\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nArray(Command).from_json(response.body)\n"}},{"html_id":"get_data-instance-method","name":"get_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L229"},"def":{"name":"get_data","visibility":"Public","body":"{data: self[:data], averages: self[:averages]}"}},{"html_id":"get_equipment_hosted_by_network_device(id:String,page:Int32=1,page_size:Int32=10):GetEquipmentHostedByNetworkDeviceResponse-instance-method","name":"get_equipment_hosted_by_network_device","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetEquipmentHostedByNetworkDeviceResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L133"},"def":{"name":"get_equipment_hosted_by_network_device","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetEquipmentHostedByNetworkDeviceResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/equipment\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetEquipmentHostedByNetworkDeviceResponse.from_json(response.body)\n"}},{"html_id":"get_equipment_points(id:String):EquipmentPoints-instance-method","name":"get_equipment_points","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : EquipmentPoints","args_html":"(id : String) : EquipmentPoints","location":{"filename":"src/johnson_controls/metasys.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L91"},"def":{"name":"get_equipment_points","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"EquipmentPoints","visibility":"Public","body":"response = get_request(\"/equipment/#{id}/points\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nEquipmentPoints.from_json(response.body)\n"}},{"html_id":"get_network_device_children(id:String,page:Int32=1,page_size:Int32=10):GetNetworkDeviceChildrenResponse-instance-method","name":"get_network_device_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","args_html":"(id : String, page : Int32 = 1, page_size : Int32 = 10) : GetNetworkDeviceChildrenResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L122"},"def":{"name":"get_network_device_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetNetworkDeviceChildrenResponse","visibility":"Public","body":"response = get_request(\"/networkDevices/#{id}/objects\", page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetNetworkDeviceChildrenResponse.from_json(response.body)\n"}},{"html_id":"get_object_attributes_with_samples(id:String):GetObjectAttributesWithSamplesResponse-instance-method","name":"get_object_attributes_with_samples","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : GetObjectAttributesWithSamplesResponse","args_html":"(id : String) : GetObjectAttributesWithSamplesResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L144"},"def":{"name":"get_object_attributes_with_samples","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"GetObjectAttributesWithSamplesResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/trendedAttributes\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetObjectAttributesWithSamplesResponse.from_json(response.body)\n"}},{"html_id":"get_request_debug(path:String,**params)-instance-method","name":"get_request_debug","abstract":false,"args":[{"name":"path","external_name":"path","restriction":"String"}],"args_string":"(path : String, **params)","args_html":"(path : String, **params)","location":{"filename":"src/johnson_controls/metasys.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L249"},"def":{"name":"get_request_debug","args":[{"name":"path","external_name":"path","restriction":"String"}],"double_splat":{"name":"params","external_name":"params","restriction":""},"visibility":"Public","body":"response = get_request(path, **params)\nparsed_json_body = begin\n JSON.parse(response.body)\nrescue ex : JSON::ParseException\n ex.to_s\nend\n{body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\n"}},{"html_id":"get_samples_for_an_object_attribute(id:String,attribute_id:String,start_time:String,end_time:String,page:Int32=1,page_size:Int32=10):GetSamplesForAnObjectAttributeResponse-instance-method","name":"get_samples_for_an_object_attribute","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"args_string":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","args_html":"(id : String, attribute_id : String, start_time : String, end_time : String, page : Int32 = 1, page_size : Int32 = 10) : GetSamplesForAnObjectAttributeResponse","location":{"filename":"src/johnson_controls/metasys.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L151"},"def":{"name":"get_samples_for_an_object_attribute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"attribute_id","external_name":"attribute_id","restriction":"String"},{"name":"start_time","external_name":"start_time","restriction":"String"},{"name":"end_time","external_name":"end_time","restriction":"String"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"page_size","default_value":"10","external_name":"page_size","restriction":"Int32"}],"return_type":"GetSamplesForAnObjectAttributeResponse","visibility":"Public","body":"response = get_request(\"/objects/#{id}/attributes/#{attribute_id}/samples\", start_time: start_time, end_time: end_time, page: page, page_size: page_size, sort: \"-timestamp\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nGetSamplesForAnObjectAttributeResponse.from_json(response.body)\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L40"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nlogger.debug do\n \"received login response #{response.body}\"\nend\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"get_token_debug-instance-method","name":"get_token_debug","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L63"},"def":{"name":"get_token_debug","visibility":"Public","body":"response = post(\"/login\", headers: {\"Content-Type\" => CONTENT_TYPE}, body: {username: @username, password: @password}.to_json)\nif response.success?\n resp = AuthResponse.from_json(response.body)\n @auth_expiry = resp.expires\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n parsed_json_body = begin\n JSON.parse(response.body)\n rescue ex : JSON::ParseException\n ex.to_s\n end\n {body: response.body, parsed_json_body: parsed_json_body, status_code: response.status_code}\nend\n"}},{"html_id":"lookup_object_id(fqr:String):String-instance-method","name":"lookup_object_id","abstract":false,"args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"args_string":"(fqr : String) : String","args_html":"(fqr : String) : String","location":{"filename":"src/johnson_controls/metasys.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L115"},"def":{"name":"lookup_object_id","args":[{"name":"fqr","external_name":"fqr","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get_request(\"/objectIdentifiers?fqr=#{fqr}\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nresponse.body.to_s\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@equipment_ids_and_attributes = (setting?(Hash(String, Array(String)), :equipment_ids_and_attributes)) || ({} of String => Array(String))\n@poll_interval_seconds = (setting?(Int32, :poll_interval_seconds)) || 300\n@count = 0\nschedule.every(@poll_interval_seconds.seconds, true) do\n update_data\nend\n"}},{"html_id":"send_command_to_an_object(id:String,command_id:String,body:Array(JSON::Any))-instance-method","name":"send_command_to_an_object","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"args_string":"(id : String, command_id : String, body : Array(JSON::Any))","args_html":"(id : String, command_id : String, body : Array(JSON::Any))","location":{"filename":"src/johnson_controls/metasys.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L172"},"def":{"name":"send_command_to_an_object","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"body","external_name":"body","restriction":"Array(JSON::Any)"}],"visibility":"Public","body":"response = put_request(\"/objects/#{id}/commands/#{command_id}\", body: body)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L36"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry <= Time.utc"}},{"html_id":"update_data-instance-method","name":"update_data","abstract":false,"location":{"filename":"src/johnson_controls/metasys.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys.cr#L177"},"def":{"name":"update_data","visibility":"Public","body":"debug = {} of String => Hash(String, Float64)\ndata = {} of String => Hash(String, Float64)\n@equipment_ids_and_attributes.each do |id, attributes|\n equipment_points = get_equipment_points(id)\n equipment_points.points.each do |p|\n if attributes.includes?(p.name)\n else\n next\n end\n __temp_241 = p.equipment_name\n data[__temp_241]? || (data[__temp_241] = {} of String => Float64)\n __temp_243 = p.equipment_name\n debug[__temp_243]? || (debug[__temp_243] = {} of String => Float64)\n object_id = (p.object_url.split('/')).last\n value = get_attribute_value(object_id)\n data[p.equipment_name][p.name] = value\n debug[p.equipment_name][p.object_url] = value\n end\nend\naverages = calculate_averages(data)\n{data: self[:data] = data, count: @count, equipment_ids_and_attributes: @equipment_ids_and_attributes, debug: debug, averages: self[:averages] = averages}\n"}}]},{"html_id":"drivers/JohnsonControls/NetworkDevice","path":"JohnsonControls/NetworkDevice.html","kind":"class","full_name":"JohnsonControls::NetworkDevice","name":"NetworkDevice","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alarms_url:String-instance-method","name":"alarms_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url","return_type":"String","visibility":"Public","body":"@alarms_url"}},{"html_id":"alarms_url=(alarms_url:String)-instance-method","name":"alarms_url=","abstract":false,"args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"args_string":"(alarms_url : String)","args_html":"(alarms_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L50"},"def":{"name":"alarms_url=","args":[{"name":"alarms_url","external_name":"alarms_url","restriction":"String"}],"visibility":"Public","body":"@alarms_url = alarms_url"}},{"html_id":"audits_url:String-instance-method","name":"audits_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url","return_type":"String","visibility":"Public","body":"@audits_url"}},{"html_id":"audits_url=(audits_url:String)-instance-method","name":"audits_url=","abstract":false,"args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"args_string":"(audits_url : String)","args_html":"(audits_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L53"},"def":{"name":"audits_url=","args":[{"name":"audits_url","external_name":"audits_url","restriction":"String"}],"visibility":"Public","body":"@audits_url = audits_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L20"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"item_reference:String-instance-method","name":"item_reference","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference","return_type":"String","visibility":"Public","body":"@item_reference"}},{"html_id":"item_reference=(item_reference:String)-instance-method","name":"item_reference=","abstract":false,"args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"args_string":"(item_reference : String)","args_html":"(item_reference : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L23"},"def":{"name":"item_reference=","args":[{"name":"item_reference","external_name":"item_reference","restriction":"String"}],"visibility":"Public","body":"@item_reference = item_reference"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L26"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"network_device_url:String-instance-method","name":"network_device_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url","return_type":"String","visibility":"Public","body":"@network_device_url"}},{"html_id":"network_device_url=(network_device_url:String)-instance-method","name":"network_device_url=","abstract":false,"args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"args_string":"(network_device_url : String)","args_html":"(network_device_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L41"},"def":{"name":"network_device_url=","args":[{"name":"network_device_url","external_name":"network_device_url","restriction":"String"}],"visibility":"Public","body":"@network_device_url = network_device_url"}},{"html_id":"objects_url:String-instance-method","name":"objects_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url","return_type":"String","visibility":"Public","body":"@objects_url"}},{"html_id":"objects_url=(objects_url:String)-instance-method","name":"objects_url=","abstract":false,"args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"args_string":"(objects_url : String)","args_html":"(objects_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L38"},"def":{"name":"objects_url=","args":[{"name":"objects_url","external_name":"objects_url","restriction":"String"}],"visibility":"Public","body":"@objects_url = objects_url"}},{"html_id":"parent_url:String-instance-method","name":"parent_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url","return_type":"String","visibility":"Public","body":"@parent_url"}},{"html_id":"parent_url=(parent_url:String)-instance-method","name":"parent_url=","abstract":false,"args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"args_string":"(parent_url : String)","args_html":"(parent_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L35"},"def":{"name":"parent_url=","args":[{"name":"parent_url","external_name":"parent_url","restriction":"String"}],"visibility":"Public","body":"@parent_url = parent_url"}},{"html_id":"points_url:String-instance-method","name":"points_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url","return_type":"String","visibility":"Public","body":"@points_url"}},{"html_id":"points_url=(points_url:String)-instance-method","name":"points_url=","abstract":false,"args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"args_string":"(points_url : String)","args_html":"(points_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L44"},"def":{"name":"points_url=","args":[{"name":"points_url","external_name":"points_url","restriction":"String"}],"visibility":"Public","body":"@points_url = points_url"}},{"html_id":"self:String-instance-method","name":"self","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self","return_type":"String","visibility":"Public","body":"@self"}},{"html_id":"self=(self__arg0:String)-instance-method","name":"self=","abstract":false,"args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"args_string":"(self __arg0 : String)","args_html":"(self __arg0 : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L32"},"def":{"name":"self=","args":[{"name":"__arg0","external_name":"self","restriction":"String"}],"visibility":"Public","body":"@self = __arg0"}},{"html_id":"trended_attributes_url:String-instance-method","name":"trended_attributes_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url","return_type":"String","visibility":"Public","body":"@trended_attributes_url"}},{"html_id":"trended_attributes_url=(trended_attributes_url:String)-instance-method","name":"trended_attributes_url=","abstract":false,"args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"args_string":"(trended_attributes_url : String)","args_html":"(trended_attributes_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L47"},"def":{"name":"trended_attributes_url=","args":[{"name":"trended_attributes_url","external_name":"trended_attributes_url","restriction":"String"}],"visibility":"Public","body":"@trended_attributes_url = trended_attributes_url"}},{"html_id":"type_url:String-instance-method","name":"type_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url","return_type":"String","visibility":"Public","body":"@type_url"}},{"html_id":"type_url=(type_url:String)-instance-method","name":"type_url=","abstract":false,"args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"args_string":"(type_url : String)","args_html":"(type_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L29"},"def":{"name":"type_url=","args":[{"name":"type_url","external_name":"type_url","restriction":"String"}],"visibility":"Public","body":"@type_url = type_url"}}]},{"html_id":"drivers/JohnsonControls/Point","path":"JohnsonControls/Point.html","kind":"class","full_name":"JohnsonControls::Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L218"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L219"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"equipment_name:String-instance-method","name":"equipment_name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name","return_type":"String","visibility":"Public","body":"@equipment_name"}},{"html_id":"equipment_name=(equipment_name:String)-instance-method","name":"equipment_name=","abstract":false,"args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"args_string":"(equipment_name : String)","args_html":"(equipment_name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L225"},"def":{"name":"equipment_name=","args":[{"name":"equipment_name","external_name":"equipment_name","restriction":"String"}],"visibility":"Public","body":"@equipment_name = equipment_name"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L222"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"object_url:String-instance-method","name":"object_url","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url","return_type":"String","visibility":"Public","body":"@object_url"}},{"html_id":"object_url=(object_url:String)-instance-method","name":"object_url=","abstract":false,"args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"args_string":"(object_url : String)","args_html":"(object_url : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L228"},"def":{"name":"object_url=","args":[{"name":"object_url","external_name":"object_url","restriction":"String"}],"visibility":"Public","body":"@object_url = object_url"}}]},{"html_id":"drivers/JohnsonControls/Sample","path":"JohnsonControls/Sample.html","kind":"class","full_name":"JohnsonControls::Sample","name":"Sample","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L100"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L101"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"reliable:Bool-instance-method","name":"reliable","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable","return_type":"Bool","visibility":"Public","body":"@reliable"}},{"html_id":"reliable=(reliable:Bool)-instance-method","name":"reliable=","abstract":false,"args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"args_string":"(reliable : Bool)","args_html":"(reliable : Bool)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L107"},"def":{"name":"reliable=","args":[{"name":"reliable","external_name":"reliable","restriction":"Bool"}],"visibility":"Public","body":"@reliable = reliable"}},{"html_id":"timestamp:String-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp","return_type":"String","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:String)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"args_string":"(timestamp : String)","args_html":"(timestamp : String)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L104"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"String"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"value:Hash(String,JSON::Any)-instance-method","name":"value","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Hash(String,JSON::Any))-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"args_string":"(value : Hash(String, JSON::Any))","args_html":"(value : Hash(String, JSON::Any))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L110"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/JohnsonControls/SamplesResponse","path":"JohnsonControls/SamplesResponse.html","kind":"class","full_name":"JohnsonControls::SamplesResponse","name":"SamplesResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L231"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L232"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Item)-instance-method","name":"items","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items","return_type":"Array(Item)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Item))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"args_string":"(items : Array(Item))","args_html":"(items : Array(Item))","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L234"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Item)"}],"visibility":"Public","body":"@items = items"}}]},{"html_id":"drivers/JohnsonControls/Value","path":"JohnsonControls/Value.html","kind":"class","full_name":"JohnsonControls::Value","name":"Value","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/johnson_controls/metasys_models.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/JohnsonControls","kind":"module","full_name":"JohnsonControls","name":"JohnsonControls"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual:Float64-instance-method","name":"actual","abstract":false,"location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual","return_type":"Float64","visibility":"Public","body":"@actual"}},{"html_id":"actual=(actual:Float64)-instance-method","name":"actual=","abstract":false,"args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"args_string":"(actual : Float64)","args_html":"(actual : Float64)","location":{"filename":"src/johnson_controls/metasys_models.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/johnson_controls/metasys_models.cr#L247"},"def":{"name":"actual=","args":[{"name":"actual","external_name":"actual","restriction":"Float64"}],"visibility":"Public","body":"@actual = actual"}}]}]},{"html_id":"drivers/Juniper","path":"Juniper.html","kind":"module","full_name":"Juniper","name":"Juniper","abstract":false,"locations":[{"filename":"src/juniper/mist_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Juniper/Client","path":"Juniper/Client.html","kind":"class","full_name":"Juniper::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L75"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L76"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accuracy-instance-method","name":"accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L109"},"def":{"name":"accuracy","visibility":"Public","body":"if raw_accuracy\n return raw_accuracy\nend\n15 // num_locating_aps\n"}},{"html_id":"ap_id:String-instance-method","name":"ap_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id","return_type":"String","visibility":"Public","body":"@ap_id"}},{"html_id":"ap_id=(ap_id:String)-instance-method","name":"ap_id=","abstract":false,"args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"args_string":"(ap_id : String)","args_html":"(ap_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L92"},"def":{"name":"ap_id=","args":[{"name":"ap_id","external_name":"ap_id","restriction":"String"}],"visibility":"Public","body":"@ap_id = ap_id"}},{"html_id":"ap_mac:String-instance-method","name":"ap_mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac","return_type":"String","visibility":"Public","body":"@ap_mac"}},{"html_id":"ap_mac=(ap_mac:String)-instance-method","name":"ap_mac=","abstract":false,"args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"args_string":"(ap_mac : String)","args_html":"(ap_mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L91"},"def":{"name":"ap_mac=","args":[{"name":"ap_mac","external_name":"ap_mac","restriction":"String"}],"visibility":"Public","body":"@ap_mac = ap_mac"}},{"html_id":"family:String|Nil-instance-method","name":"family","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L86"},"def":{"name":"family","return_type":"String | ::Nil","visibility":"Public","body":"@family"}},{"html_id":"family=(family:String|Nil)-instance-method","name":"family=","abstract":false,"args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"args_string":"(family : String | Nil)","args_html":"(family : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L86"},"def":{"name":"family=","args":[{"name":"family","external_name":"family","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family = family"}},{"html_id":"guest:Guest|Nil-instance-method","name":"guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L115"},"def":{"name":"guest","return_type":"Guest | ::Nil","visibility":"Public","body":"@guest"}},{"html_id":"guest=(guest:Guest|Nil)-instance-method","name":"guest=","abstract":false,"args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"args_string":"(guest : Guest | Nil)","args_html":"(guest : Guest | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L115"},"def":{"name":"guest=","args":[{"name":"guest","external_name":"guest","restriction":"Guest | ::Nil"}],"visibility":"Public","body":"@guest = guest"}},{"html_id":"hostname:String|Nil-instance-method","name":"hostname","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname","return_type":"String | ::Nil","visibility":"Public","body":"@hostname"}},{"html_id":"hostname=(hostname:String|Nil)-instance-method","name":"hostname=","abstract":false,"args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"args_string":"(hostname : String | Nil)","args_html":"(hostname : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L83"},"def":{"name":"hostname=","args":[{"name":"hostname","external_name":"hostname","restriction":"String | ::Nil"}],"visibility":"Public","body":"@hostname = hostname"}},{"html_id":"ip_address:String-instance-method","name":"ip_address","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address","return_type":"String","visibility":"Public","body":"@ip_address"}},{"html_id":"ip_address=(ip_address:String)-instance-method","name":"ip_address=","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L90"},"def":{"name":"ip_address=","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"@ip_address = ip_address"}},{"html_id":"is_guest:Bool|Nil-instance-method","name":"is_guest","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_guest"}},{"html_id":"is_guest=(is_guest:Bool|Nil)-instance-method","name":"is_guest=","abstract":false,"args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"args_string":"(is_guest : Bool | Nil)","args_html":"(is_guest : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L114"},"def":{"name":"is_guest=","args":[{"name":"is_guest","external_name":"is_guest","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@is_guest = is_guest"}},{"html_id":"last_seen:Int64-instance-method","name":"last_seen","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen","return_type":"Int64","visibility":"Public","body":"@last_seen"}},{"html_id":"last_seen=(last_seen:Int64)-instance-method","name":"last_seen=","abstract":false,"args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"args_string":"(last_seen : Int64)","args_html":"(last_seen : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L80"},"def":{"name":"last_seen=","args":[{"name":"last_seen","external_name":"last_seen","restriction":"Int64"}],"visibility":"Public","body":"@last_seen = last_seen"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L79"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L79"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"manufacture:String|Nil-instance-method","name":"manufacture","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture","return_type":"String | ::Nil","visibility":"Public","body":"@manufacture"}},{"html_id":"manufacture=(manufacture:String|Nil)-instance-method","name":"manufacture=","abstract":false,"args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"args_string":"(manufacture : String | Nil)","args_html":"(manufacture : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L85"},"def":{"name":"manufacture=","args":[{"name":"manufacture","external_name":"manufacture","restriction":"String | ::Nil"}],"visibility":"Public","body":"@manufacture = manufacture"}},{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L97"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L87"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String|Nil)-instance-method","name":"model=","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"args_string":"(model : String | Nil)","args_html":"(model : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L87"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String | ::Nil"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_locating_aps:Int32-instance-method","name":"num_locating_aps","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps","return_type":"Int32","visibility":"Public","body":"@num_locating_aps"}},{"html_id":"num_locating_aps=(num_locating_aps:Int32)-instance-method","name":"num_locating_aps=","abstract":false,"args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"args_string":"(num_locating_aps : Int32)","args_html":"(num_locating_aps : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L103"},"def":{"name":"num_locating_aps=","args":[{"name":"num_locating_aps","external_name":"num_locating_aps","restriction":"Int32"}],"visibility":"Public","body":"@num_locating_aps = num_locating_aps"}},{"html_id":"os:String|Nil-instance-method","name":"os","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L84"},"def":{"name":"os","return_type":"String | ::Nil","visibility":"Public","body":"@os"}},{"html_id":"os=(os:String|Nil)-instance-method","name":"os=","abstract":false,"args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"args_string":"(os : String | Nil)","args_html":"(os : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L84"},"def":{"name":"os=","args":[{"name":"os","external_name":"os","restriction":"String | ::Nil"}],"visibility":"Public","body":"@os = os"}},{"html_id":"psk_id:String|Nil-instance-method","name":"psk_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id","return_type":"String | ::Nil","visibility":"Public","body":"@psk_id"}},{"html_id":"psk_id=(psk_id:String|Nil)-instance-method","name":"psk_id=","abstract":false,"args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"args_string":"(psk_id : String | Nil)","args_html":"(psk_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L95"},"def":{"name":"psk_id=","args":[{"name":"psk_id","external_name":"psk_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@psk_id = psk_id"}},{"html_id":"raw_accuracy:Int32|Nil-instance-method","name":"raw_accuracy","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy","return_type":"Int32 | ::Nil","visibility":"Public","body":"@raw_accuracy"}},{"html_id":"raw_accuracy=(raw_accuracy:Int32|Nil)-instance-method","name":"raw_accuracy=","abstract":false,"args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"args_string":"(raw_accuracy : Int32 | Nil)","args_html":"(raw_accuracy : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L107"},"def":{"name":"raw_accuracy=","args":[{"name":"raw_accuracy","external_name":"raw_accuracy","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@raw_accuracy = raw_accuracy"}},{"html_id":"ssid:String-instance-method","name":"ssid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid","return_type":"String","visibility":"Public","body":"@ssid"}},{"html_id":"ssid=(ssid:String)-instance-method","name":"ssid=","abstract":false,"args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"args_string":"(ssid : String)","args_html":"(ssid : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L93"},"def":{"name":"ssid=","args":[{"name":"ssid","external_name":"ssid","restriction":"String"}],"visibility":"Public","body":"@ssid = ssid"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L82"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}},{"html_id":"username=(username:String|Nil)-instance-method","name":"username=","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil)","args_html":"(username : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L82"},"def":{"name":"username=","args":[{"name":"username","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"@username = username"}},{"html_id":"wlan_id:String-instance-method","name":"wlan_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id","return_type":"String","visibility":"Public","body":"@wlan_id"}},{"html_id":"wlan_id=(wlan_id:String)-instance-method","name":"wlan_id=","abstract":false,"args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"args_string":"(wlan_id : String)","args_html":"(wlan_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L94"},"def":{"name":"wlan_id=","args":[{"name":"wlan_id","external_name":"wlan_id","restriction":"String"}],"visibility":"Public","body":"@wlan_id = wlan_id"}},{"html_id":"x:Float64-instance-method","name":"x","doc":"pixels","summary":"

pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L99"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","doc":"pixels","summary":"

pixels

","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L99"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"x_m:Float64|Nil-instance-method","name":"x_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x_m"}},{"html_id":"x_m=(x_m:Float64|Nil)-instance-method","name":"x_m=","abstract":false,"args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"args_string":"(x_m : Float64 | Nil)","args_html":"(x_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L101"},"def":{"name":"x_m=","args":[{"name":"x_m","external_name":"x_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x_m = x_m"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L100"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L100"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}},{"html_id":"y_m:Float64|Nil-instance-method","name":"y_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y_m"}},{"html_id":"y_m=(y_m:Float64|Nil)-instance-method","name":"y_m=","abstract":false,"args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"args_string":"(y_m : Float64 | Nil)","args_html":"(y_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L102"},"def":{"name":"y_m=","args":[{"name":"y_m","external_name":"y_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y_m = y_m"}}]},{"html_id":"drivers/Juniper/Guest","path":"Juniper/Guest.html","kind":"class","full_name":"Juniper::Guest","name":"Guest","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L118"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L119"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"authorized:Bool-instance-method","name":"authorized","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized","return_type":"Bool","visibility":"Public","body":"@authorized"}},{"html_id":"authorized=(authorized:Bool)-instance-method","name":"authorized=","abstract":false,"args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"args_string":"(authorized : Bool)","args_html":"(authorized : Bool)","location":{"filename":"src/juniper/mist_models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L122"},"def":{"name":"authorized=","args":[{"name":"authorized","external_name":"authorized","restriction":"Bool"}],"visibility":"Public","body":"@authorized = authorized"}},{"html_id":"authorized_expiring_time:Int64|Nil-instance-method","name":"authorized_expiring_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_expiring_time"}},{"html_id":"authorized_expiring_time=(authorized_expiring_time:Int64|Nil)-instance-method","name":"authorized_expiring_time=","abstract":false,"args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_expiring_time : Int64 | Nil)","args_html":"(authorized_expiring_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L124"},"def":{"name":"authorized_expiring_time=","args":[{"name":"authorized_expiring_time","external_name":"authorized_expiring_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_expiring_time = authorized_expiring_time"}},{"html_id":"authorized_time:Int64|Nil-instance-method","name":"authorized_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time","return_type":"Int64 | ::Nil","visibility":"Public","body":"@authorized_time"}},{"html_id":"authorized_time=(authorized_time:Int64|Nil)-instance-method","name":"authorized_time=","abstract":false,"args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"args_string":"(authorized_time : Int64 | Nil)","args_html":"(authorized_time : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L123"},"def":{"name":"authorized_time=","args":[{"name":"authorized_time","external_name":"authorized_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@authorized_time = authorized_time"}},{"html_id":"company:String|Nil-instance-method","name":"company","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L127"},"def":{"name":"company","return_type":"String | ::Nil","visibility":"Public","body":"@company"}},{"html_id":"company=(company:String|Nil)-instance-method","name":"company=","abstract":false,"args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"args_string":"(company : String | Nil)","args_html":"(company : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L127"},"def":{"name":"company=","args":[{"name":"company","external_name":"company","restriction":"String | ::Nil"}],"visibility":"Public","body":"@company = company"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L126"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L126"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L125"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L125"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/LatLng","path":"Juniper/LatLng.html","kind":"struct","full_name":"Juniper::LatLng","name":"LatLng","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"lat:Float64-instance-method","name":"lat","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L71"},"def":{"name":"lat","return_type":"Float64","visibility":"Public","body":"@lat"}},{"html_id":"lat=(lat:Float64)-instance-method","name":"lat=","abstract":false,"args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"args_string":"(lat : Float64)","args_html":"(lat : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L71"},"def":{"name":"lat=","args":[{"name":"lat","external_name":"lat","restriction":"Float64"}],"visibility":"Public","body":"@lat = lat"}},{"html_id":"lng:Float64-instance-method","name":"lng","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L72"},"def":{"name":"lng","return_type":"Float64","visibility":"Public","body":"@lng"}},{"html_id":"lng=(lng:Float64)-instance-method","name":"lng=","abstract":false,"args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"args_string":"(lng : Float64)","args_html":"(lng : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L72"},"def":{"name":"lng=","args":[{"name":"lng","external_name":"lng","restriction":"Float64"}],"visibility":"Public","body":"@lng = lng"}}]},{"html_id":"drivers/Juniper/LocationAsset","path":"Juniper/LocationAsset.html","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"battery_voltage:Float64|Nil-instance-method","name":"battery_voltage","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage","return_type":"Float64 | ::Nil","visibility":"Public","body":"@battery_voltage"}},{"html_id":"battery_voltage=(battery_voltage:Float64|Nil)-instance-method","name":"battery_voltage=","abstract":false,"args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"args_string":"(battery_voltage : Float64 | Nil)","args_html":"(battery_voltage : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L207"},"def":{"name":"battery_voltage=","args":[{"name":"battery_voltage","external_name":"battery_voltage","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@battery_voltage = battery_voltage"}},{"html_id":"eddystone_uid_instance:String|Nil-instance-method","name":"eddystone_uid_instance","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_instance"}},{"html_id":"eddystone_uid_instance=(eddystone_uid_instance:String|Nil)-instance-method","name":"eddystone_uid_instance=","abstract":false,"args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_instance : String | Nil)","args_html":"(eddystone_uid_instance : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L198"},"def":{"name":"eddystone_uid_instance=","args":[{"name":"eddystone_uid_instance","external_name":"eddystone_uid_instance","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_instance = eddystone_uid_instance"}},{"html_id":"eddystone_uid_namespace:String|Nil-instance-method","name":"eddystone_uid_namespace","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_uid_namespace"}},{"html_id":"eddystone_uid_namespace=(eddystone_uid_namespace:String|Nil)-instance-method","name":"eddystone_uid_namespace=","abstract":false,"args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"args_string":"(eddystone_uid_namespace : String | Nil)","args_html":"(eddystone_uid_namespace : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L197"},"def":{"name":"eddystone_uid_namespace=","args":[{"name":"eddystone_uid_namespace","external_name":"eddystone_uid_namespace","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_uid_namespace = eddystone_uid_namespace"}},{"html_id":"eddystone_url_url:String|Nil-instance-method","name":"eddystone_url_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url","return_type":"String | ::Nil","visibility":"Public","body":"@eddystone_url_url"}},{"html_id":"eddystone_url_url=(eddystone_url_url:String|Nil)-instance-method","name":"eddystone_url_url=","abstract":false,"args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"args_string":"(eddystone_url_url : String | Nil)","args_html":"(eddystone_url_url : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L199"},"def":{"name":"eddystone_url_url=","args":[{"name":"eddystone_url_url","external_name":"eddystone_url_url","restriction":"String | ::Nil"}],"visibility":"Public","body":"@eddystone_url_url = eddystone_url_url"}},{"html_id":"ibeacon_major:Int64|Nil-instance-method","name":"ibeacon_major","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_major"}},{"html_id":"ibeacon_major=(ibeacon_major:Int64|Nil)-instance-method","name":"ibeacon_major=","abstract":false,"args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_major : Int64 | Nil)","args_html":"(ibeacon_major : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L194"},"def":{"name":"ibeacon_major=","args":[{"name":"ibeacon_major","external_name":"ibeacon_major","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_major = ibeacon_major"}},{"html_id":"ibeacon_minor:Int64|Nil-instance-method","name":"ibeacon_minor","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ibeacon_minor"}},{"html_id":"ibeacon_minor=(ibeacon_minor:Int64|Nil)-instance-method","name":"ibeacon_minor=","abstract":false,"args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"args_string":"(ibeacon_minor : Int64 | Nil)","args_html":"(ibeacon_minor : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L195"},"def":{"name":"ibeacon_minor=","args":[{"name":"ibeacon_minor","external_name":"ibeacon_minor","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@ibeacon_minor = ibeacon_minor"}},{"html_id":"ibeacon_uuid:String|Nil-instance-method","name":"ibeacon_uuid","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid","return_type":"String | ::Nil","visibility":"Public","body":"@ibeacon_uuid"}},{"html_id":"ibeacon_uuid=(ibeacon_uuid:String|Nil)-instance-method","name":"ibeacon_uuid=","abstract":false,"args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"args_string":"(ibeacon_uuid : String | Nil)","args_html":"(ibeacon_uuid : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L193"},"def":{"name":"ibeacon_uuid=","args":[{"name":"ibeacon_uuid","external_name":"ibeacon_uuid","restriction":"String | ::Nil"}],"visibility":"Public","body":"@ibeacon_uuid = ibeacon_uuid"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L191"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L191"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"mfg_company_id:Int64|Nil-instance-method","name":"mfg_company_id","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@mfg_company_id"}},{"html_id":"mfg_company_id=(mfg_company_id:Int64|Nil)-instance-method","name":"mfg_company_id=","doc":"BLE manufacturing company ID","summary":"

BLE manufacturing company ID

","abstract":false,"args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"args_string":"(mfg_company_id : Int64 | Nil)","args_html":"(mfg_company_id : Int64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L202"},"def":{"name":"mfg_company_id=","args":[{"name":"mfg_company_id","external_name":"mfg_company_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@mfg_company_id = mfg_company_id"}},{"html_id":"mfg_data:String|Nil-instance-method","name":"mfg_data","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data","return_type":"String | ::Nil","visibility":"Public","body":"@mfg_data"}},{"html_id":"mfg_data=(mfg_data:String|Nil)-instance-method","name":"mfg_data=","doc":"BLE manufacturing data in hex byte-string format","summary":"

BLE manufacturing data in hex byte-string format

","abstract":false,"args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"args_string":"(mfg_data : String | Nil)","args_html":"(mfg_data : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L205"},"def":{"name":"mfg_data=","args":[{"name":"mfg_data","external_name":"mfg_data","restriction":"String | ::Nil"}],"visibility":"Public","body":"@mfg_data = mfg_data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L190"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationEvent","path":"Juniper/LocationEvent.html","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationAsset","kind":"class","full_name":"Juniper::LocationAsset","name":"LocationAsset"},{"html_id":"drivers/Juniper/LocationSDK","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK"},{"html_id":"drivers/Juniper/LocationWifi","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L171"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"sdk\"\n LocationSDK.from_json(json)\nwhen \"wifi\"\n LocationWifi.from_json(json)\nwhen \"asset\"\n LocationAsset.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"map_id:String-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id","return_type":"String","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"args_string":"(map_id : String)","args_html":"(map_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L165"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L164"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"timestamp:Int64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp","return_type":"Int64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Int64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"args_string":"(timestamp : Int64)","args_html":"(timestamp : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L169"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64"}],"visibility":"Public","body":"@timestamp = timestamp"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L167"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L167"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L168"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L168"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Juniper/LocationEvents","path":"Juniper/LocationEvents.html","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L149"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(LocationEvent)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L151"},"def":{"name":"events","return_type":"Array(LocationEvent)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L150"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/LocationSDK","path":"Juniper/LocationSDK.html","kind":"class","full_name":"Juniper::LocationSDK","name":"LocationSDK","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L178"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L181"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L181"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L180"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L180"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L179"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/LocationWifi","path":"Juniper/LocationWifi.html","kind":"class","full_name":"Juniper::LocationWifi","name":"LocationWifi","abstract":false,"superclass":{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},"ancestors":[{"html_id":"drivers/Juniper/LocationEvent","kind":"class","full_name":"Juniper::LocationEvent","name":"LocationEvent"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L184"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L184"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L186"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}},{"html_id":"mac=(mac:String)-instance-method","name":"mac=","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"}],"args_string":"(mac : String)","args_html":"(mac : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L186"},"def":{"name":"mac=","args":[{"name":"mac","external_name":"mac","restriction":"String"}],"visibility":"Public","body":"@mac = mac"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L185"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/Juniper/Map","path":"Juniper/Map.html","kind":"class","full_name":"Juniper::Map","name":"Map","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/MapGoogle","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle"},{"html_id":"drivers/Juniper/MapImage","kind":"class","full_name":"Juniper::MapImage","name":"MapImage"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"image\"\n MapImage.from_json(json)\nwhen \"google\"\n MapGoogle.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L22"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L22"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L21"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L21"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Juniper/MapGoogle","path":"Juniper/MapGoogle.html","kind":"class","full_name":"Juniper::MapGoogle","name":"MapGoogle","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L55"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bottom_right_coordinates:LatLng-instance-method","name":"bottom_right_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates","return_type":"LatLng","visibility":"Public","body":"@bottom_right_coordinates"}},{"html_id":"bottom_right_coordinates=(bottom_right_coordinates:LatLng)-instance-method","name":"bottom_right_coordinates=","abstract":false,"args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"args_string":"(bottom_right_coordinates : LatLng)","args_html":"(bottom_right_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L65"},"def":{"name":"bottom_right_coordinates=","args":[{"name":"bottom_right_coordinates","external_name":"bottom_right_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@bottom_right_coordinates = bottom_right_coordinates"}},{"html_id":"origin_x:Float64-instance-method","name":"origin_x","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x","return_type":"Float64","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Float64)-instance-method","name":"origin_x=","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"args_string":"(origin_x : Float64)","args_html":"(origin_x : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L58"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Float64"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Float64-instance-method","name":"origin_y","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y","return_type":"Float64","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Float64)-instance-method","name":"origin_y=","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"args_string":"(origin_y : Float64)","args_html":"(origin_y : Float64)","location":{"filename":"src/juniper/mist_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L59"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Float64"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"top_left_coordinates:LatLng-instance-method","name":"top_left_coordinates","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates","return_type":"LatLng","visibility":"Public","body":"@top_left_coordinates"}},{"html_id":"top_left_coordinates=(top_left_coordinates:LatLng)-instance-method","name":"top_left_coordinates=","abstract":false,"args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"args_string":"(top_left_coordinates : LatLng)","args_html":"(top_left_coordinates : LatLng)","location":{"filename":"src/juniper/mist_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L62"},"def":{"name":"top_left_coordinates=","args":[{"name":"top_left_coordinates","external_name":"top_left_coordinates","restriction":"LatLng"}],"visibility":"Public","body":"@top_left_coordinates = top_left_coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L56"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"view:String-instance-method","name":"view","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L57"},"def":{"name":"view","return_type":"String","visibility":"Public","body":"@view"}},{"html_id":"view=(view:String)-instance-method","name":"view=","abstract":false,"args":[{"name":"view","external_name":"view","restriction":"String"}],"args_string":"(view : String)","args_html":"(view : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L57"},"def":{"name":"view=","args":[{"name":"view","external_name":"view","restriction":"String"}],"visibility":"Public","body":"@view = view"}}]},{"html_id":"drivers/Juniper/MapImage","path":"Juniper/MapImage.html","kind":"class","full_name":"Juniper::MapImage","name":"MapImage","abstract":false,"superclass":{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},"ancestors":[{"html_id":"drivers/Juniper/Map","kind":"class","full_name":"Juniper::Map","name":"Map"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L30"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Int32-instance-method","name":"height","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L41"},"def":{"name":"height","return_type":"Int32","visibility":"Public","body":"@height"}},{"html_id":"height=(height:Int32)-instance-method","name":"height=","abstract":false,"args":[{"name":"height","external_name":"height","restriction":"Int32"}],"args_string":"(height : Int32)","args_html":"(height : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L41"},"def":{"name":"height=","args":[{"name":"height","external_name":"height","restriction":"Int32"}],"visibility":"Public","body":"@height = height"}},{"html_id":"height_m:Float64|Nil-instance-method","name":"height_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height_m"}},{"html_id":"height_m=(height_m:Float64|Nil)-instance-method","name":"height_m=","abstract":false,"args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"args_string":"(height_m : Float64 | Nil)","args_html":"(height_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L44"},"def":{"name":"height_m=","args":[{"name":"height_m","external_name":"height_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@height_m = height_m"}},{"html_id":"locked:Bool|Nil-instance-method","name":"locked","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L52"},"def":{"name":"locked","return_type":"Bool | ::Nil","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool|Nil)-instance-method","name":"locked=","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"args_string":"(locked : Bool | Nil)","args_html":"(locked : Bool | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L52"},"def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@locked = locked"}},{"html_id":"org_id:String|Nil-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id","return_type":"String | ::Nil","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String|Nil)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"args_string":"(org_id : String | Nil)","args_html":"(org_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L36"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"orientation:Int32|Nil-instance-method","name":"orientation","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation","return_type":"Int32 | ::Nil","visibility":"Public","body":"@orientation"}},{"html_id":"orientation=(orientation:Int32|Nil)-instance-method","name":"orientation=","abstract":false,"args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"args_string":"(orientation : Int32 | Nil)","args_html":"(orientation : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L51"},"def":{"name":"orientation=","args":[{"name":"orientation","external_name":"orientation","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@orientation = orientation"}},{"html_id":"origin_x:Int32|Nil-instance-method","name":"origin_x","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_x"}},{"html_id":"origin_x=(origin_x:Int32|Nil)-instance-method","name":"origin_x=","doc":"the user-annotated x origin, pixels","summary":"

the user-annotated x origin, pixels

","abstract":false,"args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"args_string":"(origin_x : Int32 | Nil)","args_html":"(origin_x : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L47"},"def":{"name":"origin_x=","args":[{"name":"origin_x","external_name":"origin_x","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_x = origin_x"}},{"html_id":"origin_y:Int32|Nil-instance-method","name":"origin_y","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y","return_type":"Int32 | ::Nil","visibility":"Public","body":"@origin_y"}},{"html_id":"origin_y=(origin_y:Int32|Nil)-instance-method","name":"origin_y=","doc":"the user-annotated y origin, pixels","summary":"

the user-annotated y origin, pixels

","abstract":false,"args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"args_string":"(origin_y : Int32 | Nil)","args_html":"(origin_y : Int32 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L50"},"def":{"name":"origin_y=","args":[{"name":"origin_y","external_name":"origin_y","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@origin_y = origin_y"}},{"html_id":"pixels_per_meter:Float32-instance-method","name":"pixels_per_meter","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter","return_type":"Float32","visibility":"Public","body":"@pixels_per_meter"}},{"html_id":"pixels_per_meter=(pixels_per_meter:Float32)-instance-method","name":"pixels_per_meter=","abstract":false,"args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"args_string":"(pixels_per_meter : Float32)","args_html":"(pixels_per_meter : Float32)","location":{"filename":"src/juniper/mist_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L39"},"def":{"name":"pixels_per_meter=","args":[{"name":"pixels_per_meter","external_name":"pixels_per_meter","restriction":"Float32"}],"visibility":"Public","body":"@pixels_per_meter = pixels_per_meter"}},{"html_id":"site_id:String|Nil-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id","return_type":"String | ::Nil","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String|Nil)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String | Nil)","args_html":"(site_id : String | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L35"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@site_id = site_id"}},{"html_id":"thumbnail_url:String-instance-method","name":"thumbnail_url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url","return_type":"String","visibility":"Public","body":"@thumbnail_url"}},{"html_id":"thumbnail_url=(thumbnail_url:String)-instance-method","name":"thumbnail_url=","abstract":false,"args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"args_string":"(thumbnail_url : String)","args_html":"(thumbnail_url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L33"},"def":{"name":"thumbnail_url=","args":[{"name":"thumbnail_url","external_name":"thumbnail_url","restriction":"String"}],"visibility":"Public","body":"@thumbnail_url = thumbnail_url"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L31"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"url:String-instance-method","name":"url","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L32"},"def":{"name":"url","return_type":"String","visibility":"Public","body":"@url"}},{"html_id":"url=(url:String)-instance-method","name":"url=","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"}],"args_string":"(url : String)","args_html":"(url : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L32"},"def":{"name":"url=","args":[{"name":"url","external_name":"url","restriction":"String"}],"visibility":"Public","body":"@url = url"}},{"html_id":"width:Int32-instance-method","name":"width","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L40"},"def":{"name":"width","return_type":"Int32","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Int32)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Int32"}],"args_string":"(width : Int32)","args_html":"(width : Int32)","location":{"filename":"src/juniper/mist_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L40"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Int32"}],"visibility":"Public","body":"@width = width"}},{"html_id":"width_m:Float64|Nil-instance-method","name":"width_m","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width_m"}},{"html_id":"width_m=(width_m:Float64|Nil)-instance-method","name":"width_m=","abstract":false,"args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"args_string":"(width_m : Float64 | Nil)","args_html":"(width_m : Float64 | Nil)","location":{"filename":"src/juniper/mist_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L43"},"def":{"name":"width_m=","args":[{"name":"width_m","external_name":"width_m","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@width_m = width_m"}}]},{"html_id":"drivers/Juniper/Mist","path":"Juniper/Mist.html","kind":"class","full_name":"Juniper::Mist","name":"Mist","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(site_id:String,client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(site_id : String, client_mac : String)","args_html":"(site_id : String, client_mac : String)","location":{"filename":"src/juniper/mist.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L117"},"def":{"name":"client","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"clients(site_id:String,map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(site_id : String, map_id : String | Nil = nil)","args_html":"(site_id : String, map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L109"},"def":{"name":"clients","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L97"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"location_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"location_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/juniper/mist.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L124"},"def":{"name":"location_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nvalidation = if signature = headers[\"X-Mist-Signature-v2\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA256, @webhook_secret, body)).downcase\nelse\n if signature = headers[\"X-Mist-Signature\"]?.try(&.first?)\n (OpenSSL::HMAC.hexdigest(OpenSSL::Algorithm::SHA1, @webhook_secret, body)).downcase\n else\n logger.warn do\n \"webhook called without validation signature\"\n end\n return {HTTP::Status::NOT_FOUND.to_i, EMPTY_HEADERS, \"\"}\n end\nend\nif validation != signature.downcase\n logger.warn do\n \"validation failed, check webhook secret\"\n end\n return {HTTP::Status::UNAUTHORIZED.to_i, EMPTY_HEADERS, \"\"}\nend\nbegin\n event_data = WebhookEvent.from_json(body)\n logger.debug do\n \"parsed mist webhook payload\"\n end\n if event_data.topic != \"location\"\n logger.debug do\n \"ignoring message type: #{event_data.topic}\"\n end\n return SUCCESS_RESPONSE\n end\n sites = Hash(String, Array(LocationEvent)).new do |hash, site|\n hash[site] = [] of LocationEvent\n end\n (event_data.events.as(Array(LocationEvent))).each do |event|\n sites[event.site_id] << event\n end\n sites.each do |site, events|\n self[site] = events\n end\nrescue e\n logger.error(exception: e) do\n \"failed to parse mist webhook payload\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}},{"html_id":"maps(site_id:String)-instance-method","name":"maps","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/juniper/mist.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L105"},"def":{"name":"maps","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L28"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nschedule.cron(\"0 * * * *\") do\n reset_rate_limit\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L36"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@org_id = setting(String, :org_id)\n@webhook_secret = (setting?(String, :webhook_secret)) || \"\"\n"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/juniper/mist.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist.cr#L101"},"def":{"name":"sites","visibility":"Public","body":"request(Array(Site)) do |headers|\n get(\"/api/v1/orgs/#{@org_id}/sites\", headers: headers)\nend"}}]},{"html_id":"drivers/Juniper/MistLocationService","path":"Juniper/MistLocationService.html","kind":"class","full_name":"Juniper::MistLocationService","name":"MistLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/juniper/mist_location_service.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L118"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"lookup = format_mac(mac_address)\nif user = (mist.ownership_of(lookup)).get.as_s?\n {location: \"wireless\", assigned_to: user, mac_address: lookup}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L130"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"looking up device locations in #{zone_id}\"\nend\nif location.presence && (location != \"wireless\")\n return [] of String\nend\nmaps = [] of String\n@floorplan_mappings.each do |map_id, data|\n if data.values.includes?(zone_id)\n maps << map_id\n end\nend\nlogger.debug do\n \"found matching mist maps: #{maps}\"\nend\nif maps.empty?\n return [] of String\nend\nignore_older = @max_location_age.ago.to_unix\nall_devices = maps.flat_map do |map_id|\n clients = (mist.status?(Array(Client), map_id)) || ([] of Client)\n mappings = @floorplan_mappings[map_id]\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n clients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\n end\nend\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L197"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"clients = Array(Client).from_json((mist.locate(username.presence || email.presence.not_nil!)).get.to_json)\nignore_older = @max_location_age.ago.to_unix\nclients.compact_map do |client|\n if client.last_seen < ignore_older\n next\n end\n map_id = client.map_id\n mappings = @floorplan_mappings[map_id]?\n if mappings\n else\n next\n end\n building = mappings[\"building\"]?.as(String | ::Nil)\n level = mappings[\"level\"]?.as(String | ::Nil)\n map_width, map_height = get_floorplan_size(map_id, mappings)\n {location: :wireless, coordinates_from: \"top-left\", x: client.x, y: client.y, mac: client.mac, variance: client.accuracy, last_seen: client.last_seen, map_width: map_width, map_height: map_height, manufacturer: client.manufacture, os: client.os, ssid: client.ssid, building: building, level: level, mist_map_id: map_id}\nend\n"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","doc":"Proxies the data to the mist driver","summary":"

Proxies the data to the mist driver

","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_location_service.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L113"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"mist.mac_address_mappings(username, macs, domain)"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/juniper/mist_location_service.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L107"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(mist.macs_assigned_to(username.presence || email.presence.not_nil!)).get.as_a.map(&.as_s)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@floorplan_mappings = (setting?(Hash(String, Hash(String, String | Int32)), :floorplan_mappings)) || @floorplan_mappings\n@max_location_age = ((setting?(UInt32, :max_location_age)) || 6).minutes\nschedule.clear\nschedule.every(10.minutes) do\n sync_map_sizes\nend\nschedule.in(20.seconds) do\n sync_map_sizes\nend\n"}}]},{"html_id":"drivers/Juniper/MistWebsocket","path":"Juniper/MistWebsocket.html","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"instance_methods":[{"html_id":"client(client_mac:String)-instance-method","name":"client","abstract":false,"args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"args_string":"(client_mac : String)","args_html":"(client_mac : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L162"},"def":{"name":"client","args":[{"name":"client_mac","external_name":"client_mac","restriction":"String"}],"visibility":"Public","body":"request(Client) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients/#{client_mac}\", headers: headers)\nend"}},{"html_id":"client_data:Hash(String,Client)-instance-method","name":"client_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L36"},"def":{"name":"client_data","return_type":"Hash(String, Client)","visibility":"Public","body":"if (value = @client_data).nil?\n @client_data = ({} of String => Client)\nelse\n value\nend"}},{"html_id":"clients(map_id:String|Nil=nil)-instance-method","name":"clients","abstract":false,"args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil = nil)","args_html":"(map_id : String | Nil = nil)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L154"},"def":{"name":"clients","args":[{"name":"map_id","default_value":"nil","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if map_id.presence\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/maps/#{map_id}/clients\", headers: headers)\n end\nelse\n request(Array(Client)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/stats/clients\", headers: headers)\n end\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L69"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\n@location_data = nil\n@client_data = nil\nschedule.every(45.seconds, immediate: true) do\n transport.send({subscribe: \"/sites/#{@site_id}/stats/clients\"}.to_json)\nend\nsync_clients\nschedule.every(3.seconds) do\n update_client_locations\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L82"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\n@connected = false\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L195"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"format_username(user:String)-instance-method","name":"format_username","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String"}],"args_string":"(user : String)","args_html":"(user : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L186"},"def":{"name":"format_username","args":[{"name":"user","external_name":"user","restriction":"String"}],"visibility":"Public","body":"if user.includes?(\"@\")\n user = (user.split(\"@\"))[0]\nelse\n if user.includes?(\"\\\\\")\n user = (user.split(\"\\\\\"))[1]\n end\nend\nuser.downcase\n"}},{"html_id":"get_request(location:String)-instance-method","name":"get_request","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L142"},"def":{"name":"get_request","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"request(JSON::Any) do |headers|\n get(location, headers: headers)\nend"}},{"html_id":"locate(username:String)-instance-method","name":"locate","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String)","args_html":"(username : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L213"},"def":{"name":"locate","args":[{"name":"username","external_name":"username","restriction":"String"}],"visibility":"Public","body":"(macs_assigned_to(username)).compact_map do |mac|\n self[mac]?\nend"}},{"html_id":"location_data:Hash(String,Hash(String,Client))-instance-method","name":"location_data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L32"},"def":{"name":"location_data","return_type":"Hash(String, Hash(String, Client))","visibility":"Public","body":"if (value = @location_data).nil?\n @location_data = (Hash(String, Hash(String, Client)).new do |hash, map_id|\n hash[map_id] = {} of String => Client\n end)\nelse\n value\nend"}},{"html_id":"mac_address_mappings(username:String,macs:Array(String),domain:String=\"\")-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"args_string":"(username : String, macs : Array(String), domain : String = \"\")","args_html":"(username : String, macs : Array(String), domain : String = "")","location":{"filename":"src/juniper/mist_websocket.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L254"},"def":{"name":"mac_address_mappings","args":[{"name":"username","external_name":"username","restriction":"String"},{"name":"macs","external_name":"macs","restriction":"Array(String)"},{"name":"domain","default_value":"\"\"","external_name":"domain","restriction":"String"}],"visibility":"Public","body":"username = format_username(username)\nuser_mac_mappings do |storage|\n macs.each do |mac|\n map_user_mac(format_mac(mac), username, storage)\n end\nend\n"}},{"html_id":"macs_assigned_to(username:String):Array(String)-instance-method","name":"macs_assigned_to","abstract":false,"args":[{"name":"username","external_name":"username","restriction":"String"}],"args_string":"(username : String) : Array(String)","args_html":"(username : String) : Array(String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L199"},"def":{"name":"macs_assigned_to","args":[{"name":"username","external_name":"username","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"username = format_username(username)\nif macs = user_mac_mappings do |s|\n s[username]?\nend\n Array(String).from_json(macs)\nelse\n [] of String\nend\n"}},{"html_id":"maps-instance-method","name":"maps","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L150"},"def":{"name":"maps","visibility":"Public","body":"request(Array(Map)) do |headers|\n get(\"/api/v1/sites/#{@site_id}/maps\", headers: headers)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"@user_mac_mappings = PlaceOS::Driver::RedisStorage.new(module_id, \"user_macs\")\ntransport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"token = setting(String, :api_token)\n@api_token = \"Token #{token}\"\n@site_id = setting(String, :site_id)\nif @site_id == \"site_id\"\nelse\n transport.http_uri_override = URI.parse(\"https://api.mist.com\")\nend\n@ignore_usernames = (setting?(Array(String), :ignore_usernames)) || ([] of String)\nif @connected\n connected\nend\n"}},{"html_id":"ownership_of(mac_address:String)-instance-method","name":"ownership_of","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L208"},"def":{"name":"ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"mac_address = format_mac(mac_address)\nuser_mac_mappings do |storage|\n storage[mac_address]?\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"string = (String.new(data)).rstrip\nlogger.debug do\n \"websocket sent: #{string}\"\nend\nevent = WebsocketEvent.from_json(string)\nif event_data = event.data\n update_location(client_data, location_data, event_data)\nend\ntask.try(&.success)\n"}},{"html_id":"site_list(org_id:String)-instance-method","name":"site_list","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L146"},"def":{"name":"site_list","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"request(Array(Hash(String, JSON::Any))) do |headers|\n get(\"/api/v1/installer/orgs/#{org_id}/sites\", headers: headers)\nend"}},{"html_id":"sync_clients-instance-method","name":"sync_clients","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L123"},"def":{"name":"sync_clients","visibility":"Public","body":"clients_resp = clients\nloc_data = location_data\ncli_data = client_data\nclients_resp.each do |client|\n update_location(cli_data, loc_data, client)\nend\nloc_data.each do |map_id, clients|\n self[map_id] = clients.values\nend\nlocation_data.size\n"}},{"html_id":"websocket_headers-instance-method","name":"websocket_headers","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L62"},"def":{"name":"websocket_headers","visibility":"Public","body":"HTTP::Headers {\"Authorization\" => @api_token, \"User-Agent\" => \"PlaceOS/2.0 PlaceTechnology\"}"}}],"types":[{"html_id":"drivers/Juniper/MistWebsocket/WebsocketEvent","path":"Juniper/MistWebsocket/WebsocketEvent.html","kind":"struct","full_name":"Juniper::MistWebsocket::WebsocketEvent","name":"WebsocketEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_websocket.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper/MistWebsocket","kind":"class","full_name":"Juniper::MistWebsocket","name":"MistWebsocket"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_websocket.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"channel:String-instance-method","name":"channel","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L170"},"def":{"name":"channel","return_type":"String","visibility":"Public","body":"@channel"}},{"html_id":"data:Client|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L171"},"def":{"name":"data","return_type":"Client | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"event:String-instance-method","name":"event","abstract":false,"location":{"filename":"src/juniper/mist_websocket.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_websocket.cr#L169"},"def":{"name":"event","return_type":"String","visibility":"Public","body":"@event"}}]}]},{"html_id":"drivers/Juniper/OtherEvents","path":"Juniper/OtherEvents.html","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents","abstract":false,"superclass":{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},"ancestors":[{"html_id":"drivers/Juniper/WebhookEvent","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"we are currently ignoring this event","summary":"

we are currently ignoring this event

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L155"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"events:Array(JSON::Any)-instance-method","name":"events","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L157"},"def":{"name":"events","return_type":"Array(JSON::Any)","visibility":"Public","body":"@events"}},{"html_id":"topic:String-instance-method","name":"topic","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L156"},"def":{"name":"topic","return_type":"String","visibility":"Public","body":"@topic"}}]},{"html_id":"drivers/Juniper/Site","path":"Juniper/Site.html","kind":"class","full_name":"Juniper::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"country_code:String-instance-method","name":"country_code","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code","return_type":"String","visibility":"Public","body":"@country_code"}},{"html_id":"country_code=(country_code:String)-instance-method","name":"country_code=","abstract":false,"args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"args_string":"(country_code : String)","args_html":"(country_code : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L9"},"def":{"name":"country_code=","args":[{"name":"country_code","external_name":"country_code","restriction":"String"}],"visibility":"Public","body":"@country_code = country_code"}},{"html_id":"created_time:Int64-instance-method","name":"created_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time","return_type":"Int64","visibility":"Public","body":"@created_time"}},{"html_id":"created_time=(created_time:Int64)-instance-method","name":"created_time=","abstract":false,"args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"args_string":"(created_time : Int64)","args_html":"(created_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L13"},"def":{"name":"created_time=","args":[{"name":"created_time","external_name":"created_time","restriction":"Int64"}],"visibility":"Public","body":"@created_time = created_time"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L10"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"modified_time:Int64-instance-method","name":"modified_time","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time","return_type":"Int64","visibility":"Public","body":"@modified_time"}},{"html_id":"modified_time=(modified_time:Int64)-instance-method","name":"modified_time=","abstract":false,"args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"args_string":"(modified_time : Int64)","args_html":"(modified_time : Int64)","location":{"filename":"src/juniper/mist_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L14"},"def":{"name":"modified_time=","args":[{"name":"modified_time","external_name":"modified_time","restriction":"Int64"}],"visibility":"Public","body":"@modified_time = modified_time"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L11"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"org_id:String-instance-method","name":"org_id","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id","return_type":"String","visibility":"Public","body":"@org_id"}},{"html_id":"org_id=(org_id:String)-instance-method","name":"org_id=","abstract":false,"args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"args_string":"(org_id : String)","args_html":"(org_id : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L12"},"def":{"name":"org_id=","args":[{"name":"org_id","external_name":"org_id","restriction":"String"}],"visibility":"Public","body":"@org_id = org_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/juniper/mist_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L8"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}}]},{"html_id":"drivers/Juniper/WebhookEvent","path":"Juniper/WebhookEvent.html","kind":"class","full_name":"Juniper::WebhookEvent","name":"WebhookEvent","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/juniper/mist_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Juniper/LocationEvents","kind":"class","full_name":"Juniper::LocationEvents","name":"LocationEvents"},{"html_id":"drivers/Juniper/OtherEvents","kind":"class","full_name":"Juniper::OtherEvents","name":"OtherEvents"}],"namespace":{"html_id":"drivers/Juniper","kind":"module","full_name":"Juniper","name":"Juniper"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/juniper/mist_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/juniper/mist_models.cr#L133"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"topic\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'topic' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'topic'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n LocationEvents.from_json(json)\nwhen \"zone\"\n OtherEvents.from_json(json)\nwhen \"asset-raw\"\n OtherEvents.from_json(json)\nwhen \"device-events\"\n OtherEvents.from_json(json)\nwhen \"device-updowns\"\n OtherEvents.from_json(json)\nwhen \"alarms\"\n OtherEvents.from_json(json)\nwhen \"audits\"\n OtherEvents.from_json(json)\nwhen \"client-join\"\n OtherEvents.from_json(json)\nwhen \"client-sessions\"\n OtherEvents.from_json(json)\nwhen \"ping\"\n OtherEvents.from_json(json)\nwhen \"occupancy-alerts\"\n OtherEvents.from_json(json)\nwhen \"sdkclient-scan-data\"\n OtherEvents.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'topic' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]}]},{"html_id":"drivers/Kaiterra","path":"Kaiterra.html","kind":"module","full_name":"Kaiterra","name":"Kaiterra","abstract":false,"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kaiterra/API","path":"Kaiterra/API.html","kind":"class","full_name":"Kaiterra::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Kaiterra","kind":"module","full_name":"Kaiterra","name":"Kaiterra"},"instance_methods":[{"html_id":"batch(body:Array(Request),params:Hash(String,String)={}ofString=>String)-instance-method","name":"batch","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","args_html":"(body : Array(Request), params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L118"},"def":{"name":"batch","args":[{"name":"body","external_name":"body","restriction":"Array(Request)"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = post(generate_url(\"/batch\", params), body: body.to_json, headers: generate_headers({\"Content-Type\" => \"application/json\", \"Content-Encoding\" => \"UTF-8\"}))\nArray(BatchResponse).from_json(response.body)\n"}},{"html_id":"get_devices(id:String,params:Hash(String,String)={}ofString=>String)-instance-method","name":"get_devices","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"args_string":"(id : String, params : Hash(String, String) = {} of String => String)","args_html":"(id : String, params : Hash(String, String) = {} of String => String)","location":{"filename":"src/kaiterra/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L93"},"def":{"name":"get_devices","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"params","default_value":"{} of String => String","external_name":"params","restriction":"Hash(String, String)"}],"visibility":"Public","body":"response = get(generate_url(\"/devices/#{id}/top\", params), headers: generate_headers)\nResponse.from_json(response.body)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}}],"types":[{"html_id":"drivers/Kaiterra/API/BatchResponse","path":"Kaiterra/API/BatchResponse.html","kind":"class","full_name":"Kaiterra::API::BatchResponse","name":"BatchResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L111"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L112"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L114"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/kaiterra/api.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L114"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"code:Int64-instance-method","name":"code","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L115"},"def":{"name":"code","return_type":"Int64","visibility":"Public","body":"@code"}},{"html_id":"code=(code:Int64)-instance-method","name":"code=","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"Int64"}],"args_string":"(code : Int64)","args_html":"(code : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L115"},"def":{"name":"code=","args":[{"name":"code","external_name":"code","restriction":"Int64"}],"visibility":"Public","body":"@code = code"}}]},{"html_id":"drivers/Kaiterra/API/Data","path":"Kaiterra/API/Data.html","kind":"class","full_name":"Kaiterra::API::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L83"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L84"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"param:Param-instance-method","name":"param","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L86"},"def":{"name":"param","return_type":"Param","visibility":"Public","body":"@param"}},{"html_id":"param=(param:Param)-instance-method","name":"param=","abstract":false,"args":[{"name":"param","external_name":"param","restriction":"Param"}],"args_string":"(param : Param)","args_html":"(param : Param)","location":{"filename":"src/kaiterra/api.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L86"},"def":{"name":"param=","args":[{"name":"param","external_name":"param","restriction":"Param"}],"visibility":"Public","body":"@param = param"}},{"html_id":"points:Array(JSON::Any::Type)-instance-method","name":"points","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L90"},"def":{"name":"points","return_type":"Array(JSON::Any::Type)","visibility":"Public","body":"@points"}},{"html_id":"points=(points:Array(JSON::Any::Type))-instance-method","name":"points=","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"args_string":"(points : Array(JSON::Any::Type))","args_html":"(points : Array(JSON::Any::Type))","location":{"filename":"src/kaiterra/api.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L90"},"def":{"name":"points=","args":[{"name":"points","external_name":"points","restriction":"Array(JSON::Any::Type)"}],"visibility":"Public","body":"@points = points"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L88"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:String|Nil)-instance-method","name":"source=","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(source : String | Nil)","args_html":"(source : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L88"},"def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"@source = source"}},{"html_id":"span:Int64-instance-method","name":"span","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L89"},"def":{"name":"span","return_type":"Int64","visibility":"Public","body":"@span"}},{"html_id":"span=(span:Int64)-instance-method","name":"span=","abstract":false,"args":[{"name":"span","external_name":"span","restriction":"Int64"}],"args_string":"(span : Int64)","args_html":"(span : Int64)","location":{"filename":"src/kaiterra/api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L89"},"def":{"name":"span=","args":[{"name":"span","external_name":"span","restriction":"Int64"}],"visibility":"Public","body":"@span = span"}},{"html_id":"units:Unit-instance-method","name":"units","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L87"},"def":{"name":"units","return_type":"Unit","visibility":"Public","body":"@units"}},{"html_id":"units=(units:Unit)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"Unit"}],"args_string":"(units : Unit)","args_html":"(units : Unit)","location":{"filename":"src/kaiterra/api.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L87"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"Unit"}],"visibility":"Public","body":"@units = units"}}]},{"html_id":"drivers/Kaiterra/API/Param","path":"Kaiterra/API/Param.html","kind":"enum","full_name":"Kaiterra::API::Param","name":"Param","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Rco2","name":"Rco2","value":"0"},{"id":"Ro3","name":"Ro3","value":"1"},{"id":"Rpm25c","name":"Rpm25c","value":"2"},{"id":"Rpm10c","name":"Rpm10c","value":"3"},{"id":"Rhumid","name":"Rhumid","value":"4"},{"id":"Rtemp","name":"Rtemp","value":"5"},{"id":"Rtvoc","name":"Rtvoc","value":"6"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"instance_methods":[{"html_id":"rco2?-instance-method","name":"rco2?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L26"},"def":{"name":"rco2?","visibility":"Public","body":"self == Rco2"}},{"html_id":"rhumid?-instance-method","name":"rhumid?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L30"},"def":{"name":"rhumid?","visibility":"Public","body":"self == Rhumid"}},{"html_id":"ro3?-instance-method","name":"ro3?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L27"},"def":{"name":"ro3?","visibility":"Public","body":"self == Ro3"}},{"html_id":"rpm10c?-instance-method","name":"rpm10c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L29"},"def":{"name":"rpm10c?","visibility":"Public","body":"self == Rpm10c"}},{"html_id":"rpm25c?-instance-method","name":"rpm25c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L28"},"def":{"name":"rpm25c?","visibility":"Public","body":"self == Rpm25c"}},{"html_id":"rtemp?-instance-method","name":"rtemp?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L31"},"def":{"name":"rtemp?","visibility":"Public","body":"self == Rtemp"}},{"html_id":"rtvoc?-instance-method","name":"rtvoc?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L32"},"def":{"name":"rtvoc?","visibility":"Public","body":"self == Rtvoc"}}]},{"html_id":"drivers/Kaiterra/API/Request","path":"Kaiterra/API/Request.html","kind":"class","full_name":"Kaiterra::API::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L102"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String|Nil-instance-method","name":"body","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L108"},"def":{"name":"body","return_type":"String | ::Nil","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String|Nil)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(body : String | Nil)","args_html":"(body : String | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L108"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"@body = body"}},{"html_id":"headers:Array(NamedTuple(name:String,value:String))|Nil-instance-method","name":"headers","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L107"},"def":{"name":"headers","return_type":"Array(NamedTuple(name: String, value: String)) | ::Nil","visibility":"Public","body":"@headers"}},{"html_id":"headers=(headers:Array(NamedTuple(name:String,value:String))|Nil)-instance-method","name":"headers=","doc":"headers (json, optional) - A JSON array of header description objects, each of which has a name and value object","summary":"

headers (json, optional) - A JSON array of header description objects, each of which has a name and value object

","abstract":false,"args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"args_string":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","args_html":"(headers : Array(NamedTuple(name: String, value: String)) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L107"},"def":{"name":"headers=","args":[{"name":"headers","external_name":"headers","restriction":"Array(NamedTuple(name: String, value: String)) | ::Nil"}],"visibility":"Public","body":"@headers = headers"}},{"html_id":"method:String-instance-method","name":"method","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L104"},"def":{"name":"method","return_type":"String","visibility":"Public","body":"@method"}},{"html_id":"method=(method:String)-instance-method","name":"method=","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"}],"args_string":"(method : String)","args_html":"(method : String)","location":{"filename":"src/kaiterra/api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L104"},"def":{"name":"method=","args":[{"name":"method","external_name":"method","restriction":"String"}],"visibility":"Public","body":"@method = method"}},{"html_id":"relative_url:String-instance-method","name":"relative_url","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url","return_type":"String","visibility":"Public","body":"@relative_url"}},{"html_id":"relative_url=(relative_url:String)-instance-method","name":"relative_url=","abstract":false,"args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"args_string":"(relative_url : String)","args_html":"(relative_url : String)","location":{"filename":"src/kaiterra/api.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L105"},"def":{"name":"relative_url=","args":[{"name":"relative_url","external_name":"relative_url","restriction":"String"}],"visibility":"Public","body":"@relative_url = relative_url"}}]},{"html_id":"drivers/Kaiterra/API/Response","path":"Kaiterra/API/Response.html","kind":"class","full_name":"Kaiterra::API::Response","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L76"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L77"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Data)|Nil-instance-method","name":"data","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L79"},"def":{"name":"data","return_type":"Array(Data) | ::Nil","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Array(Data)|Nil)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"args_string":"(data : Array(Data) | Nil)","args_html":"(data : Array(Data) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L79"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Array(Data) | ::Nil"}],"visibility":"Public","body":"@data = data"}},{"html_id":"errors:Array(JSON::Any::Type)|Nil-instance-method","name":"errors","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L80"},"def":{"name":"errors","return_type":"Array(JSON::Any::Type) | ::Nil","visibility":"Public","body":"@errors"}},{"html_id":"errors=(errors:Array(JSON::Any::Type)|Nil)-instance-method","name":"errors=","abstract":false,"args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"args_string":"(errors : Array(JSON::Any::Type) | Nil)","args_html":"(errors : Array(JSON::Any::Type) | Nil)","location":{"filename":"src/kaiterra/api.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L80"},"def":{"name":"errors=","args":[{"name":"errors","external_name":"errors","restriction":"Array(JSON::Any::Type) | ::Nil"}],"visibility":"Public","body":"@errors = errors"}}]},{"html_id":"drivers/Kaiterra/API/Unit","path":"Kaiterra/API/Unit.html","kind":"enum","full_name":"Kaiterra::API::Unit","name":"Unit","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kaiterra/api.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L35"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ppm","name":"Ppm","value":"0"},{"id":"Ppb","name":"Ppb","value":"1"},{"id":"MicrogramsPerCubicMeter","name":"MicrogramsPerCubicMeter","value":"2"},{"id":"MilligramsPerCubicMeter","name":"MilligramsPerCubicMeter","value":"3"},{"id":"C","name":"C","value":"4"},{"id":"F","name":"F","value":"5"},{"id":"X","name":"X","value":"6"},{"id":"Percentage","name":"Percentage","value":"7"}],"namespace":{"html_id":"drivers/Kaiterra/API","kind":"class","full_name":"Kaiterra::API","name":"API"},"class_methods":[{"html_id":"parse(string)-class-method","name":"parse","abstract":false,"args":[{"name":"string","external_name":"string","restriction":""}],"args_string":"(string)","args_html":"(string)","location":{"filename":"src/kaiterra/api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L45"},"def":{"name":"parse","args":[{"name":"string","external_name":"string","restriction":""}],"visibility":"Public","body":"case string\nwhen \"µg/m³\"\n Unit::MicrogramsPerCubicMeter\nwhen \"mg/m³\"\n Unit::MilligramsPerCubicMeter\nwhen \"%\"\n Unit::Percentage\nelse\n super(string)\nend"}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kaiterra/api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"parse(pull.read_string)"}}],"instance_methods":[{"html_id":"c?-instance-method","name":"c?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L40"},"def":{"name":"c?","visibility":"Public","body":"self == C"}},{"html_id":"f?-instance-method","name":"f?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L41"},"def":{"name":"f?","visibility":"Public","body":"self == F"}},{"html_id":"micrograms_per_cubic_meter?-instance-method","name":"micrograms_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L38"},"def":{"name":"micrograms_per_cubic_meter?","visibility":"Public","body":"self == MicrogramsPerCubicMeter"}},{"html_id":"milligrams_per_cubic_meter?-instance-method","name":"milligrams_per_cubic_meter?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L39"},"def":{"name":"milligrams_per_cubic_meter?","visibility":"Public","body":"self == MilligramsPerCubicMeter"}},{"html_id":"percentage?-instance-method","name":"percentage?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L43"},"def":{"name":"percentage?","visibility":"Public","body":"self == Percentage"}},{"html_id":"ppb?-instance-method","name":"ppb?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L37"},"def":{"name":"ppb?","visibility":"Public","body":"self == Ppb"}},{"html_id":"ppm?-instance-method","name":"ppm?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L36"},"def":{"name":"ppm?","visibility":"Public","body":"self == Ppm"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L62"},"def":{"name":"to_s","visibility":"Public","body":"case self\nwhen Unit::MicrogramsPerCubicMeter\n \"µg/m³\"\nwhen Unit::MilligramsPerCubicMeter\n \"mg/m³\"\nwhen Unit::Percentage\n \"%\"\nelse\n super()\nend"}},{"html_id":"x?-instance-method","name":"x?","abstract":false,"location":{"filename":"src/kaiterra/api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kaiterra/api.cr#L42"},"def":{"name":"x?","visibility":"Public","body":"self == X"}}]}]}]},{"html_id":"drivers/KontaktIO","path":"KontaktIO.html","kind":"module","full_name":"KontaktIO","name":"KontaktIO","abstract":false,"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/KontaktIO/Building","path":"KontaktIO/Building.html","kind":"class","full_name":"KontaktIO::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L150"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L155"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L154"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L159"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L152"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L156"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L157"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L153"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/KontaktIO/Campus","path":"KontaktIO/Campus.html","kind":"class","full_name":"KontaktIO::Campus","name":"Campus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L162"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L163"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L168"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"buildings:Array(Building)-instance-method","name":"buildings","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L174"},"def":{"name":"buildings","return_type":"Array(Building)","visibility":"Public","body":"@buildings"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L167"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L165"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L171"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L172"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L166"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L170"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/KontaktIO/Contact","path":"KontaktIO/Contact.html","kind":"class","full_name":"KontaktIO::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration_sec:Int32-instance-method","name":"duration_sec","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L62"},"def":{"name":"duration_sec","return_type":"Int32","visibility":"Public","body":"@duration_sec"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L53"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L56"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L59"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}}]},{"html_id":"drivers/KontaktIO/ContactTracing","path":"KontaktIO/ContactTracing.html","kind":"class","full_name":"KontaktIO::ContactTracing","name":"ContactTracing","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/contact_tracing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"close_contacts(email:String|Nil=nil,username:String|Nil=nil,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil)-instance-method","name":"close_contacts","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L13"},"def":{"name":"close_contacts","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"macs = (location_services.macs_assigned_to(email, username)).get.as_a.map(&.as_s)\nperiods = [] of Tuple(Int64, Int64)\nperiod_start = start_time || 2.days.ago.to_unix\nperiod_end = end_time || 1.days.ago.to_unix\nloop do\n temp_ending = period_start + 6.hours.to_i\n if temp_ending < period_end\n periods << {period_start, temp_ending}\n else\n periods << {period_start, period_end}\n break\n end\n period_start = temp_ending\nend\nlocations = [] of Tracking\nerrors = [] of Exception\nmacs.each do |mac|\n begin\n periods.each do |__arg1|\n starting = __arg1[0]\n ending = __arg1[1]\n raw_report = (kontakt.colocations(mac, starting, ending)).get.to_json\n locations.concat(Array(Tracking).from_json(raw_report))\n end\n rescue error\n logger.warn(exception: error) do\n \"locating close contacts\"\n end\n errors << error\n end\nend\nif locations.empty? && errors.size > 0\n raise(errors[0])\nend\nmacs = Set(String).new\nlocations.each do |location|\n macs << location.mac_address\nend\nmac_mappings = {} of String => String\nmacs.each do |mac|\n mac = format_mac(mac)\n if owner = (location_services.check_ownership_of(mac)).get.as_h?\n username = owner[\"assigned_to\"]?.try(&.as_s)\n if username\n else\n next\n end\n mac_mappings[mac] = username\n end\nend\ncontacts = {} of String => NamedTuple(mac_address: String, username: String | ::Nil, contact_time: Int64, duration: Int32)\nlocations.each do |location|\n mac = format_mac(location.mac_address)\n username = mac_mappings[mac]?\n duration = location.duration\n if current = contacts[username || mac]?\n if current[:duration] > duration\n next\n end\n end\n contacts[username || mac] = {mac_address: mac, username: username, contact_time: location.start_time.to_unix, duration: duration}\nend\ncontacts.values\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/contact_tracing.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/contact_tracing.cr#L93"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}}]},{"html_id":"drivers/KontaktIO/Floor","path":"KontaktIO/Floor.html","kind":"class","full_name":"KontaktIO::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L129"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"height:Float64|Nil-instance-method","name":"height","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L136"},"def":{"name":"height","return_type":"Float64 | ::Nil","visibility":"Public","body":"@height"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L133"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"lat:Float64|Nil-instance-method","name":"lat","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L143"},"def":{"name":"lat","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lat"}},{"html_id":"level:Int32|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L139"},"def":{"name":"level","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"lng:Float64|Nil-instance-method","name":"lng","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L146"},"def":{"name":"lng","return_type":"Float64 | ::Nil","visibility":"Public","body":"@lng"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L134"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"rotation:Float64|Nil-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L138"},"def":{"name":"rotation","return_type":"Float64 | ::Nil","visibility":"Public","body":"@rotation"}},{"html_id":"width:Float64|Nil-instance-method","name":"width","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L137"},"def":{"name":"width","return_type":"Float64 | ::Nil","visibility":"Public","body":"@width"}}]},{"html_id":"drivers/KontaktIO/KioCloud","path":"KontaktIO/KioCloud.html","kind":"class","full_name":"KontaktIO::KioCloud","name":"KioCloud","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"campuses:Array(Campus)-instance-method","name":"campuses","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L113"},"def":{"name":"campuses","return_type":"Array(Campus)","visibility":"Public","body":"campuses = [] of Campus\nmake_request(\"GET\", \"/v2/locations/campuses\") do |data|\n resp = Response(Campus).from_json(data)\n campuses.concat(resp.content)\n resp.page\nend\ncampuses\n"}},{"html_id":"colocations(mac_address:String,start_time:Int64|Nil=nil,end_time:Int64|Nil=nil):Array(Tracking)-instance-method","name":"colocations","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"args_string":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","args_html":"(mac_address : String, start_time : Int64 | Nil = nil, end_time : Int64 | Nil = nil) : Array(Tracking)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L86"},"def":{"name":"colocations","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"},{"name":"start_time","default_value":"nil","external_name":"start_time","restriction":"Int64 | ::Nil"},{"name":"end_time","default_value":"nil","external_name":"end_time","restriction":"Int64 | ::Nil"}],"return_type":"Array(Tracking)","visibility":"Public","body":"ending = end_time ? Time.unix(end_time) : 10.minutes.ago\nstarting = start_time ? Time.unix(start_time) : (ending - 20.days)\ntracking = [] of Tracking\nmake_request(\"GET\", \"/v3/novid/colocations\", params: URI::Params {\"trackingId\" => ((format_mac(mac_address)).upcase.scan(/\\w{2}/)).map() do |__arg2|\n __arg2.to_a.first\nend.join(':'), \"startTime\" => starting.to_rfc3339, \"endTime\" => ending.to_rfc3339}) do |data|\n resp = Response(Tracking).from_json(data)\n tracking.concat(resp.content)\n resp.page\nend\ntracking\n"}},{"html_id":"create_channel(name:String,uri:String)-instance-method","name":"create_channel","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(name : String, uri : String)","args_html":"(name : String, uri : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L167"},"def":{"name":"create_channel","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"make_request(\"POST\", \"/v3/channels\", body: {status: :active, name: name, channel: {type: \"eventHub\", endpoint: uri, streamName: name, accessKey: \"test\", secretKey: \"test\", region: \"test\", sharedAccessKeyName: \"test\", eventHubName: \"test\", sharedAccessKey: \"test\"}}.to_json)"}},{"html_id":"delete_channel(id:Int32|String)-instance-method","name":"delete_channel","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"args_string":"(id : Int32 | String)","args_html":"(id : Int32 | String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L185"},"def":{"name":"delete_channel","args":[{"name":"id","external_name":"id","restriction":"Int32 | String"}],"visibility":"Public","body":"make_request(\"DELETE\", \"/v3/channels\", params: URI::Params {\"id\" => id.to_s})"}},{"html_id":"event_hub(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"event_hub","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L162"},"def":{"name":"event_hub","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"scanning API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nlogger.debug do\n body\nend\n"}},{"html_id":"find(mac_address:String):Position|Nil-instance-method","name":"find","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : Position | Nil","args_html":"(mac_address : String) : Position | Nil","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L105"},"def":{"name":"find","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"Position | ::Nil","visibility":"Public","body":"data = make_request(\"GET\", \"/v2/positions\", params: URI::Params {\"trackingId\" => format_mac(mac_address)})\n(Response(Position).from_json(data)).content.first?\n"}},{"html_id":"format_mac(address:String)-instance-method","name":"format_mac","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String"}],"args_string":"(address : String)","args_html":"(address : String)","location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L158"},"def":{"name":"format_mac","args":[{"name":"address","external_name":"address","restriction":"String"}],"visibility":"Public","body":"(address.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase"}},{"html_id":"occupancy_cache:Hash(Int64,RoomOccupancy)-instance-method","name":"occupancy_cache","doc":"===================================\nCaching sensor data\n===================================","summary":"

=================================== Caching sensor data ===================================

","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L146"},"def":{"name":"occupancy_cache","return_type":"Hash(Int64, RoomOccupancy)","visibility":"Public","body":"@occupancy_cache"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L21"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)\npoll_every = ((setting?(Int32, :poll_every)) || 2).seconds\nschedule.clear\nschedule.every(poll_every) do\n cache_occupancy_counts\nend\n"}},{"html_id":"room_occupancy:Array(RoomOccupancy)-instance-method","name":"room_occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L133"},"def":{"name":"room_occupancy","return_type":"Array(RoomOccupancy)","visibility":"Public","body":"room_occupancy = [] of RoomOccupancy\nmake_request(\"GET\", \"/v3/occupancy/rooms\") do |data|\n resp = Response(RoomOccupancy).from_json(data)\n room_occupancy.concat(resp.content)\n resp.page\nend\nroom_occupancy\n"}},{"html_id":"rooms:Array(Room)-instance-method","name":"rooms","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud.cr#L123"},"def":{"name":"rooms","return_type":"Array(Room)","visibility":"Public","body":"rooms = [] of Room\nmake_request(\"GET\", \"/v2/locations/rooms\") do |data|\n resp = Response(Room).from_json(data)\n rooms.concat(resp.content)\n resp.page\nend\nrooms\n"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings","path":"KontaktIO/MacAddressMappings.html","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"map_devices-instance-method","name":"map_devices","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L40"},"def":{"name":"map_devices","visibility":"Public","body":"request = \"https://api.kontakt.io/device?maxResult=500&deviceType=BEACON\"\nlocatable = system.implementing(Interface::Locatable)\nwhile request.presence\n response = HTTP::Client.get(request, headers: HTTP::Headers {\"Api-Key\" => @api_key, \"Content-Type\" => \"application/json\", \"Accept\" => \"application/vnd.com.kontakt+json;version=10\"})\n logger.debug do\n \"request returned:\\n#{response.body}\"\n end\n case response.status_code\n when 303\n when 401\n logger.warn do\n \"The API Key is invalid or disabled\"\n end\n when 403\n logger.warn do\n \"User who created the API no longer has access to the Kio Cloud account or their user role doesn't allow access to the endpoint. Device error if the endpoint is not available for the device model.\"\n end\n end\n if response.success?\n else\n raise(\"request #{request} failed with status: #{response.status_code}\")\n end\n result = NamedTuple(devices: Array(DeviceDetails), searchMeta: SearchMeta).from_json(response.body)\n meta = result[:searchMeta]\n request = meta.next_results\n result[:devices].each do |device|\n if device.alias.presence\n else\n next\n end\n (locatable.mac_address_mappings(device.alias, {device.mac}, \"\")).get\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.every(1.hour) do\n map_devices\nend\nschedule.in(10.seconds) do\n map_devices\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :kio_api_key)"}}],"types":[{"html_id":"drivers/KontaktIO/MacAddressMappings/DeviceDetails","path":"KontaktIO/MacAddressMappings/DeviceDetails.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::DeviceDetails","name":"DeviceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"alias:String|Nil-instance-method","name":"alias","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L36"},"def":{"name":"alias","return_type":"String | ::Nil","visibility":"Public","body":"@alias"}},{"html_id":"mac:String-instance-method","name":"mac","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L37"},"def":{"name":"mac","return_type":"String","visibility":"Public","body":"@mac"}}]},{"html_id":"drivers/KontaktIO/MacAddressMappings/SearchMeta","path":"KontaktIO/MacAddressMappings/SearchMeta.html","kind":"class","full_name":"KontaktIO::MacAddressMappings::SearchMeta","name":"SearchMeta","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L26"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO/MacAddressMappings","kind":"class","full_name":"KontaktIO::MacAddressMappings","name":"MacAddressMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L27"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"next_results:String-instance-method","name":"next_results","abstract":false,"location":{"filename":"src/kontakt_io/mac_address_mappings.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/mac_address_mappings.cr#L30"},"def":{"name":"next_results","return_type":"String","visibility":"Public","body":"@next_results"}}]}]},{"html_id":"drivers/KontaktIO/Page","path":"KontaktIO/Page.html","kind":"class","full_name":"KontaktIO::Page","name":"Page","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"number:Int32-instance-method","name":"number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L8"},"def":{"name":"number","return_type":"Int32","visibility":"Public","body":"@number"}},{"html_id":"size:Int32-instance-method","name":"size","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L7"},"def":{"name":"size","return_type":"Int32","visibility":"Public","body":"@size"}},{"html_id":"total_elements:Int32-instance-method","name":"total_elements","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L11"},"def":{"name":"total_elements","return_type":"Int32","visibility":"Public","body":"@total_elements"}},{"html_id":"total_pages:Int32-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L14"},"def":{"name":"total_pages","return_type":"Int32","visibility":"Public","body":"@total_pages"}}]},{"html_id":"drivers/KontaktIO/Position","path":"KontaktIO/Position.html","kind":"class","full_name":"KontaktIO::Position","name":"Position","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L118"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L121"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L115"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"last_update:String|Nil-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L124"},"def":{"name":"last_update","return_type":"String | ::Nil","visibility":"Public","body":"@last_update"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L109"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64|Nil-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L112"},"def":{"name":"room_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_id"}},{"html_id":"x:Int64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L125"},"def":{"name":"x","return_type":"Int64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"y:Int64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L126"},"def":{"name":"y","return_type":"Int64 | ::Nil","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/KontaktIO/Presence","path":"KontaktIO/Presence.html","kind":"class","full_name":"KontaktIO::Presence","name":"Presence","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L87"},"def":{"name":"building_id","return_type":"Int64","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L90"},"def":{"name":"building_name","return_type":"String","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L93"},"def":{"name":"campus_id","return_type":"Int64","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L96"},"def":{"name":"campus_name","return_type":"String","visibility":"Public","body":"@campus_name"}},{"html_id":"company_id:String-instance-method","name":"company_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L69"},"def":{"name":"company_id","return_type":"String","visibility":"Public","body":"@company_id"}},{"html_id":"end_time:String-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L102"},"def":{"name":"end_time","return_type":"String","visibility":"Public","body":"@end_time"}},{"html_id":"floor_id:Int64-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L81"},"def":{"name":"floor_id","return_type":"Int64","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L84"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L72"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L78"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L75"},"def":{"name":"room_name","return_type":"String","visibility":"Public","body":"@room_name"}},{"html_id":"start_time:String-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L99"},"def":{"name":"start_time","return_type":"String","visibility":"Public","body":"@start_time"}}]},{"html_id":"drivers/KontaktIO/Response","path":"KontaktIO/Response.html","kind":"class","full_name":"KontaktIO::Response(T)","name":"Response","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Array(T)-instance-method","name":"content","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L20"},"def":{"name":"content","return_type":"Array(T)","visibility":"Public","body":"@content"}},{"html_id":"page:Page|Nil-instance-method","name":"page","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L21"},"def":{"name":"page","return_type":"Page | ::Nil","visibility":"Public","body":"@page"}}]},{"html_id":"drivers/KontaktIO/Room","path":"KontaktIO/Room.html","kind":"class","full_name":"KontaktIO::Room","name":"Room","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L177"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L178"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor:Floor-instance-method","name":"floor","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L186"},"def":{"name":"floor","return_type":"Floor","visibility":"Public","body":"@floor"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L181"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L182"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_number:Int64|Nil-instance-method","name":"room_number","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L189"},"def":{"name":"room_number","return_type":"Int64 | ::Nil","visibility":"Public","body":"@room_number"}},{"html_id":"room_type:String-instance-method","name":"room_type","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L185"},"def":{"name":"room_type","return_type":"String","visibility":"Public","body":"@room_type"}}]},{"html_id":"drivers/KontaktIO/RoomOccupancy","path":"KontaktIO/RoomOccupancy.html","kind":"struct","full_name":"KontaktIO::RoomOccupancy","name":"RoomOccupancy","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L192"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L193"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_id:Int64|Nil-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L208"},"def":{"name":"building_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@building_id"}},{"html_id":"building_name:String|Nil-instance-method","name":"building_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L211"},"def":{"name":"building_name","return_type":"String | ::Nil","visibility":"Public","body":"@building_name"}},{"html_id":"campus_id:Int64|Nil-instance-method","name":"campus_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L214"},"def":{"name":"campus_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@campus_id"}},{"html_id":"campus_name:String|Nil-instance-method","name":"campus_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L217"},"def":{"name":"campus_name","return_type":"String | ::Nil","visibility":"Public","body":"@campus_name"}},{"html_id":"floor_id:Int64|Nil-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L202"},"def":{"name":"floor_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_name:String|Nil-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L205"},"def":{"name":"floor_name","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L220"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"occupancy:Int32-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L221"},"def":{"name":"occupancy","return_type":"Int32","visibility":"Public","body":"@occupancy"}},{"html_id":"room_id:Int64-instance-method","name":"room_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L196"},"def":{"name":"room_id","return_type":"Int64","visibility":"Public","body":"@room_id"}},{"html_id":"room_name:String|Nil-instance-method","name":"room_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L199"},"def":{"name":"room_name","return_type":"String | ::Nil","visibility":"Public","body":"@room_name"}}]},{"html_id":"drivers/KontaktIO/RoomSensor","path":"KontaktIO/RoomSensor.html","kind":"class","full_name":"KontaktIO::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsubscribe_to_sensor\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L80"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nsensor = @space\nif sensor\nelse\n return nil\nend\nif mac == \"kontakt-#{sensor.room_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(sensor, :people_count)\nwhen \"presence\"\n build_sensor_details(sensor, :presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L61"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nsensor = @space\nif sensor\nelse\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac == \"kontakt-#{sensor.room_id}\"\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nbuild_sensors(sensor, sensor_type)\n"}},{"html_id":"space:RoomOccupancy-instance-method","name":"space","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space","return_type":"RoomOccupancy","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"KontaktIO::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:RoomOccupancy|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/kontakt_io/room_sensor.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/room_sensor.cr#L20"},"def":{"name":"space?","return_type":"RoomOccupancy | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/KontaktIO/SensorService","path":"KontaktIO/SensorService.html","kind":"class","full_name":"KontaktIO::SensorService","name":"SensorService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/sensor_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L77"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L82"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nfloor_ids = @zone_lookup[zone_id]?\nif floor_ids && floor_ids.size > 0\nelse\n return [] of Nil\nend\nloc_type = \"desk\"\nif location && (location != loc_type)\n return [] of Nil\nend\ncache = @occupancy_cache\ncache.compact_map do |__arg0|\n room_id = __arg0[0]\n space = __arg0[1]\n if space.floor_id.in?(floor_ids)\n else\n next\n end\n people_count = space.occupancy\n if @return_empty_spaces || (people_count && people_count > 0)\n {location: loc_type, at_location: people_count, map_id: \"room-#{space.room_id}\", level: zone_id, building: @floor_mappings[space.floor_id.to_s]?.try(&.[](:building_id)), kontakt_io_room: space.room_name}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L67"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L72"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\nlookup = Hash(String, Array(Int64)).new do |hash, key|\n hash[key] = [] of Int64\nend\n@floor_mappings.each do |kontakt_floor_id, zones|\n begin\n kontakt_id = kontakt_floor_id.to_i64\n if building_id = zones[:building_id]\n lookup[building_id] << kontakt_id\n end\n lookup[zones[:level_id]] << kontakt_id\n rescue error\n logger.warn(exception: error) do\n \"invalid floor mapping #{kontakt_floor_id}\"\n end\n end\nend\n@zone_lookup = lookup\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L119"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id && (mac.starts_with?(\"kontakt-\"))\n else\n return nil\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\n if room\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(room, :people_count)\n when \"presence\"\n build_sensor_details(room, :presence)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/kontakt_io/sensor_service.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/sensor_service.cr#L140"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n if mac.starts_with?(\"kontakt-\")\n else\n return NO_MATCH\n end\n room = @occupancy_cache[(mac.lchop(\"kontakt-\")).to_i64?]?\nend\nif zone_id\n levels = @zone_lookup[zone_id]?\nend\nrooms = if room\n {room}\nelse\n if levels\n @occupancy_cache.values.select do |r|\n floor_id = r.floor_id\n (floor_id.in?(levels)) || @floor_mappings[floor_id.to_s]?.nil?\n end\n else\n @occupancy_cache.values\n end\nend\nrooms.flat_map do |r|\n build_sensors(r, sensor_type)\nend\n"}}]},{"html_id":"drivers/KontaktIO/Tracking","path":"KontaktIO/Tracking.html","kind":"class","full_name":"KontaktIO::Tracking","name":"Tracking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L24"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/KontaktIO","kind":"module","full_name":"KontaktIO","name":"KontaktIO"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L25"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contacts:Array(Contact)-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L42"},"def":{"name":"contacts","return_type":"Array(Contact)","visibility":"Public","body":"@contacts"}},{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L44"},"def":{"name":"duration","visibility":"Public","body":"contacts.first.duration_sec"}},{"html_id":"end_time:Time-instance-method","name":"end_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L40"},"def":{"name":"end_time","return_type":"Time","visibility":"Public","body":"@end_time"}},{"html_id":"entity_id:Int64|Nil-instance-method","name":"entity_id","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L28"},"def":{"name":"entity_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@entity_id"}},{"html_id":"entity_name:String|Nil-instance-method","name":"entity_name","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L31"},"def":{"name":"entity_name","return_type":"String | ::Nil","visibility":"Public","body":"@entity_name"}},{"html_id":"mac_address:String-instance-method","name":"mac_address","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L34"},"def":{"name":"mac_address","return_type":"String","visibility":"Public","body":"@mac_address"}},{"html_id":"start_time:Time-instance-method","name":"start_time","abstract":false,"location":{"filename":"src/kontakt_io/kio_cloud_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kontakt_io/kio_cloud_models.cr#L37"},"def":{"name":"start_time","return_type":"Time","visibility":"Public","body":"@start_time"}}]}]},{"html_id":"drivers/Kramer","path":"Kramer.html","kind":"module","full_name":"Kramer","name":"Kramer","abstract":false,"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Kramer/RC308Panel","path":"Kramer/RC308Panel.html","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\"","doc":"\\r\\n 0D0A","summary":"

\\r\\n 0D0A

"}],"namespace":{"html_id":"drivers/Kramer","kind":"module","full_name":"Kramer","name":"Kramer"},"instance_methods":[{"html_id":"button_state(index:UInt8,light:Bool,red:UInt8|Nil=nil,green:UInt8|Nil=nil,blue:UInt8|Nil=nil)-instance-method","name":"button_state","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"args_string":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","args_html":"(index : UInt8, light : Bool, red : UInt8 | Nil = nil, green : UInt8 | Nil = nil, blue : UInt8 | Nil = nil)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L57"},"def":{"name":"button_state","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"light","external_name":"light","restriction":"Bool"},{"name":"red","default_value":"nil","external_name":"red","restriction":"UInt8 | ::Nil"},{"name":"green","default_value":"nil","external_name":"green","restriction":"UInt8 | ::Nil"},{"name":"blue","default_value":"nil","external_name":"blue","restriction":"UInt8 | ::Nil"}],"visibility":"Public","body":"data = \"#RGB #{index},#{red || @default.red},#{green || @default.green},#{blue || @default.blue},#{light ? '1' : '0'}\\r\"\nsend(data, name: \"button#{index}\")\n"}},{"html_id":"button_state?(index:UInt8,priority:Int32=0)-instance-method","name":"button_state?","abstract":false,"args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(index : UInt8, priority : Int32 = 0)","args_html":"(index : UInt8, priority : Int32 = 0)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L62"},"def":{"name":"button_state?","args":[{"name":"index","external_name":"index","restriction":"UInt8"},{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(\"#RGB? #{index}\\r\", priority: priority)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L42"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute, true) do\n query_state\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L47"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@default = (setting?(DefaultLight, :default_light)) || (DefaultLight.new(255_u8, 0_u8, 0_u8))\n@button_count = (setting?(UInt8, :button_count)) || 8_u8\n"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L51"},"def":{"name":"query_state","visibility":"Public","body":"(1_u8..@button_count).each do |idx|\n button_state?(idx)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L85"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Kramer sent: #{data.inspect}\"\nend\nparts = (data.split('@', 2))[1].strip.split(' ')\ncomponent = parts[0].upcase\ndetails = parts[1]\nsuccess = parts[2]?\ncase component\nwhen \"BTN\"\n light_on, button_index, button_action = details.split(',')\n self[\"button#{button_index}_light\"] = light_on == \"1\"\n self[\"button#{button_index}_state\"] = ButtonAction.check(button_action)\nwhen \"RGB\"\n button_index, red, green, blue, light_on = details.split(',')\n self[\"button#{button_index}_rgb\"] = {red.to_u8, green.to_u8, blue.to_u8}\n self[\"button#{button_index}_light\"] = light_on == \"1\"\nwhen \"ERR\"\n logger.warn do\n \"request failed with error code: #{details}\"\n end\n return task.try(&.abort(\"error code: #{details}\"))\nelse\n logger.warn do\n \"unknown button component #{component}\"\n end\n return\nend\nif task\n if task.name\n if success\n task.success\n end\n else\n task.success\n end\nend\n"}}],"types":[{"html_id":"drivers/Kramer/RC308Panel/ButtonAction","path":"Kramer/RC308Panel/ButtonAction.html","kind":"enum","full_name":"Kramer::RC308Panel::ButtonAction","name":"ButtonAction","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Pressed","name":"Pressed","value":"0"},{"id":"Released","name":"Released","value":"1"},{"id":"HeldDown","name":"HeldDown","value":"2"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"class_methods":[{"html_id":"check(type:String)-class-method","name":"check","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L71"},"def":{"name":"check","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"case type.downcase\nwhen \"p\"\n ButtonAction::Pressed\nwhen \"r\"\n ButtonAction::Released\nwhen \"h\"\n ButtonAction::HeldDown\nelse\n raise(\"unknown button action type: #{type}\")\nend"}}],"instance_methods":[{"html_id":"held_down?-instance-method","name":"held_down?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L69"},"def":{"name":"held_down?","visibility":"Public","body":"self == HeldDown"}},{"html_id":"pressed?-instance-method","name":"pressed?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L67"},"def":{"name":"pressed?","visibility":"Public","body":"self == Pressed"}},{"html_id":"released?-instance-method","name":"released?","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L68"},"def":{"name":"released?","visibility":"Public","body":"self == Released"}}]},{"html_id":"drivers/Kramer/RC308Panel/DefaultLight","path":"Kramer/RC308Panel/DefaultLight.html","kind":"struct","full_name":"Kramer::RC308Panel::DefaultLight","name":"DefaultLight","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Kramer/RC308Panel","kind":"class","full_name":"Kramer::RC308Panel","name":"RC308Panel"},"constructors":[{"html_id":"new(red:UInt8,green:UInt8,blue:UInt8)-class-method","name":"new","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"new","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"_ = allocate\n_.initialize(red, green, blue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blue:UInt8-instance-method","name":"blue","abstract":false,"def":{"name":"blue","return_type":"UInt8","visibility":"Public","body":"@blue"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@red.clone, @green.clone, @blue.clone)"}},{"html_id":"copy_with(red_red=@red,green_green=@green,blue_blue=@blue)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"args_string":"(red _red = @red, green _green = @green, blue _blue = @blue)","args_html":"(red _red = @red, green _green = @green, blue _blue = @blue)","location":{"filename":"src/kramer/rc_308_panel.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/kramer/rc_308_panel.cr#L18"},"def":{"name":"copy_with","args":[{"name":"_red","default_value":"@red","external_name":"red","restriction":""},{"name":"_green","default_value":"@green","external_name":"green","restriction":""},{"name":"_blue","default_value":"@blue","external_name":"blue","restriction":""}],"visibility":"Public","body":"self.class.new(_red, _green, _blue)"}},{"html_id":"green:UInt8-instance-method","name":"green","abstract":false,"def":{"name":"green","return_type":"UInt8","visibility":"Public","body":"@green"}},{"html_id":"red:UInt8-instance-method","name":"red","abstract":false,"def":{"name":"red","return_type":"UInt8","visibility":"Public","body":"@red"}}]}]}]},{"html_id":"drivers/Lenel","path":"Lenel.html","kind":"module","full_name":"Lenel","name":"Lenel","abstract":false,"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lenel/OpenAccess","path":"Lenel/OpenAccess.html","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L4"},{"filename":"src/lenel/open_access.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"}],"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"instance_methods":[{"html_id":"badge_types-instance-method","name":"badge_types","doc":"Query the available badge types.\n\nBadge types contain default configuration that is applied to any badge\ncreated under them. This includes items such as access areas, activation\nwindows and other bulk config. These may then be override on individual\nbadge instances.","summary":"

Query the available badge types.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L114"},"def":{"name":"badge_types","visibility":"Public","body":"client.lookup(BadgeType)"}},{"html_id":"check_comms-instance-method","name":"check_comms","doc":"Test service connectivity.","summary":"

Test service connectivity.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L80"},"def":{"name":"check_comms","visibility":"Public","body":"begin\n logger.debug do\n \"checking service connectivity\"\n end\n if client.token\n client.keepalive\n logger.info do\n \"client online and authenticated\"\n end\n else\n client.version\n logger.warn do\n \"service reachable, no active auth session\"\n end\n authenticate!\n end\nrescue e : OpenAccess::Error\n logger.error do\n e.message\n end\n set_connected_state(false)\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"logger.debug do\n \"connected\"\nend\nif client.token.nil?\n authenticate!\nend\n"}},{"html_id":"create_badge(type:Int32,id:Int64,personid:Int32,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"create_badge","doc":"Creates a new badge of the specied *type*, belonging to *personid* with a\nspecific *id*.\n\nNote: 'id' is the physical badge number (e.g. the ID written to an NFC chip)","summary":"

Creates a new badge of the specied type, belonging to personid with a specific id.

","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L150"},"def":{"name":"create_badge","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"creating badge for cardholder #{personid}\"\nend\nclient.create(Badge, **args)\n"}},{"html_id":"create_badge_epoch(type:Int32,id:Int64,personid:Int32,activate_epoch:Int32,deactivate_epoch:Int32,uselimit:Int32|Nil=nil)-instance-method","name":"create_badge_epoch","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","args_html":"(type : Int32, id : Int64, personid : Int32, activate_epoch : Int32, deactivate_epoch : Int32, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L162"},"def":{"name":"create_badge_epoch","args":[{"name":"type","external_name":"type","restriction":"Int32"},{"name":"id","external_name":"id","restriction":"Int64"},{"name":"personid","external_name":"personid","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\ncreate_badge(type: type, id: id, personid: personid, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"create_cardholder(email:String,firstname:String,lastname:String)-instance-method","name":"create_cardholder","doc":"Creates a new cardholder.\n\nAn error will be returned if an existing cardholder exists for the specified\n*email* address.","summary":"

Creates a new cardholder.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"args_string":"(email : String, firstname : String, lastname : String)","args_html":"(email : String, firstname : String, lastname : String)","location":{"filename":"src/lenel/open_access.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L264"},"def":{"name":"create_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"},{"name":"firstname","external_name":"firstname","restriction":"String"},{"name":"lastname","external_name":"lastname","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"creating cardholder record for #{email}\"\nend\nif (client.count(Cardholder, filter: \"email = \\\"#{email}\\\"\")).zero?\nelse\n raise(ArgumentError.new(\"record already exists for #{email}\"))\nend\nclient.create(Cardholder, **args)\n"}},{"html_id":"delete_badge(badgekey:Int32):Nil-instance-method","name":"delete_badge","doc":"Deletes a badge with the specified *badgekey*.","summary":"

Deletes a badge with the specified badgekey.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32) : Nil","args_html":"(badgekey : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L217"},"def":{"name":"delete_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting badge #{badgekey}\"\nend\nclient.delete(Badge, **args)\n"}},{"html_id":"delete_badges(badgekeys:Array(Int32)):Int32-instance-method","name":"delete_badges","abstract":false,"args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"args_string":"(badgekeys : Array(Int32)) : Int32","args_html":"(badgekeys : Array(Int32)) : Int32","location":{"filename":"src/lenel/open_access.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L222"},"def":{"name":"delete_badges","args":[{"name":"badgekeys","external_name":"badgekeys","restriction":"Array(Int32)"}],"return_type":"Int32","visibility":"Public","body":"badgekeys.count do |badge_key|\n begin\n delete_badge(badge_key)\n 1\n rescue OpenAccess::Error\n logger.debug do\n \"failed to delete badge #{badge_key}\"\n end\n 0\n end\nend"}},{"html_id":"delete_cardholder(id:Int32):Nil-instance-method","name":"delete_cardholder","doc":"Deletes a cardholed by their person *id*.","summary":"

Deletes a cardholed by their person id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32) : Nil","args_html":"(id : Int32) : Nil","location":{"filename":"src/lenel/open_access.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L278"},"def":{"name":"delete_cardholder","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"deleting cardholder #{id}\"\nend\nclient.delete(Cardholder, **args)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"logger.debug do\n \"disconnected\"\nend\nclient.token = nil\n"}},{"html_id":"list_badges(personid:Int32)-instance-method","name":"list_badges","doc":"List badges belonging to a cardholder","summary":"

List badges belonging to a cardholder

","abstract":false,"args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"args_string":"(personid : Int32)","args_html":"(personid : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L120"},"def":{"name":"list_badges","args":[{"name":"personid","external_name":"personid","restriction":"Int32"}],"visibility":"Public","body":"client.lookup(Badge, filter: \"personid = #{personid}\")"}},{"html_id":"list_directories-instance-method","name":"list_directories","doc":"Query the directories available for auth.","summary":"

Query the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L97"},"def":{"name":"list_directories","visibility":"Public","body":"client.directories"}},{"html_id":"list_events(filter:String,page_number:Int32|Nil=nil)-instance-method","name":"list_events","doc":"List Logged Events","summary":"

List Logged Events

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"args_string":"(filter : String, page_number : Int32 | Nil = nil)","args_html":"(filter : String, page_number : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L291"},"def":{"name":"list_events","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"client.get_logged_events(filter, page_number)"}},{"html_id":"list_events_in_range(filter:String,from:Time|Nil=nil,til:Time|Nil=nil)-instance-method","name":"list_events_in_range","doc":"List events that occured during a given time window. Default to past 24h.","summary":"

List events that occured during a given time window.

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"args_string":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","args_html":"(filter : String, from : Time | Nil = nil, til : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":297,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L297"},"def":{"name":"list_events_in_range","args":[{"name":"filter","external_name":"filter","restriction":"String"},{"name":"from","default_value":"nil","external_name":"from","restriction":"Time | ::Nil"},{"name":"til","default_value":"nil","external_name":"til","restriction":"Time | ::Nil"}],"visibility":"Public","body":"til || (til = Time.local)\nfrom || (from = til - 1.day)\nclient.get_logged_events(filter + \" AND timestamp >= \\\"#{from.to_s}\\\" AND timestamp <= \\\"#{til.to_s}\\\"\")\n"}},{"html_id":"lookup_badge_id(id:Int64)-instance-method","name":"lookup_badge_id","doc":"Get badge by id (instead of badgekey)","summary":"

Get badge by id (instead of badgekey)

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/lenel/open_access.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L137"},"def":{"name":"lookup_badge_id","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"id = #{id}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_badge_key(badgekey:Int32)-instance-method","name":"lookup_badge_key","doc":"Get badge by badgekey (instead of id)\nNote: id is the number in the QR data or burnt to the swipe card. badgekey is Lenel's primary key for badges","summary":"

Get badge by badgekey (instead of id) Note: id is the number in the QR data or burnt to the swipe card.

","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"args_string":"(badgekey : Int32)","args_html":"(badgekey : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L127"},"def":{"name":"lookup_badge_key","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"}],"visibility":"Public","body":"badges = client.lookup(Badge, filter: \"badgekey = #{badgekey}\")\nif badges.size > 1\n logger.warn do\n \"duplicate records exist for #{badgekey}\"\n end\nend\nbadges.first?\n"}},{"html_id":"lookup_cardholder(email:String)-instance-method","name":"lookup_cardholder","doc":"Lookup a cardholder by *email* address.","summary":"

Lookup a cardholder by email address.

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L236"},"def":{"name":"lookup_cardholder","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{email}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholder_id(id:Int32)-instance-method","name":"lookup_cardholder_id","doc":"Lookup a cardholder by ID","summary":"

Lookup a cardholder by ID

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lenel/open_access.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L251"},"def":{"name":"lookup_cardholder_id","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"cardholders = client.lookup(Cardholder, filter: \"id = #{id}\")\nif cardholders.size > 1\n logger.warn do\n \"duplicate records exist for #{id}\"\n end\nend\ncardholders.first?\n"}},{"html_id":"lookup_cardholders(email:String)-instance-method","name":"lookup_cardholders","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/lenel/open_access.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L245"},"def":{"name":"lookup_cardholders","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"client.lookup(Cardholder, filter: \"email = \\\"#{email}\\\"\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L35"},"def":{"name":"on_load","visibility":"Public","body":"schedule.every(5.minutes, &->check_comms)"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"logger.debug do\n \"settings updated\"\nend\nclient.app_id = setting(String, :application_id)\nauthenticate!\n"}},{"html_id":"search(type_name:String,filter:String|Nil=nil)-instance-method","name":"search","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L308"},"def":{"name":"search","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"client.raw_lookup(type_name, filter)"}},{"html_id":"search_readers(filter:String)-instance-method","name":"search_readers","doc":"List card readers matching a given filter","summary":"

List card readers matching a given filter

","abstract":false,"args":[{"name":"filter","external_name":"filter","restriction":"String"}],"args_string":"(filter : String)","args_html":"(filter : String)","location":{"filename":"src/lenel/open_access.cr","line_number":285,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L285"},"def":{"name":"search_readers","args":[{"name":"filter","external_name":"filter","restriction":"String"}],"visibility":"Public","body":"client.lookup(Reader, filter)"}},{"html_id":"update_badge(badgekey:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil,activate:Time|Nil=nil,deactivate:Time|Nil=nil)-instance-method","name":"update_badge","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"args_string":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","args_html":"(badgekey : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil, activate : Time | Nil = nil, deactivate : Time | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L184"},"def":{"name":"update_badge","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"},{"name":"activate","default_value":"nil","external_name":"activate","restriction":"Time | ::Nil"},{"name":"deactivate","default_value":"nil","external_name":"deactivate","restriction":"Time | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"Updating badge #{badgekey}\"\nend\nclient.update(Badge, **args)\n"}},{"html_id":"update_badge_epoch(badgekey:Int32,activate_epoch:Int32,deactivate_epoch:Int32,id:Int64|Nil=nil,uselimit:Int32|Nil=nil)-instance-method","name":"update_badge_epoch","abstract":false,"args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"args_string":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","args_html":"(badgekey : Int32, activate_epoch : Int32, deactivate_epoch : Int32, id : Int64 | Nil = nil, uselimit : Int32 | Nil = nil)","location":{"filename":"src/lenel/open_access.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L196"},"def":{"name":"update_badge_epoch","args":[{"name":"badgekey","external_name":"badgekey","restriction":"Int32"},{"name":"activate_epoch","external_name":"activate_epoch","restriction":"Int32"},{"name":"deactivate_epoch","external_name":"deactivate_epoch","restriction":"Int32"},{"name":"id","default_value":"nil","external_name":"id","restriction":"Int64 | ::Nil"},{"name":"uselimit","default_value":"nil","external_name":"uselimit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"activate = Time.unix(activate_epoch)\ndeactivate = Time.unix(deactivate_epoch)\nupdate_badge(badgekey: badgekey, id: id, activate: activate, deactivate: deactivate, uselimit: uselimit)\n"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access.cr#L103"},"def":{"name":"version","visibility":"Public","body":"client.version"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Client","path":"Lenel/OpenAccess/Client.html","kind":"class","full_name":"Lenel::OpenAccess::Client","name":"Client","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/client.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"Lenel OpenAccess API wrapper.\n\nProvides thin abstractions over API endpoints. Requests are executed on the\npased transport. This can be a `PlaceOS::Driver`, `HTTP::Client` or other type\nsupporting the same set of base HTTP request methods.","summary":"

Lenel OpenAccess API wrapper.

","constructors":[{"html_id":"new(transport:HTTP::Client,app_id:String)-class-method","name":"new","abstract":false,"args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"args_string":"(transport : HTTP::Client, app_id : String)","args_html":"(transport : HTTP::Client, app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L22"},"def":{"name":"new","args":[{"name":"transport","external_name":"transport","restriction":"::HTTP::Client"},{"name":"app_id","external_name":"app_id","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(transport, app_id)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"app_id:String-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id","return_type":"String","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:String)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"args_string":"(app_id : String)","args_html":"(app_id : String)","location":{"filename":"src/lenel/open_access/client.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L18"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"String"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"count(entitytype_name:T.class,filter:String|Nil=nil)forallT-instance-method","name":"count","doc":"Counts the number of instances of *entity*.\n\n*filter* may optionally be used to specify a subset of these.","summary":"

Counts the number of instances of entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L152"},"def":{"name":"count","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.encode(args.merge(type_name: T.type_name))\n((~transport.get(path: \"/count?version=1.0&#{params}\")) >> NamedTuple(total_items: Int32))[:total_items]\n"}},{"html_id":"create(entity:T.class,**props)forallT-instance-method","name":"create","doc":"Creates a new instance of *entity*.\n\nAPI create responses return a partial object, which is provided here as an\nuntyped return. This includes the object's database key (which varies\nbetween object types - ID, BADGEKEY etc), however contents of this is\nunspecified. The partial object is provided here, in full, with keys\ntransformed to match how they appear in a type-safe model.","summary":"

Creates a new instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) forall T","args_html":"(entity : T.class, **props) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L94"},"def":{"name":"create","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"visibility":"Public","body":"(~transport.post(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> Models::Untyped"}},{"html_id":"delete(entity:T.class,**props):NilforallT-instance-method","name":"delete","doc":"Deletes an instance of *entity*.","summary":"

Deletes an instance of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : Nil forall T","args_html":"(entity : T.class, **props) : Nil forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L172"},"def":{"name":"delete","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)"}},{"html_id":"directories-instance-method","name":"directories","doc":"Enumerates the directories available for auth.","summary":"

Enumerates the directories available for auth.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L49"},"def":{"name":"directories","visibility":"Public","body":"((~transport.get(path: \"/directories?version=1.0\")) >> NamedTuple(total_items: Int32, item_list: Array(::NamedTuple(property_value_map: ::NamedTuple(ID: String, Name: String, directory_type: Int32)))))[:item_list].map do |item|\n item[:property_value_map]\nend"}},{"html_id":"get_logged_events(filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"get_logged_events","doc":"Retrieve a list of logged events from Onguard\nSee Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events","summary":"

Retrieve a list of logged events from Onguard See Onguard 7.6 OpenAccess User Gude > Chapter 4 REST API > Manage Instances > get logged_events

","abstract":false,"args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L184"},"def":{"name":"get_logged_events","args":[{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/logged_events?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"keepalive:Nil-instance-method","name":"keepalive","doc":"Request a connection keepalive to prevent session timeout.","summary":"

Request a connection keepalive to prevent session timeout.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L81"},"def":{"name":"keepalive","return_type":"Nil","visibility":"Public","body":"~transport.get(path: \"/keepalive?version=1.0\")"}},{"html_id":"login(usernameuser_name:String,password:String,directory_id:String|Nil)-instance-method","name":"login","doc":"Creates a new auth session.","summary":"

Creates a new auth session.

","abstract":false,"args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"args_string":"(username user_name : String, password : String, directory_id : String | Nil)","args_html":"(username user_name : String, password : String, directory_id : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L59"},"def":{"name":"login","args":[{"name":"user_name","external_name":"username","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"directory_id","external_name":"directory_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"(~transport.post(path: \"/authentication?version=1.0\", body: args.to_h.compact.to_json)) >> NamedTuple(session_token: String, token_expiration_time: Time)"}},{"html_id":"logout:Nil-instance-method","name":"logout","doc":"Removes an auth session.","summary":"

Removes an auth session.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L74"},"def":{"name":"logout","return_type":"Nil","visibility":"Public","body":"~transport.delete(path: \"/authentication?version=1.0\")"}},{"html_id":"lookup(entitytype_name:T.class,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=nil,order_by:String|Nil=nil):Array(T)forallT-instance-method","name":"lookup","doc":"Retrieves instances of a particular *entity*.\n\nThe search criteria specified in *filter* is a subset of SQL. This supports\noperations such as as:\n+ exclusion `LastName != \"Lake\"`\n+ wildcards `LastName like \"La%\"`\n+ boolean operators `LastName = \"Lake\" OR FirstName = \"Lisa\"`","summary":"

Retrieves instances of a particular entity.

","abstract":false,"args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","args_html":"(entity type_name : T.class, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = nil, order_by : String | Nil = nil) : Array(T) forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L111"},"def":{"name":"lookup","args":[{"name":"type_name","external_name":"entity","restriction":"T.class"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"nil","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"return_type":"Array(T)","visibility":"Public","body":"params = HTTP::Params.new\nargs.merge(type_name: T.type_name).each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val)\n end\nend\n((~transport.get(path: \"/instances?version=1.0&#{params}\")) >> NamedTuple(page_number: Int32 | ::Nil, page_size: Int32 | ::Nil, total_pages: Int32, total_items: Int32, count: Int32, item_list: Array(T)))[:item_list]\n"}},{"html_id":"raw_lookup(type_name:String,filter:String|Nil=nil,page_number:Int32|Nil=nil,page_size:Int32|Nil=100,order_by:String|Nil=nil)-instance-method","name":"raw_lookup","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"args_string":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","args_html":"(type_name : String, filter : String | Nil = nil, page_number : Int32 | Nil = nil, page_size : Int32 | Nil = 100, order_by : String | Nil = nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L134"},"def":{"name":"raw_lookup","args":[{"name":"type_name","external_name":"type_name","restriction":"String"},{"name":"filter","default_value":"nil","external_name":"filter","restriction":"String | ::Nil"},{"name":"page_number","default_value":"nil","external_name":"page_number","restriction":"Int32 | ::Nil"},{"name":"page_size","default_value":"100","external_name":"page_size","restriction":"Int32 | ::Nil"},{"name":"order_by","default_value":"nil","external_name":"order_by","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nargs.each do |key, val|\n if val.nil?\n else\n params.add(key.to_s, val.to_s)\n end\nend\nresponse = transport.get(path: \"/instances?version=1.0&#{params}\")\nresponse.body\n"}},{"html_id":"token:String|Nil-instance-method","name":"token","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L20"},"def":{"name":"token","return_type":"String | ::Nil","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String|Nil)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"args_string":"(token : String | Nil)","args_html":"(token : String | Nil)","location":{"filename":"src/lenel/open_access/client.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L20"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String | ::Nil"}],"visibility":"Public","body":"@token = token"}},{"html_id":"update(entity:T.class,**props):TforallT-instance-method","name":"update","doc":"Updates a record of *entity*. Passed properties must include the types key and\nany fields to update.","summary":"

Updates a record of entity.

","abstract":false,"args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"args_string":"(entity : T.class, **props) : T forall T","args_html":"(entity : T.class, **props) : T forall T","location":{"filename":"src/lenel/open_access/client.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L161"},"def":{"name":"update","args":[{"name":"entity","external_name":"entity","restriction":"T.class"}],"double_splat":{"name":"props","external_name":"props","restriction":""},"return_type":"T","visibility":"Public","body":"(~transport.put(path: \"/instances?version=1.0\", body: {type_name: T.type_name, property_value_map: T.partial(**props)}.to_json)) >> T"}},{"html_id":"version-instance-method","name":"version","doc":"Gets the version of the attached OnGuard system.","summary":"

Gets the version of the attached OnGuard system.

","abstract":false,"location":{"filename":"src/lenel/open_access/client.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/client.cr#L39"},"def":{"name":"version","visibility":"Public","body":"(~transport.get(path: \"/version?version=1.0\")) >> NamedTuple(product_name: String, product_version: String)"}}]},{"html_id":"drivers/Lenel/OpenAccess/Error","path":"Lenel/OpenAccess/Error.html","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"class_methods":[{"html_id":"from_response(response)-class-method","name":"from_response","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/lenel/open_access/error.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L6"},"def":{"name":"from_response","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"begin\n error = Error::Info.from_json(response.body)\n new(**error[:error])\nrescue\n new(response.status.to_s)\nend"}}],"constructors":[{"html_id":"new(code:String,message:String|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"args_string":"(code : String, message : String | Nil = nil)","args_html":"(code : String, message : String | Nil = nil)","location":{"filename":"src/lenel/open_access/error.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L17"},"def":{"name":"new","args":[{"name":"code","external_name":"code","restriction":"String"},{"name":"message","default_value":"nil","external_name":"message","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(code, message)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"code:String-instance-method","name":"code","abstract":false,"location":{"filename":"src/lenel/open_access/error.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L15"},"def":{"name":"code","visibility":"Public","body":"@code"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Error/Info","path":"Lenel/OpenAccess/Error/Info.html","kind":"alias","full_name":"Lenel::OpenAccess::Error::Info","name":"Info","abstract":false,"locations":[{"filename":"src/lenel/open_access/error.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/error.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(error: NamedTuple(code: String, message: String | Nil))","aliased_html":"{error: {code: String, message: String?}}","const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Error","kind":"class","full_name":"Lenel::OpenAccess::Error","name":"Error"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models","path":"Lenel/OpenAccess/Models.html","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROPERTIES_KEY","name":"PROPERTIES_KEY","value":"\"property_value_map\""}],"including_types":[{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess","kind":"class","full_name":"Lenel::OpenAccess","name":"OpenAccess"},"doc":"DTO's for OpenAccess entities.\n\nThese are intentionally lightweight. In cases where a entity holds a\nrelationship to another, these are _not_ auto-resolved. Original ID references\nare kept in place. Types here a simply a thin wrapper for JSON serialization.","summary":"

DTO's for OpenAccess entities.

","types":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","path":"Lenel/OpenAccess/Models/Badge.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L130"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L130"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"activate:Time|Nil-instance-method","name":"activate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L134"},"def":{"name":"activate","return_type":"Time | ::Nil","visibility":"Public","body":"@activate"}},{"html_id":"badgekey:Int32-instance-method","name":"badgekey","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L131"},"def":{"name":"badgekey","return_type":"Int32","visibility":"Public","body":"@badgekey"}},{"html_id":"deactivate:Time|Nil-instance-method","name":"deactivate","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L137"},"def":{"name":"deactivate","return_type":"Time | ::Nil","visibility":"Public","body":"@deactivate"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L139"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"personid:Int32|Nil-instance-method","name":"personid","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L140"},"def":{"name":"personid","return_type":"Int32 | ::Nil","visibility":"Public","body":"@personid"}},{"html_id":"status:Int32|Nil-instance-method","name":"status","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L141"},"def":{"name":"status","return_type":"Int32 | ::Nil","visibility":"Public","body":"@status"}},{"html_id":"type:Int32|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L142"},"def":{"name":"type","return_type":"Int32 | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"uselimit:Int32|Nil-instance-method","name":"uselimit","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L143"},"def":{"name":"uselimit","return_type":"Int32 | ::Nil","visibility":"Public","body":"@uselimit"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","path":"Lenel/OpenAccess/Models/BadgeType.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L146"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L146"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"badgetypeclass:BadgeTypeClass-instance-method","name":"badgetypeclass","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L156"},"def":{"name":"badgetypeclass","return_type":"BadgeTypeClass","visibility":"Public","body":"@badgetypeclass"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L154"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"usemobilecredential:Bool-instance-method","name":"usemobilecredential","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L157"},"def":{"name":"usemobilecredential","return_type":"Bool","visibility":"Public","body":"@usemobilecredential"}}],"types":[{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass","path":"Lenel/OpenAccess/Models/BadgeType/BadgeTypeClass.html","kind":"enum","full_name":"Lenel::OpenAccess::Models::BadgeType::BadgeTypeClass","name":"BadgeTypeClass","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L147"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Standard","name":"Standard","value":"0"},{"id":"Temporary","name":"Temporary","value":"1"},{"id":"Visitor","name":"Visitor","value":"2"},{"id":"Guest","name":"Guest","value":"3"},{"id":"SpecialPurpose","name":"SpecialPurpose","value":"4"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},"instance_methods":[{"html_id":"guest?-instance-method","name":"guest?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L151"},"def":{"name":"guest?","visibility":"Public","body":"self == Guest"}},{"html_id":"special_purpose?-instance-method","name":"special_purpose?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L152"},"def":{"name":"special_purpose?","visibility":"Public","body":"self == SpecialPurpose"}},{"html_id":"standard?-instance-method","name":"standard?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L148"},"def":{"name":"standard?","visibility":"Public","body":"self == Standard"}},{"html_id":"temporary?-instance-method","name":"temporary?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L149"},"def":{"name":"temporary?","visibility":"Public","body":"self == Temporary"}},{"html_id":"visitor?-instance-method","name":"visitor?","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L150"},"def":{"name":"visitor?","visibility":"Public","body":"self == Visitor"}}]}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","path":"Lenel/OpenAccess/Models/Cardholder.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L160"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L161"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","path":"Lenel/OpenAccess/Models/Element.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Badge","kind":"struct","full_name":"Lenel::OpenAccess::Models::Badge","name":"Badge"},{"html_id":"drivers/Lenel/OpenAccess/Models/BadgeType","kind":"struct","full_name":"Lenel::OpenAccess::Models::BadgeType","name":"BadgeType"},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event"},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person"},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader"},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"doc":"Base type for Lenel data objects.","summary":"

Base type for Lenel data objects.

","class_methods":[{"html_id":"partial(**properties:**T):TforallT-class-method","name":"partial","doc":"Provide a compile-time check to ensure *properties* is a subset of *self*.","summary":"

Provide a compile-time check to ensure properties is a subset of self.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L74"},"def":{"name":"partial","double_splat":{"name":"properties","external_name":"properties","restriction":"**T"},"return_type":"T","visibility":"Public","body":"{% for key in T.keys %}\n {% unless @type.has_method?(key)\n raise(\"no \\\"#{key}\\\" property on #{@type.name}\")\nend %}\n {% end %}\nproperties\n"}},{"html_id":"type_name-class-method","name":"type_name","doc":"Name of the type as expected by the OpenAccess API endpoints.","summary":"

Name of the type as expected by the OpenAccess API endpoints.

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L23"},"def":{"name":"type_name","visibility":"Public","body":"\"Lnl_#{(name.rpartition(\"::\")).last}\""}}],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(*,__pull_for_json_serializablepull:JSON::PullParser)-class-method","name":"new","doc":"Override the default JSON::Serializable behaviour to make keys case\ninensitive when deserialising.","summary":"

Override the default JSON::Serializable behaviour to make keys case inensitive when deserialising.

","abstract":false,"args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"args_string":"(*, __pull_for_json_serializable pull : JSON::PullParser)","args_html":"(*, __pull_for_json_serializable pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L36"},"def":{"name":"new","args":[{"name":"","external_name":"","restriction":""},{"name":"pull","external_name":"__pull_for_json_serializable","restriction":"::JSON::PullParser"}],"splat_index":0,"visibility":"Public","body":"_ = allocate\n_.initialize(__pull_for_json_serializable: pull)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Event","path":"Lenel/OpenAccess/Models/Event.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L87"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_result:Int32|Nil-instance-method","name":"access_result","doc":"getter alarm_priority : Int32?\ngetter alarm_ack_blue_channel : Int32?\ngetter alarm_ack_green_channel : Int32?\ngetter alarm_ack_red_channel : Int32?\ngetter alarm_blue_channel : Int32?\ngetter alarm_green_channel : Int32?\ngetter alarm_red_channel : Int32?","summary":"

getter alarm_priority : Int32? getter alarm_ack_blue_channel : Int32? getter alarm_ack_green_channel : Int32? getter alarm_ack_red_channel : Int32? getter alarm_blue_channel : Int32? getter alarm_green_channel : Int32? getter alarm_red_channel : Int32?

","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L111"},"def":{"name":"access_result","return_type":"Int32 | ::Nil","visibility":"Public","body":"@access_result"}},{"html_id":"asset_id:Int32|Nil-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L102"},"def":{"name":"asset_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@asset_id"}},{"html_id":"badge_extended_id:String|Nil-instance-method","name":"badge_extended_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L100"},"def":{"name":"badge_extended_id","return_type":"String | ::Nil","visibility":"Public","body":"@badge_extended_id"}},{"html_id":"badge_id:Int32|Nil-instance-method","name":"badge_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L98"},"def":{"name":"badge_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_id"}},{"html_id":"badge_id_str:String|Nil-instance-method","name":"badge_id_str","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L99"},"def":{"name":"badge_id_str","return_type":"String | ::Nil","visibility":"Public","body":"@badge_id_str"}},{"html_id":"badge_issue_code:Int32|Nil-instance-method","name":"badge_issue_code","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L101"},"def":{"name":"badge_issue_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@badge_issue_code"}},{"html_id":"cardholder_entered:Bool|Nil-instance-method","name":"cardholder_entered","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L112"},"def":{"name":"cardholder_entered","return_type":"Bool | ::Nil","visibility":"Public","body":"@cardholder_entered"}},{"html_id":"cardholder_first_name:String|Nil-instance-method","name":"cardholder_first_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L116"},"def":{"name":"cardholder_first_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_first_name"}},{"html_id":"cardholder_key:Int32|Nil-instance-method","name":"cardholder_key","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L103"},"def":{"name":"cardholder_key","return_type":"Int32 | ::Nil","visibility":"Public","body":"@cardholder_key"}},{"html_id":"cardholder_last_name:String|Nil-instance-method","name":"cardholder_last_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L117"},"def":{"name":"cardholder_last_name","return_type":"String | ::Nil","visibility":"Public","body":"@cardholder_last_name"}},{"html_id":"controller_id:Int32-instance-method","name":"controller_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L91"},"def":{"name":"controller_id","return_type":"Int32","visibility":"Public","body":"@controller_id"}},{"html_id":"controller_name:String|Nil-instance-method","name":"controller_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L114"},"def":{"name":"controller_name","return_type":"String | ::Nil","visibility":"Public","body":"@controller_name"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L90"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"device_id:Int32-instance-method","name":"device_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L92"},"def":{"name":"device_id","return_type":"Int32","visibility":"Public","body":"@device_id"}},{"html_id":"device_name:String|Nil-instance-method","name":"device_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L118"},"def":{"name":"device_name","return_type":"String | ::Nil","visibility":"Public","body":"@device_name"}},{"html_id":"duress:Bool|Nil-instance-method","name":"duress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L113"},"def":{"name":"duress","return_type":"Bool | ::Nil","visibility":"Public","body":"@duress"}},{"html_id":"event_source_name:String|Nil-instance-method","name":"event_source_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L115"},"def":{"name":"event_source_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_source_name"}},{"html_id":"event_subtype:Int32|Nil-instance-method","name":"event_subtype","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L96"},"def":{"name":"event_subtype","return_type":"Int32 | ::Nil","visibility":"Public","body":"@event_subtype"}},{"html_id":"event_text:String|Nil-instance-method","name":"event_text","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L97"},"def":{"name":"event_text","return_type":"String | ::Nil","visibility":"Public","body":"@event_text"}},{"html_id":"event_type:Int32-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L95"},"def":{"name":"event_type","return_type":"Int32","visibility":"Public","body":"@event_type"}},{"html_id":"segment_id:Int32|Nil-instance-method","name":"segment_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L94"},"def":{"name":"segment_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@segment_id"}},{"html_id":"serial_number:Int32|Nil-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L88"},"def":{"name":"serial_number","return_type":"Int32 | ::Nil","visibility":"Public","body":"@serial_number"}},{"html_id":"subdevice_id:Int32|Nil-instance-method","name":"subdevice_id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L93"},"def":{"name":"subdevice_id","return_type":"Int32 | ::Nil","visibility":"Public","body":"@subdevice_id"}},{"html_id":"subdevice_name:String|Nil-instance-method","name":"subdevice_name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L119"},"def":{"name":"subdevice_name","return_type":"String | ::Nil","visibility":"Public","body":"@subdevice_name"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L89"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Person","path":"Lenel/OpenAccess/Models/Person.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Person","name":"Person","abstract":true,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L124"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"drivers/Lenel/OpenAccess/Models/Cardholder","kind":"struct","full_name":"Lenel::OpenAccess::Models::Cardholder","name":"Cardholder"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L124"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"firstname:String|Nil-instance-method","name":"firstname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L126"},"def":{"name":"firstname","return_type":"String | ::Nil","visibility":"Public","body":"@firstname"}},{"html_id":"id:Int32-instance-method","name":"id","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L125"},"def":{"name":"id","return_type":"Int32","visibility":"Public","body":"@id"}},{"html_id":"lastname:String|Nil-instance-method","name":"lastname","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L127"},"def":{"name":"lastname","return_type":"String | ::Nil","visibility":"Public","body":"@lastname"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Reader","path":"Lenel/OpenAccess/Models/Reader.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Reader","name":"Reader","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L164"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"accessMode:Int32|Nil-instance-method","name":"accessMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L165"},"def":{"name":"accessMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@accessMode"}},{"html_id":"address:Int32|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L166"},"def":{"name":"address","return_type":"Int32 | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"aux1Name:String|Nil-instance-method","name":"aux1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L182"},"def":{"name":"aux1Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux1Name"}},{"html_id":"aux2Name:String|Nil-instance-method","name":"aux2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L183"},"def":{"name":"aux2Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux2Name"}},{"html_id":"aux3Name:String|Nil-instance-method","name":"aux3Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L184"},"def":{"name":"aux3Name","return_type":"String | ::Nil","visibility":"Public","body":"@aux3Name"}},{"html_id":"controlType:Int32|Nil-instance-method","name":"controlType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L167"},"def":{"name":"controlType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@controlType"}},{"html_id":"extendedOpenTime:Int32|Nil-instance-method","name":"extendedOpenTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L168"},"def":{"name":"extendedOpenTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedOpenTime"}},{"html_id":"extendedStrikeTime:Int32|Nil-instance-method","name":"extendedStrikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L169"},"def":{"name":"extendedStrikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@extendedStrikeTime"}},{"html_id":"friendlyName:String|Nil-instance-method","name":"friendlyName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L185"},"def":{"name":"friendlyName","return_type":"String | ::Nil","visibility":"Public","body":"@friendlyName"}},{"html_id":"gatewayAddress:Int32|Nil-instance-method","name":"gatewayAddress","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L170"},"def":{"name":"gatewayAddress","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayAddress"}},{"html_id":"gatewayHostName:String|Nil-instance-method","name":"gatewayHostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L186"},"def":{"name":"gatewayHostName","return_type":"String | ::Nil","visibility":"Public","body":"@gatewayHostName"}},{"html_id":"gatewayIPPort:Int32|Nil-instance-method","name":"gatewayIPPort","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L171"},"def":{"name":"gatewayIPPort","return_type":"Int32 | ::Nil","visibility":"Public","body":"@gatewayIPPort"}},{"html_id":"hostName:String|Nil-instance-method","name":"hostName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L187"},"def":{"name":"hostName","return_type":"String | ::Nil","visibility":"Public","body":"@hostName"}},{"html_id":"isPairedMaster:Bool|Nil-instance-method","name":"isPairedMaster","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L192"},"def":{"name":"isPairedMaster","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedMaster"}},{"html_id":"isPairedSlave:Bool|Nil-instance-method","name":"isPairedSlave","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L193"},"def":{"name":"isPairedSlave","return_type":"Bool | ::Nil","visibility":"Public","body":"@isPairedSlave"}},{"html_id":"mode:Int32|Nil-instance-method","name":"mode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L173"},"def":{"name":"mode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mode"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L188"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"offlineMode:Int32|Nil-instance-method","name":"offlineMode","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L172"},"def":{"name":"offlineMode","return_type":"Int32 | ::Nil","visibility":"Public","body":"@offlineMode"}},{"html_id":"openTime:Int32|Nil-instance-method","name":"openTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L174"},"def":{"name":"openTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@openTime"}},{"html_id":"out1Name:String|Nil-instance-method","name":"out1Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L189"},"def":{"name":"out1Name","return_type":"String | ::Nil","visibility":"Public","body":"@out1Name"}},{"html_id":"out2Name:String|Nil-instance-method","name":"out2Name","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L190"},"def":{"name":"out2Name","return_type":"String | ::Nil","visibility":"Public","body":"@out2Name"}},{"html_id":"panelID:Int32|Nil-instance-method","name":"panelID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L175"},"def":{"name":"panelID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@panelID"}},{"html_id":"panelTypeName:String|Nil-instance-method","name":"panelTypeName","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L191"},"def":{"name":"panelTypeName","return_type":"String | ::Nil","visibility":"Public","body":"@panelTypeName"}},{"html_id":"portNumber:Int32|Nil-instance-method","name":"portNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L176"},"def":{"name":"portNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@portNumber"}},{"html_id":"readerID:Int32|Nil-instance-method","name":"readerID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L177"},"def":{"name":"readerID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerID"}},{"html_id":"readerNumber:Int32|Nil-instance-method","name":"readerNumber","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L178"},"def":{"name":"readerNumber","return_type":"Int32 | ::Nil","visibility":"Public","body":"@readerNumber"}},{"html_id":"slaveID:Int32|Nil-instance-method","name":"slaveID","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L179"},"def":{"name":"slaveID","return_type":"Int32 | ::Nil","visibility":"Public","body":"@slaveID"}},{"html_id":"strikeTime:Int32|Nil-instance-method","name":"strikeTime","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L180"},"def":{"name":"strikeTime","return_type":"Int32 | ::Nil","visibility":"Public","body":"@strikeTime"}},{"html_id":"timeAttendanceType:Int32|Nil-instance-method","name":"timeAttendanceType","abstract":false,"location":{"filename":"src/lenel/open_access/models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L181"},"def":{"name":"timeAttendanceType","return_type":"Int32 | ::Nil","visibility":"Public","body":"@timeAttendanceType"}}]},{"html_id":"drivers/Lenel/OpenAccess/Models/Untyped","path":"Lenel/OpenAccess/Models/Untyped.html","kind":"struct","full_name":"Lenel::OpenAccess::Models::Untyped","name":"Untyped","abstract":false,"superclass":{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/Lenel/OpenAccess/Models/Element","kind":"struct","full_name":"Lenel::OpenAccess::Models::Element","name":"Element"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"namespace":{"html_id":"drivers/Lenel/OpenAccess/Models","kind":"module","full_name":"Lenel::OpenAccess::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lenel/open_access/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/lenel/open_access/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L84"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" json_unmapped.\n{{ call }}\n\n \n"}}]}]}]},{"html_id":"drivers/Lenel/TimeConverter","path":"Lenel/TimeConverter.html","kind":"module","full_name":"Lenel::TimeConverter","name":"TimeConverter","abstract":false,"locations":[{"filename":"src/lenel/open_access/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lenel","kind":"module","full_name":"Lenel","name":"Lenel"},"doc":"Ensure that UTC time strings provide the offset as \"+00:00\" instead of \"Z\", as required by Openaccess","summary":"

Ensure that UTC time strings provide the offset as "+00:00" instead of "Z", as required by Openaccess

","class_methods":[{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/lenel/open_access/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lenel/open_access/models.cr#L5"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_s(\"%FT%T%:z\"))"}}]}]},{"html_id":"drivers/Leviton","path":"Leviton.html","kind":"module","full_name":"Leviton","name":"Leviton","abstract":false,"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Leviton/Acquisuite","path":"Leviton/Acquisuite.html","kind":"class","full_name":"Leviton::Acquisuite","name":"Acquisuite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/leviton/acquisuite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Leviton","kind":"module","full_name":"Leviton","name":"Leviton"},"instance_methods":[{"html_id":"device_list:Hash(String,{String,String})-instance-method","name":"device_list","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L152"},"def":{"name":"device_list","visibility":"Public","body":"@device_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/leviton/acquisuite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@device_list = setting(Hash(String, Tuple(String, String)), :device_list)\n@manifest_list = setting(Array(String), :manifest_list)\n@config_list = setting(Hash(String, Array(Hash(String, Float64 | String | Nil))), :config_list)\n"}},{"html_id":"receive_webhook(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"receive_webhook","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/leviton/acquisuite.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/leviton/acquisuite.cr#L35"},"def":{"name":"receive_webhook","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n if @debug_webhook\n logger.warn do\n ((\"Received Webhook\\n\" + \"Method: #{method.inspect}\\n\") + \"Headers:\\n#{headers.inspect}\\n\") + \"Body:\\n#{body.inspect}\"\n end\n end\n decoded = Base64.decode_string(body)\n case method.downcase\n when \"post\"\n new_headers = HTTP::Headers.new\n headers.each do |k, v|\n new_headers[k] = v\n end\n request = HTTP::Request.new(\"POST\", \"/request\", new_headers, decoded)\n files, form_data = ActionController::BodyParser.extract_form_data(request, \"multipart/form-data\", request.query_params)\n form_data = form_data.not_nil!\n case form_data[\"MODE\"]\n when \"STATUS\"\n return {HTTP::Status::OK.to_i, {} of String => String, \"SUCCESS\"}\n when \"CONFIGFILEMANIFEST\"\n return {HTTP::Status::OK.to_i, {} of String => String, device_to_manifest.join(\"\\n\")}\n when \"CONFIGFILEUPLOAD\"\n files = files.not_nil!\n return config_file_upload(files, form_data)\n when \"LOGFILEUPLOAD\"\n files = files.not_nil!\n return log_file_upload(files, form_data)\n else\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: Invalid mode passed. Either STATUS, CONFIGFILEMANIFEST, CONFIGFILEUPLOAD or LOGFILEUPLOAD required. Got #{form_data[\"MODE\"]}\"}\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request: #{body.inspect}\"\n end\n self[:last_error] = error.inspect_with_backtrace\n self[:error_payload] = body\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, \"FAILURE: #{error.message.to_s}\"}\nend"}}]}]},{"html_id":"drivers/Lg","path":"Lg.html","kind":"module","full_name":"Lg","name":"Lg","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lg/Displays","path":"Lg/Displays.html","kind":"module","full_name":"Lg::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lg","kind":"module","full_name":"Lg","name":"Lg"},"types":[{"html_id":"drivers/Lg/Displays/Ls5","path":"Lg/Displays/Ls5.html","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"120_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Lg/Displays","kind":"module","full_name":"Lg::Displays","name":"Displays"},"instance_methods":[{"html_id":"aspect_ratio(ratio:Ratio)-instance-method","name":"aspect_ratio","abstract":false,"args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"args_string":"(ratio : Ratio)","args_html":"(ratio : Ratio)","location":{"filename":"src/lg/displays/ls5.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L143"},"def":{"name":"aspect_ratio","args":[{"name":"ratio","external_name":"ratio","restriction":"Ratio"}],"visibility":"Public","body":"do_send(Command::AspectRatio, ratio.value, name: \"aspect_ratio\", delay: 1.second)"}},{"html_id":"aspect_ratio?(priority:Int32=0)-instance-method","name":"aspect_ratio?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"aspect_ratio?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AspectRatio, 255, priority: priority, name: \"aspect_ratio\" + \"_status\")"}},{"html_id":"auto_off(state:Bool=false)-instance-method","name":"auto_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L211"},"def":{"name":"auto_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::AutoOff, val, 'm', name: \"disable_auto_off\")\n"}},{"html_id":"auto_off?(priority:Int32=0)-instance-method","name":"auto_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"auto_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::AutoOff, 255, priority: priority, name: \"auto_off\" + \"_status\")"}},{"html_id":"brightness(value:Float64|Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Brightness, val, name: \"brightness\")\n"}},{"html_id":"brightness?(priority:Int32=0)-instance-method","name":"brightness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"brightness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Brightness, 255, priority: priority, name: \"brightness\" + \"_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L56"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nself[:connected] = true\nwake_on_lan\nno_signal_off\nauto_off\nlocal_button_lock\npm_mode\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Float64|Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Contrast, val, name: \"contrast\")\n"}},{"html_id":"contrast?(priority:Int32=0)-instance-method","name":"contrast?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"contrast?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Contrast, 255, priority: priority, name: \"contrast\" + \"_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L69"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nself[:connected] = false\nschedule.clear\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if @rs232\n power?\n if self[:hard_power]?.try(&.as_bool)\n screen_mute?\n input?\n volume_mute?\n volume?\n end\nelse\n if @connected\n screen_mute?\n if @id_num == 1\n input?\n volume_mute?\n volume?\n end\n else\n if self[:power_target]?.try(&.as_bool)\n power(true)\n end\n end\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L111"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::Power, 0, name: \"power\", priority: 99, clear_queue: true)"}},{"html_id":"input?(priority:Int32=0)-instance-method","name":"input?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L169"},"def":{"name":"input?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Input, 255, 'x', priority: priority)"}},{"html_id":"local_button_lock(state:Bool=true)-instance-method","name":"local_button_lock","doc":"0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons. Default to 2 as power off from local button results in network offline","summary":"

0 = Off, 1 = lock all except Power buttons, 2 = lock all buttons.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L206"},"def":{"name":"local_button_lock","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 2 : 0\ndo_send(Command::LocalButtonLock, val, 't', name: \"local_button_lock\")\n"}},{"html_id":"local_button_lock?(priority:Int32=0)-instance-method","name":"local_button_lock?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"local_button_lock?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::LocalButtonLock, 255, priority: priority, name: \"local_button_lock\" + \"_status\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/lg/displays/ls5.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L119"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n do_send(Command::ScreenMute, state ? 1 : 0, name: \"mute_video\")\nend\nif (layer.audio? || layer.audio_video?) && ((self[:audio_mute]?.try(&.as_bool)) != state)\n do_send(Command::VolumeMute, state ? 0 : 1, name: \"mute_audio\")\nend\nstate\n"}},{"html_id":"no_signal_off(state:Bool=false)-instance-method","name":"no_signal_off","abstract":false,"args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = false)","args_html":"(state : Bool = false)","location":{"filename":"src/lg/displays/ls5.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L199"},"def":{"name":"no_signal_off","args":[{"name":"state","default_value":"false","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ncommand = build_command(Command::NoSignalOff, val, 'f')\nsend(command, name: \"no_signal_off\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"no_signal_off?(priority:Int32=0)-instance-method","name":"no_signal_off?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"no_signal_off?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::NoSignalOff, 255, priority: priority, name: \"no_signal_off\" + \"_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 150.milliseconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@rs232 = setting(Bool, :rs232_control)\n@id_num = setting(Int32, :display_id)\n@id = @id_num.to_s.rjust(2, '0')\n"}},{"html_id":"pm_mode(mode:Int32=3)-instance-method","name":"pm_mode","abstract":false,"args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"args_string":"(mode : Int32 = 3)","args_html":"(mode : Int32 = 3)","location":{"filename":"src/lg/displays/ls5.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L194"},"def":{"name":"pm_mode","args":[{"name":"mode","default_value":"3","external_name":"mode","restriction":"Int32"}],"visibility":"Public","body":"command = build_command(Command::PmMode, mode, 's')\nsend(command, name: \"pm_mode\") do |data, task|\n process_response(data, task)\nend\n"}},{"html_id":"pm_mode?(priority:Int32=0)-instance-method","name":"pm_mode?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"pm_mode?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::PmMode, 255, priority: priority, name: \"pm_mode\" + \"_status\")"}},{"html_id":"power(state:Bool,broadcast:String|Nil=nil)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(state : Bool, broadcast : String | Nil = nil)","args_html":"(state : Bool, broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L98"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if state\n if @rs232\n do_send(Command::Power, 1, name: \"power\", priority: 99)\n else\n wake(broadcast || @last_broadcast)\n end\nend\nif @connected\n mute(!state)\nend\n"}},{"html_id":"power?(priority:Int32=0)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Power, 255, priority: priority, name: \"power\" + \"_status\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lg/displays/ls5.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L253"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"if (resp_value = get_response_value(data)) == -1\n return task.try(&.abort)\nend\ncommand = Command.from_value(data[0])\nlogger.debug do\n \"Received command #{command}\"\nend\ncase command\nwhen .power?\n self[:hard_power] = resp_value == 1\n if self[:hard_power].as_bool\n else\n self[:power] = false\n end\nwhen .input?\n self[:input] = Input.from_value(resp_value)\nwhen .aspect_ratio?\n self[:aspect_ratio] = Ratio.from_value(resp_value)\nwhen .screen_mute?\n self[:power] = resp_value == 0\nwhen .volume_mute?\n self[:audio_mute] = resp_value == 0\nwhen .contrast?, .brightness?, .sharpness?, .volume?\n self[command.to_s.underscore] = resp_value\nwhen .wake_on_lan?, .auto_off?\n self[command.to_s.underscore] = resp_value == 1\nwhen .local_button_lock?\n self[:local_button_lock] = resp_value == 2\nelse\n return task.try(&.retry)\nend\ntask.try(&.success)\n"}},{"html_id":"screen_mute?(priority:Int32=0)-instance-method","name":"screen_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"screen_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::ScreenMute, 255, priority: priority, name: \"screen_mute\" + \"_status\")"}},{"html_id":"sharpness(value:Float64|Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Sharpness, val, name: \"sharpness\")\n"}},{"html_id":"sharpness?(priority:Int32=0)-instance-method","name":"sharpness?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"sharpness?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Sharpness, 255, priority: priority, name: \"sharpness\" + \"_status\")"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/lg/displays/ls5.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L115"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Input, input.value, 'x', name: \"input\", delay: 2.seconds)"}},{"html_id":"volume(value:Float64|Int32)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"args_string":"(value : Float64 | Int32)","args_html":"(value : Float64 | Int32)","location":{"filename":"src/lg/displays/ls5.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L173"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Float64 | Int32"}],"visibility":"Public","body":"val = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, val, name: \"volume\")\n"}},{"html_id":"volume?(priority:Int32=0)-instance-method","name":"volume?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::Volume, 255, priority: priority, name: \"volume\" + \"_status\")"}},{"html_id":"volume_mute?(priority:Int32=0)-instance-method","name":"volume_mute?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"volume_mute?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::VolumeMute, 255, priority: priority, name: \"volume_mute\" + \"_status\")"}},{"html_id":"wake(broadcast:String|Nil=nil)-instance-method","name":"wake","abstract":false,"args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"args_string":"(broadcast : String | Nil = nil)","args_html":"(broadcast : String | Nil = nil)","location":{"filename":"src/lg/displays/ls5.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L221"},"def":{"name":"wake","args":[{"name":"broadcast","default_value":"nil","external_name":"broadcast","restriction":"String | ::Nil"}],"visibility":"Public","body":"if mac = setting?(String, :mac_address)\n wake_device(mac, broadcast)\n logger.debug do\n info = \"Wake on Lan for MAC #{mac}\"\n if b = broadcast\n info = info + \" directed to VLAN #{b}\"\n end\n info\n end\nelse\n logger.warn do\n \"No MAC address provided\"\n end\nend"}},{"html_id":"wake_on_lan(state:Bool=true)-instance-method","name":"wake_on_lan","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/lg/displays/ls5.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L216"},"def":{"name":"wake_on_lan","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? 1 : 0\ndo_send(Command::WakeOnLan, val, 'f', name: \"enable_wake_on_lan\")\n"}},{"html_id":"wake_on_lan?(priority:Int32=0)-instance-method","name":"wake_on_lan?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lg/displays/ls5.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L91"},"def":{"name":"wake_on_lan?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"do_send(Command::WakeOnLan, 255, priority: priority, name: \"wake_on_lan\" + \"_status\")"}}],"types":[{"html_id":"drivers/Lg/Displays/Ls5/Command","path":"Lg/Displays/Ls5/Command.html","kind":"enum","full_name":"Lg::Displays::Ls5::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L75"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"97"},{"id":"Input","name":"Input","value":"98"},{"id":"AspectRatio","name":"AspectRatio","value":"99"},{"id":"ScreenMute","name":"ScreenMute","value":"100"},{"id":"VolumeMute","name":"VolumeMute","value":"101"},{"id":"Volume","name":"Volume","value":"102"},{"id":"Contrast","name":"Contrast","value":"103"},{"id":"Brightness","name":"Brightness","value":"104"},{"id":"Sharpness","name":"Sharpness","value":"107"},{"id":"AutoOff","name":"AutoOff","value":"110"},{"id":"LocalButtonLock","name":"LocalButtonLock","value":"111"},{"id":"WakeOnLan","name":"WakeOnLan","value":"119"},{"id":"NoSignalOff","name":"NoSignalOff","value":"103"},{"id":"PmMode","name":"PmMode","value":"110"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"aspect_ratio?-instance-method","name":"aspect_ratio?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L78"},"def":{"name":"aspect_ratio?","visibility":"Public","body":"self == AspectRatio"}},{"html_id":"auto_off?-instance-method","name":"auto_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L85"},"def":{"name":"auto_off?","visibility":"Public","body":"self == AutoOff"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L83"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L82"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"local_button_lock?-instance-method","name":"local_button_lock?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L86"},"def":{"name":"local_button_lock?","visibility":"Public","body":"self == LocalButtonLock"}},{"html_id":"no_signal_off?-instance-method","name":"no_signal_off?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L88"},"def":{"name":"no_signal_off?","visibility":"Public","body":"self == NoSignalOff"}},{"html_id":"pm_mode?-instance-method","name":"pm_mode?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L89"},"def":{"name":"pm_mode?","visibility":"Public","body":"self == PmMode"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L76"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"screen_mute?-instance-method","name":"screen_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L79"},"def":{"name":"screen_mute?","visibility":"Public","body":"self == ScreenMute"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L84"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L81"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"volume_mute?-instance-method","name":"volume_mute?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L80"},"def":{"name":"volume_mute?","visibility":"Public","body":"self == VolumeMute"}},{"html_id":"wake_on_lan?-instance-method","name":"wake_on_lan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L87"},"def":{"name":"wake_on_lan?","visibility":"Public","body":"self == WakeOnLan"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Input","path":"Lg/Displays/Ls5/Input.html","kind":"enum","full_name":"Lg::Displays::Ls5::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Dvi","name":"Dvi","value":"112"},{"id":"Hdmi","name":"Hdmi","value":"160"},{"id":"HdmiDtv","name":"HdmiDtv","value":"144"},{"id":"Hdmi2","name":"Hdmi2","value":"161"},{"id":"Hdmi2Dtv","name":"Hdmi2Dtv","value":"145"},{"id":"DisplayPort","name":"DisplayPort","value":"208"},{"id":"DisplayPortDtv","name":"DisplayPortDtv","value":"192"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L16"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"display_port_dtv?-instance-method","name":"display_port_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L17"},"def":{"name":"display_port_dtv?","visibility":"Public","body":"self == DisplayPortDtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L14"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_dtv?-instance-method","name":"hdmi2_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L15"},"def":{"name":"hdmi2_dtv?","visibility":"Public","body":"self == Hdmi2Dtv"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_dtv?-instance-method","name":"hdmi_dtv?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L13"},"def":{"name":"hdmi_dtv?","visibility":"Public","body":"self == HdmiDtv"}}]},{"html_id":"drivers/Lg/Displays/Ls5/Ratio","path":"Lg/Displays/Ls5/Ratio.html","kind":"enum","full_name":"Lg::Displays::Ls5::Ratio","name":"Ratio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lg/displays/ls5.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Square","name":"Square","value":"1"},{"id":"Wide","name":"Wide","value":"2"},{"id":"Zoom","name":"Zoom","value":"4"},{"id":"Scan","name":"Scan","value":"9"},{"id":"Program","name":"Program","value":"6"}],"namespace":{"html_id":"drivers/Lg/Displays/Ls5","kind":"class","full_name":"Lg::Displays::Ls5","name":"Ls5"},"instance_methods":[{"html_id":"program?-instance-method","name":"program?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L140"},"def":{"name":"program?","visibility":"Public","body":"self == Program"}},{"html_id":"scan?-instance-method","name":"scan?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L139"},"def":{"name":"scan?","visibility":"Public","body":"self == Scan"}},{"html_id":"square?-instance-method","name":"square?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L136"},"def":{"name":"square?","visibility":"Public","body":"self == Square"}},{"html_id":"wide?-instance-method","name":"wide?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L137"},"def":{"name":"wide?","visibility":"Public","body":"self == Wide"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/lg/displays/ls5.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lg/displays/ls5.cr#L138"},"def":{"name":"zoom?","visibility":"Public","body":"self == Zoom"}}]}]}]}]},{"html_id":"drivers/Lumens","path":"Lumens.html","kind":"module","full_name":"Lumens","name":"Lumens","abstract":false,"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Lumens/DC193","path":"Lumens/DC193.html","kind":"class","full_name":"Lumens::DC193","name":"DC193","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{193_u8 => :lamp, 176_u8 => :power, 183_u8 => :power_staus, 167_u8 => :picture_mode, 163_u8 => :auto_focus, 138_u8 => :max_zoom, 120_u8 => :frozen_status, 96_u8 => :zoom_staus, 81_u8 => :picture_mode_staus, 80_u8 => :lamp_staus, 44_u8 => :freeze, 31_u8 => :zoom_direct_auto_focus, 19_u8 => :zoom_direct, 17_u8 => :zoom, 16_u8 => :zoom_stop}"},{"id":"PICTURE_MODES","name":"PICTURE_MODES","value":"{:photo, :test, :greyscale}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"}],"namespace":{"html_id":"drivers/Lumens","kind":"module","full_name":"Lumens","name":"Lumens"},"instance_methods":[{"html_id":"auto_focus(name:String=\"auto_focus\")-instance-method","name":"auto_focus","abstract":false,"args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"args_string":"(name : String = \"auto_focus\")","args_html":"(name : String = "auto_focus")","location":{"filename":"src/lumens/dc193.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L107"},"def":{"name":"auto_focus","args":[{"name":"name","default_value":"\"auto_focus\"","external_name":"name","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nsend(Bytes[160, 163, 1, 0, 0, 175], name: name)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds) do\n query_status\nend\nquery_status\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L33"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"freeze(state:Bool)-instance-method","name":"freeze","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L117"},"def":{"name":"freeze","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 44, state, 0, 0, 175], name: :freeze)\n"}},{"html_id":"frozen?-instance-method","name":"frozen?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L122"},"def":{"name":"frozen?","visibility":"Public","body":"send(Bytes[160, 120, 0, 0, 0, 175], priority: 0)"}},{"html_id":"lamp(state:Bool,head_led:Bool=false)-instance-method","name":"lamp","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"args_string":"(state : Bool, head_led : Bool = false)","args_html":"(state : Bool, head_led : Bool = false)","location":{"filename":"src/lumens/dc193.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L59"},"def":{"name":"lamp","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"head_led","default_value":"false","external_name":"head_led","restriction":"Bool"}],"visibility":"Public","body":"if @frozen\n return false\nend\nlamps = if state && head_led\n 1_u8\nelse\n if state\n 2_u8\n else\n if head_led\n 3_u8\n else\n 0_u8\n end\n end\nend\nsend(Bytes[160, 193, lamps, 0, 0, 175], name: :lamp)\n"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L75"},"def":{"name":"lamp?","visibility":"Public","body":"send(Bytes[160, 80, 0, 0, 0, 175], priority: 0)"}},{"html_id":"max_zoom?-instance-method","name":"max_zoom?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L146"},"def":{"name":"max_zoom?","visibility":"Public","body":"send(Bytes[160, 138, 0, 0, 0, 175], priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(6)\n@zoom_range = 0..@zoom_max\n"}},{"html_id":"picture_mode(state:String)-instance-method","name":"picture_mode","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/lumens/dc193.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L126"},"def":{"name":"picture_mode","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"if @frozen\n return false\nend\nmode = case state.downcase\nwhen \"photo\"\n 0_u8\nwhen \"text\"\n 1_u8\nwhen \"greyscale\", \"grayscale\"\n 2_u8\nelse\n raise(ArgumentError.new(\"unknown picture mode #{state}\"))\nend\nsend(Bytes[160, 167, mode, 0, 0, 175], name: :picture_mode)\n"}},{"html_id":"picture_mode?-instance-method","name":"picture_mode?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L142"},"def":{"name":"picture_mode?","visibility":"Public","body":"send(Bytes[160, 81, 0, 0, 0, 175], priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lumens/dc193.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L48"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1_u8 : 0_u8\nsend(Bytes[160, 176, state, 0, 0, 175], name: :power)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L54"},"def":{"name":"power?","visibility":"Public","body":"send(Bytes[160, 183, 0, 0, 0, 175], priority: 0)"}},{"html_id":"query_status-instance-method","name":"query_status","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L37"},"def":{"name":"query_status","visibility":"Public","body":"if power?.get == \"true\"\n lamp?\n zoom?\n frozen?\n max_zoom?\n picture_mode?\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lumens/dc193.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L189"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Lumens sent: #{data.hexstring}\"\nend\nstatus = Status.from_value(data[4].to_i)\nself[:zooming] = status.zooming?\nself[:focusing] = status.focusing?\nself[:iris_adjusting] = status.iris?\nif status.error?\n return task.try(&.abort(\"bad request\"))\nend\nif status.ignored?\n return task.try(&.retry(\"device busy\"))\nend\nresult = case COMMANDS[data[1]]?\nwhen :power\n data[2] == 1_u8\nwhen :power_staus\n @ready = data[2] == 1_u8\n @power = data[3] == 1_u8\n logger.debug do\n \"System power: #{@power}, ready: #{@ready}\"\n end\n self[:ready] = @ready\n self[:power] = @power\nwhen :max_zoom\n @zoom_max = data[2].to_i + (data[3].to_i << 8)\n @zoom_range = 0..@zoom_max\n self[:zoom_range] = {min: 0, max: @zoom_max}\nwhen :frozen_status, :freeze\n self[:frozen] = @frozen = data[2] == 1_u8\nwhen :zoom_staus, :zoom_direct_auto_focus, :zoom_direct\n value = data[2].to_i + (data[3].to_i << 8)\n self[:zoom] = value.to_f * (100.0 / @zoom_max.to_f)\nwhen :picture_mode_staus, :picture_mode\n self[:picture_mode] = PICTURE_MODES[data[2].to_i]\nwhen :lamp_staus, :lamp\n case data[2]\n when 0_u8\n @head_led = @lamp = false\n when 1_u8\n @head_led = @lamp = true\n when 2_u8\n @head_led = false\n @lamp = true\n when 3_u8\n @head_led = true\n @lamp = false\n end\n self[:head_led] = @head_led\n self[:lamp] = @lamp\nwhen :auto_focus\nelse\n error = \"Unknown command #{data[1]}\"\n logger.debug do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success(result))\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=1)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 1)","args_html":"(direction : ZoomDirection, index : Int32 | String = 1)","location":{"filename":"src/lumens/dc193.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L90"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"1","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @frozen\n return false\nend\ncase direction\nwhen ZoomDirection::Stop\n send(Bytes[160, 16, 0, 0, 0, 175])\n zoom?(priority: queue.priority)\n auto_focus(name: \"zoom\")\nwhen ZoomDirection::In\n send(Bytes[160, 17, 0, 0, 0, 175], name: :zoom)\nwhen ZoomDirection::Out\n send(Bytes[160, 17, 1, 0, 0, 175], name: :zoom)\nend\n"}},{"html_id":"zoom?(priority:Int32=0)-instance-method","name":"zoom?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L113"},"def":{"name":"zoom?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(Bytes[160, 96, 0, 0, 0, 175], priority: priority)"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/lumens/dc193.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L79"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nposition = (percentage * @zoom_max.to_f).to_i\nlow = (position & 255).to_u8\nhigh = ((position >> 8) & 255).to_u8\nauto_focus = auto_focus ? 31_u8 : 19_u8\nsend(Bytes[160, auto_focus, low, high, 0, 175], name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Lumens/DC193/Status","path":"Lumens/DC193/Status.html","kind":"enum","full_name":"Lumens::DC193::Status","name":"Status","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L151"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Error","name":"Error","value":"1"},{"id":"Ignored","name":"Ignored","value":"2"},{"id":"Reserved1","name":"Reserved1","value":"4"},{"id":"Reserved2","name":"Reserved2","value":"8"},{"id":"Focusing","name":"Focusing","value":"16"},{"id":"Zooming","name":"Zooming","value":"32"},{"id":"Iris","name":"Iris","value":"64"},{"id":"Reserved3","name":"Reserved3","value":"128"}],"namespace":{"html_id":"drivers/Lumens/DC193","kind":"class","full_name":"Lumens::DC193","name":"DC193"},"instance_methods":[{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L152"},"def":{"name":"error?","visibility":"Public","body":"self.includes?(Error)"}},{"html_id":"focusing?-instance-method","name":"focusing?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L156"},"def":{"name":"focusing?","visibility":"Public","body":"self.includes?(Focusing)"}},{"html_id":"ignored?-instance-method","name":"ignored?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L153"},"def":{"name":"ignored?","visibility":"Public","body":"self.includes?(Ignored)"}},{"html_id":"iris?-instance-method","name":"iris?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L158"},"def":{"name":"iris?","visibility":"Public","body":"self.includes?(Iris)"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L151"},"def":{"name":"none?","visibility":"Public","body":"value == 0"}},{"html_id":"reserved1?-instance-method","name":"reserved1?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L154"},"def":{"name":"reserved1?","visibility":"Public","body":"self.includes?(Reserved1)"}},{"html_id":"reserved2?-instance-method","name":"reserved2?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L155"},"def":{"name":"reserved2?","visibility":"Public","body":"self.includes?(Reserved2)"}},{"html_id":"reserved3?-instance-method","name":"reserved3?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L159"},"def":{"name":"reserved3?","visibility":"Public","body":"self.includes?(Reserved3)"}},{"html_id":"zooming?-instance-method","name":"zooming?","abstract":false,"location":{"filename":"src/lumens/dc193.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lumens/dc193.cr#L157"},"def":{"name":"zooming?","visibility":"Public","body":"self.includes?(Zooming)"}}]}]}]},{"html_id":"drivers/Lutron","path":"Lutron.html","kind":"module","full_name":"Lutron","name":"Lutron","abstract":false,"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L12"},{"filename":"src/lutron/vive_leap_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"macros":[{"html_id":"upper_enum(name)-macro","name":"upper_enum","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""}],"args_string":"(name)","args_html":"(name)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L4"},"def":{"name":"upper_enum","args":[{"name":"name","external_name":"name","restriction":""}],"visibility":"Public","body":" \n{% if name.type.resolve.nilable? %} @{{ name.var }} : String? {% else %} @{{ name.var }} : String {% end %}\n\n \n{% enum_type = name.type.resolve.union_types.reject(&.nilable?).first %}\n\n\n def \n{{ name.var }}\n : \n{{ name.type }}\n\n if value = @\n{{ name.var }}\n\n \n{{ enum_type }}\n.parse(value)\n \nelse\n nil\n \nend\n \nend\n\n def \n{{ name.var }}\n=(value : \n{{ name.type }}\n) : \n{{ name.type }}\n\n @\n{{ name.var }}\n = value.try &.to_s\n value\n \nend\n \n"}}],"types":[{"html_id":"drivers/Lutron/AreaStatus","path":"Lutron/AreaStatus.html","kind":"struct","full_name":"Lutron::AreaStatus","name":"AreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L117"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L118"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"href:String-instance-method","name":"href","doc":"/area/3/status","summary":"

/area/3/status

","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L121"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L124"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"occupancy:OccupancyStatus|Nil-instance-method","name":"occupancy","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy","return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"if value = @occupancy\n Lutron::OccupancyStatus.parse(value)\nelse\n nil\nend"}},{"html_id":"occupancy=(value:OccupancyStatus|Nil):OccupancyStatus|Nil-instance-method","name":"occupancy=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"args_string":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","args_html":"(value : OccupancyStatus | Nil) : OccupancyStatus | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L127"},"def":{"name":"occupancy=","args":[{"name":"value","external_name":"value","restriction":"OccupancyStatus | ::Nil"}],"return_type":"OccupancyStatus | ::Nil","visibility":"Public","body":"@occupancy = value.try(&.to_s)\nvalue\n"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L129"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, area_id, status = href.split(\"/\", 4)\n\"#{component}#{area_id}\"\n"}}]},{"html_id":"drivers/Lutron/Availability","path":"Lutron/Availability.html","kind":"enum","full_name":"Lutron::Availability","name":"Availability","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L159"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Available","name":"Available","value":"0"},{"id":"Unavailable","name":"Unavailable","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"available?-instance-method","name":"available?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L160"},"def":{"name":"available?","visibility":"Public","body":"self == Available"}},{"html_id":"unavailable?-instance-method","name":"unavailable?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L161"},"def":{"name":"unavailable?","visibility":"Public","body":"self == Unavailable"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L162"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]},{"html_id":"drivers/Lutron/ClientSetting","path":"Lutron/ClientSetting.html","kind":"struct","full_name":"Lutron::ClientSetting","name":"ClientSetting","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L73"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L74"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"protocol:ClientVersion-instance-method","name":"protocol","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L77"},"def":{"name":"protocol","return_type":"ClientVersion","visibility":"Public","body":"@protocol"}}]},{"html_id":"drivers/Lutron/ClientVersion","path":"Lutron/ClientVersion.html","kind":"struct","full_name":"Lutron::ClientVersion","name":"ClientVersion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L80"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L81"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"major_version:Int32-instance-method","name":"major_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L84"},"def":{"name":"major_version","return_type":"Int32","visibility":"Public","body":"@major_version"}},{"html_id":"minor_version:Int32-instance-method","name":"minor_version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L87"},"def":{"name":"minor_version","return_type":"Int32","visibility":"Public","body":"@minor_version"}},{"html_id":"version-instance-method","name":"version","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L89"},"def":{"name":"version","visibility":"Public","body":"\"#{major_version}.#{minor_version}.0\""}}]},{"html_id":"drivers/Lutron/CommuniqueType","path":"Lutron/CommuniqueType.html","kind":"enum","full_name":"Lutron::CommuniqueType","name":"CommuniqueType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"ReadRequest","name":"ReadRequest","value":"0"},{"id":"ReadResponse","name":"ReadResponse","value":"1"},{"id":"UpdateRequest","name":"UpdateRequest","value":"2"},{"id":"UpdateResponse","name":"UpdateResponse","value":"3"},{"id":"SubscribeRequest","name":"SubscribeRequest","value":"4"},{"id":"SubscribeResponse","name":"SubscribeResponse","value":"5"},{"id":"DeleteRequest","name":"DeleteRequest","value":"6"},{"id":"DeleteResponse","name":"DeleteResponse","value":"7"},{"id":"CreateRequest","name":"CreateRequest","value":"8"},{"id":"CreateResponse","name":"CreateResponse","value":"9"},{"id":"UnsubscribeRequest","name":"UnsubscribeRequest","value":"10"},{"id":"UnsubscribeResponse","name":"UnsubscribeResponse","value":"11"},{"id":"ExceptionResponse","name":"ExceptionResponse","value":"12"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"create_request?-instance-method","name":"create_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L31"},"def":{"name":"create_request?","visibility":"Public","body":"self == CreateRequest"}},{"html_id":"create_response?-instance-method","name":"create_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L32"},"def":{"name":"create_response?","visibility":"Public","body":"self == CreateResponse"}},{"html_id":"delete_request?-instance-method","name":"delete_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L29"},"def":{"name":"delete_request?","visibility":"Public","body":"self == DeleteRequest"}},{"html_id":"delete_response?-instance-method","name":"delete_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L30"},"def":{"name":"delete_response?","visibility":"Public","body":"self == DeleteResponse"}},{"html_id":"exception_response?-instance-method","name":"exception_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L35"},"def":{"name":"exception_response?","visibility":"Public","body":"self == ExceptionResponse"}},{"html_id":"read_request?-instance-method","name":"read_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L23"},"def":{"name":"read_request?","visibility":"Public","body":"self == ReadRequest"}},{"html_id":"read_response?-instance-method","name":"read_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L24"},"def":{"name":"read_response?","visibility":"Public","body":"self == ReadResponse"}},{"html_id":"subscribe_request?-instance-method","name":"subscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L27"},"def":{"name":"subscribe_request?","visibility":"Public","body":"self == SubscribeRequest"}},{"html_id":"subscribe_response?-instance-method","name":"subscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L28"},"def":{"name":"subscribe_response?","visibility":"Public","body":"self == SubscribeResponse"}},{"html_id":"unsubscribe_request?-instance-method","name":"unsubscribe_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L33"},"def":{"name":"unsubscribe_request?","visibility":"Public","body":"self == UnsubscribeRequest"}},{"html_id":"unsubscribe_response?-instance-method","name":"unsubscribe_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L34"},"def":{"name":"unsubscribe_response?","visibility":"Public","body":"self == UnsubscribeResponse"}},{"html_id":"update_request?-instance-method","name":"update_request?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L25"},"def":{"name":"update_request?","visibility":"Public","body":"self == UpdateRequest"}},{"html_id":"update_response?-instance-method","name":"update_response?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L26"},"def":{"name":"update_response?","visibility":"Public","body":"self == UpdateResponse"}}]},{"html_id":"drivers/Lutron/ContactClosureState","path":"Lutron/ContactClosureState.html","kind":"enum","full_name":"Lutron::ContactClosureState","name":"ContactClosureState","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L154"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Open","name":"Open","value":"0"},{"id":"Closed","name":"Closed","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"closed?-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L156"},"def":{"name":"closed?","visibility":"Public","body":"self == Closed"}},{"html_id":"open?-instance-method","name":"open?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L155"},"def":{"name":"open?","visibility":"Public","body":"self == Open"}}]},{"html_id":"drivers/Lutron/ExceptionDetail","path":"Lutron/ExceptionDetail.html","kind":"struct","full_name":"Lutron::ExceptionDetail","name":"ExceptionDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L94"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L95"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error_code:Int32|Nil-instance-method","name":"error_code","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L101"},"def":{"name":"error_code","return_type":"Int32 | ::Nil","visibility":"Public","body":"@error_code"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L98"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/Lutron/Lighting","path":"Lutron/Lighting.html","kind":"class","full_name":"Lutron::Lighting","name":"Lighting","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/lighting.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Errors","name":"Errors","value":"{\"1\" => \"Parameter count mismatch\", \"2\" => \"Object does not exist\", \"3\" => \"Invalid action number\", \"4\" => \"Parameter data out of range\", \"5\" => \"Parameter data malformed\", \"6\" => \"Unsupported Command\"}"},{"id":"Occupancy","name":"Occupancy","value":"{\"1\" => \"unknown\", \"2\" => \"inactive\", \"3\" => \"occupied\", \"4\" => \"unoccupied\"}"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"blinds(device:String,action:String,component:String=\"shadegrp\")-instance-method","name":"blinds","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"args_string":"(device : String, action : String, component : String = \"shadegrp\")","args_html":"(device : String, action : String, component : String = "shadegrp")","location":{"filename":"src/lutron/lighting.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L77"},"def":{"name":"blinds","args":[{"name":"device","external_name":"device","restriction":"String"},{"name":"action","external_name":"action","restriction":"String"},{"name":"component","default_value":"\"shadegrp\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"case action.downcase\nwhen \"raise\", \"up\"\n send_cmd(component.upcase, device, 3)\nwhen \"lower\", \"down\"\n send_cmd(component.upcase, device, 2)\nwhen \"stop\"\n send_cmd(component.upcase, device, 4)\nend"}},{"html_id":"button_press(area:Int32,button:Int32)-instance-method","name":"button_press","doc":"===============\nDEVICE COMMANDS\n===============","summary":"

=============== DEVICE COMMANDS ===============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"args_string":"(area : Int32, button : Int32)","args_html":"(area : Int32, button : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L116"},"def":{"name":"button_press","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"button","external_name":"button","restriction":"Int32"}],"visibility":"Public","body":"send_cmd(\"DEVICE\", area, button, 3)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L35"},"def":{"name":"connected","visibility":"Public","body":"send(\"#{@login}\\r\\n\", priority: 9999)\nschedule.every(40.seconds) do\n logger.debug do\n \"-- Polling Lutron\"\n end\n scene?(1)\nend\n"}},{"html_id":"daylight(area:Int32,mode:Bool)-instance-method","name":"daylight","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"args_string":"(area : Int32, mode : Bool)","args_html":"(area : Int32, mode : Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L108"},"def":{"name":"daylight","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"mode","external_name":"mode","restriction":"Bool"}],"visibility":"Public","body":"val = mode ? 1 : 2\nsend_cmd(\"AREA\", area, 7, val)\n"}},{"html_id":"daylight_mode?(area:Int32)-instance-method","name":"daylight_mode?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L104"},"def":{"name":"daylight_mode?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 7)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L44"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"led(area:Int32,device:Int32,state:Int32|Bool)-instance-method","name":"led","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"args_string":"(area : Int32, device : Int32, state : Int32 | Bool)","args_html":"(area : Int32, device : Int32, state : Int32 | Bool)","location":{"filename":"src/lutron/lighting.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L120"},"def":{"name":"led","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Int32 | Bool"}],"visibility":"Public","body":"val = if state.is_a?(Int32)\n state\nelse\n state ? 1 : 0\nend\nsend_cmd(\"DEVICE\", area, device, 9, val)\n"}},{"html_id":"led?(area:Int32,device:Int32)-instance-method","name":"led?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"args_string":"(area : Int32, device : Int32)","args_html":"(area : Int32, device : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L130"},"def":{"name":"led?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"device","external_name":"device","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"DEVICE\", area, device, 9)"}},{"html_id":"level(device:Int32,level:Int32,rate:Int32=1000,component:String=\"output\")-instance-method","name":"level","doc":"dimmers, CCOs, or other devices in a system that have a controllable output","summary":"

dimmers, CCOs, or other devices in a system that have a controllable output

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"args_string":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = \"output\")","args_html":"(device : Int32, level : Int32, rate : Int32 = 1000, component : String = "output")","location":{"filename":"src/lutron/lighting.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L63"},"def":{"name":"level","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"rate","default_value":"1000","external_name":"rate","restriction":"Int32"},{"name":"component","default_value":"\"output\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"level = level.clamp(0, 100)\nseconds = rate / 1000\nmin = seconds / 60\nseconds = seconds - (min * 60)\ntime = \"#{min.to_s.rjust(2, '0')}:#{seconds.to_s.rjust(2, '0')}\"\nsend_cmd(component.upcase, device, 1, level, time)\n"}},{"html_id":"light_level(area:Int32,level:Int32,component:String|Nil=nil,fade:Int32=1000)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","args_html":"(area : Int32, level : Int32, component : String | Nil = nil, fade : Int32 = 1000)","location":{"filename":"src/lutron/lighting.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L141"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Int32"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"if component\n level(area, level, fade, component)\nelse\n level(area, level, fade, \"area\")\nend"}},{"html_id":"lighting(device:Int32,state:Bool,action:Int32=1)-instance-method","name":"lighting","doc":"on or off","summary":"

on or off

","abstract":false,"args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"args_string":"(device : Int32, state : Bool, action : Int32 = 1)","args_html":"(device : Int32, state : Bool, action : Int32 = 1)","location":{"filename":"src/lutron/lighting.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L53"},"def":{"name":"lighting","args":[{"name":"device","external_name":"device","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"action","default_value":"1","external_name":"action","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100 : 0\nlight_level(device, level)\n"}},{"html_id":"occupancy?(area:Int32)-instance-method","name":"occupancy?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"}],"args_string":"(area : Int32)","args_html":"(area : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L100"},"def":{"name":"occupancy?","args":[{"name":"area","external_name":"area","restriction":"Int32"}],"visibility":"Public","body":"send_query(\"AREA\", area, 8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 100.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@login = (setting?(String, :login)) || \"nwk\"\n@trigger_type = (setting?(String, :trigger)) || \"area\"\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/lighting.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nparts = data.split(\",\")\ncomponent = parts[0][1..-1].downcase\ncase component\nwhen \"area\", \"output\", \"shadegrp\"\n area = parts[1]\n action = parts[2].to_i\n param = parts[3]\n case action\n when 1\n self[\"#{component}#{area}_level\"] = param.to_f\n when 6\n self[\"#{component}#{area}\"] = param.to_i\n when 7\n self[\"#{component}#{area}_daylight\"] = param == \"1\"\n when 8\n self[\"#{component}#{area}_occupied\"] = Occupancy[param]\n end\nwhen \"device\"\n area = parts[1]\n device = parts[2]\n action = parts[3].to_i\n case action\n when 7\n self[\"device#{area}_#{device}\"] = parts[4].to_i\n when 9\n self[\"device#{area}_#{device}_led\"] = parts[4].to_i\n end\nwhen \"error\"\n error = \"error #{parts[1]}: #{Errors[parts[1]]}\"\n logger.warn do\n error\n end\n return task.try(&.abort(error))\nend\ntask.try(&.success)\n"}},{"html_id":"restart-instance-method","name":"restart","abstract":false,"location":{"filename":"src/lutron/lighting.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L48"},"def":{"name":"restart","visibility":"Public","body":"send_cmd(\"RESET\", 0)"}},{"html_id":"scene(area:Int32,scene:Int32,component:String=\"area\")-instance-method","name":"scene","doc":"=============\nAREA COMMANDS\n=============","summary":"

============= AREA COMMANDS =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, scene : Int32, component : String = \"area\")","args_html":"(area : Int32, scene : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L91"},"def":{"name":"scene","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"(send_cmd(component.upcase, area, 6, scene)).get\nscene?(area, component)\n"}},{"html_id":"scene?(area:Int32,component:String=\"area\")-instance-method","name":"scene?","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"args_string":"(area : Int32, component : String = \"area\")","args_html":"(area : Int32, component : String = "area")","location":{"filename":"src/lutron/lighting.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L96"},"def":{"name":"scene?","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"component","default_value":"\"area\"","external_name":"component","restriction":"String"}],"visibility":"Public","body":"send_query(component.upcase, area, 6)"}},{"html_id":"trigger(area:Int32,scene:Int32)-instance-method","name":"trigger","doc":"=============\nCOMPATIBILITY\n=============","summary":"

============= COMPATIBILITY =============

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32)","args_html":"(area : Int32, scene : Int32)","location":{"filename":"src/lutron/lighting.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/lighting.cr#L137"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"scene(area, scene, @trigger_type)"}}]},{"html_id":"drivers/Lutron/MultipleAreaStatus","path":"Lutron/MultipleAreaStatus.html","kind":"struct","full_name":"Lutron::MultipleAreaStatus","name":"MultipleAreaStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L104"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L105"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(AreaStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L108"},"def":{"name":"states","return_type":"Array(AreaStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/MultipleZoneStatus","path":"Lutron/MultipleZoneStatus.html","kind":"struct","full_name":"Lutron::MultipleZoneStatus","name":"MultipleZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L135"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"states:Array(ZoneStatus)-instance-method","name":"states","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L139"},"def":{"name":"states","return_type":"Array(ZoneStatus)","visibility":"Public","body":"@states"}}]},{"html_id":"drivers/Lutron/OccupancyStatus","path":"Lutron/OccupancyStatus.html","kind":"enum","full_name":"Lutron::OccupancyStatus","name":"OccupancyStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L111"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Occupied","name":"Occupied","value":"0"},{"id":"Unoccupied","name":"Unoccupied","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"occupied?-instance-method","name":"occupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L112"},"def":{"name":"occupied?","visibility":"Public","body":"self == Occupied"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L114"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}},{"html_id":"unoccupied?-instance-method","name":"unoccupied?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L113"},"def":{"name":"unoccupied?","visibility":"Public","body":"self == Unoccupied"}}]},{"html_id":"drivers/Lutron/OneZoneStatus","path":"Lutron/OneZoneStatus.html","kind":"struct","full_name":"Lutron::OneZoneStatus","name":"OneZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L142"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L143"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"status:ZoneStatus-instance-method","name":"status","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L146"},"def":{"name":"status","return_type":"ZoneStatus","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/Lutron/Quantum","path":"Lutron/Quantum.html","kind":"class","full_name":"Lutron::Quantum","name":"Quantum","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/quantum.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"level(id:Int32,level:String)-instance-method","name":"level","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(id : Int32, level : String)","args_html":"(id : Int32, level : String)","location":{"filename":"src/lutron/quantum.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L35"},"def":{"name":"level","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"client.zone.set_status_level(id: id, level: level)\nself[\"area#{id}_level\"] = level\n"}},{"html_id":"level?(id:Int32)-instance-method","name":"level?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L30"},"def":{"name":"level?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.zone.get_status(id)\nself[\"area#{id}_level\"] = status[\"Level\"]\n"}},{"html_id":"occupancy_status?(id:Int32)-instance-method","name":"occupancy_status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L50"},"def":{"name":"occupancy_status?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"occupancy_status = client.area.get_occupancy_status(id: id)\nself[\"area#{id}_occupancy\"] = occupancy_status\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = (URI.parse(config.uri.not_nil!)).host\napi_key = setting(String, :api_key)\ndevice_key = setting(String, :device_key)\n@client = Client.new(host_name: host_name.not_nil!, api_key: api_key, device_key: device_key)\n"}},{"html_id":"root-instance-method","name":"root","abstract":false,"location":{"filename":"src/lutron/quantum.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L61"},"def":{"name":"root","visibility":"Public","body":"client.area.root"}},{"html_id":"scene(id:Int32,scene:Int32)-instance-method","name":"scene","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"args_string":"(id : Int32, scene : Int32)","args_html":"(id : Int32, scene : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L40"},"def":{"name":"scene","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"}],"visibility":"Public","body":"client.area.set_scene(id: id, scene: scene)\nself[\"area#{id}\"] = scene\n"}},{"html_id":"scene?(id:Int32)-instance-method","name":"scene?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L45"},"def":{"name":"scene?","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"status = client.area.get_status(id: id)\nself[\"area#{id}\"] = status[\"CurrentScene\"]\n"}},{"html_id":"scenes(id:Int32)-instance-method","name":"scenes","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"}],"args_string":"(id : Int32)","args_html":"(id : Int32)","location":{"filename":"src/lutron/quantum.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L56"},"def":{"name":"scenes","args":[{"name":"id","external_name":"id","restriction":"Int32"}],"visibility":"Public","body":"client.area.get_scenes(id: id)"}}],"types":[{"html_id":"drivers/Lutron/Quantum/Client","path":"Lutron/Quantum/Client.html","kind":"alias","full_name":"Lutron::Quantum::Client","name":"Client","abstract":false,"locations":[{"filename":"src/lutron/quantum.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/quantum.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Quantum::Client","aliased_html":"Quantum::Client","const":false,"namespace":{"html_id":"drivers/Lutron/Quantum","kind":"class","full_name":"Lutron::Quantum","name":"Quantum"}}]},{"html_id":"drivers/Lutron/Request","path":"Lutron/Request.html","kind":"class","full_name":"Lutron::Request","name":"Request","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L39"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(url:String,req_type:CommuniqueType=CommuniqueType::ReadRequest,body=nil,header:Hash(String,String)={}ofString=>String)-class-method","name":"new","abstract":false,"args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"args_string":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","args_html":"(url : String, req_type : CommuniqueType = CommuniqueType::ReadRequest, body = nil, header : Hash(String, String) = {} of String => String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L56"},"def":{"name":"new","args":[{"name":"url","external_name":"url","restriction":"String"},{"name":"req_type","default_value":"CommuniqueType::ReadRequest","external_name":"req_type","restriction":"CommuniqueType"},{"name":"body","default_value":"nil","external_name":"body","restriction":""},{"name":"header","default_value":"{} of String => String","external_name":"header","restriction":"::Hash(::String, ::String)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(url, req_type, body, header)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(*args,**options)-instance-method","name":"[]=","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]=","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args] = **options"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@header[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L50"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@header.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"if (value = @body).nil?\n @body = (\"\")\nelse\n value\nend"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L48"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"header:Hash(String,String)-instance-method","name":"header","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header","return_type":"Hash(String, String)","visibility":"Public","body":"@header"}},{"html_id":"header=(header:Hash(String,String))-instance-method","name":"header=","abstract":false,"args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"args_string":"(header : Hash(String, String))","args_html":"(header : Hash(String, String))","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L45"},"def":{"name":"header=","args":[{"name":"header","external_name":"header","restriction":"Hash(String, String)"}],"visibility":"Public","body":"@header = header"}},{"html_id":"name?-instance-method","name":"name?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L52"},"def":{"name":"name?","visibility":"Public","body":"header[\"Url\"]?"}},{"html_id":"type:CommuniqueType-instance-method","name":"type","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type","return_type":"CommuniqueType","visibility":"Public","body":"if value = @type\n Lutron::CommuniqueType.parse(value)\nelse\n nil\nend"}},{"html_id":"type=(value:CommuniqueType):CommuniqueType-instance-method","name":"type=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"args_string":"(value : CommuniqueType) : CommuniqueType","args_html":"(value : CommuniqueType) : CommuniqueType","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L42"},"def":{"name":"type=","args":[{"name":"value","external_name":"value","restriction":"CommuniqueType"}],"return_type":"CommuniqueType","visibility":"Public","body":"@type = value.try(&.to_s)\nvalue\n"}}]},{"html_id":"drivers/Lutron/SwitchedLevel","path":"Lutron/SwitchedLevel.html","kind":"enum","full_name":"Lutron::SwitchedLevel","name":"SwitchedLevel","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L149"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"On","name":"On","value":"0"},{"id":"Off","name":"Off","value":"1"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"off?-instance-method","name":"off?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L151"},"def":{"name":"off?","visibility":"Public","body":"self == Off"}},{"html_id":"on?-instance-method","name":"on?","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L150"},"def":{"name":"on?","visibility":"Public","body":"self == On"}}]},{"html_id":"drivers/Lutron/ViveBacnet","path":"Lutron/ViveBacnet.html","kind":"class","full_name":"Lutron::ViveBacnet","name":"ViveBacnet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_bacnet.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"disable_occupancy(state:Bool)-instance-method","name":"disable_occupancy","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L83"},"def":{"name":"disable_occupancy","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 7, state)).get\nself[:occupancy_disabled] = state\n"}},{"html_id":"level(percentage:Float32)-instance-method","name":"level","abstract":false,"args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"args_string":"(percentage : Float32)","args_html":"(percentage : Float32)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L71"},"def":{"name":"level","args":[{"name":"percentage","external_name":"percentage","restriction":"Float32"}],"visibility":"Public","body":"if percentage < 0.0_f32\n percentage = 0.0_f32\nend\nif percentage > 100.0_f32\n percentage = 100.0_f32\nend\n(bacnet.write_real(@device_id, 2, percentage)).get\nself[:lighting_level] = percentage\n"}},{"html_id":"lighting(state:Bool)-instance-method","name":"lighting","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L78"},"def":{"name":"lighting","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(bacnet.write_binary(@device_id, 3, state)).get\nself[:lighting] = state\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_bacnet.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L27"},"def":{"name":"on_update","visibility":"Public","body":"@device_id = setting(UInt32, :device_id)\nsubscriptions.clear\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[2]\") do |_sub, value|\n self[:lighting_level] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[18]\") do |_sub, value|\n self[:power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.AnalogValue[19]\") do |_sub, value|\n self[:max_power_usage] = value.to_f\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[3]\") do |_sub, value|\n self[:lighting] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.BinaryValue[7]\") do |_sub, value|\n self[:occupancy_disabled] = value == \"1\"\nend\nsystem.subscribe(:BACnet, 1, \"#{@device_id}.MultiStateValue[8]\") do |_sub, value|\n @occupancy = case value\n when \"1\"\n false\n when \"2\"\n true\n else\n nil\n end\n self[:occupancy] = @occupancy\n self[:occupancy_sensor] = @occupancy.nil? ? nil : ( @occupancy ? 1.0 : 0.0)\n @last_updated = Time.utc.to_unix\nend\nschedule.clear\nschedule.every((4 + (rand(3))).seconds) do\n (bacnet.update_value(@device_id, 2, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 18, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 19, \"AnalogValue\")).get\n (bacnet.update_value(@device_id, 3, \"BinaryValue\")).get\n (bacnet.update_value(@device_id, 8, \"MultiStateValue\")).get\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L115"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id == \"occupancy\"\nelse\n return nil\nend\nif mac == @device_id.to_s\nelse\n return nil\nend\nif @last_updated == 0_i64\n return nil\nend\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_bacnet.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_bacnet.cr#L94"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != @device_id.to_s)\n return NO_MATCH\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\n[Interface::Sensor::Detail.new(type: SensorType::Presence, value: @occupancy ? 1.0 : 0.0, last_seen: @last_updated, mac: @device_id.to_s, id: \"occupancy\", name: \"#{system.name}: occupancy\", module_id: module_id, binding: \"occupancy_sensor\")]\n"}}]},{"html_id":"drivers/Lutron/ViveLeap","path":"Lutron/ViveLeap.html","kind":"class","full_name":"Lutron::ViveLeap","name":"ViveLeap","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"instance_methods":[{"html_id":"area_status?-instance-method","name":"area_status?","doc":"gets the status of all areas","summary":"

gets the status of all areas

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L85"},"def":{"name":"area_status?","visibility":"Public","body":"request = Request.new(\"/area/status\")\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"request = Request.new(\"/clientsetting\", :update_request, {ClientSetting: {ClientMajorVersion: 1}})\nsend(request.to_json, priority: 99, name: request.name?)\nschedule.every(1.minute) do\n ping\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"@sensors.clear\nschedule.clear\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n length, unpaired = 0, 0\n loop do\n case io.read_char\n when '{'\n unpaired = unpaired + 1\n when '}'\n unpaired = unpaired - 1\n when Nil\n break\n end\n length = length + 1\n if unpaired.zero?\n break\n end\n end\n unpaired.zero? && length > 0 ? length : -1\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L45"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L79"},"def":{"name":"ping","visibility":"Public","body":"request = Request.new(\"/server/status/ping\")\nsend(request.to_json, priority: 0, name: request.name?)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/lutron/vive_leap.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L142"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Lutron sent: #{data}\"\nend\nrequest = Request.from_json(data)\nurl = request[\"Url\"]?\nhttp_status = request[\"StatusCode\"]? || \"200 OK\"\nmessage_type = request[\"MessageBodyType\"]?\ncase message_type\nwhen \"OneClientSettingDefinition\"\n setting = ClientSetting.from_json(request.body)\n logger.debug do\n \"protocol version negotiated #{setting.protocol.version}, authenticating\"\n end\n authenticate\nwhen \"MultipleAreaStatus\"\n statuses = MultipleAreaStatus.from_json(request.body)\n timestamp = Time.utc.to_unix\n statuses.states.each do |status|\n base_key = status.status_key\n if status.level\n self[\"#{base_key}_level\"] = status.level\n end\n if status.occupancy\n self[\"#{base_key}_occupied\"] = status.occupancy\n @sensors[base_key] = {status.occupancy.try(&.occupied?) || false, timestamp}\n end\n end\nwhen \"MultipleZoneStatus\"\n statuses = MultipleZoneStatus.from_json(request.body)\n statuses.states.each do |status|\n set_zone(status)\n end\nwhen \"OneZoneStatus\"\n set_zone((OneZoneStatus.from_json(request.body)).status)\nwhen \"ExceptionDetail\"\n code, status = http_status.split(\" \", 2)\n details = ExceptionDetail.from_json(request.body)\n error_message = \"operation #{url} failed with #{code}: #{status}, #{details.message} [#{details.error_code}]\"\n logger.warn do\n error_message\n end\n if task && (task.name == url)\n task.abort(error_message)\n else\n return\n end\nwhen nil\n case url\n when \"/server/status/ping\"\n logger.debug do\n \"got ping response\"\n end\n end\nelse\n logger.debug do\n \"unknown message type #{message_type}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/lutron/vive_leap.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L233"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif mac == config.ip\nelse\n return nil\nend\nif id\nelse\n return nil\nend\nsensor_found = @sensors[id]?\nif sensor_found\nelse\n return nil\nend\npresence, timestamp = sensor_found\nInterface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: mac, id: id, name: \"#{system.name} #{id} occupancy\", module_id: module_id, binding: \"#{id}_occupied\")\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/lutron/vive_leap.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L213"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type && (type != \"Presence\")\n return NO_MATCH\nend\nif mac && (mac != config.ip)\n return NO_MATCH\nend\n@sensors.map do |area_id, __arg3|\n presence = __arg3[0]\n timestamp = __arg3[1]\n Interface::Sensor::Detail.new(type: SensorType::Presence, value: presence ? 1.0 : 0.0, last_seen: timestamp, mac: config.ip.not_nil!, id: area_id, name: \"#{system.name} #{area_id} occupancy\", module_id: module_id, binding: \"#{area_id}_occupied\")\nend\n"}},{"html_id":"zone_contact_closure(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_contact_closure","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L130"},"def":{"name":"zone_contact_closure","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToCCOLevel\", CCOLevelParameters: {CCOLevel: state ? \"Closed\" : \"Open\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_level(zone_id:String|Int32,level:Float64)-instance-method","name":"zone_level","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(zone_id : String | Int32, level : Float64)","args_html":"(zone_id : String | Int32, level : Float64)","location":{"filename":"src/lutron/vive_leap.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L106"},"def":{"name":"zone_level","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToDimmedLevel\", DimmedLevelParameters: {Level: level}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_lighting(zone_id:String|Int32,state:Bool)-instance-method","name":"zone_lighting","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(zone_id : String | Int32, state : Bool)","args_html":"(zone_id : String | Int32, state : Bool)","location":{"filename":"src/lutron/vive_leap.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L118"},"def":{"name":"zone_lighting","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String | Int32"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request = Request.new(\"/zone/#{zone_id}/commandprocessor\", :create_request, {Command: {CommandType: \"GoToSwitchedLevel\", SwitchedLevelParameters: {SwitchedLevel: state ? \"On\" : \"Off\"}}})\nsend(request.to_json, name: request.name?)\n"}},{"html_id":"zone_status?-instance-method","name":"zone_status?","doc":"get the status of all zones","summary":"

get the status of all zones

","abstract":false,"location":{"filename":"src/lutron/vive_leap.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap.cr#L96"},"def":{"name":"zone_status?","visibility":"Public","body":"request = Request.new(\"/zone/status\")\nsend(request.to_json, name: request.name?)\n"}}]},{"html_id":"drivers/Lutron/ZoneStatus","path":"Lutron/ZoneStatus.html","kind":"struct","full_name":"Lutron::ZoneStatus","name":"ZoneStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/lutron/vive_leap_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L165"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Lutron","kind":"module","full_name":"Lutron","name":"Lutron"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L166"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"availability:Availability|Nil-instance-method","name":"availability","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability","return_type":"Availability | ::Nil","visibility":"Public","body":"if value = @availability\n Lutron::Availability.parse(value)\nelse\n nil\nend"}},{"html_id":"availability=(value:Availability|Nil):Availability|Nil-instance-method","name":"availability=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"args_string":"(value : Availability | Nil) : Availability | Nil","args_html":"(value : Availability | Nil) : Availability | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L177"},"def":{"name":"availability=","args":[{"name":"value","external_name":"value","restriction":"Availability | ::Nil"}],"return_type":"Availability | ::Nil","visibility":"Public","body":"@availability = value.try(&.to_s)\nvalue\n"}},{"html_id":"contact_closure:ContactClosureState|Nil-instance-method","name":"contact_closure","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure","return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"if value = @contact_closure\n Lutron::ContactClosureState.parse(value)\nelse\n nil\nend"}},{"html_id":"contact_closure=(value:ContactClosureState|Nil):ContactClosureState|Nil-instance-method","name":"contact_closure=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"args_string":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","args_html":"(value : ContactClosureState | Nil) : ContactClosureState | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L180"},"def":{"name":"contact_closure=","args":[{"name":"value","external_name":"value","restriction":"ContactClosureState | ::Nil"}],"return_type":"ContactClosureState | ::Nil","visibility":"Public","body":"@contact_closure = value.try(&.to_s)\nvalue\n"}},{"html_id":"href:String-instance-method","name":"href","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L168"},"def":{"name":"href","return_type":"String","visibility":"Public","body":"@href"}},{"html_id":"level:Float64|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L171"},"def":{"name":"level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"status_key-instance-method","name":"status_key","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L182"},"def":{"name":"status_key","visibility":"Public","body":"_blank, component, zone_id, status = href.split(\"/\", 4)\n\"#{component}#{zone_id}\"\n"}},{"html_id":"switched_level:SwitchedLevel|Nil-instance-method","name":"switched_level","abstract":false,"location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level","return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"if value = @switched_level\n Lutron::SwitchedLevel.parse(value)\nelse\n nil\nend"}},{"html_id":"switched_level=(value:SwitchedLevel|Nil):SwitchedLevel|Nil-instance-method","name":"switched_level=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"args_string":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","args_html":"(value : SwitchedLevel | Nil) : SwitchedLevel | Nil","location":{"filename":"src/lutron/vive_leap_models.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/lutron/vive_leap_models.cr#L174"},"def":{"name":"switched_level=","args":[{"name":"value","external_name":"value","restriction":"SwitchedLevel | ::Nil"}],"return_type":"SwitchedLevel | ::Nil","visibility":"Public","body":"@switched_level = value.try(&.to_s)\nvalue\n"}}]}]},{"html_id":"drivers/Mailer","path":"Mailer.html","kind":"class","full_name":"Mailer","name":"Mailer","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"on_load-instance-method","name":"on_load","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"location":{"filename":"src/place/survey_mailer_spec.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L57"},"def":{"name":"on_load","visibility":"Public","body":"self[:sent] = 0"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L74"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"true"}},{"html_id":"send_template(to:String|Array(String),template:Tuple(String,String),args:TemplateItems,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_template","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), template : Tuple(String, String), args : TemplateItems, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L61"},"def":{"name":"send_template","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"template","external_name":"template","restriction":"Tuple(String, String)"},{"name":"args","external_name":"args","restriction":"TemplateItems"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"self[:sent] = self[:sent].as_i + 1"}}]},{"html_id":"drivers/MessageMedia","path":"MessageMedia.html","kind":"module","full_name":"MessageMedia","name":"MessageMedia","abstract":false,"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MessageMedia/SMS","path":"MessageMedia/SMS.html","kind":"class","full_name":"MessageMedia::SMS","name":"SMS","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/message_media/sms.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/MessageMedia","kind":"module","full_name":"MessageMedia","name":"MessageMedia"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/message_media/sms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":""}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/message_media/sms.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/message_media/sms.cr#L28"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nformat = format || \"SMS\"\nnumbers = phone_numbers.map do |number|\n payload = {:content => message, :destination_number => number, :format => format}\n if source\n payload[:source_number] = source.to_s\n payload[:source_number_type] = \"ALPHANUMERIC\"\n end\n payload\nend\nresponse = post(\"/v1/messages\", body: {messages: numbers}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\"})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nnil\n"}}]}]},{"html_id":"drivers/Microsoft","path":"Microsoft.html","kind":"module","full_name":"Microsoft","name":"Microsoft","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Microsoft/Coordinates","path":"Microsoft/Coordinates.html","kind":"class","full_name":"Microsoft::Coordinates","name":"Coordinates","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L18"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L21"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L24"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L27"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L30"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}}]},{"html_id":"drivers/Microsoft/FindMe","path":"Microsoft/FindMe.html","kind":"class","full_name":"Microsoft::FindMe","name":"FindMe","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"levels-instance-method","name":"levels","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L65"},"def":{"name":"levels","visibility":"Public","body":"data = make_request(\"GET\", \"/FindMeService/api/MeetingRooms/BuildingLevelsWithMeetingRooms\")\nlevels = Array(Microsoft::Level).from_json(data)\nbuildings = Hash(String, Array(String)).new do |hash, key|\n hash[key] = [] of String\nend\nlevels.each do |level|\n buildings[level.building] << level.name\nend\nbuildings\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@domain = (setting?(String, :domain)) || \"\"\n"}},{"html_id":"user_details(usernames:String|Array(String))-instance-method","name":"user_details","abstract":false,"args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"args_string":"(usernames : String | Array(String))","args_html":"(usernames : String | Array(String))","location":{"filename":"src/microsoft/find_me.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L75"},"def":{"name":"user_details","args":[{"name":"usernames","external_name":"usernames","restriction":"String | Array(String)"}],"visibility":"Public","body":"users = usernames.is_a?(String) ? [usernames] : usernames\ndata = make_request(\"GET\", \"/FindMeService/api/ObjectLocation/Users/#{users.join(\",\")}?getExtendedData=true\")\n(Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\nend\n"}},{"html_id":"users_on(building:String,level:String)-instance-method","name":"users_on","abstract":false,"args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"args_string":"(building : String, level : String)","args_html":"(building : String, level : String)","location":{"filename":"src/microsoft/find_me.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me.cr#L82"},"def":{"name":"users_on","args":[{"name":"building","external_name":"building","restriction":"String"},{"name":"level","external_name":"level","restriction":"String"}],"visibility":"Public","body":"uri = \"/FindMeService/api/ObjectLocation/Level/#{building}/#{level}\"\ndata = make_request(\"GET\", uri)\nbegin\n (Array(Microsoft::Location).from_json(data)).reject do |loc|\n {\"NoRecentData\", \"NoData\"}.includes?(loc.status)\n end\nrescue error\n logger.debug do\n \"failed to parse location data\\n#{data}\"\n end\n raise(error)\nend\n"}}]},{"html_id":"drivers/Microsoft/FindMeLocationService","path":"Microsoft/FindMeLocationService.html","kind":"class","full_name":"Microsoft::FindMeLocationService","name":"FindMeLocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L95"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nactive_users_raw = (findme.user_details(mac_address)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nif user_details = active_users[0]?\n {location: user_details.located_using == \"FixedLocation\" ? \"desk\" : \"wireless\", assigned_to: user_details.user_data.not_nil!.email_address || \"\", mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L110"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfindme_details = @floor_mappings[zone_id]?\nif findme_details\nelse\n return [] of Nil\nend\nfindme_building = findme_details[:building]\nfindme_level = findme_details[:level]\nactive_users_raw = (findme.users_on(findme_building, findme_level)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nlocations = active_users.compact_map do |loc|\n build_location_response(loc, zone_id, findme_building, findme_level, location)\nend\nlocations\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L53"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocations_raw = (findme.user_details(username)).get.to_json\nlocations = Array(Microsoft::Location).from_json(locations_raw)\nlocations = locations.compact_map do |location|\n coords = location.coordinates\n if coords\n else\n next\n end\n level = findme_building = findme_level = \"\"\n @floor_mappings.each do |zone, details|\n findme_building = details[:building]\n findme_level = details[:level]\n if (findme_building == coords.building) && (findme_level == coords.level)\n level = zone\n break\n end\n end\n if level.empty?\n next\n end\n build_location_response(location, level, findme_building, findme_level)\nend\nlocations\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L82"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nactive_users_raw = (findme.user_details(username || email)).get.to_json\nactive_users = Array(Microsoft::Location).from_json(active_users_raw)\nfound = [] of String\nif user_details = active_users[0]?\n found << user_details.username\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L37"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/microsoft/find_me_location_service.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_location_service.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@map_id_prefix = (setting?(String, :map_id_prefix)).presence || \"table-\"\n@building_zone = setting(String, :building_zone)\n@floor_mappings = setting(Hash(String, NamedTuple(building: String, level: String)), :floor_mappings)\n@zone_filter = @floor_mappings.keys\n@s2_level = (setting?(Int32, :s2_level)) || 21\n"}}]},{"html_id":"drivers/Microsoft/GPS","path":"Microsoft/GPS.html","kind":"class","full_name":"Microsoft::GPS","name":"GPS","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L33"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L34"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L37"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L40"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}}]},{"html_id":"drivers/Microsoft/GraphAPI","path":"Microsoft/GraphAPI.html","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/graph_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/graph_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"}},{"html_id":"drivers/Microsoft/Level","path":"Microsoft/Level.html","kind":"class","full_name":"Microsoft::Level","name":"Level","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L8"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"online:Int32-instance-method","name":"online","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L14"},"def":{"name":"online","return_type":"Int32","visibility":"Public","body":"@online"}}]},{"html_id":"drivers/Microsoft/Location","path":"Microsoft/Location.html","kind":"class","full_name":"Microsoft::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L62"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"doc":"Example Response:\n[{\"Alias\":\"dwatson\",\"LastUpdate\":\"2015-11-12T02:25:50.017Z\",\"Confidence\":100,\n \"Coordinates\":{\"Building\":\"SYDNEY\",\"Level\":\"2\",\"X\":76,\"Y\":29,\"LocationDescription\":\"2140\",\"MapByLocationId\":true},\n \"GPS\":{\"Latitude\":-33.796597429,\"Longitude\":151.1382508278,\"Accuracy\":0.0,\"LocationDescription\":null},\n \"LocationIdentifier\":null,\"Status\":\"Located\",\"LocatedUsing\":\"FixedLocation\",\"Type\":\"Person\",\"Comments\":null,\n \"ExtendedUserData\":{\"Alias\":\"dwatson\",\"DisplayName\":\"David Watson\",\"EmailAddress\":\"David.Watson@microsoft.com\",\"LyncSipAddress\":\"dwatson@microsoft.com\"}}]","summary":"

Example Response: [{"Alias":"dwatson","LastUpdate":"2015-11-12T02:25:50.017Z","Confidence":100, "Coordinates":{"Building":"SYDNEY","Level":"2","X":76,"Y":29,"LocationDescription":"2140","MapByLocationId":true}, "GPS":{"Latitude":-33.796597429,"Longitude":151.1382508278,"Accuracy":0.0,"LocationDescription":null}, "LocationIdentifier":null,"Status":"Located","LocatedUsing":"FixedLocation","Type":"Person","Comments":null, "ExtendedUserData":{"Alias":"dwatson","DisplayName":"David Watson","EmailAddress":"David.Watson@microsoft.com","LyncSipAddress":"dwatson@microsoft.com"}}]

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L63"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"confidence:Float64-instance-method","name":"confidence","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L85"},"def":{"name":"confidence","return_type":"Float64","visibility":"Public","body":"@confidence"}},{"html_id":"coordinates:Coordinates|Nil-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L88"},"def":{"name":"coordinates","return_type":"Coordinates | ::Nil","visibility":"Public","body":"@coordinates"}},{"html_id":"gps:GPS|Nil-instance-method","name":"gps","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L91"},"def":{"name":"gps","return_type":"GPS | ::Nil","visibility":"Public","body":"@gps"}},{"html_id":"last_update:Time-instance-method","name":"last_update","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L82"},"def":{"name":"last_update","return_type":"Time","visibility":"Public","body":"@last_update"}},{"html_id":"located_using:String|Nil-instance-method","name":"located_using","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L100"},"def":{"name":"located_using","return_type":"String | ::Nil","visibility":"Public","body":"@located_using"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L94"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L97"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L103"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"user_data:UserData|Nil-instance-method","name":"user_data","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L106"},"def":{"name":"user_data","return_type":"UserData | ::Nil","visibility":"Public","body":"@user_data"}},{"html_id":"username:String-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L76"},"def":{"name":"username","return_type":"String","visibility":"Public","body":"@username"}}],"types":[{"html_id":"drivers/Microsoft/Location/RFC3339Converter","path":"Microsoft/Location/RFC3339Converter.html","kind":"module","full_name":"Microsoft::Location::RFC3339Converter","name":"RFC3339Converter","abstract":false,"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L65"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Microsoft/Location","kind":"class","full_name":"Microsoft::Location","name":"Location"},"class_methods":[{"html_id":"from_json(value:JSON::PullParser):Time-class-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser) : Time","args_html":"(value : JSON::PullParser) : Time","location":{"filename":"src/microsoft/find_me_models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L66"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"return_type":"Time","visibility":"Public","body":"Time::Format::RFC_3339.parse(value.read_string)"}},{"html_id":"to_json(value:Time,json:JSON::Builder)-class-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value : Time, json : JSON::Builder)","args_html":"(value : Time, json : JSON::Builder)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L70"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":"Time"},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(Time::Format::RFC_3339.format(value, 1))"}}]}]},{"html_id":"drivers/Microsoft/UserData","path":"Microsoft/UserData.html","kind":"class","full_name":"Microsoft::UserData","name":"UserData","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/microsoft/find_me_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L43"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Microsoft","kind":"module","full_name":"Microsoft","name":"Microsoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/microsoft/find_me_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L44"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L50"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"email_address:String|Nil-instance-method","name":"email_address","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L53"},"def":{"name":"email_address","return_type":"String | ::Nil","visibility":"Public","body":"@email_address"}},{"html_id":"username:String|Nil-instance-method","name":"username","abstract":false,"location":{"filename":"src/microsoft/find_me_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/microsoft/find_me_models.cr#L47"},"def":{"name":"username","return_type":"String | ::Nil","visibility":"Public","body":"@username"}}]}]},{"html_id":"drivers/MuleSoft","path":"MuleSoft.html","kind":"module","full_name":"MuleSoft","name":"MuleSoft","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/MuleSoft/Booking","path":"MuleSoft/Booking.html","kind":"class","full_name":"MuleSoft::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L3"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"body:String-instance-method","name":"body","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L9"},"def":{"name":"body","return_type":"String","visibility":"Public","body":"@body"}},{"html_id":"body=(body:String)-instance-method","name":"body=","abstract":false,"args":[{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(body : String)","args_html":"(body : String)","location":{"filename":"src/mulesoft/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L9"},"def":{"name":"body=","args":[{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"@body = body"}},{"html_id":"event_end:Int64-instance-method","name":"event_end","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L18"},"def":{"name":"event_end","return_type":"Int64","visibility":"Public","body":"@event_end"}},{"html_id":"event_end=(event_end:Int64)-instance-method","name":"event_end=","abstract":false,"args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"args_string":"(event_end : Int64)","args_html":"(event_end : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L18"},"def":{"name":"event_end=","args":[{"name":"event_end","external_name":"event_end","restriction":"Int64"}],"visibility":"Public","body":"@event_end = event_end"}},{"html_id":"event_start:Int64-instance-method","name":"event_start","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L15"},"def":{"name":"event_start","return_type":"Int64","visibility":"Public","body":"@event_start"}},{"html_id":"event_start=(event_start:Int64)-instance-method","name":"event_start=","abstract":false,"args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"args_string":"(event_start : Int64)","args_html":"(event_start : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L15"},"def":{"name":"event_start=","args":[{"name":"event_start","external_name":"event_start","restriction":"Int64"}],"visibility":"Public","body":"@event_start = event_start"}},{"html_id":"location:String-instance-method","name":"location","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L20"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String)","args_html":"(location : String)","location":{"filename":"src/mulesoft/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L20"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String"}],"visibility":"Public","body":"@location = location"}},{"html_id":"recurring_master_id:String|Nil-instance-method","name":"recurring_master_id","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id","return_type":"String | ::Nil","visibility":"Public","body":"@recurring_master_id"}},{"html_id":"recurring_master_id=(recurring_master_id:String|Nil)-instance-method","name":"recurring_master_id=","abstract":false,"args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"args_string":"(recurring_master_id : String | Nil)","args_html":"(recurring_master_id : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L12"},"def":{"name":"recurring_master_id=","args":[{"name":"recurring_master_id","external_name":"recurring_master_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@recurring_master_id = recurring_master_id"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L6"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/mulesoft/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L6"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"to_placeos-instance-method","name":"to_placeos","doc":"we need this method to create an intermediary hash\notherwise when to_json is called all the field names revert to the MuleSoft ones","summary":"

we need this method to create an intermediary hash otherwise when to_json is called all the field names revert to the MuleSoft ones

","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L24"},"def":{"name":"to_placeos","visibility":"Public","body":"value = {\"title\" => @title, \"body\" => @body, \"recurring_master_id\" => @recurring_master_id, \"event_start\" => @event_start, \"event_end\" => @event_end, \"location\" => @location}"}}]},{"html_id":"drivers/MuleSoft/BookingResults","path":"MuleSoft/BookingResults.html","kind":"class","full_name":"MuleSoft::BookingResults","name":"BookingResults","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L36"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L37"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bookings:Array(Booking)-instance-method","name":"bookings","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L47"},"def":{"name":"bookings","return_type":"Array(Booking)","visibility":"Public","body":"@bookings"}},{"html_id":"bookings=(bookings:Array(Booking))-instance-method","name":"bookings=","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/mulesoft/models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L47"},"def":{"name":"bookings=","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"@bookings = bookings"}},{"html_id":"count:Int64-instance-method","name":"count","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L39"},"def":{"name":"count","return_type":"Int64","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int64)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int64"}],"args_string":"(count : Int64)","args_html":"(count : Int64)","location":{"filename":"src/mulesoft/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L39"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int64"}],"visibility":"Public","body":"@count = count"}},{"html_id":"venue_code:String-instance-method","name":"venue_code","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code","return_type":"String","visibility":"Public","body":"@venue_code"}},{"html_id":"venue_code=(venue_code:String)-instance-method","name":"venue_code=","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"args_string":"(venue_code : String)","args_html":"(venue_code : String)","location":{"filename":"src/mulesoft/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L42"},"def":{"name":"venue_code=","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"}],"visibility":"Public","body":"@venue_code = venue_code"}},{"html_id":"venue_name:String-instance-method","name":"venue_name","abstract":false,"location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name","return_type":"String","visibility":"Public","body":"@venue_name"}},{"html_id":"venue_name=(venue_name:String)-instance-method","name":"venue_name=","abstract":false,"args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"args_string":"(venue_name : String)","args_html":"(venue_name : String)","location":{"filename":"src/mulesoft/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L45"},"def":{"name":"venue_name=","args":[{"name":"venue_name","external_name":"venue_name","restriction":"String"}],"visibility":"Public","body":"@venue_name = venue_name"}}]},{"html_id":"drivers/MuleSoft/BookingsAPI","path":"MuleSoft/BookingsAPI.html","kind":"class","full_name":"MuleSoft::BookingsAPI","name":"BookingsAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/booking_api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"check_current_booking-instance-method","name":"check_current_booking","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L82"},"def":{"name":"check_current_booking","visibility":"Public","body":"now = Time.utc.to_unix\nprevious_booking = nil\ncurrent_booking = nil\nnext_booking = Int32::MAX\n@bookings.each_with_index do |event, index|\n starting = event.event_start\n if starting > now\n next_booking = index\n if index > 0\n previous_booking = index - 1\n end\n break\n end\n ending_unix = event.event_end\n if ending_unix < now\n next\n end\n if starting <= now && ending_unix > now\n current_booking = index\n if index > 0\n previous_booking = index - 1\n end\n next_booking = index + 1\n break\n end\nend\nif next_booking >= (@bookings.size - 1)\n next_booking = nil\nend\nself[:previous_booking] = previous_booking ? @bookings[previous_booking].to_placeos : nil\nself[:current_booking] = current_booking ? @bookings[current_booking].to_placeos : nil\nself[:next_booking] = next_booking ? @bookings[next_booking].to_placeos : nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/booking_api.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@running_a_spec = !(!(setting(Bool, :running_a_spec)))\n@username = setting(String, :username)\n@password = setting(String, :password)\n@basic_auth_enabled = !(!(setting?(Bool, :basic_auth_enabled)))\nlogger.debug do\n \"basic_auth_enabled is #{@basic_auth_enabled}\"\nend\n@base_path = setting(String, :base_path)\n@venue_code = setting(String, :venue_code)\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\ntime_zone = (setting?(String, :time_zone)).presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@ssl_auth_enabled = !(!(setting?(Bool, :ssl_auth_enabled)))\nif @ssl_auth_enabled\n save_ssl_credentials\nend\nlogger.debug do\n \"ssl_auth_enabled is #{@ssl_auth_enabled}\"\nend\nschedule.in((Random.rand(60)).seconds + (Random.rand(1000)).milliseconds) do\n poll_bookings\nend\ncron_string = (setting?(String, :polling_cron)).presence || \"*/30 7-20 * * *\"\nschedule.cron(cron_string, @time_zone) do\n poll_bookings(random_delay: true)\nend\n"}},{"html_id":"poll_bookings(random_delay:Bool=false)-instance-method","name":"poll_bookings","abstract":false,"args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"args_string":"(random_delay : Bool = false)","args_html":"(random_delay : Bool = false)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L67"},"def":{"name":"poll_bookings","args":[{"name":"random_delay","default_value":"false","external_name":"random_delay","restriction":"Bool"}],"visibility":"Public","body":"now = Time.local(@time_zone)\nfrom = now - 1.week\nto = now + 1.week\nlogger.debug do\n \"polling bookings #{@venue_code}, from #{from}, to #{to}, in #{@time_zone.name}\"\nend\nif random_delay\n logger.debug do\n \"random delay of <30seconds to reduce instantaneous Mulesoft API load\"\n end\n sleep(Random.rand(30.0))\nend\nquery_bookings(@venue_code, from, to)\ncheck_current_booking\n"}},{"html_id":"query_bookings_epoch(venue_code:String,starts_at:Int32,ends_at:Int32)-instance-method","name":"query_bookings_epoch","abstract":false,"args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"args_string":"(venue_code : String, starts_at : Int32, ends_at : Int32)","args_html":"(venue_code : String, starts_at : Int32, ends_at : Int32)","location":{"filename":"src/mulesoft/booking_api.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/booking_api.cr#L163"},"def":{"name":"query_bookings_epoch","args":[{"name":"venue_code","external_name":"venue_code","restriction":"String"},{"name":"starts_at","external_name":"starts_at","restriction":"Int32"},{"name":"ends_at","external_name":"ends_at","restriction":"Int32"}],"visibility":"Public","body":"query_bookings(venue_code, Time.unix(starts_at), Time.unix(ends_at))"}}]},{"html_id":"drivers/MuleSoft/CalendarExporter","path":"MuleSoft/CalendarExporter.html","kind":"class","full_name":"MuleSoft::CalendarExporter","name":"CalendarExporter","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/mulesoft/calendar_exporter.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"delete_all_events(past_days:Int32=14,future_days:Int32=14)-instance-method","name":"delete_all_events","abstract":false,"args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"args_string":"(past_days : Int32 = 14, future_days : Int32 = 14)","args_html":"(past_days : Int32 = 14, future_days : Int32 = 14)","location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L137"},"def":{"name":"delete_all_events","args":[{"name":"past_days","default_value":"14","external_name":"past_days","restriction":"Int32"},{"name":"future_days","default_value":"14","external_name":"future_days","restriction":"Int32"}],"visibility":"Public","body":"events = fetch_events(past_span: past_days.days, future_span: future_days.days)\nevent_ids = events.map do |e|\n e[\"id\"]\nend\nevent_ids.each do |event_id|\n calendar.delete_event(calendar_id: system.email.not_nil!, event_id: event_id)\nend\n\"Deleted #{event_ids.size} events\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"@just_this_system = {email: system.email.not_nil!, name: system.name}\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\n@time_zone_string = (setting?(String, :calendar_time_zone)).presence\nif @time_zone_string\n @time_zone = Time::Location.load(@time_zone_string.not_nil!)\nend\nself[:timezone] = Time.local.to_s\nsubscription = system.subscribe(:Bookings_1, :bookings) do |_subscription, mulesoft_bookings|\n logger.debug do\n \"DETECTED changed in Mulesoft Bookings..\"\n end\n latest_bookings : Array(Hash(String, Int64 | String | Nil)) = [] of Hash(String, Int64 | String | Nil)\n latest_bookings = Array(Hash(String, Int64 | String | Nil)).from_json(mulesoft_bookings)\n logger.debug do\n \"#{latest_bookings.size} bookings in total\"\n end\n removed_bookings = @bookings - latest_bookings\n now = Time.utc.to_unix\n deleted_bookings = removed_bookings.reject do |b|\n b[\"event_end\"].not_nil!.to_i64 < now\n end\n update_events\n deleted_bookings.each do |b|\n delete_matching_event(b)\n end\n @bookings = latest_bookings\n @bookings.each do |b|\n export_booking(b)\n end\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L63"},"def":{"name":"status","visibility":"Public","body":"{bookings: @bookings, events: @existing_events, deleted_events: @deleted_events}"}},{"html_id":"update_events-instance-method","name":"update_events","abstract":false,"location":{"filename":"src/mulesoft/calendar_exporter.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/calendar_exporter.cr#L71"},"def":{"name":"update_events","visibility":"Public","body":"logger.debug do\n \"FETCHING existing Calendar events...\"\nend\n@existing_events = fetch_events()\nlogger.debug do\n \"#{@existing_events.size} events in total\"\nend\n"}}]},{"html_id":"drivers/MuleSoft/DateTimeConvertor","path":"MuleSoft/DateTimeConvertor.html","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor","abstract":false,"locations":[{"filename":"src/mulesoft/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/MuleSoft/DateTimeConvertor","kind":"module","full_name":"MuleSoft::DateTimeConvertor","name":"DateTimeConvertor"}],"namespace":{"html_id":"drivers/MuleSoft","kind":"module","full_name":"MuleSoft","name":"MuleSoft"},"instance_methods":[{"html_id":"from_json(pull:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/mulesoft/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L57"},"def":{"name":"from_json","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(Time.parse(pull.read_string, \"%FT%T\", Time::Location.local)).to_unix"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/mulesoft/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/mulesoft/models.cr#L53"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string((Time.unix(value)).to_local.to_s(\"%FT%T\"))"}}]}]},{"html_id":"drivers/Nec","path":"Nec.html","kind":"module","full_name":"Nec","name":"Nec","abstract":false,"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Nec/Display","path":"Nec/Display.html","kind":"class","full_name":"Nec::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"13_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"audio_input(priority:Int32=0)-instance-method","name":"audio_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"audio_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AudioInput), priority: priority, name: \"audio_input\")"}},{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L105"},"def":{"name":"auto_adjust","visibility":"Public","body":"data = MsgType::SetParameter.build(Command::AutoSetup, 1)\nsend(data, name: \"auto_adjust\")\n"}},{"html_id":"auto_setup(priority:Int32=0)-instance-method","name":"auto_setup","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"auto_setup","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::AutoSetup), priority: priority, name: \"auto_setup\")"}},{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L110"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::BrightnessStatus, val.clamp(0, 100))\nsend(data, name: \"brightness\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"brightness_status(priority:Int32=0)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::BrightnessStatus), priority: priority, name: \"brightness_status\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L45"},"def":{"name":"connected","visibility":"Public","body":"schedule.clear\nschedule.every(50.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/nec/display.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L116"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"data = MsgType::SetParameter.build(Command::ContrastStatus, val.clamp(0, 100))\nsend(data, name: \"contrast\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"contrast_status(priority:Int32=0)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::ContrastStatus), priority: priority, name: \"contrast_status\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L137"},"def":{"name":"do_poll","visibility":"Public","body":"current_power = power?(priority: 0)\nlogger.debug do\n \"Polling, power = #{current_power}\"\nend\nif current_power\n mute_status\n video_input\nend\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/nec/display.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L129"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"logger.debug do\n \"requested to update mute to #{state}\"\nend\ndata = MsgType::SetParameter.build(Command::MuteStatus, state ? 1 : 0)\nresp = send(data, name: \"mute_audio\")\nresp\n"}},{"html_id":"mute_status(priority:Int32=0)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::MuteStatus), priority: priority, name: \"mute_status\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L38"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 120.milliseconds\nqueue.timeout = 5.seconds\ntransport.tokenizer = Tokenizer.new(Bytes[DELIMITER])\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/display.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:power]? == state\n return\nend\nif state\n logger.debug do\n \"requested to power on\"\n end\n data = MsgType::Command.build(Command::SetPower, 1)\n send(data, name: \"power\", delay: 5.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n data = MsgType::Command.build(Command::SetPower, 4)\n send(data, name: \"power\", delay: 10.seconds, timeout: 10.seconds)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L73"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"data = MsgType::Command.build(Command::PowerQuery)\n(send(data, **options, name: \"power?\")).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerOnDelay), priority: priority, name: \"power_on_delay\")"}},{"html_id":"power_query(priority:Int32=0)-instance-method","name":"power_query","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"power_query","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::PowerQuery), priority: priority, name: \"power_query\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/display.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L147"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"NEC sent: 0x#{data.hexstring}\"\nend\nheader = data[0..6]\nmessage = data[7..-3]\nchecksum = data[-2]\nbegin\n case MsgType.from_value(header[4])\n when .command_reply?\n parse_command_reply(message)\n when .get_parameter_reply?, .set_parameter_reply?\n parse_response(message)\n else\n raise(\"unknown message type\")\n end\nrescue e\n logger.warn(exception: e) do\n \"processing response\"\n end\n task.try(&.abort(e.message))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save(priority:Int32=0)-instance-method","name":"save","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"save","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::Save), priority: priority, name: \"save\")"}},{"html_id":"set_power(priority:Int32=0)-instance-method","name":"set_power","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"set_power","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::SetPower), priority: priority, name: \"set_power\")"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/display.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L99"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch audio to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::AudioInput, input.value)\nsend(data, name: \"audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/display.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L79"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndata = MsgType::SetParameter.build(Command::VideoInput, input.value)\nsend(data, name: \"input\", delay: 6.seconds)\n"}},{"html_id":"video_input(priority:Int32=0)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VideoInput), priority: priority, name: \"video_input\")"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/nec/display.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L122"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\ndata = MsgType::SetParameter.build(Command::VolumeStatus, val)\nsend(data, name: \"volume\")\nsend(MsgType::Command.build(Command::Save), name: \"save\", priority: 0)\n"}},{"html_id":"volume_status(priority:Int32=0)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/nec/display.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L262"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"send(MsgType::GetParameter.build(Command::VolumeStatus), priority: priority, name: \"volume_status\")"}}],"types":[{"html_id":"drivers/Nec/Display/Audio","path":"Nec/Display/Audio.html","kind":"enum","full_name":"Nec::Display::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Audio1","name":"Audio1","value":"1"},{"id":"Audio2","name":"Audio2","value":"2"},{"id":"Audio3","name":"Audio3","value":"3"},{"id":"Hdmi","name":"Hdmi","value":"4"},{"id":"Tv","name":"Tv","value":"6"},{"id":"DisplayPort1","name":"DisplayPort1","value":"7"},{"id":"DisplayPort2","name":"DisplayPort2","value":"8"},{"id":"Hdmi2","name":"Hdmi2","value":"10"},{"id":"Hdmi3","name":"Hdmi3","value":"11"},{"id":"MultiPicture","name":"MultiPicture","value":"13"},{"id":"ComputeModule","name":"ComputeModule","value":"14"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio1?-instance-method","name":"audio1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L86"},"def":{"name":"audio1?","visibility":"Public","body":"self == Audio1"}},{"html_id":"audio2?-instance-method","name":"audio2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L87"},"def":{"name":"audio2?","visibility":"Public","body":"self == Audio2"}},{"html_id":"audio3?-instance-method","name":"audio3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L88"},"def":{"name":"audio3?","visibility":"Public","body":"self == Audio3"}},{"html_id":"compute_module?-instance-method","name":"compute_module?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L96"},"def":{"name":"compute_module?","visibility":"Public","body":"self == ComputeModule"}},{"html_id":"display_port1?-instance-method","name":"display_port1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L91"},"def":{"name":"display_port1?","visibility":"Public","body":"self == DisplayPort1"}},{"html_id":"display_port2?-instance-method","name":"display_port2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L92"},"def":{"name":"display_port2?","visibility":"Public","body":"self == DisplayPort2"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L93"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L94"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L89"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"multi_picture?-instance-method","name":"multi_picture?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L95"},"def":{"name":"multi_picture?","visibility":"Public","body":"self == MultiPicture"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L90"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}}]},{"html_id":"drivers/Nec/Display/Command","path":"Nec/Display/Command.html","kind":"enum","full_name":"Nec::Display::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L236"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VideoInput","name":"VideoInput","value":"96"},{"id":"AudioInput","name":"AudioInput","value":"558"},{"id":"VolumeStatus","name":"VolumeStatus","value":"98"},{"id":"MuteStatus","name":"MuteStatus","value":"141"},{"id":"PowerOnDelay","name":"PowerOnDelay","value":"728"},{"id":"ContrastStatus","name":"ContrastStatus","value":"18"},{"id":"BrightnessStatus","name":"BrightnessStatus","value":"16"},{"id":"AutoSetup","name":"AutoSetup","value":"30"},{"id":"PowerQuery","name":"PowerQuery","value":"470"},{"id":"Save","name":"Save","value":"12"},{"id":"SetPower","name":"SetPower","value":"12714966"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"audio_input?-instance-method","name":"audio_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L238"},"def":{"name":"audio_input?","visibility":"Public","body":"self == AudioInput"}},{"html_id":"auto_setup?-instance-method","name":"auto_setup?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L244"},"def":{"name":"auto_setup?","visibility":"Public","body":"self == AutoSetup"}},{"html_id":"brightness_status?-instance-method","name":"brightness_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L243"},"def":{"name":"brightness_status?","visibility":"Public","body":"self == BrightnessStatus"}},{"html_id":"contrast_status?-instance-method","name":"contrast_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L242"},"def":{"name":"contrast_status?","visibility":"Public","body":"self == ContrastStatus"}},{"html_id":"mute_status?-instance-method","name":"mute_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L240"},"def":{"name":"mute_status?","visibility":"Public","body":"self == MuteStatus"}},{"html_id":"power_on_delay?-instance-method","name":"power_on_delay?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L241"},"def":{"name":"power_on_delay?","visibility":"Public","body":"self == PowerOnDelay"}},{"html_id":"power_query?-instance-method","name":"power_query?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L245"},"def":{"name":"power_query?","visibility":"Public","body":"self == PowerQuery"}},{"html_id":"save?-instance-method","name":"save?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L246"},"def":{"name":"save?","visibility":"Public","body":"self == Save"}},{"html_id":"set_power?-instance-method","name":"set_power?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L247"},"def":{"name":"set_power?","visibility":"Public","body":"self == SetPower"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L249"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"case self\nwhen .save?\n length = 2\nwhen .set_power?\n length = 6\nelse\n length = 4\nend\n(value.to_s(16, upcase: true)).rjust(length, '0')\n"}},{"html_id":"video_input?-instance-method","name":"video_input?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L237"},"def":{"name":"video_input?","visibility":"Public","body":"self == VideoInput"}},{"html_id":"volume_status?-instance-method","name":"volume_status?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L239"},"def":{"name":"volume_status?","visibility":"Public","body":"self == VolumeStatus"}}]},{"html_id":"drivers/Nec/Display/Input","path":"Nec/Display/Input.html","kind":"enum","full_name":"Nec::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"1"},{"id":"Rgbhv","name":"Rgbhv","value":"2"},{"id":"Dvi","name":"Dvi","value":"3"},{"id":"HdmiSet","name":"HdmiSet","value":"4"},{"id":"Video1","name":"Video1","value":"5"},{"id":"Video2","name":"Video2","value":"6"},{"id":"Svideo","name":"Svideo","value":"7"},{"id":"Tuner","name":"Tuner","value":"9"},{"id":"Tv","name":"Tv","value":"10"},{"id":"Dvd1","name":"Dvd1","value":"12"},{"id":"Option","name":"Option","value":"13"},{"id":"Dvd2","name":"Dvd2","value":"14"},{"id":"DisplayPort","name":"DisplayPort","value":"15"},{"id":"Hdmi","name":"Hdmi","value":"17"},{"id":"Hdmi2","name":"Hdmi2","value":"18"},{"id":"Hdmi3","name":"Hdmi3","value":"130"},{"id":"Usb","name":"Usb","value":"135"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L23"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvd1?-instance-method","name":"dvd1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L20"},"def":{"name":"dvd1?","visibility":"Public","body":"self == Dvd1"}},{"html_id":"dvd2?-instance-method","name":"dvd2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L22"},"def":{"name":"dvd2?","visibility":"Public","body":"self == Dvd2"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L13"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L25"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L26"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L24"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_set?-instance-method","name":"hdmi_set?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L14"},"def":{"name":"hdmi_set?","visibility":"Public","body":"self == HdmiSet"}},{"html_id":"option?-instance-method","name":"option?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L21"},"def":{"name":"option?","visibility":"Public","body":"self == Option"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == Rgbhv"}},{"html_id":"svideo?-instance-method","name":"svideo?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L17"},"def":{"name":"svideo?","visibility":"Public","body":"self == Svideo"}},{"html_id":"tuner?-instance-method","name":"tuner?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L18"},"def":{"name":"tuner?","visibility":"Public","body":"self == Tuner"}},{"html_id":"tv?-instance-method","name":"tv?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L19"},"def":{"name":"tv?","visibility":"Public","body":"self == Tv"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L27"},"def":{"name":"usb?","visibility":"Public","body":"self == Usb"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"video1?-instance-method","name":"video1?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L15"},"def":{"name":"video1?","visibility":"Public","body":"self == Video1"}},{"html_id":"video2?-instance-method","name":"video2?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L16"},"def":{"name":"video2?","visibility":"Public","body":"self == Video2"}}]},{"html_id":"drivers/Nec/Display/MsgType","path":"Nec/Display/MsgType.html","kind":"enum","full_name":"Nec::Display::MsgType","name":"MsgType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/display.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L270"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"65_u8"},{"id":"CommandReply","name":"CommandReply","value":"66_u8"},{"id":"GetParameter","name":"GetParameter","value":"67_u8"},{"id":"GetParameterReply","name":"GetParameterReply","value":"68_u8"},{"id":"SetParameter","name":"SetParameter","value":"69_u8"},{"id":"SetParameterReply","name":"SetParameterReply","value":"70_u8"}],"namespace":{"html_id":"drivers/Nec/Display","kind":"class","full_name":"Nec::Display","name":"Display"},"doc":"Types of messages sent to and from the LCD","summary":"

Types of messages sent to and from the LCD

","instance_methods":[{"html_id":"build(command:Nec::Display::Command,data:Int|Nil=nil)-instance-method","name":"build","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"args_string":"(command : Nec::Display::Command, data : Int | Nil = nil)","args_html":"(command : Nec::Display::Command, data : Int | Nil = nil)","location":{"filename":"src/nec/display.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L278"},"def":{"name":"build","args":[{"name":"command","external_name":"command","restriction":"Nec::Display::Command"},{"name":"data","default_value":"nil","external_name":"data","restriction":"Int | ::Nil"}],"visibility":"Public","body":"command = command.to_s\nmessage = String.build do |str|\n str << \"0*0\"\n str.write_byte(self.value)\n message_length = command.size + 2\n if data\n message_length = message_length + 4\n end\n str << ((message_length.to_s(16, upcase: true)).rjust(2, '0'))\n str.write_byte(2)\n str << command\n if data\n str << ((data.to_s(16, upcase: true)).rjust(4, '0'))\n end\n str.write_byte(3)\nend\nString.build do |str|\n str.write_byte(1)\n str << message\n str.write_byte(message.each_byte.reduce do |a, b|\n a ^ b\n end)\n str.write_byte(DELIMITER)\nend\n"}},{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L271"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"command_reply?-instance-method","name":"command_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L272"},"def":{"name":"command_reply?","visibility":"Public","body":"self == CommandReply"}},{"html_id":"get_parameter?-instance-method","name":"get_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":273,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L273"},"def":{"name":"get_parameter?","visibility":"Public","body":"self == GetParameter"}},{"html_id":"get_parameter_reply?-instance-method","name":"get_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L274"},"def":{"name":"get_parameter_reply?","visibility":"Public","body":"self == GetParameterReply"}},{"html_id":"set_parameter?-instance-method","name":"set_parameter?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L275"},"def":{"name":"set_parameter?","visibility":"Public","body":"self == SetParameter"}},{"html_id":"set_parameter_reply?-instance-method","name":"set_parameter_reply?","abstract":false,"location":{"filename":"src/nec/display.cr","line_number":276,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/display.cr#L276"},"def":{"name":"set_parameter_reply?","visibility":"Public","body":"self == SetParameterReply"}}]}]},{"html_id":"drivers/Nec/Projector","path":"Nec/Projector.html","kind":"class","full_name":"Nec::Projector","name":"Projector","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMAND","name":"COMMAND","value":"{mute_picture: Bytes[2, 16, 0, 0, 0, 18], unmute_picture: Bytes[2, 17, 0, 0, 0, 19], mute_audio_cmd: Bytes[2, 18, 0, 0, 0, 20], unmute_audio_cmd: Bytes[2, 19, 0, 0, 0, 21], mute_onscreen: Bytes[2, 20, 0, 0, 0, 22], unmute_onscreen: Bytes[2, 21, 0, 0, 0, 23], freeze_picture: Bytes[1, 152, 0, 0, 1, 1], unfreeze_picture: Bytes[1, 152, 0, 0, 1, 2], \"lamp?\": Bytes[0, 129, 0, 0, 0, 129], \"input?\": Bytes[0, 133, 0, 0, 1, 2], \"mute?\": Bytes[0, 133, 0, 0, 1, 3], \"error?\": Bytes[0, 136, 0, 0, 0, 136], \"model?\": Bytes[0, 133, 0, 0, 1, 4], lamp_info: Bytes[3, 138, 0, 0, 0, 141], filter_info: Bytes[3, 138, 0, 0, 0, 141], projector_info: Bytes[3, 138, 0, 0, 0, 141], background_black: Bytes[3, 177, 0, 0, 2, 11, 1], background_blue: Bytes[3, 177, 0, 0, 2, 11, 0], background_logo: Bytes[3, 177, 0, 0, 2, 11, 2]}","doc":"Command Listing\nSecond byte used to detect command type","summary":"

Command Listing Second byte used to detect command type

"},{"id":"ERROR_CODES","name":"ERROR_CODES","value":"[{1 => \"Lamp cover error\", 2 => \"Temperature error (Bimetal)\", 8 => \"Fan Error\", 16 => \"Fan Error\", 32 => \"Power Error\", 64 => \"Lamp Error\", 128 => \"Lamp has reached its end of life\"}, {1 => \"Lamp has been used beyond its limit\", 2 => \"Formatter error\", 4 => \"Lamp no.2 Error\"}, {2 => \"FPGA error\", 4 => \"Temperature error (Sensor)\", 8 => \"Lamp housing error\", 16 => \"Lamp data error\", 32 => \"Mirror cover error\", 64 => \"Lamp no.2 has reached its end of life\", 128 => \"Lamp no.2 has been used beyond its limit\"}, {1 => \"Lamp no.2 housing error\", 2 => \"Lamp no.2 data error\", 4 => \"High temperature due to dust pile-up\", 8 => \"A foreign object sensor error\"}]","doc":"Provide all the error info required","summary":"

Provide all the error info required

"},{"id":"INPUT_MAP","name":"INPUT_MAP","value":"{1 => {1 => Input::VGA, 2 => Input::Composite, 3 => Input::SVideo, 6 => Input::HDMI, 7 => Input::Viewer, 33 => Input::HDMI, 34 => Input::DisplayPort}, 2 => {1 => Input::RGBHV, 4 => Input::Component2, 6 => Input::HDMI2, 7 => Input::LAN, 33 => Input::HDMI2}, 3 => {4 => Input::Component}}","doc":"NEC has different values for the input status when compared to input selection","summary":"

NEC has different values for the input status when compared to input selection

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Nec","kind":"module","full_name":"Nec","name":"Nec"},"instance_methods":[{"html_id":"background_black(**options)-instance-method","name":"background_black","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_black","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_black\"], **options, name: \"background_black\")"}},{"html_id":"background_blue(**options)-instance-method","name":"background_blue","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_blue","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_blue\"], **options, name: \"background_blue\")"}},{"html_id":"background_logo(**options)-instance-method","name":"background_logo","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"background_logo","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"background_logo\"], **options, name: \"background_logo\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(50.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L59"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear\nself[:power] = false\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L186"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?(priority: 0)\n background_black(priority: 0)\n lamp_info(priority: 0)\nend"}},{"html_id":"error?(**options)-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"error?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"error?\"], **options, name: \"error?\")"}},{"html_id":"filter_info(**options)-instance-method","name":"filter_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"filter_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"filter_info\"], **options, name: \"filter_info\")"}},{"html_id":"freeze_picture(**options)-instance-method","name":"freeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"freeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"freeze_picture\"], **options, name: \"freeze_picture\")"}},{"html_id":"input?(**options)-instance-method","name":"input?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"input?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"input?\"], **options, name: \"input?\")"}},{"html_id":"lamp?(**options)-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"lamp?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp?\"], **options, name: \"lamp?\")"}},{"html_id":"lamp_info(**options)-instance-method","name":"lamp_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"lamp_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"lamp_info\"], **options, name: \"lamp_info\")"}},{"html_id":"model?(**options)-instance-method","name":"model?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"model?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"model?\"], **options, name: \"model?\")"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/nec/np_series.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L118"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n if state\n mute_picture\n mute_onscreen\n else\n unmute_picture\n end\nend\nif layer.audio? || layer.audio_video?\n state ? mute_audio_cmd : unmute_audio_cmd\nend\n"}},{"html_id":"mute?(**options)-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute?\"], **options, name: \"mute?\")"}},{"html_id":"mute_audio_cmd(**options)-instance-method","name":"mute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_audio_cmd\"], **options, name: \"mute_audio_cmd\")"}},{"html_id":"mute_onscreen(**options)-instance-method","name":"mute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_onscreen\"], **options, name: \"mute_onscreen\")"}},{"html_id":"mute_picture(**options)-instance-method","name":"mute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"mute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"mute_picture\"], **options, name: \"mute_picture\")"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L41"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\nself[:error] = [] of String\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@power_target = nil\n@input_target = nil\n@volume_min = setting(Int32, :volume_min)\n@volume_max = setting(Int32, :volume_max)\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/nec/np_series.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L155"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n command = Bytes[2, 0, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 15.seconds, delay: 1.second)\nelse\n command = Bytes[2, 1, 0, 0, 0]\n do_send(command, name: \"power\", timeout: 60.seconds, delay: 30.seconds, clear_queue: true, priority: 100)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L175"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(COMMAND[:\"lamp?\"], **options, name: \"power?\")).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"projector_info(**options)-instance-method","name":"projector_info","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"projector_info","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"projector_info\"], **options, name: \"projector_info\")"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/nec/np_series.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L292"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(data, task)"}},{"html_id":"switch_audio(input:Audio)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Audio"}],"args_string":"(input : Audio)","args_html":"(input : Audio)","location":{"filename":"src/nec/np_series.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L149"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"Audio"}],"visibility":"Public","body":"command = Bytes[3, 177, 0, 0, 2, 192, input.value]\ndo_send(command, name: \"switch_audio\")\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/nec/np_series.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L180"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"@input_target = input\ncommand = Bytes[2, 3, 0, 0, 2, 1, input.value]\ndo_send(command, name: \"input\")\n"}},{"html_id":"unfreeze_picture(**options)-instance-method","name":"unfreeze_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unfreeze_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unfreeze_picture\"], **options, name: \"unfreeze_picture\")"}},{"html_id":"unmute_audio_cmd(**options)-instance-method","name":"unmute_audio_cmd","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_audio_cmd","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_audio_cmd\"], **options, name: \"unmute_audio_cmd\")"}},{"html_id":"unmute_onscreen(**options)-instance-method","name":"unmute_onscreen","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_onscreen","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_onscreen\"], **options, name: \"unmute_onscreen\")"}},{"html_id":"unmute_picture(**options)-instance-method","name":"unmute_picture","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L97"},"def":{"name":"unmute_picture","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(COMMAND[\"unmute_picture\"], **options, name: \"unmute_picture\")"}},{"html_id":"volume(vol:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"args_string":"(vol : Int32 | Float64)","args_html":"(vol : Int32 | Float64)","location":{"filename":"src/nec/np_series.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L103"},"def":{"name":"volume","args":[{"name":"vol","external_name":"vol","restriction":"Int32 | Float64"}],"visibility":"Public","body":"vol = vol.to_f.clamp(0.0, 100.0)\npercentage = vol / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ncommand = Bytes[3, 16, 0, 0, 5, 5, 0, 0, vol, 0]\ndo_send(command)\n"}}],"types":[{"html_id":"drivers/Nec/Projector/Audio","path":"Nec/Projector/Audio.html","kind":"enum","full_name":"Nec::Projector::Audio","name":"Audio","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L144"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"VGA","name":"VGA","value":"1"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L145"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L146"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]},{"html_id":"drivers/Nec/Projector/Input","path":"Nec/Projector/Input.html","kind":"enum","full_name":"Nec::Projector::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"VGA","name":"VGA","value":"1"},{"id":"RGBHV","name":"RGBHV","value":"2"},{"id":"Composite","name":"Composite","value":"6"},{"id":"SVideo","name":"SVideo","value":"11"},{"id":"Component","name":"Component","value":"16"},{"id":"Component2","name":"Component2","value":"17"},{"id":"HDMI","name":"HDMI","value":"26"},{"id":"HDMI2","name":"HDMI2","value":"27"},{"id":"DisplayPort","name":"DisplayPort","value":"166"},{"id":"LAN","name":"LAN","value":"32"},{"id":"Viewer","name":"Viewer","value":"31"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"instance_methods":[{"html_id":"component2?-instance-method","name":"component2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L16"},"def":{"name":"component2?","visibility":"Public","body":"self == Component2"}},{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L15"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L13"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L19"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L17"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"lan?-instance-method","name":"lan?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L20"},"def":{"name":"lan?","visibility":"Public","body":"self == LAN"}},{"html_id":"rgbhv?-instance-method","name":"rgbhv?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L12"},"def":{"name":"rgbhv?","visibility":"Public","body":"self == RGBHV"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L14"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L11"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}},{"html_id":"viewer?-instance-method","name":"viewer?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L21"},"def":{"name":"viewer?","visibility":"Public","body":"self == Viewer"}}]},{"html_id":"drivers/Nec/Projector/Response","path":"Nec/Projector/Response.html","kind":"enum","full_name":"Nec::Projector::Response","name":"Response","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/nec/np_series.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L209"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Power","name":"Power","value":"8321_u16"},{"id":"InputOrMuteQuery","name":"InputOrMuteQuery","value":"8325_u16"},{"id":"Error","name":"Error","value":"8328_u16"},{"id":"InputSwitch","name":"InputSwitch","value":"8707_u16"},{"id":"Lamp","name":"Lamp","value":"8704_u16"},{"id":"Lamp2","name":"Lamp2","value":"8705_u16"},{"id":"PictureMuteOn","name":"PictureMuteOn","value":"8720_u16"},{"id":"PictureMuteOff","name":"PictureMuteOff","value":"8721_u16"},{"id":"AudioMuteOn","name":"AudioMuteOn","value":"8722_u16"},{"id":"AudioMuteOff","name":"AudioMuteOff","value":"8723_u16"},{"id":"OnscreenMuteOn","name":"OnscreenMuteOn","value":"8724_u16"},{"id":"OnscreenMuteOff","name":"OnscreenMuteOff","value":"8725_u16"},{"id":"VolumeOrImageAdjust","name":"VolumeOrImageAdjust","value":"8976_u16"},{"id":"Info","name":"Info","value":"9098_u16"},{"id":"AudioSwitch","name":"AudioSwitch","value":"9137_u16"}],"namespace":{"html_id":"drivers/Nec/Projector","kind":"class","full_name":"Nec::Projector","name":"Projector"},"doc":"TODO: add responses for freeze commands if we need to process them","summary":"

TODO add responses for freeze commands if we need to process them

","class_methods":[{"html_id":"from_bytes?(response)-class-method","name":"from_bytes?","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""}],"args_string":"(response)","args_html":"(response)","location":{"filename":"src/nec/np_series.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L226"},"def":{"name":"from_bytes?","args":[{"name":"response","external_name":"response","restriction":""}],"visibility":"Public","body":"value = (IO::Memory.new(response[0..1])).read_bytes(UInt16, IO::ByteFormat::BigEndian)\nResponse.from_value?(value)\n"}}],"instance_methods":[{"html_id":"audio_mute_off?-instance-method","name":"audio_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L219"},"def":{"name":"audio_mute_off?","visibility":"Public","body":"self == AudioMuteOff"}},{"html_id":"audio_mute_on?-instance-method","name":"audio_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L218"},"def":{"name":"audio_mute_on?","visibility":"Public","body":"self == AudioMuteOn"}},{"html_id":"audio_switch?-instance-method","name":"audio_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L224"},"def":{"name":"audio_switch?","visibility":"Public","body":"self == AudioSwitch"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L212"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L223"},"def":{"name":"info?","visibility":"Public","body":"self == Info"}},{"html_id":"input_or_mute_query?-instance-method","name":"input_or_mute_query?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L211"},"def":{"name":"input_or_mute_query?","visibility":"Public","body":"self == InputOrMuteQuery"}},{"html_id":"input_switch?-instance-method","name":"input_switch?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L213"},"def":{"name":"input_switch?","visibility":"Public","body":"self == InputSwitch"}},{"html_id":"lamp2?-instance-method","name":"lamp2?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L215"},"def":{"name":"lamp2?","visibility":"Public","body":"self == Lamp2"}},{"html_id":"lamp?-instance-method","name":"lamp?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L214"},"def":{"name":"lamp?","visibility":"Public","body":"self == Lamp"}},{"html_id":"onscreen_mute_off?-instance-method","name":"onscreen_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L221"},"def":{"name":"onscreen_mute_off?","visibility":"Public","body":"self == OnscreenMuteOff"}},{"html_id":"onscreen_mute_on?-instance-method","name":"onscreen_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L220"},"def":{"name":"onscreen_mute_on?","visibility":"Public","body":"self == OnscreenMuteOn"}},{"html_id":"picture_mute_off?-instance-method","name":"picture_mute_off?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L217"},"def":{"name":"picture_mute_off?","visibility":"Public","body":"self == PictureMuteOff"}},{"html_id":"picture_mute_on?-instance-method","name":"picture_mute_on?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L216"},"def":{"name":"picture_mute_on?","visibility":"Public","body":"self == PictureMuteOn"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L210"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"volume_or_image_adjust?-instance-method","name":"volume_or_image_adjust?","abstract":false,"location":{"filename":"src/nec/np_series.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/nec/np_series.cr#L222"},"def":{"name":"volume_or_image_adjust?","visibility":"Public","body":"self == VolumeOrImageAdjust"}}]}]}]},{"html_id":"drivers/OfficeRnd","path":"OfficeRnd.html","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd","abstract":false,"locations":[{"filename":"src/office_rnd/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L4"},{"filename":"src/office_rnd/office_rnd_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"OfficeRnD Data Models","summary":"

OfficeRnD Data Models

","types":[{"html_id":"drivers/OfficeRnd/Booking","path":"OfficeRnd/Booking.html","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L66"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L88"},"def":{"name":"new","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(resource_id, booking_start, booking_end, summary, team_id, member_id, description, tentative, free)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L66"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_end:BookingTime-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L70"},"def":{"name":"booking_end","return_type":"BookingTime","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_start:BookingTime-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L68"},"def":{"name":"booking_start","return_type":"BookingTime","visibility":"Public","body":"@booking_start"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L82"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"extras:JSON::Any-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L86"},"def":{"name":"extras","return_type":"JSON::Any","visibility":"Public","body":"@extras"}},{"html_id":"fees:Array(OfficeRnd::BookingFee)-instance-method","name":"fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L85"},"def":{"name":"fees","return_type":"Array(::OfficeRnd::BookingFee)","visibility":"Public","body":"@fees"}},{"html_id":"free:Bool|Nil-instance-method","name":"free","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L84"},"def":{"name":"free","return_type":"Bool | ::Nil","visibility":"Public","body":"@free"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L81"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"overlaps?(time_span:Range(Time,Time))-instance-method","name":"overlaps?","abstract":false,"args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"args_string":"(time_span : Range(Time, Time))","args_html":"(time_span : Range(Time, Time))","location":{"filename":"src/office_rnd/models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L106"},"def":{"name":"overlaps?","args":[{"name":"time_span","external_name":"time_span","restriction":"Range(Time, Time)"}],"visibility":"Public","body":"starting, ending = booking_start.time, booking_end.time\nwithin = (time_span.includes?(starting)) || (time_span.includes?(ending))\ncovers = starting < time_span.begin && ending > time_span.end\nwithin || covers\n"}},{"html_id":"plan_id:String-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L77"},"def":{"name":"plan_id","return_type":"String","visibility":"Public","body":"@plan_id"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L75"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"source:String|Nil-instance-method","name":"source","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L72"},"def":{"name":"source","return_type":"String | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"summary:String|Nil-instance-method","name":"summary","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L73"},"def":{"name":"summary","return_type":"String | ::Nil","visibility":"Public","body":"@summary"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L79"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}},{"html_id":"tentative:Bool|Nil-instance-method","name":"tentative","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L83"},"def":{"name":"tentative","return_type":"Bool | ::Nil","visibility":"Public","body":"@tentative"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L71"},"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/BookingFee","path":"OfficeRnd/BookingFee.html","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L58"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"credits:Array(Credit)-instance-method","name":"credits","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L63"},"def":{"name":"credits","return_type":"Array(Credit)","visibility":"Public","body":"@credits"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L59"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"extra_fees:Array(JSON::Any|Nil)-instance-method","name":"extra_fees","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L62"},"def":{"name":"extra_fees","return_type":"Array(JSON::Any | ::Nil)","visibility":"Public","body":"@extra_fees"}},{"html_id":"fee:Fee|Nil-instance-method","name":"fee","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L60"},"def":{"name":"fee","return_type":"Fee | ::Nil","visibility":"Public","body":"@fee"}}]},{"html_id":"drivers/OfficeRnd/BookingTime","path":"OfficeRnd/BookingTime.html","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(time:Time)-class-method","name":"new","abstract":false,"args":[{"name":"time","external_name":"time","restriction":"Time"}],"args_string":"(time : Time)","args_html":"(time : Time)","location":{"filename":"src/office_rnd/models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L35"},"def":{"name":"new","args":[{"name":"time","external_name":"time","restriction":"Time"}],"visibility":"Public","body":"_ = allocate\n_.initialize(time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L33"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}}]},{"html_id":"drivers/OfficeRnd/Credit","path":"OfficeRnd/Credit.html","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L115"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L116"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"credit:String-instance-method","name":"credit","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L117"},"def":{"name":"credit","return_type":"String","visibility":"Public","body":"@credit"}}]},{"html_id":"drivers/OfficeRnd/Data","path":"OfficeRnd/Data.html","kind":"struct","full_name":"OfficeRnd::Data","name":"Data","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/OfficeRnd/Booking","kind":"struct","full_name":"OfficeRnd::Booking","name":"Booking"},{"html_id":"drivers/OfficeRnd/BookingFee","kind":"struct","full_name":"OfficeRnd::BookingFee","name":"BookingFee"},{"html_id":"drivers/OfficeRnd/BookingTime","kind":"struct","full_name":"OfficeRnd::BookingTime","name":"BookingTime"},{"html_id":"drivers/OfficeRnd/Credit","kind":"struct","full_name":"OfficeRnd::Credit","name":"Credit"},{"html_id":"drivers/OfficeRnd/Fee","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee"},{"html_id":"drivers/OfficeRnd/Floor","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor"},{"html_id":"drivers/OfficeRnd/Office","kind":"struct","full_name":"OfficeRnd::Office","name":"Office"},{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy"},{"html_id":"drivers/OfficeRnd/Rate/Extra","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra"},{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},{"html_id":"drivers/OfficeRnd/TokenResponse","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}]},{"html_id":"drivers/OfficeRnd/Fee","path":"OfficeRnd/Fee.html","kind":"struct","full_name":"OfficeRnd::Fee","name":"Fee","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"bill_in_advance:Bool|Nil-instance-method","name":"bill_in_advance","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L53"},"def":{"name":"bill_in_advance","return_type":"Bool | ::Nil","visibility":"Public","body":"@bill_in_advance"}},{"html_id":"date:Time-instance-method","name":"date","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L42"},"def":{"name":"date","return_type":"Time","visibility":"Public","body":"@date"}},{"html_id":"is_personal:Bool|Nil-instance-method","name":"is_personal","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L55"},"def":{"name":"is_personal","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_personal"}},{"html_id":"member_id:String|Nil-instance-method","name":"member_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L48"},"def":{"name":"member_id","return_type":"String | ::Nil","visibility":"Public","body":"@member_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L39"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L46"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"plan_id:String|Nil-instance-method","name":"plan_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L50"},"def":{"name":"plan_id","return_type":"String | ::Nil","visibility":"Public","body":"@plan_id"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L40"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}},{"html_id":"quantity:Int32-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L41"},"def":{"name":"quantity","return_type":"Int32","visibility":"Public","body":"@quantity"}},{"html_id":"refundable:Bool|Nil-instance-method","name":"refundable","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L51"},"def":{"name":"refundable","return_type":"Bool | ::Nil","visibility":"Public","body":"@refundable"}},{"html_id":"team_id:String|Nil-instance-method","name":"team_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L44"},"def":{"name":"team_id","return_type":"String | ::Nil","visibility":"Public","body":"@team_id"}}]},{"html_id":"drivers/OfficeRnd/Floor","path":"OfficeRnd/Floor.html","kind":"struct","full_name":"OfficeRnd::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L189"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L189"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area:Int32|Nil-instance-method","name":"area","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L196"},"def":{"name":"area","return_type":"Int32 | ::Nil","visibility":"Public","body":"@area"}},{"html_id":"floor:String|Nil-instance-method","name":"floor","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L192"},"def":{"name":"floor","return_type":"String | ::Nil","visibility":"Public","body":"@floor"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L191"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L198"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L193"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L195"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"target_revenue:Int32|Nil-instance-method","name":"target_revenue","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L200"},"def":{"name":"target_revenue","return_type":"Int32 | ::Nil","visibility":"Public","body":"@target_revenue"}}]},{"html_id":"drivers/OfficeRnd/Office","path":"OfficeRnd/Office.html","kind":"struct","full_name":"OfficeRnd::Office","name":"Office","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L24"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"city:String|Nil-instance-method","name":"city","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L23"},"def":{"name":"city","return_type":"String | ::Nil","visibility":"Public","body":"@city"}},{"html_id":"country:String|Nil-instance-method","name":"country","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L21"},"def":{"name":"country","return_type":"String | ::Nil","visibility":"Public","body":"@country"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L19"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"image:String|Nil-instance-method","name":"image","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L26"},"def":{"name":"image","return_type":"String | ::Nil","visibility":"Public","body":"@image"}},{"html_id":"is_open:Bool|Nil-instance-method","name":"is_open","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L28"},"def":{"name":"is_open","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_open"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L20"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"state:String|Nil-instance-method","name":"state","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L22"},"def":{"name":"state","return_type":"String | ::Nil","visibility":"Public","body":"@state"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L25"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}}]},{"html_id":"drivers/OfficeRnd/OfficeRndAPI","path":"OfficeRnd/OfficeRndAPI.html","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"instance_methods":[{"html_id":"booking(booking_id:String)-instance-method","name":"booking","doc":"Get a booking\n","summary":"

Get a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L130"},"def":{"name":"booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/bookings/#{booking_id}\", Booking)"}},{"html_id":"bookings(office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil)-instance-method","name":"bookings","doc":"Get bookings\n","summary":"

Get bookings

","abstract":false,"args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","args_html":"(office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L136"},"def":{"name":"bookings","args":[{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif member_id\n params[\"member\"] = member_id\nend\nif team_id\n params[\"team\"] = team_id\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/bookings\" : \"/bookings?#{query_string}\"\nget_request(path, Array(Booking))\n"}},{"html_id":"create_booking(resource_id:String,booking_start:Time,booking_end:Time,summary:String|Nil=nil,team_id:String|Nil=nil,member_id:String|Nil=nil,description:String|Nil=nil,tentative:Bool|Nil=nil,free:Bool|Nil=nil)-instance-method","name":"create_booking","doc":"Create a booking\n","summary":"

Create a booking

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"args_string":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","args_html":"(resource_id : String, booking_start : Time, booking_end : Time, summary : String | Nil = nil, team_id : String | Nil = nil, member_id : String | Nil = nil, description : String | Nil = nil, tentative : Bool | Nil = nil, free : Bool | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L164"},"def":{"name":"create_booking","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"booking_start","external_name":"booking_start","restriction":"Time"},{"name":"booking_end","external_name":"booking_end","restriction":"Time"},{"name":"summary","default_value":"nil","external_name":"summary","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"tentative","default_value":"nil","external_name":"tentative","restriction":"Bool | ::Nil"},{"name":"free","default_value":"nil","external_name":"free","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"create_bookings([Booking.new(resource_id: resource_id, booking_start: booking_start, booking_end: booking_end, summary: summary, team_id: team_id, member_id: member_id, description: description, tentative: tentative, free: free)])"}},{"html_id":"create_bookings(bookings:Array(Booking))-instance-method","name":"create_bookings","doc":"Make a booking\n","summary":"

Make a booking

","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"args_string":"(bookings : Array(Booking))","args_html":"(bookings : Array(Booking))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L158"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(Booking)"}],"visibility":"Public","body":"post_request(\"/bookings\", body: bookings.to_json)"}},{"html_id":"create_bookings(bookings:Array(BookingArgument))-instance-method","name":"create_bookings","abstract":false,"args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"args_string":"(bookings : Array(BookingArgument))","args_html":"(bookings : Array(BookingArgument))","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L200"},"def":{"name":"create_bookings","args":[{"name":"bookings","external_name":"bookings","restriction":"Array(BookingArgument)"}],"visibility":"Public","body":"create_bookings(bookings.map do |booking|\n Booking.new(**booking)\nend)"}},{"html_id":"delete_booking(booking_id:String)-instance-method","name":"delete_booking","doc":"Delete a booking\n","summary":"

Delete a booking

","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"args_string":"(booking_id : String)","args_html":"(booking_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L152"},"def":{"name":"delete_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String"}],"visibility":"Public","body":"!(!(delete_request(\"/bookings/#{booking_id}\")))"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(floor_id:String)-instance-method","name":"floor","doc":"Get a floor\n","summary":"

Get a floor

","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L89"},"def":{"name":"floor","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"path = \"/floors/#{floor_id}\"\nget_request(path, Floor)\n"}},{"html_id":"floors(office_id:String|Nil,name:String|Nil)-instance-method","name":"floors","doc":"Get floors\n","summary":"

Get floors

","abstract":false,"args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(office_id : String | Nil, name : String | Nil)","args_html":"(office_id : String | Nil, name : String | Nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L96"},"def":{"name":"floors","args":[{"name":"office_id","external_name":"office_id","restriction":"String | ::Nil"},{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = HTTP::Params.new\nif office_id\n params[\"office\"] = office_id\nend\nif name\n params[\"name\"] = name\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/floors\" : \"/floors?#{query_string}\"\nget_request(path, Array(Floor))\n"}},{"html_id":"get_header-instance-method","name":"get_header","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L77"},"def":{"name":"get_header","visibility":"Public","body":"headers = {\"Accept\" => \"application/json\", \"Authorization\" => get_token}"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nauth_route = @test_auth ? \"http://localhost:17839/oauth/token\" : \"https://identity.officernd.com/oauth/token\"\nparams = HTTP::Params.encode({\"client_id\" => @client_id, \"client_secret\" => @client_secret, \"grant_type\" => \"client_credentials\", \"scope\" => @scopes.join(' ')})\nheaders = HTTP::Headers {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\"}\nresponse = HTTP::Client.post(url: auth_route, headers: headers, body: params)\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body)\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.access_token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"office(name:String)-instance-method","name":"office","doc":"Retrieve office\n","summary":"

Retrieve office

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L216"},"def":{"name":"office","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"path = \"/offices/#{name}\"\nget_request(path, Array(Office))\n"}},{"html_id":"offices-instance-method","name":"offices","doc":"List offices\n","summary":"

List offices

","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L209"},"def":{"name":"offices","visibility":"Public","body":"path = \"/offices\"\nget_request(path, Array(Office))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\n@test_auth = setting(Bool, :test_auth)\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@client_id = setting(String, :client_id)\n@client_secret = setting(String, :client_secret)\n@scopes = setting(Array(String), :scopes)\n"}},{"html_id":"resource_bookings(resource_id:String,range_start:Time=Time.utc-5.minutes,range_end:Time=Time.utc+24.hours,office_id:String|Nil=nil,member_id:String|Nil=nil,team_id:String|Nil=nil):Array(Booking)-instance-method","name":"resource_bookings","doc":"Get bookings for a resource for a given time span\n","summary":"

Get bookings for a resource for a given time span

","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","args_html":"(resource_id : String, range_start : Time = Time.utc - 5.minutes, range_end : Time = Time.utc + 24.hours, office_id : String | Nil = nil, member_id : String | Nil = nil, team_id : String | Nil = nil) : Array(Booking)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L110"},"def":{"name":"resource_bookings","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"range_start","default_value":"Time.utc - 5.minutes","external_name":"range_start","restriction":"Time"},{"name":"range_end","default_value":"Time.utc + 24.hours","external_name":"range_end","restriction":"Time"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"member_id","default_value":"nil","external_name":"member_id","restriction":"String | ::Nil"},{"name":"team_id","default_value":"nil","external_name":"team_id","restriction":"String | ::Nil"}],"return_type":"Array(Booking)","visibility":"Public","body":"time_span = (range_start..range_end)\nbookings(office_id: office_id, member_id: member_id, team_id: team_id).select! do |booking|\n (booking.resource_id == resource_id) && (booking.overlaps?(time_span))\nend\n"}},{"html_id":"resources(type:Resource::Type|String|Nil=nil,name:String|Nil=nil,office_id:String|Nil=nil,available_from:Time|Nil=nil,available_to:Time|Nil=nil)-instance-method","name":"resources","doc":"Get available rooms (resources) by\n- type\n- date range (available_from, available_to)\n- office (office_id)\n- resource name (name)","summary":"

Get available rooms (resources) by - type - date range (available_from, available_to) - office (office_id) - resource name (name)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"args_string":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","args_html":"(type : Resource::Type | String | Nil = nil, name : String | Nil = nil, office_id : String | Nil = nil, available_from : Time | Nil = nil, available_to : Time | Nil = nil)","location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L229"},"def":{"name":"resources","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"Resource::Type | String | ::Nil"},{"name":"name","default_value":"nil","external_name":"name","restriction":"String | ::Nil"},{"name":"office_id","default_value":"nil","external_name":"office_id","restriction":"String | ::Nil"},{"name":"available_from","default_value":"nil","external_name":"available_from","restriction":"Time | ::Nil"},{"name":"available_to","default_value":"nil","external_name":"available_to","restriction":"Time | ::Nil"}],"visibility":"Public","body":"if type.is_a?(String)\n type = Resource::Type.parse(type)\nend\nparams = HTTP::Params.new\nif type\n params[\"type\"] = type.to_s\nend\nif name\n params[\"name\"] = name\nend\nif office_id\n params[\"office\"] = office_id\nend\nif available_from\n params[\"availableFrom\"] = available_from.to_s\nend\nif available_to\n params[\"availableTo\"] = available_to.to_s\nend\nquery_string = params.to_s\npath = query_string.empty? ? \"/resources\" : \"/resources?#{query_string}\"\nget_request(path, Array(Resource))\n"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/office_rnd/office_rnd_api.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}}],"types":[{"html_id":"drivers/OfficeRnd/OfficeRndAPI/BookingArgument","path":"OfficeRnd/OfficeRndAPI/BookingArgument.html","kind":"alias","full_name":"OfficeRnd::OfficeRndAPI::BookingArgument","name":"BookingArgument","abstract":false,"locations":[{"filename":"src/office_rnd/office_rnd_api.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/office_rnd_api.cr#L188"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(resource_id: String, booking_start: Time, booking_end: Time, summary: String | Nil, team_id: String | Nil, member_id: String | Nil, description: String | Nil, tentative: Bool | Nil, free: Bool | Nil)","aliased_html":"{resource_id: String, booking_start: Time, booking_end: Time, summary: String?, team_id: String?, member_id: String?, description: String?, tentative: Bool?, free: Bool?}","const":false,"namespace":{"html_id":"drivers/OfficeRnd/OfficeRndAPI","kind":"class","full_name":"OfficeRnd::OfficeRndAPI","name":"OfficeRndAPI"}}]},{"html_id":"drivers/OfficeRnd/Rate","path":"OfficeRnd/Rate.html","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L120"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"cancellation_policy:CancellationPolicy-instance-method","name":"cancellation_policy","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L126"},"def":{"name":"cancellation_policy","return_type":"CancellationPolicy","visibility":"Public","body":"@cancellation_policy"}},{"html_id":"extras:Array(Extra)-instance-method","name":"extras","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L127"},"def":{"name":"extras","return_type":"Array(Extra)","visibility":"Public","body":"@extras"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L122"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"max_duration:Int32-instance-method","name":"max_duration","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L129"},"def":{"name":"max_duration","return_type":"Int32","visibility":"Public","body":"@max_duration"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L123"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L124"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}],"types":[{"html_id":"drivers/OfficeRnd/Rate/CancellationPolicy","path":"OfficeRnd/Rate/CancellationPolicy.html","kind":"struct","full_name":"OfficeRnd::Rate::CancellationPolicy","name":"CancellationPolicy","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L131"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L131"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"minimum_period:Int32-instance-method","name":"minimum_period","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period","return_type":"Int32","visibility":"Public","body":"@minimum_period"}},{"html_id":"minimum_period=(minimum_period:Int32)-instance-method","name":"minimum_period=","abstract":false,"args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"args_string":"(minimum_period : Int32)","args_html":"(minimum_period : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L133"},"def":{"name":"minimum_period=","args":[{"name":"minimum_period","external_name":"minimum_period","restriction":"Int32"}],"visibility":"Public","body":"@minimum_period = minimum_period"}}]},{"html_id":"drivers/OfficeRnd/Rate/Extra","path":"OfficeRnd/Rate/Extra.html","kind":"struct","full_name":"OfficeRnd::Rate::Extra","name":"Extra","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OfficeRnd/Rate","kind":"struct","full_name":"OfficeRnd::Rate","name":"Rate"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L136"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L138"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L139"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"price:Int32-instance-method","name":"price","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L140"},"def":{"name":"price","return_type":"Int32","visibility":"Public","body":"@price"}}]}]},{"html_id":"drivers/OfficeRnd/Resource","path":"OfficeRnd/Resource.html","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L144"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAPPING","name":"MAPPING","value":"{Type::MeetingRoom => \"meeting_room\", Type::PrivateOffices => \"team_room\", Type::PrivateOfficeDesk => \"desk_tr\", Type::DedicatedDesks => \"desk\", Type::HotDesks => \"hotdesk\"}"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L144"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L151"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L145"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"office_id:String-instance-method","name":"office_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L149"},"def":{"name":"office_id","return_type":"String","visibility":"Public","body":"@office_id"}},{"html_id":"rate_id:String|Nil-instance-method","name":"rate_id","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L147"},"def":{"name":"rate_id","return_type":"String | ::Nil","visibility":"Public","body":"@rate_id"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L152"},"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}}],"types":[{"html_id":"drivers/OfficeRnd/Resource/Type","path":"OfficeRnd/Resource/Type.html","kind":"enum","full_name":"OfficeRnd::Resource::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L162"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"MeetingRoom","name":"MeetingRoom","value":"0"},{"id":"PrivateOffices","name":"PrivateOffices","value":"1"},{"id":"PrivateOfficeDesk","name":"PrivateOfficeDesk","value":"2"},{"id":"DedicatedDesks","name":"DedicatedDesks","value":"3"},{"id":"HotDesks","name":"HotDesks","value":"4"}],"namespace":{"html_id":"drivers/OfficeRnd/Resource","kind":"struct","full_name":"OfficeRnd::Resource","name":"Resource"},"class_methods":[{"html_id":"parse(type:String)-class-method","name":"parse","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L177"},"def":{"name":"parse","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"parsed = Resource::MAPPING.key_for?(type)\nif parsed\nelse\n raise(ArgumentError.new(\"Unrecognised Resource::Type '#{type}'\"))\nend\nparsed\n"}},{"html_id":"valid?(type:String)-class-method","name":"valid?","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L183"},"def":{"name":"valid?","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"!(!(Resource::MAPPING.key_for?(type)))"}}],"instance_methods":[{"html_id":"dedicated_desks?-instance-method","name":"dedicated_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L166"},"def":{"name":"dedicated_desks?","visibility":"Public","body":"self == DedicatedDesks"}},{"html_id":"hot_desks?-instance-method","name":"hot_desks?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L167"},"def":{"name":"hot_desks?","visibility":"Public","body":"self == HotDesks"}},{"html_id":"meeting_room?-instance-method","name":"meeting_room?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L163"},"def":{"name":"meeting_room?","visibility":"Public","body":"self == MeetingRoom"}},{"html_id":"private_office_desk?-instance-method","name":"private_office_desk?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L165"},"def":{"name":"private_office_desk?","visibility":"Public","body":"self == PrivateOfficeDesk"}},{"html_id":"private_offices?-instance-method","name":"private_offices?","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L164"},"def":{"name":"private_offices?","visibility":"Public","body":"self == PrivateOffices"}},{"html_id":"to_json(json:JSON::Builder)-instance-method","name":"to_json","doc":"Serializes this enum member by name.\n\nFor non-flags enums, the serialization is a JSON string. The value is the\nmember name (see `#to_s`) transformed with `String#underscore`.\n\n```\nenum Stages\n INITIAL\n SECOND_STAGE\nend\n\nStages::INITIAL.to_json # => %(\"initial\")\nStages::SECOND_STAGE.to_json # => %(\"second_stage\")\n```\n\nFor flags enums, the serialization is a JSON array including every flagged\nmember individually serialized in the same way as a member of a non-flags enum.\n`None` is serialized as an empty array, `All` as an array containing\nall members.\n\n```\n@[Flags]\nenum Sides\n LEFT\n RIGHT\nend\n\nSides::LEFT.to_json # => %([\"left\"])\n(Sides::LEFT | Sides::RIGHT).to_json # => %([\"left\",\"right\"])\nSides::All.to_json # => %([\"left\",\"right\"])\nSides::None.to_json # => %([])\n```\n\n`ValueConverter.to_json` offers a different serialization strategy based on the\nmember value.","summary":"

Serializes this enum member by name.

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(json : JSON::Builder)","args_html":"(json : JSON::Builder)","location":{"filename":"src/office_rnd/models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L173"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(self.to_s)"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a `String` representation of this enum member.\nIn the case of regular enums, this is just the name of the member.\nIn the case of flag enums, it's the names joined by vertical bars, or \"None\",\nif the value is zero.\n\nIf an enum's value doesn't match a member's value, the raw value\nis returned as a string.\n\n```\nColor::Red.to_s # => \"Red\"\nIOMode::None.to_s # => \"None\"\n(IOMode::Read | IOMode::Write).to_s # => \"Read | Write\"\n\nColor.new(10).to_s # => \"10\"\n```","summary":"

Returns a String representation of this enum member.

","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L169"},"def":{"name":"to_s","visibility":"Public","body":"Resource::MAPPING[self]"}}]}]},{"html_id":"drivers/OfficeRnd/TokenResponse","path":"OfficeRnd/TokenResponse.html","kind":"struct","full_name":"OfficeRnd::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/OfficeRnd/Data","kind":"struct","full_name":"OfficeRnd::Data","name":"Data"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/office_rnd/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OfficeRnd","kind":"module","full_name":"OfficeRnd","name":"OfficeRnd"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/office_rnd/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L11"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/office_rnd/models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L11"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/office_rnd/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L13"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"scope:String-instance-method","name":"scope","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L14"},"def":{"name":"scope","return_type":"String","visibility":"Public","body":"@scope"}},{"html_id":"scope=(scope:String)-instance-method","name":"scope=","abstract":false,"args":[{"name":"scope","external_name":"scope","restriction":"String"}],"args_string":"(scope : String)","args_html":"(scope : String)","location":{"filename":"src/office_rnd/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L14"},"def":{"name":"scope=","args":[{"name":"scope","external_name":"scope","restriction":"String"}],"visibility":"Public","body":"@scope = scope"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L12"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/office_rnd/models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/office_rnd/models.cr#L12"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]}]},{"html_id":"drivers/OpenAI","path":"OpenAI.html","kind":"module","full_name":"OpenAI","name":"OpenAI","abstract":false,"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L3"},{"filename":"src/open_ai/models/edit_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L4"},{"filename":"src/open_ai/models/model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L3"},{"filename":"src/open_ai/models/text_completion.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/OpenAI/ChatCompletion","path":"OpenAI/ChatCompletion.html","kind":"struct","full_name":"OpenAI::ChatCompletion","name":"ChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(MessageChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L95"},"def":{"name":"choices","return_type":"Array(MessageChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L93"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L90"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L96"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/CreateChatCompletion","path":"OpenAI/CreateChatCompletion.html","kind":"class","full_name":"OpenAI::CreateChatCompletion","name":"CreateChatCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/chat/completions","summary":"

POST https://api.openai.com/v1/chat/completions

","constructors":[{"html_id":"new(model:String,messages:Array(OpenAI::Message))-class-method","name":"new","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"args_string":"(model : String, messages : Array(OpenAI::Message))","args_html":"(model : String, messages : Array(OpenAI::Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L30"},"def":{"name":"new","args":[{"name":"model","external_name":"model","restriction":"::String"},{"name":"messages","external_name":"messages","restriction":"::Array(::OpenAI::Message)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(model, messages)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L68"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L72"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"messages:Array(Message)-instance-method","name":"messages","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages","return_type":"Array(Message)","visibility":"Public","body":"@messages"}},{"html_id":"messages=(messages:Array(Message))-instance-method","name":"messages=","abstract":false,"args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"args_string":"(messages : Array(Message))","args_html":"(messages : Array(Message))","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L36"},"def":{"name":"messages=","args":[{"name":"messages","external_name":"messages","restriction":"Array(Message)"}],"visibility":"Public","body":"@messages = messages"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L34"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L51"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L63"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L58"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L54"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L41"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L47"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L75"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/CreateEditCompletion","path":"OpenAI/CreateEditCompletion.html","kind":"class","full_name":"OpenAI::CreateEditCompletion","name":"CreateEditCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/edit_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/edits","summary":"

POST https://api.openai.com/v1/edits

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"input:String-instance-method","name":"input","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input","return_type":"String","visibility":"Public","body":"@input"}},{"html_id":"input=(input:String)-instance-method","name":"input=","doc":"The input text to use as a starting point for the edit.","summary":"

The input text to use as a starting point for the edit.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L14"},"def":{"name":"input=","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"@input = input"}},{"html_id":"instruction:String-instance-method","name":"instruction","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction","return_type":"String","visibility":"Public","body":"@instruction"}},{"html_id":"instruction=(instruction:String)-instance-method","name":"instruction=","doc":"The instruction that tells the model how to edit the prompt.","summary":"

The instruction that tells the model how to edit the prompt.

","abstract":false,"args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"args_string":"(instruction : String)","args_html":"(instruction : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L17"},"def":{"name":"instruction=","args":[{"name":"instruction","external_name":"instruction","restriction":"String"}],"visibility":"Public","body":"@instruction = instruction"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id\nYou can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.","summary":"

the model id You can use the text-davinci-edit-001 or code-davinci-edit-001 model with this endpoint.

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L11"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L32"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L22"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/edit_completion.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/edit_completion.cr#L28"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}}]},{"html_id":"drivers/OpenAI/CreateTextCompletion","path":"OpenAI/CreateTextCompletion.html","kind":"class","full_name":"OpenAI::CreateTextCompletion","name":"CreateTextCompletion","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"POST https://api.openai.com/v1/completions","summary":"

POST https://api.openai.com/v1/completions

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"best_of:Int32-instance-method","name":"best_of","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of","return_type":"Int32","visibility":"Public","body":"@best_of"}},{"html_id":"best_of=(best_of:Int32)-instance-method","name":"best_of=","doc":"Generates best_of completions server-side and returns the \"best\" (the one with the highest log probability per token). Results cannot be streamed.\nbest_of must be greater than num_completions","summary":"

Generates best_of completions server-side and returns the "best" (the one with the highest log probability per token).

","abstract":false,"args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"args_string":"(best_of : Int32)","args_html":"(best_of : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L62"},"def":{"name":"best_of=","args":[{"name":"best_of","external_name":"best_of","restriction":"Int32"}],"visibility":"Public","body":"@best_of = best_of"}},{"html_id":"echo:Bool-instance-method","name":"echo","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo","return_type":"Bool","visibility":"Public","body":"@echo"}},{"html_id":"echo=(echo:Bool)-instance-method","name":"echo=","doc":"Echo back the prompt in addition to the completion","summary":"

Echo back the prompt in addition to the completion

","abstract":false,"args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"args_string":"(echo : Bool)","args_html":"(echo : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L44"},"def":{"name":"echo=","args":[{"name":"echo","external_name":"echo","restriction":"Bool"}],"visibility":"Public","body":"@echo = echo"}},{"html_id":"frequency_penalty:Float64-instance-method","name":"frequency_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty","return_type":"Float64","visibility":"Public","body":"@frequency_penalty"}},{"html_id":"frequency_penalty=(frequency_penalty:Float64)-instance-method","name":"frequency_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on their existing frequency in the text so far,\ndecreasing the model's likelihood to repeat the same line verbatim.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"args_string":"(frequency_penalty : Float64)","args_html":"(frequency_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L58"},"def":{"name":"frequency_penalty=","args":[{"name":"frequency_penalty","external_name":"frequency_penalty","restriction":"Float64"}],"visibility":"Public","body":"@frequency_penalty = frequency_penalty"}},{"html_id":"logit_bias:Hash(String,Float64)|Nil-instance-method","name":"logit_bias","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias","return_type":"Hash(String, Float64) | ::Nil","visibility":"Public","body":"@logit_bias"}},{"html_id":"logit_bias=(logit_bias:Hash(String,Float64)|Nil)-instance-method","name":"logit_bias=","doc":"Modify the likelihood of specified tokens appearing in the completion.\nYou can use this [tokenizer tool](https://platform.openai.com/tokenizer?view=bpe) (which works for both GPT-2 and GPT-3) to convert text to token IDs","summary":"

Modify the likelihood of specified tokens appearing in the completion.

","abstract":false,"args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"args_string":"(logit_bias : Hash(String, Float64) | Nil)","args_html":"(logit_bias : Hash(String, Float64) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L66"},"def":{"name":"logit_bias=","args":[{"name":"logit_bias","external_name":"logit_bias","restriction":"Hash(String, Float64) | ::Nil"}],"visibility":"Public","body":"@logit_bias = logit_bias"}},{"html_id":"logprobs:Int32|Nil-instance-method","name":"logprobs","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs","return_type":"Int32 | ::Nil","visibility":"Public","body":"@logprobs"}},{"html_id":"logprobs=(logprobs:Int32|Nil)-instance-method","name":"logprobs=","doc":"Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.","summary":"

Include the log probabilities on the logprobs most likely tokens, as well the chosen tokens.

","abstract":false,"args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"args_string":"(logprobs : Int32 | Nil)","args_html":"(logprobs : Int32 | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L41"},"def":{"name":"logprobs=","args":[{"name":"logprobs","external_name":"logprobs","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@logprobs = logprobs"}},{"html_id":"max_tokens:Int32-instance-method","name":"max_tokens","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens","return_type":"Int32","visibility":"Public","body":"@max_tokens"}},{"html_id":"max_tokens=(max_tokens:Int32)-instance-method","name":"max_tokens=","doc":"The maximum number of tokens to generate in the completion.\nMost models have a context length of 2048 tokens (except for the newest models, which support 4096).\nThe token count of your prompt plus max_tokens cannot exceed the model's context length.","summary":"

The maximum number of tokens to generate in the completion.

","abstract":false,"args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"args_string":"(max_tokens : Int32)","args_html":"(max_tokens : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L20"},"def":{"name":"max_tokens=","args":[{"name":"max_tokens","external_name":"max_tokens","restriction":"Int32"}],"visibility":"Public","body":"@max_tokens = max_tokens"}},{"html_id":"model:String-instance-method","name":"model","doc":"the model id","summary":"

the model id

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model","return_type":"String","visibility":"Public","body":"@model"}},{"html_id":"model=(model:String)-instance-method","name":"model=","doc":"the model id","summary":"

the model id

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"}],"args_string":"(model : String)","args_html":"(model : String)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L9"},"def":{"name":"model=","args":[{"name":"model","external_name":"model","restriction":"String"}],"visibility":"Public","body":"@model = model"}},{"html_id":"num_completions:Int32-instance-method","name":"num_completions","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions","return_type":"Int32","visibility":"Public","body":"@num_completions"}},{"html_id":"num_completions=(num_completions:Int32)-instance-method","name":"num_completions=","abstract":false,"args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"args_string":"(num_completions : Int32)","args_html":"(num_completions : Int32)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L35"},"def":{"name":"num_completions=","args":[{"name":"num_completions","external_name":"num_completions","restriction":"Int32"}],"visibility":"Public","body":"@num_completions = num_completions"}},{"html_id":"presence_penalty:Float64-instance-method","name":"presence_penalty","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty","return_type":"Float64","visibility":"Public","body":"@presence_penalty"}},{"html_id":"presence_penalty=(presence_penalty:Float64)-instance-method","name":"presence_penalty=","doc":"Number between -2.0 and 2.0.\nPositive values penalize new tokens based on whether they appear in the text so far,\nincreasing the model's likelihood to talk about new topics.","summary":"

Number between -2.0 and 2.0.

","abstract":false,"args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"args_string":"(presence_penalty : Float64)","args_html":"(presence_penalty : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L53"},"def":{"name":"presence_penalty=","args":[{"name":"presence_penalty","external_name":"presence_penalty","restriction":"Float64"}],"visibility":"Public","body":"@presence_penalty = presence_penalty"}},{"html_id":"prompt:String|Array(String)|Nil-instance-method","name":"prompt","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@prompt"}},{"html_id":"prompt=(prompt:String|Array(String)|Nil)-instance-method","name":"prompt=","doc":"The prompt(s) to generate completions for","summary":"

The prompt(s) to generate completions for

","abstract":false,"args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"args_string":"(prompt : String | Array(String) | Nil)","args_html":"(prompt : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L12"},"def":{"name":"prompt=","args":[{"name":"prompt","external_name":"prompt","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@prompt = prompt"}},{"html_id":"stop:String|Array(String)|Nil-instance-method","name":"stop","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@stop"}},{"html_id":"stop=(stop:String|Array(String)|Nil)-instance-method","name":"stop=","doc":"Up to 4 sequences where the API will stop generating further tokens.\nThe returned text will not contain the stop sequence.","summary":"

Up to 4 sequences where the API will stop generating further tokens.

","abstract":false,"args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"args_string":"(stop : String | Array(String) | Nil)","args_html":"(stop : String | Array(String) | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L48"},"def":{"name":"stop=","args":[{"name":"stop","external_name":"stop","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@stop = stop"}},{"html_id":"stream:Bool-instance-method","name":"stream","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream","return_type":"Bool","visibility":"Public","body":"@stream"}},{"html_id":"stream=(stream:Bool)-instance-method","name":"stream=","doc":"Whether to stream back partial progress.","summary":"

Whether to stream back partial progress.

","abstract":false,"args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"args_string":"(stream : Bool)","args_html":"(stream : Bool)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L38"},"def":{"name":"stream=","args":[{"name":"stream","external_name":"stream","restriction":"Bool"}],"visibility":"Public","body":"@stream = stream"}},{"html_id":"suffix:String|Nil-instance-method","name":"suffix","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix","return_type":"String | ::Nil","visibility":"Public","body":"@suffix"}},{"html_id":"suffix=(suffix:String|Nil)-instance-method","name":"suffix=","doc":"The suffix that comes after a completion of inserted text.","summary":"

The suffix that comes after a completion of inserted text.

","abstract":false,"args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"args_string":"(suffix : String | Nil)","args_html":"(suffix : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L15"},"def":{"name":"suffix=","args":[{"name":"suffix","external_name":"suffix","restriction":"String | ::Nil"}],"visibility":"Public","body":"@suffix = suffix"}},{"html_id":"temperature:Float64-instance-method","name":"temperature","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature","return_type":"Float64","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Float64)-instance-method","name":"temperature=","doc":"What sampling temperature to use, between 0 and 2.\nHigher values like 0.8 will make the output more random,\nwhile lower values like 0.2 will make it more focused and deterministic.","summary":"

What sampling temperature to use, between 0 and 2.

","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"args_string":"(temperature : Float64)","args_html":"(temperature : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L25"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Float64"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"top_p:Float64-instance-method","name":"top_p","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p","return_type":"Float64","visibility":"Public","body":"@top_p"}},{"html_id":"top_p=(top_p:Float64)-instance-method","name":"top_p=","doc":"An alternative to sampling with temperature, called nucleus sampling,\nwhere the model considers the results of the tokens with top_p probability mass.\nSo 0.1 means only the tokens comprising the top 10% probability mass are considered.\nAlter this or temperature but not both.","summary":"

An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass.

","abstract":false,"args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"args_string":"(top_p : Float64)","args_html":"(top_p : Float64)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L31"},"def":{"name":"top_p=","args":[{"name":"top_p","external_name":"top_p","restriction":"Float64"}],"visibility":"Public","body":"@top_p = top_p"}},{"html_id":"user:String|Nil-instance-method","name":"user","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user","return_type":"String | ::Nil","visibility":"Public","body":"@user"}},{"html_id":"user=(user:String|Nil)-instance-method","name":"user=","doc":"A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.","summary":"

A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.

","abstract":false,"args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"args_string":"(user : String | Nil)","args_html":"(user : String | Nil)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L69"},"def":{"name":"user=","args":[{"name":"user","external_name":"user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@user = user"}}]},{"html_id":"drivers/OpenAI/GPT","path":"OpenAI/GPT.html","kind":"class","full_name":"OpenAI::GPT","name":"GPT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/gpt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"chat(model:String,message:Message|Array(Message))-instance-method","name":"chat","doc":"creates a completion for the chat message","summary":"

creates a completion for the chat message

","abstract":false,"args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"args_string":"(model : String, message : Message | Array(Message))","args_html":"(model : String, message : Message | Array(Message))","location":{"filename":"src/open_ai/gpt.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L82"},"def":{"name":"chat","args":[{"name":"model","external_name":"model","restriction":"String"},{"name":"message","external_name":"message","restriction":"Message | Array(Message)"}],"visibility":"Public","body":"messages = message.is_a?(Array) ? message : [message]\nchat = CreateChatCompletion.new(model, messages)\nresponse = check(post(\"/v1/chat/completions\", body: chat.to_json))\nchat = ChatCompletion.from_json(response.body)\nupdate_token(chat.usage)\nchat.choices\n"}},{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L41"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"model(id:String)-instance-method","name":"model","doc":"returns the details of the provided model id","summary":"

returns the details of the provided model id

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/open_ai/gpt.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L76"},"def":{"name":"model","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = check(get(\"/v1/models/#{id}\"))\nModel.from_json(response.body)\n"}},{"html_id":"models-instance-method","name":"models","doc":"returns the available models for the current key","summary":"

returns the available models for the current key

","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L70"},"def":{"name":"models","visibility":"Public","body":"response = check(get(\"/v1/models\"))\n(List(Model).from_json(response.body)).data\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L14"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L18"},"def":{"name":"on_update","visibility":"Public","body":"openai_key = setting(String, :openai_key)\nopenai_org = setting?(String, :openai_org)\ntransport.before_request do |request|\n logger.debug do\n \"requesting #{request.method} #{request.path}?#{request.query}\\n#{request.headers}\\n#{request.body}\"\n end\n request.headers[\"Authorization\"] = \"Bearer #{openai_key}\"\n if openai_org\n request.headers[\"OpenAI-Organization\"] = openai_org\n end\n request.headers[\"Content-Type\"] = \"application/json\"\nend\nif usage = setting?(Usage, :token_usage)\n @total_tokens = usage.total_tokens\n @prompt_tokens = usage.prompt_tokens\n @completion_tokens = usage.completion_tokens\nend\n"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L40"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/gpt.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/gpt.cr#L39"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/List","path":"OpenAI/List.html","kind":"struct","full_name":"OpenAI::List(Type)","name":"List","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Type)-instance-method","name":"data","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L8"},"def":{"name":"data","return_type":"Array(Type)","visibility":"Public","body":"@data"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L7"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}}]},{"html_id":"drivers/OpenAI/Message","path":"OpenAI/Message.html","kind":"struct","full_name":"OpenAI::Message","name":"Message","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"Typically, a conversation is formatted with a system message first,\nfollowed by alternating user and assistant messages.","summary":"

Typically, a conversation is formatted with a system message first, followed by alternating user and assistant messages.

","constructors":[{"html_id":"new(role:Role,content:String)-class-method","name":"new","abstract":false,"args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"args_string":"(role : Role, content : String)","args_html":"(role : Role, content : String)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L19"},"def":{"name":"new","args":[{"name":"role","external_name":"role","restriction":"Role"},{"name":"content","external_name":"content","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(role, content)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L23"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"role:Role-instance-method","name":"role","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L22"},"def":{"name":"role","return_type":"Role","visibility":"Public","body":"@role"}}]},{"html_id":"drivers/OpenAI/MessageChoice","path":"OpenAI/MessageChoice.html","kind":"struct","full_name":"OpenAI::MessageChoice","name":"MessageChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L78"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L79"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L83"},"def":{"name":"finish_reason","return_type":"String","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L81"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"message:Message-instance-method","name":"message","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L82"},"def":{"name":"message","return_type":"Message","visibility":"Public","body":"@message"}}]},{"html_id":"drivers/OpenAI/Model","path":"OpenAI/Model.html","kind":"struct","full_name":"OpenAI::Model","name":"Model","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"GET https://api.openai.com/v1/models","summary":"

GET https://api.openai.com/v1/models

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L27"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L28"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"owned_by:String-instance-method","name":"owned_by","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L29"},"def":{"name":"owned_by","return_type":"String","visibility":"Public","body":"@owned_by"}}]},{"html_id":"drivers/OpenAI/Role","path":"OpenAI/Role.html","kind":"enum","full_name":"OpenAI::Role","name":"Role","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/chat_completion.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"User","name":"User","value":"0","doc":"Can be generated by the end users of an application, or set by a developer as an instruction.","summary":"

Can be generated by the end users of an application, or set by a developer as an instruction.

"},{"id":"System","name":"System","value":"1","doc":"The system message helps set the behavior of the assistant.\nGPT 3 does not always pay strong attention to system messages","summary":"

The system message helps set the behavior of the assistant.

"},{"id":"Assistant","name":"Assistant","value":"2","doc":"The assistant messages help store prior responses. They can also be written by a developer to help give examples of desired behavior.","summary":"

The assistant messages help store prior responses.

"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"instance_methods":[{"html_id":"assistant?-instance-method","name":"assistant?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L11"},"def":{"name":"assistant?","visibility":"Public","body":"self == Assistant"}},{"html_id":"system?-instance-method","name":"system?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L9"},"def":{"name":"system?","visibility":"Public","body":"self == System"}},{"html_id":"user?-instance-method","name":"user?","abstract":false,"location":{"filename":"src/open_ai/models/chat_completion.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/chat_completion.cr#L6"},"def":{"name":"user?","visibility":"Public","body":"self == User"}}]},{"html_id":"drivers/OpenAI/TextChoice","path":"OpenAI/TextChoice.html","kind":"struct","full_name":"OpenAI::TextChoice","name":"TextChoice","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L73"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"finish_reason:String|Nil-instance-method","name":"finish_reason","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L78"},"def":{"name":"finish_reason","return_type":"String | ::Nil","visibility":"Public","body":"@finish_reason"}},{"html_id":"index:Int32-instance-method","name":"index","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L77"},"def":{"name":"index","return_type":"Int32","visibility":"Public","body":"@index"}},{"html_id":"text:String-instance-method","name":"text","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L76"},"def":{"name":"text","return_type":"String","visibility":"Public","body":"@text"}}]},{"html_id":"drivers/OpenAI/TextCompletion","path":"OpenAI/TextCompletion.html","kind":"struct","full_name":"OpenAI::TextCompletion","name":"TextCompletion","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/text_completion.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/text_completion.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L82"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"choices:Array(TextChoice)-instance-method","name":"choices","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L91"},"def":{"name":"choices","return_type":"Array(TextChoice)","visibility":"Public","body":"@choices"}},{"html_id":"created:Time-instance-method","name":"created","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L89"},"def":{"name":"created","return_type":"Time","visibility":"Public","body":"@created"}},{"html_id":"id:String|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L84"},"def":{"name":"id","return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"model:String|Nil-instance-method","name":"model","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L85"},"def":{"name":"model","return_type":"String | ::Nil","visibility":"Public","body":"@model"}},{"html_id":"object:String-instance-method","name":"object","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L86"},"def":{"name":"object","return_type":"String","visibility":"Public","body":"@object"}},{"html_id":"usage:Usage-instance-method","name":"usage","abstract":false,"location":{"filename":"src/open_ai/models/text_completion.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/text_completion.cr#L92"},"def":{"name":"usage","return_type":"Usage","visibility":"Public","body":"@usage"}}]},{"html_id":"drivers/OpenAI/Usage","path":"OpenAI/Usage.html","kind":"struct","full_name":"OpenAI::Usage","name":"Usage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/models/model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"constructors":[{"html_id":"new(total_tokens:Int64,prompt_tokens:Int64,completion_tokens:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"args_string":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","args_html":"(total_tokens : Int64, prompt_tokens : Int64, completion_tokens : Int64)","location":{"filename":"src/open_ai/models/model.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L14"},"def":{"name":"new","args":[{"name":"total_tokens","external_name":"total_tokens","restriction":"::Int64"},{"name":"prompt_tokens","external_name":"prompt_tokens","restriction":"::Int64"},{"name":"completion_tokens","external_name":"completion_tokens","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(total_tokens, prompt_tokens, completion_tokens)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/open_ai/models/model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"completion_tokens:Int64-instance-method","name":"completion_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L19"},"def":{"name":"completion_tokens","return_type":"Int64","visibility":"Public","body":"@completion_tokens"}},{"html_id":"prompt_tokens:Int64-instance-method","name":"prompt_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L18"},"def":{"name":"prompt_tokens","return_type":"Int64","visibility":"Public","body":"@prompt_tokens"}},{"html_id":"total_tokens:Int64-instance-method","name":"total_tokens","abstract":false,"location":{"filename":"src/open_ai/models/model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/models/model.cr#L17"},"def":{"name":"total_tokens","return_type":"Int64","visibility":"Public","body":"@total_tokens"}}]},{"html_id":"drivers/OpenAI/VoiceControlInterface","path":"OpenAI/VoiceControlInterface.html","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"PROMPT","name":"PROMPT","value":"OpenAI::Message.new(:user, \"\\n\")"}],"namespace":{"html_id":"drivers/OpenAI","kind":"module","full_name":"OpenAI","name":"OpenAI"},"doc":"A Voice interface that should be able to:\n* request","summary":"

A Voice interface that should be able to: * request

","instance_methods":[{"html_id":"custom_prompts:Array(OpenAI::Message)-instance-method","name":"custom_prompts","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L29"},"def":{"name":"custom_prompts","return_type":"Array(OpenAI::Message)","visibility":"Public","body":"@custom_prompts"}},{"html_id":"llm_model_id:String-instance-method","name":"llm_model_id","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L28"},"def":{"name":"llm_model_id","return_type":"String","visibility":"Public","body":"@llm_model_id"}},{"html_id":"module_status(module_id:String):Hash(String,String)-instance-method","name":"module_status","doc":"returns a hash of status values","summary":"

returns a hash of status values

","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Hash(String, String)","args_html":"(module_id : String) : Hash(String, String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L75"},"def":{"name":"module_status","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"Hash(String, String)","visibility":"Public","body":"system[module_id].__status__"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"@llm_model_id = setting(String, :llm_model_id)\n@custom_prompts = (setting?(Array(OpenAI::Message), :custom_prompts)) || ([] of OpenAI::Message)\n"}},{"html_id":"request(text:String)-instance-method","name":"request","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String)","args_html":"(text : String)","location":{"filename":"src/open_ai/voice_control.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L38"},"def":{"name":"request","args":[{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"messages = ([PROMPT] + custom_prompts) + [OpenAI::Message.new(:user, \"The Request: #{text}\")]\nchoices = Array(MessageChoice).from_json((language_model.chat(llm_model_id, messages)).get.to_json)\n"}},{"html_id":"system_metadata-instance-method","name":"system_metadata","abstract":false,"location":{"filename":"src/open_ai/voice_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L50"},"def":{"name":"system_metadata","visibility":"Public","body":"metadata = {} of String => Metadata\nsys = system\nsys.modules.each do |module_name|\n 1.upto(sys.count(module_name)) do |index|\n mod = sys.get(module_name, index)\n metadata[\"#{module_name}_#{index}\"] = mod.__metadata__.llm_interface\n end\nend\n{name: sys.name, description: sys.description, modules: metadata}\n"}}],"types":[{"html_id":"drivers/OpenAI/VoiceControlInterface/Metadata","path":"OpenAI/VoiceControlInterface/Metadata.html","kind":"alias","full_name":"OpenAI::VoiceControlInterface::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/open_ai/voice_control.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/open_ai/voice_control.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::DriverModel::Metadata","aliased_html":"PlaceOS::Driver::DriverModel::Metadata","const":false,"namespace":{"html_id":"drivers/OpenAI/VoiceControlInterface","kind":"class","full_name":"OpenAI::VoiceControlInterface","name":"VoiceControlInterface"}}]}]},{"html_id":"drivers/Panasonic","path":"Panasonic.html","kind":"module","full_name":"Panasonic","name":"Panasonic","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Panasonic/Camera","path":"Panasonic/Camera.html","kind":"module","full_name":"Panasonic::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Camera/HESeries","path":"Panasonic/Camera/HESeries.html","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"MOVEMENT_STOPPED","name":"MOVEMENT_STOPPED","value":"50"},{"id":"ZOOM_MAX","name":"ZOOM_MAX","value":"4095"},{"id":"ZOOM_MIN","name":"ZOOM_MIN","value":"1365"},{"id":"ZOOM_RANGE","name":"ZOOM_RANGE","value":"(ZOOM_MAX - ZOOM_MIN).to_f"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Camera","kind":"module","full_name":"Panasonic::Camera","name":"Camera"},"instance_methods":[{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L254"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n zoom?\n pantilt?\nend"}},{"html_id":"installation(position:Installation)-instance-method","name":"installation","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Installation"}],"args_string":"(position : Installation)","args_html":"(position : Installation)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L223"},"def":{"name":"installation","args":[{"name":"position","external_name":"position","restriction":"Installation"}],"visibility":"Public","body":"request(\"INS\", position.desk? ? 0 : 1) do |resp|\n parse_installation(resp)\nend"}},{"html_id":"installation?-instance-method","name":"installation?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L227"},"def":{"name":"installation?","visibility":"Public","body":"parse_installation(query(\"INS\"))"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L85"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan = (MOVEMENT_STOPPED + (joyspeed(pan_speed))).to_s.rjust(2, '0')\ntilt = (MOVEMENT_STOPPED + (joyspeed(tilt_speed))).to_s.rjust(2, '0')\nif (pan_speed == \"50\") && (tilt_speed == \"50\")\n options = {retries: 4, priority: queue.priority + 50, clear_queue: true, name: :joystick}\nelse\n options = {retries: 1, priority: queue.priority, clear_queue: false, name: :joystick}\nend\nrequest(\"PTS\", \"#{pan}#{tilt}\", **options) do |resp|\n pan, tilt = (resp[3..-1].scan(/.{2}/)).flat_map(&.to_a)\n self[:pan_speed] = pan.not_nil!.to_i - MOVEMENT_STOPPED\n self[:tilt_speed] = tilt.not_nil!.to_i - MOVEMENT_STOPPED\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L141"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .open?, .close?\nin .down?, .up?\n joystick(pan_speed: 0, tilt_speed: position.down? ? @default_movement_speed : -@default_movement_speed)\nin .left?, .right?\n joystick(pan_speed: position.left? ? -@default_movement_speed : @default_movement_speed, tilt_speed: 0)\nin .in?, .out?\n zoom(position.in? ? ZoomDirection::In : ZoomDirection::Out)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 130.milliseconds\nschedule.every(1.minute) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@default_movement_speed = (setting?(Int32, :default_movement_speed)) || 12\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32)-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"args_string":"(pan : Int32, tilt : Int32)","args_html":"(pan : Int32, tilt : Int32)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L238"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"}],"visibility":"Public","body":"pan_val = (pan.to_s(16)).upcase.rjust(4, '0')\ntilt_val = (tilt.to_s(16)).upcase.rjust(4, '0')\nrequest(\"APC\", \"#{pan_val}#{tilt_val}\", name: :pantilt) do |resp|\n parse_pantilt(resp)\nend\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L244"},"def":{"name":"pantilt?","visibility":"Public","body":"parse_pantilt(query(\"APC\"))"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L53"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n delay = 6.seconds\nend\nrequest(\"O\", state ? 1 : 0, delay: delay) do |resp|\n parse_power(resp)\nend\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L58"},"def":{"name":"power?","visibility":"Public","body":"parse_power(query(\"O\"))"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L115"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(preset[:pan], preset[:tilt])\n zoom_to(preset[:zoom])\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L132"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L125"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"do_poll\n@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L210"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"move_zoom(0, priority: 100)\njoystick(0, 0)\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L189"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case direction\nin .in?\n move_zoom(@default_movement_speed // 3)\nin .out?\n move_zoom(-@default_movement_speed)\nin .stop?\n move_zoom(0)\nend"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L177"},"def":{"name":"zoom?","visibility":"Public","body":"resp = query(\"GZ\")\nif resp.includes?(\"--\")\n message = \"camera in standby, operation unavailable\"\n logger.debug do\n message\n end\n message\nelse\n @zoom_raw = resp[2..-1].to_i(16)\n self[:zoom] = (@zoom_raw - ZOOM_MIN).to_f * (100.0 / ZOOM_RANGE)\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/panasonic/camera/he_series.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L167"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * ZOOM_RANGE).to_i + ZOOM_MIN\nrequest(\"AXZ\", (zoom_value.to_s(16)).upcase.rjust(3, '0')) do |resp|\n self[:zoom] = resp[3..-1].to_i(16)\nend\n"}}],"types":[{"html_id":"drivers/Panasonic/Camera/HESeries/Installation","path":"Panasonic/Camera/HESeries/Installation.html","kind":"enum","full_name":"Panasonic::Camera::HESeries::Installation","name":"Installation","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/camera/he_series.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L218"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Desk","name":"Desk","value":"0"},{"id":"Ceiling","name":"Ceiling","value":"1"}],"namespace":{"html_id":"drivers/Panasonic/Camera/HESeries","kind":"class","full_name":"Panasonic::Camera::HESeries","name":"HESeries"},"instance_methods":[{"html_id":"ceiling?-instance-method","name":"ceiling?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L220"},"def":{"name":"ceiling?","visibility":"Public","body":"self == Ceiling"}},{"html_id":"desk?-instance-method","name":"desk?","abstract":false,"location":{"filename":"src/panasonic/camera/he_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/camera/he_series.cr#L219"},"def":{"name":"desk?","visibility":"Public","body":"self == Desk"}}]}]}]},{"html_id":"drivers/Panasonic/Display","path":"Panasonic/Display.html","kind":"module","full_name":"Panasonic::Display","name":"Display","abstract":false,"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Display/Protocol2","path":"Panasonic/Display/Protocol2.html","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", input: \"IMS\", volume: \"AVL\", volume_query: \"QAV\", audio_mute: \"AMT\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HM1\", Inputs::HDMI2 => \"HM2\", Inputs::VGA => \"PC1\", Inputs::DVI => \"DVI\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Display","kind":"module","full_name":"Panasonic::Display","name":"Display"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L51"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L147"},"def":{"name":"do_poll","visibility":"Public","body":"if power?(priority: 0)\n mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","doc":"There is no input query command","summary":"

There is no input query command

","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L111"},"def":{"name":"input?","visibility":"Public","body":"self[:input]?"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There is no video mute command so this only mutes audio","summary":"

There is no video mute command so this only mutes audio

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L116"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"requested audio mute state: #{state}\"\n end\n do_send(:audio_mute, state ? 1 : 0)\nend"}},{"html_id":"mute?:Bool-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L129"},"def":{"name":"mute?","return_type":"Bool","visibility":"Public","body":"(do_send(:audio_mute)).get\n!(!self[:audio_mute]?.try(&.as_bool))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L42"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(60.seconds) do\n do_poll\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"dispadmin\"\n@password = (setting?(String, :password)) || \"@Panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L78"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)\nend\npower?\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L91"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(:power_query, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L165"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic display sent: #{data} for #{task.try(&.name) || \"unknown\"}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\ndata = data[2..-1]\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"display busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"display error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on, :power_off, :power_query\n if (cmd == (:power_on)) || (cmd == (:power_off))\n self[:power] = cmd == (:power_on)\n end\n if cmd == (:power_query)\n self[:power] = val.not_nil!.to_i == 1\n end\n if power_target = @power_target\n if self[:power] == power_target\n @power_target = nil\n else\n power(power_target)\n end\n end\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :volume, :volume_query\n self[:volume] = val.not_nil!.to_f\nwhen :audio_mute\n self[:audio_mute] = val.not_nil!.to_i == 1\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L104"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"logger.debug do\n \"requested to switch to: #{input}\"\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nself[:input] = input\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/panasonic/display/protocol2.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L134"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = (val.to_f.clamp(0.0, 100.0)).round_away.to_i\n(do_send(:volume, val.to_s.rjust(3, '0'))).get\nself[:volume] = val\n"}},{"html_id":"volume?:Int32|Nil-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L142"},"def":{"name":"volume?","return_type":"Int32 | ::Nil","visibility":"Public","body":"(do_send(:volume_query)).get\nself[:volume]?.try(&.as_i)\n"}}],"types":[{"html_id":"drivers/Panasonic/Display/Protocol2/Inputs","path":"Panasonic/Display/Protocol2/Inputs.html","kind":"enum","full_name":"Panasonic::Display::Protocol2::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/display/protocol2.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L21"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"DVI","name":"DVI","value":"3"}],"namespace":{"html_id":"drivers/Panasonic/Display/Protocol2","kind":"class","full_name":"Panasonic::Display::Protocol2","name":"Protocol2"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L25"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L23"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L22"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/display/protocol2.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/display/protocol2.cr#L24"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Panasonic/Projector","path":"Panasonic/Projector.html","kind":"module","full_name":"Panasonic::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Panasonic","kind":"module","full_name":"Panasonic","name":"Panasonic"},"types":[{"html_id":"drivers/Panasonic/Projector/NTControl","path":"Panasonic/Projector/NTControl.html","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{power_on: \"PON\", power_off: \"POF\", power_query: \"QPW\", freeze: \"OFZ\", input: \"IIS\", mute: \"OSH\", lamp: \"Q$S\", lamp_hours: \"Q$L\"}"},{"id":"ERRORS","name":"ERRORS","value":"{\"ERR1\" => \"1: Undefined control command\", \"ERR2\" => \"2: Out of parameter range\", \"ERR3\" => \"3: Busy state or no-acceptable period\", \"ERR4\" => \"4: Timeout or no-acceptable period\", \"ERR5\" => \"5: Wrong data length\", \"ERRA\" => \"A: Password mismatch\", \"ER401\" => \"401: Command cannot be executed\", \"ER402\" => \"402: Invalid parameter is sent\"}"},{"id":"INPUT_LOOKUP","name":"INPUT_LOOKUP","value":"INPUTS.invert"},{"id":"INPUTS","name":"INPUTS","value":"{Inputs::HDMI => \"HD1\", Inputs::HDMI2 => \"HD2\", Inputs::VGA => \"RG1\", Inputs::VGA2 => \"RG2\", Inputs::Miracast => \"MC1\", Inputs::DVI => \"DVI\", Inputs::DisplayPort => \"DP1\", Inputs::HDBaseT => \"DL1\", Inputs::Composite => \"VID\"}"},{"id":"RESPONSES","name":"RESPONSES","value":"COMMANDS.to_h.invert"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Panasonic/Projector","kind":"module","full_name":"Panasonic::Projector","name":"Projector"},"instance_methods":[{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L55"},"def":{"name":"disconnected","visibility":"Public","body":"if @channel.closed?\nelse\n @channel.close\nend"}},{"html_id":"lamp_hours?(**options)-instance-method","name":"lamp_hours?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L105"},"def":{"name":"lamp_hours?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp_hours, 1, **options)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes audio + video","summary":"

Mutes audio + video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L133"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"logger.debug do\n \"requested mute state: #{state}\"\nend\nactual = state ? 1 : 0\ndo_send(:mute, actual)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\")\nschedule.every(40.seconds) do\n power?(priority: 0)\n lamp_hours?(priority: 0)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L66"},"def":{"name":"on_update","visibility":"Public","body":"@username = (setting?(String, :username)) || \"admin1\"\n@password = (setting?(String, :password)) || \"panasonic\"\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L83"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:stable_power] = @stable_power = false\nself[:power_target] = state\nif state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:power_on, retries: 10, name: :power, delay: 8.seconds)\n do_send(:lamp)\nelse\n logger.debug do\n \"requested to power off\"\n end\n (do_send(:power_off, retries: 10, name: :power, delay: 8.seconds)).get\n schedule.in(10.seconds) do\n do_send(:lamp)\n end\nend\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L101"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(:lamp, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L158"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip\nlogger.debug do\n \"Panasonic sent: #{data}\"\nend\nif data.starts_with?(\"NTCONTROL\")\n if @channel && (!@channel.closed?)\n @channel.send(data[10] == '1' ? data[12..-1] : \"\")\n else\n transport.disconnect\n end\n return\nend\ntransport.disconnect\nif data[0] == 'E'\n self[:last_error] = error_msg = ERRORS[data]\n if {\"ERR3\", \"ERR4\"}.includes?(data)\n logger.info do\n \"projector busy: #{error_msg} (#{data})\"\n end\n task.try(&.retry)\n else\n logger.error do\n \"projector error: #{error_msg} (#{data})\"\n end\n task.try(&.abort(error_msg))\n end\n return\nend\nif task\nelse\n return\nend\ndata = data[2..-1]\nresp = data.split(':')\ncmd = RESPONSES[resp[0]]?\nval = resp[1]?\ncase cmd\nwhen :power_on\n self[:power] = true\nwhen :power_off\n self[:power] = false\nwhen :power_query\n self[:power] = val.not_nil!.to_i == 1\nwhen :freeze\n self[:frozen] = val.not_nil!.to_i == 1\nwhen :input\n self[:input] = INPUT_LOOKUP[val]\nwhen :mute\n state = self[:mute] = val.not_nil!.to_i == 1\n self[:mute0] = state\n self[:mute0_video] = state\n self[:mute0_audio] = state\nelse\n case task.name\n when \"lamp\"\n ival = resp[0].to_i\n self[:power] = {1, 2}.includes?(ival)\n self[:warming] = ival == 1\n self[:cooling] = ival == 3\n if !@stable_power\n if self[:power] == self[:power_target]\n self[:stable_power] = @stable_power = true\n else\n power(self[:power_target].as_bool)\n end\n end\n when \"lamp_hours\"\n self[:lamp_usage] = data.to_i\n end\nend\ntask.success\n"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L122"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"if self[:mute]\n unmute\nend\ndo_send(:input, INPUTS[input], delay: 2.seconds)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\nself[:input] = input\n"}}],"types":[{"html_id":"drivers/Panasonic/Projector/NTControl/Inputs","path":"Panasonic/Projector/NTControl/Inputs.html","kind":"enum","full_name":"Panasonic::Projector::NTControl::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/panasonic/projector/nt_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"HDMI2","name":"HDMI2","value":"1"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"3"},{"id":"Miracast","name":"Miracast","value":"4"},{"id":"DVI","name":"DVI","value":"5"},{"id":"DisplayPort","name":"DisplayPort","value":"6"},{"id":"HDBaseT","name":"HDBaseT","value":"7"},{"id":"Composite","name":"Composite","value":"8"}],"namespace":{"html_id":"drivers/Panasonic/Projector/NTControl","kind":"class","full_name":"Panasonic::Projector::NTControl","name":"NTControl"},"instance_methods":[{"html_id":"composite?-instance-method","name":"composite?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L31"},"def":{"name":"composite?","visibility":"Public","body":"self == Composite"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L29"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L28"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L30"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L24"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L23"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"miracast?-instance-method","name":"miracast?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L27"},"def":{"name":"miracast?","visibility":"Public","body":"self == Miracast"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L26"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/panasonic/projector/nt_control.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/panasonic/projector/nt_control.cr#L25"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]}]},{"html_id":"drivers/Pattr","path":"Pattr.html","kind":"module","full_name":"Pattr","name":"Pattr","abstract":false,"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Pattr/ChatBot","path":"Pattr/ChatBot.html","kind":"class","full_name":"Pattr::ChatBot","name":"ChatBot","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"instance_methods":[{"html_id":"chat_data_request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"chat_data_request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/pattr/chat_bot.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L45"},"def":{"name":"chat_data_request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nrequest = Request.from_json(body)\nresponse = case request\nin Location\n locate(request.referencing)\nend\npayload = response.to_json\nif @debug_webhook\n logger.debug do\n payload\n end\nend\n{HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, payload}\n"}},{"html_id":"locate(staff:Array(String))-instance-method","name":"locate","doc":"map reduce search for the users across all buildings","summary":"

map reduce search for the users across all buildings

","abstract":false,"args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"args_string":"(staff : Array(String))","args_html":"(staff : Array(String))","location":{"filename":"src/pattr/chat_bot.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L61"},"def":{"name":"locate","args":[{"name":"staff","external_name":"staff","restriction":"Array(String)"}],"visibility":"Public","body":"searches = staff.map do |username|\n email = username.includes?('@') ? username : nil\n queries = @buildings.map do |building|\n building[:LocationServices].locate_user(email, username)\n end\n {username, queries}\nend\nresponse = {} of String => PlaceLocationResult\nsearches.each do |__arg4|\n username = __arg4[0]\n queries = __arg4[1]\n locations = {} of String => PlaceLocationResult\n queries.each do |results|\n (Array(PlaceLocationResult).from_json(results.get.to_json)).map do |location|\n locations[location.location] = location\n end\n end\n if location = (locations[\"meeting\"]? || locations[\"wireless\"]?) || locations[\"desk\"]?\n response[username] = location\n end\nend\nresponse.transform_values do |location|\n case location.location\n when \"meeting\"\n {building: zones[location.building], level: zones[location.level], room: systems[location.sys_id.not_nil!]}\n else\n {building: zones[location.building], level: zones[location.level]}\n end\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"@zones = Hash(String, String).new do |hash, key|\n zone = (staff_api.zone(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg0|\n __arg0.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\n@systems = Hash(String, String).new do |hash, key|\n zone = (staff_api.get_system(key)).get.as_h\n hash[key] = zone[\"display_name\"]?.try() do |__arg2|\n __arg2.as_s?.try(&.presence)\n end || zone[\"name\"].as_s\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/pattr/chat_bot.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\nbuildings = (setting?(Array(String), :buildings)) || [config.control_system.not_nil!.id]\n@buildings = buildings.map do |id|\n system(id)\nend\n"}}]},{"html_id":"drivers/Pattr/Location","path":"Pattr/Location.html","kind":"class","full_name":"Pattr::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},"ancestors":[{"html_id":"drivers/Pattr/Request","kind":"class","full_name":"Pattr::Request","name":"Request"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L15"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"referencing:Array(String)-instance-method","name":"referencing","doc":"user emails / usernames of users we want to locate","summary":"

user emails / usernames of users we want to locate

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L19"},"def":{"name":"referencing","return_type":"Array(String)","visibility":"Public","body":"@referencing"}},{"html_id":"request:String-instance-method","name":"request","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L16"},"def":{"name":"request","return_type":"String","visibility":"Public","body":"@request"}}]},{"html_id":"drivers/Pattr/PlaceLocationResult","path":"Pattr/PlaceLocationResult.html","kind":"class","full_name":"Pattr::PlaceLocationResult","name":"PlaceLocationResult","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building:String-instance-method","name":"building","doc":"zone ids","summary":"

zone ids

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L29"},"def":{"name":"building","return_type":"String","visibility":"Public","body":"@building"}},{"html_id":"level:String-instance-method","name":"level","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L30"},"def":{"name":"level","return_type":"String","visibility":"Public","body":"@level"}},{"html_id":"location:String-instance-method","name":"location","doc":"wireless, desk, meeting, booking","summary":"

wireless, desk, meeting, booking

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L26"},"def":{"name":"location","return_type":"String","visibility":"Public","body":"@location"}},{"html_id":"sys_id:String|Nil-instance-method","name":"sys_id","doc":"system id (if it's a meeting room)","summary":"

system id (if it's a meeting room)

","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L33"},"def":{"name":"sys_id","return_type":"String | ::Nil","visibility":"Public","body":"@sys_id"}}]},{"html_id":"drivers/Pattr/Request","path":"Pattr/Request.html","kind":"class","full_name":"Pattr::Request","name":"Request","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/pattr/chat_bot_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Pattr/Location","kind":"class","full_name":"Pattr::Location","name":"Location"}],"namespace":{"html_id":"drivers/Pattr","kind":"module","full_name":"Pattr","name":"Pattr"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":"request type hint","summary":"

request type hint

","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/pattr/chat_bot_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"request\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'request' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'request'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"location\"\n Location.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'request' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"user:String-instance-method","name":"user","abstract":false,"location":{"filename":"src/pattr/chat_bot_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/pattr/chat_bot_models.cr#L12"},"def":{"name":"user","return_type":"String","visibility":"Public","body":"@user"}}]}]},{"html_id":"drivers/Philips","path":"Philips.html","kind":"module","full_name":"Philips","name":"Philips","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Philips/Dynalite","path":"Philips/Dynalite.html","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynalite.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"254 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(1.minute) do\n logger.debug do\n \"maintaining connection\"\n end\n get_current_preset(1)\nend"}},{"html_id":"decrement_area_level(area:UInt8)-instance-method","name":"decrement_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L124"},"def":{"name":"decrement_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 5, 0, 0, 255])"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L24"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"get_current_preset(area:UInt8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L59"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 99, 0, 0, 255]\ndo_send(command, wait: true)\n"}},{"html_id":"get_light_level(area:Int32,channel:Int32=255)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, channel : Int32 = 255)","args_html":"(area : Int32, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L116"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"do_send(Bytes[28, area & 255, channel & 255, 97, 0, 0, 255], wait: true)"}},{"html_id":"increment_area_level(area:UInt8)-instance-method","name":"increment_area_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L120"},"def":{"name":"increment_area_level","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, 100, 6, 0, 0, 255])"}},{"html_id":"light_level(area:Int32,level:Float64,fade:Int32=1000,channel:Int32=255)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"args_string":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","args_html":"(area : Int32, level : Float64, fade : Int32 = 1000, channel : Int32 = 255)","location":{"filename":"src/philips/dynalite.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L78"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"},{"name":"channel","default_value":"255","external_name":"channel","restriction":"Int32"}],"visibility":"Public","body":"cmd = 113\nfade = if fade <= 25500\n fade // 100\nelse\n if fade < 255000\n cmd = 114\n fade // 1000\n else\n cmd = 115\n (fade // 60000).clamp(1, 22)\n end\nend\narea_key = ((Area.new(area.to_u32, channel: channel == 255 ? nil : channel.to_u32)).append(\"level\")).to_s\nself[area_key] = level\nlevel = ((level.clamp(0.0, 100.0)) * LEVEL_PERCENTAGE).to_u8\nlevel = 255_u8 - level\ncommand = Bytes[28, area & 255, channel & 255, cmd, level, fade & 255, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"lighting(area:Int32,state:Bool,fade:Int32=1000)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, state : Bool, fade : Int32 = 1000)","args_html":"(area : Int32, state : Bool, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L71"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"level = state ? 100.0 : 0.0\nlight_level(area, level, fade)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L215"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nget_light_level(area_id, area_channel.to_i)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynalite.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L204"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = check_arguments(area)\nget_current_preset(area_id.to_u8)\n"}},{"html_id":"link_area(area:UInt8,join:UInt8)-instance-method","name":"link_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt8, join : UInt8)","args_html":"(area : UInt8, join : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L134"},"def":{"name":"link_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"join","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Bytes[28, area, join, 20, 0, 0, 255])"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynalite.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L17"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\nqueue.delay = 35.milliseconds\ntransport.tokenizer = Tokenizer.new(8, Bytes[28])\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynalite.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L138"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received 0x#{data.hexstring}\"\nend\ncase data[3]\nwhen 0, 1, 2, 3, 10, 11, 12, 13\n number = data[3]\n if number > 3\n number = number - (10 + 4)\n end\n number = number + ((data[5] * 8) + 1)\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 98\n number = data[2] + 1\n self[Area.new(data[1].to_u32)] = number\n task.try(&.success(number))\nwhen 96\n level = data[4]\n level = 255 - level\n level = level / LEVEL_PERCENTAGE\n channel = data[2].to_u32\n area_key = ((Area.new(data[1].to_u32, channel: channel == 255_u32 ? nil : channel)).append(\"level\")).to_s\n self[area_key] = level\n task.try(&.success(level))\nelse\n task.try(&.success)\nend\n"}},{"html_id":"save_preset(area:UInt8,scene:UInt8)-instance-method","name":"save_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"args_string":"(area : UInt8, scene : UInt8)","args_html":"(area : UInt8, scene : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L65"},"def":{"name":"save_preset","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"scene","external_name":"scene","restriction":"UInt8"}],"visibility":"Public","body":"num = (scene - 1) & 255\ncommand = Bytes[28, area, num, 9, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L209"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\narea_channel = area.try(&.channel) || 255_u32\nlight_level(area_id, level, fade_time.to_i, area_channel.to_i)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynalite.cr","line_number":199,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L199"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id = check_arguments(area)\ntrigger(area_id, scene.to_i, fade_time.to_i)\n"}},{"html_id":"stop_all_fading(area:UInt8)-instance-method","name":"stop_all_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L111"},"def":{"name":"stop_all_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, 0, 122, 0, 0, 255]\ndo_send(command)\n"}},{"html_id":"stop_fading(area:UInt8,channel:UInt8=255_u8)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"args_string":"(area : UInt8, channel : UInt8 = 255_u8)","args_html":"(area : UInt8, channel : UInt8 = 255_u8)","location":{"filename":"src/philips/dynalite.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L106"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt8"},{"name":"channel","default_value":"255_u8","external_name":"channel","restriction":"UInt8"}],"visibility":"Public","body":"command = Bytes[28, area, channel, 118, 0, 0, 255]\ndo_send(command, name: \"level_#{area}_#{channel}\")\n"}},{"html_id":"trigger(area:Int32,scene:Int32,fade:Int32=1000)-instance-method","name":"trigger","doc":"fade_time in millisecond","summary":"

fade_time in millisecond

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"args_string":"(area : Int32, scene : Int32, fade : Int32 = 1000)","args_html":"(area : Int32, scene : Int32, fade : Int32 = 1000)","location":{"filename":"src/philips/dynalite.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L37"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"Int32"},{"name":"scene","external_name":"scene","restriction":"Int32"},{"name":"fade","default_value":"1000","external_name":"fade","restriction":"Int32"}],"visibility":"Public","body":"fade_centi = fade // 10\nself[Area.new(area.to_u32)] = scene\nscene = scene - 1\nbank = scene // 8\nscene = scene - (bank * 8)\nif scene >= 4\n scene = scene + 6\nend\ncommand = Bytes[28, area & 255, fade_centi & 255, scene & 255, (fade_centi >> 8) & 255, bank, 255]\nschedule.in((fade + 200).milliseconds) do\n get_light_level(area)\nend\ndo_send(command, name: \"preset_#{area}_#{scene}\")\n"}},{"html_id":"unlink_area(area:UInt8)-instance-method","name":"unlink_area","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"args_string":"(area : UInt8)","args_html":"(area : UInt8)","location":{"filename":"src/philips/dynalite.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L128"},"def":{"name":"unlink_area","args":[{"name":"area","external_name":"area","restriction":"UInt8"}],"visibility":"Public","body":"link_area(area, 0_u8)"}}],"types":[{"html_id":"drivers/Philips/Dynalite/Area","path":"Philips/Dynalite/Area.html","kind":"alias","full_name":"Philips::Dynalite::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynalite.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynalite.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/Dynalite","kind":"class","full_name":"Philips::Dynalite","name":"Dynalite"}}]},{"html_id":"drivers/Philips/DyNetText","path":"Philips/DyNetText.html","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/philips/dynet_text.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Philips","kind":"module","full_name":"Philips","name":"Philips"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L28"},"def":{"name":"connected","visibility":"Public","body":"@ready = false\nself[:ready] = false\nschedule.every(60.seconds) do\n logger.debug do\n \"-- polling gateway\"\n end\n get_date\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L38"},"def":{"name":"disconnected","visibility":"Public","body":"new_telnet_client\nschedule.clear\n"}},{"html_id":"get_current_preset(area:UInt16,join:UInt8=255_u8)-instance-method","name":"get_current_preset","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8)","args_html":"(area : UInt16, join : UInt8 = 255_u8)","location":{"filename":"src/philips/dynet_text.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L169"},"def":{"name":"get_current_preset","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"}],"visibility":"Public","body":"do_send(\"RequestCurrentPreset #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}\" : \"get_area#{area}_#{join}\"))"}},{"html_id":"get_date-instance-method","name":"get_date","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L152"},"def":{"name":"get_date","visibility":"Public","body":"do_send(\"RequestDate\", name: :date)"}},{"html_id":"get_light_level(area:UInt16,join:UInt8=255_u8,channel:UInt16=1_u16)-instance-method","name":"get_light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 1_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L183"},"def":{"name":"get_light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"1_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"RequestChannelLevel #{channel} #{area} #{join}\", name: (join == 255_u8 ? \"get_area#{area}_level\" : \"get_area#{area}_#{join}_level\"))"}},{"html_id":"get_time-instance-method","name":"get_time","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L156"},"def":{"name":"get_time","visibility":"Public","body":"do_send(\"RequestTime\", name: :time)"}},{"html_id":"light_level(area:UInt16,level:Float64,join:UInt8=255_u8,fade:UInt32=1000_u32,channel:UInt16=0_u16)-instance-method","name":"light_level","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, level : Float64, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L177"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"level","external_name":"level","restriction":"Float64"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"level = level.round_away.to_i\ndo_send(\"ChannelLevel #{channel} #{level.clamp(0, 100)} #{area} #{fade} #{join}\", name: \"level#{area}_#{channel}_#{join}\")\n"}},{"html_id":"lighting(area:UInt16,state:Bool,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"lighting","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, state : Bool, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L173"},"def":{"name":"lighting","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"state","external_name":"state","restriction":"Bool"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"light_level(area, state ? 100.0 : 0.0, join, fade)"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L218"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 1_u32\nget_light_level(area_id, area_join, area_channel.to_u16)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/philips/dynet_text.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L207"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\nget_current_preset(area_id, area_join)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/philips/dynet_text.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"new_telnet_client\ntransport.pre_processor do |bytes|\n telnet.buffer(bytes)\nend\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/philips/dynet_text.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L48"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = (String.new(data)).strip(\"\\u0000\\r\\n\\t \")\nif data.empty?\n return\nend\nlogger.debug do\n \"Dynalite sent: #{data}\"\nend\nif @ready\n components = (data.split(\", \")).map do |component|\n parts = component.downcase.split\n value = parts.pop\n key = parts.join(' ')\n {key, value}\n end.to_h\n process_response(data, components, task)\nelse\n if data =~ (/Connection Established/i)\n @ready = true\n self[:ready] = true\n do_send(\"Echo 0\", name: \"echo\")\n do_send(\"Verbose\", name: \"verbose\")\n do_send(\"ReplyOK 1\", name: \"replies\")\n do_send(\"Join 255\", name: \"join\")\n end\nend\n"}},{"html_id":"send_custom(data:String)-instance-method","name":"send_custom","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"String"}],"args_string":"(data : String)","args_html":"(data : String)","location":{"filename":"src/philips/dynet_text.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L165"},"def":{"name":"send_custom","args":[{"name":"data","external_name":"data","restriction":"String"}],"visibility":"Public","body":"do_send(data)"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L212"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\narea_channel = area.try(&.channel) || 0_u32\nlight_level(area_id, level, area_join, fade_time, area_channel.to_u16)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L202"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area_id, area_join = check_arguments(area)\ntrigger(area_id, scene.to_u16, area_join, fade_time)\n"}},{"html_id":"stop_fading(area:UInt16,join:UInt8=255_u8,channel:UInt16=0_u16)-instance-method","name":"stop_fading","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"args_string":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","args_html":"(area : UInt16, join : UInt8 = 255_u8, channel : UInt16 = 0_u16)","location":{"filename":"src/philips/dynet_text.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L188"},"def":{"name":"stop_fading","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"channel","default_value":"0_u16","external_name":"channel","restriction":"UInt16"}],"visibility":"Public","body":"do_send(\"StopFade #{channel} #{area} #{join}\", name: \"stopfade#{area}_#{join}_#{channel}\")"}},{"html_id":"trigger(area:UInt16,scene:UInt16,join:UInt8=255_u8,fade:UInt32=1000_u32)-instance-method","name":"trigger","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"args_string":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","args_html":"(area : UInt16, scene : UInt16, join : UInt8 = 255_u8, fade : UInt32 = 1000_u32)","location":{"filename":"src/philips/dynet_text.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L160"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt16"},{"name":"scene","external_name":"scene","restriction":"UInt16"},{"name":"join","default_value":"255_u8","external_name":"join","restriction":"UInt8"},{"name":"fade","default_value":"1000_u32","external_name":"fade","restriction":"UInt32"}],"visibility":"Public","body":"do_send(\"Preset #{scene} #{area} #{fade} #{join}\", name: \"preset#{area}_#{join}\")"}}],"types":[{"html_id":"drivers/Philips/DyNetText/Area","path":"Philips/DyNetText/Area.html","kind":"alias","full_name":"Philips::DyNetText::Area","name":"Area","abstract":false,"locations":[{"filename":"src/philips/dynet_text.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/philips/dynet_text.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Philips/DyNetText","kind":"class","full_name":"Philips::DyNetText","name":"DyNetText"}}]}]},{"html_id":"drivers/Place","path":"Place.html","kind":"module","full_name":"Place","name":"Place","abstract":false,"locations":[{"filename":"src/place/area_config.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L4"},{"filename":"src/place/meet/help.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L3"},{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Place/AreaConfig","path":"Place/AreaConfig.html","kind":"class","full_name":"Place::AreaConfig","name":"AreaConfig","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(id:String,name,coordinates,building_id=nil,area_type:String=\"Feature\",feature_type:String=\"section\",capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"args_string":"(id : String, name, coordinates, building_id = nil, area_type : String = \"Feature\", feature_type : String = \"section\", capacity = nil)","args_html":"(id : String, name, coordinates, building_id = nil, area_type : String = "Feature", feature_type : String = "section", capacity = nil)","location":{"filename":"src/place/area_config.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L19"},"def":{"name":"new","args":[{"name":"id","external_name":"id","restriction":"::String"},{"name":"name","external_name":"name","restriction":""},{"name":"coordinates","external_name":"coordinates","restriction":""},{"name":"building_id","default_value":"nil","external_name":"building_id","restriction":""},{"name":"area_type","default_value":"\"Feature\"","external_name":"area_type","restriction":"::String"},{"name":"feature_type","default_value":"\"section\"","external_name":"feature_type","restriction":"::String"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(id, name, coordinates, building_id, area_type, feature_type, capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L33"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/place/area_config.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L33"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}},{"html_id":"building:String|Nil-instance-method","name":"building","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L46"},"def":{"name":"building","return_type":"String | ::Nil","visibility":"Public","body":"self.properties[\"building_id\"]?.as?(String)"}},{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L50"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"(self.properties[\"capacity\"]?.as?(Int64 | Float64)).try(&.to_i)"}},{"html_id":"coordinates(map_width:Float64,map_height:Float64)-instance-method","name":"coordinates","abstract":false,"args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"args_string":"(map_width : Float64, map_height : Float64)","args_html":"(map_width : Float64, map_height : Float64)","location":{"filename":"src/place/area_config.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L62"},"def":{"name":"coordinates","args":[{"name":"map_width","external_name":"map_width","restriction":"Float64"},{"name":"map_height","external_name":"map_height","restriction":"Float64"}],"visibility":"Public","body":"@adjusted_coords = self.geometry.coordinates.map do |__arg1|\n x = __arg1[0]\n y = __arg1[1]\n {x * map_width, y * map_height}\nend"}},{"html_id":"coordinates-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L54"},"def":{"name":"coordinates","visibility":"Public","body":"if coords = @adjusted_coords\n coords\nelse\n self.geometry.coordinates\nend"}},{"html_id":"feature_type:String-instance-method","name":"feature_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L34"},"def":{"name":"feature_type","return_type":"String","visibility":"Public","body":"@feature_type"}},{"html_id":"feature_type=(feature_type:String)-instance-method","name":"feature_type=","abstract":false,"args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"args_string":"(feature_type : String)","args_html":"(feature_type : String)","location":{"filename":"src/place/area_config.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L34"},"def":{"name":"feature_type=","args":[{"name":"feature_type","external_name":"feature_type","restriction":"String"}],"visibility":"Public","body":"@feature_type = feature_type"}},{"html_id":"geometry:Geometry-instance-method","name":"geometry","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L36"},"def":{"name":"geometry","return_type":"Geometry","visibility":"Public","body":"@geometry"}},{"html_id":"geometry=(geometry:Geometry)-instance-method","name":"geometry=","abstract":false,"args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"args_string":"(geometry : Geometry)","args_html":"(geometry : Geometry)","location":{"filename":"src/place/area_config.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L36"},"def":{"name":"geometry=","args":[{"name":"geometry","external_name":"geometry","restriction":"Geometry"}],"visibility":"Public","body":"@geometry = geometry"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L30"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/area_config.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L42"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"self.properties[\"name\"].as(String)"}},{"html_id":"polygon:Polygon-instance-method","name":"polygon","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L66"},"def":{"name":"polygon","return_type":"Polygon","visibility":"Public","body":"@polygon || (@polygon = Polygon.new(coordinates.map do |coords|\n Point.new(*coords)\nend))"}},{"html_id":"properties:Hash(String,JSON::Any::Type)-instance-method","name":"properties","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L37"},"def":{"name":"properties","return_type":"Hash(String, JSON::Any::Type)","visibility":"Public","body":"@properties"}},{"html_id":"properties=(properties:Hash(String,JSON::Any::Type))-instance-method","name":"properties=","abstract":false,"args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"args_string":"(properties : Hash(String, JSON::Any::Type))","args_html":"(properties : Hash(String, JSON::Any::Type))","location":{"filename":"src/place/area_config.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L37"},"def":{"name":"properties=","args":[{"name":"properties","external_name":"properties","restriction":"Hash(String, JSON::Any::Type)"}],"visibility":"Public","body":"@properties = properties"}}]},{"html_id":"drivers/Place/AreaManagement","path":"Place/AreaManagement.html","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","doc":"PlaceOS client config","summary":"

PlaceOS client config

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L81"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L151"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"is_inside?(x:Float64,y:Float64,area_id:String):Bool-instance-method","name":"is_inside?","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(x : Float64, y : Float64, area_id : String) : Bool","args_html":"(x : Float64, y : Float64, area_id : String) : Bool","location":{"filename":"src/place/area_management.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L565"},"def":{"name":"is_inside?","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"area = @areas[area_id]\narea.polygon.contains(x, y)\n"}},{"html_id":"level_details:Hash(String,LevelCapacity)-instance-method","name":"level_details","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L78"},"def":{"name":"level_details","return_type":"Hash(String, LevelCapacity)","visibility":"Public","body":"@level_details"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L97"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\nspawn(same_thread: true) do\n update_scheduler\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L104"},"def":{"name":"on_unload","visibility":"Public","body":"@rate_limit.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L108"},"def":{"name":"on_update","visibility":"Public","body":"@include_sensors = (setting?(Bool, :include_sensors)) || false\n@desk_id_mappings = (setting?(Array(String), :desk_id_mappings)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@location_service = (setting?(String, :location_service)).presence || \"LocationServices\"\n@duplication_factor = (setting?(Float64, :duplication_factor)) || 0.8\n@sensor_discovery = {} of String => SensorMeta\n@rounding_precision = (setting?(UInt32, :rounding_precision)) || 2_u32\nif building_areas = setting?(Hash(String, Array(AreaSetting)), :areas)\n @level_areas.clear\n building_areas.each do |zone_id, areas|\n @level_areas[zone_id] = areas.map do |area|\n config = AreaConfig.new(area[:id], area[:name], area[:coordinates], area[:building])\n @areas[config.id] = config\n config\n end\n end\nend\nschedule.clear\nschedule.every(@poll_rate) do\n synchronize_all_levels\nend\nif @include_sensors\n schedule.in(@poll_rate * 3) do\n schedule.every(2.hours + (rand(300)).seconds, immediate: true) do\n write_sensor_discovery\n end\n end\nend\nunits = (setting?(Hash(String, String), :units)) || ({} of String => String)\n@units = units.transform_keys do |key|\n SensorType.parse(key)\nend\n"}},{"html_id":"request_level_locations(level_id:String,sensor_data:Hash(String,Array(SensorDetail))|Nil=nil):Nil-instance-method","name":"request_level_locations","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","args_html":"(level_id : String, sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil) : Nil","location":{"filename":"src/place/area_management.cr","line_number":546,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L546"},"def":{"name":"request_level_locations","args":[{"name":"level_id","external_name":"level_id","restriction":"String"},{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"@update_lock.synchronize do\n zone = Zone.from_json((staff_api.zone(level_id)).get.to_json)\n if !(zone.tags.includes?(\"level\"))\n logger.warn do\n \"attempted to update location for #{zone.name} (#{level_id}) which is not tagged as a level\"\n end\n return\n end\n metadata = Metadata.from_json((staff_api.metadata(level_id)).get.to_json)\n update_level_details(@level_details, zone, metadata)\n update_level_locations(@level_counts, level_id, @level_details[level_id], sensor_data)\n update_overview\nend"}},{"html_id":"request_locations(sensor_data:Hash(String,Array(SensorDetail))|Nil=nil)-instance-method","name":"request_locations","abstract":false,"args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"args_string":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","args_html":"(sensor_data : Hash(String, Array(SensorDetail)) | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L534"},"def":{"name":"request_locations","args":[{"name":"sensor_data","default_value":"nil","external_name":"sensor_data","restriction":"Hash(String, Array(SensorDetail)) | ::Nil"}],"visibility":"Public","body":"@update_lock.synchronize do\n level_counts = {} of String => RawLevelDetails\n @level_details.each do |level_id, details|\n update_level_locations(level_counts, level_id, details, sensor_data)\n end\n @level_counts = level_counts\n update_overview\nend"}},{"html_id":"request_sensor_data(level_id:String|Nil=nil):Hash(String,Array(SensorDetail))-instance-method","name":"request_sensor_data","doc":"Queries all the sensors in a building and exposes the data","summary":"

Queries all the sensors in a building and exposes the data

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","args_html":"(level_id : String | Nil = nil) : Hash(String, Array(SensorDetail))","location":{"filename":"src/place/area_management.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L193"},"def":{"name":"request_sensor_data","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"return_type":"Hash(String, Array(SensorDetail))","visibility":"Public","body":"sensors = if level_id\n location_service.sensors(zone_id: level_id).get.as_a\nelse\n location_service.sensors.get.as_a\nend\nlevels = Hash(String, Array(SensorDetail)).new do |h, k|\n h[k] = [] of SensorDetail\nend\nif sensors.empty?\n return levels\nend\ndetails = Array(SensorDetail).from_json(sensors.to_json)\nbuilding_id_local = building_id\nlocs = sensor_locations(level_id)\ndetails.each do |sensor|\n id = sensor.id ? \"#{sensor.mac}-#{sensor.id}\" : sensor.mac\n @sensor_discovery[id] = SensorMeta.new(sensor.name, sensor.type, sensor.level, sensor.x, sensor.y)\n sensor.module_id = sensor.binding = sensor.loc = nil\n if location = locs[id]?\n sensor.x = location.x\n sensor.y = location.y\n sensor.level = location.level\n sensor.building = building_id_local\n end\n if sensor.x && (level_id ? sensor.level == level_id : sensor.level)\n if ((curr_unit = sensor.unit) && (desired_unit = @units[sensor.type]?)) && (curr_unit != desired_unit)\n begin\n sensor.value = ((Units::Measurement.new(sensor.value, curr_unit)).convert_to(desired_unit)).to_f\n sensor.unit = desired_unit\n rescue error\n logger.warn(exception: error) do\n \"failed to convert #{sensor.value} #{curr_unit} => #{desired_unit}\"\n end\n end\n end\n levels[sensor.level] << sensor\n end\nend\nlevels.each do |level, the_sensors|\n self[\"#{level}:sensors\"] = {value: the_sensors, ts_hint: \"complex\", ts_map: {x: \"xloc\", y: \"yloc\"}, ts_tag_keys: {\"s2_cell_id\"}, ts_tags: {pos_building: building_id_local, pos_level: level}}\nend\nlevels\n"}},{"html_id":"sensor_locations(level_id:String|Nil=nil)-instance-method","name":"sensor_locations","doc":"returns the sensor location data that has been configured","summary":"

returns the sensor location data that has been configured

","abstract":false,"args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"args_string":"(level_id : String | Nil = nil)","args_html":"(level_id : String | Nil = nil)","location":{"filename":"src/place/area_management.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L184"},"def":{"name":"sensor_locations","args":[{"name":"level_id","default_value":"nil","external_name":"level_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"if level_id\n @level_sensors[level_id]? || ({} of String => SensorMeta)\nelse\n @level_sensors.values.reduce({} of String => SensorMeta) do |acc, i|\n acc.merge!(i)\n end\nend"}},{"html_id":"synchronize_all_levels-instance-method","name":"synchronize_all_levels","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L635"},"def":{"name":"synchronize_all_levels","visibility":"Public","body":"@schedule_lock.synchronize do\n @update_all = true\nend"}},{"html_id":"update_available(level_ids:Array(String))-instance-method","name":"update_available","abstract":false,"args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"args_string":"(level_ids : Array(String))","args_html":"(level_ids : Array(String))","location":{"filename":"src/place/area_management.cr","line_number":631,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L631"},"def":{"name":"update_available","args":[{"name":"level_ids","external_name":"level_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@schedule_lock.synchronize do\n @update_levels.concat(level_ids)\nend"}},{"html_id":"write_sensor_discovery-instance-method","name":"write_sensor_discovery","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L179"},"def":{"name":"write_sensor_discovery","visibility":"Public","body":"staff_api.write_metadata(building_id, \"sensor-discovered\", @sensor_discovery)"}}],"types":[{"html_id":"drivers/Place/AreaManagement/AreaSetting","path":"Place/AreaManagement/AreaSetting.html","kind":"alias","full_name":"Place::AreaManagement::AreaSetting","name":"AreaSetting","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: String, name: String, building: String | Nil, coordinates: Array(Tuple(Float64, Float64)))","aliased_html":"{id: String, name: String, building: String?, coordinates: Array({Float64, Float64})}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/ChildMetadata","path":"Place/AreaManagement/ChildMetadata.html","kind":"alias","full_name":"Place::AreaManagement::ChildMetadata","name":"ChildMetadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L329"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Array(NamedTuple(zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)))","aliased_html":"Array({zone: PlaceOS::Client::API::Models::Zone, metadata: Hash(String, PlaceOS::Client::API::Models::Metadata)})","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/LevelCapacity","path":"Place/AreaManagement/LevelCapacity.html","kind":"alias","full_name":"Place::AreaManagement::LevelCapacity","name":"LevelCapacity","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String))","aliased_html":"{total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Metadata","path":"Place/AreaManagement/Metadata.html","kind":"alias","full_name":"Place::AreaManagement::Metadata","name":"Metadata","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L328"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, PlaceOS::Client::API::Models::Metadata)","aliased_html":"Hash(String, PlaceOS::Client::API::Models::Metadata)","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/RawLevelDetails","path":"Place/AreaManagement/RawLevelDetails.html","kind":"alias","full_name":"Place::AreaManagement::RawLevelDetails","name":"RawLevelDetails","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L61"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: NamedTuple(total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)), sensors: Hash(String, Float64))","aliased_html":"{wireless_devices: Int32, desk_bookings: Int32, desk_usage: Int32, capacity: {total_desks: Int32, total_capacity: Int32, desk_ids: Array(String), desk_mappings: Hash(String, String)}, sensors: Hash(String, Float64)}","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorDetail","path":"Place/AreaManagement/SensorDetail.html","kind":"alias","full_name":"Place::AreaManagement::SensorDetail","name":"SensorDetail","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L163"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::Detail","aliased_html":"PlaceOS::Driver::Interface::Sensor::Detail","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/SensorMeta","path":"Place/AreaManagement/SensorMeta.html","kind":"struct","full_name":"Place::AreaManagement::SensorMeta","name":"SensorMeta","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_management.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"},"constructors":[{"html_id":"new(name:Nil|String,type:PlaceOS::Driver::Interface::Sensor::SensorType|Nil,level:Nil|String,x:Float64|Nil,y:Float64|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"args_string":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","args_html":"(name : Nil | String, type : PlaceOS::Driver::Interface::Sensor::SensorType | Nil, level : Nil | String, x : Float64 | Nil, y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L169"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Nil | ::String"},{"name":"type","external_name":"type","restriction":"::PlaceOS::Driver::Interface::Sensor::SensorType | ::Nil"},{"name":"level","external_name":"level","restriction":"::Nil | ::String"},{"name":"x","external_name":"x","restriction":"::Float64 | ::Nil"},{"name":"y","external_name":"y","restriction":"::Float64 | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, type, level, x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_management.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L167"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"level:String|Nil-instance-method","name":"level","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L174"},"def":{"name":"level","return_type":"String | ::Nil","visibility":"Public","body":"@level"}},{"html_id":"level=(level:String|Nil)-instance-method","name":"level=","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"args_string":"(level : String | Nil)","args_html":"(level : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L174"},"def":{"name":"level=","args":[{"name":"level","external_name":"level","restriction":"String | ::Nil"}],"visibility":"Public","body":"@level = level"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L173"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/place/area_management.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L173"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"type:SensorType|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L172"},"def":{"name":"type","return_type":"SensorType | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:SensorType|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"args_string":"(type : SensorType | Nil)","args_html":"(type : SensorType | Nil)","location":{"filename":"src/place/area_management.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L172"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"SensorType | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"x:Float64|Nil-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L175"},"def":{"name":"x","return_type":"Float64 | ::Nil","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64|Nil)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"args_string":"(x : Float64 | Nil)","args_html":"(x : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L175"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64|Nil-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L176"},"def":{"name":"y","return_type":"Float64 | ::Nil","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64|Nil)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"args_string":"(y : Float64 | Nil)","args_html":"(y : Float64 | Nil)","location":{"filename":"src/place/area_management.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L176"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64 | ::Nil"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/Place/AreaManagement/SensorType","path":"Place/AreaManagement/SensorType.html","kind":"alias","full_name":"Place::AreaManagement::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L164"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}},{"html_id":"drivers/Place/AreaManagement/Zone","path":"Place/AreaManagement/Zone.html","kind":"alias","full_name":"Place::AreaManagement::Zone","name":"Zone","abstract":false,"locations":[{"filename":"src/place/area_management.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_management.cr#L327"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Client::API::Models::Zone","aliased_html":"PlaceOS::Client::API::Models::Zone","const":false,"namespace":{"html_id":"drivers/Place/AreaManagement","kind":"class","full_name":"Place::AreaManagement","name":"AreaManagement"}}]},{"html_id":"drivers/Place/AutoDeskCheckin","path":"Place/AutoDeskCheckin.html","kind":"class","full_name":"Place::AutoDeskCheckin","name":"AutoDeskCheckin","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_check_in-instance-method","name":"fetch_and_check_in","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L33"},"def":{"name":"fetch_and_check_in","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nbooking_ids = (staff_api.query_bookings(@booking_category, period_start, period_end, @zones, checked_in: false)).get.as_a.map do |booking|\n booking[\"id\"].as_i64\nend\nsuccess = 0\nfailed = [] of Int64\nbooking_ids.each do |id|\n begin\n (staff_api.booking_check_in(id, true, \"auto-checkin\")).get\n success = success + 1\n rescue error\n failed << id\n logger.debug(exception: error) do\n \"failed to check-in booking #{id}\"\n end\n end\nend\n\"checked-in #{success} bookings, failed #{failed.size}: #{failed}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/auto_desk_checkin.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/auto_desk_checkin.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"@zones = setting(Array(String), :check_in_zones)\n@time_period = (setting(Int32, :hours_before_booking_start)).hours\n@booking_category = setting(String, :booking_category)\nschedule.clear\nschedule.every(5.minutes) do\n fetch_and_check_in\nend\n"}}]},{"html_id":"drivers/Place/Booking","path":"Place/Booking.html","kind":"class","full_name":"Place::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_model.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_model.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String|Nil-instance-method","name":"action","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L7"},"def":{"name":"action","return_type":"String | ::Nil","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String|Nil)-instance-method","name":"action=","doc":"This is to support events","summary":"

This is to support events

","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"args_string":"(action : String | Nil)","args_html":"(action : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L7"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String | ::Nil"}],"visibility":"Public","body":"@action = action"}},{"html_id":"approved:Bool|Nil-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L31"},"def":{"name":"approved","return_type":"Bool | ::Nil","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool|Nil)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"args_string":"(approved : Bool | Nil)","args_html":"(approved : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L31"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L36"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L36"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L35"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L35"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L19"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"(@asset_id || @resource_id).not_nil!"}},{"html_id":"asset_id=(asset_id:String|Nil)-instance-method","name":"asset_id=","doc":"events use resource_id instead of asset_id","summary":"

events use resource_id instead of asset_id

","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"args_string":"(asset_id : String | Nil)","args_html":"(asset_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L16"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L39"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L38"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L12"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L12"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L11"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L11"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L10"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/booking_model.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L10"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"changed-instance-method","name":"changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L52"},"def":{"name":"changed","visibility":"Public","body":"Time.unix(last_changed.not_nil!)"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L41"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"if (value = @checked_in).nil?\n @checked_in = (false)\nelse\n value\nend"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/booking_model.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L41"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"checked_in=(checked_in:Bool|Nil)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(checked_in : Bool | Nil)","args_html":"(checked_in : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L29"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L43"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L43"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"extension_data:Hash(String,JSON::Any)-instance-method","name":"extension_data","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L45"},"def":{"name":"extension_data","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @extension_data).nil?\n @extension_data = ({} of String => JSON::Any)\nelse\n value\nend"}},{"html_id":"extension_data=(extension_data:Hash(String,JSON::Any))-instance-method","name":"extension_data=","abstract":false,"args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"args_string":"(extension_data : Hash(String, JSON::Any))","args_html":"(extension_data : Hash(String, JSON::Any))","location":{"filename":"src/place/booking_model.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L45"},"def":{"name":"extension_data=","args":[{"name":"extension_data","external_name":"extension_data","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"@extension_data = extension_data"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L9"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/booking_model.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L9"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"in_progress?-instance-method","name":"in_progress?","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L47"},"def":{"name":"in_progress?","visibility":"Public","body":"now = Time.utc.to_unix\nnow >= @booking_start && now < @booking_end\n"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L33"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L33"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L32"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L32"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool|Nil-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L30"},"def":{"name":"rejected","return_type":"Bool | ::Nil","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool|Nil)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"args_string":"(rejected : Bool | Nil)","args_html":"(rejected : Bool | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L30"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L17"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String|Nil)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"args_string":"(resource_id : String | Nil)","args_html":"(resource_id : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L17"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L13"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L13"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L42"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/booking_model.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L42"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L24"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/booking_model.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L24"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L23"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/booking_model.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L23"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L25"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/booking_model.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L25"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L27"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_model.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_model.cr#L27"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/BookingApprovalWorkflows","path":"Place/BookingApprovalWorkflows.html","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L433"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg9|\n _event = __arg9[0]\n entered = __arg9[1]\n expired > entered\nend\nexpired = 1.hour.ago.to_unix\n@group_email_notifications.reject! do |_, entered|\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n building_name = details[:name]\n approval_type = details[:approval]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, approval_type, building_name, building_key, support_email, attachments, months_from_now)\n end\nend\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":261,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L261"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @approval_lookup[zone_id]?\n if details\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details[:name], details[:approval], details[:support_email], attachments}\n end\nend\nnil\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":548,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L548"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (mailer.get_user_manager(staff_email)).get\n {(manager[\"email\"]? || manager[\"username\"]).as_s, manager[\"name\"].as_s}\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n {nil, nil}\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L55"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approval_workflows.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@remind_after = ((setting?(Int32, :remind_after)) || 24).hours\n@escalate_after = ((setting?(Int32, :escalate_after)) || 48).hours\n@notify_managers = (setting?(Bool, :notify_managers)) || false\n@approval_lookup = setting(Hash(String, SiteDetails), :approval_type)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\nschedule.clear\nschedule.every(5.minutes) do\n check_bookings\nend\nreminders = (setting?(Reminders, :reminders)) || {crons: [] of String, zones: {} of String => Array(String)}\nreminders[:crons].each do |cron|\n reminders[:zones].each do |timezone, zones|\n begin\n schedule.cron(cron, Time::Location.load(timezone)) do\n send_checkin_reminder(zones)\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to schedule reminder: #{zones} => #{timezone} : #{cron}\"\n end\n end\n end\nend\n"}},{"html_id":"send_checkin_reminder(zones:Array(String)|Nil=nil,timezone:String|Nil=nil)-instance-method","name":"send_checkin_reminder","abstract":false,"args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","args_html":"(zones : Array(String) | Nil = nil, timezone : String | Nil = nil)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L604"},"def":{"name":"send_checkin_reminder","args":[{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"time_now = Time.utc.in(timezone ? Time::Location.load(timezone) : @time_zone)\ntime_now = time_now.at_beginning_of_day + 12.hours\ntime_now = time_now.to_local_in(Time::Location::UTC)\nquery_start = time_now.to_unix\nquery_end = (time_now + 30.minutes).to_unix\n@check_bookings_mutex.synchronize do\n @approval_lookup.each do |building_zone, details|\n if zones && (!(zones.includes?(building_zone)))\n next\n end\n building_name = details[:name]\n support_email = details[:support_email]\n attachments = (details[:attachments] || ({} of String => String)).compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_checkin_reminder(building_zone, building_name, building_key, support_email, attachments, query_start, query_end)\n end\nend\n"}},{"html_id":"users_with_invalid_desk_bookings(building_zone:String,ending:Int64)-instance-method","name":"users_with_invalid_desk_bookings","abstract":false,"args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"args_string":"(building_zone : String, ending : Int64)","args_html":"(building_zone : String, ending : Int64)","location":{"filename":"src/place/booking_approval_workflows.cr","line_number":557,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L557"},"def":{"name":"users_with_invalid_desk_bookings","args":[{"name":"building_zone","external_name":"building_zone","restriction":"String"},{"name":"ending","external_name":"ending","restriction":"Int64"}],"visibility":"Public","body":"meta_raw = (staff_api.metadata_children(building_zone, \"desks\")).get.as_a\nmetadata = {} of String => Hash(String, Array(String))\nmeta_raw.each do |zone|\n desks = {} of String => Array(String)\n zone_id = zone[\"zone\"][\"id\"].as_s\n zone[\"metadata\"][\"desks\"][\"details\"].as_a.each do |desk|\n desks[desk[\"id\"].as_s] = desk[\"groups\"].as_a.map() do |__arg12|\n __arg12.as_s.downcase\n end\n end\n metadata[zone_id] = desks\nend\nusers = [] of Tuple(String, String, String, Int64, Int64, String)\nbookings = staff_api.query_bookings(type: \"desk\", period_end: ending, zones: [building_zone], rejected: false).get.as_a\nbookings.each do |booking|\n user_email = booking[\"user_email\"].as_s\n level_id = (booking[\"zones\"].as_a.map(&.as_s).reject(building_zone)).first\n desk_id = booking[\"asset_id\"].as_s\n booking_id = booking[\"id\"].as_i64\n starting = booking[\"booking_start\"].as_i64\n if desks = metadata[level_id]?\n if groups = desks[desk_id]?\n if groups.empty?\n next\n end\n users_groups = (mailer.get_groups(user_email)).get.as_a.map do |g|\n g[\"name\"].as_s.downcase\n end\n overlap = users_groups & groups\n if overlap.empty?\n date_friendly = (Time.unix(starting)).to_s(@date_format)\n users << {user_email, desk_id, level_id, booking_id, starting, date_friendly}\n end\n end\n end\nend\nlogger.debug do\n \"Email,Desk ID,Zone,Booking id,Starting,Start date\\n#{users.map do |u|\n \"#{u[0]},#{u[1]},#{u[2]},#{u[3]},#{u[4]},#{u[5]}\"\n end.join(\"\\n\")}\"\nend\nnil\n"}}],"types":[{"html_id":"drivers/Place/BookingApprovalWorkflows/Reminders","path":"Place/BookingApprovalWorkflows/Reminders.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::Reminders","name":"Reminders","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(crons: Array(String), zones: Hash(String, Array(String)))","aliased_html":"{crons: Array(String), zones: Hash(String, Array(String))}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}},{"html_id":"drivers/Place/BookingApprovalWorkflows/SiteDetails","path":"Place/BookingApprovalWorkflows/SiteDetails.html","kind":"alias","full_name":"Place::BookingApprovalWorkflows::SiteDetails","name":"SiteDetails","abstract":false,"locations":[{"filename":"src/place/booking_approval_workflows.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approval_workflows.cr#L81"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(approval: String, name: String, support_email: String, attachments: Hash(String, String) | Nil)","aliased_html":"{approval: String, name: String, support_email: String, attachments: Hash(String, String)?}","const":false,"namespace":{"html_id":"drivers/Place/BookingApprovalWorkflows","kind":"class","full_name":"Place::BookingApprovalWorkflows","name":"BookingApprovalWorkflows"}}]},{"html_id":"drivers/Place/BookingApprover","path":"Place/BookingApprover.html","kind":"class","full_name":"Place::BookingApprover","name":"BookingApprover","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_approver.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve_missed-instance-method","name":"approve_missed","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L78"},"def":{"name":"approve_missed","visibility":"Public","body":"booking_type = @approve_booking_types[0]? || \"desk\"\nbookings = Array(Booking).from_json(staff_api.query_bookings(type: booking_type, zones: [get_building_id], approved: false, period_end: 8.weeks.from_now.to_unix).get.to_json)\nbookings.each do |booking|\n booking.action = \"create\"\n approve_booking(booking)\nend\n\"found #{bookings.size} missed\"\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L37"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n approve_booking(Booking.from_json(payload))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@approve_zones = (setting?(Array(String), :approve_zones)) || ([] of String)\n@approve_booking_types = (setting?(Array(String), :approve_booking_types)) || ([] of String)\nschedule.clear\nschedule.every(10.minutes) do\n approve_missed\nend\n"}},{"html_id":"status-instance-method","name":"status","abstract":false,"location":{"filename":"src/place/booking_approver.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_approver.cr#L96"},"def":{"name":"status","visibility":"Public","body":"{bookings_approved: @bookings_approved}"}}]},{"html_id":"drivers/Place/BookingCheckInHelper","path":"Place/BookingCheckInHelper.html","kind":"class","full_name":"Place::BookingCheckInHelper","name":"BookingCheckInHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_check_in_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"current_meeting:PlaceCalendar::Event|Nil-instance-method","name":"current_meeting","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L86"},"def":{"name":"current_meeting","return_type":"PlaceCalendar::Event | ::Nil","visibility":"Public","body":"@current_meeting"}},{"html_id":"ignore_long_meeting?:Bool-instance-method","name":"ignore_long_meeting?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L135"},"def":{"name":"ignore_long_meeting?","return_type":"Bool","visibility":"Public","body":"meeting = current_meeting\nif meeting\nelse\n return false\nend\nevent_end = meeting.event_end\nif event_end\nelse\n return true\nend\nignore_length = @ignore_longer_than\nif ignore_length\nelse\n return false\nend\nmeeting_length = event_end - meeting.event_start\nmeeting_length >= ignore_length\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L13"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"meeting_pending?:Bool-instance-method","name":"meeting_pending?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L84"},"def":{"name":"meeting_pending?","return_type":"Bool","visibility":"Public","body":"@meeting_pending"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L69"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L99"},"def":{"name":"on_update","visibility":"Public","body":"@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n@decline_message = setting?(String, :decline_message)\n@ignore_longer_than = (setting?(Int32, :ignore_longer_than)).try(&.minutes)\n@prompt_after = ((setting?(Int32, :prompt_after)) || 10).minutes\n@present_from = ((setting?(Int32, :present_from)) || 5).minutes\n@auto_cancel = (setting?(Bool, :auto_cancel)) || false\n@check_in_url = (setting?(String, :check_in_url)) || \"\"\n@no_show_url = (setting?(String, :no_show_url)) || \"\"\nif @check_in_url.presence\n @domain = (URI.parse(@check_in_url)).host.not_nil!\nend\nsubscriptions.clear\nbookings.subscribe(:current_booking) do |_sub, pending|\n event = ::Union(PlaceCalendar::Event, ::Nil).from_json(pending)\n update_current(event)\nend\nbookings.subscribe(:current_pending) do |_sub, pending|\n update_pending(pending == \"true\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nmonitor(\"#{config.control_system.not_nil!.id}/guest/bookings/prompted\") do |_sub, response|\n checkin_or_end_meeting(**NamedTuple(id: String, check_in: Bool).from_json(response))\nend\ntimezone = (setting?(String, :time_zone)) || config.control_system.not_nil!.timezone.presence\nif timezone\n @timezone = Time::Location.load(timezone)\nend\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/booking_check_in_helper.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_check_in_helper.cr#L85"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}}]},{"html_id":"drivers/Place/BookingNotifier","path":"Place/BookingNotifier.html","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"calendar-instance-method","name":"calendar","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L60"},"def":{"name":"calendar","visibility":"Public","body":"system[:Calendar]"}},{"html_id":"check_bookings(months_from_now:Int32=2)-instance-method","name":"check_bookings","abstract":false,"args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"args_string":"(months_from_now : Int32 = 2)","args_html":"(months_from_now : Int32 = 2)","location":{"filename":"src/place/booking_notifier.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L301"},"def":{"name":"check_bookings","args":[{"name":"months_from_now","default_value":"2","external_name":"months_from_now","restriction":"Int32"}],"visibility":"Public","body":"expired = 5.minutes.ago.to_unix\n@debounce.reject! do |_, __arg2|\n _event = __arg2[0]\n entered = __arg2[1]\n expired > entered\nend\n@check_bookings_mutex.synchronize do\n @notify_lookup.each do |building_zone, details|\n building_name = details.name\n email = details.email\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n building_key = building_name.downcase.gsub(' ', '_')\n perform_booking_check(building_zone, building_name, building_key, email, details.notify_booking_owner, details.notify_manager, attachments, months_from_now)\n end\nend\n"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":444,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L444"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"get_building_name(zones:Array(String))-instance-method","name":"get_building_name","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/booking_notifier.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L249"},"def":{"name":"get_building_name","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"zones.each do |zone_id|\n details = @notify_lookup[zone_id]?\n if details\n attachments = details.attachments.compact_map do |n, l|\n get_attachment(n, l)\n end\n logger.debug do\n \"attaching #{attachments.size} files\"\n end\n return {zone_id, details, attachments}\n end\nend\n{nil, nil, nil}\n"}},{"html_id":"get_manager(staff_email:String)-instance-method","name":"get_manager","abstract":false,"args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"args_string":"(staff_email : String)","args_html":"(staff_email : String)","location":{"filename":"src/place/booking_notifier.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L425"},"def":{"name":"get_manager","args":[{"name":"staff_email","external_name":"staff_email","restriction":"String"}],"visibility":"Public","body":"begin\n manager = (calendar.get_user_manager(staff_email)).get\n (manager[\"email\"]? || manager[\"username\"]).as_s\nrescue error\n logger.warn do\n \"failed to email manager of #{staff_email}\\n#{error.inspect_with_backtrace}\"\n end\n nil\nend"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L56"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L64"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n parse_booking(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L106"},"def":{"name":"on_update","visibility":"Public","body":"@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\ntime_zone = (setting?(String, :calendar_time_zone)).presence || \"Australia/Sydney\"\n@time_zone = Time::Location.load(time_zone)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\n@notify_lookup = setting(Hash(String, SiteDetails), :notify)\nattach = setting?(Bool, :disable_attachments)\n@disable_attachments = attach.nil? ? true : !(!attach)\n@poll_bookings = setting(Bool, :poll_bookings)\n@poll_every_minutes = setting(Int32, :poll_every_minutes)\nschedule.clear\nif @poll_bookings\n schedule.every(@poll_every_minutes.minutes) do\n check_bookings\n end\nend\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/booking_notifier.cr","line_number":433,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L433"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/BookingNotifier/SiteDetails","path":"Place/BookingNotifier/SiteDetails.html","kind":"class","full_name":"Place::BookingNotifier::SiteDetails","name":"SiteDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/booking_notifier.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/BookingNotifier","kind":"class","full_name":"Place::BookingNotifier","name":"BookingNotifier"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/booking_notifier.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L89"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attachments:Hash(String,String)-instance-method","name":"attachments","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L93"},"def":{"name":"attachments","return_type":"Hash(String, String)","visibility":"Public","body":"if (value = @attachments).nil?\n @attachments = ({} of String => String)\nelse\n value\nend"}},{"html_id":"email:Array(String)-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L92"},"def":{"name":"email","return_type":"Array(String)","visibility":"Public","body":"if (value = @email).nil?\n @email = ([] of String)\nelse\n value\nend"}},{"html_id":"include_network_credentials:Bool|Nil-instance-method","name":"include_network_credentials","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L96"},"def":{"name":"include_network_credentials","return_type":"Bool | ::Nil","visibility":"Public","body":"@include_network_credentials"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L91"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"network_group_ids:Array(String)-instance-method","name":"network_group_ids","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L103"},"def":{"name":"network_group_ids","return_type":"Array(String)","visibility":"Public","body":"if (value = @network_group_ids).nil?\n @network_group_ids = ([] of String)\nelse\n value\nend"}},{"html_id":"network_password_exclude:String|Nil-instance-method","name":"network_password_exclude","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L98"},"def":{"name":"network_password_exclude","return_type":"String | ::Nil","visibility":"Public","body":"@network_password_exclude"}},{"html_id":"network_password_length:Int32|Nil-instance-method","name":"network_password_length","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L97"},"def":{"name":"network_password_length","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_length"}},{"html_id":"network_password_minimum_lowercase:Int32|Nil-instance-method","name":"network_password_minimum_lowercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L99"},"def":{"name":"network_password_minimum_lowercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_lowercase"}},{"html_id":"network_password_minimum_numbers:Int32|Nil-instance-method","name":"network_password_minimum_numbers","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L101"},"def":{"name":"network_password_minimum_numbers","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_numbers"}},{"html_id":"network_password_minimum_symbols:Int32|Nil-instance-method","name":"network_password_minimum_symbols","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L102"},"def":{"name":"network_password_minimum_symbols","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_symbols"}},{"html_id":"network_password_minimum_uppercase:Int32|Nil-instance-method","name":"network_password_minimum_uppercase","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L100"},"def":{"name":"network_password_minimum_uppercase","return_type":"Int32 | ::Nil","visibility":"Public","body":"@network_password_minimum_uppercase"}},{"html_id":"notify_booking_owner:Bool|Nil-instance-method","name":"notify_booking_owner","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L95"},"def":{"name":"notify_booking_owner","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_booking_owner"}},{"html_id":"notify_manager:Bool|Nil-instance-method","name":"notify_manager","abstract":false,"location":{"filename":"src/place/booking_notifier.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/booking_notifier.cr#L94"},"def":{"name":"notify_manager","return_type":"Bool | ::Nil","visibility":"Public","body":"@notify_manager"}}]}]},{"html_id":"drivers/Place/Bookings","path":"Place/Bookings.html","kind":"class","full_name":"Place::Bookings","name":"Bookings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUBSCRIPTION_LENGTH","name":"SUBSCRIPTION_LENGTH","value":"3.hours","doc":"the API reports that 6 days is the max:\nSubscription expiration can only be 10070 minutes in the future.","summary":"

the API reports that 6 days is the max: Subscription expiration can only be 10070 minutes in the future.

"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"book_now(period_in_seconds:Int64,title:String|Nil=nil,owner:String|Nil=nil)-instance-method","name":"book_now","abstract":false,"args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"args_string":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","args_html":"(period_in_seconds : Int64, title : String | Nil = nil, owner : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L211"},"def":{"name":"book_now","args":[{"name":"period_in_seconds","external_name":"period_in_seconds","restriction":"Int64"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"owner","default_value":"nil","external_name":"owner","restriction":"String | ::Nil"}],"visibility":"Public","body":"title || (title = @default_title)\nstarting = Time.utc.to_unix\nending = starting + period_in_seconds\nif @next_pending || (status?(Bool, \"in_use\"))\n raise(\"the room is currently in use\")\nend\nif next_booking = upcoming\n if next_booking.event_start.to_unix < ending\n raise(\"unable to book due to clash\")\n end\nend\nlogger.debug do\n \"booking event #{title}, from #{starting}, to #{ending}, in #{@time_zone.name}, on #{@calendar_id}\"\nend\nroom_email = system.email.not_nil!\nif @application_permissions\n host_calendar = @calendar_id\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, true)]\n if owner && (!owner.empty?)\n attendees << (PlaceCalendar::Event::Attendee.new(owner, owner))\n end\nelse\n host_calendar = owner.presence || @calendar_id\n room_is_organizer = host_calendar == room_email\n attendees = [PlaceCalendar::Event::Attendee.new(room_email, room_email, \"accepted\", true, room_is_organizer)]\nend\nevent = calendar.create_event(title: title, event_start: starting, event_end: ending, description: \"\", attendees: attendees, location: status?(String, \"room_name\"), timezone: @time_zone.name, calendar_id: host_calendar)\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(2.seconds) do\n poll_events\n end\nend\nevent\n"}},{"html_id":"calendar_id:String-instance-method","name":"calendar_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L58"},"def":{"name":"calendar_id","return_type":"String","visibility":"Public","body":"@calendar_id"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/bookings.cr","line_number":474,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L474"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nsys_email = @calendar_id.downcase\nif (sys_email == mac_address.downcase) && (host = current.try(&.host))\n {location: \"meeting\", assigned_to: host, mac_address: sys_email}\nend\n"}},{"html_id":"checkin-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L184"},"def":{"name":"checkin","visibility":"Public","body":"if booking = pending\n start_meeting(booking.event_start.to_unix)\nend"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":486,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L486"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\n[] of Nil\n"}},{"html_id":"end_meeting(meeting_start_time:Int64,notify:Bool=false,comment:String|Nil=nil):Nil-instance-method","name":"end_meeting","doc":"End either the current meeting early, or the pending meeting","summary":"

End either the current meeting early, or the pending meeting

","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","args_html":"(meeting_start_time : Int64, notify : Bool = false, comment : String | Nil = nil) : Nil","location":{"filename":"src/place/bookings.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L191"},"def":{"name":"end_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"cmeeting = current\nresult = if cmeeting && (cmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"deleting event #{cmeeting.title}, from #{@calendar_id}\"\n end\n calendar.delete_event(@calendar_id, cmeeting.id)\nelse\n nmeeting = upcoming\n if nmeeting && (nmeeting.event_start.to_unix == meeting_start_time)\n logger.debug do\n \"declining event #{nmeeting.title}, from #{@calendar_id}\"\n end\n calendar.decline_event(@calendar_id, nmeeting.id, notify: notify, comment: comment)\n else\n raise(\"only the current or pending meeting can be cancelled\")\n end\nend\nresult.get\nif (subscription = @subscription) && (!subscription.expired?)\nelse\n schedule.in(1.seconds) do\n poll_events\n end\nend\n"}},{"html_id":"is_stale?(timestamp:Int64|Nil):Bool-instance-method","name":"is_stale?","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"args_string":"(timestamp : Int64 | Nil) : Bool","args_html":"(timestamp : Int64 | Nil) : Bool","location":{"filename":"src/place/bookings.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L567"},"def":{"name":"is_stale?","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Int64 | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"if timestamp.nil?\n return self[:sensor_stale] = false\nend\nsensor_time = Time.unix(timestamp)\nstale_time = @sensor_stale_minutes.ago\nif sensor_time > stale_time\n self[:sensor_stale] = false\nelse\n @perform_sensor_search = true\n self[:sensor_stale] = true\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/bookings.cr","line_number":445,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L445"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nemail = email.to_s.downcase\nusername = username.to_s.downcase\nmatching_events = [] of PlaceCalendar::Event\nif event = current\n emails = event.attendees.map() do |__arg1|\n __arg1.email.downcase\n end\n if host = event.host\n emails << host.downcase\n end\n if (emails.includes?(email)) || (emails.includes?(username))\n logger.debug do\n \"found user {#{email}, #{username}} in list of attendees\"\n end\n matching_events << event\n else\n if (!username.empty?) && emails.find(&.starts_with?(username))\n logger.debug do\n \"found email starting with username '#{username}' in list of attendees\"\n end\n matching_events << event\n end\n end\nend\nto_location_format(matching_events)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/bookings.cr","line_number":470,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L470"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"(locate_user(email, username)).map(&.[](:mac))"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L80"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L84"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\n@calendar_id = ((setting?(String, :calendar_id)).presence || system.email.not_nil!).downcase\n@perform_sensor_search = true\nschedule.in((Random.rand(30)).seconds + (Random.rand(30000)).milliseconds) do\n poll_events\nend\ncache_polling_period = ((setting?(UInt32, :cache_polling_period)) || 2_u32).minutes.total_milliseconds.to_i\ncache_polling_period = cache_polling_period + (Random.rand(5000))\ncache_random_period = cache_polling_period // 3\nschedule.every(cache_polling_period.milliseconds) do\n schedule.in((Random.rand(cache_random_period)).milliseconds) do\n poll_events\n end\nend\ntime_zone = (setting?(String, :calendar_time_zone)).presence || config.control_system.not_nil!.timezone.presence\nif time_zone\n @time_zone = Time::Location.load(time_zone)\nend\n@default_title = (setting?(String, :book_now_default_title)).presence || \"Ad Hoc booking\"\nbook_now = setting?(Bool, :disable_book_now)\nnot_bookable = (setting?(Bool, :not_bookable)) || false\nself[:bookable] = bookable = not_bookable ? false : system.bookable\n@disable_book_now = book_now.nil? ? !bookable : !(!book_now)\n@disable_end_meeting = !(!(setting?(Bool, :disable_end_meeting)))\n@disable_book_now_host = (setting?(Bool, :disable_book_now_host)) || false\npending_period = (setting?(UInt32, :pending_period)) || 5_u32\n@pending_period = pending_period.minutes\npending_before = (setting?(UInt32, :pending_before)) || 5_u32\n@pending_before = pending_before.minutes\ncache_days = (setting?(UInt32, :cache_days)) || 30_u32\n@cache_days = cache_days.days\n@change_event_sync_delay = (setting?(UInt32, :change_event_sync_delay)) || 5_u32\n@last_booking_started = (setting?(Int64, :last_booking_started)) || 0_i64\n@include_cancelled_bookings = (setting?(Bool, :include_cancelled_bookings)) || false\n@application_permissions = (setting?(Bool, :application_permissions)) || false\n@sensor_stale_minutes = ((setting?(Int32, :sensor_stale_minutes)) || 8).minutes\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nschedule.cron(\"* * * * *\") do\n schedule.in((rand(1000)).milliseconds) do\n if list = self[:bookings]?\n check_current_booking(list.as_a)\n end\n end\nend\npush_notificaitons_configure\nself[:room_name] = ((setting?(String, :room_name)).presence || config.control_system.not_nil!.display_name.presence) || config.control_system.not_nil!.name\nself[:room_capacity] = (setting?(Int32, :room_capacity)) || config.control_system.not_nil!.capacity\nself[:default_title] = @default_title\nself[:disable_book_now_host] = @disable_book_now_host\nself[:disable_book_now] = @disable_book_now\nself[:disable_end_meeting] = @disable_end_meeting\nself[:pending_period] = pending_period\nself[:pending_before] = pending_before\nself[:control_ui] = setting?(String, :control_ui)\nself[:catering_ui] = setting?(String, :catering_ui)\nself[:room_image] = setting?(String, :room_image)\nself[:hide_meeting_details] = (setting?(Bool, :hide_meeting_details)) || false\nself[:hide_meeting_title] = (setting?(Bool, :hide_meeting_title)) || false\nself[:offline_color] = setting?(String, :offline_color)\nself[:offline_image] = setting?(String, :offline_image)\nself[:custom_qr_color] = setting?(String, :custom_qr_color)\nself[:custom_qr_url] = setting?(String, :custom_qr_url)\nself[:show_qr_code] = !((setting?(Bool, :hide_qr_code)) || false)\nself[:sensor_mac] = @sensor_mac = setting?(String, :sensor_mac)\nself[:min_duration] = (setting?(Int32, :min_duration)) || 15\nself[:max_duration] = (setting?(Int32, :max_duration)) || 480\nself[:enable_end_meeting_button] = (setting?(Bool, :enable_end_meeting_button)) || false\n"}},{"html_id":"poll_events:Nil-instance-method","name":"poll_events","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L257"},"def":{"name":"poll_events","return_type":"Nil","visibility":"Public","body":"begin\n if @polling\n return\n end\n @polling = true\n if @perform_sensor_search\n check_for_sensors\n end\n now = Time.local(@time_zone)\n start_of_day = now.at_beginning_of_day.to_unix\n cache_period = start_of_day + @cache_days.to_i\n logger.debug do\n \"polling events #{@calendar_id}, from #{start_of_day}, to #{cache_period}, in #{@time_zone.name}\"\n end\n events = (calendar.list_events(@calendar_id, start_of_day, cache_period, @time_zone.name, include_cancelled: @include_cancelled_bookings)).get.as_a.sort do |a, b|\n a[\"event_start\"].as_i64 <=> b[\"event_start\"].as_i64\n end\n self[:bookings] = events\n check_current_booking(events)\n events\nensure\n @polling = false\nend"}},{"html_id":"start_meeting(meeting_start_time:Int64):Nil-instance-method","name":"start_meeting","abstract":false,"args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"args_string":"(meeting_start_time : Int64) : Nil","args_html":"(meeting_start_time : Int64) : Nil","location":{"filename":"src/place/bookings.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L176"},"def":{"name":"start_meeting","args":[{"name":"meeting_start_time","external_name":"meeting_start_time","restriction":"Int64"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"starting meeting #{meeting_start_time}\"\nend\n@last_booking_started = meeting_start_time\ndefine_setting(:last_booking_started, meeting_start_time)\nself[:last_booking_started] = meeting_start_time\ncheck_current_booking(self[:bookings].as_a)\n"}},{"html_id":"sub_renewed_at:Time-instance-method","name":"sub_renewed_at","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":671,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L671"},"def":{"name":"sub_renewed_at","return_type":"Time","visibility":"Public","body":"@sub_renewed_at"}}],"types":[{"html_id":"drivers/Place/Bookings/NotifyEvent","path":"Place/Bookings/NotifyEvent.html","kind":"struct","full_name":"Place::Bookings::NotifyEvent","name":"NotifyEvent","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":600,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L600"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings.cr","line_number":601,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L601"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"client_secret:String-instance-method","name":"client_secret","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":607,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L607"},"def":{"name":"client_secret","return_type":"String","visibility":"Public","body":"@client_secret"}},{"html_id":"event_type:NotifyType-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":603,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L603"},"def":{"name":"event_type","return_type":"NotifyType","visibility":"Public","body":"@event_type"}},{"html_id":"expiration_time:Time-instance-method","name":"expiration_time","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":610,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L610"},"def":{"name":"expiration_time","return_type":"Time","visibility":"Public","body":"@expiration_time"}},{"html_id":"resource_id:String|Nil-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":604,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L604"},"def":{"name":"resource_id","return_type":"String | ::Nil","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_uri:String-instance-method","name":"resource_uri","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L605"},"def":{"name":"resource_uri","return_type":"String","visibility":"Public","body":"@resource_uri"}},{"html_id":"subscription_id:String-instance-method","name":"subscription_id","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":606,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L606"},"def":{"name":"subscription_id","return_type":"String","visibility":"Public","body":"@subscription_id"}}]},{"html_id":"drivers/Place/Bookings/NotifyType","path":"Place/Bookings/NotifyType.html","kind":"enum","full_name":"Place::Bookings::NotifyType","name":"NotifyType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L588"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Created","name":"Created","value":"0","doc":"resource event changes","summary":"

resource event changes

"},{"id":"Updated","name":"Updated","value":"1"},{"id":"Deleted","name":"Deleted","value":"2"},{"id":"Renew","name":"Renew","value":"3","doc":"subscription lifecycle event (MS only)","summary":"

subscription lifecycle event (MS only)

"},{"id":"Missed","name":"Missed","value":"4"},{"id":"Reauthorize","name":"Reauthorize","value":"5"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"created?-instance-method","name":"created?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":590,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L590"},"def":{"name":"created?","visibility":"Public","body":"self == Created"}},{"html_id":"deleted?-instance-method","name":"deleted?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L592"},"def":{"name":"deleted?","visibility":"Public","body":"self == Deleted"}},{"html_id":"missed?-instance-method","name":"missed?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L596"},"def":{"name":"missed?","visibility":"Public","body":"self == Missed"}},{"html_id":"reauthorize?-instance-method","name":"reauthorize?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":597,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L597"},"def":{"name":"reauthorize?","visibility":"Public","body":"self == Reauthorize"}},{"html_id":"renew?-instance-method","name":"renew?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":595,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L595"},"def":{"name":"renew?","visibility":"Public","body":"self == Renew"}},{"html_id":"updated?-instance-method","name":"updated?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L591"},"def":{"name":"updated?","visibility":"Public","body":"self == Updated"}}]},{"html_id":"drivers/Place/Bookings/ServiceName","path":"Place/Bookings/ServiceName.html","kind":"enum","full_name":"Place::Bookings::ServiceName","name":"ServiceName","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L583"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Google","name":"Google","value":"0"},{"id":"Office365","name":"Office365","value":"1"}],"namespace":{"html_id":"drivers/Place/Bookings","kind":"class","full_name":"Place::Bookings","name":"Bookings"},"instance_methods":[{"html_id":"google?-instance-method","name":"google?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L584"},"def":{"name":"google?","visibility":"Public","body":"self == Google"}},{"html_id":"office365?-instance-method","name":"office365?","abstract":false,"location":{"filename":"src/place/bookings.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings.cr#L585"},"def":{"name":"office365?","visibility":"Public","body":"self == Office365"}}]}]},{"html_id":"drivers/Place/Calendar","path":"Place/Calendar.html","kind":"class","full_name":"Place::Calendar","name":"Calendar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/CalendarCommon","path":"Place/CalendarCommon.html","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon","abstract":false,"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"locations":[{"filename":"src/place/calendar_common.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"including_types":[{"html_id":"drivers/Microsoft/GraphAPI","kind":"class","full_name":"Microsoft::GraphAPI","name":"GraphAPI"},{"html_id":"drivers/Place/Calendar","kind":"class","full_name":"Place::Calendar","name":"Calendar"},{"html_id":"drivers/Place/WorkspaceAPI","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L290"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"accepting event #{event_id} on #{calendar_id}\"\nend\nclient(&.accept_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"access_token(user_id:String|Nil=nil)-instance-method","name":"access_token","abstract":false,"args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String | Nil = nil)","args_html":"(user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L164"},"def":{"name":"access_token","args":[{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.info do\n \"access token requested #{user_id}\"\nend\nclient(&.access_token(user_id))\n"}},{"html_id":"calendar_service_name-instance-method","name":"calendar_service_name","doc":"returns: google or office365","summary":"

returns: google or office365

","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":356,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L356"},"def":{"name":"calendar_service_name","visibility":"Public","body":"@client.not_nil!.client_id"}},{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L299"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nclient(&.create_event(user_id, event, calendar_id))\n"}},{"html_id":"create_notifier(resource:String,notification_url:String,expiration_time:Int64,client_secret:String|Nil=nil,lifecycle_notification_url:String|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"create_notifier","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"args_string":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","args_html":"(resource : String, notification_url : String, expiration_time : Int64, client_secret : String | Nil = nil, lifecycle_notification_url : String | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L361"},"def":{"name":"create_notifier","args":[{"name":"resource","external_name":"resource","restriction":"String"},{"name":"notification_url","external_name":"notification_url","restriction":"String"},{"name":"expiration_time","external_name":"expiration_time","restriction":"Int64"},{"name":"client_secret","default_value":"nil","external_name":"client_secret","restriction":"String | ::Nil"},{"name":"lifecycle_notification_url","default_value":"nil","external_name":"lifecycle_notification_url","restriction":"String | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(expiration_time)\nclient(&.create_notifier(resource, notification_url, expires, client_secret, lifecycle_notification_url: lifecycle_notification_url))\n"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L272"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"declining event #{event_id} on #{calendar_id}\"\nend\nclient(&.decline_event(user_id, event_id, calendar_id: calendar_id, notify: notify, comment: comment))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L281"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nclient(&.delete_event(user_id, event_id, calendar_id: calendar_id, notify: notify))\n"}},{"html_id":"delete_notifier(subscription:PlaceCalendar::Subscription):Nil-instance-method","name":"delete_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"args_string":"(subscription : PlaceCalendar::Subscription) : Nil","args_html":"(subscription : PlaceCalendar::Subscription) : Nil","location":{"filename":"src/place/calendar_common.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L380"},"def":{"name":"delete_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"}],"return_type":"Nil","visibility":"Public","body":"client(&.delete_notifier(subscription))"}},{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/calendar_common.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L123"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/calendar_common.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L119"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"get_event(calendar_id:String,event_id:String,user_id:String|Nil=nil)-instance-method","name":"get_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":265,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L265"},"def":{"name":"get_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"fetching event #{event_id} on #{calendar_id}\"\nend\nuser_id = (user_id || @service_account.presence) || calendar_id\nclient(&.get_event(user_id, id: event_id, calendar_id: calendar_id))\n"}},{"html_id":"get_group(group_id:String)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L223"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_group(group_id)).to_place_group\n end\nend\n"}},{"html_id":"get_groups(user_id:String)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L170"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nclient(&.get_groups(user_id))\n"}},{"html_id":"get_members(group_id:String)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L176"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nclient(&.get_members(group_id))\n"}},{"html_id":"get_user(user_id:String)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L188"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nclient(&.get_user_by_email(user_id))\n"}},{"html_id":"get_user_manager(user_id:String)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L201"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.get_user_manager(user_id)).to_place_calendar\n end\nend\n"}},{"html_id":"in_flight_size-instance-method","name":"in_flight_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L115"},"def":{"name":"in_flight_size","visibility":"Public","body":"@flight_size"}},{"html_id":"list_calendars(user_id:String)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/calendar_common.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L194"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nclient(&.list_calendars(user_id))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,ical_uid:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, ical_uid : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L233"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"location = time_zone ? Time::Location.load(time_zone) : Time::Location.local\nperiod_start = (Time.unix(period_start)).in(location)\nperiod_end = (Time.unix(period_end)).in(location)\nuser_id = (user_id || @service_account.presence) || calendar_id\nlogger.debug do\n \"listing events for #{calendar_id}\"\nend\n_client = @client.not_nil!\nevents = if _client.client_id == (:google)\n (_client.calendar.as(PlaceCalendar::Google)).list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid, quotaUser: calendar_id[0..39])\nelse\n _client.list_events(user_id, calendar_id, period_start: period_start, period_end: period_end, showDeleted: include_cancelled, ical_uid: ical_uid)\nend\nif ical_uid\n events = events.select do |e|\n e.ical_uid == ical_uid\n end\nend\nevents\n"}},{"html_id":"list_groups(query:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil)","args_html":"(query : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L212"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nclient do |_client|\n if _client.client_id == (:office365)\n ((_client.calendar.as(PlaceCalendar::Office365)).client.list_groups(query)).value.map(&.to_place_group)\n end\nend\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L182"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nclient(&.list_users(query, limit))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L40"},"def":{"name":"on_unload","visibility":"Public","body":"@in_flight.close\n@channel.close\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L49"},"def":{"name":"on_update","visibility":"Public","body":"if proxy_config = setting?(NamedTuple(host: String, port: Int32, auth: NamedTuple(username: String, password: String) | ::Nil), :proxy)\n ConnectProxy.proxy_uri = \"http://#{proxy_config[:host]}:#{proxy_config[:port]}\"\n if proxy_auth = proxy_config[:auth]\n ConnectProxy.username = proxy_auth[:username]\n ConnectProxy.password = proxy_auth[:password]\n end\nend\nConnectProxy.verify_tls = !(!(setting?(Bool, :proxy_verify_tls)))\nConnectProxy.disable_crl_checks = !(!(setting?(Bool, :proxy_disable_crl)))\n@service_account = (setting?(String, :calendar_service_account)).presence\n@rate_limit = (setting?(Int32, :rate_limit)) || 10\n@wait_time = 1.second / @rate_limit\n@mailer_from = (setting?(String, :mailer_from)).presence || @service_account\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n@in_flight.close\n@channel.close\n@client = begin\n config = setting(GoogleParams, :calendar_config)\n cli = PlaceCalendar::Client.new(**config)\n @channel = Channel(Nil).new(9)\n @in_flight = Channel(Nil).new(10)\n spawn do\n rate_limiter\n end\n cli\nrescue\n config = setting(OfficeParams, :calendar_config)\n PlaceCalendar::Client.new(**config)\nend\n"}},{"html_id":"queue_size-instance-method","name":"queue_size","abstract":false,"location":{"filename":"src/place/calendar_common.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L111"},"def":{"name":"queue_size","visibility":"Public","body":"@queue_size"}},{"html_id":"reauthorize_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64|Nil=nil):PlaceCalendar::Subscription-instance-method","name":"reauthorize_notifier","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64 | Nil = nil) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L374"},"def":{"name":"reauthorize_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","default_value":"nil","external_name":"new_expiration_time","restriction":"Int64 | ::Nil"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = new_expiration_time ? Time.unix(new_expiration_time) : nil\nclient(&.reauthorize_notifier(subscription, expires))\n"}},{"html_id":"renew_notifier(subscription:PlaceCalendar::Subscription,new_expiration_time:Int64):PlaceCalendar::Subscription-instance-method","name":"renew_notifier","abstract":false,"args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"args_string":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","args_html":"(subscription : PlaceCalendar::Subscription, new_expiration_time : Int64) : PlaceCalendar::Subscription","location":{"filename":"src/place/calendar_common.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L367"},"def":{"name":"renew_notifier","args":[{"name":"subscription","external_name":"subscription","restriction":"PlaceCalendar::Subscription"},{"name":"new_expiration_time","external_name":"new_expiration_time","restriction":"Int64"}],"return_type":"PlaceCalendar::Subscription","visibility":"Public","body":"expires = Time.unix(new_expiration_time)\nclient(&.renew_notifier(subscription, expires))\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil)-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L128"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"}],"visibility":"Public","body":"sender = case from\nin String\n from\nin Array(String)\n from.first? || @mailer_from.not_nil!\nin Nil\n @mailer_from.not_nil!\nend\nlogger.debug do\n \"an email was sent from: #{sender}, to: #{to}\"\nend\nclient do |__arg0|\n __arg0.calendar.send_mail(sender, to, subject, message_plaintext, message_html, resource_attachments, attachments, cc, bcc)\nend\n"}},{"html_id":"update_event(event:PlaceCalendar::Event,user_id:String|Nil=nil,calendar_id:String|Nil=nil)-instance-method","name":"update_event","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"args_string":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","args_html":"(event : PlaceCalendar::Event, user_id : String | Nil = nil, calendar_id : String | Nil = nil)","location":{"filename":"src/place/calendar_common.cr","line_number":346,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L346"},"def":{"name":"update_event","args":[{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"user_id = ((user_id || @service_account.presence) || calendar_id).not_nil!\ncalendar_id = calendar_id || user_id\nlogger.debug do\n \"updating event #{event.id} on #{event.host}\"\nend\nclient(&.update_event(user_id: user_id, event: event, calendar_id: calendar_id))\n"}}],"types":[{"html_id":"drivers/Place/CalendarCommon/GoogleParams","path":"Place/CalendarCommon/GoogleParams.html","kind":"alias","full_name":"Place::CalendarCommon::GoogleParams","name":"GoogleParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String)","aliased_html":"{scopes: Array(String) | String, domain: String, sub: String, issuer: String, signing_key: String}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}},{"html_id":"drivers/Place/CalendarCommon/OfficeParams","path":"Place/CalendarCommon/OfficeParams.html","kind":"alias","full_name":"Place::CalendarCommon::OfficeParams","name":"OfficeParams","abstract":false,"locations":[{"filename":"src/place/calendar_common.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_common.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(tenant: String, client_id: String, client_secret: String, conference_type: String | Nil)","aliased_html":"{tenant: String, client_id: String, client_secret: String, conference_type: String?}","const":false,"namespace":{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}}]},{"html_id":"drivers/Place/CalendarDelegated","path":"Place/CalendarDelegated.html","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_event(title:String,event_start:Int64,event_end:Int64|Nil=nil,description:String=\"\",attendees:Array(PlaceCalendar::Event::Attendee)=[]ofPlaceCalendar::Event::Attendee,location:String|Nil=nil,timezone:String|Nil=nil,user_id:String|Nil=nil,calendar_id:String|Nil=nil,online_meeting_id:String|Nil=nil,online_meeting_provider:String|Nil=nil,online_meeting_url:String|Nil=nil,online_meeting_sip:String|Nil=nil,online_meeting_phones:Array(String)|Nil=nil,online_meeting_pin:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"create_event","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = \"\", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(title : String, event_start : Int64, event_end : Int64 | Nil = nil, description : String = "", attendees : Array(PlaceCalendar::Event::Attendee) = [] of PlaceCalendar::Event::Attendee, location : String | Nil = nil, timezone : String | Nil = nil, user_id : String | Nil = nil, calendar_id : String | Nil = nil, online_meeting_id : String | Nil = nil, online_meeting_provider : String | Nil = nil, online_meeting_url : String | Nil = nil, online_meeting_sip : String | Nil = nil, online_meeting_phones : Array(String) | Nil = nil, online_meeting_pin : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L211"},"def":{"name":"create_event","args":[{"name":"title","external_name":"title","restriction":"String"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"},{"name":"attendees","default_value":"[] of PlaceCalendar::Event::Attendee","external_name":"attendees","restriction":"Array(PlaceCalendar::Event::Attendee)"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"calendar_id","default_value":"nil","external_name":"calendar_id","restriction":"String | ::Nil"},{"name":"online_meeting_id","default_value":"nil","external_name":"online_meeting_id","restriction":"String | ::Nil"},{"name":"online_meeting_provider","default_value":"nil","external_name":"online_meeting_provider","restriction":"String | ::Nil"},{"name":"online_meeting_url","default_value":"nil","external_name":"online_meeting_url","restriction":"String | ::Nil"},{"name":"online_meeting_sip","default_value":"nil","external_name":"online_meeting_sip","restriction":"String | ::Nil"},{"name":"online_meeting_phones","default_value":"nil","external_name":"online_meeting_phones","restriction":"Array(String) | ::Nil"},{"name":"online_meeting_pin","default_value":"nil","external_name":"online_meeting_pin","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar_id = calendar_id || user_id\nlogger.debug do\n \"creating event on #{calendar_id}\"\nend\nevent = PlaceCalendar::Event.new(host: calendar_id, title: title, body: description, location: location, timezone: timezone, attendees: attendees, online_meeting_id: online_meeting_id, online_meeting_url: online_meeting_url, online_meeting_sip: online_meeting_sip, online_meeting_pin: online_meeting_pin, online_meeting_phones: online_meeting_phones, online_meeting_provider: online_meeting_provider)\nif timezone\n tz = Time::Location.load(timezone)\nend\nevent.event_start = timezone ? (Time.unix(event_start)).in(tz.not_nil!) : Time.unix(event_start)\nif event_end\n event.event_end = timezone ? (Time.unix(event_end)).in(tz.not_nil!) : Time.unix(event_end)\nend\nif event_end\nelse\n event.all_day = true\nend\nprocess((client(act_as_user)).post(\"/api/staff/v1/events\", body: event.to_json, headers: act_as(act_as_user)))\n"}},{"html_id":"delete_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L178"},"def":{"name":"delete_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting event #{event_id} on #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nif notify\n begin\n process((client(act_as_user)).post(\"/api/staff/v1/events/#{event_id}/decline\", params: params, headers: act_as(act_as_user)))\n rescue\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\n end\nelse\n params[\"notify\"] = \"false\"\n process((client(act_as_user)).delete(\"/api/staff/v1/events/#{event_id}\", params: params, headers: act_as(act_as_user)))\nend\n"}},{"html_id":"get_group(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_group","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L129"},"def":{"name":"get_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group #{group_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_groups(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_groups","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L82"},"def":{"name":"get_groups","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting group membership for user: #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/groups\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_members(group_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_members","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(group_id : String, act_as_user : String | Nil = nil)","args_html":"(group_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L88"},"def":{"name":"get_members","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing members of group: #{group_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups/#{group_id}/members\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L101"},"def":{"name":"get_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting user details for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}\", headers: act_as(act_as_user)))\n"}},{"html_id":"get_user_manager(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"get_user_manager","doc":"NOTE:: GraphAPI Only!","summary":"

NOTE : GraphAPI Only!

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L114"},"def":{"name":"get_user_manager","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting manager details for #{user_id}, note: graphAPI only\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/manager\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_calendars(user_id:String,act_as_user:String|Nil=nil)-instance-method","name":"list_calendars","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(user_id : String, act_as_user : String | Nil = nil)","args_html":"(user_id : String, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L107"},"def":{"name":"list_calendars","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing calendars for #{user_id}\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/people/#{user_id}/calendars\", headers: act_as(act_as_user)))\n"}},{"html_id":"list_events(calendar_id:String,period_start:Int64,period_end:Int64,time_zone:String|Nil=nil,user_id:String|Nil=nil,include_cancelled:Bool=false,act_as_user:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","args_html":"(calendar_id : String, period_start : Int64, period_end : Int64, time_zone : String | Nil = nil, user_id : String | Nil = nil, include_cancelled : Bool = false, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L149"},"def":{"name":"list_events","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"include_cancelled","default_value":"false","external_name":"include_cancelled","restriction":"Bool"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing events for #{calendar_id}\"\nend\nif system_id = check_if_resource(calendar_id)\n params = {\"system_ids\" => system_id}\nelse\n params = {\"calendars\" => calendar_id}\nend\nparams[\"period_start\"] = period_start.to_s\nparams[\"period_end\"] = period_end.to_s\nif include_cancelled\n params[\"include_cancelled\"] = \"true\"\nend\nprocess((client(act_as_user)).get(\"/api/staff/v1/events\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_groups(query:String|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_groups","doc":"NOTE:: GraphAPI Only! - here for use with configuration","summary":"

NOTE : GraphAPI Only! - here for use with configuration

","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L121"},"def":{"name":"list_groups","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing groups, filtering by #{query}, note: graphAPI only\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/groups\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"list_users(query:String|Nil=nil,limit:Int32|Nil=nil,act_as_user:String|Nil=nil)-instance-method","name":"list_users","abstract":false,"args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"args_string":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","args_html":"(query : String | Nil = nil, limit : Int32 | Nil = nil, act_as_user : String | Nil = nil)","location":{"filename":"src/place/calendar_delegated.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L94"},"def":{"name":"list_users","args":[{"name":"query","default_value":"nil","external_name":"query","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"act_as_user","default_value":"nil","external_name":"act_as_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"listing user details, query #{query}\"\nend\nparams = query ? {\"q\" => query} : {} of String => String | ::Nil\nprocess((client(act_as_user)).get(\"/api/staff/v1/people\", params: params, headers: act_as(act_as_user)))\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L53"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L57"},"def":{"name":"on_update","visibility":"Public","body":"rate_limit = (setting?(Float64, :rate_limit)) || 3.0\n@limiter = RateLimiter.new(rate: rate_limit, max_burst: rate_limit.to_i)\n@api_key = api_key = setting(String, :api_key)\ntransport.before_request do |request|\n if request.headers[\"Authorization\"]?\n else\n request.headers[\"X-API-Key\"] = api_key\n end\nend\n@host = (URI.parse(config.uri.not_nil!)).host.not_nil!\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@jwt_private_key = (setting?(String, :jwt_private_key)) || \"\"\n"}}],"types":[{"html_id":"drivers/Place/CalendarDelegated/User","path":"Place/CalendarDelegated/User.html","kind":"struct","full_name":"Place::CalendarDelegated::User","name":"User","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/calendar_delegated.cr","line_number":255,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L255"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/CalendarDelegated","kind":"class","full_name":"Place::CalendarDelegated","name":"CalendarDelegated"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/calendar_delegated.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L256"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L259"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":260,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L260"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/calendar_delegated.cr","line_number":258,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/calendar_delegated.cr#L258"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Chat","path":"Place/Chat.html","kind":"module","full_name":"Place::Chat","name":"Chat","abstract":false,"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L4"},{"filename":"src/place/chat/health_rooms_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Chat/ConferenceDetails","path":"Place/Chat/ConferenceDetails.html","kind":"struct","full_name":"Place::Chat::ConferenceDetails","name":"ConferenceDetails","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(place_id:String,space_id:String,host_pin:String,guest_pin:String)-class-method","name":"new","abstract":false,"args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"args_string":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","args_html":"(place_id : String, space_id : String, host_pin : String, guest_pin : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L16"},"def":{"name":"new","args":[{"name":"place_id","external_name":"place_id","restriction":"::String"},{"name":"space_id","external_name":"space_id","restriction":"::String"},{"name":"host_pin","external_name":"host_pin","restriction":"::String"},{"name":"guest_pin","external_name":"guest_pin","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(place_id, space_id, host_pin, guest_pin)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L14"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"guest_pin:String-instance-method","name":"guest_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L11"},"def":{"name":"guest_pin","return_type":"String","visibility":"Public","body":"@guest_pin"}},{"html_id":"host_pin:String-instance-method","name":"host_pin","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L10"},"def":{"name":"host_pin","return_type":"String","visibility":"Public","body":"@host_pin"}},{"html_id":"place_id:String-instance-method","name":"place_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L8"},"def":{"name":"place_id","return_type":"String","visibility":"Public","body":"@place_id"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L9"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}}]},{"html_id":"drivers/Place/Chat/HealthRooms","path":"Place/Chat/HealthRooms.html","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EXAMPLE_SMS_TEMPLATE","name":"EXAMPLE_SMS_TEMPLATE","value":"\"patient %{patient_name} is waiting in %{room_name} for an appointment at %{appointment_time}\""}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"instance_methods":[{"html_id":"guest_mark_as_contacted(rtc_user_id:String,session_id:String,contacted:Bool=true):Bool-instance-method","name":"guest_mark_as_contacted","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"args_string":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","args_html":"(rtc_user_id : String, session_id : String, contacted : Bool = true) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":808,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L808"},"def":{"name":"guest_mark_as_contacted","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"contacted","default_value":"true","external_name":"contacted","restriction":"Bool"}],"return_type":"Bool","visibility":"Public","body":"found = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n if participant = meeting.participants[rtc_user_id]?\n found = true\n participant.contacted = contacted\n end\n end\nend\nlogger.debug do\n \"[meet] marking guest #{rtc_user_id} as contacted: #{contacted} in session #{session_id}\"\nend\nif found\n update_meeting_state(session_id)\nend\nfound\n"}},{"html_id":"guest_move_session(rtc_user_id:String,session_id:String,new_session_id:String):Bool-instance-method","name":"guest_move_session","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","args_html":"(rtc_user_id : String, session_id : String, new_session_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L823"},"def":{"name":"guest_move_session","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"new_session_id","external_name":"new_session_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"system_id = nil\nnew_meeting = nil\nif @recent_lock.synchronize do\n @recently_disconnected[rtc_user_id]?\nend\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as disconnected\"\n end\n raise(\"can't move disconnected users, please wait for reconnection or kick\")\nend\n@meeting_mutex.synchronize do\n if (meeting = @meetings[session_id]?) && (new_meeting = @meetings[new_session_id]?)\n if participant = meeting.remove(rtc_user_id)\n system_id = meeting.system_id\n new_meeting.add(participant)\n if meeting.empty?\n @meetings.delete(session_id)\n @room_mutex.synchronize do\n @rooms[system_id].try(&.delete(session_id))\n end\n end\n end\n end\nend\nif system_id && new_meeting\n logger.debug do\n \"[meet] moving user #{rtc_user_id} into #{new_session_id} from #{session_id}\"\n end\n update_meeting_state(session_id, system_id)\n update_meeting_state(new_session_id)\n conference = new_meeting.conference\n staff_api.transfer_user(rtc_user_id, new_session_id, {space_id: conference.space_id, guest_pin: conference.guest_pin})\nelse\n logger.warn do\n \"[meet] failed to move guest #{rtc_user_id} as could not find session\"\n end\nend\n!(!system_id)\n"}},{"html_id":"meeting_end(session_id:String)-instance-method","name":"meeting_end","doc":"removes the meeting from the list and kicks anyone left in the meeting","summary":"

removes the meeting from the list and kicks anyone left in the meeting

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":778,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L778"},"def":{"name":"meeting_end","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nsystem_id = nil\nmeeting = nil\nlogger.debug do\n \"[meet] ending meeting #{session_id} ended by #{placeos_user_id}\"\nend\n@meeting_mutex.synchronize do\n meeting = @meetings.delete(session_id)\n if meeting\n else\n raise(\"meeting not found\")\n end\n system_id = meeting.system_id\n @room_mutex.synchronize do\n if sessions = @rooms[system_id]?\n sessions.delete(session_id)\n if sessions.empty?\n @rooms.delete(system_id)\n end\n end\n end\nend\nmeeting.not_nil!.participants.keys.each do |rtc_user_id|\n staff_api.kick_user(rtc_user_id, session_id, \"meeting ended\")\nend\nupdate_meeting_state(session_id, system_id.as(String))\n"}},{"html_id":"meeting_join(rtc_user_id:String,session_id:String,type:String|Nil=nil,system_id:String|Nil=nil,text_chat_only:Bool|Nil=nil):ConferenceDetails-instance-method","name":"meeting_join","doc":"this is how staff members create a meeting room\nor join an existing meeting","summary":"

this is how staff members create a meeting room or join an existing meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","args_html":"(rtc_user_id : String, session_id : String, type : String | Nil = nil, system_id : String | Nil = nil, text_chat_only : Bool | Nil = nil) : ConferenceDetails","location":{"filename":"src/place/chat/health_rooms.cr","line_number":653,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L653"},"def":{"name":"meeting_join","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"return_type":"ConferenceDetails","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nuser_details = (staff_api.user(placeos_user_id)).get\nuser_name = user_details[\"name\"].as_s\nparticipant = Participant.new(user_id: rtc_user_id, name: user_name, email: user_details[\"email\"].as_s, type: type, staff_user_id: placeos_user_id, text_chat_only: text_chat_only)\n@recent_lock.synchronize do\n @recently_disconnected.delete(rtc_user_id)\nend\nmeeting = nil\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n system_id = meeting.system_id\n end\nend\nif system_id\nelse\n raise(\"must provide a system id if there is not an existing session\")\nend\nsystem_id = system_id.as(String)\ntimezone = meeting.try(&.timezone) || (timezone_system(system_id))\nlogger.debug do\n if meeting\n \"[meet] joining existing meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n else\n \"[meet] creating new meeting: staff #{placeos_user_id}, session: #{session_id} in #{system_id}\"\n end\nend\nif meeting\nelse\n conference = pool_checkout_conference\nend\n@meeting_mutex.synchronize do\n meeting = if meet = @meetings[session_id]?\n system_id = meet.system_id\n meet.add(participant)\n meet\n else\n conference = conference || pool_checkout_conference\n meet = Meeting.new(system_id.as(String), session_id, conference, participant)\n meet.timezone = timezone\n meet\n end\n @meetings[session_id] = meeting\n conference = meeting.conference\n @room_mutex.synchronize do\n sessions = @rooms[system_id]? || ([] of SessionId)\n if sessions.includes?(session_id)\n else\n sessions << session_id\n end\n @rooms[system_id] = sessions\n end\nend\nupdate_meeting_state(session_id, system_id.as(String))\nconference.as(ConferenceDetails)\n"}},{"html_id":"meeting_kick(rtc_user_id:String,session_id:String)-instance-method","name":"meeting_kick","doc":"kicks an individual from a meeting","summary":"

kicks an individual from a meeting

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String)","args_html":"(rtc_user_id : String, session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L766"},"def":{"name":"meeting_kick","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.warn do\n \"[meet] kicking user #{rtc_user_id} from session #{session_id}, kicked by: #{placeos_user_id}\"\nend\nstaff_api.kick_user(rtc_user_id, session_id, \"kicked by host\")\nuser_exited(rtc_user_id)\n"}},{"html_id":"meeting_leave(rtc_user_id:String,session_id:String):Nil-instance-method","name":"meeting_leave","doc":"the user is planning of leaving the meeting or has left","summary":"

the user is planning of leaving the meeting or has left

","abstract":false,"args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(rtc_user_id : String, session_id : String) : Nil","args_html":"(rtc_user_id : String, session_id : String) : Nil","location":{"filename":"src/place/chat/health_rooms.cr","line_number":758,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L758"},"def":{"name":"meeting_leave","args":[{"name":"rtc_user_id","external_name":"rtc_user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"placeos_user_id = invoked_by_user_id\nlogger.debug do\n \"[meet] user leaving #{rtc_user_id} (#{placeos_user_id}) session #{session_id}\"\nend\nmeeting_remove_user(rtc_user_id, session_id, placeos_user_id)\n"}},{"html_id":"meeting_move_room(session_id:String,system_id:String):Bool-instance-method","name":"meeting_move_room","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(session_id : String, system_id : String) : Bool","args_html":"(session_id : String, system_id : String) : Bool","location":{"filename":"src/place/chat/health_rooms.cr","line_number":615,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L615"},"def":{"name":"meeting_move_room","args":[{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"system_id","external_name":"system_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"old_system_id = nil\nmoved = false\n@meeting_mutex.synchronize do\n if meeting = @meetings[session_id]?\n old_system_id = meeting.system_id\n meeting.system_id = system_id\n moved = true\n @room_mutex.synchronize do\n if room_sessions = @rooms[old_system_id]?\n room_sessions.delete(session_id)\n if room_sessions.empty?\n @rooms.delete(old_system_id)\n self[old_system_id] = nil\n end\n sessions = @rooms[system_id]? || ([] of SessionId)\n sessions << session_id\n @rooms[system_id] = sessions\n end\n end\n end\nend\nlogger.debug do\n \"[meet] moving session: #{session_id} to system #{system_id} from #{old_system_id}\"\nend\nif moved\n update_meeting_state(session_id, system_id, old_system_id)\nend\nmoved\n"}},{"html_id":"meeting_state_request_save-instance-method","name":"meeting_state_request_save","doc":"use this to trigger a save","summary":"

use this to trigger a save

","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L88"},"def":{"name":"meeting_state_request_save","visibility":"Public","body":"@save_requested.send(nil)"}},{"html_id":"notify_config(system_id:String,timezone:String)-instance-method","name":"notify_config","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(system_id : String, timezone : String)","args_html":"(system_id : String, timezone : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":491,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L491"},"def":{"name":"notify_config","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"timezone = Time::Location.load(timezone)\nraw_settings = (staff_api.metadata(system_id, \"settings\")).get[\"settings\"]?.try(&.to_json)\nsettings = raw_settings ? RoomSettings.from_json(raw_settings, root: \"details\") : RoomSettings.new\ndefault_notifications = settings.notifications\nroom_users = settings.members.compact_map do |member|\n if member.available?\n else\n next\n end\n begin\n user_data = (staff_api.user(member.id)).get.as_h\n member.name = (user_data[\"nickname\"]? || user_data[\"name\"]).as_s\n member.email = user_data[\"email\"].as_s\n member.phone = user_data[\"phone\"]?.try(&.as_s)\n notify_settings = if user_settings = (staff_api.metadata(member.id, \"settings\")).get[\"settings\"]?.try(&.[]?(\"details\")).try(&.to_json)\n begin\n NotificationSettings.from_json(user_settings, root: \"notifications\")\n rescue parse_error\n logger.warn(exception: parse_error) do\n \"failed to parse user #{member.id} notification settings\"\n end\n default_notifications\n end\n else\n default_notifications\n end\n if notify_settings.enabled?\n else\n next\n end\n member.notifications = notify_settings\n member\n rescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain user #{member.id} metadata\"\n end\n nil\n end\nend\nsettings.members = room_users\nsettings.timezone = timezone\nsettings\n"}},{"html_id":"notify_inspect_meeting(session_id:String)-instance-method","name":"notify_inspect_meeting","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String)","args_html":"(session_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":481,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L481"},"def":{"name":"notify_inspect_meeting","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"visibility":"Public","body":"meeting = @meeting_mutex.synchronize do\n @meetings[session_id]?.try(&.dup)\nend\nif meeting\nelse\n raise(\"meeting #{session_id} not found\")\nend\nsystem_info, room_settings = notify_load_notifications(meeting)\nmembers = room_settings.try do |__arg8|\n __arg8.members.map do |member|\n {member: member, notifications: member.notifications}\n end\nend\n{settings: room_settings, members: members}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L25"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n meeting_state_perform_save\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@update_mutex.synchronize do\n if @update_expected > 0\n @update_expected = @update_expected - 1\n logger.debug do\n \"[admin] updating settings...\"\n end\n return\n end\nend\nlogger.debug do\n \"[admin] updating settings...\"\nend\nis_spec = (setting?(Bool, :is_spec)) || false\ndomain = setting(String, :domain_id)\n@sms_source = setting?(String, :sms_source)\n@sms_template = (setting?(String, :sms_template)) || EXAMPLE_SMS_TEMPLATE\n@notify_no_time = (setting?(String, :notify_no_time)) || \"no time specified\"\n@pool_target_size = (setting?(Int32, :pool_size)) || 10\nsystem_id = config.control_system.not_nil!.id\n@disconnect_timeout = ((setting?(Int32, :disconnect_timeout)) || 3).minutes\n@timezone_default = nil\nschedule.clear\nschedule.every(@disconnect_timeout / 3) do\n cleanup_disconnected\nend\nschedule.every(5.minutes) do\n pool_cleanup\nend\nif is_spec\nelse\n schedule.in(1.second) do\n pool_cleanup\n end\nend\nmonitoring = \"#{domain}/chat/#{system_id}/guest/entry\"\nself[:monitoring] = monitoring\nsubscriptions.clear\nmeeting_state_restore\nmonitor(monitoring) do |_subscription, payload|\n new_guest(payload)\nend\nmonitor(\"#{domain}/chat/user/joined\") do |_subscription, payload|\n user_joined(payload)\nend\nmonitor(\"#{domain}/chat/user/exited\") do |_subscription, payload|\n logger.debug do\n \"[signal] user exited: #{payload}\"\n end\n user_id = (NamedTuple(user_id: String).from_json(payload))[:user_id]\n user_exited(user_id)\nend\nmonitor(\"#{domain}/chat/user/left\") do |_subscription, payload|\n user_left(payload)\nend\nlogger.debug do\n \"[admin] settings update success!\"\nend\n"}},{"html_id":"pool_checkout_conference:ConferenceDetails-instance-method","name":"pool_checkout_conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":939,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L939"},"def":{"name":"pool_checkout_conference","return_type":"ConferenceDetails","visibility":"Public","body":"meeting = @pool_lock.synchronize do\n if @pool_meet.size > 0\n @pool_size = @pool_size - 1\n @pool_meet.shift\n end\nend\nlogger.debug do\n \"[pool] Checking out meeting, available in pool? #{!meeting.nil?}\"\nend\nspawn do\n pool_ensure_size\nend\nmeeting || new_conference\n"}},{"html_id":"pool_clear_conferences:Nil-instance-method","name":"pool_clear_conferences","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":953,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L953"},"def":{"name":"pool_clear_conferences","return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"[pool] Clearing #{@pool_size} meetings from pool\"\nend\n@pool_lock.synchronize do\n @pool_size = 0\n @pool_meet = [] of ConferenceDetails\nend\npool_ensure_size\n"}},{"html_id":"pool_ensure_size:Nil-instance-method","name":"pool_ensure_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":909,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L909"},"def":{"name":"pool_ensure_size","return_type":"Nil","visibility":"Public","body":"required = 0\n@pool_lock.synchronize do\n required = @pool_target_size - @pool_size\n @pool_size = @pool_target_size\nend\nlogger.debug do\n \"[pool] Maintaining meeting pool size, #{required} new meetings required\"\nend\nif required <= 0\n return\nend\ncreated = 0\nbegin\n required.times do\n meeting = new_conference\n @pool_lock.synchronize do\n @pool_meet << meeting\n end\n created = created + 1\n end\nrescue error\n logger.error(exception: error) do\n \"[pool] error creating pool meetings\"\n end\n if created != required\n diff = required - created\n @pool_lock.synchronize do\n @pool_size = @pool_size - diff\n end\n end\nend\n"}},{"html_id":"pool_size:Int32-instance-method","name":"pool_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":872,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L872"},"def":{"name":"pool_size","return_type":"Int32","visibility":"Public","body":"@pool_size"}},{"html_id":"pool_target_size:Int32-instance-method","name":"pool_target_size","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":873,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L873"},"def":{"name":"pool_target_size","return_type":"Int32","visibility":"Public","body":"@pool_target_size"}},{"html_id":"sessions_with_user(user_id:String):Array(String)-instance-method","name":"sessions_with_user","doc":"finds all the session_ids that includes the specified user_id","summary":"

finds all the session_ids that includes the specified user_id

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(String)","args_html":"(user_id : String) : Array(String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L399"},"def":{"name":"sessions_with_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"sessions = [] of String\n@meeting_mutex.synchronize do\n @meetings.each do |session_id, meeting|\n if meeting.participants.has_key?(user_id)\n sessions << session_id\n end\n end\nend\nsessions\n"}},{"html_id":"timezone_default:String-instance-method","name":"timezone_default","abstract":false,"location":{"filename":"src/place/chat/health_rooms.cr","line_number":471,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L471"},"def":{"name":"timezone_default","return_type":"String","visibility":"Public","body":"if (value = @timezone_default).nil?\n @timezone_default = (system.timezone.presence || \"UTC\")\nelse\n value\nend"}},{"html_id":"timezone_system(system_id:String)-instance-method","name":"timezone_system","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms.cr","line_number":473,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L473"},"def":{"name":"timezone_system","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"begin\n (staff_api.get_system(system_id)).get[\"timezone\"]?.try() do |__arg6|\n __arg6.as_s.presence\n end || timezone_default\nrescue error\n logger.error(exception: error) do\n \"[notify] failed to obtain timezone information for #{system_id}\"\n end\n timezone_default\nend"}}],"types":[{"html_id":"drivers/Place/Chat/HealthRooms/SessionId","path":"Place/Chat/HealthRooms/SessionId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SessionId","name":"SessionId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":602,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L602"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"session id == the webrtc session id","summary":"

session id == the webrtc session id

"},{"html_id":"drivers/Place/Chat/HealthRooms/SystemId","path":"Place/Chat/HealthRooms/SystemId.html","kind":"alias","full_name":"Place::Chat::HealthRooms::SystemId","name":"SystemId","abstract":false,"locations":[{"filename":"src/place/chat/health_rooms.cr","line_number":605,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms.cr#L605"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Chat/HealthRooms","kind":"class","full_name":"Place::Chat::HealthRooms","name":"HealthRooms"},"doc":"system id == room","summary":"

system id == room

"}]},{"html_id":"drivers/Place/Chat/Meeting","path":"Place/Chat/Meeting.html","kind":"class","full_name":"Place::Chat::Meeting","name":"Meeting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(system_id:String,session_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, session_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L139"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"session_id","external_name":"session_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, session_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(system_id:String,conference:Place::Chat::ConferenceDetails,participant:Participant)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","args_html":"(system_id : String, conference : Place::Chat::ConferenceDetails, participant : Participant)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L128"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"::String"},{"name":"conference","external_name":"conference","restriction":"::Place::Chat::ConferenceDetails"},{"name":"participant","external_name":"participant","restriction":"Participant"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, conference, participant)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"add(participant:Participant):Participant-instance-method","name":"add","abstract":false,"args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"args_string":"(participant : Participant) : Participant","args_html":"(participant : Participant) : Participant","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L147"},"def":{"name":"add","args":[{"name":"participant","external_name":"participant","restriction":"Participant"}],"return_type":"Participant","visibility":"Public","body":"@participants[participant.user_id] = participant\n@participants[@created_by_user_id]?.try(&.contacted = true)\n@updated_at = Time.utc\nparticipant\n"}},{"html_id":"conference:ConferenceDetails-instance-method","name":"conference","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference","return_type":"ConferenceDetails","visibility":"Public","body":"@conference"}},{"html_id":"conference=(conference:ConferenceDetails)-instance-method","name":"conference=","abstract":false,"args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"args_string":"(conference : ConferenceDetails)","args_html":"(conference : ConferenceDetails)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L89"},"def":{"name":"conference=","args":[{"name":"conference","external_name":"conference","restriction":"ConferenceDetails"}],"visibility":"Public","body":"@conference = conference"}},{"html_id":"created_at:Time-instance-method","name":"created_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L84"},"def":{"name":"created_at","return_type":"Time","visibility":"Public","body":"@created_at"}},{"html_id":"created_by_participant-instance-method","name":"created_by_participant","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L161"},"def":{"name":"created_by_participant","visibility":"Public","body":"@participants[created_by_user_id]"}},{"html_id":"created_by_user_id:String-instance-method","name":"created_by_user_id","doc":"webrtc_user_id that created the meeting","summary":"

webrtc_user_id that created the meeting

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L81"},"def":{"name":"created_by_user_id","return_type":"String","visibility":"Public","body":"@created_by_user_id"}},{"html_id":"creator_contacted?-instance-method","name":"creator_contacted?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L165"},"def":{"name":"creator_contacted?","visibility":"Public","body":"@participants[created_by_user_id]?.try(&.contacted)"}},{"html_id":"empty?:Bool-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L181"},"def":{"name":"empty?","return_type":"Bool","visibility":"Public","body":"@participants.empty?"}},{"html_id":"has_participant?(webrtc_user_id:String):Participant|Nil-instance-method","name":"has_participant?","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L169"},"def":{"name":"has_participant?","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"@participants[webrtc_user_id]?"}},{"html_id":"mark_participant_connected(webrtc_user_id:String,state:Bool):String|Nil-instance-method","name":"mark_participant_connected","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(webrtc_user_id : String, state : Bool) : String | Nil","args_html":"(webrtc_user_id : String, state : Bool) : String | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L173"},"def":{"name":"mark_participant_connected","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"},{"name":"state","external_name":"state","restriction":"Bool"}],"return_type":"String | ::Nil","visibility":"Public","body":"if participant = has_participant?(webrtc_user_id)\n old_state = participant.connected\n participant.connected = state\n if old_state == state\n else\n return system_id\n end\nend"}},{"html_id":"notify_members_on_entry:Array(RoomMember)-instance-method","name":"notify_members_on_entry","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L110"},"def":{"name":"notify_members_on_entry","return_type":"Array(RoomMember)","visibility":"Public","body":"settings = room_settings\nif settings\nelse\n return [] of RoomMember\nend\npatient = participants[created_by_user_id]\nclinician_selected = patient.chat_to_user_id.presence\ncontact = filter_members(clinician_selected)\nif contact.empty? && clinician_selected\n contact = filter_members(nil)\nend\nif contact.empty?\n contact = settings.members\nend\ncontact\n"}},{"html_id":"participants:Hash(String,Participant)-instance-method","name":"participants","doc":"webrtc_user_id => participant","summary":"

webrtc_user_id => participant

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L75"},"def":{"name":"participants","return_type":"Hash(String, Participant)","visibility":"Public","body":"@participants"}},{"html_id":"remove(webrtc_user_id:String):Participant|Nil-instance-method","name":"remove","abstract":false,"args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"args_string":"(webrtc_user_id : String) : Participant | Nil","args_html":"(webrtc_user_id : String) : Participant | Nil","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L154"},"def":{"name":"remove","args":[{"name":"webrtc_user_id","external_name":"webrtc_user_id","restriction":"String"}],"return_type":"Participant | ::Nil","visibility":"Public","body":"if participant = @participants.delete(webrtc_user_id)\n @updated_at = Time.utc\n participant\nend"}},{"html_id":"room_settings:RoomSettings|Nil-instance-method","name":"room_settings","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings","return_type":"RoomSettings | ::Nil","visibility":"Public","body":"@room_settings"}},{"html_id":"room_settings=(room_settings:RoomSettings|Nil)-instance-method","name":"room_settings=","abstract":false,"args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"args_string":"(room_settings : RoomSettings | Nil)","args_html":"(room_settings : RoomSettings | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L92"},"def":{"name":"room_settings=","args":[{"name":"room_settings","external_name":"room_settings","restriction":"RoomSettings | ::Nil"}],"visibility":"Public","body":"@room_settings = room_settings"}},{"html_id":"session_id:String-instance-method","name":"session_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L76"},"def":{"name":"session_id","return_type":"String","visibility":"Public","body":"@session_id"}},{"html_id":"system:PlaceOS::Driver::DriverModel::ControlSystem|Nil-instance-method","name":"system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system","return_type":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil","visibility":"Public","body":"@system"}},{"html_id":"system=(system:PlaceOS::Driver::DriverModel::ControlSystem|Nil)-instance-method","name":"system=","abstract":false,"args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"args_string":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","args_html":"(system : PlaceOS::Driver::DriverModel::ControlSystem | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L95"},"def":{"name":"system=","args":[{"name":"system","external_name":"system","restriction":"PlaceOS::Driver::DriverModel::ControlSystem | ::Nil"}],"visibility":"Public","body":"@system = system"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L77"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}},{"html_id":"timezone:String-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"String","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::Meeting#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:String)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"args_string":"(timezone : String)","args_html":"(timezone : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L78"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:String|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"updated_at:Time-instance-method","name":"updated_at","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L87"},"def":{"name":"updated_at","return_type":"Time","visibility":"Public","body":"@updated_at"}}]},{"html_id":"drivers/Place/Chat/MeetingSummary","path":"Place/Chat/MeetingSummary.html","kind":"struct","full_name":"Place::Chat::MeetingSummary","name":"MeetingSummary","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pos_system:String,call_count:Int32,participant_count:Int32,waiting_count:Int32,longest_wait_time:Int64)-class-method","name":"new","abstract":false,"args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"args_string":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","args_html":"(pos_system : String, call_count : Int32, participant_count : Int32, waiting_count : Int32, longest_wait_time : Int64)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L67"},"def":{"name":"new","args":[{"name":"pos_system","external_name":"pos_system","restriction":"::String"},{"name":"call_count","external_name":"call_count","restriction":"::Int32"},{"name":"participant_count","external_name":"participant_count","restriction":"::Int32"},{"name":"waiting_count","external_name":"waiting_count","restriction":"::Int32"},{"name":"longest_wait_time","external_name":"longest_wait_time","restriction":"::Int64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(pos_system, call_count, participant_count, waiting_count, longest_wait_time)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"call_count:Int32-instance-method","name":"call_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L62"},"def":{"name":"call_count","return_type":"Int32","visibility":"Public","body":"@call_count"}},{"html_id":"longest_wait_time:Int64-instance-method","name":"longest_wait_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L65"},"def":{"name":"longest_wait_time","return_type":"Int64","visibility":"Public","body":"@longest_wait_time"}},{"html_id":"participant_count:Int32-instance-method","name":"participant_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L64"},"def":{"name":"participant_count","return_type":"Int32","visibility":"Public","body":"@participant_count"}},{"html_id":"pos_system:String-instance-method","name":"pos_system","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L61"},"def":{"name":"pos_system","return_type":"String","visibility":"Public","body":"@pos_system"}},{"html_id":"waiting_count:Int32-instance-method","name":"waiting_count","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L63"},"def":{"name":"waiting_count","return_type":"Int32","visibility":"Public","body":"@waiting_count"}}]},{"html_id":"drivers/Place/Chat/NotificationSettings","path":"Place/Chat/NotificationSettings.html","kind":"struct","full_name":"Place::Chat::NotificationSettings","name":"NotificationSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L27"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L28"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L30"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"chosen_provider?:Bool-instance-method","name":"chosen_provider?","doc":"only alert if the user selected me","summary":"

only alert if the user selected me

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L34"},"def":{"name":"chosen_provider?","return_type":"Bool","visibility":"Public","body":"@chosen_provider"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L35"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"on_enter:NotifyEventSettings-instance-method","name":"on_enter","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L37"},"def":{"name":"on_enter","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_enter"}},{"html_id":"on_escalate:NotifyEventSettings-instance-method","name":"on_escalate","doc":"settings if the patient has been waiting for a long time","summary":"

settings if the patient has been waiting for a long time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L43"},"def":{"name":"on_escalate","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_escalate"}},{"html_id":"on_recurr:NotifyEventSettings-instance-method","name":"on_recurr","doc":"how often should it send notifications","summary":"

how often should it send notifications

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L39"},"def":{"name":"on_recurr","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_recurr"}},{"html_id":"on_waiting:NotifyEventSettings-instance-method","name":"on_waiting","doc":"do we only notify if the user has been waiting for a certain amount of time","summary":"

do we only notify if the user has been waiting for a certain amount of time

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L41"},"def":{"name":"on_waiting","return_type":"NotifyEventSettings","visibility":"Public","body":"@on_waiting"}}]},{"html_id":"drivers/Place/Chat/NotifyEventSettings","path":"Place/Chat/NotifyEventSettings.html","kind":"struct","full_name":"Place::Chat::NotifyEventSettings","name":"NotifyEventSettings","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L13"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L15"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"browser?:Bool-instance-method","name":"browser?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L19"},"def":{"name":"browser?","return_type":"Bool","visibility":"Public","body":"@browser"}},{"html_id":"delay:Int32-instance-method","name":"delay","doc":"minutes before notification","summary":"

minutes before notification

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L24"},"def":{"name":"delay","return_type":"Int32","visibility":"Public","body":"@delay"}},{"html_id":"email?:Bool-instance-method","name":"email?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L20"},"def":{"name":"email?","return_type":"Bool","visibility":"Public","body":"@email"}},{"html_id":"enabled?:Bool-instance-method","name":"enabled?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L18"},"def":{"name":"enabled?","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"sms?:Bool-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L21"},"def":{"name":"sms?","return_type":"Bool","visibility":"Public","body":"@sms"}}]},{"html_id":"drivers/Place/Chat/OpeningHours","path":"Place/Chat/OpeningHours.html","kind":"struct","full_name":"Place::Chat::OpeningHours","name":"OpeningHours","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(opening_times:Tuple(String,String,Bool))-class-method","name":"new","abstract":false,"args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"args_string":"(opening_times : Tuple(String, String, Bool))","args_html":"(opening_times : Tuple(String, String, Bool))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L73"},"def":{"name":"new","args":[{"name":"opening_times","external_name":"opening_times","restriction":"Tuple(String, String, Bool)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(opening_times)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"closes:Time::Span-instance-method","name":"closes","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L85"},"def":{"name":"closes","return_type":"Time::Span","visibility":"Public","body":"@closes"}},{"html_id":"enabled:Bool-instance-method","name":"enabled","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L86"},"def":{"name":"enabled","return_type":"Bool","visibility":"Public","body":"@enabled"}},{"html_id":"is_open?(now:Time)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"now","external_name":"now","restriction":"Time"}],"args_string":"(now : Time)","args_html":"(now : Time)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L88"},"def":{"name":"is_open?","args":[{"name":"now","external_name":"now","restriction":"Time"}],"visibility":"Public","body":"if enabled\nelse\n return false\nend\nstart_of_day = now.at_beginning_of_day\nopening = start_of_day + opens\nif now >= opening\nelse\n return false\nend\nclosing = start_of_day + closes\nnow < closing\n"}},{"html_id":"opens:Time::Span-instance-method","name":"opens","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L84"},"def":{"name":"opens","return_type":"Time::Span","visibility":"Public","body":"@opens"}}]},{"html_id":"drivers/Place/Chat/Participant","path":"Place/Chat/Participant.html","kind":"class","full_name":"Place::Chat::Participant","name":"Participant","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_rooms_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(user_id:String,name:String,email:Nil|String=nil,phone:Nil|String=nil,type:Nil|String=nil,staff_user_id:Nil|String=nil,text_chat_only:Bool|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"args_string":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","args_html":"(user_id : String, name : String, email : Nil | String = nil, phone : Nil | String = nil, type : Nil | String = nil, staff_user_id : Nil | String = nil, text_chat_only : Bool | Nil = nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L54"},"def":{"name":"new","args":[{"name":"user_id","external_name":"user_id","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"::Nil | ::String"},{"name":"phone","default_value":"nil","external_name":"phone","restriction":"::Nil | ::String"},{"name":"type","default_value":"nil","external_name":"type","restriction":"::Nil | ::String"},{"name":"staff_user_id","default_value":"nil","external_name":"staff_user_id","restriction":"::Nil | ::String"},{"name":"text_chat_only","default_value":"nil","external_name":"text_chat_only","restriction":"::Bool | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(user_id, name, email, phone, type, staff_user_id, text_chat_only)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"appointment_time:String|Nil-instance-method","name":"appointment_time","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L37"},"def":{"name":"appointment_time","return_type":"String | ::Nil","visibility":"Public","body":"@appointment_time"}},{"html_id":"captcha:String|Nil-instance-method","name":"captcha","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha","return_type":"String | ::Nil","visibility":"Public","body":"@captcha"}},{"html_id":"captcha=(captcha:String|Nil)-instance-method","name":"captcha=","abstract":false,"args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"args_string":"(captcha : String | Nil)","args_html":"(captcha : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L50"},"def":{"name":"captcha=","args":[{"name":"captcha","external_name":"captcha","restriction":"String | ::Nil"}],"visibility":"Public","body":"@captcha = captcha"}},{"html_id":"chat_to_user_id:String|Nil-instance-method","name":"chat_to_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@chat_to_user_id"}},{"html_id":"chat_to_user_id=(chat_to_user_id:String|Nil)-instance-method","name":"chat_to_user_id=","abstract":false,"args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"args_string":"(chat_to_user_id : String | Nil)","args_html":"(chat_to_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L36"},"def":{"name":"chat_to_user_id=","args":[{"name":"chat_to_user_id","external_name":"chat_to_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@chat_to_user_id = chat_to_user_id"}},{"html_id":"connected:Bool-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected","return_type":"Bool","visibility":"Public","body":"@connected"}},{"html_id":"connected=(connected:Bool)-instance-method","name":"connected=","abstract":false,"args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"args_string":"(connected : Bool)","args_html":"(connected : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L52"},"def":{"name":"connected=","args":[{"name":"connected","external_name":"connected","restriction":"Bool"}],"visibility":"Public","body":"@connected = connected"}},{"html_id":"contacted:Bool-instance-method","name":"contacted","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted","return_type":"Bool","visibility":"Public","body":"@contacted"}},{"html_id":"contacted=(contacted:Bool)-instance-method","name":"contacted=","abstract":false,"args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"args_string":"(contacted : Bool)","args_html":"(contacted : Bool)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L45"},"def":{"name":"contacted=","args":[{"name":"contacted","external_name":"contacted","restriction":"Bool"}],"visibility":"Public","body":"@contacted = contacted"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L26"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L25"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L27"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"session_id:String|Nil-instance-method","name":"session_id","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id","return_type":"String | ::Nil","visibility":"Public","body":"@session_id"}},{"html_id":"session_id=(session_id:String|Nil)-instance-method","name":"session_id=","doc":"the chat session id the user is planning to use, the initial chat room","summary":"

the chat session id the user is planning to use, the initial chat room

","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"args_string":"(session_id : String | Nil)","args_html":"(session_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L44"},"def":{"name":"session_id=","args":[{"name":"session_id","external_name":"session_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@session_id = session_id"}},{"html_id":"staff_user_id:String|Nil-instance-method","name":"staff_user_id","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id","return_type":"String | ::Nil","visibility":"Public","body":"@staff_user_id"}},{"html_id":"staff_user_id=(staff_user_id:String|Nil)-instance-method","name":"staff_user_id=","abstract":false,"args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"args_string":"(staff_user_id : String | Nil)","args_html":"(staff_user_id : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L46"},"def":{"name":"staff_user_id=","args":[{"name":"staff_user_id","external_name":"staff_user_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@staff_user_id = staff_user_id"}},{"html_id":"text_chat_only:Bool|Nil-instance-method","name":"text_chat_only","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only","return_type":"Bool | ::Nil","visibility":"Public","body":"@text_chat_only"}},{"html_id":"text_chat_only=(text_chat_only:Bool|Nil)-instance-method","name":"text_chat_only=","abstract":false,"args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"args_string":"(text_chat_only : Bool | Nil)","args_html":"(text_chat_only : Bool | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L32"},"def":{"name":"text_chat_only=","args":[{"name":"text_chat_only","external_name":"text_chat_only","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@text_chat_only = text_chat_only"}},{"html_id":"type:String|Nil-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type","return_type":"String | ::Nil","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String|Nil)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil)","args_html":"(type : String | Nil)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L31"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@type = type"}},{"html_id":"user_id:String-instance-method","name":"user_id","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","doc":"the users chat id. This purely generated on the frontend\nnot a placeos user_id, we use it to track browser instances","summary":"

the users chat id.

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/chat/health_rooms_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_rooms_models.cr#L41"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]},{"html_id":"drivers/Place/Chat/RoomMember","path":"Place/Chat/RoomMember.html","kind":"class","full_name":"Place::Chat::RoomMember","name":"RoomMember","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"admin?-instance-method","name":"admin?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L67"},"def":{"name":"admin?","visibility":"Public","body":"roles.includes?(\"admin\")"}},{"html_id":"available?:Bool-instance-method","name":"available?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L49"},"def":{"name":"available?","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"clinician?-instance-method","name":"clinician?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L63"},"def":{"name":"clinician?","visibility":"Public","body":"roles.includes?(\"clinician\")"}},{"html_id":"coordinator?-instance-method","name":"coordinator?","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L59"},"def":{"name":"coordinator?","visibility":"Public","body":"roles.includes?(\"coordinator\")"}},{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L50"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L51"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L52"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomMember#notifications cannot be nil\"))\nelse\n value\nend"}},{"html_id":"notifications=(notifications:NotificationSettings)-instance-method","name":"notifications=","abstract":false,"args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"args_string":"(notifications : NotificationSettings)","args_html":"(notifications : NotificationSettings)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L57"},"def":{"name":"notifications=","args":[{"name":"notifications","external_name":"notifications","restriction":"NotificationSettings"}],"visibility":"Public","body":"@notifications = notifications"}},{"html_id":"notifications?:NotificationSettings|Nil-instance-method","name":"notifications?","abstract":false,"def":{"name":"notifications?","return_type":"NotificationSettings | ::Nil","visibility":"Public","body":"@notifications"}},{"html_id":"phone:String|Nil-instance-method","name":"phone","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone","return_type":"String | ::Nil","visibility":"Public","body":"@phone"}},{"html_id":"phone=(phone:String|Nil)-instance-method","name":"phone=","abstract":false,"args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"args_string":"(phone : String | Nil)","args_html":"(phone : String | Nil)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L53"},"def":{"name":"phone=","args":[{"name":"phone","external_name":"phone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@phone = phone"}},{"html_id":"roles:Array(String)-instance-method","name":"roles","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L54"},"def":{"name":"roles","return_type":"Array(String)","visibility":"Public","body":"@roles"}}]},{"html_id":"drivers/Place/Chat/RoomSettings","path":"Place/Chat/RoomSettings.html","kind":"class","full_name":"Place::Chat::RoomSettings","name":"RoomSettings","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/chat/health_notification_models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L99"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Chat","kind":"module","full_name":"Place::Chat","name":"Chat"},"doc":"Room metadata => settings key","summary":"

Room metadata => settings key

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L100"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L102"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L105"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"is_open?(timezone:Time::Location)-instance-method","name":"is_open?","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L132"},"def":{"name":"is_open?","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"if available\nelse\n return false\nend\nif open_24_7\n return true\nend\nnow = Time.local(timezone)\nindex = now.day_of_week.to_i - 1\n(OpeningHours.new(opening_hours[index])).is_open?(now)\n"}},{"html_id":"members:Array(RoomMember)-instance-method","name":"members","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members","return_type":"Array(RoomMember)","visibility":"Public","body":"@members"}},{"html_id":"members=(members:Array(RoomMember))-instance-method","name":"members=","abstract":false,"args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"args_string":"(members : Array(RoomMember))","args_html":"(members : Array(RoomMember))","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L111"},"def":{"name":"members=","args":[{"name":"members","external_name":"members","restriction":"Array(RoomMember)"}],"visibility":"Public","body":"@members = members"}},{"html_id":"notifications:NotificationSettings-instance-method","name":"notifications","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L107"},"def":{"name":"notifications","return_type":"NotificationSettings","visibility":"Public","body":"if (value = @notifications).nil?\n @notifications = (NotificationSettings.new)\nelse\n value\nend"}},{"html_id":"open_24_7:Bool-instance-method","name":"open_24_7","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L106"},"def":{"name":"open_24_7","return_type":"Bool","visibility":"Public","body":"@open_24_7"}},{"html_id":"opening:Hash(Time::DayOfWeek,OpeningHours)-instance-method","name":"opening","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L123"},"def":{"name":"opening","return_type":"Hash(Time::DayOfWeek, OpeningHours)","visibility":"Public","body":"if (value = @opening).nil?\n @opening = (begin\n times = {} of Time::DayOfWeek => OpeningHours\n opening_hours.each_with_index do |times, index|\n index = index + 1\n times[Time::DayOfWeek.from_value(index)] = OpeningHours.new(times)\n end\n times\n end)\nelse\n value\nend"}},{"html_id":"opening_hours:Array(Tuple(String,String,Bool))-instance-method","name":"opening_hours","doc":"0 index == Monday\n open time, close time, enabled","summary":"

0 index == Monday open time, close time, enabled

","abstract":false,"location":{"filename":"src/place/chat/health_notification_models.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L118"},"def":{"name":"opening_hours","return_type":"Array(Tuple(String, String, Bool))","visibility":"Public","body":"if (value = @opening_hours).nil?\n @opening_hours = ([] of Tuple(String, String, Bool))\nelse\n value\nend"}},{"html_id":"timezone:Time::Location-instance-method","name":"timezone","abstract":false,"def":{"name":"timezone","return_type":"Time::Location","visibility":"Public","body":"if (value = @timezone).nil?\n ::raise(NilAssertionError.new(\"Place::Chat::RoomSettings#timezone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"timezone=(timezone:Time::Location)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"args_string":"(timezone : Time::Location)","args_html":"(timezone : Time::Location)","location":{"filename":"src/place/chat/health_notification_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/chat/health_notification_models.cr#L114"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"Time::Location"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"timezone?:Time::Location|Nil-instance-method","name":"timezone?","abstract":false,"def":{"name":"timezone?","return_type":"Time::Location | ::Nil","visibility":"Public","body":"@timezone"}}]}]},{"html_id":"drivers/Place/Demo","path":"Place/Demo.html","kind":"module","full_name":"Place::Demo","name":"Demo","abstract":false,"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Demo/Display","path":"Place/Demo/Display.html","kind":"class","full_name":"Place::Demo::Display","name":"Display","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/demo/display.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L50"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"self[:audio_mute] = state\nself[:volume] = state ? 0 : @volume\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/demo/display.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L26"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"self[:power] = state"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L30"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[:power].as_bool"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/place/demo/display.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L34"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"self[:input] = input"}},{"html_id":"test_setting(key:String,payload:JSON::Any)-instance-method","name":"test_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(key : String, payload : JSON::Any)","args_html":"(key : String, payload : JSON::Any)","location":{"filename":"src/place/demo/display.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L44"},"def":{"name":"test_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"define_setting(key, payload)\npayload\n"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/place/demo/display.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L40"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"self[:volume] = @volume = level.to_f64"}},{"html_id":"volume?:Float64-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L38"},"def":{"name":"volume?","return_type":"Float64","visibility":"Public","body":"@volume"}}],"types":[{"html_id":"drivers/Place/Demo/Display/Input","path":"Place/Demo/Display/Input.html","kind":"enum","full_name":"Place::Demo::Display::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/display.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L10"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Place/Demo/Display","kind":"class","full_name":"Place::Demo::Display","name":"Display"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L18"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L15"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L11"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L13"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L14"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L12"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L17"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/place/demo/display.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/display.cr#L16"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]},{"html_id":"drivers/Place/Demo/LocationServices","path":"Place/Demo/LocationServices.html","kind":"class","full_name":"Place::Demo::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/location_services.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/demo/location_services.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L28"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"case rand(3)\nwhen 0\n [{location: \"wireless\", coordinates_from: \"bottom-left\", x: 27.113065326953013, y: 36.85052447328469, lon: 55.27498749637098, lat: 25.20090608906493, mac: \"66e0fd1279ce\", variance: 4.5194575835650745, last_seen: 1601555879, building: @building_zone, level: @level_zone, map_width: 1234.2, map_height: 123.8}]\nwhen 1\n [{location: \"meeting\", mac: \"meeting.room@resource.org.com\", event_id: \"meet-1234567\", map_id: \"map-1234\", sys_id: @system_id, ends_at: 1.hour.from_now, private: false, level: @level_zone, building: @building_zone}]\nelse\n [] of String\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/location_services.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/location_services.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@building_zone = setting(String, :building_zone)\n@level_zone = setting(String, :level_zone)\n@system_id = setting(String, :system_id)\n"}}]},{"html_id":"drivers/Place/Demo/RoomSensor","path":"Place/Demo/RoomSensor.html","kind":"class","full_name":"Place::Demo::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/room_sensor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"if (value = @count).nil?\n ::raise(NilAssertionError.new(\"Place::Demo::RoomSensor#count cannot be nil\"))\nelse\n value\nend"}},{"html_id":"count?:Int32|Nil-instance-method","name":"count?","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L19"},"def":{"name":"count?","return_type":"Int32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/room_sensor.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@capacity = (setting?(Int32, :capacity)) || 2\n@count || (@count = (setting?(Int32, :default_count)) || 0)\n@sensor_id = (setting?(String, :sensor_id)) || \"1234\"\n@timestamp = Time.utc.to_unix\nupdate_state\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/place/demo/room_sensor.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L71"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"demo-#{@sensor_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L52"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"demo-#{@sensor_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"set_sensor(new_count:Int32)-instance-method","name":"set_sensor","abstract":false,"args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"args_string":"(new_count : Int32)","args_html":"(new_count : Int32)","location":{"filename":"src/place/demo/room_sensor.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/room_sensor.cr#L34"},"def":{"name":"set_sensor","args":[{"name":"new_count","external_name":"new_count","restriction":"Int32"}],"visibility":"Public","body":"@timestamp = Time.utc.to_unix\n@count = new_count\nupdate_state\n"}}]},{"html_id":"drivers/Place/Demo/Switcher","path":"Place/Demo/Switcher.html","kind":"class","full_name":"Place::Demo::Switcher","name":"Switcher","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"},{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/demo/switcher.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Switchable","kind":"module","full_name":"PlaceOS::Driver::Interface::Switchable","name":"Switchable"}],"namespace":{"html_id":"drivers/Place/Demo","kind":"module","full_name":"Place::Demo","name":"Demo"},"instance_methods":[{"html_id":"inputs:Int32-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L17"},"def":{"name":"inputs","return_type":"Int32","visibility":"Public","body":"if (value = @inputs).nil?\n @inputs = (setting(Int32, :inputs))\nelse\n value\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@inputs = nil\n@outputs = nil\n"}},{"html_id":"outputs:Int32-instance-method","name":"outputs","abstract":false,"location":{"filename":"src/place/demo/switcher.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L18"},"def":{"name":"outputs","return_type":"Int32","visibility":"Public","body":"if (value = @outputs).nil?\n @outputs = (setting(Int32, :outputs))\nelse\n value\nend"}},{"html_id":"switch(map:Hash(Input,Array(Output)),layer:SwitchLayer|Nil=nil)-instance-method","name":"switch","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"args_string":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","args_html":"(map : Hash(Input, Array(Output)), layer : SwitchLayer | Nil = nil)","location":{"filename":"src/place/demo/switcher.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L32"},"def":{"name":"switch","args":[{"name":"map","external_name":"map","restriction":"Hash(Input, Array(Output))"},{"name":"layer","default_value":"nil","external_name":"layer","restriction":"SwitchLayer | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"switching #{map} on layer #{layer || SwitchLayer::All}\"\nend\nmap.each do |input, outputs|\n outputs.each do |outp|\n self[\"output#{outp}\"] = input\n end\nend\ntrue\n"}},{"html_id":"switch_to(input:Int32)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32"}],"args_string":"(input : Int32)","args_html":"(input : Int32)","location":{"filename":"src/place/demo/switcher.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/demo/switcher.cr#L25"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Int32"}],"visibility":"Public","body":"if input < 0 || input > inputs\n raise(\"invalid input #{input}, supported values 0 -> #{inputs}\")\nend\nlogger.debug do\n \"switching all outputs to input #{input}\"\nend\n(1..outputs).each do |outp|\n self[\"output#{outp}\"] = input\nend\ntrue\n"}}]}]},{"html_id":"drivers/Place/DeskBookingsLocations","path":"Place/DeskBookingsLocations.html","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L109"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nif user_details = @known_users[mac_address]?\n email, _name = user_details\n {location: \"booking\", assigned_to: email, mac_address: mac_address}\nend\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L121"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nif location && (location != \"booking\")\n return [] of Nil\nend\nbookings = [] of Booking\n@bookings.each_value(&.each do |booking|\n if zone_id.in?(booking.zones)\n else\n next\n end\n bookings << booking\nend)\nmap_bookings(bookings)\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L94"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for #{email}, #{username}\"\nend\nbookings = @bookings[email]? || ([] of Booking)\nmap_bookings(bookings)\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L100"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nfound = [] of String\n@known_users.each do |user_id, __arg0|\n user_email = __arg0[0]\n _name = __arg0[1]\n if email == user_email\n found << user_id\n end\nend\nfound\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n booking = Booking.from_json(payload)\n booking.user_email = booking.user_email.downcase\n booking_changed(booking)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L41"},"def":{"name":"on_update","visibility":"Public","body":"@zone_filter = (setting?(Array(String), :zone_filter)) || ([] of String)\n@poll_rate = ((setting?(Int32, :poll_rate)) || 60).seconds\n@booking_type = (setting?(String, :booking_type)).presence || \"desk\"\n@expose_for_analytics = (setting?(Hash(String, String), :expose_for_analytics)) || ({} of String => String)\nmap_zones\nschedule.clear\nschedule.every(@poll_rate) do\n query_desk_bookings\nend\nschedule.in(5.seconds) do\n query_desk_bookings\nend\n"}},{"html_id":"query_desk_bookings:Nil-instance-method","name":"query_desk_bookings","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L209"},"def":{"name":"query_desk_bookings","return_type":"Nil","visibility":"Public","body":"bookings = [] of JSON::Any\n@zone_filter.each do |zone|\n bookings.concat(staff_api.query_bookings(type: @booking_type, zones: {zone}).get.as_a)\nend\nbookings = bookings.map do |booking|\n booking = Booking.from_json(booking.to_json)\n booking.user_email = booking.user_email.downcase\n booking\nend\nlogger.debug do\n \"queried desk bookings, found #{bookings.size}\"\nend\nnew_bookings = Hash(String, Array(Booking)).new do |hash, key|\n hash[key] = [] of Booking\nend\nbookings.each do |booking|\n if booking.rejected\n next\n end\n new_bookings[booking.user_email] << booking\n @known_users[booking.user_id] = {booking.user_email, booking.user_name}\nend\n@bookings = new_bookings\n"}}],"types":[{"html_id":"drivers/Place/DeskBookingsLocations/ZoneDetails","path":"Place/DeskBookingsLocations/ZoneDetails.html","kind":"class","full_name":"Place::DeskBookingsLocations::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_bookings_locations.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L191"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/DeskBookingsLocations","kind":"class","full_name":"Place::DeskBookingsLocations","name":"DeskBookingsLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L192"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/desk_bookings_locations.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_bookings_locations.cr#L193"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/DeskBookingWebhook","path":"Place/DeskBookingWebhook.html","kind":"class","full_name":"Place::DeskBookingWebhook","name":"DeskBookingWebhook","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/desk_booking_webhook.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"fetch_and_post-instance-method","name":"fetch_and_post","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L54"},"def":{"name":"fetch_and_post","visibility":"Public","body":"period_start = Time.utc.to_unix\nperiod_end = @time_period.from_now.to_unix\nzones = [@building]\npayload = (staff_api.query_bookings(@booking_category, period_start, period_end, zones)).get.to_json\nheaders = HTTP::Headers.new\n@custom_headers.each do |key, value|\n headers[key] = value\nend\nheaders[\"Content-Type\"] = \"application/json; charset=UTF-8\"\nif @debug\n logger.debug do\n \"Posting: #{payload} \\n with Headers: #{headers}\"\n end\nend\nresponse = HTTP::Client.post(@post_uri, headers, body: payload)\nif response.status_code < 300\nelse\n raise(\"Request failed with #{response.status_code}: #{response.body}\")\nend\n\"#{response.status_code}: #{response.body}\"\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/booking/changed\") do |_subscription, payload|\n logger.debug do\n \"received booking changed event #{payload}\"\n end\n fetch_and_post\nend\nschedule.every(24.hours) do\n fetch_and_post\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/desk_booking_webhook.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/desk_booking_webhook.cr#L43"},"def":{"name":"on_update","visibility":"Public","body":"@post_uri = setting(String, :post_uri)\n@building = setting(String, :building)\n@custom_headers = setting(Hash(String, String), :custom_headers)\n@time_period = (setting(Int32, :days_from_now)).days\n@booking_category = setting(String, :booking_category)\n@debug = setting(Bool, :debug)\nfetch_and_post\n"}}]},{"html_id":"drivers/Place/EventAttendanceRecorder","path":"Place/EventAttendanceRecorder.html","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"booking_id:String|Nil-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L22"},"def":{"name":"booking_id","return_type":"String | ::Nil","visibility":"Public","body":"@booking_id"}},{"html_id":"count:UInt64-instance-method","name":"count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L18"},"def":{"name":"count","return_type":"UInt64","visibility":"Public","body":"@count"}},{"html_id":"last_known_count:Int32-instance-method","name":"last_known_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L27"},"def":{"name":"last_known_count","return_type":"Int32","visibility":"Public","body":"@last_known_count"}},{"html_id":"last_saved_count:Int32-instance-method","name":"last_saved_count","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L26"},"def":{"name":"last_saved_count","return_type":"Int32","visibility":"Public","body":"@last_saved_count"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"@system_id = config.control_system.not_nil!.id\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@metadata_key = (setting?(String, :metadata_key)).presence || \"people_count\"\n@debounce_seconds = (setting?(Int32, :debounce_seconds)) || 0\n"}},{"html_id":"people_counts:Array(Int32)-instance-method","name":"people_counts","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L25"},"def":{"name":"people_counts","return_type":"Array(Int32)","visibility":"Public","body":"@people_counts"}},{"html_id":"should_save:Bool-instance-method","name":"should_save","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L24"},"def":{"name":"should_save","return_type":"Bool","visibility":"Public","body":"@should_save"}},{"html_id":"status:String-instance-method","name":"status","doc":"Tracking meeting details","summary":"

Tracking meeting details

","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L21"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}],"types":[{"html_id":"drivers/Place/EventAttendanceRecorder/StaffEventChange","path":"Place/EventAttendanceRecorder/StaffEventChange.html","kind":"class","full_name":"Place::EventAttendanceRecorder::StaffEventChange","name":"StaffEventChange","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L46"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/EventAttendanceRecorder","kind":"class","full_name":"Place::EventAttendanceRecorder","name":"EventAttendanceRecorder"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L47"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/bookings/event_attendance_recorder.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/bookings/event_attendance_recorder.cr#L50"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}}]}]},{"html_id":"drivers/Place/EventMailer","path":"Place/EventMailer.html","kind":"class","full_name":"Place::EventMailer","name":"EventMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/event_mailer.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L207"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"inspect_event_store:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"inspect_event_store","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L109"},"def":{"name":"inspect_event_store","visibility":"Public","body":"@events"}},{"html_id":"list_systems_in_zone(zone_id:String)-instance-method","name":"list_systems_in_zone","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/event_mailer.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L105"},"def":{"name":"list_systems_in_zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"staff_api.systems(zone_id: zone_id).get.as_a"}},{"html_id":"list_target_systems-instance-method","name":"list_target_systems","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L101"},"def":{"name":"list_target_systems","visibility":"Public","body":"@target_zones.flat_map do |zone_id|\n list_systems_in_zone(zone_id)\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L59"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/event_mailer.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L63"},"def":{"name":"on_update","visibility":"Public","body":"@target_zones = (setting?(Array(String), :zone_ids_to_target)) || ([] of String)\n@target_module = (setting?(String, :module_to_target)) || \"Bookings_1\"\n@target_status = (setting?(String, :module_status_to_target)) || \"bookings\"\n@event_filter = (setting?(String, :event_filter)) || \"\"\n@email_template_group = (setting?(String, :email_template_group)) || \"events\"\n@email_template = (setting?(String, :email_template)) || \"welcome\"\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@debug = (setting?(Bool, :debug)) || false\nself[:events] = @events.clear\nsubscribe_to_all_modules\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/event_mailer.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/event_mailer.cr#L196"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}]},{"html_id":"drivers/Place/Geometry","path":"Place/Geometry.html","kind":"class","full_name":"Place::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_config.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/area_config.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(coordinates:Array(Tuple(Float64,Float64)),geo_type:String=\"Polygon\")-class-method","name":"new","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = \"Polygon\")","args_html":"(coordinates : Array(Tuple(Float64, Float64)), geo_type : String = "Polygon")","location":{"filename":"src/place/area_config.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L8"},"def":{"name":"new","args":[{"name":"coordinates","external_name":"coordinates","restriction":"::Array(::Tuple(::Float64, ::Float64))"},{"name":"geo_type","default_value":"\"Polygon\"","external_name":"geo_type","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(coordinates, geo_type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"coordinates:Array(Tuple(Float64,Float64))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L13"},"def":{"name":"coordinates","return_type":"Array(Tuple(Float64, Float64))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Tuple(Float64,Float64)))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"args_string":"(coordinates : Array(Tuple(Float64, Float64)))","args_html":"(coordinates : Array(Tuple(Float64, Float64)))","location":{"filename":"src/place/area_config.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L13"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Tuple(Float64, Float64))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"geo_type:String-instance-method","name":"geo_type","abstract":false,"location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L12"},"def":{"name":"geo_type","return_type":"String","visibility":"Public","body":"@geo_type"}},{"html_id":"geo_type=(geo_type:String)-instance-method","name":"geo_type=","abstract":false,"args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"args_string":"(geo_type : String)","args_html":"(geo_type : String)","location":{"filename":"src/place/area_config.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_config.cr#L12"},"def":{"name":"geo_type=","args":[{"name":"geo_type","external_name":"geo_type","restriction":"String"}],"visibility":"Public","body":"@geo_type = geo_type"}}]},{"html_id":"drivers/Place/Help","path":"Place/Help.html","kind":"alias","full_name":"Place::Help","name":"Help","abstract":false,"locations":[{"filename":"src/place/meet/help.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Place::HelpPage)","aliased_html":"Hash(String, Place::HelpPage)","const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}},{"html_id":"drivers/Place/HelpPage","path":"Place/HelpPage.html","kind":"struct","full_name":"Place::HelpPage","name":"HelpPage","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/help.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/help.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:String-instance-method","name":"content","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L10"},"def":{"name":"content","return_type":"String","visibility":"Public","body":"@content"}},{"html_id":"icon:String|Nil-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L8"},"def":{"name":"icon","return_type":"String | ::Nil","visibility":"Public","body":"@icon"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/meet/help.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/help.cr#L9"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}}]},{"html_id":"drivers/Place/HTTPPinger","path":"Place/HTTPPinger.html","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/http_pinger.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DUMMY_CALLBACK","name":"DUMMY_CALLBACK","value":"Proc(Task, Nil).new do\n nil\nend"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_status:Bool-instance-method","name":"check_status","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L55"},"def":{"name":"check_status","return_type":"Bool","visibility":"Public","body":"begin\n response = http(@request_verb, \"/\", headers: @request_headers)\n if response.status_code == expected_response_code\n self[:last_successful_check] = Time.utc.to_unix\n self[:last_response_code] = response.status_code\n true\n else\n self[:last_response_code] = response.status_code\n @response_mismatch_count = @response_mismatch_count + 1\n self[:response_mismatch_count] = @response_mismatch_count\n queue.online = false\n false\n end\nrescue error\n logger.warn(exception: error) do\n \"HTTP service not responding\"\n end\n @response_failure_count = @response_failure_count + 1\n self[:response_failure_count] = @response_failure_count\n self[:last_error] = error.message\n false\nend"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"check_status"}},{"html_id":"curl(verb:String,path:String,headers:Hash(String,String)={}ofString=>String,body:String|Nil=nil)-instance-method","name":"curl","abstract":false,"args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"args_string":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","args_html":"(verb : String, path : String, headers : Hash(String, String) = {} of String => String, body : String | Nil = nil)","location":{"filename":"src/place/http_pinger.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L80"},"def":{"name":"curl","args":[{"name":"verb","external_name":"verb","restriction":"String"},{"name":"path","external_name":"path","restriction":"String"},{"name":"headers","default_value":"{} of String => String","external_name":"headers","restriction":"Hash(String, String)"},{"name":"body","default_value":"nil","external_name":"body","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = http(verb, path, body, headers: headers)\nlogger.debug do\n \"response #{response.status}: #{response.status_message}\\nheaders: #{response.headers}\\n#{response.body}\"\nend\ntask = PlaceOS::Driver::Task.new(queue, DUMMY_CALLBACK, 0, 0.seconds, 0, false, nil, nil)\ntask.success(response.body, response.status_code)\n"}},{"html_id":"expected_response_code:Int32-instance-method","name":"expected_response_code","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L26"},"def":{"name":"expected_response_code","return_type":"Int32","visibility":"Public","body":"@expected_response_code"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"transport.before_request do |request|\n logger.debug do\n \"using proxy #{!(!transport.proxy_in_use)} #{transport.proxy_in_use.inspect}\\nconnecting to host: #{config.uri}\\nperforming request: #{request.method} #{request.path}\\nheaders: #{request.headers}\\n#{!request.body.nil? ? String.new((request.body.as(IO::Memory)).to_slice) : nil}\"\n end\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L39"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(((setting?(Int32, :ping_every)) || 60).seconds) do\n check_status\nend\n@request_verb = (setting?(String, :request_verb)) || \"GET\"\n@expected_response_code = (setting?(Int32, :expected_response_code)) || 200\nrequest_headers = HTTP::Headers.new\nheaders = (setting?(HeaderJSON, :request_headers)) || ({} of String => Array(String) | String)\nheaders.each do |key, value|\n request_headers.add(key, value)\nend\n@request_headers = request_headers\n"}},{"html_id":"request_verb:String-instance-method","name":"request_verb","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L27"},"def":{"name":"request_verb","return_type":"String","visibility":"Public","body":"@request_verb"}},{"html_id":"response_failure_count:UInt64-instance-method","name":"response_failure_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L24"},"def":{"name":"response_failure_count","return_type":"UInt64","visibility":"Public","body":"@response_failure_count"}},{"html_id":"response_mismatch_count:UInt64-instance-method","name":"response_mismatch_count","abstract":false,"location":{"filename":"src/place/http_pinger.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L23"},"def":{"name":"response_mismatch_count","return_type":"UInt64","visibility":"Public","body":"@response_mismatch_count"}}],"types":[{"html_id":"drivers/Place/HTTPPinger/HeaderJSON","path":"Place/HTTPPinger/HeaderJSON.html","kind":"alias","full_name":"Place::HTTPPinger::HeaderJSON","name":"HeaderJSON","abstract":false,"locations":[{"filename":"src/place/http_pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/http_pinger.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Array(String) | String)","aliased_html":"Hash(String, Array(String) | String)","const":false,"namespace":{"html_id":"drivers/Place/HTTPPinger","kind":"class","full_name":"Place::HTTPPinger","name":"HTTPPinger"}}]},{"html_id":"drivers/Place/LocationServices","path":"Place/LocationServices.html","kind":"class","full_name":"Place::LocationServices","name":"LocationServices","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/location_services.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, {} of String => String, nil}","doc":"===============================\nIP ADDRESS => MAC ADDRESS\n===============================","summary":"

=============================== IP ADDRESS => MAC ADDRESS ===============================

"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L31"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String)-instance-method","name":"check_ownership_of","doc":"Will return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

Will return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String)","args_html":"(mac_address : String)","location":{"filename":"src/place/location_services.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L136"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"searching for owner of #{mac_address}\"\nend\nowner = nil\n((system.implementing(Interface::Locatable)).check_ownership_of(mac_address)).get.each do |result|\n if result != nil\n owner = result\n break\n end\nend\nif owner.nil? && @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).check_ownership_of(mac_address))\n end\n end\n results.each do |sys_results|\n sys_results.get.each do |result|\n if result != nil\n owner = result\n break\n end\n end\n if owner.nil?\n else\n break\n end\n end\nend\nowner\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"Will return an array of devices and their x, y coordinates","summary":"

Will return an array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L172"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching devices in zone #{zone_id}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).device_locations(zone_id, location)).get.each do |locations|\n located.concat(locations.as_a)\nend\nlocated\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L54"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L63"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"ip_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"ip_mappings","doc":"Webhook handler for accepting IP address to username mappings\nThis data is typically obtained via domain controller logs","summary":"

Webhook handler for accepting IP address to username mappings This data is typically obtained via domain controller logs

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L281"},"def":{"name":"ip_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"IP mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nip_map = Array(Tuple(String, String, String, String | ::Nil)).from_json(body)\n(system.implementing(Interface::Locatable)).ip_username_mappings(ip_map)\nSUCCESS_RESPONSE\n"}},{"html_id":"locate_contacts(list_name:String)-instance-method","name":"locate_contacts","doc":"locates all the of the emergency contacts","summary":"

locates all the of the emergency contacts

","abstract":false,"args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"args_string":"(list_name : String)","args_html":"(list_name : String)","location":{"filename":"src/place/location_services.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L329"},"def":{"name":"locate_contacts","args":[{"name":"list_name","external_name":"list_name","restriction":"String"}],"visibility":"Public","body":"contacts = status(Hash(String, Array(NamedTuple(email: String, username: String))), :emergency_contacts)\nlist = contacts[list_name]\nresults = {} of String => Array(JSON::Any)\nlist.each do |person|\n email = person[:email]\n results[email] = locate_user(email, person[:username])\nend\nresults\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"Runs through all the services that support the Locatable interface\nrequests location information on the identifier for all of them\nconcatenates the results and returns them as a single array","summary":"

Runs through all the services that support the Locatable interface requests location information on the identifier for all of them concatenates the results and returns them as a single array

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L73"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"searching for #{email}, #{username}\"\nend\nlocated = [] of JSON::Any\n((system.implementing(Interface::Locatable)).locate_user(email, username)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n results << {level_id, ((system(system_id)).implementing(Interface::Locatable)).locate_user(email, username)}\n end\n end\n results.each do |__arg4|\n level_id = __arg4[0]\n result = __arg4[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"mac_address_mappings(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"mac_address_mappings","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/place/location_services.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L292"},"def":{"name":"mac_address_mappings","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"MAC mappings webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_webhook\n logger.debug do\n body\n end\nend\nusername, macs, domain = Tuple(String, Array(String), String | ::Nil).from_json(body)\nusername = username.strip\nmacs = macs.compact_map do |mac|\n mac = (mac.strip.gsub(/(0x|[^0-9A-Fa-f])*/, \"\")).downcase\n if mac.size == 12\n mac\n end\nend\nif username.empty? || macs.empty?\n return {HTTP::Status::NOT_ACCEPTABLE, {} of String => String, nil}\nend\n(system.implementing(Interface::Locatable)).mac_address_mappings(username, macs, domain)\nSUCCESS_RESPONSE\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"macs_assigned_to","doc":"Will return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

Will return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L110"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"email = email.try(&.downcase)\nlogger.debug do\n \"listing MAC addresses assigned to #{email}, #{username}\"\nend\nmacs = [] of String\n((system.implementing(Interface::Locatable)).macs_assigned_to(email, username)).get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\nend\nif @search_building\n results = [] of PlaceOS::Driver::Proxy::Drivers::Responses\n systems.each do |_level_id, system_ids|\n system_ids.each do |system_id|\n results << (((system(system_id)).implementing(Interface::Locatable)).macs_assigned_to(email, username))\n end\n end\n results.each do |__arg8|\n __arg8.get.each do |found|\n macs.concat(found.as_a.map(&.as_s))\n end\n end\nend\nmacs\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n@emergency_contacts = (setting?(Hash(String, String), :emergency_contacts)) || Hash(String, String).new\n@search_building = (setting?(Bool, :search_building)) || false\n@building_id = nil\n@systems = nil\nschedule.clear\nif @search_building\n schedule.every(1.hour) do\n if @systems\n @systems = get_systems_list.not_nil!\n end\n end\nend\nif !@emergency_contacts.empty?\n schedule.every(6.hours, immediate: true) do\n update_contacts_list\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil)-instance-method","name":"sensor","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil)","args_html":"(mac : String, id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L230"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"querying sensor with mac: #{mac}, id: #{id.inspect}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensor(mac, id)).get.each do |locations|\n located.concat(locations.as_a)\nend\nif located.empty?\nelse\n return located.first\nend\ndriver_ids = Set.new(drivers.map() do |__arg14|\n __arg14.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg15|\n __arg15.@module_id\n end)\n results << {level_id, drivers.sensor(mac, id)}\n end\n end\n results.each do |__arg16|\n level_id = __arg16[0]\n result = __arg16[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nif located.empty?\nelse\n located.first\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil)-instance-method","name":"sensors","doc":"sensor search + filtered search","summary":"

sensor search + filtered search

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil)","location":{"filename":"src/place/location_services.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L186"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching sensors of type: #{type.inspect}, mac: #{mac.inspect}, zone_id: #{zone_id}\"\nend\nlocated = [] of JSON::Any\ndrivers = system.implementing(Interface::Sensor)\n(drivers.sensors(type, mac, zone_id)).get.each do |locations|\n located.concat(locations.as_a)\nend\ndriver_ids = Set.new(drivers.map() do |__arg10|\n __arg10.@module_id\nend)\nif @search_building\n building = JSON::Any.new(building_id)\n results = [] of Tuple(JSON::Any, PlaceOS::Driver::Proxy::Drivers::Responses)\n systems.each do |level_id, system_ids|\n if zone_id && (zone_id != level_id)\n next\n end\n level_id = JSON::Any.new(level_id)\n system_ids.each do |system_id|\n drivers = (system(system_id)).implementing(Interface::Sensor)\n drivers = PlaceOS::Driver::Proxy::Drivers.new(drivers.reject do |driver|\n (driver.@module_id).in?(driver_ids)\n end)\n driver_ids.concat(drivers.map() do |__arg11|\n __arg11.@module_id\n end)\n results << {level_id, drivers.sensors(type, mac, zone_id)}\n end\n end\n results.each do |__arg12|\n level_id = __arg12[0]\n result = __arg12[1]\n result.get.each do |locations|\n located.concat(locations.as_a.tap(&.each do |location|\n location = location.as_h\n location[\"level\"] = level_id\n location[\"building\"] = building\n end))\n end\n end\nend\nlocated\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L32"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}},{"html_id":"update_contacts_list-instance-method","name":"update_contacts_list","abstract":false,"location":{"filename":"src/place/location_services.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/location_services.cr#L311"},"def":{"name":"update_contacts_list","visibility":"Public","body":"if @emergency_contacts.empty?\n self[:emergency_contacts] = nil\n return\nend\nif !(system.exists?(:Calendar))\n logger.warn do\n \"contacts requested however no directory service available\"\n end\n return\nend\ndirectory = system[:Calendar]\nself[:emergency_contacts] = @emergency_contacts.transform_values do |id|\n (directory.get_members(id)).get.as(JSON::Any)\nend\n"}}]},{"html_id":"drivers/Place/LogicExample","path":"Place/LogicExample.html","kind":"class","full_name":"Place::LogicExample","name":"LogicExample","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/logic_example.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"display_count-instance-method","name":"display_count","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L21"},"def":{"name":"display_count","visibility":"Public","body":"system.count(:Display)"}},{"html_id":"not_implemented-instance-method","name":"not_implemented","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L25"},"def":{"name":"not_implemented","visibility":"Public","body":"raise(\"not implemented\")"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L9"},"def":{"name":"on_update","visibility":"Public","body":"logger.info do\n \"woot! an update #{setting?(String, :name)}\"\nend"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/place/logic_example.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L17"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"main_lcd.power(state)"}},{"html_id":"power_state?-instance-method","name":"power_state?","abstract":false,"location":{"filename":"src/place/logic_example.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/logic_example.cr#L13"},"def":{"name":"power_state?","visibility":"Public","body":"main_lcd[:power]"}}]},{"html_id":"drivers/Place/Meet","path":"Place/Meet.html","kind":"class","full_name":"Place::Meet","name":"Meet","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LIGHT_MOD","name":"DEFAULT_LIGHT_MOD","value":"\"Lighting_1\""},{"id":"EXT_INIT","name":"EXT_INIT","value":"[:qsc_phone_dialing_init] of Symbol"},{"id":"EXT_POWER","name":"EXT_POWER","value":"[:qsc_phone_dialing_power] of Symbol"}],"included_modules":[{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"add_preset(preset:String,camera:String)-instance-method","name":"add_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":798,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L798"},"def":{"name":"add_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].save_position(preset, cam.index || 0)\n"}},{"html_id":"apply_camera_defaults-instance-method","name":"apply_camera_defaults","doc":"run on system power on","summary":"

run on system power on

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":779,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L779"},"def":{"name":"apply_camera_defaults","visibility":"Public","body":"(system.all(vc_camera_module)).power(true)"}},{"html_id":"apply_default_routes-instance-method","name":"apply_default_routes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L250"},"def":{"name":"apply_default_routes","visibility":"Public","body":"begin\n @default_routes.each do |output, input|\n route_signal(input, output)\n end\nrescue error\n logger.warn(exception: error) do\n \"error applying default routes\"\n end\nend"}},{"html_id":"init_vidconf-instance-method","name":"init_vidconf","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":773,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L773"},"def":{"name":"init_vidconf","visibility":"Public","body":"@vc_camera_in = setting?(String, :vc_camera_in)\n@vc_camera_module = setting?(String, :vc_camera_module)\n"}},{"html_id":"join_mode(mode_id:String,master:Bool=true)-instance-method","name":"join_mode","abstract":false,"args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"args_string":"(mode_id : String, master : Bool = true)","args_html":"(mode_id : String, master : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":890,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L890"},"def":{"name":"join_mode","args":[{"name":"mode_id","external_name":"mode_id","restriction":"String"},{"name":"master","default_value":"true","external_name":"master","restriction":"Bool"}],"visibility":"Public","body":"mode = @join_modes[mode_id]\nif @join_selected\n old_mode = @join_modes[@join_selected]?\nend\njoin_settings = @join_settings.not_nil!\nthis_room = config.control_system.not_nil!.id\nbegin\n @join_lock.synchronize do\n if master\n notify_rooms = join_settings.type.fully_aware? ? join_settings.all_rooms : mode.room_ids\n if mode.linked?\n if notify_rooms.includes?(this_room)\n else\n raise(\"unable to perform join from this system\")\n end\n end\n @join_selected = mode.id\n @join_master = true\n if (old_mode && old_mode.linked?) && join_settings.type.independent?\n unlink(old_mode.room_ids - mode.room_ids)\n end\n if !mode.linked?\n return unlink(notify_rooms)\n end\n reset_remote_cache\n self[:join_confirmed] = @join_confirmed = false\n notify_rooms.each do |room_id|\n if room_id == this_room\n next\n end\n (((system(room_id)).get(\"System\", 1)).join_mode(mode_id, master: false)).get\n end\n persist_join_state\n self[:join_master] = master\n self[:joined] = @join_selected\n self[:join_confirmed] = @join_confirmed = true\n else\n @join_selected = mode.id\n @join_master = false\n reset_remote_cache\n persist_join_state\n self[:join_master] = master\n self[:joined] = mode.id\n self[:join_confirmed] = @join_confirmed = true\n end\n end\nensure\n update_available_ui\n mode.join_actions.each do |action|\n if master || (!action.master_only?)\n system[action.module_id].__send__(action.function_name, action.arguments, action.named_args)\n end\n end\n if (!@light_scenes.empty?) && master\n select_lighting_scene(@light_scenes.keys.first)\n end\nend\n"}},{"html_id":"lighting_independent:Bool-instance-method","name":"lighting_independent","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":571,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L571"},"def":{"name":"lighting_independent","return_type":"Bool","visibility":"Public","body":"@lighting_independent"}},{"html_id":"local_accessories:Array(Accessory)-instance-method","name":"local_accessories","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":668,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L668"},"def":{"name":"local_accessories","return_type":"Array(Accessory)","visibility":"Public","body":"@local_accessories"}},{"html_id":"local_help:Help-instance-method","name":"local_help","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L96"},"def":{"name":"local_help","return_type":"Help","visibility":"Public","body":"@local_help"}},{"html_id":"local_lighting_area:LightingArea|Nil-instance-method","name":"local_lighting_area","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L570"},"def":{"name":"local_lighting_area","return_type":"LightingArea | ::Nil","visibility":"Public","body":"@local_lighting_area"}},{"html_id":"local_mics:Array(Microphone)-instance-method","name":"local_mics","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":689,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L689"},"def":{"name":"local_mics","return_type":"Array(Microphone)","visibility":"Public","body":"@local_mics"}},{"html_id":"local_outputs:Array(String)-instance-method","name":"local_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L101"},"def":{"name":"local_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_outputs"}},{"html_id":"local_preview_outputs:Array(String)-instance-method","name":"local_preview_outputs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L104"},"def":{"name":"local_preview_outputs","return_type":"Array(String)","visibility":"Public","body":"@local_preview_outputs"}},{"html_id":"local_tabs:Array(Tab)-instance-method","name":"local_tabs","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L97"},"def":{"name":"local_tabs","return_type":"Array(Tab)","visibility":"Public","body":"@local_tabs"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Sets the mute state on a signal node within the system.","summary":"

Sets the mute state on a signal node within the system.

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/place/meet.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L547"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"input_or_output = index\naudio = @master_audio\nif audio\n logger.debug do\n \"setting master mute to #{state}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nmixer = system[audio.module_id]\nset_master_mute(mixer, audio, state)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L88"},"def":{"name":"on_load","visibility":"Public","body":"system.load_complete do\n init_previous_join_state\n on_update\nend"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L110"},"def":{"name":"on_update","visibility":"Public","body":"if (Time.utc.to_unix - @ignore_update) < 3\n return\nend\nself[:name] = system.display_name.presence || system.name\nself[:local_help] = @local_help = (setting?(Help, :help)) || Help.new\nself[:local_tabs] = @local_tabs = (setting?(Array(Tab), :tabs)) || ([] of Tab)\nself[:local_outputs] = @local_outputs = (setting?(Array(String), :local_outputs)) || ([] of String)\nself[:local_preview_outputs] = @local_preview_outputs = (setting?(Array(String), :preview_outputs)) || ([] of String)\n@shutdown_devices = setting?(Array(String), :shutdown_devices)\n@local_vidconf = (setting?(String, :local_vidconf)) || \"VidConf_1\"\n@join_lock.synchronize do\n subscriptions.clear\n reset_remote_cache\n init_signal_routing\n init_projector_screens\n init_master_audio\n init_microphones\n init_accessories\n init_lighting\n init_vidconf\n init_joining\nend\n{% for func in EXT_INIT %}\n begin\n {{ func.id }}\n rescue error\n logger.warn(exception: error) { \"error in init function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\n"}},{"html_id":"power(state:Bool,unlink:Bool=false)-instance-method","name":"power","doc":"Sets the overall room power state.","summary":"

Sets the overall room power state.

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"args_string":"(state : Bool, unlink : Bool = false)","args_html":"(state : Bool, unlink : Bool = false)","location":{"filename":"src/place/meet.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L173"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"unlink","default_value":"false","external_name":"unlink","restriction":"Bool"}],"visibility":"Public","body":"if state == self[:active]?\n return\nend\nlogger.debug do\n \"Powering #{state ? \"up\" : \"down\"}\"\nend\nself[:active] = state\nremotes_before = remote_rooms\nsys = system\nif state\n apply_master_audio_default\n apply_camera_defaults\n apply_default_routes\n apply_mic_defaults\n if first_output = @tabs.first?.try do |__arg0|\n __arg0.inputs.first\n end\n selected_input(first_output)\n end\nelse\n if unlink\n unlink_systems\n end\n @local_outputs.each do |output|\n unroute(output)\n end\n @local_preview_outputs.each do |output|\n unroute(output)\n end\n if devices = @shutdown_devices\n devices.each do |device|\n sys[device].power(false)\n end\n else\n (sys.implementing(Interface::Powerable)).power(false)\n end\n if sys.exists?(@local_vidconf)\n sys[@local_vidconf].hangup\n end\nend\nremotes_before.each do |room|\n room.power(state, unlink)\nend\n{% for func in EXT_POWER %}\n begin\n {{ func.id }}(state, unlink)\n rescue error\n logger.warn(exception: error) { \"error in power state function: #{ {{ func.id.stringify }} }\" }\n end\n {% end %}\nstate\n"}},{"html_id":"remove_preset(preset:String,camera:String)-instance-method","name":"remove_preset","abstract":false,"args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(preset : String, camera : String)","args_html":"(preset : String, camera : String)","location":{"filename":"src/place/meet.cr","line_number":803,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L803"},"def":{"name":"remove_preset","args":[{"name":"preset","external_name":"preset","restriction":"String"},{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"cam = camera_details(camera)\nsystem[cam.mod].remove_position(preset, cam.index || 0)\n"}},{"html_id":"route(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L256"},"def":{"name":"route","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"route_signal(input, output, max_dist, simulate, follow_additional_routes)\nif links = @linked_outputs[output]?\n links.each do |_sys_id, remote_out|\n route_signal(input, remote_out, max_dist, simulate, follow_additional_routes)\n end\nend\nif !simulate\n remote_systems.each do |remote_system|\n room = remote_system.room_logic\n sys_id = remote_system.system_id\n if links = @linked_outputs[output]?\n if remote_out = links[sys_id]?\n room.route(input, remote_out, max_dist, true, follow_additional_routes)\n end\n end\n end\nend\n"}},{"html_id":"select_lighting_scene(scene:String,push_to_remotes:Bool=true)-instance-method","name":"select_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"args_string":"(scene : String, push_to_remotes : Bool = true)","args_html":"(scene : String, push_to_remotes : Bool = true)","location":{"filename":"src/place/meet.cr","line_number":635,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L635"},"def":{"name":"select_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"String"},{"name":"push_to_remotes","default_value":"true","external_name":"push_to_remotes","restriction":"Bool"}],"visibility":"Public","body":"scene_id = @light_scenes[scene.downcase]?\nif scene_id\nelse\n raise(ArgumentError.new(\"invalid scene '#{scene}', valid scenes are: #{@light_scenes.keys}\"))\nend\nsystem[@light_module].set_lighting_scene(scene_id, @light_area)\nif push_to_remotes && lighting_independent\n remote_rooms.each do |room|\n room.select_lighting_scene(scene, false)\n end\nend\n"}},{"html_id":"selected_camera(camera:String)-instance-method","name":"selected_camera","doc":"This is the camera input that is currently selected so we can switch between\ndifferent cameras","summary":"

This is the camera input that is currently selected so we can switch between different cameras

","abstract":false,"args":[{"name":"camera","external_name":"camera","restriction":"String"}],"args_string":"(camera : String)","args_html":"(camera : String)","location":{"filename":"src/place/meet.cr","line_number":785,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L785"},"def":{"name":"selected_camera","args":[{"name":"camera","external_name":"camera","restriction":"String"}],"visibility":"Public","body":"self[:selected_camera] = camera\ncam = camera_details(camera)\nsystem[cam.mod].power(true)\nif camera_in = @vc_camera_in\n route_signal(camera, camera_in)\nelse\n if camera_vc_in = cam.vc_camera_input\n system[@local_vidconf].camera_select(camera_vc_in)\n end\nend\n"}},{"html_id":"selected_input(name:String,simulate:Bool=false):Nil-instance-method","name":"selected_input","doc":"This is the currently selected input\nif the user selects an output then this will be routed to it","summary":"

This is the currently selected input if the user selects an output then this will be routed to it

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"args_string":"(name : String, simulate : Bool = false) : Nil","args_html":"(name : String, simulate : Bool = false) : Nil","location":{"filename":"src/place/meet.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L286"},"def":{"name":"selected_input","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"selected_tab = @tabs.find() do |__arg2|\n __arg2.inputs.includes?(name)\nend.try(&.name)\nif selected_tab || (!simulate)\n self[:selected_input] = name\n self[:selected_tab] = selected_tab || @tabs.first\n sys = system\n if sys.exists?(name)\n mod = sys[name]\n if mod.implements?(Interface::Powerable)\n mod.power(true)\n end\n end\nend\nif !simulate\n if @preview_outputs.empty?\n if @outputs.size == 1\n route_signal(name, @outputs.first)\n end\n else\n @preview_outputs.each do |output|\n route_signal(name, output)\n end\n end\n remote_rooms.each do |room|\n room.selected_input(name, true)\n end\nend\n"}},{"html_id":"unlink_internal_use-instance-method","name":"unlink_internal_use","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":971,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L971"},"def":{"name":"unlink_internal_use","visibility":"Public","body":"begin\n @join_lock.synchronize do\n if @join_modes[@join_selected]?.try() do |__arg11|\n __arg11.room_ids.empty?\n end\n else\n @join_selected = nil\n end\n @join_master = true\n self[:join_confirmed] = @join_confirmed = false\n self[:join_master] = true\n self[:joined] = @join_selected\n reset_remote_cache\n persist_join_state\n update_available_ui\n self[:join_confirmed] = @join_confirmed = true\n end\nrescue error\n logger.error(exception: error) do\n \"ui state failed to be applied unjoining room\"\n end\nend"}},{"html_id":"unlink_systems-instance-method","name":"unlink_systems","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":957,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L957"},"def":{"name":"unlink_systems","visibility":"Public","body":"begin\n if unlink_mode = @join_modes.find do |_id, mode|\n !mode.linked?\n end\n join_mode(unlink_mode[0])\n else\n currrent_selected = @join_selected\n if currrent_selected && (current_mode = @join_modes[currrent_selected]?)\n unlink(current_mode.room_ids)\n end\n unlink_internal_use\n end\nrescue error\n logger.warn(exception: error) do\n \"unlink failed\"\n end\nend"}},{"html_id":"unroute(output:String)-instance-method","name":"unroute","doc":"we want to unroute any signal going to the display\nor if it's a direct connection, we want to mute the display","summary":"

we want to unroute any signal going to the display or if it's a direct connection, we want to mute the display

","abstract":false,"args":[{"name":"output","external_name":"output","restriction":"String"}],"args_string":"(output : String)","args_html":"(output : String)","location":{"filename":"src/place/meet.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L278"},"def":{"name":"unroute","args":[{"name":"output","external_name":"output","restriction":"String"}],"visibility":"Public","body":"begin\n route(\"MUTE\", output)\nrescue error\n logger.debug(exception: error) do\n \"failed to unroute #{output}\"\n end\nend"}},{"html_id":"volume(level:Int32|Float64,input_or_output:String)-instance-method","name":"volume","doc":"Set the volume of a signal node within the system.","summary":"

Set the volume of a signal node within the system.

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"args_string":"(level : Int32 | Float64, input_or_output : String)","args_html":"(level : Int32 | Float64, input_or_output : String)","location":{"filename":"src/place/meet.cr","line_number":525,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L525"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"},{"name":"input_or_output","external_name":"input_or_output","restriction":"String"}],"visibility":"Public","body":"audio = @master_audio\nif audio\n logger.debug do\n \"setting master volume to #{level}\"\n end\nelse\n logger.debug do\n \"no master output configured\"\n end\n return\nend\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = audio.min_level..audio.max_level\nlevel_actual = percentage * (range.end - range.begin)\nlevel_actual = (level_actual + range.begin.to_f).round(1)\nmixer = system[audio.module_id]\nset_master_volume(mixer, audio, level_actual)\n"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory","path":"Place/Meet/Accessory.html","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":651,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L651"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":652,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L652"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"controls:Array(Control)-instance-method","name":"controls","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":665,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L665"},"def":{"name":"controls","return_type":"Array(Control)","visibility":"Public","body":"@controls"}},{"html_id":"module:String-instance-method","name":"module","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":664,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L664"},"def":{"name":"module","return_type":"String","visibility":"Public","body":"@module"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":663,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L663"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}],"types":[{"html_id":"drivers/Place/Meet/Accessory/Control","path":"Place/Meet/Accessory/Control.html","kind":"struct","full_name":"Place::Meet::Accessory::Control","name":"Control","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":654,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L654"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet/Accessory","kind":"struct","full_name":"Place::Meet::Accessory","name":"Accessory"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L655"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":660,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L660"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"@arguments"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":659,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L659"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":658,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L658"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":657,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L657"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Place/Meet/AudioFader","path":"Place/Meet/AudioFader.html","kind":"class","full_name":"Place::Meet::AudioFader","name":"AudioFader","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":396,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L396"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":397,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L397"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L399"},"def":{"name":"new","visibility":"Public","body":"_ = allocate\n_.initialize\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"default_level:Float64|Nil-instance-method","name":"default_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":407,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L407"},"def":{"name":"default_level","return_type":"Float64 | ::Nil","visibility":"Public","body":"@default_level"}},{"html_id":"default_muted:Bool|Nil-instance-method","name":"default_muted","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":406,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L406"},"def":{"name":"default_muted","return_type":"Bool | ::Nil","visibility":"Public","body":"@default_muted"}},{"html_id":"implements_volume?-instance-method","name":"implements_volume?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":431,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L431"},"def":{"name":"implements_volume?","visibility":"Public","body":"level_id == \"\\e\""}},{"html_id":"level_feedback:String-instance-method","name":"level_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L415"},"def":{"name":"level_feedback","return_type":"String","visibility":"Public","body":"if (value = @level_feedback).nil?\n @level_feedback = (begin\n id = level_id\n \"fader#{id.is_a?(Array) ? id.first : id}\"\n end)\nelse\n value\nend"}},{"html_id":"level_feedback=(level_feedback:String)-instance-method","name":"level_feedback=","abstract":false,"args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"args_string":"(level_feedback : String)","args_html":"(level_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":415,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L415"},"def":{"name":"level_feedback=","args":[{"name":"level_feedback","external_name":"level_feedback","restriction":"String"}],"visibility":"Public","body":"@level_feedback = level_feedback"}},{"html_id":"level_feedback?:String?-instance-method","name":"level_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L425"},"def":{"name":"level_feedback?","visibility":"Public","body":"@level_feedback"}},{"html_id":"level_id:String|Array(String)|Nil-instance-method","name":"level_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L403"},"def":{"name":"level_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"@level_id"}},{"html_id":"level_id=(level_id:String|Array(String)|Nil)-instance-method","name":"level_id=","abstract":false,"args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"args_string":"(level_id : String | Array(String) | Nil)","args_html":"(level_id : String | Array(String) | Nil)","location":{"filename":"src/place/meet.cr","line_number":403,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L403"},"def":{"name":"level_id=","args":[{"name":"level_id","external_name":"level_id","restriction":"String | Array(String) | ::Nil"}],"visibility":"Public","body":"@level_id = level_id"}},{"html_id":"level_index:Int32|Nil-instance-method","name":"level_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":409,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L409"},"def":{"name":"level_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@level_index"}},{"html_id":"max_level:Float64-instance-method","name":"max_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":413,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L413"},"def":{"name":"max_level","return_type":"Float64","visibility":"Public","body":"if (value = @max_level).nil?\n @max_level = (100.0)\nelse\n value\nend"}},{"html_id":"min_level:Float64-instance-method","name":"min_level","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":412,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L412"},"def":{"name":"min_level","return_type":"Float64","visibility":"Public","body":"if (value = @min_level).nil?\n @min_level = (0.0)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L423"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"if (value = @module_id).nil?\n @module_id = (\"Mixer_1\")\nelse\n value\nend"}},{"html_id":"module_id=(module_id:String)-instance-method","name":"module_id=","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String)","args_html":"(module_id : String)","location":{"filename":"src/place/meet.cr","line_number":423,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L423"},"def":{"name":"module_id=","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"visibility":"Public","body":"@module_id = module_id"}},{"html_id":"mute_feedback:String-instance-method","name":"mute_feedback","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L419"},"def":{"name":"mute_feedback","return_type":"String","visibility":"Public","body":"if (value = @mute_feedback).nil?\n @mute_feedback = (begin\n id = mute_id || level_id\n \"fader#{id.is_a?(Array) ? id.first : id}_mute\"\n end)\nelse\n value\nend"}},{"html_id":"mute_feedback=(mute_feedback:String)-instance-method","name":"mute_feedback=","abstract":false,"args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"args_string":"(mute_feedback : String)","args_html":"(mute_feedback : String)","location":{"filename":"src/place/meet.cr","line_number":419,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L419"},"def":{"name":"mute_feedback=","args":[{"name":"mute_feedback","external_name":"mute_feedback","restriction":"String"}],"visibility":"Public","body":"@mute_feedback = mute_feedback"}},{"html_id":"mute_feedback?:String?-instance-method","name":"mute_feedback?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":425,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L425"},"def":{"name":"mute_feedback?","visibility":"Public","body":"@mute_feedback"}},{"html_id":"mute_id:String|Array(String)|Nil-instance-method","name":"mute_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":404,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L404"},"def":{"name":"mute_id","return_type":"String | Array(String) | ::Nil","visibility":"Public","body":"if (value = @mute_id).nil?\n @mute_id = (level_id)\nelse\n value\nend"}},{"html_id":"mute_index:Int32|Nil-instance-method","name":"mute_index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":410,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L410"},"def":{"name":"mute_index","return_type":"Int32 | ::Nil","visibility":"Public","body":"@mute_index"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":402,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L402"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"use_defaults?-instance-method","name":"use_defaults?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":427,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L427"},"def":{"name":"use_defaults?","visibility":"Public","body":"(@module_id.nil? && (level_id.nil? || level_id.try(&.empty?))) && (mute_id.nil? || mute_id.try(&.empty?))"}}]},{"html_id":"drivers/Place/Meet/CamDetails","path":"Place/Meet/CamDetails.html","kind":"class","full_name":"Place::Meet::CamDetails","name":"CamDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":762,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L762"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":763,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L763"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"index:String|Int32|Nil-instance-method","name":"index","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":766,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L766"},"def":{"name":"index","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@index"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":765,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L765"},"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"vc_camera_input:String|Int32|Nil-instance-method","name":"vc_camera_input","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":767,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L767"},"def":{"name":"vc_camera_input","return_type":"String | Int32 | ::Nil","visibility":"Public","body":"@vc_camera_input"}}]},{"html_id":"drivers/Place/Meet/JoinAction","path":"Place/Meet/JoinAction.html","kind":"class","full_name":"Place::Meet::JoinAction","name":"JoinAction","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":823,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L823"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":824,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L824"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"arguments:Array(JSON::Any)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":828,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L828"},"def":{"name":"arguments","return_type":"Array(JSON::Any)","visibility":"Public","body":"if (value = @arguments).nil?\n @arguments = ([] of JSON::Any)\nelse\n value\nend"}},{"html_id":"function_name:String-instance-method","name":"function_name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":827,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L827"},"def":{"name":"function_name","return_type":"String","visibility":"Public","body":"@function_name"}},{"html_id":"master_only?:Bool-instance-method","name":"master_only?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":830,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L830"},"def":{"name":"master_only?","return_type":"Bool","visibility":"Public","body":"if (value = @master_only).nil?\n @master_only = (true)\nelse\n value\nend"}},{"html_id":"module_id:String-instance-method","name":"module_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":826,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L826"},"def":{"name":"module_id","return_type":"String","visibility":"Public","body":"@module_id"}},{"html_id":"named_args:Hash(String,JSON::Any)-instance-method","name":"named_args","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":829,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L829"},"def":{"name":"named_args","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @named_args).nil?\n @named_args = ({} of String => JSON::Any)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinDetail","path":"Place/Meet/JoinDetail.html","kind":"class","full_name":"Place::Meet::JoinDetail","name":"JoinDetail","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":833,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L833"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":834,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L834"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":836,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L836"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"join_actions:Array(JoinAction)-instance-method","name":"join_actions","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":839,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L839"},"def":{"name":"join_actions","return_type":"Array(JoinAction)","visibility":"Public","body":"if (value = @join_actions).nil?\n @join_actions = ([] of JoinAction)\nelse\n value\nend"}},{"html_id":"linked?:Bool-instance-method","name":"linked?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":846,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L846"},"def":{"name":"linked?","return_type":"Bool","visibility":"Public","body":"if (value = @linked).nil?\n @linked = (!room_ids.empty?)\nelse\n value\nend"}},{"html_id":"merge_outputs?:Bool-instance-method","name":"merge_outputs?","doc":"Do we want to merge the outputs (all outputs on all screens)\nor do we want them as seperate displays","summary":"

Do we want to merge the outputs (all outputs on all screens) or do we want them as seperate displays

","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":843,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L843"},"def":{"name":"merge_outputs?","return_type":"Bool","visibility":"Public","body":"@merge_outputs"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":837,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L837"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"room_ids:Array(String)-instance-method","name":"room_ids","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":838,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L838"},"def":{"name":"room_ids","return_type":"Array(String)","visibility":"Public","body":"@room_ids"}}]},{"html_id":"drivers/Place/Meet/JoinSetting","path":"Place/Meet/JoinSetting.html","kind":"class","full_name":"Place::Meet::JoinSetting","name":"JoinSetting","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":849,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L849"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet.cr","line_number":850,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L850"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"all_rooms:Set(String)-instance-method","name":"all_rooms","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":857,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L857"},"def":{"name":"all_rooms","return_type":"Set(String)","visibility":"Public","body":"if (value = @all_rooms).nil?\n @all_rooms = (modes.reduce(Set(String).new) do |rooms, mode|\n rooms.concat(mode.room_ids)\n end)\nelse\n value\nend"}},{"html_id":"lock_remote:Bool-instance-method","name":"lock_remote","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":853,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L853"},"def":{"name":"lock_remote","return_type":"Bool","visibility":"Public","body":"if (value = @lock_remote).nil?\n @lock_remote = (false)\nelse\n value\nend"}},{"html_id":"modes:Array(JoinDetail)-instance-method","name":"modes","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":854,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L854"},"def":{"name":"modes","return_type":"Array(JoinDetail)","visibility":"Public","body":"@modes"}},{"html_id":"type:JoinType-instance-method","name":"type","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":852,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L852"},"def":{"name":"type","return_type":"JoinType","visibility":"Public","body":"if (value = @type).nil?\n @type = (JoinType::Independent)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Meet/JoinType","path":"Place/Meet/JoinType.html","kind":"enum","full_name":"Place::Meet::JoinType","name":"JoinType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":815,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L815"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Independent","name":"Independent","value":"0","doc":"only rooms part of the join need to be notified","summary":"

only rooms part of the join need to be notified

"},{"id":"FullyAware","name":"FullyAware","value":"1","doc":"even rooms not part of the join, need to be notified","summary":"

even rooms not part of the join, need to be notified

"}],"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"doc":"=========================\nRoom Joining Coordination\n=========================","summary":"

========================= Room Joining Coordination =========================

","instance_methods":[{"html_id":"fully_aware?-instance-method","name":"fully_aware?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":820,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L820"},"def":{"name":"fully_aware?","visibility":"Public","body":"self == FullyAware"}},{"html_id":"independent?-instance-method","name":"independent?","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":817,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L817"},"def":{"name":"independent?","visibility":"Public","body":"self == Independent"}}]},{"html_id":"drivers/Place/Meet/LightingArea","path":"Place/Meet/LightingArea.html","kind":"alias","full_name":"Place::Meet::LightingArea","name":"LightingArea","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L565"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/LightingScene","path":"Place/Meet/LightingScene.html","kind":"alias","full_name":"Place::Meet::LightingScene","name":"LightingScene","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L566"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(name: String, id: UInt32, icon: String, opacity: Float64)","aliased_html":"{name: String, id: UInt32, icon: String, opacity: Float64}","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/Microphone","path":"Place/Meet/Microphone.html","kind":"alias","full_name":"Place::Meet::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/place/meet.cr","line_number":687,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L687"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Meet::AudioFader","aliased_html":"Place::Meet::AudioFader","const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}},{"html_id":"drivers/Place/Meet/RemoteSystem","path":"Place/Meet/RemoteSystem.html","kind":"struct","full_name":"Place::Meet::RemoteSystem","name":"RemoteSystem","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet.cr","line_number":1020,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1020"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"},"constructors":[{"html_id":"new(system_id:String,room_logic:PlaceOS::Driver::Proxy::Driver)-class-method","name":"new","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"args_string":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","args_html":"(system_id : String, room_logic : PlaceOS::Driver::Proxy::Driver)","location":{"filename":"src/place/meet.cr","line_number":1024,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1024"},"def":{"name":"new","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"room_logic","external_name":"room_logic","restriction":"PlaceOS::Driver::Proxy::Driver"}],"visibility":"Public","body":"_ = allocate\n_.initialize(system_id, room_logic)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"room_logic:PlaceOS::Driver::Proxy::Driver-instance-method","name":"room_logic","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1022,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1022"},"def":{"name":"room_logic","return_type":"PlaceOS::Driver::Proxy::Driver","visibility":"Public","body":"@room_logic"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/meet.cr","line_number":1021,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet.cr#L1021"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}}]}]},{"html_id":"drivers/Place/MQTT","path":"Place/MQTT.html","kind":"class","full_name":"Place::MQTT","name":"MQTT","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L86"},"def":{"name":"connected","visibility":"Public","body":"transp = Place::TransportAdaptor.new(transport, queue)\nclient = ::MQTT::V3::Client.new(transp)\n@transport = transp\n@mqtt = client\nlogger.debug do\n \"sending connect message\"\nend\nclient.connect(@username, @password, @keep_alive, @client_id)\n@subs.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L100"},"def":{"name":"disconnected","visibility":"Public","body":"@transport = nil\n@mqtt = nil\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L40"},"def":{"name":"on_load","visibility":"Public","body":"spawn do\n rate_limiter\nend\n@sub_proc = Proc(String, Bytes, Nil).new do |key, payload|\n on_message(key, payload)\nend\non_update\n"}},{"html_id":"on_unload-instance-method","name":"on_unload","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L46"},"def":{"name":"on_unload","visibility":"Public","body":"@channel.close"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L50"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@keep_alive = (setting?(Int32, :keep_alive)) || 60\n@client_id = (setting?(String, :client_id)) || (::MQTT.generate_client_id(\"placeos_\"))\n@queue_size = (setting?(Int32, :queue_size)) || 1000\nif rate_limit = setting?(Int32, :rate_limit)\n @rate_limited = true\n @wait_time = (1.0 / rate_limit.to_f).seconds\nelse\n @rate_limited = false\nend\nexisting = @subs\n@subs = (setting?(Array(String), :subscriptions)) || ([] of String)\nschedule.clear\nschedule.every((@keep_alive // 3).seconds) do\n ping\nend\nif client = @mqtt\n unsub = existing - @subs\n newsub = @subs - existing\n unsub.each do |sub|\n logger.debug do\n \"unsubscribing to #{sub}\"\n end\n perform_operation do\n client.unsubscribe(sub)\n end\n end\n newsub.each do |sub|\n logger.debug do\n \"subscribing to #{sub}\"\n end\n perform_operation do\n client.subscribe(sub, &@sub_proc)\n end\n end\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/mqtt.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L115"},"def":{"name":"ping","visibility":"Public","body":"logger.debug do\n \"sending ping\"\nend\nperform_operation do\n @mqtt.not_nil!.ping\nend\n"}},{"html_id":"publish(key:String,payload:String):Nil-instance-method","name":"publish","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"args_string":"(key : String, payload : String) : Nil","args_html":"(key : String, payload : String) : Nil","location":{"filename":"src/place/mqtt.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L109"},"def":{"name":"publish","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"publishing payload to #{key}\"\nend\nperform_operation do\n @mqtt.not_nil!.publish(key, payload)\nend\nnil\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/place/mqtt.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt.cr#L120"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received #{data.size} bytes: 0x#{data.hexstring}\"\nend\n@transport.try(&.process(data))\ntask.try(&.success)\n"}}]},{"html_id":"drivers/Place/Pinger","path":"Place/Pinger.html","kind":"class","full_name":"Place::Pinger","name":"Pinger","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/pinger.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"period = (setting?(Int32, :ping_every)) || 60\nperiod = (period * 1000) + (rand(1000))\nschedule.clear\nschedule.every(period.milliseconds) do\n ping\nend\n"}},{"html_id":"ping-instance-method","name":"ping","abstract":false,"location":{"filename":"src/place/pinger.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/pinger.cr#L29"},"def":{"name":"ping","visibility":"Public","body":"hostname = config.ip.not_nil!\npinger = ::Pinger.new(hostname, count: 3)\npinger.ping\npingable = pinger.pingable\nif !pingable\n self[:last_error] = (pinger.exception || pinger.warning) || \"unknown error\"\nend\nset_connected_state(pingable)\nself[:pingable] = pingable\n"}}]},{"html_id":"drivers/Place/QSCPhoneDialing","path":"Place/QSCPhoneDialing.html","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing","abstract":false,"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"doc":"Code for handling QSC phone dialing, if available","summary":"

Code for handling QSC phone dialing, if available

","instance_methods":[{"html_id":"qsc_dial_hangup-instance-method","name":"qsc_dial_hangup","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L73"},"def":{"name":"qsc_dial_hangup","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.hangup_id)\n"}},{"html_id":"qsc_dial_makecall-instance-method","name":"qsc_dial_makecall","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L67"},"def":{"name":"qsc_dial_makecall","visibility":"Public","body":"dial_settings = @qsc_dial_settings\nif dial_settings\nelse\n return\nend\nsystem[:Mixer].trigger(dial_settings.dial_id)\n"}},{"html_id":"qsc_dial_pad(number:String)-instance-method","name":"qsc_dial_pad","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"}],"args_string":"(number : String)","args_html":"(number : String)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L46"},"def":{"name":"qsc_dial_pad","args":[{"name":"number","external_name":"number","restriction":"String"}],"visibility":"Public","body":"if number.size > 0\nelse\n return\nend\nchar = number[0]\ncase char\nwhen '\\b'\n if @dial_string.size == 0\n else\n @dial_string = @dial_string[0..-2]\n end\nwhen '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '#'\n @dial_string = \"#{@dial_string}#{char}\"\nelse\n logger.info do\n \"unsupported dial char provided #{char}\"\n end\nend\nqsc_dial_pad_sync\n"}},{"html_id":"qsc_dial_pad_clear:Nil-instance-method","name":"qsc_dial_pad_clear","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L62"},"def":{"name":"qsc_dial_pad_clear","return_type":"Nil","visibility":"Public","body":"@dial_string = \"\"\nqsc_dial_pad_sync\n"}}],"types":[{"html_id":"drivers/Place/QSCPhoneDialing/QscPhone","path":"Place/QSCPhoneDialing/QscPhone.html","kind":"class","full_name":"Place::QSCPhoneDialing::QscPhone","name":"QscPhone","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/QSCPhoneDialing","kind":"module","full_name":"Place::QSCPhoneDialing","name":"QSCPhoneDialing"},"doc":"This data will be stored in the tab","summary":"

This data will be stored in the tab

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"dial_id:String-instance-method","name":"dial_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L8"},"def":{"name":"dial_id","return_type":"String","visibility":"Public","body":"@dial_id"}},{"html_id":"dtmf_id:String-instance-method","name":"dtmf_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L13"},"def":{"name":"dtmf_id","return_type":"String","visibility":"Public","body":"@dtmf_id"}},{"html_id":"hangup_id:String-instance-method","name":"hangup_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L9"},"def":{"name":"hangup_id","return_type":"String","visibility":"Public","body":"@hangup_id"}},{"html_id":"number_id:String-instance-method","name":"number_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L7"},"def":{"name":"number_id","return_type":"String","visibility":"Public","body":"@number_id"}},{"html_id":"offhook_id:String-instance-method","name":"offhook_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L12"},"def":{"name":"offhook_id","return_type":"String","visibility":"Public","body":"@offhook_id"}},{"html_id":"ringing_id:String-instance-method","name":"ringing_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L11"},"def":{"name":"ringing_id","return_type":"String","visibility":"Public","body":"@ringing_id"}},{"html_id":"status_id:String-instance-method","name":"status_id","abstract":false,"location":{"filename":"src/place/meet/qsc_phone_dialing.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/qsc_phone_dialing.cr#L10"},"def":{"name":"status_id","return_type":"String","visibility":"Public","body":"@status_id"}}]}]},{"html_id":"drivers/Place/RoomBookingApproval","path":"Place/RoomBookingApproval.html","kind":"class","full_name":"Place::RoomBookingApproval","name":"RoomBookingApproval","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/room_booking_approval.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"accept_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"accept_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L68"},"def":{"name":"accept_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.accept_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L13"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id.not_nil!)\nelse\n value\nend"}},{"html_id":"decline_event(calendar_id:String,event_id:String,user_id:String|Nil=nil,notify:Bool=false,comment:String|Nil=nil)-instance-method","name":"decline_event","abstract":false,"args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"args_string":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","args_html":"(calendar_id : String, event_id : String, user_id : String | Nil = nil, notify : Bool = false, comment : String | Nil = nil)","location":{"filename":"src/place/room_booking_approval.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L73"},"def":{"name":"decline_event","args":[{"name":"calendar_id","external_name":"calendar_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"},{"name":"notify","default_value":"false","external_name":"notify","restriction":"Bool"},{"name":"comment","default_value":"nil","external_name":"comment","restriction":"String | ::Nil"}],"visibility":"Public","body":"calendar.decline_event(calendar_id: calendar_id, event_id: event_id, user_id: user_id, notify: notify, comment: comment)"}},{"html_id":"find_bookings_for_approval:Hash(String,Array(PlaceCalendar::Event))-instance-method","name":"find_bookings_for_approval","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L49"},"def":{"name":"find_bookings_for_approval","return_type":"Hash(String, Array(PlaceCalendar::Event))","visibility":"Public","body":"results = {} of String => Array(PlaceCalendar::Event)\nsystems.each do |level_id, system_ids|\n system_ids.each do |system_id|\n sys = system(system_id)\n if sys.exists?(\"Bookings\", 1)\n if bookings = (sys.get(\"Bookings\", 1)).status?(Array(PlaceCalendar::Event), \"bookings\")\n bookings.select! do |event|\n event.status == \"tentative\"\n end\n if bookings.empty?\n else\n results[system_id] = bookings\n end\n end\n end\n end\nend\nself[:approval_required] = results\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L33"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = system[\"StaffAPI\"].zones(tags: \"building\").get.as_a.map() do |__arg0|\n __arg0[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n nil\nend"}},{"html_id":"get_systems_list-instance-method","name":"get_systems_list","doc":"Grabs the list of systems in the building","summary":"

Grabs the list of systems in the building

","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L42"},"def":{"name":"get_systems_list","visibility":"Public","body":"begin\n (system[\"StaffAPI\"].systems_in_building(building_id)).get.as_h.transform_values() do |__arg1|\n __arg1.as_a.map(&.as_s)\n end\nrescue error\n logger.warn(exception: error) do\n \"unable to obtain list of systems in the building\"\n end\n nil\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"@building_id = nil\n@systems = nil\nschedule.clear\nschedule.every(1.hour) do\n @systems = get_systems_list.not_nil!\nend\nschedule.every(5.minutes) do\n find_bookings_for_approval\nend\n"}},{"html_id":"systems:Hash(String,Array(String))-instance-method","name":"systems","abstract":false,"location":{"filename":"src/place/room_booking_approval.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/room_booking_approval.cr#L14"},"def":{"name":"systems","return_type":"Hash(String, Array(String))","visibility":"Public","body":"if (value = @systems).nil?\n @systems = (get_systems_list.not_nil!)\nelse\n value\nend"}}]},{"html_id":"drivers/Place/Router","path":"Place/Router.html","kind":"module","full_name":"Place::Router","name":"Router","abstract":false,"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"types":[{"html_id":"drivers/Place/Router/Core","path":"Place/Router/Core.html","kind":"module","full_name":"Place::Router::Core","name":"Core","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L11"},{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Meet","kind":"class","full_name":"Place::Meet","name":"Meet"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Core routing methods and functionality. This exists as module to enable\ninclusion in other drivers, such as room logic, that provide auxillary\nfunctionality to signal distribution.","summary":"

Core routing methods and functionality.

","instance_methods":[{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"load_siggraph"}},{"html_id":"route_signal(input:String,output:String,max_dist:Int32|Nil=nil,simulate:Bool=false,follow_additional_routes:Bool=true)-instance-method","name":"route_signal","doc":"Routes signal from *input* to *output*.\n\nPerforms all intermediate device interaction based on current system\nconfig.","summary":"

Routes signal from input to output.

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"args_string":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","args_html":"(input : String, output : String, max_dist : Int32 | Nil = nil, simulate : Bool = false, follow_additional_routes : Bool = true)","location":{"filename":"src/place/router/core.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L178"},"def":{"name":"route_signal","args":[{"name":"input","external_name":"input","restriction":"String"},{"name":"output","external_name":"output","restriction":"String"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":"Int32 | ::Nil"},{"name":"simulate","default_value":"false","external_name":"simulate","restriction":"Bool"},{"name":"follow_additional_routes","default_value":"true","external_name":"follow_additional_routes","restriction":"Bool"}],"visibility":"Public","body":"logger.debug do\n \"requesting route from #{input} to #{output}\"\nend\nsrc, dst = resolver.values_at(input, output)\ndst_node = siggraph[dst]\nsrc_node = siggraph[src]\npath = (siggraph.route(src, dst, max_dist)) || (raise(\"no route found\"))\nexecs = path.compact_map do |__arg6|\n node = __arg6[0]\n edge = __arg6[1]\n next_node = __arg6[2]\n logger.debug do\n \"#{node} → #{next_node}\"\n end\n if next_node.locked\n raise(\"#{next_node} is locked, aborting\")\n end\n case edge\n in SignalGraph::Edge::Static\n nil\n in SignalGraph::Edge::Active\n Promise.defer(same_thread: true, timeout: 1.second) do\n next_node.source = siggraph[src].source\n if !simulate\n mod = proxy_for(edge.mod)\n case func = edge.func\n in SignalGraph::Edge::Func::Mute\n dst_layer = dst_node.ref.layer.downcase\n case dst_layer\n when \"audio\", \"video\"\n mod.mute(func.state, func.index, dst_layer)\n else\n mod.mute(func.state, func.index)\n end\n in SignalGraph::Edge::Func::Select\n mod.switch_to(func.input)\n in SignalGraph::Edge::Func::Switch\n mod.switch({func.input => [func.output]}, func.layer)\n end\n end\n nil\n end\n end\nend\nif follow_additional_routes\n routes = {} of String => Tuple(String, String, Int32 | ::Nil, Bool, Bool)\n if following_outputs = dst_node[\"followers\"]?.try(&.as_a)\n logger.debug do\n \"routing #{following_outputs.size} additional followers\"\n end\n following_outputs.each do |output_follow|\n routes[output_follow.as_s] = {input, output_follow.as_s, max_dist, simulate, false}\n end\n end\n ignore_source_routes = dst_node[\"ignore_source_routes\"]?.try(&.as_bool) || false\n if (!ignore_source_routes) && (additional_routes = src_node[\"perform_routes\"]?.try(&.as_h))\n logger.debug do\n \"perfoming #{additional_routes.size} additional routes\"\n end\n additional_routes.each do |ad_output, ad_input|\n routes[ad_output] = {ad_input.as_s, ad_output, max_dist, simulate, false}\n end\n end\n spawn(same_thread: true) do\n routes.each_value do |route|\n route_signal(*route)\n end\n end\nend\nlogger.debug do\n \"awaiting responses\"\nend\nexecs.each do |promise|\n begin\n promise.get\n rescue error\n logger.warn(exception: error) do\n \"processing route\"\n end\n end\nend\n:ok\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/NodeRef","path":"Place/Router/Core/NodeRef.html","kind":"alias","full_name":"Place::Router::Core::NodeRef","name":"NodeRef","abstract":false,"locations":[{"filename":"src/place/router/core.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Ref","aliased_html":"Place::Router::SignalGraph::Node::Ref","const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"}},{"html_id":"drivers/Place/Router/Core/Settings","path":"Place/Router/Core/Settings.html","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections","path":"Place/Router/Core/Settings/Connections.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Types for representing the settings format for defining connections.","summary":"

Types for representing the settings format for defining connections.

","class_methods":[{"html_id":"parse(map:Map,sys:String)-class-method","name":"parse","doc":"Parses a `Map` containing the system conectivity into a set of nodes and\nlinks that can be used for assembling the `SignalGraph`.","summary":"

Parses a Map containing the system conectivity into a set of nodes and links that can be used for assembling the SignalGraph.

","abstract":false,"args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(map : Map, sys : String)","args_html":"(map : Map, sys : String)","location":{"filename":"src/place/router/settings.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L105"},"def":{"name":"parse","args":[{"name":"map","external_name":"map","restriction":"Map"},{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"nodes = [] of SignalGraph::Node::Ref\nlinks = [] of ::Tuple(SignalGraph::Node::Ref, SignalGraph::Node::Ref)\naliases = {} of String => SignalGraph::Node::Ref\nmake_alias = ->(name : String, node : SignalGraph::Node::Ref) do\n if prev = aliases[name]?\n raise(\"invalid configuration: \\\"#{name}\\\" refers to both #{prev} and #{node}\")\n end\n aliases[name] = node\nend\nmap.each do |sink, inputs|\n if sink.is_a?(Alias)\n source = inputs\n if source.is_a?(DeviceOutput)\n else\n raise(\"invalid configuration: \\\"#{sink}\\\" must link to a DeviceOutput\")\n end\n onode = SignalGraph::Output.new(sys, source.mod, source.idx, source.output, source.layer)\n nodes << onode\n make_alias.call(sink.name, onode)\n else\n if inputs.is_a?(DeviceOutput)\n raise(\"invalid configuration: \\\"#{sink}\\\" must specify inputs as either a hash or array\")\n end\n nodes << (SignalGraph::Device.new(sys, sink.mod, sink.idx))\n if inputs.is_a?(Array)\n inputs = (inputs.each.with_index(1)).map(&.reverse)\n end\n inputs.each do |input, input_source|\n inode = SignalGraph::Input.new(sys, sink.mod, sink.idx, input)\n nodes << inode\n if input_source.is_a?(Alias)\n make_alias.call(input_source.name, inode)\n next\n end\n onode = case input_source\n in Device\n SignalGraph::Device.new(sys, input_source.mod, input_source.idx)\n in DeviceOutput\n SignalGraph::Output.new(sys, input_source.mod, input_source.idx, input_source.output, input_source.layer)\n end\n nodes << onode\n links << {onode, inode}\n end\n end\nend\n{nodes, links, aliases}\n"}}],"types":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Alias","path":"Place/Router/Core/Settings/Connections/Alias.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Alias","name":"Alias","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Alias used to refer to a signal node that does not have an accompanying\nmodule. This can be useful for declaring the concept of a device that is\nattached to an input (e.g. `\"*Laptop\"`). All alias' must be prefixed with\nan asterisk ('*') within connections settings.","summary":"

Alias used to refer to a signal node that does not have an accompanying module.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L73"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n new(name)\nend"}}],"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L72"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@name.clone)"}},{"html_id":"copy_with(name_name=@name)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"args_string":"(name _name = @name)","args_html":"(name _name = @name)","location":{"filename":"src/place/router/settings.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L71"},"def":{"name":"copy_with","args":[{"name":"_name","default_value":"@name","external_name":"name","restriction":""}],"visibility":"Public","body":"self.class.new(_name)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","path":"Place/Router/Core/Settings/Connections/Deserializable.html","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"instance_methods":[{"html_id":"from_json_object_key?(key:String)-instance-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L16"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"parse?(key)"}},{"html_id":"get_parts(module_id:String):Tuple(String,Int32|Nil)-instance-method","name":"get_parts","abstract":false,"args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"args_string":"(module_id : String) : Tuple(String, Int32 | Nil)","args_html":"(module_id : String) : Tuple(String, Int32 | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L20"},"def":{"name":"get_parts","args":[{"name":"module_id","external_name":"module_id","restriction":"String"}],"return_type":"::Tuple(String, Int32 | ::Nil)","visibility":"Public","body":"mod_name, match, index = module_id.rpartition('_')\nif match.empty?\n {module_id, 1}\nelse\n {mod_name, index.to_i?}\nend\n"}},{"html_id":"parse?(raw:String)-instance-method","name":"parse?","abstract":true,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L14"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":""}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Device","path":"Place/Router/Core/Settings/Connections/Device.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Module name of a device within the local system e.g. `\"Switcher_1\"`.","summary":"

Module name of a device within the local system e.g.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L34"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod, idx = get_parts(raw)\nif idx\n new(mod, idx)\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"args_string":"(mod : String, idx : Int32)","args_html":"(mod : String, idx : Int32)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx)","args_html":"(mod _mod = @mod, idx _idx = @idx)","location":{"filename":"src/place/router/settings.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L32"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/DeviceOutput","path":"Place/Router/Core/Settings/Connections/DeviceOutput.html","kind":"struct","full_name":"Place::Router::Core::Settings::Connections::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/Core/Settings/Connections/Deserializable","kind":"module","full_name":"Place::Router::Core::Settings::Connections::Deserializable","name":"Deserializable"}],"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Reference to a specific output on a device that has multiple outputs.\nThis is a concatenation of the `Device` reference a `.` and the output.\nFor example, output 3 of Switcher_1 is `\"Switcher_1.3\"`.","summary":"

Reference to a specific output on a device that has multiple outputs.

","class_methods":[{"html_id":"parse?(raw:String)-class-method","name":"parse?","abstract":false,"args":[{"name":"raw","external_name":"raw","restriction":"String"}],"args_string":"(raw : String)","args_html":"(raw : String)","location":{"filename":"src/place/router/settings.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L47"},"def":{"name":"parse?","args":[{"name":"raw","external_name":"raw","restriction":"String"}],"visibility":"Public","body":"if name = raw.lchop?('*')\n return\nend\nmod_name, match, outp = raw.rpartition('.')\nif !match.empty?\n mod, idx = get_parts(mod_name)\n if idx\n outp_idx, match, layer = outp.rpartition('!')\n if match.empty?\n output = outp.to_i? || outp\n new(mod, idx, output, nil)\n else\n output = outp_idx.to_i? || outp_idx\n new(mod, idx, output, layer)\n end\n end\nend\n"}}],"constructors":[{"html_id":"new(mod:String,idx:Int32,output:String|Int32,layer:String|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"args_string":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","args_html":"(mod : String, idx : Int32, output : String | Int32, layer : String | Nil)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"String"},{"name":"idx","external_name":"idx","restriction":"Int32"},{"name":"output","external_name":"output","restriction":"String | Int32"},{"name":"layer","external_name":"layer","restriction":"String | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/settings.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"JSON::PullParser"}],"visibility":"Public","body":"(parse?(pull.read_string)) || (pull.raise(\"Invalid #{self} (#{pull.string_value.inspect})\"))"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @idx.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(mod_mod=@mod,idx_idx=@idx,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","args_html":"(mod _mod = @mod, idx _idx = @idx, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/settings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L45"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_idx","default_value":"@idx","external_name":"idx","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _idx, _output, _layer)"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"layer:String|Nil-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String | ::Nil","visibility":"Public","body":"@layer"}},{"html_id":"mod:String-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"String","visibility":"Public","body":"@mod"}},{"html_id":"output:String|Int32-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"String | Int32","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Input","path":"Place/Router/Core/Settings/Connections/Input.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L88"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"String","aliased_html":"String","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Identifier for the input on Sink.","summary":"

Identifier for the input on Sink.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Map","path":"Place/Router/Core/Settings/Connections/Map.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Map","name":"Map","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L101"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Hash(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device, Array(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Hash(String, Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput) | Place::Router::Core::Settings::Connections::DeviceOutput)","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"Structure for a full connection map.\n\n```json\n{\n \"Display_1\": {\n \"hdmi\": \"Switcher_1.1\"\n },\n \"Switcher_1\": [\"*Foo\", \"*Bar\"],\n \"*FloorBox\": \"Switcher_1.2\"\n}\n```","summary":"

Structure for a full connection map.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Sink","path":"Place/Router/Core/Settings/Connections/Sink.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Sink","name":"Sink","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L85"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device that recieves the signal.","summary":"

The device that recieves the signal.

"},{"html_id":"drivers/Place/Router/Core/Settings/Connections/Source","path":"Place/Router/Core/Settings/Connections/Source.html","kind":"alias","full_name":"Place::Router::Core::Settings::Connections::Source","name":"Source","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput)","aliased_html":"Place::Router::Core::Settings::Connections::Alias | Place::Router::Core::Settings::Connections::Device | Place::Router::Core::Settings::Connections::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings/Connections","kind":"module","full_name":"Place::Router::Core::Settings::Connections","name":"Connections"},"doc":"The device a signal is originating from.","summary":"

The device a signal is originating from.

"}]},{"html_id":"drivers/Place/Router/Core/Settings/IOMeta","path":"Place/Router/Core/Settings/IOMeta.html","kind":"alias","full_name":"Place::Router::Core::Settings::IOMeta","name":"IOMeta","abstract":false,"locations":[{"filename":"src/place/router/settings.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L166"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Hash(String, JSON::Any))","aliased_html":"Hash(String, Hash(String, JSON::Any))","const":false,"namespace":{"html_id":"drivers/Place/Router/Core/Settings","kind":"module","full_name":"Place::Router::Core::Settings","name":"Settings"},"doc":"Input/outputs and their associated metadata. Attributes specified here are\nprogated to the assocated input status keys. This allows information such as\nname, type etc to be exposed to UI's.","summary":"

Input/outputs and their associated metadata.

"}]},{"html_id":"drivers/Place/Router/Core/SignalNode","path":"Place/Router/Core/SignalNode.html","kind":"struct","full_name":"Place::Router::Core::SignalNode","name":"SignalNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/core.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Core","kind":"module","full_name":"Place::Router::Core","name":"Core"},"doc":"Wrapper for providng simple interaction with a signal node and it's\nassociated driver.","summary":"

Wrapper for providng simple interaction with a signal node and it's associated driver.

","constructors":[{"html_id":"new(label:Place::Router::SignalGraph::Node::Label,proxy:Future::Compute(PlaceOS::Driver::Proxy::Driver))-class-method","name":"new","abstract":false,"args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"args_string":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","args_html":"(label : Place::Router::SignalGraph::Node::Label, proxy : Future::Compute(PlaceOS::Driver::Proxy::Driver))","location":{"filename":"src/place/router/core.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L20"},"def":{"name":"new","args":[{"name":"label","external_name":"label","restriction":"::Place::Router::SignalGraph::Node::Label"},{"name":"proxy","external_name":"proxy","restriction":"::Future::Compute(::PlaceOS::Driver::Proxy::Driver)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(label, proxy)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"proxy-instance-method","name":"proxy","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L25"},"def":{"name":"proxy","visibility":"Public","body":"@proxy.get"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/core.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L29"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}},{"html_id":"watch(&handler:self->)-instance-method","name":"watch","abstract":false,"location":{"filename":"src/place/router/core.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L33"},"def":{"name":"watch","yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"visibility":"Public","body":"@label.watch do\n handler.call(self)\nend"}}],"macros":[{"html_id":"method_missing(call)-macro","name":"method_missing","abstract":false,"args":[{"name":"call","external_name":"call","restriction":""}],"args_string":"(call)","args_html":"(call)","location":{"filename":"src/place/router/core.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/core.cr#L23"},"def":{"name":"method_missing","args":[{"name":"call","external_name":"call","restriction":""}],"visibility":"Public","body":" @label.\n{{ call }}\n\n \n"}}]}]},{"html_id":"drivers/Place/Router/Digraph","path":"Place/Router/Digraph.html","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Labelled digraph. Holds node labels of type *N* and edge labels of type *E*.\n\nNodes are stored on UInt64 ID's. This provides an interface that should feel\nsimilar to `Indexable` for interacting with nodes labels. Similarly edges can\nbe placed and retrieved by using a dual index of {predescessor, successor}.\n\nOPTIMIZE: replace with a sparse matrix and graphBLAS operations.","summary":"

Labelled digraph.

","constructors":[{"html_id":"new(initial_capacity=nil)-class-method","name":"new","abstract":false,"args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"args_string":"(initial_capacity = nil)","args_html":"(initial_capacity = nil)","location":{"filename":"src/place/router/digraph.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L19"},"def":{"name":"new","args":[{"name":"initial_capacity","default_value":"nil","external_name":"initial_capacity","restriction":""}],"visibility":"Public","body":"_ = Digraph(N, E).allocate\n_.initialize(initial_capacity)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](pred_id,succ_id)-instance-method","name":"[]","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id)","args_html":"(pred_id, succ_id)","location":{"filename":"src/place/router/digraph.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L68"},"def":{"name":"[]","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"visibility":"Public","body":"fetch(pred_id, succ_id) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} does not exist\"))\nend"}},{"html_id":"[](id)-instance-method","name":"[]","doc":"Retrieves the label attached to node *id*.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L42"},"def":{"name":"[]","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).attr"}},{"html_id":"[]=(pred_id,succ_id,attr)-instance-method","name":"[]=","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(pred_id, succ_id, attr)","args_html":"(pred_id, succ_id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L81"},"def":{"name":"[]=","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(pred_id, succ_id, attr) do\n raise(Error.new(\"Edge #{pred_id} -> #{succ_id} already exists\"))\nend"}},{"html_id":"[]=(id,attr)-instance-method","name":"[]=","doc":"Insert a new node.","summary":"

Insert a new node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"args_string":"(id, attr)","args_html":"(id, attr)","location":{"filename":"src/place/router/digraph.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L53"},"def":{"name":"[]=","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":""}],"visibility":"Public","body":"insert(id, attr) do\n raise(Error.new(\"Node #{id} already exists\"))\nend"}},{"html_id":"breadth_first_search(from,&:UInt64->Bool|Nil)-instance-method","name":"breadth_first_search","doc":"Perform a breadth first search across the graph, starting at *from*.\n\nEach node id is yielded as it's traversed. The search will terminate when\nthis block returns true. If `nil` is returned the node is skipped, but the\ntraversal continues.\n\nResults are provided as a Hash that includes all reached nodes as the keys,\nand their predecessor as the associated value.","summary":"

Perform a breadth first search across the graph, starting at from.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""}],"args_string":"(from, & : UInt64 -> Bool | Nil)","args_html":"(from, & : UInt64 -> Bool | Nil)","location":{"filename":"src/place/router/digraph.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L106"},"def":{"name":"breadth_first_search","args":[{"name":"from","external_name":"from","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"","external_name":"","restriction":"(UInt64 -> Bool | ::Nil)"},"visibility":"Public","body":"paths = Hash(UInt64, UInt64).new\nqueue = Deque(UInt64).new(1, from)\nwhile pred_id = queue.shift?\n (node(pred_id)).succ.each_key do |succ_id|\n if paths.has_key?(succ_id)\n next\n end\n done = yield succ_id\n if done.nil?\n next\n end\n paths[succ_id] = pred_id\n if done\n return paths\n end\n queue << succ_id\n end\nend\n"}},{"html_id":"clear(*args,**options)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"@nodes.clear(*args, **options)"}},{"html_id":"clear(*args,**options,&)-instance-method","name":"clear","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/digraph.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L17"},"def":{"name":"clear","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"@nodes.clear(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"fetch(pred_id,succ_id,&):E-instance-method","name":"fetch","doc":"Retrieves the label attached to the edge that joins *pred_id* and *succ_id*.","summary":"

Retrieves the label attached to the edge that joins pred_id and succ_id.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"args_string":"(pred_id, succ_id, &) : E","args_html":"(pred_id, succ_id, &) : E","location":{"filename":"src/place/router/digraph.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L75"},"def":{"name":"fetch","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""}],"yields":2,"block_arity":2,"return_type":"E","visibility":"Public","body":"succ_id = check_node_exists(succ_id)\n(node(pred_id)).succ.fetch(succ_id) do\n yield pred_id, succ_id\nend\n"}},{"html_id":"fetch(id,&):N-instance-method","name":"fetch","doc":"Retrieves the label attached to node *id*. Yields if it does not exist.","summary":"

Retrieves the label attached to node id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id, &) : N","args_html":"(id, &) : N","location":{"filename":"src/place/router/digraph.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L47"},"def":{"name":"fetch","args":[{"name":"id","external_name":"id","restriction":""}],"yields":1,"block_arity":1,"return_type":"N","visibility":"Public","body":"node = node(id) do\n return yield id\nend\nnode.attr\n"}},{"html_id":"indegree(id)-instance-method","name":"indegree","doc":"The number of incomming edges to *id*.","summary":"

The number of incomming edges to id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L183"},"def":{"name":"indegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"id = check_node_exists(id)\n@nodes.reduce(0) do |count, __arg1|\n node = __arg1[1]\n if node.succ.has_key?(id)\n count = count + 1\n end\n count\nend\n"}},{"html_id":"insert(pred_id,succ_id,attr:E,&)-instance-method","name":"insert","doc":"Inserts an edge.","summary":"

Inserts an edge.

","abstract":false,"args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"args_string":"(pred_id, succ_id, attr : E, &)","args_html":"(pred_id, succ_id, attr : E, &)","location":{"filename":"src/place/router/digraph.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L88"},"def":{"name":"insert","args":[{"name":"pred_id","external_name":"pred_id","restriction":""},{"name":"succ_id","external_name":"succ_id","restriction":""},{"name":"attr","external_name":"attr","restriction":"E"}],"yields":2,"block_arity":2,"visibility":"Public","body":"succ_id = check_node_exists(succ_id)\npred = node(pred_id)\nif pred.succ.has_key?(succ_id)\n yield pred_id, succ_id\nelse\n pred.succ[succ_id] = attr\nend\n"}},{"html_id":"insert(id,attr:N,&)-instance-method","name":"insert","doc":"Inserts a node. Yields if it already exists.","summary":"

Inserts a node.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"args_string":"(id, attr : N, &)","args_html":"(id, attr : N, &)","location":{"filename":"src/place/router/digraph.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L58"},"def":{"name":"insert","args":[{"name":"id","external_name":"id","restriction":""},{"name":"attr","external_name":"attr","restriction":"N"}],"yields":1,"block_arity":1,"visibility":"Public","body":"id = id.to_u64\nif @nodes.has_key?(id)\n yield id\nelse\n @nodes[id] = Node(N, E).new(attr, {} of UInt64 => E)\nend\n"}},{"html_id":"nodes:Enumerable(UInt64)-instance-method","name":"nodes","doc":"Provides all nodes present within the graph.\n\nNOTE: ordering of nodes is _not_ defined.","summary":"

Provides all nodes present within the graph.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L149"},"def":{"name":"nodes","return_type":"Enumerable(UInt64)","visibility":"Public","body":"@nodes.each_key"}},{"html_id":"outdegree(id)-instance-method","name":"outdegree","doc":"The outgoing edges from *id*.","summary":"

The outgoing edges from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id)","args_html":"(id)","location":{"filename":"src/place/router/digraph.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L178"},"def":{"name":"outdegree","args":[{"name":"id","external_name":"id","restriction":""}],"visibility":"Public","body":"(node(id)).succ.size"}},{"html_id":"path(from,to,invert=false):Enumerable(UInt64)|Nil-instance-method","name":"path","doc":"Returns a list of node IDs that form the shortest path between the passed\nnodes or `nil` if no path exists.","summary":"

Returns a list of node IDs that form the shortest path between the passed nodes or nil if no path exists.

","abstract":false,"args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"args_string":"(from, to, invert = false) : Enumerable(UInt64) | Nil","args_html":"(from, to, invert = false) : Enumerable(UInt64) | Nil","location":{"filename":"src/place/router/digraph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L130"},"def":{"name":"path","args":[{"name":"from","external_name":"from","restriction":""},{"name":"to","external_name":"to","restriction":""},{"name":"invert","default_value":"false","external_name":"invert","restriction":""}],"return_type":"Enumerable(UInt64) | ::Nil","visibility":"Public","body":"from = check_node_exists(from)\nto = check_node_exists(to)\npaths = breadth_first_search(from, &.==(to))\nif paths.nil?\n return\nend\nnodes = [to]\nwhile !(nodes.last == from)\n nodes << paths[nodes.last]\nend\ninvert ? nodes : nodes.reverse!\n"}},{"html_id":"sink?(id):Bool-instance-method","name":"sink?","doc":"Checks if a node has incoming edges only.","summary":"

Checks if a node has incoming edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L154"},"def":{"name":"sink?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(outdegree(id)).zero? && (!(indegree(id)).zero?)"}},{"html_id":"sinks:Enumerable(UInt64)-instance-method","name":"sinks","doc":"Provides all nodes with incoming edges only.","summary":"

Provides all nodes with incoming edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L159"},"def":{"name":"sinks","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n sink?(id)\nend"}},{"html_id":"source?(id):Bool-instance-method","name":"source?","doc":"Checks if a node has outgoing edges only.","summary":"

Checks if a node has outgoing edges only.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Bool","args_html":"(id) : Bool","location":{"filename":"src/place/router/digraph.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L164"},"def":{"name":"source?","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Bool","visibility":"Public","body":"(!(outdegree(id)).zero?) && (indegree(id)).zero?"}},{"html_id":"sources:Enumerable(UInt64)-instance-method","name":"sources","doc":"Provides all nodes with outgoing edges only.\n\nOPTIMIZE: this is _very_ slow [O(V * E)], but works for testing purposes.\nSwitching the sparse matrix should assist so not worth optimising for this\nsetup.","summary":"

Provides all nodes with outgoing edges only.

","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L173"},"def":{"name":"sources","return_type":"Enumerable(UInt64)","visibility":"Public","body":"nodes.select do |id|\n source?(id)\nend"}},{"html_id":"subtree(id):Enumerable(UInt64)-instance-method","name":"subtree","doc":"Provides all nodes reachable from *id*.","summary":"

Provides all nodes reachable from id.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":""}],"args_string":"(id) : Enumerable(UInt64)","args_html":"(id) : Enumerable(UInt64)","location":{"filename":"src/place/router/digraph.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L192"},"def":{"name":"subtree","args":[{"name":"id","external_name":"id","restriction":""}],"return_type":"Enumerable(UInt64)","visibility":"Public","body":"id = check_node_exists(id)\nSubtreeIterator.new(self, id)\n"}}],"types":[{"html_id":"drivers/Place/Router/Digraph/Error","path":"Place/Router/Digraph/Error.html","kind":"class","full_name":"Place::Router::Digraph::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},"ancestors":[{"html_id":"drivers/Exception","kind":"class","full_name":"Exception","name":"Exception"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"}},{"html_id":"drivers/Place/Router/Digraph/Node","path":"Place/Router/Digraph/Node.html","kind":"struct","full_name":"Place::Router::Digraph::Node(N, E)","name":"Node","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/Digraph","kind":"class","full_name":"Place::Router::Digraph(N, E)","name":"Digraph"},"constructors":[{"html_id":"new(attr:N,succ:Hash(UInt64,E))-class-method","name":"new","abstract":false,"args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"args_string":"(attr : N, succ : Hash(UInt64, E))","args_html":"(attr : N, succ : Hash(UInt64, E))","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"new","args":[{"name":"attr","external_name":"attr","restriction":"N"},{"name":"succ","external_name":"succ","restriction":"Hash(UInt64, E)"}],"visibility":"Public","body":"_ = Node(N, E).allocate\n_.initialize(attr, succ)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"attr:N-instance-method","name":"attr","abstract":false,"def":{"name":"attr","return_type":"N","visibility":"Public","body":"@attr"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@attr.clone, @succ.clone)"}},{"html_id":"copy_with(attr_attr=@attr,succ_succ=@succ)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"args_string":"(attr _attr = @attr, succ _succ = @succ)","args_html":"(attr _attr = @attr, succ _succ = @succ)","location":{"filename":"src/place/router/digraph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/digraph.cr#L11"},"def":{"name":"copy_with","args":[{"name":"_attr","default_value":"@attr","external_name":"attr","restriction":""},{"name":"_succ","default_value":"@succ","external_name":"succ","restriction":""}],"visibility":"Public","body":"self.class.new(_attr, _succ)"}},{"html_id":"succ:Hash(UInt64,E)-instance-method","name":"succ","abstract":false,"def":{"name":"succ","return_type":"Hash(UInt64, E)","visibility":"Public","body":"@succ"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph","path":"Place/Router/SignalGraph.html","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L11"},{"filename":"src/place/router/signal_graph/edge.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L3"},{"filename":"src/place/router/signal_graph/mod.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L5"},{"filename":"src/place/router/signal_graph/node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L5"},{"filename":"src/place/router/signal_graph/watchable.cr","line_number":1,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L1"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}],"namespace":{"html_id":"drivers/Place/Router","kind":"module","full_name":"Place::Router","name":"Router"},"doc":"Structures and types for mapping between sys,mod,idx,io referencing and the\nunderlying graph structure.\n\nThe SignalGraph class _does not_ perform any direct interaction with devices,\nbut does provide the ability to discover routes and available connectivity\nwhen may then be acted on.","summary":"

Structures and types for mapping between sys,mod,idx,io referencing and the underlying graph structure.

","class_methods":[{"html_id":"build(nodes:Enumerable(Node::Ref),links:Enumerable(Tuple(Node::Ref,Node::Ref)))-class-method","name":"build","doc":"Construct a graph from a pre-parsed configuration.\n\n*nodes* must contain the set of all signal nodes that form the device inputs\nand outputs across the system. This includes those at the \"edge\" of the\nsignal network (e.g. a input to a switcher) as well as inputs in use on\nintermediate devices (e.g. a input on a display, which in turn is attached to\nthe switcher above).\n\n*links* declares the interconnections between devices.\n\nModules associated with any of these nodes are then introspected for\nswitching, input selection and mute control based on the interfaces they\nexpose.","summary":"

Construct a graph from a pre-parsed configuration.

","abstract":false,"args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"args_string":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","args_html":"(nodes : Enumerable(Node::Ref), links : Enumerable(Tuple(Node::Ref, Node::Ref)))","location":{"filename":"src/place/router/signal_graph.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L93"},"def":{"name":"build","args":[{"name":"nodes","external_name":"nodes","restriction":"Enumerable(Node::Ref)"},{"name":"links","external_name":"links","restriction":"Enumerable(::Tuple(Node::Ref, Node::Ref))"}],"visibility":"Public","body":"mod_io = Hash(Mod, ::Tuple(Set(Input), Set(Output))).new do |h, k|\n h[k] = {Set(Input).new, Set(Output).new}\nend\nsiggraph = new(initial_capacity: nodes.size)\nsiggraph.insert(Mute)\nnodes.each do |node|\n siggraph.insert(node)\n case node\n when Input\n inputs, _ = mod_io[node.mod]\n inputs << node\n when Output\n _, outputs = mod_io[node.mod]\n outputs << node\n end\nend\nlinks.each do |source, dest|\n siggraph.connect(source, dest)\nend\nmod_io.each do |mod, __arg0|\n inputs = __arg0[0]\n outputs = __arg0[1]\n siggraph.link(mod, inputs, outputs)\nend\nsiggraph.inputs.each do |node|\n node.source = node.ref\nend\nsiggraph\n"}}],"instance_methods":[{"html_id":"[](node:Node::Ref)-instance-method","name":"[]","doc":"Retrieves the labelled state for *node*.","summary":"

Retrieves the labelled state for node.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref)","args_html":"(node : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L130"},"def":{"name":"[]","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"visibility":"Public","body":"g[node.id]"}},{"html_id":"[](node_id)-instance-method","name":"[]","doc":"Retrieves the labelled state for the signal node at *node_id*.","summary":"

Retrieves the labelled state for the signal node at node_id.

","abstract":false,"args":[{"name":"node_id","external_name":"node_id","restriction":""}],"args_string":"(node_id)","args_html":"(node_id)","location":{"filename":"src/place/router/signal_graph.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L135"},"def":{"name":"[]","args":[{"name":"node_id","external_name":"node_id","restriction":""}],"visibility":"Public","body":"g[node_id]"}},{"html_id":"input?(node:Node::Ref):Bool-instance-method","name":"input?","doc":"Checks if *node* is a system input.","summary":"

Checks if node is a system input.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L161"},"def":{"name":"input?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.sink?(node.id)"}},{"html_id":"inputs(destination:Node::Ref)-instance-method","name":"inputs","doc":"Provide all signal nodes that can be routed to *destination*.","summary":"

Provide all signal nodes that can be routed to destination.

","abstract":false,"args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"args_string":"(destination : Node::Ref)","args_html":"(destination : Node::Ref)","location":{"filename":"src/place/router/signal_graph.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L172"},"def":{"name":"inputs","args":[{"name":"destination","external_name":"destination","restriction":"Node::Ref"}],"visibility":"Public","body":"(g.subtree(destination.id)).map do |id|\n g[id]\nend"}},{"html_id":"inputs-instance-method","name":"inputs","doc":"Provide the signal nodes that form system inputs.","summary":"

Provide the signal nodes that form system inputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L166"},"def":{"name":"inputs","visibility":"Public","body":"g.sinks.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"output?(node:Node::Ref):Bool-instance-method","name":"output?","doc":"Checks if *node* is a system output.","summary":"

Checks if node is a system output.

","abstract":false,"args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"args_string":"(node : Node::Ref) : Bool","args_html":"(node : Node::Ref) : Bool","location":{"filename":"src/place/router/signal_graph.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L177"},"def":{"name":"output?","args":[{"name":"node","external_name":"node","restriction":"Node::Ref"}],"return_type":"Bool","visibility":"Public","body":"g.source?(node.id)"}},{"html_id":"outputs-instance-method","name":"outputs","doc":"Provide the signal nodes that form system outputs.","summary":"

Provide the signal nodes that form system outputs.

","abstract":false,"location":{"filename":"src/place/router/signal_graph.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L182"},"def":{"name":"outputs","visibility":"Public","body":"g.sources.compact_map do |id|\n if id == Mute.id\n else\n g[id]\n end\nend"}},{"html_id":"route(source:Node::Ref,destination:Node::Ref,max_dist=nil)-instance-method","name":"route","doc":"Find the signal path that connects *source* to *dest*, or `nil` if this is\nnot possible.\n\nProvides an `Iterator` that provides labels across each node, the edge, and\nsubsequent node.","summary":"

Find the signal path that connects source to dest, or nil if this is not possible.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"args_string":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","args_html":"(source : Node::Ref, destination : Node::Ref, max_dist = nil)","location":{"filename":"src/place/router/signal_graph.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L144"},"def":{"name":"route","args":[{"name":"source","external_name":"source","restriction":"Node::Ref"},{"name":"destination","external_name":"destination","restriction":"Node::Ref"},{"name":"max_dist","default_value":"nil","external_name":"max_dist","restriction":""}],"visibility":"Public","body":"path = g.path(destination.id, source.id, invert: true)\nif path\nelse\n return nil\nend\nif max_dist && path.size > max_dist\n return nil\nend\n(path.each_cons(2, true)).map do |__arg1|\n succ = __arg1[0]\n pred = __arg1[1]\n {g[succ], g[pred, succ], g[pred]}\nend\n"}}],"types":[{"html_id":"drivers/Place/Router/SignalGraph/Device","path":"Place/Router/SignalGraph/Device.html","kind":"alias","full_name":"Place::Router::SignalGraph::Device","name":"Device","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::Device","aliased_html":"Place::Router::SignalGraph::Node::Device","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge","path":"Place/Router/SignalGraph/Edge.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Active","path":"Place/Router/SignalGraph/Edge/Active.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Active","name":"Active","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"new(mod:Mod,func:Func::Type)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"args_string":"(mod : Mod, func : Func::Type)","args_html":"(mod : Mod, func : Func::Type)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"Mod"},{"name":"func","external_name":"func","restriction":"Func::Type"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, func)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@mod.clone, @func.clone)"}},{"html_id":"copy_with(mod_mod=@mod,func_func=@func)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"args_string":"(mod _mod = @mod, func _func = @func)","args_html":"(mod _mod = @mod, func _func = @func)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L13"},"def":{"name":"copy_with","args":[{"name":"_mod","default_value":"@mod","external_name":"mod","restriction":""},{"name":"_func","default_value":"@func","external_name":"func","restriction":""}],"visibility":"Public","body":"self.class.new(_mod, _func)"}},{"html_id":"func:Func::Type-instance-method","name":"func","abstract":false,"def":{"name":"func","return_type":"Func::Type","visibility":"Public","body":"@func"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","path":"Place/Router/SignalGraph/Edge/Func.html","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L15"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Mute","path":"Place/Router/SignalGraph/Edge/Func/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(state:Bool,index:Int32|String=0)-class-method","name":"new","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool, index : Int32 | String = 0)","args_html":"(state : Bool, index : Int32 | String = 0)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"new","args":[{"name":"state","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(state, index)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@state.clone, @index.clone)"}},{"html_id":"copy_with(state_state=@state,index_index=@index)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"args_string":"(state _state = @state, index _index = @index)","args_html":"(state _state = @state, index _index = @index)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L16"},"def":{"name":"copy_with","args":[{"name":"_state","default_value":"@state","external_name":"state","restriction":""},{"name":"_index","default_value":"@index","external_name":"index","restriction":""}],"visibility":"Public","body":"self.class.new(_state, _index)"}},{"html_id":"index:Int32|String-instance-method","name":"index","abstract":false,"def":{"name":"index","return_type":"Int32 | String","visibility":"Public","body":"@index"}},{"html_id":"state:Bool-instance-method","name":"state","abstract":false,"def":{"name":"state","return_type":"Bool","visibility":"Public","body":"@state"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Select","path":"Place/Router/SignalGraph/Edge/Func/Select.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Select","name":"Select","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"args_string":"(input : Int32 | String)","args_html":"(input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone)"}},{"html_id":"copy_with(input_input=@input)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"args_string":"(input _input = @input)","args_html":"(input _input = @input)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L20"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""}],"visibility":"Public","body":"self.class.new(_input)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Switch","path":"Place/Router/SignalGraph/Edge/Func/Switch.html","kind":"struct","full_name":"Place::Router::SignalGraph::Edge::Func::Switch","name":"Switch","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"},"constructors":[{"html_id":"new(input:Int32|String,output:Int32|String,layer:String)-class-method","name":"new","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"args_string":"(input : Int32 | String, output : Int32 | String, layer : String)","args_html":"(input : Int32 | String, output : Int32 | String, layer : String)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"new","args":[{"name":"input","external_name":"input","restriction":"Int32 | String"},{"name":"output","external_name":"output","restriction":"Int32 | String"},{"name":"layer","external_name":"layer","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(input, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@input.clone, @output.clone, @layer.clone)"}},{"html_id":"copy_with(input_input=@input,output_output=@output,layer_layer=@layer)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"args_string":"(input _input = @input, output _output = @output, layer _layer = @layer)","args_html":"(input _input = @input, output _output = @output, layer _layer = @layer)","location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L23"},"def":{"name":"copy_with","args":[{"name":"_input","default_value":"@input","external_name":"input","restriction":""},{"name":"_output","default_value":"@output","external_name":"output","restriction":""},{"name":"_layer","default_value":"@layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"self.class.new(_input, _output, _layer)"}},{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func/Type","path":"Place/Router/SignalGraph/Edge/Func/Type.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Func::Type","name":"Type","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch)","aliased_html":"Place::Router::SignalGraph::Edge::Func::Mute | Place::Router::SignalGraph::Edge::Func::Select | Place::Router::SignalGraph::Edge::Func::Switch","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge/Func","kind":"module","full_name":"Place::Router::SignalGraph::Edge::Func","name":"Func"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Label","path":"Place/Router/SignalGraph/Edge/Label.html","kind":"alias","full_name":"Place::Router::SignalGraph::Edge::Label","name":"Label","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static)","aliased_html":"Place::Router::SignalGraph::Edge::Active | Place::Router::SignalGraph::Edge::Static","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"}},{"html_id":"drivers/Place/Router/SignalGraph/Edge/Static","path":"Place/Router/SignalGraph/Edge/Static.html","kind":"class","full_name":"Place::Router::SignalGraph::Edge::Static","name":"Static","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/edge.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Edge","kind":"module","full_name":"Place::Router::SignalGraph::Edge","name":"Edge"},"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/edge.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/edge.cr#L8"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Input","path":"Place/Router/SignalGraph/Input.html","kind":"alias","full_name":"Place::Router::SignalGraph::Input","name":"Input","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L12"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceInput","aliased_html":"Place::Router::SignalGraph::Node::DeviceInput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Mod","path":"Place/Router/SignalGraph/Mod.html","kind":"class","full_name":"Place::Router::SignalGraph::Mod","name":"Mod","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/mod.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"doc":"Reference to a PlaceOS module that provides IO nodes within the graph.","summary":"

Reference to a PlaceOS module that provides IO nodes within the graph.

","class_methods":[{"html_id":"parse?(ref)-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref)","args_html":"(ref)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L44"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"visibility":"Public","body":"if m = ref.match(/^(.+)\\/(.+)\\_(\\d+)$/)\n sys = m[1]\n mod = m[2]\n idx = m[3].to_i\n new(sys, mod, idx)\nend"}}],"constructors":[{"html_id":"new(sys:String,name:String,idx:Int32)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"args_string":"(sys : String, name : String, idx : Int32)","args_html":"(sys : String, name : String, idx : Int32)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L14"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"idx","external_name":"idx","restriction":"::Int32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"==(other:self)-instance-method","name":"==","doc":"Returns `true` if this reference is the same as *other*. Invokes `same?`.","summary":"

Returns true if this reference is the same as other.

","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"self"}],"args_string":"(other : self)","args_html":"(other : self)","def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"self"}],"visibility":"Public","body":"if same?(other)\n return true\nend\nif @id == (other.@id)\nelse\n return false\nend\ntrue\n"}},{"html_id":"audio_muteable?-instance-method","name":"audio_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"audio_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::AudioMuteable\".in?(metadata.implements)"}},{"html_id":"camera?-instance-method","name":"camera?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"camera?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Camera\".in?(metadata.implements)"}},{"html_id":"door_security?-instance-method","name":"door_security?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"door_security?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::DoorSecurity\".in?(metadata.implements)"}},{"html_id":"electrical_relay?-instance-method","name":"electrical_relay?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"electrical_relay?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::ElectricalRelay\".in?(metadata.implements)"}},{"html_id":"hash(hasher)-instance-method","name":"hash","doc":"See `Object#hash(hasher)`","summary":"

See Object#hash(hasher)

","abstract":false,"args":[{"name":"hasher","external_name":"hasher","restriction":""}],"args_string":"(hasher)","args_html":"(hasher)","def":{"name":"hash","args":[{"name":"hasher","external_name":"hasher","restriction":""}],"visibility":"Public","body":"hasher = @id.hash(hasher)\nhasher\n"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L12"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"idx:Int32-instance-method","name":"idx","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L10"},"def":{"name":"idx","return_type":"Int32","visibility":"Public","body":"@idx"}},{"html_id":"input_muteable?-instance-method","name":"input_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputMuteable\".in?(metadata.implements)"}},{"html_id":"input_selection?-instance-method","name":"input_selection?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"input_selection?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::InputSelection\".in?(metadata.implements)"}},{"html_id":"lighting?-instance-method","name":"lighting?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lighting?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lighting\".in?(metadata.implements)"}},{"html_id":"locatable?-instance-method","name":"locatable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"locatable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Locatable\".in?(metadata.implements)"}},{"html_id":"lockers?-instance-method","name":"lockers?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"lockers?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Lockers\".in?(metadata.implements)"}},{"html_id":"mailer?-instance-method","name":"mailer?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"mailer?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Mailer\".in?(metadata.implements)"}},{"html_id":"metadata-instance-method","name":"metadata","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L19"},"def":{"name":"metadata","visibility":"Public","body":"(PlaceOS::Driver::Proxy::System.driver_metadata?(id)).not_nil!"}},{"html_id":"moveable?-instance-method","name":"moveable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"moveable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Moveable\".in?(metadata.implements)"}},{"html_id":"muteable?-instance-method","name":"muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Muteable\".in?(metadata.implements)"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L9"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"powerable?-instance-method","name":"powerable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"powerable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Powerable\".in?(metadata.implements)"}},{"html_id":"selectable?-instance-method","name":"selectable?","doc":"FIXME: drop if / after renaming InputSelection -> Selectable","summary":"

FIXME drop if / after renaming InputSelection -> Selectable

","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"selectable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Selectable\".in?(metadata.implements)"}},{"html_id":"sensor?-instance-method","name":"sensor?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sensor?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Sensor\".in?(metadata.implements)"}},{"html_id":"sms?-instance-method","name":"sms?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"sms?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::SMS\".in?(metadata.implements)"}},{"html_id":"stoppable?-instance-method","name":"stoppable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"stoppable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Stoppable\".in?(metadata.implements)"}},{"html_id":"switchable?-instance-method","name":"switchable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"switchable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Switchable\".in?(metadata.implements)"}},{"html_id":"sys:String-instance-method","name":"sys","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L8"},"def":{"name":"sys","return_type":"String","visibility":"Public","body":"@sys"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L40"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((((io << sys) << '/') << name) << '_') << idx"}},{"html_id":"video_muteable?-instance-method","name":"video_muteable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"video_muteable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::VideoMuteable\".in?(metadata.implements)"}},{"html_id":"zoomable?-instance-method","name":"zoomable?","abstract":false,"location":{"filename":"src/place/router/signal_graph/mod.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/mod.cr#L29"},"def":{"name":"zoomable?","visibility":"Public","body":"\"PlaceOS::Driver::Interface::Zoomable\".in?(metadata.implements)"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node","path":"Place/Router/SignalGraph/Node.html","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","path":"Place/Router/SignalGraph/Node/Device.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L136"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to the default / central node for a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1\n │ │ │\n │ │ └module index\n │ └module name\n └system\n","summary":"

Reference to the default / central node for a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L150"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if mod = Mod.parse?(ref)\n new(mod)\nend"}}],"constructors":[{"html_id":"new(sys,name,idx)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"args_string":"(sys, name, idx)","args_html":"(sys, name, idx)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L139"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"args_string":"(mod : Place::Router::SignalGraph::Mod)","args_html":"(mod : Place::Router::SignalGraph::Mod)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L143"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L137"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L146"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << mod"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","path":"Place/Router/SignalGraph/Node/DeviceInput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L207"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal input to a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Display_1:hdmi\n │ │ │ │\n │ │ │ └input\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal input to a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L222"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, i = ref.rpartition(':')\nif mod = Mod.parse?(m)\n input = i.to_i? || i\n new(mod, input)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(sys, name, idx, input : Int32 | String)","args_html":"(sys, name, idx, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L211"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,input:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, input : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":215,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L215"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"input","external_name":"input","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, input)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"input:Int32|String-instance-method","name":"input","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L209"},"def":{"name":"input","return_type":"Int32 | String","visibility":"Public","body":"@input"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L208"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L218"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << ':') << input"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","path":"Place/Router/SignalGraph/Node/DeviceOutput.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L168"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Reference to a signal output from a device.\n\nThese take the cannonical string form of:\n\n sys-abc123/Switcher_1.1!video\n │ │ │ │ │_layer\n │ │ │ └output\n │ │ └module index\n │ └module namme\n └system\n","summary":"

Reference to a signal output from a device.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L187"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"m, _, o = ref.rpartition('.')\nif mod = Mod.parse?(m)\n output = o.to_i? || o\n new(mod, output)\nend\n"}}],"constructors":[{"html_id":"new(sys,name,idx,output:Int32|String,layer)-class-method","name":"new","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"args_string":"(sys, name, idx, output : Int32 | String, layer)","args_html":"(sys, name, idx, output : Int32 | String, layer)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L173"},"def":{"name":"new","args":[{"name":"sys","external_name":"sys","restriction":""},{"name":"name","external_name":"name","restriction":""},{"name":"idx","external_name":"idx","restriction":""},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"},{"name":"layer","external_name":"layer","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(sys, name, idx, output, layer)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(mod:Place::Router::SignalGraph::Mod,output:Int32|String)-class-method","name":"new","abstract":false,"args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"args_string":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","args_html":"(mod : Place::Router::SignalGraph::Mod, output : Int32 | String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L178"},"def":{"name":"new","args":[{"name":"mod","external_name":"mod","restriction":"::Place::Router::SignalGraph::Mod"},{"name":"output","external_name":"output","restriction":"::Int32 | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(mod, output)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"layer:String-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L171"},"def":{"name":"layer","return_type":"String","visibility":"Public","body":"@layer"}},{"html_id":"mod:Mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L169"},"def":{"name":"mod","return_type":"Mod","visibility":"Public","body":"@mod"}},{"html_id":"output:Int32|String-instance-method","name":"output","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L170"},"def":{"name":"output","return_type":"Int32 | String","visibility":"Public","body":"@output"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L182"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"((io << mod) << '.') << output\nif @layer == DEFAULT_LAYER\nelse\n (io << '!') << @layer\nend\n"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","path":"Place/Router/SignalGraph/Node/Label.html","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Metadata tracked against each signal node.","summary":"

Metadata tracked against each signal node.

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(ref:Place::Router::SignalGraph::Node::Ref)-class-method","name":"new","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"args_string":"(ref : Place::Router::SignalGraph::Node::Ref)","args_html":"(ref : Place::Router::SignalGraph::Node::Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L12"},"def":{"name":"new","args":[{"name":"ref","external_name":"ref","restriction":"::Place::Router::SignalGraph::Node::Ref"}],"visibility":"Public","body":"_ = allocate\n_.initialize(ref)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](*args,**options)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]"}},{"html_id":"[](*args,**options,&)-instance-method","name":"[]","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[](*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"[]=(key,value:JSON::Any)-instance-method","name":"[]=","doc":"Sets a metadata property of `self`.","summary":"

Sets a metadata property of self.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"args_string":"(key, value : JSON::Any)","args_html":"(key, value : JSON::Any)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"JSON::Any"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Int)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"args_string":"(key, value : Int)","args_html":"(key, value : Int)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Int"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Float)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"args_string":"(key, value : Float)","args_html":"(key, value : Float)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Float"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Array)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"args_string":"(key, value : Array)","args_html":"(key, value : Array)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Array"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value:Hash)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"args_string":"(key, value : Hash)","args_html":"(key, value : Hash)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":"Hash"}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]=(key,value)-instance-method","name":"[]=","abstract":false,"args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(key, value)","args_html":"(key, value)","def":{"name":"[]=","args":[{"name":"key","external_name":"key","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":"(previous_def(key, value)).tap do\n notify\nend"}},{"html_id":"[]?(*args,**options)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options)","args_html":"(*args, **options)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"visibility":"Public","body":"meta[*args, **options]?"}},{"html_id":"[]?(*args,**options,&)-instance-method","name":"[]?","abstract":false,"args":[{"name":"args","external_name":"args","restriction":""}],"args_string":"(*args, **options, &)","args_html":"(*args, **options, &)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L35"},"def":{"name":"[]?","args":[{"name":"args","external_name":"args","restriction":""}],"double_splat":{"name":"options","external_name":"options","restriction":""},"splat_index":0,"yields":1,"block_arity":1,"visibility":"Public","body":"meta.[]?(*args, **options) do |*yield_args|\n yield *yield_args\nend"}},{"html_id":"locked:Bool-instance-method","name":"locked","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L27"},"def":{"name":"locked","return_type":"Bool","visibility":"Public","body":"@locked"}},{"html_id":"locked=(locked:Bool)-instance-method","name":"locked=","doc":"Locked state. When `true` changes to signal routes that transit this\nare blocked.","summary":"

Locked state.

","abstract":false,"args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"args_string":"(locked : Bool)","args_html":"(locked : Bool)","def":{"name":"locked=","args":[{"name":"locked","external_name":"locked","restriction":"Bool"}],"visibility":"Public","body":"(previous_def(locked)).tap do\n notify\nend"}},{"html_id":"meta:Hash(String,JSON::Any)-instance-method","name":"meta","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L33"},"def":{"name":"meta","return_type":"Hash(String, JSON::Any)","visibility":"Public","body":"if (value = @meta).nil?\n @meta = (Hash(String, JSON::Any).new)\nelse\n value\nend"}},{"html_id":"meta=(meta:Hash(String,JSON::Any))-instance-method","name":"meta=","abstract":false,"args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"args_string":"(meta : Hash(String, JSON::Any))","args_html":"(meta : Hash(String, JSON::Any))","def":{"name":"meta=","args":[{"name":"meta","external_name":"meta","restriction":"Hash(String, JSON::Any)"}],"visibility":"Public","body":"(previous_def(meta)).tap do\n notify\nend"}},{"html_id":"ref:Ref-instance-method","name":"ref","doc":"The `Node::Ref` used when creating this node.","summary":"

The Node::Ref used when creating this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L20"},"def":{"name":"ref","return_type":"Ref","visibility":"Public","body":"@ref"}},{"html_id":"source:Ref|Nil-instance-method","name":"source","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L23"},"def":{"name":"source","return_type":"Ref | ::Nil","visibility":"Public","body":"@source"}},{"html_id":"source=(source:Ref|Nil)-instance-method","name":"source=","doc":"`Ref` of the upstream signal source currently feeding this node.","summary":"

Ref of the upstream signal source currently feeding this node.

","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"args_string":"(source : Ref | Nil)","args_html":"(source : Ref | Nil)","def":{"name":"source=","args":[{"name":"source","external_name":"source","restriction":"Ref | ::Nil"}],"visibility":"Public","body":"(previous_def(source)).tap do\n notify\nend"}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L15"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << ref"}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","path":"Place/Router/SignalGraph/Node/Mute.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute","abstract":false,"superclass":{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},"ancestors":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref/ClassMethods","kind":"module","full_name":"Place::Router::SignalGraph::Node::Ref::ClassMethods","name":"ClassMethods"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Virtual node representing (any) mute source.\n\nThis may be refernced simply as `MUTE`.","summary":"

Virtual node representing (any) mute source.

","class_methods":[{"html_id":"parse?(ref):self|Nil-class-method","name":"parse?","abstract":false,"args":[{"name":"ref","external_name":"ref","restriction":""}],"args_string":"(ref) : self | Nil","args_html":"(ref) : self | Nil","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L247"},"def":{"name":"parse?","args":[{"name":"ref","external_name":"ref","restriction":""}],"return_type":"self | ::Nil","visibility":"Public","body":"if ref.upcase.ends_with?(\"MUTE\")\n instance\nend"}}],"constructors":[{"html_id":"instance:self-class-method","name":"instance","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L235"},"def":{"name":"instance","return_type":"self","visibility":"Public","body":"if (value = @@instance).nil?\n @@instance = (new)\nelse\n value\nend"}}],"instance_methods":[{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L240"},"def":{"name":"id","visibility":"Public","body":"0_u64"}},{"html_id":"mod-instance-method","name":"mod","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L244"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_s(io)-instance-method","name":"to_s","abstract":false,"args":[{"name":"io","external_name":"io","restriction":""}],"args_string":"(io)","args_html":"(io)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L252"},"def":{"name":"to_s","args":[{"name":"io","external_name":"io","restriction":""}],"visibility":"Public","body":"io << \"MUTE\""}}]},{"html_id":"drivers/Place/Router/SignalGraph/Node/Ref","path":"Place/Router/SignalGraph/Node/Ref.html","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Ref","name":"Ref","abstract":true,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEFAULT_LAYER","name":"DEFAULT_LAYER","value":"\"all\""}],"subclasses":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Device","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Device","name":"Device"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceInput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceInput","name":"DeviceInput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/DeviceOutput","kind":"struct","full_name":"Place::Router::SignalGraph::Node::DeviceOutput","name":"DeviceOutput"},{"html_id":"drivers/Place/Router/SignalGraph/Node/Mute","kind":"struct","full_name":"Place::Router::SignalGraph::Node::Mute","name":"Mute"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph/Node","kind":"module","full_name":"Place::Router::SignalGraph::Node","name":"Node"},"doc":"Base structure for referring to a node within the graph.","summary":"

Base structure for referring to a node within the graph.

","class_methods":[{"html_id":"resolve?(key:String,sys=nil)-class-method","name":"resolve?","doc":"Resolves a string-based node *key* to a fully-qualified reference.\n\nIf a system component is not present within *key*, this is resolved\nwithin the context of *sys*. For example:\n\n Ref.resolve(\"Display_1:hdmi\", \"sys-abc123\")\n # => DeviceInput(sys: \"sys-abc123\", mod: {\"Display\", 1}, input: \"hdmi\")\n","summary":"

Resolves a string-based node key to a fully-qualified reference.

","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"args_string":"(key : String, sys = nil)","args_html":"(key : String, sys = nil)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L81"},"def":{"name":"resolve?","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"sys","default_value":"nil","external_name":"sys","restriction":""}],"visibility":"Public","body":"ref = key.includes?('/') ? key : \"#{sys}/#{key}\"\n{% if true %}\n {% for type in @type.subclasses %}\n {{ type }}.parse?(ref) || \\\n {% end %}\n nil\n {% end %}\n"}}],"constructors":[{"html_id":"new-class-method","name":"new","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"new","visibility":"Public","body":"x = allocate\nif x.responds_to?(:finalize)\n ::GC.add_finalizer(x)\nend\nx\n"}}],"instance_methods":[{"html_id":"==(other:Ref)-instance-method","name":"==","abstract":false,"args":[{"name":"other","external_name":"other","restriction":"Ref"}],"args_string":"(other : Ref)","args_html":"(other : Ref)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L104"},"def":{"name":"==","args":[{"name":"other","external_name":"other","restriction":"Ref"}],"visibility":"Public","body":"id == other.id"}},{"html_id":"id-instance-method","name":"id","doc":"Node identifier for usage as the graph ID.","summary":"

Node identifier for usage as the graph ID.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L92"},"def":{"name":"id","visibility":"Public","body":"self.class.hash ^ self.hash"}},{"html_id":"initialize-instance-method","name":"initialize","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L72"},"def":{"name":"initialize","visibility":"Public","body":""}},{"html_id":"layer-instance-method","name":"layer","abstract":false,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L100"},"def":{"name":"layer","visibility":"Public","body":"DEFAULT_LAYER"}},{"html_id":"local(sys:String)-instance-method","name":"local","abstract":false,"args":[{"name":"sys","external_name":"sys","restriction":"String"}],"args_string":"(sys : String)","args_html":"(sys : String)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L108"},"def":{"name":"local","args":[{"name":"sys","external_name":"sys","restriction":"String"}],"visibility":"Public","body":"to_s.lchop(\"#{sys}/\")"}},{"html_id":"mod-instance-method","name":"mod","abstract":true,"location":{"filename":"src/place/router/signal_graph/node.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L96"},"def":{"name":"mod","visibility":"Public","body":""}},{"html_id":"to_json(json)-instance-method","name":"to_json","abstract":false,"args":[{"name":"json","external_name":"json","restriction":""}],"args_string":"(json)","args_html":"(json)","location":{"filename":"src/place/router/signal_graph/node.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/node.cr#L112"},"def":{"name":"to_json","args":[{"name":"json","external_name":"json","restriction":""}],"visibility":"Public","body":"json.string(to_s)"}}]}]},{"html_id":"drivers/Place/Router/SignalGraph/Output","path":"Place/Router/SignalGraph/Output.html","kind":"alias","full_name":"Place::Router::SignalGraph::Output","name":"Output","abstract":false,"locations":[{"filename":"src/place/router/signal_graph.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph.cr#L14"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph::Node::DeviceOutput","aliased_html":"Place::Router::SignalGraph::Node::DeviceOutput","const":false,"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"}},{"html_id":"drivers/Place/Router/SignalGraph/Watchable","path":"Place/Router/SignalGraph/Watchable.html","kind":"module","full_name":"Place::Router::SignalGraph::Watchable","name":"Watchable","abstract":false,"locations":[{"filename":"src/place/router/signal_graph/watchable.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L2"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"drivers/Place/Router/SignalGraph/Node/Label","kind":"class","full_name":"Place::Router::SignalGraph::Node::Label","name":"Label"}],"namespace":{"html_id":"drivers/Place/Router/SignalGraph","kind":"class","full_name":"Place::Router::SignalGraph","name":"SignalGraph"},"instance_methods":[{"html_id":"notify:Nil-instance-method","name":"notify","doc":"Notify subscribers with current state.","summary":"

Notify subscribers with current state.

","abstract":false,"location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L10"},"def":{"name":"notify","return_type":"Nil","visibility":"Public","body":"@subscribers.try(&.each(&.call(self)))"}},{"html_id":"watch(initial=true,&handler:self->):Nil-instance-method","name":"watch","doc":"Subscribe to updates.","summary":"

Subscribe to updates.

","abstract":false,"args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"args_string":"(initial = true, &handler : self -> ) : Nil","args_html":"(initial = true, &handler : self -> ) : Nil","location":{"filename":"src/place/router/signal_graph/watchable.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph/watchable.cr#L4"},"def":{"name":"watch","args":[{"name":"initial","default_value":"true","external_name":"initial","restriction":""}],"yields":1,"block_arity":1,"block_arg":{"name":"handler","external_name":"handler","restriction":"(self ->)"},"return_type":"Nil","visibility":"Public","body":"subscribers << handler\nif initial\n handler.call(self)\nend\n"}}]}]}]},{"html_id":"drivers/Place/SensorShutdown","path":"Place/SensorShutdown.html","kind":"class","full_name":"Place::SensorShutdown","name":"SensorShutdown","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/sensor_shutdown.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"event_in_progress?:Bool-instance-method","name":"event_in_progress?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L22"},"def":{"name":"event_in_progress?","return_type":"Bool","visibility":"Public","body":"@event_in_progress"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"timeout_ad_hoc = (setting?(UInt32, :timeout_ad_hoc)) || 15_u32.minutes\ntimeout_booked = (setting?(UInt32, :timeout_booked)) || 30_u32.minutes\nsubscriptions.clear\nbookings.subscribe(:status) do |_sub, status|\n update_status(status != \"\\\"free\\\"\")\nend\nbookings.subscribe(:sensor_stale) do |_sub, sensor_stale|\n update_stale_state(sensor_stale == \"true\")\nend\nbookings.subscribe(:presence) do |_sub, presence|\n update_presence(presence == \"true\")\nend\nav_control.subscribe(:active) do |_sub, active|\n update_room_power_state(active == \"true\")\nend\n"}},{"html_id":"people_present?:Bool-instance-method","name":"people_present?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L23"},"def":{"name":"people_present?","return_type":"Bool","visibility":"Public","body":"@people_present"}},{"html_id":"room_powered_on?:Bool-instance-method","name":"room_powered_on?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L25"},"def":{"name":"room_powered_on?","return_type":"Bool","visibility":"Public","body":"@room_powered_on"}},{"html_id":"sensor_stale?:Bool-instance-method","name":"sensor_stale?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L24"},"def":{"name":"sensor_stale?","return_type":"Bool","visibility":"Public","body":"@sensor_stale"}},{"html_id":"timer_active?:Bool-instance-method","name":"timer_active?","abstract":false,"location":{"filename":"src/place/meet/sensor_shutdown.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/sensor_shutdown.cr#L27"},"def":{"name":"timer_active?","return_type":"Bool","visibility":"Public","body":"@timer_active"}}]},{"html_id":"drivers/Place/Smtp","path":"Place/Smtp.html","kind":"class","full_name":"Place::Smtp","name":"Smtp","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/smtp.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"generate_png_qrcode(text:String,size:Int32=128):String-instance-method","name":"generate_png_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"args_string":"(text : String, size : Int32 = 128) : String","args_html":"(text : String, size : Int32 = 128) : String","location":{"filename":"src/place/smtp.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L94"},"def":{"name":"generate_png_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"},{"name":"size","default_value":"128","external_name":"size","restriction":"Int32"}],"return_type":"String","visibility":"Public","body":"Base64.strict_encode((QRCode.new(text)).as_png(size: size))"}},{"html_id":"generate_svg_qrcode(text:String):String-instance-method","name":"generate_svg_qrcode","abstract":false,"args":[{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(text : String) : String","args_html":"(text : String) : String","location":{"filename":"src/place/smtp.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L90"},"def":{"name":"generate_svg_qrcode","args":[{"name":"text","external_name":"text","restriction":"String"}],"return_type":"String","visibility":"Public","body":"(QRCode.new(text)).as_svg"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/smtp.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L51"},"def":{"name":"on_update","visibility":"Public","body":"defaults = URI.parse(config.uri.not_nil!)\ntls_mode = if scheme = defaults.scheme\n scheme.ends_with?('s') ? EMail::Client::TLSMode::SMTPS : EMail::Client::TLSMode::STARTTLS\nelse\n EMail::Client::TLSMode::STARTTLS\nend\nport = defaults.port || 587\nhost = defaults.host || \"smtp.host\"\n@username = (setting?(String, :username)) || \"\"\n@password = (setting?(String, :password)) || \"\"\n@sender = (setting?(String, :sender)) || \"support@place.tech\"\n@host = (setting?(String, :host)) || host\n@port = (setting?(Int32, :port)) || port\n@tls_mode = (setting?(EMail::Client::TLSMode, :tls_mode)) || tls_mode\n@ssl_verify_ignore = (setting?(Bool, :ssl_verify_ignore)) || false\n@smtp_client = new_smtp_client\n@templates = (setting?(Templates, :email_templates)) || Templates.new\n"}},{"html_id":"send_mail(to:String|Array(String),subject:String,message_plaintext:String|Nil=nil,message_html:String|Nil=nil,resource_attachments:Array(ResourceAttachment)=[]ofResourceAttachment,attachments:Array(Attachment)=[]ofAttachment,cc:String|Array(String)=[]ofString,bcc:String|Array(String)=[]ofString,from:String|Array(String)|Nil=nil,reply_to:String|Array(String)|Nil=nil):Bool-instance-method","name":"send_mail","abstract":false,"args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"args_string":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","args_html":"(to : String | Array(String), subject : String, message_plaintext : String | Nil = nil, message_html : String | Nil = nil, resource_attachments : Array(ResourceAttachment) = [] of ResourceAttachment, attachments : Array(Attachment) = [] of Attachment, cc : String | Array(String) = [] of String, bcc : String | Array(String) = [] of String, from : String | Array(String) | Nil = nil, reply_to : String | Array(String) | Nil = nil) : Bool","location":{"filename":"src/place/smtp.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/smtp.cr#L98"},"def":{"name":"send_mail","args":[{"name":"to","external_name":"to","restriction":"String | Array(String)"},{"name":"subject","external_name":"subject","restriction":"String"},{"name":"message_plaintext","default_value":"nil","external_name":"message_plaintext","restriction":"String | ::Nil"},{"name":"message_html","default_value":"nil","external_name":"message_html","restriction":"String | ::Nil"},{"name":"resource_attachments","default_value":"[] of ResourceAttachment","external_name":"resource_attachments","restriction":"Array(ResourceAttachment)"},{"name":"attachments","default_value":"[] of Attachment","external_name":"attachments","restriction":"Array(Attachment)"},{"name":"cc","default_value":"[] of String","external_name":"cc","restriction":"String | Array(String)"},{"name":"bcc","default_value":"[] of String","external_name":"bcc","restriction":"String | Array(String)"},{"name":"from","default_value":"nil","external_name":"from","restriction":"String | Array(String) | Nil"},{"name":"reply_to","default_value":"nil","external_name":"reply_to","restriction":"String | Array(String) | Nil"}],"return_type":"Bool","visibility":"Public","body":"if to.is_a?(Array)\nelse\n to = {to}\nend\nif from.nil? || from.is_a?(Array)\nelse\n from = {from}\nend\nif cc.nil? || cc.is_a?(Array)\nelse\n cc = {cc}\nend\nif bcc.nil? || bcc.is_a?(Array)\nelse\n bcc = {bcc}\nend\nif reply_to.nil? || reply_to.is_a?(Array)\nelse\n reply_to = {reply_to}\nend\nmessage = EMail::Message.new\nmessage.subject(subject)\nmessage.sender(@sender)\nif from.nil? || from.empty?\n message.from(@sender)\nelse\n from.each do |_from|\n message.from(_from)\n end\nend\nto.each do |_to|\n message.to(_to)\nend\nbcc.each do |_bcc|\n message.bcc(_bcc)\nend\ncc.each do |_cc|\n message.cc(_cc)\nend\nif reply_to\n reply_to.each do |_reply|\n message.reply_to(_reply)\n end\nend\nif message_plaintext.presence.nil?\nelse\n message.message(message_plaintext.as(String))\nend\nif message_html.presence.nil?\nelse\n message.message_html(message_html.as(String))\nend\n{resource_attachments, attachments}.map(&.each).each.flatten.each do |attachment|\n attachment_io = IO::Memory.new\n Base64.decode(attachment[:content], attachment_io)\n attachment_io.rewind\n case attachment\n in Attachment\n message.attach(io: attachment_io, file_name: attachment[:file_name])\n in ResourceAttachment\n message.message_resource(io: attachment_io, file_name: attachment[:file_name], cid: attachment[:content_id])\n end\nend\nsent = false\n@send_lock.synchronize do\n smtp_client.start do\n sent = send(message)\n end\nend\nsent\n"}}]},{"html_id":"drivers/Place/SpecHelper","path":"Place/SpecHelper.html","kind":"class","full_name":"Place::SpecHelper","name":"SpecHelper","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/spec_helper.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/spec_helper.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"implemented_in_driver-instance-method","name":"implemented_in_driver","doc":"This method will be exposed on the module","summary":"

This method will be exposed on the module

","abstract":false,"location":{"filename":"src/place/spec_helper.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/spec_helper.cr#L5"},"def":{"name":"implemented_in_driver","visibility":"Public","body":"\"woot!\""}}]},{"html_id":"drivers/Place/StaffAPI","path":"Place/StaffAPI.html","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"approve(booking_id:String|Int64)-instance-method","name":"approve","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":518,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L518"},"def":{"name":"approve","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"approving booking #{booking_id}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/approve\", headers: authentication)\nif response.success?\nelse\n raise(\"issue approving booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_check_in(booking_id:String|Int64,state:Bool=true,utm_source:String|Nil=nil)-instance-method","name":"booking_check_in","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, state : Bool = true, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":534,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L534"},"def":{"name":"booking_check_in","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"checking in booking #{booking_id} to: #{state}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n form.add(\"state\", state.to_s)\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/check_in?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue checking in booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_delete(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"booking_delete","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":547,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L547"},"def":{"name":"booking_delete","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"deleting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = delete(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"booking_state(booking_id:String|Int64,state:String)-instance-method","name":"booking_state","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(booking_id : String | Int64, state : String)","args_html":"(booking_id : String | Int64, state : String)","location":{"filename":"src/place/staff_api.cr","line_number":526,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L526"},"def":{"name":"booking_state","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id} state to: #{state}\"\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/update_state?state=#{state}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue updating booking state #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"chat_members(session_id:String):Array(String)-instance-method","name":"chat_members","abstract":false,"args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"args_string":"(session_id : String) : Array(String)","args_html":"(session_id : String) : Array(String)","location":{"filename":"src/place/staff_api.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L187"},"def":{"name":"chat_members","args":[{"name":"session_id","external_name":"session_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"SimpleRetry.try_to(max_attempts: 3, base_interval: 1.second, max_interval: 5.seconds) do\n response = get(\"/api/engine/v2/webrtc/members/#{session_id}\", headers: authentication)\n if response.success?\n else\n raise(\"webrtc service possibly unavailable\")\n end\n Array(String).from_json(response.not_nil!.body)\nend"}},{"html_id":"create_booking(booking_type:String,asset_id:String,user_id:String,user_email:String,user_name:String,zones:Array(String),booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,checked_in:Bool=false,approved:Bool|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,time_zone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,utm_source:String|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"create_booking","doc":"===================================\nBOOKINGS ACTIONS\n===================================","summary":"

=================================== BOOKINGS ACTIONS ===================================

","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_type : String, asset_id : String, user_id : String, user_email : String, user_name : String, zones : Array(String), booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, checked_in : Bool = false, approved : Bool | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, time_zone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, utm_source : String | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":408,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L408"},"def":{"name":"create_booking","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"},{"name":"asset_id","external_name":"asset_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"zones","external_name":"zones","restriction":"Array(String)"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"checked_in","default_value":"false","external_name":"checked_in","restriction":"Bool"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"time_zone","default_value":"nil","external_name":"time_zone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"now = time_zone ? Time.local(Time::Location.load(time_zone)) : Time.local\nbooking_start || (booking_start = now.at_beginning_of_day.to_unix)\nbooking_end || (booking_end = now.at_end_of_day.to_unix)\nif checked_in\n checked_in_at = now.to_unix\nend\nlogger.debug do\n \"creating a #{booking_type} booking, starting #{booking_start}, asset #{asset_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"booking_type\" => booking_type, \"asset_id\" => asset_id, \"user_id\" => user_id, \"user_email\" => user_email, \"user_name\" => user_name, \"zones\" => zones, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"approved\" => approved, \"title\" => title, \"description\" => description, \"timezone\" => time_zone, \"extension_data\" => extension_data || (JSON.parse(\"{}\"))}.compact.to_json)\nif response.success?\nelse\n raise(\"issue creating #{booking_type} booking, starting #{booking_start}, asset #{asset_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"create_user(body_json:String)-instance-method","name":"create_user","abstract":false,"args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(body_json : String)","args_html":"(body_json : String)","location":{"filename":"src/place/staff_api.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L104"},"def":{"name":"create_user","args":[{"name":"body_json","external_name":"body_json","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/users\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to create user: #{response.status_code}\")\nend\nPlaceOS::Client::API::Models::User.from_json(response.body)\n"}},{"html_id":"delete_event(system_id:String,event_id:String)-instance-method","name":"delete_event","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(system_id : String, event_id : String)","args_html":"(system_id : String, event_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L314"},"def":{"name":"delete_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"response = delete(\"/api/staff/v1/events/#{event_id}?system_id=#{system_id}\", headers: authentication)\nif response.success? || (response.status_code == 404)\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"delete_user(id:String,force_removal:Bool=false):Nil-instance-method","name":"delete_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"args_string":"(id : String, force_removal : Bool = false) : Nil","args_html":"(id : String, force_removal : Bool = false) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L122"},"def":{"name":"delete_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"force_removal","default_value":"false","external_name":"force_removal","restriction":"Bool"}],"return_type":"Nil","visibility":"Public","body":"response = delete(\"/api/engine/v2/users/#{id}?force_removal=#{force_removal}\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to delete user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"get_booking(booking_id:String|Int64)-instance-method","name":"get_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"args_string":"(booking_id : String | Int64)","args_html":"(booking_id : String | Int64)","location":{"filename":"src/place/staff_api.cr","line_number":655,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L655"},"def":{"name":"get_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"}],"visibility":"Public","body":"logger.debug do\n \"getting booking #{booking_id}\"\nend\nresponse = get(\"/api/staff/v1/bookings/#{booking_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue getting booking #{booking_id}: #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_event(event_id:String,system_id:String|Nil=nil,calendar:String|Nil=nil)-instance-method","name":"get_event","doc":"gets an event from either the `system_id` or `calendar` if only one is provided\nif both are provided, it gets the event from `calendar` and the metadata from `system_id`\nNOTE:: the use of `calendar` will typically not work from a driver unless the X-API-Key\n has read access to it. From a driver perspective you should probably use a\n dedicated Calendar driver with application access and the query_metadata function\n below if metadata is required: `query_metadata(system_id: \"sys\", event_ref: [\"id\", \"uuid\"])`","summary":"

gets an event from either the system_id or calendar if only one is provided if both are provided, it gets the event from calendar and the metadata from system_id NOTE:: the use of calendar will typically not work from a driver unless the X-API-Key has read access to it.

","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"args_string":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","args_html":"(event_id : String, system_id : String | Nil = nil, calendar : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L286"},"def":{"name":"get_event","args":[{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"calendar","default_value":"nil","external_name":"calendar","restriction":"String | ::Nil"}],"visibility":"Public","body":"if calendar.presence || system_id.presence\nelse\n raise(ArgumentError.new(\"requires system_id or calendar param\"))\nend\nparams = URI::Params.build do |form|\n if calendar.presence\n form.add(\"calendar\", calendar.to_s)\n end\n if system_id.presence\n form.add(\"system_id\", system_id.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events/#{event_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":666,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L666"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"getting survey_invites (survey #{survey_id}, sent #{sent})\"\nend\nparams = URI::Params.new\nif survey_id\n params[\"survey_id\"] = survey_id.to_s\nend\nif sent.nil?\nelse\n params[\"sent\"] = sent.to_s\nend\nresponse = get(\"/api/staff/v1/surveys/invitations\", params, headers: authentication)\nif response.success?\nelse\n raise(\"issue getting survey invitations (survey #{survey_id}, sent #{sent}): #{response.status_code}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"get_system(id:String,complete:Bool=false)-instance-method","name":"get_system","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"args_string":"(id : String, complete : Bool = false)","args_html":"(id : String, complete : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L39"},"def":{"name":"get_system","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"complete","default_value":"false","external_name":"complete","restriction":"Bool"}],"visibility":"Public","body":"response = get(\"/api/engine/v2/systems/#{id}?complete=#{complete}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for system id #{id}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing system #{id}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"guest_details(guest_id:String)-instance-method","name":"guest_details","doc":"===================================\nGuest details\n===================================","summary":"

=================================== Guest details ===================================

","abstract":false,"args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"args_string":"(guest_id : String)","args_html":"(guest_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L203"},"def":{"name":"guest_details","args":[{"name":"guest_id","external_name":"guest_id","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/guests/#{guest_id}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"kick_user(user_id:String,session_id:String,reason:String)-instance-method","name":"kick_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"args_string":"(user_id : String, session_id : String, reason : String)","args_html":"(user_id : String, session_id : String, reason : String)","location":{"filename":"src/place/staff_api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L180"},"def":{"name":"kick_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"reason","external_name":"reason","restriction":"String"}],"visibility":"Public","body":"response = post(\"/api/engine/v2/webrtc/kick/#{user_id}/#{session_id}\", headers: authentication, body: {reason: reason}.to_json)\nresponse.status_code\n"}},{"html_id":"merge_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"merge_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":379,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L379"},"def":{"name":"merge_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.merge(id, key, payload, description)"}},{"html_id":"metadata(id:String,key:String|Nil=nil)-instance-method","name":"metadata","doc":"===================================\nZONE METADATA\n===================================","summary":"

=================================== ZONE METADATA ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L365"},"def":{"name":"metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.fetch(id, key)"}},{"html_id":"metadata_children(id:String,key:String|Nil=nil)-instance-method","name":"metadata_children","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"args_string":"(id : String, key : String | Nil = nil)","args_html":"(id : String, key : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":369,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L369"},"def":{"name":"metadata_children","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","default_value":"nil","external_name":"key","restriction":"String | ::Nil"}],"visibility":"Public","body":"placeos_client.metadata.children(id, key)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L26"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L30"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = (setting(String, :api_key)) || \"\"\nif @api_key.presence\n @access_expires = 30.years.from_now\nend\n@place_domain = URI.parse(config.uri.not_nil!)\n@host_header = (setting?(String, :host_header)) || @place_domain.host.not_nil!\n"}},{"html_id":"patch_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"patch_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L320"},"def":{"name":"patch_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"query_bookings(type:String,period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,zones:Array(String)=[]ofString,user:String|Nil=nil,email:String|Nil=nil,state:String|Nil=nil,created_before:Int64|Nil=nil,created_after:Int64|Nil=nil,approved:Bool|Nil=nil,rejected:Bool|Nil=nil,checked_in:Bool|Nil=nil)-instance-method","name":"query_bookings","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"args_string":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","args_html":"(type : String, period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, zones : Array(String) = [] of String, user : String | Nil = nil, email : String | Nil = nil, state : String | Nil = nil, created_before : Int64 | Nil = nil, created_after : Int64 | Nil = nil, approved : Bool | Nil = nil, rejected : Bool | Nil = nil, checked_in : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":596,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L596"},"def":{"name":"query_bookings","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"zones","default_value":"[] of String","external_name":"zones","restriction":"Array(String)"},{"name":"user","default_value":"nil","external_name":"user","restriction":"String | ::Nil"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"state","default_value":"nil","external_name":"state","restriction":"String | ::Nil"},{"name":"created_before","default_value":"nil","external_name":"created_before","restriction":"Int64 | ::Nil"},{"name":"created_after","default_value":"nil","external_name":"created_after","restriction":"Int64 | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"rejected","default_value":"nil","external_name":"rejected","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"period_start || (period_start = Time.utc.to_unix)\nperiod_end || (period_end = 30.minutes.from_now.to_unix)\nparams = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n form.add(\"type\", type)\n if zones.empty?\n else\n form.add(\"zones\", zones.join(\",\"))\n end\n if user.presence\n form.add(\"user\", user.to_s)\n end\n if email.presence\n form.add(\"email\", email.to_s)\n end\n if state.presence\n form.add(\"state\", state.to_s)\n end\n if created_before\n form.add(\"created_before\", created_before.to_s)\n end\n if created_after\n form.add(\"created_after\", created_after.to_s)\n end\n if approved.nil?\n else\n form.add(\"approved\", approved.to_s)\n end\n if rejected.nil?\n else\n form.add(\"rejected\", rejected.to_s)\n end\n if checked_in.nil?\n else\n form.add(\"checked_in\", checked_in.to_s)\n end\nend\nlogger.debug do\n \"requesting staff/v1/bookings: #{params}\"\nend\nbookings = [] of JSON::Any\nnext_request = \"/api/staff/v1/bookings?#{params}\"\nloop do\n response = get(next_request, headers: authentication)\n if response.success?\n else\n raise(\"issue loading list of bookings (zones #{zones}): #{response.status_code}\")\n end\n links = LinkHeader.new(response)\n new_bookings = (JSON.parse(response.body)).as_a\n bookings.concat(new_bookings)\n next_request = links[\"next\"]?\n if next_request.nil? || new_bookings.empty?\n break\n end\nend\nlogger.debug do\n \"bookings count: #{bookings.size}\"\nend\nbookings\n"}},{"html_id":"query_events(period_start:Int64,period_end:Int64,zones:Array(String)|Nil=nil,systems:Array(String)|Nil=nil,capacity:Int32|Nil=nil,features:String|Nil=nil,bookable:Bool|Nil=nil,include_cancelled:Bool|Nil=nil)-instance-method","name":"query_events","doc":"===================================\nCALENDAR EVENT ACTIONS (via staff api)\n===================================","summary":"

=================================== CALENDAR EVENT ACTIONS (via staff api) ===================================

","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String) | Nil = nil, systems : Array(String) | Nil = nil, capacity : Int32 | Nil = nil, features : String | Nil = nil, bookable : Bool | Nil = nil, include_cancelled : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L248"},"def":{"name":"query_events","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","default_value":"nil","external_name":"zones","restriction":"Array(String) | ::Nil"},{"name":"systems","default_value":"nil","external_name":"systems","restriction":"Array(String) | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"include_cancelled","default_value":"nil","external_name":"include_cancelled","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n if zones && (!zones.empty?)\n form.add(\"zone_ids\", zones.join(\",\"))\n end\n if systems && (!systems.empty?)\n form.add(\"system_ids\", systems.join(\",\"))\n end\n if capacity\n form.add(\"capacity\", capacity.to_s)\n end\n if features\n form.add(\"features\", features)\n end\n if !bookable.nil?\n form.add(\"bookable\", bookable.to_s)\n end\n if !include_cancelled.nil?\n form.add(\"include_cancelled\", include_cancelled.to_s)\n end\nend\nresponse = get(\"/api/staff/v1/events?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_guests(period_start:Int64,period_end:Int64,zones:Array(String))-instance-method","name":"query_guests","abstract":false,"args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(period_start : Int64, period_end : Int64, zones : Array(String))","args_html":"(period_start : Int64, period_end : Int64, zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L225"},"def":{"name":"query_guests","args":[{"name":"period_start","external_name":"period_start","restriction":"Int64"},{"name":"period_end","external_name":"period_end","restriction":"Int64"},{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"period_start\", period_start.to_s)\n form.add(\"period_end\", period_end.to_s)\n form.add(\"zone_ids\", zones.join(\",\"))\nend\nresponse = get(\"/api/staff/v1/guests?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_metadata(period_start:Int64|Nil=nil,period_end:Int64|Nil=nil,field_name:String|Nil=nil,value:String|Nil=nil,system_id:String|Nil=nil,event_ref:Array(String)|Nil=nil)-instance-method","name":"query_metadata","doc":"search for metadata that exists on events to obtain the event information\nfor response details see `EventMetadata__Assigner` in the OpenAPI docs\nhttps://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml","summary":"

search for metadata that exists on events to obtain the event information for response details see EventMetadata__Assigner in the OpenAPI docs https://editor.swagger.io/?url=https://raw.githubusercontent.com/PlaceOS/staff-api/master/OPENAPI_DOC.yml

","abstract":false,"args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"args_string":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","args_html":"(period_start : Int64 | Nil = nil, period_end : Int64 | Nil = nil, field_name : String | Nil = nil, value : String | Nil = nil, system_id : String | Nil = nil, event_ref : Array(String) | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":335,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L335"},"def":{"name":"query_metadata","args":[{"name":"period_start","default_value":"nil","external_name":"period_start","restriction":"Int64 | ::Nil"},{"name":"period_end","default_value":"nil","external_name":"period_end","restriction":"Int64 | ::Nil"},{"name":"field_name","default_value":"nil","external_name":"field_name","restriction":"String | ::Nil"},{"name":"value","default_value":"nil","external_name":"value","restriction":"String | ::Nil"},{"name":"system_id","default_value":"nil","external_name":"system_id","restriction":"String | ::Nil"},{"name":"event_ref","default_value":"nil","external_name":"event_ref","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n if period_start\n form.add(\"period_start\", period_start.to_s)\n end\n if period_end\n form.add(\"period_end\", period_end.to_s)\n end\n if field_name.presence\n form.add(\"field_name\", field_name)\n end\n if value.presence\n form.add(\"value\", value)\n end\n if event_ref && (!event_ref.empty?)\n form.add(\"event_ref\", event_ref.join(\",\"))\n end\nend\nresponse = get(\"/api/staff/v1/events/extension_metadata/#{system_id}?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"query_users(q:String|Nil=nil,limit:Int32=20,offset:Int32=0,authority_id:String|Nil=nil,include_deleted:Bool=false)-instance-method","name":"query_users","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","args_html":"(q : String | Nil = nil, limit : Int32 = 20, offset : Int32 = 0, authority_id : String | Nil = nil, include_deleted : Bool = false)","location":{"filename":"src/place/staff_api.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L147"},"def":{"name":"query_users","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"20","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"authority_id","default_value":"nil","external_name":"authority_id","restriction":"String | ::Nil"},{"name":"include_deleted","default_value":"false","external_name":"include_deleted","restriction":"Bool"}],"visibility":"Public","body":"placeos_client.users.search(q: q, limit: limit, offset: offset, authority_id: authority_id, include_deleted: include_deleted)"}},{"html_id":"reject(booking_id:String|Int64,utm_source:String|Nil=nil)-instance-method","name":"reject","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"args_string":"(booking_id : String | Int64, utm_source : String | Nil = nil)","args_html":"(booking_id : String | Int64, utm_source : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":505,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L505"},"def":{"name":"reject","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"utm_source","default_value":"nil","external_name":"utm_source","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"rejecting booking #{booking_id}\"\nend\nparams = URI::Params.build do |form|\n if utm_source.nil?\n else\n form.add(\"utm_source\", utm_source.to_s)\n end\nend\nresponse = post(\"/api/staff/v1/bookings/#{booking_id}/reject?#{params}\", headers: authentication)\nif response.success?\nelse\n raise(\"issue rejecting booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"replace_event_metadata(system_id:String,event_id:String,metadata:JSON::Any,ical_uid:String|Nil=nil)-instance-method","name":"replace_event_metadata","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"args_string":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","args_html":"(system_id : String, event_id : String, metadata : JSON::Any, ical_uid : String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L326"},"def":{"name":"replace_event_metadata","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"metadata","external_name":"metadata","restriction":"JSON::Any"},{"name":"ical_uid","default_value":"nil","external_name":"ical_uid","restriction":"String | ::Nil"}],"visibility":"Public","body":"response = put(\"/api/staff/v1/events/#{event_id}/metadata/#{system_id}?ical_uid=#{ical_uid}\", headers: authentication, body: metadata.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON::Any.from_json(response.body)\n"}},{"html_id":"resource_token-instance-method","name":"resource_token","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L134"},"def":{"name":"resource_token","visibility":"Public","body":"response = post(\"/api/engine/v2/users/resource_token\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"revive_user(id:String):Nil-instance-method","name":"revive_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L128"},"def":{"name":"revive_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = post(\"/api/engine/v2/users/#{id}/revive\", headers: authentication)\nif response.success?\nelse\n raise(\"failed to revive user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"signal(channel:String,payload:JSON::Any|Nil=nil)-instance-method","name":"signal","abstract":false,"args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"args_string":"(channel : String, payload : JSON::Any | Nil = nil)","args_html":"(channel : String, payload : JSON::Any | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":694,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L694"},"def":{"name":"signal","args":[{"name":"channel","external_name":"channel","restriction":"String"},{"name":"payload","default_value":"nil","external_name":"payload","restriction":"JSON::Any | ::Nil"}],"visibility":"Public","body":"placeos_client.root.signal(channel, payload)"}},{"html_id":"staff_details(email:String)-instance-method","name":"staff_details","doc":"Staff details returns the information from AD","summary":"

Staff details returns the information from AD

","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/staff_api.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L84"},"def":{"name":"staff_details","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"response = get(\"/api/staff/v1/people/#{email}\", headers: authentication)\nif response.success?\nelse\n raise(\"unexpected response for staff #{email}: #{response.status_code}\\n#{response.body}\")\nend\nbegin\n JSON.parse(response.body)\nrescue error\n logger.debug do\n \"issue parsing staff #{email}:\\n#{response.body.inspect}\"\n end\n raise(error)\nend\n"}},{"html_id":"systems(q:String|Nil=nil,zone_id:String|Nil=nil,capacity:Int32|Nil=nil,bookable:Bool|Nil=nil,features:String|Nil=nil,limit:Int32=1000,offset:Int32=0)-instance-method","name":"systems","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"args_string":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","args_html":"(q : String | Nil = nil, zone_id : String | Nil = nil, capacity : Int32 | Nil = nil, bookable : Bool | Nil = nil, features : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0)","location":{"filename":"src/place/staff_api.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L51"},"def":{"name":"systems","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"},{"name":"capacity","default_value":"nil","external_name":"capacity","restriction":"Int32 | ::Nil"},{"name":"bookable","default_value":"nil","external_name":"bookable","restriction":"Bool | ::Nil"},{"name":"features","default_value":"nil","external_name":"features","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"}],"visibility":"Public","body":"placeos_client.systems.search(q: q, limit: limit, offset: offset, zone_id: zone_id, capacity: capacity, bookable: bookable, features: features)"}},{"html_id":"systems_in_building(zone_id:String,ids_only:Bool=true)-instance-method","name":"systems_in_building","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"args_string":"(zone_id : String, ids_only : Bool = true)","args_html":"(zone_id : String, ids_only : Bool = true)","location":{"filename":"src/place/staff_api.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L71"},"def":{"name":"systems_in_building","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"ids_only","default_value":"true","external_name":"ids_only","restriction":"Bool"}],"visibility":"Public","body":"levels = zones(parent: zone_id)\nif ids_only\n hash = {} of String => Array(String)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id).map(&.id)\n end\nelse\n hash = {} of String => Array(::PlaceOS::Client::API::Models::System)\n levels.each do |level|\n hash[level.id] = systems(zone_id: level.id)\n end\nend\nhash\n"}},{"html_id":"transfer_user(user_id:String,session_id:String,payload:JSON::Any)-instance-method","name":"transfer_user","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"args_string":"(user_id : String, session_id : String, payload : JSON::Any)","args_html":"(user_id : String, session_id : String, payload : JSON::Any)","location":{"filename":"src/place/staff_api.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L162"},"def":{"name":"transfer_user","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"session_id","external_name":"session_id","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"}],"visibility":"Public","body":"status = 200\npayload_str = payload.to_json\nSimpleRetry.try_to(max_attempts: 5, base_interval: 1.second, max_interval: 10.seconds) do\n response = post(\"/api/engine/v2/webrtc/transfer/#{user_id}/#{session_id}\", headers: authentication, body: payload_str)\n status = response.status_code\n if response.success?\n else\n raise(\"client not yet connected\")\n end\nend\nstatus\n"}},{"html_id":"update_booking(booking_id:String|Int64,booking_start:Int64|Nil=nil,booking_end:Int64|Nil=nil,asset_id:String|Nil=nil,title:String|Nil=nil,description:String|Nil=nil,timezone:String|Nil=nil,extension_data:JSON::Any|Nil=nil,approved:Bool|Nil=nil,checked_in:Bool|Nil=nil,limit_override:Int64|Nil=nil)-instance-method","name":"update_booking","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"args_string":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","args_html":"(booking_id : String | Int64, booking_start : Int64 | Nil = nil, booking_end : Int64 | Nil = nil, asset_id : String | Nil = nil, title : String | Nil = nil, description : String | Nil = nil, timezone : String | Nil = nil, extension_data : JSON::Any | Nil = nil, approved : Bool | Nil = nil, checked_in : Bool | Nil = nil, limit_override : Int64 | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":461,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L461"},"def":{"name":"update_booking","args":[{"name":"booking_id","external_name":"booking_id","restriction":"String | Int64"},{"name":"booking_start","default_value":"nil","external_name":"booking_start","restriction":"Int64 | ::Nil"},{"name":"booking_end","default_value":"nil","external_name":"booking_end","restriction":"Int64 | ::Nil"},{"name":"asset_id","default_value":"nil","external_name":"asset_id","restriction":"String | ::Nil"},{"name":"title","default_value":"nil","external_name":"title","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"timezone","default_value":"nil","external_name":"timezone","restriction":"String | ::Nil"},{"name":"extension_data","default_value":"nil","external_name":"extension_data","restriction":"JSON::Any | ::Nil"},{"name":"approved","default_value":"nil","external_name":"approved","restriction":"Bool | ::Nil"},{"name":"checked_in","default_value":"nil","external_name":"checked_in","restriction":"Bool | ::Nil"},{"name":"limit_override","default_value":"nil","external_name":"limit_override","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating booking #{booking_id}\"\nend\ncase checked_in\nin true\n checked_in_at = Time.utc.to_unix\nin false\n checked_out_at = Time.utc.to_unix\nin nil\nend\nparams = URI::Params.build do |form|\n if limit_override.nil?\n else\n form.add(\"limit_override\", limit_override.to_s)\n end\nend\nresponse = patch(\"/api/staff/v1/bookings/#{booking_id}?#{params}\", headers: authentication, body: {\"booking_start\" => booking_start, \"booking_end\" => booking_end, \"checked_in\" => checked_in, \"checked_in_at\" => checked_in_at, \"checked_out_at\" => checked_out_at, \"asset_id\" => asset_id, \"title\" => title, \"description\" => description, \"timezone\" => timezone, \"extension_data\" => extension_data}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating booking #{booking_id}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_event(system_id:String,event:PlaceCalendar::Event)-instance-method","name":"update_event","doc":"NOTE:: https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit#\nThe service account making this request needs delegated access and hence you can only edit\nevents associated with a resource calendar","summary":"

NOTE : https://docs.google.com/document/d/1OaZljpjLVueFitmFWx8xy8BT8rA2lITyPsIvSYyNNW8/edit# The service account making this request needs delegated access and hence you can only edit events associated with a resource calendar

","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"args_string":"(system_id : String, event : PlaceCalendar::Event)","args_html":"(system_id : String, event : PlaceCalendar::Event)","location":{"filename":"src/place/staff_api.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L307"},"def":{"name":"update_event","args":[{"name":"system_id","external_name":"system_id","restriction":"String"},{"name":"event","external_name":"event","restriction":"PlaceCalendar::Event"}],"visibility":"Public","body":"response = patch(\"/api/staff/v1/events/#{event.id}?system_id=#{system_id}\", headers: authentication, body: event.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nPlaceCalendar::Event.from_json(response.body)\n"}},{"html_id":"update_guest(id:String,body_json:String):Nil-instance-method","name":"update_guest","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L216"},"def":{"name":"update_guest","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/staff/v1/guests/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update guest #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":677,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L677"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"updating survey invite #{token}\"\nend\nresponse = patch(\"/api/staff/v1/surveys/invitations/#{token}\", headers: authentication, body: {\"email\" => email, \"sent\" => sent}.compact.to_json)\nif response.success?\nelse\n raise(\"issue updating survey invite #{token}: #{response.status_code}\")\nend\ntrue\n"}},{"html_id":"update_user(id:String,body_json:String):Nil-instance-method","name":"update_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"args_string":"(id : String, body_json : String) : Nil","args_html":"(id : String, body_json : String) : Nil","location":{"filename":"src/place/staff_api.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L113"},"def":{"name":"update_user","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"body_json","external_name":"body_json","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"response = patch(\"/api/engine/v2/users/#{id}\", body: body_json, headers: authentication(HTTP::Headers {\"Content-Type\" => \"application/json\"}))\nif response.success?\nelse\n raise(\"failed to update user #{id}: #{response.status_code}\")\nend\n"}},{"html_id":"user(id:String)-instance-method","name":"user","doc":"===================================\nUser details\n===================================","summary":"

=================================== User details ===================================

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/staff_api.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L99"},"def":{"name":"user","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"placeos_client.users.fetch(id)"}},{"html_id":"write_metadata(id:String,key:String,payload:JSON::Any,description:String=\"\")-instance-method","name":"write_metadata","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"args_string":"(id : String, key : String, payload : JSON::Any, description : String = \"\")","args_html":"(id : String, key : String, payload : JSON::Any, description : String = "")","location":{"filename":"src/place/staff_api.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L374"},"def":{"name":"write_metadata","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"key","external_name":"key","restriction":"String"},{"name":"payload","external_name":"payload","restriction":"JSON::Any"},{"name":"description","default_value":"\"\"","external_name":"description","restriction":"String"}],"visibility":"Public","body":"placeos_client.metadata.update(id, key, payload, description)"}},{"html_id":"zone(zone_id:String)-instance-method","name":"zone","doc":"===================================\nZONE INFORMATION\n===================================","summary":"

=================================== ZONE INFORMATION ===================================

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"args_string":"(zone_id : String)","args_html":"(zone_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":386,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L386"},"def":{"name":"zone","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"}],"visibility":"Public","body":"placeos_client.zones.fetch(zone_id)"}},{"html_id":"zones(q:String|Nil=nil,limit:Int32=1000,offset:Int32=0,parent:String|Nil=nil,tags:Array(String)|String|Nil=nil)-instance-method","name":"zones","abstract":false,"args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"args_string":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","args_html":"(q : String | Nil = nil, limit : Int32 = 1000, offset : Int32 = 0, parent : String | Nil = nil, tags : Array(String) | String | Nil = nil)","location":{"filename":"src/place/staff_api.cr","line_number":390,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L390"},"def":{"name":"zones","args":[{"name":"q","default_value":"nil","external_name":"q","restriction":"String | ::Nil"},{"name":"limit","default_value":"1000","external_name":"limit","restriction":"Int32"},{"name":"offset","default_value":"0","external_name":"offset","restriction":"Int32"},{"name":"parent","default_value":"nil","external_name":"parent","restriction":"String | ::Nil"},{"name":"tags","default_value":"nil","external_name":"tags","restriction":"Array(String) | String | ::Nil"}],"visibility":"Public","body":"placeos_client.zones.search(q: q, limit: limit, offset: offset, parent_id: parent, tags: tags)"}}],"types":[{"html_id":"drivers/Place/StaffAPI/Booking","path":"Place/StaffAPI/Booking.html","kind":"class","full_name":"Place::StaffAPI::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/staff_api.cr","line_number":560,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L560"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/StaffAPI","kind":"class","full_name":"Place::StaffAPI","name":"StaffAPI"},"doc":"===================================\nBOOKINGS QUERY\n===================================","summary":"

=================================== BOOKINGS QUERY ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/staff_api.cr","line_number":561,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L561"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"approved:Bool-instance-method","name":"approved","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L581"},"def":{"name":"approved","return_type":"Bool","visibility":"Public","body":"@approved"}},{"html_id":"approved=(approved:Bool)-instance-method","name":"approved=","abstract":false,"args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"args_string":"(approved : Bool)","args_html":"(approved : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":581,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L581"},"def":{"name":"approved=","args":[{"name":"approved","external_name":"approved","restriction":"Bool"}],"visibility":"Public","body":"@approved = approved"}},{"html_id":"approver_email:String|Nil-instance-method","name":"approver_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L584"},"def":{"name":"approver_email","return_type":"String | ::Nil","visibility":"Public","body":"@approver_email"}},{"html_id":"approver_email=(approver_email:String|Nil)-instance-method","name":"approver_email=","abstract":false,"args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"args_string":"(approver_email : String | Nil)","args_html":"(approver_email : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":584,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L584"},"def":{"name":"approver_email=","args":[{"name":"approver_email","external_name":"approver_email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_email = approver_email"}},{"html_id":"approver_id:String|Nil-instance-method","name":"approver_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L583"},"def":{"name":"approver_id","return_type":"String | ::Nil","visibility":"Public","body":"@approver_id"}},{"html_id":"approver_id=(approver_id:String|Nil)-instance-method","name":"approver_id=","abstract":false,"args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"args_string":"(approver_id : String | Nil)","args_html":"(approver_id : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":583,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L583"},"def":{"name":"approver_id=","args":[{"name":"approver_id","external_name":"approver_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_id = approver_id"}},{"html_id":"approver_name:String|Nil-instance-method","name":"approver_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L585"},"def":{"name":"approver_name","return_type":"String | ::Nil","visibility":"Public","body":"@approver_name"}},{"html_id":"approver_name=(approver_name:String|Nil)-instance-method","name":"approver_name=","abstract":false,"args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"args_string":"(approver_name : String | Nil)","args_html":"(approver_name : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":585,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L585"},"def":{"name":"approver_name=","args":[{"name":"approver_name","external_name":"approver_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@approver_name = approver_name"}},{"html_id":"asset_id:String-instance-method","name":"asset_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L568"},"def":{"name":"asset_id","return_type":"String","visibility":"Public","body":"@asset_id"}},{"html_id":"asset_id=(asset_id:String)-instance-method","name":"asset_id=","abstract":false,"args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"args_string":"(asset_id : String)","args_html":"(asset_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":568,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L568"},"def":{"name":"asset_id=","args":[{"name":"asset_id","external_name":"asset_id","restriction":"String"}],"visibility":"Public","body":"@asset_id = asset_id"}},{"html_id":"booked_by_email:String-instance-method","name":"booked_by_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email","return_type":"String","visibility":"Public","body":"@booked_by_email"}},{"html_id":"booked_by_email=(booked_by_email:String)-instance-method","name":"booked_by_email=","abstract":false,"args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"args_string":"(booked_by_email : String)","args_html":"(booked_by_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":588,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L588"},"def":{"name":"booked_by_email=","args":[{"name":"booked_by_email","external_name":"booked_by_email","restriction":"String"}],"visibility":"Public","body":"@booked_by_email = booked_by_email"}},{"html_id":"booked_by_id:String-instance-method","name":"booked_by_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id","return_type":"String","visibility":"Public","body":"@booked_by_id"}},{"html_id":"booked_by_id=(booked_by_id:String)-instance-method","name":"booked_by_id=","abstract":false,"args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"args_string":"(booked_by_id : String)","args_html":"(booked_by_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":587,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L587"},"def":{"name":"booked_by_id=","args":[{"name":"booked_by_id","external_name":"booked_by_id","restriction":"String"}],"visibility":"Public","body":"@booked_by_id = booked_by_id"}},{"html_id":"booked_by_name:String-instance-method","name":"booked_by_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name","return_type":"String","visibility":"Public","body":"@booked_by_name"}},{"html_id":"booked_by_name=(booked_by_name:String)-instance-method","name":"booked_by_name=","abstract":false,"args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"args_string":"(booked_by_name : String)","args_html":"(booked_by_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":589,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L589"},"def":{"name":"booked_by_name=","args":[{"name":"booked_by_name","external_name":"booked_by_name","restriction":"String"}],"visibility":"Public","body":"@booked_by_name = booked_by_name"}},{"html_id":"booking_end:Int64-instance-method","name":"booking_end","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L573"},"def":{"name":"booking_end","return_type":"Int64","visibility":"Public","body":"@booking_end"}},{"html_id":"booking_end=(booking_end:Int64)-instance-method","name":"booking_end=","abstract":false,"args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"args_string":"(booking_end : Int64)","args_html":"(booking_end : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":573,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L573"},"def":{"name":"booking_end=","args":[{"name":"booking_end","external_name":"booking_end","restriction":"Int64"}],"visibility":"Public","body":"@booking_end = booking_end"}},{"html_id":"booking_start:Int64-instance-method","name":"booking_start","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L572"},"def":{"name":"booking_start","return_type":"Int64","visibility":"Public","body":"@booking_start"}},{"html_id":"booking_start=(booking_start:Int64)-instance-method","name":"booking_start=","abstract":false,"args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"args_string":"(booking_start : Int64)","args_html":"(booking_start : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":572,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L572"},"def":{"name":"booking_start=","args":[{"name":"booking_start","external_name":"booking_start","restriction":"Int64"}],"visibility":"Public","body":"@booking_start = booking_start"}},{"html_id":"booking_type:String-instance-method","name":"booking_type","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L570"},"def":{"name":"booking_type","return_type":"String","visibility":"Public","body":"@booking_type"}},{"html_id":"booking_type=(booking_type:String)-instance-method","name":"booking_type=","abstract":false,"args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"args_string":"(booking_type : String)","args_html":"(booking_type : String)","location":{"filename":"src/place/staff_api.cr","line_number":570,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L570"},"def":{"name":"booking_type=","args":[{"name":"booking_type","external_name":"booking_type","restriction":"String"}],"visibility":"Public","body":"@booking_type = booking_type"}},{"html_id":"checked_in:Bool-instance-method","name":"checked_in","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L579"},"def":{"name":"checked_in","return_type":"Bool","visibility":"Public","body":"@checked_in"}},{"html_id":"checked_in=(checked_in:Bool)-instance-method","name":"checked_in=","abstract":false,"args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"args_string":"(checked_in : Bool)","args_html":"(checked_in : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":579,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L579"},"def":{"name":"checked_in=","args":[{"name":"checked_in","external_name":"checked_in","restriction":"Bool"}],"visibility":"Public","body":"@checked_in = checked_in"}},{"html_id":"created:Int64|Nil-instance-method","name":"created","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L593"},"def":{"name":"created","return_type":"Int64 | ::Nil","visibility":"Public","body":"@created"}},{"html_id":"created=(created:Int64|Nil)-instance-method","name":"created=","abstract":false,"args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"args_string":"(created : Int64 | Nil)","args_html":"(created : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":593,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L593"},"def":{"name":"created=","args":[{"name":"created","external_name":"created","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@created = created"}},{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L577"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"description=(description:String|Nil)-instance-method","name":"description=","abstract":false,"args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"args_string":"(description : String | Nil)","args_html":"(description : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":577,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L577"},"def":{"name":"description=","args":[{"name":"description","external_name":"description","restriction":"String | ::Nil"}],"visibility":"Public","body":"@description = description"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L563"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/staff_api.cr","line_number":563,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L563"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"last_changed:Int64|Nil-instance-method","name":"last_changed","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L592"},"def":{"name":"last_changed","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_changed"}},{"html_id":"last_changed=(last_changed:Int64|Nil)-instance-method","name":"last_changed=","abstract":false,"args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"args_string":"(last_changed : Int64 | Nil)","args_html":"(last_changed : Int64 | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":592,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L592"},"def":{"name":"last_changed=","args":[{"name":"last_changed","external_name":"last_changed","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_changed = last_changed"}},{"html_id":"process_state:String|Nil-instance-method","name":"process_state","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L591"},"def":{"name":"process_state","return_type":"String | ::Nil","visibility":"Public","body":"@process_state"}},{"html_id":"process_state=(process_state:String|Nil)-instance-method","name":"process_state=","abstract":false,"args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"args_string":"(process_state : String | Nil)","args_html":"(process_state : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":591,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L591"},"def":{"name":"process_state=","args":[{"name":"process_state","external_name":"process_state","restriction":"String | ::Nil"}],"visibility":"Public","body":"@process_state = process_state"}},{"html_id":"rejected:Bool-instance-method","name":"rejected","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L580"},"def":{"name":"rejected","return_type":"Bool","visibility":"Public","body":"@rejected"}},{"html_id":"rejected=(rejected:Bool)-instance-method","name":"rejected=","abstract":false,"args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"args_string":"(rejected : Bool)","args_html":"(rejected : Bool)","location":{"filename":"src/place/staff_api.cr","line_number":580,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L580"},"def":{"name":"rejected=","args":[{"name":"rejected","external_name":"rejected","restriction":"Bool"}],"visibility":"Public","body":"@rejected = rejected"}},{"html_id":"timezone:String|Nil-instance-method","name":"timezone","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L575"},"def":{"name":"timezone","return_type":"String | ::Nil","visibility":"Public","body":"@timezone"}},{"html_id":"timezone=(timezone:String|Nil)-instance-method","name":"timezone=","abstract":false,"args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"args_string":"(timezone : String | Nil)","args_html":"(timezone : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":575,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L575"},"def":{"name":"timezone=","args":[{"name":"timezone","external_name":"timezone","restriction":"String | ::Nil"}],"visibility":"Public","body":"@timezone = timezone"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L576"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/place/staff_api.cr","line_number":576,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L576"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L566"},"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_email=(user_email:String)-instance-method","name":"user_email=","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(user_email : String)","args_html":"(user_email : String)","location":{"filename":"src/place/staff_api.cr","line_number":566,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L566"},"def":{"name":"user_email=","args":[{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"@user_email = user_email"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L565"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/staff_api.cr","line_number":565,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L565"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L567"},"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}},{"html_id":"user_name=(user_name:String)-instance-method","name":"user_name=","abstract":false,"args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"args_string":"(user_name : String)","args_html":"(user_name : String)","location":{"filename":"src/place/staff_api.cr","line_number":567,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L567"},"def":{"name":"user_name=","args":[{"name":"user_name","external_name":"user_name","restriction":"String"}],"visibility":"Public","body":"@user_name = user_name"}},{"html_id":"zones:Array(String)-instance-method","name":"zones","abstract":false,"location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L569"},"def":{"name":"zones","return_type":"Array(String)","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String))-instance-method","name":"zones=","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"args_string":"(zones : Array(String))","args_html":"(zones : Array(String))","location":{"filename":"src/place/staff_api.cr","line_number":569,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/staff_api.cr#L569"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String)"}],"visibility":"Public","body":"@zones = zones"}}]}]},{"html_id":"drivers/Place/SurveyMailer","path":"Place/SurveyMailer.html","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L17"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L21"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@send_invites = (setting?(String, :send_invites)).presence\n@email_template = (setting?(String, :email_template)) || \"survey\"\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\nschedule.clear\nif invites = @send_invites\n schedule.cron(invites, @time_zone) do\n send_survey_emails\n end\nend\n"}},{"html_id":"send_survey_emails-instance-method","name":"send_survey_emails","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L47"},"def":{"name":"send_survey_emails","visibility":"Public","body":"invites = Array(SurveyInvite).from_json(staff_api.get_survey_invites.get.to_json)\nsent_invites : Hash(String, Array(Int64)) = {} of String => Array(Int64)\ninvites.each do |invite|\n if invite.sent\n next\n end\n begin\n if (!(sent_surveys = sent_invites[invite.email]?)) || (!(sent_surveys.includes?(invite.survey_id)))\n __temp_610 = invite.email\n sent_invites[__temp_610]? || (sent_invites[__temp_610] = [] of Int64)\n sent_invites[invite.email] << invite.survey_id\n mailer.send_template(to: invite.email, template: {@email_template, \"invite\"}, args: {email: invite.email, token: invite.token, survey_id: invite.survey_id})\n end\n staff_api.update_survey_invite(invite.token, sent: true)\n rescue error\n logger.warn(exception: error) do\n \"failed to send survey email to #{invite.email}\"\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Place/SurveyMailer/SurveyInvite","path":"Place/SurveyMailer/SurveyInvite.html","kind":"struct","full_name":"Place::SurveyMailer::SurveyInvite","name":"SurveyInvite","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L77"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/SurveyMailer","kind":"class","full_name":"Place::SurveyMailer","name":"SurveyMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/survey_mailer.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L78"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String-instance-method","name":"email","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L83"},"def":{"name":"email","return_type":"String","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String"}],"args_string":"(email : String)","args_html":"(email : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L83"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String"}],"visibility":"Public","body":"@email = email"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L80"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L80"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"sent:Bool|Nil-instance-method","name":"sent","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L84"},"def":{"name":"sent","return_type":"Bool | ::Nil","visibility":"Public","body":"@sent"}},{"html_id":"sent=(sent:Bool|Nil)-instance-method","name":"sent=","abstract":false,"args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(sent : Bool | Nil)","args_html":"(sent : Bool | Nil)","location":{"filename":"src/place/survey_mailer.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L84"},"def":{"name":"sent=","args":[{"name":"sent","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@sent = sent"}},{"html_id":"survey_id:Int64-instance-method","name":"survey_id","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id","return_type":"Int64","visibility":"Public","body":"@survey_id"}},{"html_id":"survey_id=(survey_id:Int64)-instance-method","name":"survey_id=","abstract":false,"args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"args_string":"(survey_id : Int64)","args_html":"(survey_id : Int64)","location":{"filename":"src/place/survey_mailer.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L81"},"def":{"name":"survey_id=","args":[{"name":"survey_id","external_name":"survey_id","restriction":"Int64"}],"visibility":"Public","body":"@survey_id = survey_id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L82"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/place/survey_mailer.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer.cr#L82"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]},{"html_id":"drivers/Place/Tab","path":"Place/Tab.html","kind":"class","full_name":"Place::Tab","name":"Tab","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/meet/tab.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(icon:String,name:String,inputs:Array(String),help:Nil|String=nil,controls:Nil|String=nil,merge_on_join:Bool|Nil=nil,presentation_source:Nil|String=nil,json_unmapped:Hash(String,JSON::Any)=Hash(String,JSON::Any).new)-class-method","name":"new","abstract":false,"args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"args_string":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","args_html":"(icon : String, name : String, inputs : Array(String), help : Nil | String = nil, controls : Nil | String = nil, merge_on_join : Bool | Nil = nil, presentation_source : Nil | String = nil, json_unmapped : Hash(String, JSON::Any) = Hash(String, JSON::Any).new)","location":{"filename":"src/place/meet/tab.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L7"},"def":{"name":"new","args":[{"name":"icon","external_name":"icon","restriction":"::String"},{"name":"name","external_name":"name","restriction":"::String"},{"name":"inputs","external_name":"inputs","restriction":"::Array(::String)"},{"name":"help","default_value":"nil","external_name":"help","restriction":"::Nil | ::String"},{"name":"controls","default_value":"nil","external_name":"controls","restriction":"::Nil | ::String"},{"name":"merge_on_join","default_value":"nil","external_name":"merge_on_join","restriction":"::Bool | ::Nil"},{"name":"presentation_source","default_value":"nil","external_name":"presentation_source","restriction":"::Nil | ::String"},{"name":"json_unmapped","default_value":"Hash(String, JSON::Any).new","external_name":"json_unmapped","restriction":"::Hash(::String, ::JSON::Any)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(icon, name, inputs, help, controls, merge_on_join, presentation_source, json_unmapped)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/meet/tab.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L4"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"clone:Tab-instance-method","name":"clone","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L23"},"def":{"name":"clone","return_type":"Tab","visibility":"Public","body":"Tab.new(@icon, @name, inputs.dup, @help, @controls, @merge_on_join, @presentation_source, @json_unmapped.dup)"}},{"html_id":"controls:String|Nil-instance-method","name":"controls","doc":"such as: vidconf-controls","summary":"

such as: vidconf-controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L17"},"def":{"name":"controls","return_type":"String | ::Nil","visibility":"Public","body":"@controls"}},{"html_id":"help:String|Nil-instance-method","name":"help","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L14"},"def":{"name":"help","return_type":"String | ::Nil","visibility":"Public","body":"@help"}},{"html_id":"icon:String-instance-method","name":"icon","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L10"},"def":{"name":"icon","return_type":"String","visibility":"Public","body":"@icon"}},{"html_id":"inputs:Array(String)-instance-method","name":"inputs","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L12"},"def":{"name":"inputs","return_type":"Array(String)","visibility":"Public","body":"@inputs"}},{"html_id":"merge(tab:Tab):Tab-instance-method","name":"merge","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L27"},"def":{"name":"merge","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"input = (inputs.dup.concat(tab.inputs)).uniq!\nnew_unmapped = tab.json_unmapped.merge(json_unmapped)\nTab.new(@icon, @name, input, @help, @controls, @merge_on_join, @presentation_source, new_unmapped)\n"}},{"html_id":"merge!(tab:Tab):Tab-instance-method","name":"merge!","abstract":false,"args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"args_string":"(tab : Tab) : Tab","args_html":"(tab : Tab) : Tab","location":{"filename":"src/place/meet/tab.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L33"},"def":{"name":"merge!","args":[{"name":"tab","external_name":"tab","restriction":"Tab"}],"return_type":"Tab","visibility":"Public","body":"@json_unmapped.merge!(tab.json_unmapped)\n(@inputs.concat(tab.inputs)).uniq!\nself\n"}},{"html_id":"merge_on_join:Bool|Nil-instance-method","name":"merge_on_join","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L18"},"def":{"name":"merge_on_join","return_type":"Bool | ::Nil","visibility":"Public","body":"@merge_on_join"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"presentation_source:String|Nil-instance-method","name":"presentation_source","doc":"For the VC controls","summary":"

For the VC controls

","abstract":false,"location":{"filename":"src/place/meet/tab.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/meet/tab.cr#L21"},"def":{"name":"presentation_source","return_type":"String | ::Nil","visibility":"Public","body":"@presentation_source"}}]},{"html_id":"drivers/Place/TransportAdaptor","path":"Place/TransportAdaptor.html","kind":"class","full_name":"Place::TransportAdaptor","name":"TransportAdaptor","abstract":false,"superclass":{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},"ancestors":[{"html_id":"drivers/MQTT/Transport","kind":"class","full_name":"MQTT::Transport","name":"Transport"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"constructors":[{"html_id":"new(driver:PlaceOS::Driver::Transport,queue:PlaceOS::Driver::Queue)-class-method","name":"new","abstract":false,"args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"args_string":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","args_html":"(driver : PlaceOS::Driver::Transport, queue : PlaceOS::Driver::Queue)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L4"},"def":{"name":"new","args":[{"name":"driver","external_name":"driver","restriction":"::PlaceOS::Driver::Transport"},{"name":"queue","external_name":"queue","restriction":"::PlaceOS::Driver::Queue"}],"visibility":"Public","body":"_ = allocate\n_.initialize(driver, queue)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"close!:Nil-instance-method","name":"close!","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L11"},"def":{"name":"close!","return_type":"Nil","visibility":"Public","body":"@driver.disconnect"}},{"html_id":"closed?:Bool-instance-method","name":"closed?","abstract":false,"location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L15"},"def":{"name":"closed?","return_type":"Bool","visibility":"Public","body":"!@queue.online"}},{"html_id":"process(data:Bytes)-instance-method","name":"process","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(data : Bytes)","args_html":"(data : Bytes)","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L23"},"def":{"name":"process","args":[{"name":"data","external_name":"data","restriction":"Bytes"}],"visibility":"Public","body":"(@tokenizer.extract(data)).each do |bytes|\n spawn do\n @on_message.try(&.call(bytes))\n end\nend"}},{"html_id":"send(message):Nil-instance-method","name":"send","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message) : Nil","args_html":"(message) : Nil","location":{"filename":"src/place/mqtt_transport_adaptor.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/mqtt_transport_adaptor.cr#L19"},"def":{"name":"send","args":[{"name":"message","external_name":"message","restriction":""}],"return_type":"Nil","visibility":"Public","body":"@driver.send(message)"}}]},{"html_id":"drivers/Place/UserGroupMappings","path":"Place/UserGroupMappings.html","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"check_user(id:String):Nil-instance-method","name":"check_user","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String) : Nil","args_html":"(id : String) : Nil","location":{"filename":"src/place/user_group_mappings.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L88"},"def":{"name":"check_user","args":[{"name":"id","external_name":"id","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"checking groups of: #{id}\"\nend\nuser_json = (staff_api.user(id)).get\nsync_user(user_json)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L48"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"auth/login\") do |_subscription, payload|\n new_user_login(payload)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L62"},"def":{"name":"on_update","visibility":"Public","body":"@group_mappings = (setting?(Hash(String, Mapping), :group_mappings)) || ({} of String => Mapping)\n@group_prefixes = (setting?(Hash(String, Prefix), :group_prefix)) || ({} of String => Prefix)\n@group_prefixes = @group_prefixes.transform_keys(&.downcase)\n@authority_id = (setting?(String, :authority_id)) || \"authority-12345\"\n"}},{"html_id":"sync_all_users-instance-method","name":"sync_all_users","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L134"},"def":{"name":"sync_all_users","visibility":"Public","body":"begin\n if @syncing\n return \"currently syncing\"\n end\n @syncing = true\n limit = 100\n offset = 0\n issues_with = [] of String\n loop do\n users = staff_api.query_users(limit: limit, offset: offset, authority_id: @authority_id).get.as_a\n logger.debug do\n \"syncing users #{offset}->#{offset + limit}...\"\n end\n users.each do |user|\n begin\n sync_user(user)\n sleep(50.milliseconds)\n rescue error\n issues_with << user[\"email\"].as_s\n end\n end\n if users.size < limit\n break\n end\n offset = offset + limit\n end\n logger.debug do\n \"sync complete! issues with #{issues_with.size}:\\n#{issues_with}\"\n end\n issues_with\nensure\n @syncing = false\nend"}}],"types":[{"html_id":"drivers/Place/UserGroupMappings/Mapping","path":"Place/UserGroupMappings/Mapping.html","kind":"alias","full_name":"Place::UserGroupMappings::Mapping","name":"Mapping","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L53"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(place_id: String)","aliased_html":"{place_id: String}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/Prefix","path":"Place/UserGroupMappings/Prefix.html","kind":"alias","full_name":"Place::UserGroupMappings::Prefix","name":"Prefix","abstract":false,"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L54"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(strip_prefix: Bool | Nil, place_id: String | Nil)","aliased_html":"{strip_prefix: Bool?, place_id: String?}","const":false,"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"}},{"html_id":"drivers/Place/UserGroupMappings/UserLogin","path":"Place/UserGroupMappings/UserLogin.html","kind":"class","full_name":"Place::UserGroupMappings::UserLogin","name":"UserLogin","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/user_group_mappings.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/UserGroupMappings","kind":"class","full_name":"Place::UserGroupMappings","name":"UserGroupMappings"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/user_group_mappings.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"provider:String-instance-method","name":"provider","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider","return_type":"String","visibility":"Public","body":"@provider"}},{"html_id":"provider=(provider:String)-instance-method","name":"provider=","abstract":false,"args":[{"name":"provider","external_name":"provider","restriction":"String"}],"args_string":"(provider : String)","args_html":"(provider : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L45"},"def":{"name":"provider=","args":[{"name":"provider","external_name":"provider","restriction":"String"}],"visibility":"Public","body":"@provider = provider"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}},{"html_id":"user_id=(user_id:String)-instance-method","name":"user_id=","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/place/user_group_mappings.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/user_group_mappings.cr#L44"},"def":{"name":"user_id=","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"@user_id = user_id"}}]}]},{"html_id":"drivers/Place/VisitorMailer","path":"Place/VisitorMailer.html","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"},"instance_methods":[{"html_id":"building_zone:ZoneDetails-instance-method","name":"building_zone","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L71"},"def":{"name":"building_zone","return_type":"ZoneDetails","visibility":"Public","body":"if (value = @building_zone).nil?\n ::raise(NilAssertionError.new(\"Place::VisitorMailer#building_zone cannot be nil\"))\nelse\n value\nend"}},{"html_id":"building_zone?:ZoneDetails|Nil-instance-method","name":"building_zone?","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L71"},"def":{"name":"building_zone?","return_type":"ZoneDetails | ::Nil","visibility":"Public","body":"@building_zone"}},{"html_id":"create_network_user(user_email:String,password:String,group_ids:Array(String)=[]ofString)-instance-method","name":"create_network_user","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":411,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L411"},"def":{"name":"create_network_user","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"group_ids","default_value":"[] of String","external_name":"group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"response = network_provider.create_internal_user(email: user_email, name: user_email, password: password, identity_groups: group_ids).get\nif @debug\n logger.debug do\n \"Response from Network Identity provider for creating user #{user_email} was:\\n #{response}\\n\\nDetails:\\n#{response.inspect}\"\n end\nend\n{response[\"name\"], password}\n"}},{"html_id":"mailer-instance-method","name":"mailer","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L41"},"def":{"name":"mailer","visibility":"Public","body":"(system.implementing(Interface::Mailer))[0]"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L45"},"def":{"name":"on_load","visibility":"Public","body":"monitor(\"staff/guest/attending\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\nmonitor(\"staff/guest/checkin\") do |_subscription, payload|\n guest_event(payload.gsub(/[^[:print:]]/, \"\"))\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L87"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting?(Bool, :debug)) || true\n@date_time_format = (setting?(String, :date_time_format)) || \"%c\"\n@time_format = (setting?(String, :time_format)) || \"%l:%M%p\"\n@date_format = (setting?(String, :date_format)) || \"%A, %-d %B\"\n@send_reminders = (setting?(String, :send_reminders)).presence\n@reminder_template = (setting?(String, :reminder_template)) || \"visitor\"\n@event_template = (setting?(String, :event_template)) || \"event\"\n@booking_template = (setting?(String, :booking_template)) || \"booking\"\n@disable_qr_code = (setting?(Bool, :disable_qr_code)) || false\n@send_network_credentials = (setting?(Bool, :send_network_credentials)) || false\n@network_password_length = (setting?(Int32, :password_length)) || DEFAULT_PASSWORD_LENGTH\n@network_password_exclude = (setting?(String, :password_exclude)) || DEFAULT_PASSWORD_EXCLUDE\n@network_password_minimum_lowercase = (setting?(Int32, :password_minimum_lowercase)) || DEFAULT_PASSWORD_MINIMUM_LOWERCASE\n@network_password_minimum_uppercase = (setting?(Int32, :password_minimum_uppercase)) || DEFAULT_PASSWORD_MINIMUM_UPPERCASE\n@network_password_minimum_numbers = (setting?(Int32, :password_minimum_numbers)) || DEFAULT_PASSWORD_MINIMUM_NUMBERS\n@network_password_minimum_symbols = (setting?(Int32, :password_minimum_symbols)) || DEFAULT_PASSWORD_MINIMUM_SYMBOLS\n@network_group_ids = (setting?(Array(String), :network_group_ids)) || ([] of String)\n@host_domain_filter = (setting?(Array(String), :host_domain_filter)) || ([] of String)\ntime_zone = (setting?(String, :timezone)).presence || \"GMT\"\n@time_zone = Time::Location.load(time_zone)\n@booking_space_name = (setting?(String, :booking_space_name)).presence || \"Client Floor\"\nzones = config.control_system.not_nil!.zones\nschedule.clear\nif reminders = @send_reminders\n schedule.cron(reminders, @time_zone) do\n send_reminder_emails\n end\nend\nspawn(same_thread: true) do\n find_building(zones)\nend\n"}},{"html_id":"send_reminder_emails-instance-method","name":"send_reminder_emails","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L310"},"def":{"name":"send_reminder_emails","visibility":"Public","body":"now = 1.hour.ago.to_unix\nlater = 12.hours.from_now.to_unix\nguests = staff_api.query_guests(period_start: now, period_end: later, zones: {building_zone.id}).get.as_a\nguests.uniq! do |g|\n g[\"email\"].as_s.downcase\nend\nguests.each do |guest|\n begin\n if event = guest[\"event\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, event[\"host\"].as_s, event[\"title\"].as_s, event[\"event_start\"].as_i64, (event.dig(\"system\", \"id\")).as_s, event[\"id\"].as_s, ((event.dig?(\"system\", \"display_name\")) || (event.dig(\"system\", \"name\"))).as_s, event_end: event[\"event_end\"].as_i64)\n else\n if booking = guest[\"booking\"]?\n send_visitor_qr_email(@reminder_template, guest[\"email\"].as_s, guest[\"name\"].as_s?, booking[\"user_email\"].as_s, booking[\"title\"].as_s?, booking[\"booking_start\"].as_i64, booking[\"asset_id\"].as_s, booking[\"id\"].as_i64.to_s, @booking_space_name, event_end: booking[\"booking_end\"].as_i64)\n end\n end\n rescue error\n logger.warn(exception: error) do\n \"failed to send reminder email to #{guest[\"email\"]}\"\n end\n end\nend\n"}},{"html_id":"send_visitor_qr_email(template:String,visitor_email:String,visitor_name:String|Nil,host_email:String|Nil,event_title:String|Nil,event_start:Int64,resource_id:String,event_id:String,area_name:String,event_end:Int64|Nil=nil)-instance-method","name":"send_visitor_qr_email","abstract":false,"args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"args_string":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","args_html":"(template : String, visitor_email : String, visitor_name : String | Nil, host_email : String | Nil, event_title : String | Nil, event_start : Int64, resource_id : String, event_id : String, area_name : String, event_end : Int64 | Nil = nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L239"},"def":{"name":"send_visitor_qr_email","args":[{"name":"template","external_name":"template","restriction":"String"},{"name":"visitor_email","external_name":"visitor_email","restriction":"String"},{"name":"visitor_name","external_name":"visitor_name","restriction":"String | ::Nil"},{"name":"host_email","external_name":"host_email","restriction":"String | ::Nil"},{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"},{"name":"event_start","external_name":"event_start","restriction":"Int64"},{"name":"resource_id","external_name":"resource_id","restriction":"String"},{"name":"event_id","external_name":"event_id","restriction":"String"},{"name":"area_name","external_name":"area_name","restriction":"String"},{"name":"event_end","default_value":"nil","external_name":"event_end","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"local_start_time = (Time.unix(event_start)).in(@time_zone)\nattach = if @disable_qr_code\n [] of NamedTuple(file_name: String, content: String, content_id: String)\nelse\n qr_png = mailer.generate_png_qrcode(text: \"VISIT:#{visitor_email},#{resource_id},#{event_id},#{host_email}\", size: 256).get.as_s\n [{file_name: \"qr.png\", content: qr_png, content_id: visitor_email}]\nend\nnetwork_username = network_password = \"\"\nif @send_network_credentials\n network_username, network_password = update_network_user_password(visitor_email, generate_password(length: @network_password_length, exclude: @network_password_exclude, minimum_lowercase: @network_password_minimum_lowercase, minimum_uppercase: @network_password_minimum_uppercase, minimum_numbers: @network_password_minimum_numbers, minimum_symbols: @network_password_minimum_symbols), @network_group_ids)\nend\nevent_time = if (end_timestamp = event_end) && (((Time.unix(end_timestamp)) - (Time.unix(event_start))) == 24.hours)\n \"all day\"\nelse\n local_start_time.to_s(@time_format)\nend\nmailer.send_template(visitor_email, {\"visitor_invited\", template}, {visitor_email: visitor_email, visitor_name: visitor_name, host_name: get_host_name(host_email), host_email: host_email, room_name: area_name, building_name: building_zone.display_name.presence || building_zone.name, event_title: event_title, event_start: local_start_time.to_s(@time_format), event_date: local_start_time.to_s(@date_format), event_time: event_time, network_username: network_username, network_password: network_password}, attach)\n"}},{"html_id":"update_network_user_password(user_email:String,password:String,network_group_ids:Array(String)=[]ofString)-instance-method","name":"update_network_user_password","abstract":false,"args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"args_string":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","args_html":"(user_email : String, password : String, network_group_ids : Array(String) = [] of String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":400,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L400"},"def":{"name":"update_network_user_password","args":[{"name":"user_email","external_name":"user_email","restriction":"String"},{"name":"password","external_name":"password","restriction":"String"},{"name":"network_group_ids","default_value":"[] of String","external_name":"network_group_ids","restriction":"Array(String)"}],"visibility":"Public","body":"begin\n response = (network_provider.update_internal_user_password_by_name(user_email, password)).get\n if @debug\n logger.debug do\n \"Response from Network Identity provider for lookup of #{user_email} was:\\n#{response}\"\n end\n end\nrescue\n create_network_user(user_email, password, network_group_ids)\nelse\n {user_email, password}\nend"}}],"types":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","path":"Place/VisitorMailer/BookingGuest.html","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L171"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L172"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"booking_id:Int64-instance-method","name":"booking_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L174"},"def":{"name":"booking_id","return_type":"Int64","visibility":"Public","body":"@booking_id"}},{"html_id":"booking_id=(booking_id:Int64)-instance-method","name":"booking_id=","abstract":false,"args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"args_string":"(booking_id : Int64)","args_html":"(booking_id : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L174"},"def":{"name":"booking_id=","args":[{"name":"booking_id","external_name":"booking_id","restriction":"Int64"}],"visibility":"Public","body":"@booking_id = booking_id"}},{"html_id":"event_id-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L177"},"def":{"name":"event_id","visibility":"Public","body":"booking_id.to_s"}},{"html_id":"resource_id:String-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L175"},"def":{"name":"resource_id","return_type":"String","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:String)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"args_string":"(resource_id : String)","args_html":"(resource_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L175"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"String"}],"visibility":"Public","body":"@resource_id = resource_id"}}]},{"html_id":"drivers/Place/VisitorMailer/EventGuest","path":"Place/VisitorMailer/EventGuest.html","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest","abstract":false,"superclass":{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L159"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L160"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_id:String-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L163"},"def":{"name":"event_id","return_type":"String","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:String)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"args_string":"(event_id : String)","args_html":"(event_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L163"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"String"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"resource:String-instance-method","name":"resource","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L164"},"def":{"name":"resource","return_type":"String","visibility":"Public","body":"@resource"}},{"html_id":"resource=(resource:String)-instance-method","name":"resource=","abstract":false,"args":[{"name":"resource","external_name":"resource","restriction":"String"}],"args_string":"(resource : String)","args_html":"(resource : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L164"},"def":{"name":"resource=","args":[{"name":"resource","external_name":"resource","restriction":"String"}],"visibility":"Public","body":"@resource = resource"}},{"html_id":"resource_id-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L166"},"def":{"name":"resource_id","visibility":"Public","body":"system_id"}},{"html_id":"system_id:String-instance-method","name":"system_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L162"},"def":{"name":"system_id","return_type":"String","visibility":"Public","body":"@system_id"}},{"html_id":"system_id=(system_id:String)-instance-method","name":"system_id=","abstract":false,"args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"args_string":"(system_id : String)","args_html":"(system_id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L162"},"def":{"name":"system_id=","args":[{"name":"system_id","external_name":"system_id","restriction":"String"}],"visibility":"Public","body":"@system_id = system_id"}}]},{"html_id":"drivers/Place/VisitorMailer/GuestNotification","path":"Place/VisitorMailer/GuestNotification.html","kind":"class","full_name":"Place::VisitorMailer::GuestNotification","name":"GuestNotification","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L134"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/Place/VisitorMailer/BookingGuest","kind":"class","full_name":"Place::VisitorMailer::BookingGuest","name":"BookingGuest"},{"html_id":"drivers/Place/VisitorMailer/EventGuest","kind":"class","full_name":"Place::VisitorMailer::EventGuest","name":"EventGuest"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L137"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"action\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'action' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'action'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"booking_created\"\n BookingGuest.from_json(json)\nwhen \"booking_updated\"\n BookingGuest.from_json(json)\nwhen \"meeting_created\"\n EventGuest.from_json(json)\nwhen \"meeting_update\"\n EventGuest.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'action' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L144"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"action=(action:String)-instance-method","name":"action=","abstract":false,"args":[{"name":"action","external_name":"action","restriction":"String"}],"args_string":"(action : String)","args_html":"(action : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L144"},"def":{"name":"action=","args":[{"name":"action","external_name":"action","restriction":"String"}],"visibility":"Public","body":"@action = action"}},{"html_id":"attendee_email:String-instance-method","name":"attendee_email","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L150"},"def":{"name":"attendee_email","return_type":"String","visibility":"Public","body":"@attendee_email"}},{"html_id":"attendee_email=(attendee_email:String)-instance-method","name":"attendee_email=","abstract":false,"args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"args_string":"(attendee_email : String)","args_html":"(attendee_email : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L150"},"def":{"name":"attendee_email=","args":[{"name":"attendee_email","external_name":"attendee_email","restriction":"String"}],"visibility":"Public","body":"@attendee_email = attendee_email"}},{"html_id":"attendee_name:String|Nil-instance-method","name":"attendee_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L149"},"def":{"name":"attendee_name","return_type":"String | ::Nil","visibility":"Public","body":"@attendee_name"}},{"html_id":"attendee_name=(attendee_name:String|Nil)-instance-method","name":"attendee_name=","abstract":false,"args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"args_string":"(attendee_name : String | Nil)","args_html":"(attendee_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L149"},"def":{"name":"attendee_name=","args":[{"name":"attendee_name","external_name":"attendee_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attendee_name = attendee_name"}},{"html_id":"checkin:Bool|Nil-instance-method","name":"checkin","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L146"},"def":{"name":"checkin","return_type":"Bool | ::Nil","visibility":"Public","body":"@checkin"}},{"html_id":"checkin=(checkin:Bool|Nil)-instance-method","name":"checkin=","abstract":false,"args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"args_string":"(checkin : Bool | Nil)","args_html":"(checkin : Bool | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L146"},"def":{"name":"checkin=","args":[{"name":"checkin","external_name":"checkin","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@checkin = checkin"}},{"html_id":"event_starting:Int64-instance-method","name":"event_starting","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L148"},"def":{"name":"event_starting","return_type":"Int64","visibility":"Public","body":"@event_starting"}},{"html_id":"event_starting=(event_starting:Int64)-instance-method","name":"event_starting=","abstract":false,"args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"args_string":"(event_starting : Int64)","args_html":"(event_starting : Int64)","location":{"filename":"src/place/visitor_mailer.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L148"},"def":{"name":"event_starting=","args":[{"name":"event_starting","external_name":"event_starting","restriction":"Int64"}],"visibility":"Public","body":"@event_starting = event_starting"}},{"html_id":"event_summary:String-instance-method","name":"event_summary","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L147"},"def":{"name":"event_summary","return_type":"String","visibility":"Public","body":"@event_summary"}},{"html_id":"event_summary=(event_summary:String)-instance-method","name":"event_summary=","abstract":false,"args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"args_string":"(event_summary : String)","args_html":"(event_summary : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L147"},"def":{"name":"event_summary=","args":[{"name":"event_summary","external_name":"event_summary","restriction":"String"}],"visibility":"Public","body":"@event_summary = event_summary"}},{"html_id":"ext_data:Hash(String,JSON::Any)|Nil-instance-method","name":"ext_data","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L156"},"def":{"name":"ext_data","return_type":"Hash(String, JSON::Any) | ::Nil","visibility":"Public","body":"@ext_data"}},{"html_id":"ext_data=(ext_data:Hash(String,JSON::Any)|Nil)-instance-method","name":"ext_data=","abstract":false,"args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"args_string":"(ext_data : Hash(String, JSON::Any) | Nil)","args_html":"(ext_data : Hash(String, JSON::Any) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L156"},"def":{"name":"ext_data=","args":[{"name":"ext_data","external_name":"ext_data","restriction":"Hash(String, JSON::Any) | ::Nil"}],"visibility":"Public","body":"@ext_data = ext_data"}},{"html_id":"host:String-instance-method","name":"host","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L151"},"def":{"name":"host","return_type":"String","visibility":"Public","body":"@host"}},{"html_id":"host=(host:String)-instance-method","name":"host=","abstract":false,"args":[{"name":"host","external_name":"host","restriction":"String"}],"args_string":"(host : String)","args_html":"(host : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L151"},"def":{"name":"host=","args":[{"name":"host","external_name":"host","restriction":"String"}],"visibility":"Public","body":"@host = host"}},{"html_id":"zones:Array(String)|Nil-instance-method","name":"zones","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L154"},"def":{"name":"zones","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@zones"}},{"html_id":"zones=(zones:Array(String)|Nil)-instance-method","name":"zones=","doc":"This is optional for backwards compatibility","summary":"

This is optional for backwards compatibility

","abstract":false,"args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"args_string":"(zones : Array(String) | Nil)","args_html":"(zones : Array(String) | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L154"},"def":{"name":"zones=","args":[{"name":"zones","external_name":"zones","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"@zones = zones"}}]},{"html_id":"drivers/Place/VisitorMailer/SystemDetails","path":"Place/VisitorMailer/SystemDetails.html","kind":"class","full_name":"Place::VisitorMailer::SystemDetails","name":"SystemDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":370,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L370"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L371"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L375"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L375"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L373"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":373,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L373"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"map_id:String|Nil-instance-method","name":"map_id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L376"},"def":{"name":"map_id","return_type":"String | ::Nil","visibility":"Public","body":"@map_id"}},{"html_id":"map_id=(map_id:String|Nil)-instance-method","name":"map_id=","abstract":false,"args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"args_string":"(map_id : String | Nil)","args_html":"(map_id : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L376"},"def":{"name":"map_id=","args":[{"name":"map_id","external_name":"map_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@map_id = map_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L374"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":374,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L374"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Place/VisitorMailer/ZoneDetails","path":"Place/VisitorMailer/ZoneDetails.html","kind":"class","full_name":"Place::VisitorMailer::ZoneDetails","name":"ZoneDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/visitor_mailer.cr","line_number":360,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L360"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Place/VisitorMailer","kind":"class","full_name":"Place::VisitorMailer","name":"VisitorMailer"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/place/visitor_mailer.cr","line_number":361,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L361"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"display_name:String|Nil-instance-method","name":"display_name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L365"},"def":{"name":"display_name","return_type":"String | ::Nil","visibility":"Public","body":"@display_name"}},{"html_id":"display_name=(display_name:String|Nil)-instance-method","name":"display_name=","abstract":false,"args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"args_string":"(display_name : String | Nil)","args_html":"(display_name : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":365,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L365"},"def":{"name":"display_name=","args":[{"name":"display_name","external_name":"display_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@display_name = display_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L363"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":363,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L363"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:String|Nil-instance-method","name":"location","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L366"},"def":{"name":"location","return_type":"String | ::Nil","visibility":"Public","body":"@location"}},{"html_id":"location=(location:String|Nil)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(location : String | Nil)","args_html":"(location : String | Nil)","location":{"filename":"src/place/visitor_mailer.cr","line_number":366,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L366"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L364"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/place/visitor_mailer.cr","line_number":364,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L364"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"tags:Array(String)-instance-method","name":"tags","abstract":false,"location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L367"},"def":{"name":"tags","return_type":"Array(String)","visibility":"Public","body":"@tags"}},{"html_id":"tags=(tags:Array(String))-instance-method","name":"tags=","abstract":false,"args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"args_string":"(tags : Array(String))","args_html":"(tags : Array(String))","location":{"filename":"src/place/visitor_mailer.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/visitor_mailer.cr#L367"},"def":{"name":"tags=","args":[{"name":"tags","external_name":"tags","restriction":"Array(String)"}],"visibility":"Public","body":"@tags = tags"}}]}]},{"html_id":"drivers/Place/WorkspaceAPI","path":"Place/WorkspaceAPI.html","kind":"class","full_name":"Place::WorkspaceAPI","name":"WorkspaceAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"},{"html_id":"drivers/PlaceOS/Driver/Interface/Mailer","kind":"module","full_name":"PlaceOS::Driver::Interface::Mailer","name":"Mailer"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/google/workspace_api.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/google/workspace_api.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/Place/CalendarCommon","kind":"module","full_name":"Place::CalendarCommon","name":"CalendarCommon"}],"namespace":{"html_id":"drivers/Place","kind":"module","full_name":"Place","name":"Place"}}]},{"html_id":"drivers/Point","path":"Point.html","kind":"struct","full_name":"Point","name":"Point","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(x:Float64,y:Float64)-class-method","name":"new","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(x : Float64, y : Float64)","args_html":"(x : Float64, y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L19"},"def":{"name":"new","args":[{"name":"x","external_name":"x","restriction":"Float64"},{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"_ = allocate\n_.initialize(x, y)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"distance_to(point:Point)-instance-method","name":"distance_to","doc":"pythagoras","summary":"

pythagoras

","abstract":false,"args":[{"name":"point","external_name":"point","restriction":"Point"}],"args_string":"(point : Point)","args_html":"(point : Point)","location":{"filename":"src/place/area_polygon.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L26"},"def":{"name":"distance_to","args":[{"name":"point","external_name":"point","restriction":"Point"}],"visibility":"Public","body":"a = point.x - @x\nb = point.y - @y\nMath.sqrt((a * a) + (b * b))\n"}},{"html_id":"x:Float64-instance-method","name":"x","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L22"},"def":{"name":"x","return_type":"Float64","visibility":"Public","body":"@x"}},{"html_id":"x=(x:Float64)-instance-method","name":"x=","abstract":false,"args":[{"name":"x","external_name":"x","restriction":"Float64"}],"args_string":"(x : Float64)","args_html":"(x : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L22"},"def":{"name":"x=","args":[{"name":"x","external_name":"x","restriction":"Float64"}],"visibility":"Public","body":"@x = x"}},{"html_id":"y:Float64-instance-method","name":"y","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L23"},"def":{"name":"y","return_type":"Float64","visibility":"Public","body":"@y"}},{"html_id":"y=(y:Float64)-instance-method","name":"y=","abstract":false,"args":[{"name":"y","external_name":"y","restriction":"Float64"}],"args_string":"(y : Float64)","args_html":"(y : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L23"},"def":{"name":"y=","args":[{"name":"y","external_name":"y","restriction":"Float64"}],"visibility":"Public","body":"@y = y"}}]},{"html_id":"drivers/PointGrab","path":"PointGrab.html","kind":"module","full_name":"PointGrab","name":"PointGrab","abstract":false,"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/PointGrab/CogniPoint","path":"PointGrab/CogniPoint.html","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/PointGrab","kind":"module","full_name":"PointGrab","name":"PointGrab"},"instance_methods":[{"html_id":"area(site_id:String,building_id:String,floor_id:String,area_id:String)-instance-method","name":"area","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String, area_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String, area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":263,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L263"},"def":{"name":"area","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"},{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas/#{area_id}\", Area)"}},{"html_id":"areas(site_id:String,building_id:String,floor_id:String)-instance-method","name":"areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":257,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L257"},"def":{"name":"areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"areas = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}/areas\", NamedTuple(areas: Array(Area)))\nareas[:areas]\n"}},{"html_id":"building(site_id:String,building_id:String)-instance-method","name":"building","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L168"},"def":{"name":"building","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}\", Building)"}},{"html_id":"building_areas(site_id:String,building_id:String)-instance-method","name":"building_areas","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L251"},"def":{"name":"building_areas","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/areas\", NamedTuple(floorsAreas: FloorAreas))\nfloors[:floorsAreas]\n"}},{"html_id":"buildings(site_id:String)-instance-method","name":"buildings","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L163"},"def":{"name":"buildings","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"buildings = get_request(\"/be/cp/v2/sites/#{site_id}/buildings\", NamedTuple(buildings: Array(Building)))\nbuildings[:buildings]\n"}},{"html_id":"customers-instance-method","name":"customers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L93"},"def":{"name":"customers","visibility":"Public","body":"customers = get_request(\"/be/cp/v2/customers\", NamedTuple(endCustomers: Array(Customer)))\ncustomers[:endCustomers]\n"}},{"html_id":"delete_subscription(id:String)-instance-method","name":"delete_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":342,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L342"},"def":{"name":"delete_subscription","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"token = get_token\n(delete(\"/be/cp/v2/telemetry/subscriptions/#{id}\", headers: {\"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}},{"html_id":"expire_token!-instance-method","name":"expire_token!","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L38"},"def":{"name":"expire_token!","visibility":"Public","body":"@auth_expiry = 1.minute.ago"}},{"html_id":"floor(site_id:String,building_id:String,floor_id:String)-instance-method","name":"floor","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String, floor_id : String)","args_html":"(site_id : String, building_id : String, floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L198"},"def":{"name":"floor","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"},{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors/#{floor_id}\", Floor)"}},{"html_id":"floors(site_id:String,building_id:String)-instance-method","name":"floors","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"args_string":"(site_id : String, building_id : String)","args_html":"(site_id : String, building_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L193"},"def":{"name":"floors","args":[{"name":"site_id","external_name":"site_id","restriction":"String"},{"name":"building_id","external_name":"building_id","restriction":"String"}],"visibility":"Public","body":"floors = get_request(\"/be/cp/v2/sites/#{site_id}/buildings/#{building_id}/floors\", NamedTuple(floors: Array(Building)))\nfloors[:floors]\n"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L46"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nresponse = post(\"/be/cp/oauth2/token\", body: \"grant_type=client_credentials\", headers: {\"Content-Type\" => \"application/x-www-form-urlencoded\", \"Accept\" => \"application/json\", \"Authorization\" => \"Basic #{Base64.strict_encode(\"#{@user_id}:#{@app_key}\")}\"})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n resp = TokenResponse.from_json(body.not_nil!)\n token = resp.token\n @auth_expiry = Time.utc + (resp.expires_in - 5).seconds\n @auth_token = \"Bearer #{resp.token}\"\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"handlers-instance-method","name":"handlers","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":280,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L280"},"def":{"name":"handlers","visibility":"Public","body":"handlers = get_request(\"/be/cp/v2/resources/handlers\", NamedTuple(handlers: Array(Handler)))\nhandlers[:handlers]\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@user_id = setting(String, :user_id)\n@app_key = setting(String, :app_key)\n"}},{"html_id":"site(site_id:String)-instance-method","name":"site","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L147"},"def":{"name":"site","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"get_request(\"/be/cp/v2/sites/#{site_id}\", Site)"}},{"html_id":"sites-instance-method","name":"sites","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L142"},"def":{"name":"sites","visibility":"Public","body":"sites = get_request(\"/be/cp/v2/sites\", NamedTuple(sites: Array(Site)))\nsites[:sites]\n"}},{"html_id":"subscribe(handler_uri:String,auth_token:String=UUID.random.to_s,events:NotificationType=NotificationType::Counting)-instance-method","name":"subscribe","abstract":false,"args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"args_string":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","args_html":"(handler_uri : String, auth_token : String = UUID.random.to_s, events : NotificationType = NotificationType::Counting)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L307"},"def":{"name":"subscribe","args":[{"name":"handler_uri","external_name":"handler_uri","restriction":"String"},{"name":"auth_token","default_value":"UUID.random.to_s","external_name":"auth_token","restriction":"String"},{"name":"events","default_value":"NotificationType::Counting","external_name":"events","restriction":"NotificationType"}],"visibility":"Public","body":"URI.parse(handler_uri)\ntoken = get_token\nresponse = post(\"/be/cp/v2/telemetry/subscriptions\", body: {subscriptionType: \"PUSH\", notificationType: events.to_s.upcase, endpoint: handler_uri, token: auth_token}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})\nbody = response.body\nlogger.debug do\n \"received login response: #{body}\"\nend\nif response.success?\n Subscription.from_json(body.not_nil!)\nelse\n logger.error do\n \"authentication failed with HTTP #{response.status_code}\"\n end\n raise(\"failed to obtain access token\")\nend\n"}},{"html_id":"subscriptions-instance-method","name":"subscriptions","doc":"provides access to the modules subscriptions tracker","summary":"

provides access to the modules subscriptions tracker

","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":338,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L338"},"def":{"name":"subscriptions","visibility":"Public","body":"get_request(\"/be/cp/v2/telemetry/subscriptions\", Array(Subscription))"}},{"html_id":"token_expired?-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L42"},"def":{"name":"token_expired?","visibility":"Public","body":"@auth_expiry < Time.utc"}},{"html_id":"update_count(count_json:String)-instance-method","name":"update_count","abstract":false,"args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"args_string":"(count_json : String)","args_html":"(count_json : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":380,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L380"},"def":{"name":"update_count","args":[{"name":"count_json","external_name":"count_json","restriction":"String"}],"visibility":"Public","body":"count = CountUpdate.from_json(count_json)\nself[\"area_#{count.area_id}\"] = count.count\n"}},{"html_id":"update_subscription(id:String,started:Bool=true)-instance-method","name":"update_subscription","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"args_string":"(id : String, started : Bool = true)","args_html":"(id : String, started : Bool = true)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":352,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L352"},"def":{"name":"update_subscription","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"started","default_value":"true","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"token = get_token\n(patch(\"/be/cp/v2/telemetry/subscriptions/#{id}\", body: {started: started}.to_json, headers: {\"Content-Type\" => \"application/json\", \"Accept\" => \"application/json\", \"Authorization\" => token})).success?\n"}}],"macros":[{"html_id":"get_request(path,result_type)-macro","name":"get_request","abstract":false,"args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"args_string":"(path, result_type)","args_html":"(path, result_type)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L69"},"def":{"name":"get_request","args":[{"name":"path","external_name":"path","restriction":""},{"name":"result_type","external_name":"result_type","restriction":""}],"visibility":"Public","body":" begin\n \n%token\n = get_token\n \n%response\n = get(\n{{ path }}\n, headers: \n{\n \"Accept\" => \"application/json\",\n \"Authorization\" => \n%token\n\n })\n\n if \n%response\n.success?\n \n{{ result_type }}\n.from_json(\n%response\n.body.not_nil!)\n \nelse\n \nexpire_token! if \n%response\n.status_code == 401\n raise \"unexpected response #{\n%response\n.status_code}\\n#{\n%response\n.body}\"\n \nend\n \nend\n \n"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area","path":"PointGrab/CogniPoint/Area.html","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L202"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L203"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"applications:Array(Application)-instance-method","name":"applications","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications","return_type":"Array(Application)","visibility":"Public","body":"@applications"}},{"html_id":"applications=(applications:Array(Application))-instance-method","name":"applications=","abstract":false,"args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"args_string":"(applications : Array(Application))","args_html":"(applications : Array(Application))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L232"},"def":{"name":"applications=","args":[{"name":"applications","external_name":"applications","restriction":"Array(Application)"}],"visibility":"Public","body":"@applications = applications"}},{"html_id":"center_x:Float64-instance-method","name":"center_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x","return_type":"Float64","visibility":"Public","body":"@center_x"}},{"html_id":"center_x=(center_x:Float64)-instance-method","name":"center_x=","abstract":false,"args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"args_string":"(center_x : Float64)","args_html":"(center_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L211"},"def":{"name":"center_x=","args":[{"name":"center_x","external_name":"center_x","restriction":"Float64"}],"visibility":"Public","body":"@center_x = center_x"}},{"html_id":"center_y:Float64-instance-method","name":"center_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y","return_type":"Float64","visibility":"Public","body":"@center_y"}},{"html_id":"center_y=(center_y:Float64)-instance-method","name":"center_y=","abstract":false,"args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"args_string":"(center_y : Float64)","args_html":"(center_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L214"},"def":{"name":"center_y=","args":[{"name":"center_y","external_name":"center_y","restriction":"Float64"}],"visibility":"Public","body":"@center_y = center_y"}},{"html_id":"device_ids:Array(String)-instance-method","name":"device_ids","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids","return_type":"Array(String)","visibility":"Public","body":"@device_ids"}},{"html_id":"device_ids=(device_ids:Array(String))-instance-method","name":"device_ids=","abstract":false,"args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"args_string":"(device_ids : Array(String))","args_html":"(device_ids : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L220"},"def":{"name":"device_ids=","args":[{"name":"device_ids","external_name":"device_ids","restriction":"Array(String)"}],"visibility":"Public","body":"@device_ids = device_ids"}},{"html_id":"frequency:Int32-instance-method","name":"frequency","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency","return_type":"Int32","visibility":"Public","body":"@frequency"}},{"html_id":"frequency=(frequency:Int32)-instance-method","name":"frequency=","abstract":false,"args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"args_string":"(frequency : Int32)","args_html":"(frequency : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L217"},"def":{"name":"frequency=","args":[{"name":"frequency","external_name":"frequency","restriction":"Int32"}],"visibility":"Public","body":"@frequency = frequency"}},{"html_id":"geo_positions:Array(GeoPosition)|Nil-instance-method","name":"geo_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions","return_type":"Array(GeoPosition) | ::Nil","visibility":"Public","body":"@geo_positions"}},{"html_id":"geo_positions=(geo_positions:Array(GeoPosition)|Nil)-instance-method","name":"geo_positions=","abstract":false,"args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"args_string":"(geo_positions : Array(GeoPosition) | Nil)","args_html":"(geo_positions : Array(GeoPosition) | Nil)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L240"},"def":{"name":"geo_positions=","args":[{"name":"geo_positions","external_name":"geo_positions","restriction":"Array(GeoPosition) | ::Nil"}],"visibility":"Public","body":"@geo_positions = geo_positions"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L205"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length:Float64-instance-method","name":"length","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length","return_type":"Float64","visibility":"Public","body":"@length"}},{"html_id":"length=(length:Float64)-instance-method","name":"length=","abstract":false,"args":[{"name":"length","external_name":"length","restriction":"Float64"}],"args_string":"(length : Float64)","args_html":"(length : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L207"},"def":{"name":"length=","args":[{"name":"length","external_name":"length","restriction":"Float64"}],"visibility":"Public","body":"@length = length"}},{"html_id":"metric_positions:Array(MetricPositions)-instance-method","name":"metric_positions","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions","return_type":"Array(MetricPositions)","visibility":"Public","body":"@metric_positions"}},{"html_id":"metric_positions=(metric_positions:Array(MetricPositions))-instance-method","name":"metric_positions=","abstract":false,"args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"args_string":"(metric_positions : Array(MetricPositions))","args_html":"(metric_positions : Array(MetricPositions))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L236"},"def":{"name":"metric_positions=","args":[{"name":"metric_positions","external_name":"metric_positions","restriction":"Array(MetricPositions)"}],"visibility":"Public","body":"@metric_positions = metric_positions"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L206"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"rotation:Int32-instance-method","name":"rotation","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation","return_type":"Int32","visibility":"Public","body":"@rotation"}},{"html_id":"rotation=(rotation:Int32)-instance-method","name":"rotation=","abstract":false,"args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"args_string":"(rotation : Int32)","args_html":"(rotation : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L216"},"def":{"name":"rotation=","args":[{"name":"rotation","external_name":"rotation","restriction":"Int32"}],"visibility":"Public","body":"@rotation = rotation"}},{"html_id":"width:Float64-instance-method","name":"width","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width","return_type":"Float64","visibility":"Public","body":"@width"}},{"html_id":"width=(width:Float64)-instance-method","name":"width=","abstract":false,"args":[{"name":"width","external_name":"width","restriction":"Float64"}],"args_string":"(width : Float64)","args_html":"(width : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L208"},"def":{"name":"width=","args":[{"name":"width","external_name":"width","restriction":"Float64"}],"visibility":"Public","body":"@width = width"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Area/Application","path":"PointGrab/CogniPoint/Area/Application.html","kind":"class","full_name":"PointGrab::CogniPoint::Area::Application","name":"Application","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L222"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Area","kind":"class","full_name":"PointGrab::CogniPoint::Area","name":"Area"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":223,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L223"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"application_type:String-instance-method","name":"application_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type","return_type":"String","visibility":"Public","body":"@application_type"}},{"html_id":"application_type=(application_type:String)-instance-method","name":"application_type=","abstract":false,"args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"args_string":"(application_type : String)","args_html":"(application_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L229"},"def":{"name":"application_type=","args":[{"name":"application_type","external_name":"application_type","restriction":"String"}],"visibility":"Public","body":"@application_type = application_type"}},{"html_id":"area_type:String-instance-method","name":"area_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type","return_type":"String","visibility":"Public","body":"@area_type"}},{"html_id":"area_type=(area_type:String)-instance-method","name":"area_type=","abstract":false,"args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"args_string":"(area_type : String)","args_html":"(area_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L226"},"def":{"name":"area_type=","args":[{"name":"area_type","external_name":"area_type","restriction":"String"}],"visibility":"Public","body":"@area_type = area_type"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Building","path":"PointGrab/CogniPoint/Building.html","kind":"class","full_name":"PointGrab::CogniPoint::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L151"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":152,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L152"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L154"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Site::Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location","return_type":"Site::Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Site::Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"args_string":"(location : Site::Location)","args_html":"(location : Site::Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L160"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Site::Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L155"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"site_id:String-instance-method","name":"site_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id","return_type":"String","visibility":"Public","body":"@site_id"}},{"html_id":"site_id=(site_id:String)-instance-method","name":"site_id=","abstract":false,"args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"args_string":"(site_id : String)","args_html":"(site_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L158"},"def":{"name":"site_id=","args":[{"name":"site_id","external_name":"site_id","restriction":"String"}],"visibility":"Public","body":"@site_id = site_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/CountUpdate","path":"PointGrab/CogniPoint/CountUpdate.html","kind":"class","full_name":"PointGrab::CogniPoint::CountUpdate","name":"CountUpdate","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":367,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L367"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"doc":"TODO:: this data is posted to the subscription endpoint\nwe need to implement webhooks for this to work properly","summary":"

TODO : this data is posted to the subscription endpoint we need to implement webhooks for this to work properly

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":368,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L368"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"area_id:String-instance-method","name":"area_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id","return_type":"String","visibility":"Public","body":"@area_id"}},{"html_id":"area_id=(area_id:String)-instance-method","name":"area_id=","abstract":false,"args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"args_string":"(area_id : String)","args_html":"(area_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":371,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L371"},"def":{"name":"area_id=","args":[{"name":"area_id","external_name":"area_id","restriction":"String"}],"visibility":"Public","body":"@area_id = area_id"}},{"html_id":"count:Int32-instance-method","name":"count","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count","return_type":"Int32","visibility":"Public","body":"@count"}},{"html_id":"count=(count:Int32)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"Int32"}],"args_string":"(count : Int32)","args_html":"(count : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":377,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L377"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"Int32"}],"visibility":"Public","body":"@count = count"}},{"html_id":"devices:Array(String)-instance-method","name":"devices","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices","return_type":"Array(String)","visibility":"Public","body":"@devices"}},{"html_id":"devices=(devices:Array(String))-instance-method","name":"devices=","abstract":false,"args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"args_string":"(devices : Array(String))","args_html":"(devices : Array(String))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":372,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L372"},"def":{"name":"devices=","args":[{"name":"devices","external_name":"devices","restriction":"Array(String)"}],"visibility":"Public","body":"@devices = devices"}},{"html_id":"event_type:String-instance-method","name":"event_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type","return_type":"String","visibility":"Public","body":"@event_type"}},{"html_id":"event_type=(event_type:String)-instance-method","name":"event_type=","abstract":false,"args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"args_string":"(event_type : String)","args_html":"(event_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":375,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L375"},"def":{"name":"event_type=","args":[{"name":"event_type","external_name":"event_type","restriction":"String"}],"visibility":"Public","body":"@event_type = event_type"}},{"html_id":"timestamp:UInt64-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp","return_type":"UInt64","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:UInt64)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"args_string":"(timestamp : UInt64)","args_html":"(timestamp : UInt64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":376,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L376"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"UInt64"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Customer","path":"PointGrab/CogniPoint/Customer.html","kind":"class","full_name":"PointGrab::CogniPoint::Customer","name":"Customer","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L87"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L89"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L90"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Floor","path":"PointGrab/CogniPoint/Floor.html","kind":"class","full_name":"PointGrab::CogniPoint::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L172"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L173"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_number:String-instance-method","name":"floor_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number","return_type":"String","visibility":"Public","body":"@floor_number"}},{"html_id":"floor_number=(floor_number:String)-instance-method","name":"floor_number=","abstract":false,"args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"args_string":"(floor_number : String)","args_html":"(floor_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":179,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L179"},"def":{"name":"floor_number=","args":[{"name":"floor_number","external_name":"floor_number","restriction":"String"}],"visibility":"Public","body":"@floor_number = floor_number"}},{"html_id":"floor_plan_url:String-instance-method","name":"floor_plan_url","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url","return_type":"String","visibility":"Public","body":"@floor_plan_url"}},{"html_id":"floor_plan_url=(floor_plan_url:String)-instance-method","name":"floor_plan_url=","abstract":false,"args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"args_string":"(floor_plan_url : String)","args_html":"(floor_plan_url : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":182,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L182"},"def":{"name":"floor_plan_url=","args":[{"name":"floor_plan_url","external_name":"floor_plan_url","restriction":"String"}],"visibility":"Public","body":"@floor_plan_url = floor_plan_url"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L175"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"length_distance:Float64-instance-method","name":"length_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance","return_type":"Float64","visibility":"Public","body":"@length_distance"}},{"html_id":"length_distance=(length_distance:Float64)-instance-method","name":"length_distance=","abstract":false,"args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"args_string":"(length_distance : Float64)","args_html":"(length_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L188"},"def":{"name":"length_distance=","args":[{"name":"length_distance","external_name":"length_distance","restriction":"Float64"}],"visibility":"Public","body":"@length_distance = length_distance"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L176"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"width_distance:Float64-instance-method","name":"width_distance","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance","return_type":"Float64","visibility":"Public","body":"@width_distance"}},{"html_id":"width_distance=(width_distance:Float64)-instance-method","name":"width_distance=","abstract":false,"args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"args_string":"(width_distance : Float64)","args_html":"(width_distance : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L185"},"def":{"name":"width_distance=","args":[{"name":"width_distance","external_name":"width_distance","restriction":"Float64"}],"visibility":"Public","body":"@width_distance = width_distance"}}]},{"html_id":"drivers/PointGrab/CogniPoint/FloorAreas","path":"PointGrab/CogniPoint/FloorAreas.html","kind":"class","full_name":"PointGrab::CogniPoint::FloorAreas","name":"FloorAreas","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L243"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L244"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"areas:Array(Area)-instance-method","name":"areas","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas","return_type":"Array(Area)","visibility":"Public","body":"@areas"}},{"html_id":"areas=(areas:Array(Area))-instance-method","name":"areas=","abstract":false,"args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"args_string":"(areas : Array(Area))","args_html":"(areas : Array(Area))","location":{"filename":"src/point_grab/cogni_point.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L248"},"def":{"name":"areas=","args":[{"name":"areas","external_name":"areas","restriction":"Array(Area)"}],"visibility":"Public","body":"@areas = areas"}},{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L247"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}}]},{"html_id":"drivers/PointGrab/CogniPoint/GeoPosition","path":"PointGrab/CogniPoint/GeoPosition.html","kind":"class","full_name":"PointGrab::CogniPoint::GeoPosition","name":"GeoPosition","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"latitude:Float64-instance-method","name":"latitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude","return_type":"Float64","visibility":"Public","body":"@latitude"}},{"html_id":"latitude=(latitude:Float64)-instance-method","name":"latitude=","abstract":false,"args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"args_string":"(latitude : Float64)","args_html":"(latitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L101"},"def":{"name":"latitude=","args":[{"name":"latitude","external_name":"latitude","restriction":"Float64"}],"visibility":"Public","body":"@latitude = latitude"}},{"html_id":"longitude:Float64-instance-method","name":"longitude","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude","return_type":"Float64","visibility":"Public","body":"@longitude"}},{"html_id":"longitude=(longitude:Float64)-instance-method","name":"longitude=","abstract":false,"args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"args_string":"(longitude : Float64)","args_html":"(longitude : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L102"},"def":{"name":"longitude=","args":[{"name":"longitude","external_name":"longitude","restriction":"Float64"}],"visibility":"Public","body":"@longitude = longitude"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Handler","path":"PointGrab/CogniPoint/Handler.html","kind":"class","full_name":"PointGrab::CogniPoint::Handler","name":"Handler","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":267,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L267"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":268,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L268"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_id:UInt32-instance-method","name":"app_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id","return_type":"UInt32","visibility":"Public","body":"@app_id"}},{"html_id":"app_id=(app_id:UInt32)-instance-method","name":"app_id=","abstract":false,"args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"args_string":"(app_id : UInt32)","args_html":"(app_id : UInt32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":274,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L274"},"def":{"name":"app_id=","args":[{"name":"app_id","external_name":"app_id","restriction":"UInt32"}],"visibility":"Public","body":"@app_id = app_id"}},{"html_id":"end_point:String-instance-method","name":"end_point","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point","return_type":"String","visibility":"Public","body":"@end_point"}},{"html_id":"end_point=(end_point:String)-instance-method","name":"end_point=","abstract":false,"args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"args_string":"(end_point : String)","args_html":"(end_point : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L277"},"def":{"name":"end_point=","args":[{"name":"end_point","external_name":"end_point","restriction":"String"}],"visibility":"Public","body":"@end_point = end_point"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L270"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":271,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L271"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]},{"html_id":"drivers/PointGrab/CogniPoint/MetricPositions","path":"PointGrab/CogniPoint/MetricPositions.html","kind":"class","full_name":"PointGrab::CogniPoint::MetricPositions","name":"MetricPositions","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":105,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L105"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L106"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"pos_x:Float64-instance-method","name":"pos_x","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x","return_type":"Float64","visibility":"Public","body":"@pos_x"}},{"html_id":"pos_x=(pos_x:Float64)-instance-method","name":"pos_x=","abstract":false,"args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"args_string":"(pos_x : Float64)","args_html":"(pos_x : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L109"},"def":{"name":"pos_x=","args":[{"name":"pos_x","external_name":"pos_x","restriction":"Float64"}],"visibility":"Public","body":"@pos_x = pos_x"}},{"html_id":"pos_y:Float64-instance-method","name":"pos_y","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y","return_type":"Float64","visibility":"Public","body":"@pos_y"}},{"html_id":"pos_y=(pos_y:Float64)-instance-method","name":"pos_y=","abstract":false,"args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"args_string":"(pos_y : Float64)","args_html":"(pos_y : Float64)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L112"},"def":{"name":"pos_y=","args":[{"name":"pos_y","external_name":"pos_y","restriction":"Float64"}],"visibility":"Public","body":"@pos_y = pos_y"}}]},{"html_id":"drivers/PointGrab/CogniPoint/NotificationType","path":"PointGrab/CogniPoint/NotificationType.html","kind":"enum","full_name":"PointGrab::CogniPoint::NotificationType","name":"NotificationType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L302"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Counting","name":"Counting","value":"0"},{"id":"Traffic","name":"Traffic","value":"1"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"instance_methods":[{"html_id":"counting?-instance-method","name":"counting?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L303"},"def":{"name":"counting?","visibility":"Public","body":"self == Counting"}},{"html_id":"traffic?-instance-method","name":"traffic?","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L304"},"def":{"name":"traffic?","visibility":"Public","body":"self == Traffic"}}]},{"html_id":"drivers/PointGrab/CogniPoint/Site","path":"PointGrab/CogniPoint/Site.html","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L115"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L116"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"customer_id:String-instance-method","name":"customer_id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id","return_type":"String","visibility":"Public","body":"@customer_id"}},{"html_id":"customer_id=(customer_id:String)-instance-method","name":"customer_id=","abstract":false,"args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"args_string":"(customer_id : String)","args_html":"(customer_id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L138"},"def":{"name":"customer_id=","args":[{"name":"customer_id","external_name":"customer_id","restriction":"String"}],"visibility":"Public","body":"@customer_id = customer_id"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L118"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location"}},{"html_id":"location=(location:Location)-instance-method","name":"location=","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"Location"}],"args_string":"(location : Location)","args_html":"(location : Location)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L139"},"def":{"name":"location=","args":[{"name":"location","external_name":"location","restriction":"Location"}],"visibility":"Public","body":"@location = location"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L119"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}],"types":[{"html_id":"drivers/PointGrab/CogniPoint/Site/Location","path":"PointGrab/CogniPoint/Site/Location.html","kind":"class","full_name":"PointGrab::CogniPoint::Site::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L121"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint/Site","kind":"class","full_name":"PointGrab::CogniPoint::Site","name":"Site"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L122"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"city:String-instance-method","name":"city","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city","return_type":"String","visibility":"Public","body":"@city"}},{"html_id":"city=(city:String)-instance-method","name":"city=","abstract":false,"args":[{"name":"city","external_name":"city","restriction":"String"}],"args_string":"(city : String)","args_html":"(city : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L127"},"def":{"name":"city=","args":[{"name":"city","external_name":"city","restriction":"String"}],"visibility":"Public","body":"@city = city"}},{"html_id":"country:String-instance-method","name":"country","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country","return_type":"String","visibility":"Public","body":"@country"}},{"html_id":"country=(country:String)-instance-method","name":"country=","abstract":false,"args":[{"name":"country","external_name":"country","restriction":"String"}],"args_string":"(country : String)","args_html":"(country : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L130"},"def":{"name":"country=","args":[{"name":"country","external_name":"country","restriction":"String"}],"visibility":"Public","body":"@country = country"}},{"html_id":"county:String-instance-method","name":"county","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county","return_type":"String","visibility":"Public","body":"@county"}},{"html_id":"county=(county:String)-instance-method","name":"county=","abstract":false,"args":[{"name":"county","external_name":"county","restriction":"String"}],"args_string":"(county : String)","args_html":"(county : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L128"},"def":{"name":"county=","args":[{"name":"county","external_name":"county","restriction":"String"}],"visibility":"Public","body":"@county = county"}},{"html_id":"geo_position:GeoPosition-instance-method","name":"geo_position","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position","return_type":"GeoPosition","visibility":"Public","body":"@geo_position"}},{"html_id":"geo_position=(geo_position:GeoPosition)-instance-method","name":"geo_position=","abstract":false,"args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"args_string":"(geo_position : GeoPosition)","args_html":"(geo_position : GeoPosition)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L134"},"def":{"name":"geo_position=","args":[{"name":"geo_position","external_name":"geo_position","restriction":"GeoPosition"}],"visibility":"Public","body":"@geo_position = geo_position"}},{"html_id":"house_number:String-instance-method","name":"house_number","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number","return_type":"String","visibility":"Public","body":"@house_number"}},{"html_id":"house_number=(house_number:String)-instance-method","name":"house_number=","abstract":false,"args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"args_string":"(house_number : String)","args_html":"(house_number : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L125"},"def":{"name":"house_number=","args":[{"name":"house_number","external_name":"house_number","restriction":"String"}],"visibility":"Public","body":"@house_number = house_number"}},{"html_id":"state:String-instance-method","name":"state","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state","return_type":"String","visibility":"Public","body":"@state"}},{"html_id":"state=(state:String)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"String"}],"args_string":"(state : String)","args_html":"(state : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L129"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"String"}],"visibility":"Public","body":"@state = state"}},{"html_id":"street:String-instance-method","name":"street","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street","return_type":"String","visibility":"Public","body":"@street"}},{"html_id":"street=(street:String)-instance-method","name":"street=","abstract":false,"args":[{"name":"street","external_name":"street","restriction":"String"}],"args_string":"(street : String)","args_html":"(street : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L126"},"def":{"name":"street=","args":[{"name":"street","external_name":"street","restriction":"String"}],"visibility":"Public","body":"@street = street"}},{"html_id":"zip:String-instance-method","name":"zip","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip","return_type":"String","visibility":"Public","body":"@zip"}},{"html_id":"zip=(zip:String)-instance-method","name":"zip=","abstract":false,"args":[{"name":"zip","external_name":"zip","restriction":"String"}],"args_string":"(zip : String)","args_html":"(zip : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L131"},"def":{"name":"zip=","args":[{"name":"zip","external_name":"zip","restriction":"String"}],"visibility":"Public","body":"@zip = zip"}}]}]},{"html_id":"drivers/PointGrab/CogniPoint/Subscription","path":"PointGrab/CogniPoint/Subscription.html","kind":"class","full_name":"PointGrab::CogniPoint::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L286"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L287"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"endpoint:String-instance-method","name":"endpoint","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint","return_type":"String","visibility":"Public","body":"@endpoint"}},{"html_id":"endpoint=(endpoint:String)-instance-method","name":"endpoint=","abstract":false,"args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"args_string":"(endpoint : String)","args_html":"(endpoint : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":292,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L292"},"def":{"name":"endpoint=","args":[{"name":"endpoint","external_name":"endpoint","restriction":"String"}],"visibility":"Public","body":"@endpoint = endpoint"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":289,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L289"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"notification_type:String-instance-method","name":"notification_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type","return_type":"String","visibility":"Public","body":"@notification_type"}},{"html_id":"notification_type=(notification_type:String)-instance-method","name":"notification_type=","abstract":false,"args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"args_string":"(notification_type : String)","args_html":"(notification_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":296,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L296"},"def":{"name":"notification_type=","args":[{"name":"notification_type","external_name":"notification_type","restriction":"String"}],"visibility":"Public","body":"@notification_type = notification_type"}},{"html_id":"started:Bool-instance-method","name":"started","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started","return_type":"Bool","visibility":"Public","body":"@started"}},{"html_id":"started=(started:Bool)-instance-method","name":"started=","abstract":false,"args":[{"name":"started","external_name":"started","restriction":"Bool"}],"args_string":"(started : Bool)","args_html":"(started : Bool)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":291,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L291"},"def":{"name":"started=","args":[{"name":"started","external_name":"started","restriction":"Bool"}],"visibility":"Public","body":"@started = started"}},{"html_id":"subscription_type:String-instance-method","name":"subscription_type","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type","return_type":"String","visibility":"Public","body":"@subscription_type"}},{"html_id":"subscription_type=(subscription_type:String)-instance-method","name":"subscription_type=","abstract":false,"args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"args_string":"(subscription_type : String)","args_html":"(subscription_type : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L299"},"def":{"name":"subscription_type=","args":[{"name":"subscription_type","external_name":"subscription_type","restriction":"String"}],"visibility":"Public","body":"@subscription_type = subscription_type"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L290"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}},{"html_id":"uri:String-instance-method","name":"uri","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri","return_type":"String","visibility":"Public","body":"@uri"}},{"html_id":"uri=(uri:String)-instance-method","name":"uri=","abstract":false,"args":[{"name":"uri","external_name":"uri","restriction":"String"}],"args_string":"(uri : String)","args_html":"(uri : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":293,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L293"},"def":{"name":"uri=","args":[{"name":"uri","external_name":"uri","restriction":"String"}],"visibility":"Public","body":"@uri = uri"}}]},{"html_id":"drivers/PointGrab/CogniPoint/TokenResponse","path":"PointGrab/CogniPoint/TokenResponse.html","kind":"class","full_name":"PointGrab::CogniPoint::TokenResponse","name":"TokenResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/point_grab/cogni_point.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L31"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PointGrab/CogniPoint","kind":"class","full_name":"PointGrab::CogniPoint","name":"CogniPoint"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L32"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"expires_in:Int32-instance-method","name":"expires_in","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in","return_type":"Int32","visibility":"Public","body":"@expires_in"}},{"html_id":"expires_in=(expires_in:Int32)-instance-method","name":"expires_in=","abstract":false,"args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"args_string":"(expires_in : Int32)","args_html":"(expires_in : Int32)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L35"},"def":{"name":"expires_in=","args":[{"name":"expires_in","external_name":"expires_in","restriction":"Int32"}],"visibility":"Public","body":"@expires_in = expires_in"}},{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}},{"html_id":"token=(token:String)-instance-method","name":"token=","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"}],"args_string":"(token : String)","args_html":"(token : String)","location":{"filename":"src/point_grab/cogni_point.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/point_grab/cogni_point.cr#L34"},"def":{"name":"token=","args":[{"name":"token","external_name":"token","restriction":"String"}],"visibility":"Public","body":"@token = token"}}]}]}]},{"html_id":"drivers/Polygon","path":"Polygon.html","kind":"class","full_name":"Polygon","name":"Polygon","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/area_polygon.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L35"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constructors":[{"html_id":"new(points:Array(Point))-class-method","name":"new","abstract":false,"args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"args_string":"(points : Array(Point))","args_html":"(points : Array(Point))","location":{"filename":"src/place/area_polygon.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L36"},"def":{"name":"new","args":[{"name":"points","external_name":"points","restriction":"Array(Point)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(points)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"contains(testx:Float64,testy:Float64)-instance-method","name":"contains","abstract":false,"args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"args_string":"(testx : Float64, testy : Float64)","args_html":"(testx : Float64, testy : Float64)","location":{"filename":"src/place/area_polygon.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L54"},"def":{"name":"contains","args":[{"name":"testx","external_name":"testx","restriction":"Float64"},{"name":"testy","external_name":"testy","restriction":"Float64"}],"visibility":"Public","body":"if ((testx < @xmin || testx > @xmax) || testy < @ymin) || testy > @ymax\n return false\nend\ninside = false\nprevious_index = @points.size - 1\n@points.each_with_index do |point, index|\n previous = @points[previous_index]\n if ((point.y > testy) != (previous.y > testy)) && (testx < ((((previous.x - point.x) * (testy - point.y)) / (previous.y - point.y)) + point.x))\n inside = !inside\n end\n previous_index = index\nend\ninside\n"}},{"html_id":"points:Array(Point)-instance-method","name":"points","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L48"},"def":{"name":"points","return_type":"Array(Point)","visibility":"Public","body":"@points"}},{"html_id":"xmax:Float64-instance-method","name":"xmax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L51"},"def":{"name":"xmax","return_type":"Float64","visibility":"Public","body":"@xmax"}},{"html_id":"xmin:Float64-instance-method","name":"xmin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L49"},"def":{"name":"xmin","return_type":"Float64","visibility":"Public","body":"@xmin"}},{"html_id":"ymax:Float64-instance-method","name":"ymax","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L52"},"def":{"name":"ymax","return_type":"Float64","visibility":"Public","body":"@ymax"}},{"html_id":"ymin:Float64-instance-method","name":"ymin","abstract":false,"location":{"filename":"src/place/area_polygon.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/area_polygon.cr#L50"},"def":{"name":"ymin","return_type":"Float64","visibility":"Public","body":"@ymin"}}]},{"html_id":"drivers/Qbic","path":"Qbic.html","kind":"module","full_name":"Qbic","name":"Qbic","abstract":false,"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qbic/TouchPanel","path":"Qbic/TouchPanel.html","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"USERNAME","name":"USERNAME","value":"\"admin\""}],"namespace":{"html_id":"drivers/Qbic","kind":"module","full_name":"Qbic","name":"Qbic"},"instance_methods":[{"html_id":"device_info-instance-method","name":"device_info","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L192"},"def":{"name":"device_info","visibility":"Public","body":"query(\"GET\", \"/v1/info/\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_all_leds-instance-method","name":"get_all_leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L220"},"def":{"name":"get_all_leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n self[:light_names] = leds\n leds.each do |name|\n get_led_state(name)\n end\n true\nend"}},{"html_id":"get_eddystone_uid-instance-method","name":"get_eddystone_uid","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L169"},"def":{"name":"get_eddystone_uid","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_uid\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_eddystone_url-instance-method","name":"get_eddystone_url","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L188"},"def":{"name":"get_eddystone_url","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/eddystone_url\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_ibeacon-instance-method","name":"get_ibeacon","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L147"},"def":{"name":"get_ibeacon","visibility":"Public","body":"query(\"GET\", \"/v1/net/beacon/ibeacon\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_led_state(name:String)-instance-method","name":"get_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L216"},"def":{"name":"get_led_state","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led/#{name}\") do |data|\n self[name] = JSON.parse(data.not_nil!)\nend"}},{"html_id":"get_token-instance-method","name":"get_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L64"},"def":{"name":"get_token","visibility":"Public","body":"if token_expired?\nelse\n return @auth_token\nend\nif refresh_token = @refresh_token\n response = post(\"/v1/oauth2/token\", body: {grant_type: \"refresh_token\", refresh_token: refresh_token}.to_json)\n if response.success?\n resp = AuthResponse.from_json(response.body.not_nil!)\n @expired = false\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\n @refresh_token = resp.refresh_token\n return @auth_token\n else\n logger.debug do\n \"refresh token request failed\"\n end\n end\nend\nresponse = post(\"/v1/oauth2/token\", body: {grant_type: \"password\", username: USERNAME, password: @password}.to_json)\ndata = response.body.not_nil!\nif response.success?\n resp = AuthResponse.from_json(data)\n @expired = false\n @refresh_token = resp.refresh_token\n @auth_token = \"#{resp.token_type} #{resp.access_token}\"\nelse\n resp = FailureResponse.from_json(data)\n raise(\"failed to obtain access token: #{resp.detail} (#{response.status})\")\nend\n"}},{"html_id":"leds-instance-method","name":"leds","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":212,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L212"},"def":{"name":"leds","visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n self[:leds] = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L22"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L26"},"def":{"name":"on_update","visibility":"Public","body":"@password = URI.encode_www_form(setting(String, :password))\ntransport.before_request do |request|\n request.headers[\"Content-Type\"] = \"application/json\"\n if token_expired?\n else\n request.headers[\"Authorization\"] = @auth_token\n end\nend\nschedule.clear\nschedule.every(1.minute) do\n logger.debug do\n \"polling to check connectivity\"\n end\n resp = get(\"/v1/public/info/\")\n if resp.success?\n logger.debug do\n resp.body\n end\n get_all_leds\n end\nend\n"}},{"html_id":"set_all_leds(red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_all_leds","abstract":false,"args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(red : UInt8, green : UInt8, blue : UInt8)","args_html":"(red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L239"},"def":{"name":"set_all_leds","args":[{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"query(\"GET\", \"/v1/led\") do |data|\n leds = (NamedTuple(results: Array(String)).from_json(data.not_nil!))[:results]\n leds.each do |name|\n set_led_state(name, red, green, blue)\n end\n true\nend"}},{"html_id":"set_eddystone_uid(enabled:Bool,namespace:String|Nil=nil,instance:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_uid","doc":"https://github.com/google/eddystone/tree/master/eddystone-uid","summary":"

https://github.com/google/eddystone/tree/master/eddystone-uid

","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, namespace : String | Nil = nil, instance : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L153"},"def":{"name":"set_eddystone_uid","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"namespace","default_value":"nil","external_name":"namespace","restriction":"String | ::Nil"},{"name":"instance","default_value":"nil","external_name":"instance","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_uid\", {enabled: enabled ? \"enabled\" : \"disabled\", namespace: namespace, instance: instance, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_eddystone_url(enabled:Bool,url:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_eddystone_url","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, url : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L174"},"def":{"name":"set_eddystone_url","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"url","default_value":"nil","external_name":"url","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/eddystone_url\", {enabled: enabled ? \"enabled\" : \"disabled\", url: url, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_ibeacon(enabled:Bool,major:UInt16|Nil=nil,minor:UInt16|Nil=nil,uuid:String|Nil=nil,advertise_mode:AdvertiseMode|Nil=nil,power:Int8|Nil=nil)-instance-method","name":"set_ibeacon","abstract":false,"args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"args_string":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","args_html":"(enabled : Bool, major : UInt16 | Nil = nil, minor : UInt16 | Nil = nil, uuid : String | Nil = nil, advertise_mode : AdvertiseMode | Nil = nil, power : Int8 | Nil = nil)","location":{"filename":"src/qbic/touch_panel.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L129"},"def":{"name":"set_ibeacon","args":[{"name":"enabled","external_name":"enabled","restriction":"Bool"},{"name":"major","default_value":"nil","external_name":"major","restriction":"UInt16 | ::Nil"},{"name":"minor","default_value":"nil","external_name":"minor","restriction":"UInt16 | ::Nil"},{"name":"uuid","default_value":"nil","external_name":"uuid","restriction":"String | ::Nil"},{"name":"advertise_mode","default_value":"nil","external_name":"advertise_mode","restriction":"AdvertiseMode | ::Nil"},{"name":"power","default_value":"nil","external_name":"power","restriction":"Int8 | ::Nil"}],"visibility":"Public","body":"query(\"POST\", \"/v1/net/beacon/ibeacon\", {enabled: enabled ? \"enabled\" : \"disabled\", major: major, minor: minor, uuid: uuid, advertise_mode: advertise_mode.to_s.underscore, power: power}.to_json) do\n true\nend"}},{"html_id":"set_led_state(name:String,red:UInt8,green:UInt8,blue:UInt8)-instance-method","name":"set_led_state","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"args_string":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","args_html":"(name : String, red : UInt8, green : UInt8, blue : UInt8)","location":{"filename":"src/qbic/touch_panel.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L230"},"def":{"name":"set_led_state","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"red","external_name":"red","restriction":"UInt8"},{"name":"green","external_name":"green","restriction":"UInt8"},{"name":"blue","external_name":"blue","restriction":"UInt8"}],"visibility":"Public","body":"value = {red: red, green: green, blue: blue}\nquery(\"POST\", \"/v1/led/#{name}\", value.to_json) do\n self[name] = value\nend\n"}},{"html_id":"set_setting(key:String,value:String|JSON::Any)-instance-method","name":"set_setting","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"args_string":"(key : String, value : String | JSON::Any)","args_html":"(key : String, value : String | JSON::Any)","location":{"filename":"src/qbic/touch_panel.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L201"},"def":{"name":"set_setting","args":[{"name":"key","external_name":"key","restriction":"String"},{"name":"value","external_name":"value","restriction":"String | JSON::Any"}],"visibility":"Public","body":"query(\"POST\", \"/v1/settings/#{key}\", {value: value}.to_json) do\n true\nend"}},{"html_id":"set_url(value:String)-instance-method","name":"set_url","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String)","args_html":"(value : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L208"},"def":{"name":"set_url","args":[{"name":"value","external_name":"value","restriction":"String"}],"visibility":"Public","body":"set_setting(\"content_url\", value)"}},{"html_id":"settings-instance-method","name":"settings","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L196"},"def":{"name":"settings","visibility":"Public","body":"query(\"GET\", \"/v1/settings\") do |data|\n JSON.parse(data.not_nil!)\nend"}},{"html_id":"token_expired?:Bool-instance-method","name":"token_expired?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L60"},"def":{"name":"token_expired?","visibility":"Public","body":"@expired"}},{"html_id":"update_password(new_password:String)-instance-method","name":"update_password","abstract":false,"args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"args_string":"(new_password : String)","args_html":"(new_password : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L110"},"def":{"name":"update_password","args":[{"name":"new_password","external_name":"new_password","restriction":"String"}],"visibility":"Public","body":"if new_password.size >= 4 && new_password.size <= 16\nelse\n raise(\"password must be between 4 and 16 characters\")\nend\nquery(\"POST\", \"/v1/user/password\") do\n define_setting(:password, new_password)\nend\n"}},{"html_id":"wifi_scan-instance-method","name":"wifi_scan","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L118"},"def":{"name":"wifi_scan","visibility":"Public","body":"query(\"GET\", \"/v1/wifi/scan_results\") do |data|\n JSON.parse(data.not_nil!)\nend"}}],"types":[{"html_id":"drivers/Qbic/TouchPanel/AdvertiseMode","path":"Qbic/TouchPanel/AdvertiseMode.html","kind":"enum","full_name":"Qbic::TouchPanel::AdvertiseMode","name":"AdvertiseMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L122"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"LowLatency","name":"LowLatency","value":"0"},{"id":"Balanced","name":"Balanced","value":"1"},{"id":"LowPower","name":"LowPower","value":"2"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"instance_methods":[{"html_id":"balanced?-instance-method","name":"balanced?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L124"},"def":{"name":"balanced?","visibility":"Public","body":"self == Balanced"}},{"html_id":"low_latency?-instance-method","name":"low_latency?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L123"},"def":{"name":"low_latency?","visibility":"Public","body":"self == LowLatency"}},{"html_id":"low_power?-instance-method","name":"low_power?","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L125"},"def":{"name":"low_power?","visibility":"Public","body":"self == LowPower"}}]},{"html_id":"drivers/Qbic/TouchPanel/AuthResponse","path":"Qbic/TouchPanel/AuthResponse.html","kind":"class","full_name":"Qbic::TouchPanel::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L51"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"access_token:String-instance-method","name":"access_token","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token","return_type":"String","visibility":"Public","body":"@access_token"}},{"html_id":"access_token=(access_token:String)-instance-method","name":"access_token=","doc":"Returned on success","summary":"

Returned on success

","abstract":false,"args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"args_string":"(access_token : String)","args_html":"(access_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L55"},"def":{"name":"access_token=","args":[{"name":"access_token","external_name":"access_token","restriction":"String"}],"visibility":"Public","body":"@access_token = access_token"}},{"html_id":"refresh_token:String-instance-method","name":"refresh_token","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token","return_type":"String","visibility":"Public","body":"@refresh_token"}},{"html_id":"refresh_token=(refresh_token:String)-instance-method","name":"refresh_token=","abstract":false,"args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"args_string":"(refresh_token : String)","args_html":"(refresh_token : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L56"},"def":{"name":"refresh_token=","args":[{"name":"refresh_token","external_name":"refresh_token","restriction":"String"}],"visibility":"Public","body":"@refresh_token = refresh_token"}},{"html_id":"token_type:String-instance-method","name":"token_type","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type","return_type":"String","visibility":"Public","body":"@token_type"}},{"html_id":"token_type=(token_type:String)-instance-method","name":"token_type=","abstract":false,"args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"args_string":"(token_type : String)","args_html":"(token_type : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L57"},"def":{"name":"token_type=","args":[{"name":"token_type","external_name":"token_type","restriction":"String"}],"visibility":"Public","body":"@token_type = token_type"}}]},{"html_id":"drivers/Qbic/TouchPanel/FailureResponse","path":"Qbic/TouchPanel/FailureResponse.html","kind":"class","full_name":"Qbic::TouchPanel::FailureResponse","name":"FailureResponse","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qbic/touch_panel.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Qbic/TouchPanel","kind":"class","full_name":"Qbic::TouchPanel","name":"TouchPanel"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/qbic/touch_panel.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L46"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"detail:String-instance-method","name":"detail","abstract":false,"location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail","return_type":"String","visibility":"Public","body":"@detail"}},{"html_id":"detail=(detail:String)-instance-method","name":"detail=","abstract":false,"args":[{"name":"detail","external_name":"detail","restriction":"String"}],"args_string":"(detail : String)","args_html":"(detail : String)","location":{"filename":"src/qbic/touch_panel.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qbic/touch_panel.cr#L48"},"def":{"name":"detail=","args":[{"name":"detail","external_name":"detail","restriction":"String"}],"visibility":"Public","body":"@detail = detail"}}]}]}]},{"html_id":"drivers/Qsc","path":"Qsc.html","kind":"module","full_name":"Qsc","name":"Qsc","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Qsc/QSysControl","path":"Qsc/QSysControl.html","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"about-instance-method","name":"about","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L138"},"def":{"name":"about","visibility":"Public","body":"do_send(\"sg\\n\", name: :status, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L54"},"def":{"name":"connected","visibility":"Public","body":"@connected = true\nif @username\n login\nend\nrecreate_change_groups\nschedule.every(40.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n about\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"@connected = false\nschedule.clear\n"}},{"html_id":"fader(fader_ids:Ids,level:Val)-instance-method","name":"fader","doc":"Compatibility Methods","summary":"

Compatibility Methods

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":163,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L163"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"level = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nrange = -100..20\nlevel_actual = percentage * (range.size - 1).to_f\nlevel_actual = (level_actual + range.begin.to_f).round(1)\n(ensure_array(fader_ids)).each do |f_id|\n if @history[f_id]? == (:percentage_fader)\n set_value(f_id, level, name: \"fader#{f_id}\")\n else\n set_value(f_id, level_actual, name: \"fader#{f_id}\", fader_type: :fader)\n end\nend\n"}},{"html_id":"faders(fader_ids:Ids,level:Val)-instance-method","name":"faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"args_string":"(fader_ids : Ids, level : Val)","args_html":"(fader_ids : Ids, level : Val)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L181"},"def":{"name":"faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"level","external_name":"level","restriction":"Val"}],"visibility":"Public","body":"fader(fader_ids, level)"}},{"html_id":"get_status(control_id:String,**options)-instance-method","name":"get_status","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String, **options)","args_html":"(control_id : String, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L112"},"def":{"name":"get_status","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\ndo_send(\"cg #{control_id}\\n\", **options)\n"}},{"html_id":"history:Hash(String,Symbol)-instance-method","name":"history","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L31"},"def":{"name":"history","return_type":"Hash(String, Symbol)","visibility":"Public","body":"@history"}},{"html_id":"login(username:String|Nil=nil,password:String|Nil=nil)-instance-method","name":"login","abstract":false,"args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"args_string":"(username : String | Nil = nil, password : String | Nil = nil)","args_html":"(username : String | Nil = nil, password : String | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L142"},"def":{"name":"login","args":[{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"},{"name":"password","default_value":"nil","external_name":"password","restriction":"String | ::Nil"}],"visibility":"Public","body":"username || (username = @username)\npassword || (password = @password)\ndo_send(\"login #{username} #{password}\\n\", name: :login, priority: 99)\n"}},{"html_id":"mute(mute_ids:Ids,state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool = true)","args_html":"(mute_ids : Ids, state : Bool = true)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":185,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L185"},"def":{"name":"mute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"level = state ? 1 : 0\n(ensure_array(mute_ids)).each do |m_id|\n set_value(m_id, level, fader_type: :mute)\nend\n"}},{"html_id":"mute_toggle(mute_id:Ids)-instance-method","name":"mute_toggle","abstract":false,"args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"args_string":"(mute_id : Ids)","args_html":"(mute_id : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L198"},"def":{"name":"mute_toggle","args":[{"name":"mute_id","external_name":"mute_id","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_id, !self[\"fader#{mute_id}_mute\"]?.try(&.as_bool))"}},{"html_id":"mutes(mute_ids:Ids,state:Bool)-instance-method","name":"mutes","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(mute_ids : Ids, state : Bool)","args_html":"(mute_ids : Ids, state : Bool)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":190,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L190"},"def":{"name":"mutes","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"},{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"mute(mute_ids, state)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")\nqueue.retries = 1\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_control.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L42"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting?(String, :username)\n@password = setting?(String, :password)\n@static_change_groups = (setting?(Hash(String, Group), :change_groups)) || ({} of String => Group)\nif @connected\n if @username\n login\n end\n recreate_change_groups\nend\n"}},{"html_id":"phone_dial(control_id:String)-instance-method","name":"phone_dial","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L233"},"def":{"name":"phone_dial","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"trigger(control_id)\nschedule.in(200.milliseconds) do\n poll_change_group(:phone)\nend\n"}},{"html_id":"phone_hangup(control_id:String)-instance-method","name":"phone_hangup","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L238"},"def":{"name":"phone_hangup","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"phone_dial(control_id)"}},{"html_id":"phone_number(number:String,control_id:String)-instance-method","name":"phone_number","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(number : String, control_id : String)","args_html":"(number : String, control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L229"},"def":{"name":"phone_number","args":[{"name":"number","external_name":"number","restriction":"String"},{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"set_string(control_id, number)"}},{"html_id":"query_fader(fader_ids:Ids)-instance-method","name":"query_fader","doc":"For inter-module compatibility","summary":"

For inter-module compatibility

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":211,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L211"},"def":{"name":"query_fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: (@history[fad]? || (:fader)))\n"}},{"html_id":"query_faders(fader_ids:Ids)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L216"},"def":{"name":"query_faders","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |f_id|\n get_status(f_id, fader_type: ( @history[f_id]? || (:fader)))\nend"}},{"html_id":"query_mute(fader_ids:Ids)-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":220,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L220"},"def":{"name":"query_mute","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"fad = (ensure_array(fader_ids))[0]\nget_status(fad, fader_type: :mute)\n"}},{"html_id":"query_mutes(fader_ids:Ids)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"args_string":"(fader_ids : Ids)","args_html":"(fader_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L225"},"def":{"name":"query_mutes","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"}],"visibility":"Public","body":"(ensure_array(fader_ids)).each do |fad|\n get_status(fad, fader_type: :mute)\nend"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":277,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L277"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nputs(\"GOT: #{data}\")\nif data == \"none\\r\\n\"\n return task.try(&.success)\nend\nlogger.debug do\n \"QSys sent: #{data}\"\nend\nresp = shellsplit(data)\ncase resp[0]\nwhen \"cv\"\n control_id = resp[1]\n string_rep = resp[2]\n value = resp[-2]\n position = resp[-1].to_f\n self[\"pos_#{control_id}\"] = position\n if string_rep.ends_with?('%')\n @history[control_id] = :percentage_fader\n end\n if type = @history[control_id]?\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :percentage_fader\n self[\"fader#{control_id}\"] = value.to_f\n when :mute\n self[\"fader#{control_id}_mute\"] = value.to_i == 1\n end\n else\n value = resp[2]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id} == #{value}\"\n end\n end\nwhen \"cvv\"\n control_id = resp[1]\n count = resp[2].to_i\n if type = @history[control_id]?\n next_count = count + 3\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n case type\n when :fader\n range = -100..20\n vol_percent = ((value.to_f - range.begin.to_f) / (range.size - 1).to_f) * 100.0\n self[\"fader#{control_id}\"] = vol_percent.round(2)\n when :mute\n self[\"fader#{control_id}_mute\"] = value == 1\n end\n end\n else\n next_count = 2\n 1.upto(count) do |index|\n value = resp[next_count + index]\n if (value == \"false\") || (value == \"true\")\n self[control_id] = value == \"true\"\n else\n self[control_id] = value.gsub('_', ' ')\n end\n end\n logger.debug do\n \"Received response from unknown ID type: #{control_id}\"\n end\n next_count = count + 3\n count = resp[next_count].to_i\n end\n next_count = (next_count + count) + 1\n count = resp[next_count].to_i\n 1.upto(count) do |index|\n value = resp[next_count + index]\n self[\"pos_#{control_id}\"] = value\n end\nwhen \"sr\"\n self[:design_name] = resp[1]\n self[:is_primary] = resp[3] == \"1\"\n self[:is_active] = resp[4] == \"1\"\nwhen \"core_not_active\", \"bad_change_group_handle\", \"bad_command\", \"bad_id\", \"control_read_only\", \"too_many_change_groups\"\n return task.try(&.abort(\"Error response received: #{data}\"))\nwhen \"login_required\"\n if @username\n login\n end\n return task.try(&.abort(\"Login is required!\"))\nwhen \"login_success\"\n logger.debug do\n \"Login success!\"\n end\nwhen \"login_failed\"\n return task.try(&.abort(\"Invalid login details provided\"))\nwhen \"rc\"\n logger.warn do\n \"System is notifying us of a disconnect!\"\n end\nwhen \"cmvv\"\n logger.debug do\n \"received cmvv response\"\n end\nelse\n logger.warn do\n \"Unknown response received #{data}\"\n end\nend\ntask.try(&.success)\n"}},{"html_id":"save_snapshot(name:String,index:Int32)-instance-method","name":"save_snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"args_string":"(name : String, index : Int32)","args_html":"(name : String, index : Int32)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L206"},"def":{"name":"save_snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(\"sss \\\"#{name}\\\" #{index}\\n\")"}},{"html_id":"set_position(control_id:String,position:Int32,ramp_time:Val|Nil=nil)-instance-method","name":"set_position","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","args_html":"(control_id : String, position : Int32, ramp_time : Val | Nil = nil)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L118"},"def":{"name":"set_position","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"position","external_name":"position","restriction":"Int32"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"visibility":"Public","body":"if ramp_time\n do_send(\"cspr \\\"#{control_id}\\\" #{position} #{ramp_time}\\n\")\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csp \\\"#{control_id}\\\" #{position}\\n\")\nend"}},{"html_id":"set_string(control_ids:Ids,text:String)-instance-method","name":"set_string","doc":"Used to set a dial number/string","summary":"

Used to set a dial number/string

","abstract":false,"args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"args_string":"(control_ids : Ids, text : String)","args_html":"(control_ids : Ids, text : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L149"},"def":{"name":"set_string","args":[{"name":"control_ids","external_name":"control_ids","restriction":"Ids"},{"name":"text","external_name":"text","restriction":"String"}],"visibility":"Public","body":"(ensure_array(control_ids)).each do |id|\n (do_send(\"css \\\"#{id}\\\" \\\"#{text}\\\"\\n\")).get\n self[id] = text\nend"}},{"html_id":"set_value(control_id:String,value:Val,ramp_time:Val|Nil=nil,**options)-instance-method","name":"set_value","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"args_string":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","args_html":"(control_id : String, value : Val, ramp_time : Val | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L127"},"def":{"name":"set_value","args":[{"name":"control_id","external_name":"control_id","restriction":"String"},{"name":"value","external_name":"value","restriction":"Val"},{"name":"ramp_time","default_value":"nil","external_name":"ramp_time","restriction":"Val | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader_type = options[:fader_type]?\nif fader_type\n @history[control_id] = fader_type\nend\nif ramp_time\n do_send(\"csvr \\\"#{control_id}\\\" #{value} #{ramp_time}\\n\", **options)\n schedule.in(ramp_time.seconds + 200.milliseconds) do\n get_status(control_id)\n end\nelse\n do_send(\"csv \\\"#{control_id}\\\" #{value}\\n\", **options)\nend\n"}},{"html_id":"snapshot(name:String,index:Int32,ramp_time:Val=1.5)-instance-method","name":"snapshot","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"args_string":"(name : String, index : Int32, ramp_time : Val = 1.5)","args_html":"(name : String, index : Int32, ramp_time : Val = 1.5)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L202"},"def":{"name":"snapshot","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","external_name":"index","restriction":"Int32"},{"name":"ramp_time","default_value":"1.5","external_name":"ramp_time","restriction":"Val"}],"visibility":"Public","body":"do_send(\"ssl \\\"#{name}\\\" #{index} #{ramp_time}\\n\")"}},{"html_id":"trigger(control_id:String)-instance-method","name":"trigger","doc":"Used to trigger dialing etc","summary":"

Used to trigger dialing etc

","abstract":false,"args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"args_string":"(control_id : String)","args_html":"(control_id : String)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L157"},"def":{"name":"trigger","args":[{"name":"control_id","external_name":"control_id","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"Sending trigger to Qsys: ct #{control_id}\"\nend\ndo_send(\"ct \\\"#{control_id}\\\"\\n\")\n"}},{"html_id":"unmute(mute_ids:Ids)-instance-method","name":"unmute","abstract":false,"args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"args_string":"(mute_ids : Ids)","args_html":"(mute_ids : Ids)","location":{"filename":"src/qsc/q_sys_control.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L194"},"def":{"name":"unmute","args":[{"name":"mute_ids","external_name":"mute_ids","restriction":"Ids"}],"visibility":"Public","body":"mute(mute_ids, false)"}}],"types":[{"html_id":"drivers/Qsc/QSysControl/Group","path":"Qsc/QSysControl/Group.html","kind":"alias","full_name":"Qsc::QSysControl::Group","name":"Group","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(id: Int32, controls: Set(String))","aliased_html":"{id: Int32, controls: Set(String)}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Ids","path":"Qsc/QSysControl/Ids.html","kind":"alias","full_name":"Qsc::QSysControl::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}},{"html_id":"drivers/Qsc/QSysControl/Val","path":"Qsc/QSysControl/Val.html","kind":"alias","full_name":"Qsc::QSysControl::Val","name":"Val","abstract":false,"locations":[{"filename":"src/qsc/q_sys_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_control.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysControl","kind":"class","full_name":"Qsc::QSysControl","name":"QSysControl"}}]},{"html_id":"drivers/Qsc/QSysRemote","path":"Qsc/QSysRemote.html","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BoolVals","name":"BoolVals","value":"[\"true\", \"false\"]"},{"id":"DB_RANGE","name":"DB_RANGE","value":"-100..20"},{"id":"Delimiter","name":"Delimiter","value":"\"\\u0000\""},{"id":"Errors","name":"Errors","value":"{-32700 => \"Parse error. Invalid JSON was received by the server.\", -32600 => \"Invalid request. The JSON sent is not a valid Request object.\", -32601 => \"Method not found.\", -32602 => \"Invalid params.\", -32603 => \"Server error.\", 2 => \"Invalid Page Request ID\", 3 => \"Bad Page Request - could not create the requested Page Request\", 4 => \"Missing file\", 5 => \"Change Groups exhausted\", 6 => \"Unknown change croup\", 7 => \"Unknown component name\", 8 => \"Unknown control\", 9 => \"Illegal mixer channel index\", 10 => \"Logon required\"}"},{"id":"Faders","name":"Faders","value":"{matrix_in: {type: :\"Mixer.SetInputGain\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputGain\", pri: :Outputs}, matrix_crosspoint: {type: :\"Mixer.SetCrossPointGain\", pri: :Inputs, sec: :Outputs}}"},{"id":"JsonRpcVer","name":"JsonRpcVer","value":"\"2.0\""},{"id":"Mutes","name":"Mutes","value":"{matrix_in: {type: :\"Mixer.SetInputMute\", pri: :Inputs}, matrix_out: {type: :\"Mixer.SetOutputMute\", pri: :Outputs}}"}],"namespace":{"html_id":"drivers/Qsc","kind":"module","full_name":"Qsc","name":"Qsc"},"instance_methods":[{"html_id":"auto_poll_change_group(group_id:String,every:Num,**options)-instance-method","name":"auto_poll_change_group","doc":"Where every is the number of seconds between polls","summary":"

Where every is the number of seconds between polls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"args_string":"(group_id : String, every : Num, **options)","args_html":"(group_id : String, every : Num, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L175"},"def":{"name":"auto_poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"every","external_name":"every","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AutoPoll\", {:Id => group_id, :Rate => every}, **options)"}},{"html_id":"change_group_add_component(group_id:String,component_name:String,controls:Array(String),**options)-instance-method","name":"change_group_add_component","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, component_name : String, controls : Array(String), **options)","args_html":"(group_id : String, component_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L149"},"def":{"name":"change_group_add_component","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"component_name","external_name":"component_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddComponentControl\", {:Id => group_id, :Component => {:Name => component_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}}, **options)"}},{"html_id":"change_group_add_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_add_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L135"},"def":{"name":"change_group_add_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.AddControl\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"change_group_remove_controls(group_id:String,controls:Array(String),**options)-instance-method","name":"change_group_remove_controls","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(group_id : String, controls : Array(String), **options)","args_html":"(group_id : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L142"},"def":{"name":"change_group_remove_controls","args":[{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Remove\", {:Id => group_id, :Controls => controls}, **options)"}},{"html_id":"clear_change_group(group_id:String,**options)-instance-method","name":"clear_change_group","doc":"Removes all controls from change group","summary":"

Removes all controls from change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L170"},"def":{"name":"clear_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Clear\", {:Id => group_id}, **options)"}},{"html_id":"component_get(c_name:String,controls:Array(String),**options)-instance-method","name":"component_get","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"args_string":"(c_name : String, controls : Array(String), **options)","args_html":"(c_name : String, controls : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L108"},"def":{"name":"component_get","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"controls","external_name":"controls","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Get\", {:Name => c_name, :Controls => controls.map do |ctrl|\n {:Name => ctrl}\nend}, **options)"}},{"html_id":"component_set(c_name:String,values:Values,**options)-instance-method","name":"component_set","abstract":false,"args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"args_string":"(c_name : String, values : Values, **options)","args_html":"(c_name : String, values : Values, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L115"},"def":{"name":"component_set","args":[{"name":"c_name","external_name":"c_name","restriction":"String"},{"name":"values","external_name":"values","restriction":"Values"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"values = ensure_array(values)\ndo_send(next_id, \"Component.Set\", {:Name => c_name, :Controls => values}, **options)\n"}},{"html_id":"component_trigger(component:String,trigger:String,**options)-instance-method","name":"component_trigger","abstract":false,"args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"args_string":"(component : String, trigger : String, **options)","args_html":"(component : String, trigger : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L124"},"def":{"name":"component_trigger","args":[{"name":"component","external_name":"component","restriction":"String"},{"name":"trigger","external_name":"trigger","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.Trigger\", {:Name => component, :Controls => [{:Name => trigger}]}, **options)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L55"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(20.seconds) do\n logger.debug do\n \"Maintaining Connection\"\n end\n no_op\nend\n@id = 0\n"}},{"html_id":"control_get(names:Array(String),**options)-instance-method","name":"control_get","abstract":false,"args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"args_string":"(names : Array(String), **options)","args_html":"(names : Array(String), **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L104"},"def":{"name":"control_get","args":[{"name":"names","external_name":"names","restriction":"Array(String)"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Control.Get\", names, **options)"}},{"html_id":"control_set(name:String,value:Num|Bool,ramp:Num|Nil=nil,**options)-instance-method","name":"control_set","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"args_string":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","args_html":"(name : String, value : Num | Bool, ramp : Num | Nil = nil, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L87"},"def":{"name":"control_set","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"ramp","default_value":"nil","external_name":"ramp","restriction":"Num | ::Nil"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"if ramp\n params = {:Name => name, :Value => value, :Ramp => ramp}\nelse\n params = {:Name => name, :Value => value}\nend\ndo_send(next_id, \"Control.Set\", params, **options)\n"}},{"html_id":"destroy_change_group(group_id:String,**options)-instance-method","name":"destroy_change_group","doc":"Removes the change group","summary":"

Removes the change group

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L165"},"def":{"name":"destroy_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Destroy\", {:Id => group_id}, **options)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"fader(fader_ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",use_value:Bool=false,**options)-instance-method","name":"fader","doc":"value can either be a number to set actual numeric values like decibels\nor Bool to deal with mute state","summary":"

value can either be a number to set actual numeric values like decibels or Bool to deal with mute state

","abstract":false,"args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"args_string":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", use_value : Bool = false, **options)","args_html":"(fader_ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", use_value : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":264,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L264"},"def":{"name":"fader","args":[{"name":"fader_ids","external_name":"fader_ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"},{"name":"use_value","default_value":"false","external_name":"use_value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"faders = ensure_array(fader_ids)\nif component && (val = value.as?(Num))\n val = val.to_f.clamp(0.0, 100.0)\n if @db_based_faders || use_value\n percentage = val / 100.0\n level_actual = percentage * (DB_RANGE.size - 1).to_f\n level_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\n fads = faders.map do |fad|\n {Name: fad, Value: level_actual}\n end\n else\n fads = faders.map do |fad|\n {Name: fad, Position: val}\n end\n end\n (component_set(component, fads, name: \"level_#{faders[0]}\")).get\n component_get(component, faders)\nelse\n reqs = faders.map do |fad|\n control_set(fad, value)\n end\n reqs.last.get\n control_get(faders)\nend\n"}},{"html_id":"faders(ids:Ids,value:Num|Bool,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, value : Num | Bool, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":290,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L290"},"def":{"name":"faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"value","external_name":"value","restriction":"Num | Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(ids, value, component, type, **options)"}},{"html_id":"get_components(**options)-instance-method","name":"get_components","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L131"},"def":{"name":"get_components","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"Component.GetComponents\", **options)"}},{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L72"},"def":{"name":"get_status","visibility":"Public","body":"do_send(next_id, cmd: :StatusGet, params: 0, priority: 0)"}},{"html_id":"logon-instance-method","name":"logon","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L76"},"def":{"name":"logon","visibility":"Public","body":"do_send(cmd: :Logon, params: {:User => @username, :Password => @password}, priority: 99)"}},{"html_id":"matrix_fader(name:String,level:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_fader","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, level : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, level : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L213"},"def":{"name":"matrix_fader","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"level","external_name":"level","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Faders[type]\nlevel = level.to_f.clamp(0.0, 100.0)\npercentage = level / 100.0\nlevel_actual = percentage * (DB_RANGE.size - 1).to_f\nlevel_actual = (level_actual + DB_RANGE.begin.to_f).round(1)\nif sec = info[:sec]?\n params = {:Name => name, info[:pri] => index[0], sec => index[1], :Value => level_actual}\nelse\n params = {:Name => name, info[:pri] => index, :Value => level_actual}\nend\ndo_send(next_id, info[:type], params, **options)\n"}},{"html_id":"matrix_mute(name:String,value:Num,index:Array(Int32),type:String=\"matrix_out\",**options)-instance-method","name":"matrix_mute","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"args_string":"(name : String, value : Num, index : Array(Int32), type : String = \"matrix_out\", **options)","args_html":"(name : String, value : Num, index : Array(Int32), type : String = "matrix_out", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L252"},"def":{"name":"matrix_mute","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"value","external_name":"value","restriction":"Num"},{"name":"index","external_name":"index","restriction":"Array(Int32)"},{"name":"type","default_value":"\"matrix_out\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"info = Mutes[type]\ndo_send(next_id, info[:type], {:Name => name, info[:pri] => index, :Value => value}, **options)\n"}},{"html_id":"mixer(name:String,inouts:Hash(Int32,Int32|Array(Int32)),mute:Bool=false,**options)-instance-method","name":"mixer","doc":"Example usage:\nmixer 'Parade', {1 => [2,3,4], 3 => 6}, true","summary":"

Example usage: mixer 'Parade', {1 => [2,3,4], 3 => 6}, true

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"args_string":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","args_html":"(name : String, inouts : Hash(Int32, Int32 | Array(Int32)), mute : Bool = false, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":184,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L184"},"def":{"name":"mixer","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"inouts","external_name":"inouts","restriction":"Hash(Int32, Int32 | Array(Int32))"},{"name":"mute","default_value":"false","external_name":"mute","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"inouts.each do |input, outputs|\n outputs = ensure_array(outputs)\n do_send(next_id, \"Mixer.SetCrossPointMute\", {:Name => name, :Inputs => input.to_s, :Outputs => outputs.join(' '), :Value => mute}, **options)\nend"}},{"html_id":"mute(fader_id:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":294,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L294"},"def":{"name":"mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"fader(fader_id, state, component, type, state, **options)"}},{"html_id":"mutes(ids:Ids,state:Bool=true,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, state : Bool = true, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":298,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L298"},"def":{"name":"mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(ids, state, component, type, **options)"}},{"html_id":"next_id-instance-method","name":"next_id","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":399,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L399"},"def":{"name":"next_id","visibility":"Public","body":"@id = @id + 1\n@id\n"}},{"html_id":"no_op-instance-method","name":"no_op","doc":"This command does nothing but is useful for making sure the socket is left open","summary":"

This command does nothing but is useful for making sure the socket is left open

","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L68"},"def":{"name":"no_op","visibility":"Public","body":"do_send(cmd: :NoOp, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Delimiter)\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/qsc/q_sys_remote.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"@db_based_faders = setting?(Bool, :db_based_faders)\n@username = setting?(String, :username)\n@password = setting?(String, :password)\nif @username && @password\n logon\nend\n"}},{"html_id":"poll_change_group(group_id:String,**options)-instance-method","name":"poll_change_group","doc":"Returns values for all the controls","summary":"

Returns values for all the controls

","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String, **options)","args_html":"(group_id : String, **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L160"},"def":{"name":"poll_change_group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(next_id, \"ChangeGroup.Poll\", {:Id => group_id}, **options)"}},{"html_id":"query_fader(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_fader","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L306"},"def":{"name":"query_fader","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"faders = ensure_array(fader_id)\ncomponent ? component_get(component, faders) : control_get(faders)\n"}},{"html_id":"query_faders(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_faders","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L311"},"def":{"name":"query_faders","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"query_mute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\")-instance-method","name":"query_mute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\")","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader")","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L315"},"def":{"name":"query_mute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"visibility":"Public","body":"query_fader(fader_id, component, type)"}},{"html_id":"query_mutes(ids:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"query_mutes","abstract":false,"args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(ids : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(ids : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L319"},"def":{"name":"query_mutes","args":[{"name":"ids","external_name":"ids","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"query_fader(ids, component, type, **options)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L323"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-2])\nresponse = JSON.parse(data)\nlogger.debug do\n \"QSys sent:\"\nend\nlogger.debug do\n response\nend\nif err = response[\"error\"]?\n code = err[\"code\"]\n logger.warn do\n \"Error code #{code} - #{Errors[code]}\"\n end\n if code == 10\n if @username && @password\n logon.get\n return task.try(&.retry(\"Logged on and retrying command\"))\n else\n return task.try(&.abort(\"Login required but no username and/or password in settings\"))\n end\n end\n return task.try(&.abort(err[\"message\"]))\nend\nif result = response[\"result\"]?\nelse\n return task.try(&.success(\"Unknown response\"))\nend\ncase result\nwhen .as_h?\n if result[\"Controls\"]?\n process(result[\"Controls\"].as_a, result[\"Name\"]?)\n else\n if result[\"Platform\"]?\n result.as_h.each do |k, v|\n self[k.underscore] = v\n end\n end\n end\nwhen .as_a?\n process(result.as_a)\nend\ntask.try(&.success)\n"}},{"html_id":"unmute(fader_id:Ids,component:String|Nil=nil,type:String=\"fader\",**options)-instance-method","name":"unmute","abstract":false,"args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"args_string":"(fader_id : Ids, component : String | Nil = nil, type : String = \"fader\", **options)","args_html":"(fader_id : Ids, component : String | Nil = nil, type : String = "fader", **options)","location":{"filename":"src/qsc/q_sys_remote.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L302"},"def":{"name":"unmute","args":[{"name":"fader_id","external_name":"fader_id","restriction":"Ids"},{"name":"component","default_value":"nil","external_name":"component","restriction":"String | ::Nil"},{"name":"type","default_value":"\"fader\"","external_name":"type","restriction":"String"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"mute(fader_id, false, component, type, **options)"}}],"types":[{"html_id":"drivers/Qsc/QSysRemote/Ids","path":"Qsc/QSysRemote/Ids.html","kind":"alias","full_name":"Qsc::QSysRemote::Ids","name":"Ids","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(String) | String)","aliased_html":"Array(String) | String","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Num","path":"Qsc/QSysRemote/Num.html","kind":"alias","full_name":"Qsc::QSysRemote::Num","name":"Num","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/PosTup","path":"Qsc/QSysRemote/PosTup.html","kind":"alias","full_name":"Qsc::QSysRemote::PosTup","name":"PosTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L39"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Position: Float64 | Int32)","aliased_html":"{Name: String, Position: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/ValTup","path":"Qsc/QSysRemote/ValTup.html","kind":"alias","full_name":"Qsc::QSysRemote::ValTup","name":"ValTup","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L38"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"NamedTuple(Name: String, Value: Float64 | Int32)","aliased_html":"{Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}},{"html_id":"drivers/Qsc/QSysRemote/Values","path":"Qsc/QSysRemote/Values.html","kind":"alias","full_name":"Qsc::QSysRemote::Values","name":"Values","abstract":false,"locations":[{"filename":"src/qsc/q_sys_remote.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/qsc/q_sys_remote.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Array(NamedTuple(Name: String, Position: Float64 | Int32)) | Array(NamedTuple(Name: String, Value: Float64 | Int32)) | NamedTuple(Name: String, Position: Float64 | Int32) | NamedTuple(Name: String, Value: Float64 | Int32))","aliased_html":"Array({Name: String, Position: Float64 | Int32}) | Array({Name: String, Value: Float64 | Int32}) | {Name: String, Position: Float64 | Int32} | {Name: String, Value: Float64 | Int32}","const":false,"namespace":{"html_id":"drivers/Qsc/QSysRemote","kind":"class","full_name":"Qsc::QSysRemote","name":"QSysRemote"}}]}]},{"html_id":"drivers/RHBAccess","path":"RHBAccess.html","kind":"module","full_name":"RHBAccess","name":"RHBAccess","abstract":false,"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/RHBAccess/AxiomRoomLogic","path":"RHBAccess/AxiomRoomLogic.html","kind":"class","full_name":"RHBAccess::AxiomRoomLogic","name":"AxiomRoomLogic","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock-instance-method","name":"lock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L29"},"def":{"name":"lock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.lock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while LOCKING #{@door_ids}\"\n end\nelse\n self[\"locked_by_placeos_at\"] = Time.local\n status?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"@door_ids = setting(Array(String), :axiom_door_ids)\n@cron_string = setting(String, :axiom_status_poll_cron)\nschedule.clear\nschedule.cron(@cron_string) do\n status?\nend\n"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L47"},"def":{"name":"status?","visibility":"Public","body":"begin\n result = @door_ids.map do |id|\n {id, (axiom.status?(id)).get}\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR requesting STATUS of #{@door_ids}\"\n end\nelse\n result.map do |id, status|\n self[id] = status[\"Status\"]\n end\n self[\"doors_locked\"] = result.count do |status|\n status.includes?(\"Locked\")\n end\nend"}},{"html_id":"unlock-instance-method","name":"unlock","abstract":false,"location":{"filename":"src/rhb_access/axiom_room_logic.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiom_room_logic.cr#L38"},"def":{"name":"unlock","visibility":"Public","body":"begin\n @door_ids.map do |d|\n (axiom.unlock(d)).get\n end\nrescue\n logger.error do\n \"AxiomXa: ERROR while UNLOCKING #{@door_ids}\"\n end\nelse\n self[\"unlocked_by_placeos_at\"] = Time.local\n status?\nend"}}]},{"html_id":"drivers/RHBAccess/Axiomxa","path":"RHBAccess/Axiomxa.html","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/RHBAccess","kind":"module","full_name":"RHBAccess","name":"RHBAccess"},"instance_methods":[{"html_id":"lock(id:String,permanent:Bool=false)-instance-method","name":"lock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L27"},"def":{"name":"lock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg0|\n __arg0.access_points.lock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"locked\", \"permanent\" => permanent.to_s}\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhb_access/axiomxa.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\n@client = Client.new(base_url: host_name.to_s, username: setting(String, :username), password: setting(String, :password))\n"}},{"html_id":"status?(id:String)-instance-method","name":"status?","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L37"},"def":{"name":"status?","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"response = @client.try() do |__arg2|\n __arg2.access_points.status(id: id)\nend\nself[\"access_point_#{id}_status\"] = JSON.parse(response.not_nil!.body)\n"}},{"html_id":"unlock(id:String,permanent:Bool=false)-instance-method","name":"unlock","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"args_string":"(id : String, permanent : Bool = false)","args_html":"(id : String, permanent : Bool = false)","location":{"filename":"src/rhb_access/axiomxa.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L32"},"def":{"name":"unlock","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"permanent","default_value":"false","external_name":"permanent","restriction":"Bool"}],"visibility":"Public","body":"@client.try() do |__arg1|\n __arg1.access_points.unlock(id: id, permanent: permanent.to_s)\nend\nself[\"access_point_#{id}\"] = {\"Status\" => \"unlocked\", \"permanent\" => permanent.to_s}\n"}}],"types":[{"html_id":"drivers/RHBAccess/Axiomxa/Client","path":"RHBAccess/Axiomxa/Client.html","kind":"alias","full_name":"RHBAccess::Axiomxa::Client","name":"Client","abstract":false,"locations":[{"filename":"src/rhb_access/axiomxa.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhb_access/axiomxa.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Axio::Client","aliased_html":"Axio::Client","const":false,"namespace":{"html_id":"drivers/RHBAccess/Axiomxa","kind":"class","full_name":"RHBAccess::Axiomxa","name":"Axiomxa"}}]}]},{"html_id":"drivers/Rhombus","path":"Rhombus.html","kind":"module","full_name":"Rhombus","name":"Rhombus","abstract":false,"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Rhombus/SecurityInterop","path":"Rhombus/SecurityInterop.html","kind":"class","full_name":"Rhombus::SecurityInterop","name":"SecurityInterop","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"door_event(json:String)-instance-method","name":"door_event","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String)","args_html":"(json : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L80"},"def":{"name":"door_event","args":[{"name":"json","external_name":"json","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"new door event detected: #{json}\"\nend\nwebhook = Webhook.new(Interface::DoorSecurity::DoorEvent.from_json(json))\n@event_count = @event_count + 1_u64\n@subscriptions.each do |sub|\n begin\n logger.debug do\n \"notifying webhook of new door event: #{sub.webhook}\"\n end\n webhook.sign(sub.secret)\n response = HTTP::Client.post(sub.webhook, HTTP::Headers {\"Content-Type\" => \"application/json\"}, webhook.to_json)\n if response.success?\n else\n logger.warn do\n \"request #{sub.webhook} failed with status: #{response.status_code}\\n#{response.body}\"\n end\n end\n rescue error\n logger.error(exception: error) do\n \"failed to notify subscription: #{sub.webhook}\"\n end\n end\nend\nself[:event_count] = @event_count\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L19"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_interop.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L23"},"def":{"name":"on_update","visibility":"Public","body":"subscriptions.clear\norg_id = (setting?(String, :organization_id)) || \"event\"\nmonitor(\"security/#{org_id}/door\") do |_subscription, payload|\n door_event(payload)\nend\n@subscriptions = (setting?(Array(Subscription), :subscriptions)) || ([] of Subscription)\n@debug_webhook = (setting?(Bool, :debug_webhook)) || false\n"}},{"html_id":"request(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"request","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/rhombus/security_interop.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop.cr#L35"},"def":{"name":"request","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"begin\n logger.debug do\n \"webhook received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\n end\n if @debug_webhook\n logger.debug do\n body\n end\n end\n case method.downcase\n when \"post\"\n @subscriptions << (Subscription.from_json(body))\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::CREATED.to_i, {} of String => String, \"\"}\n when \"delete\"\n sub_webhook = (Subscription.from_json(body)).webhook\n @subscriptions.reject! do |sub|\n sub.webhook == sub_webhook\n end\n define_setting(:subscriptions, @subscriptions)\n {HTTP::Status::ACCEPTED.to_i, {} of String => String, \"\"}\n when \"get\"\n all_doors = [] of JSON::Any\n security.door_list.get.each do |doors|\n all_doors.concat(doors.as_a)\n end\n {HTTP::Status::OK.to_i, {\"Content-Type\" => \"application/json\"}, {doors: all_doors}.to_json}\n when \"put\"\n door = (Interface::DoorSecurity::Door.from_json(body)).door_id\n case (security.unlock(door)).get.first.as_bool?\n in true\n {HTTP::Status::OK.to_i, {} of String => String, \"\"}\n in false\n {HTTP::Status::FORBIDDEN.to_i, {} of String => String, \"\"}\n in nil\n {HTTP::Status::NOT_IMPLEMENTED.to_i, {} of String => String, \"\"}\n end\n else\n {HTTP::Status::BAD_REQUEST.to_i, {\"Content-Type\" => \"application/json\"}, {error: \"unexpected HTTP request method: #{method}\"}.to_json}\n end\nrescue error\n logger.warn(exception: error) do\n \"processing webhook request\"\n end\n {HTTP::Status::INTERNAL_SERVER_ERROR.to_i, {\"Content-Type\" => \"application/json\"}, error.message.to_s}\nend"}}]},{"html_id":"drivers/Rhombus/SecurityMock","path":"Rhombus/SecurityMock.html","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/DoorSecurity","kind":"module","full_name":"PlaceOS::Driver::Interface::DoorSecurity","name":"DoorSecurity"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"instance_methods":[{"html_id":"card_holders:Array(CardUser)-instance-method","name":"card_holders","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L27"},"def":{"name":"card_holders","return_type":"Array(CardUser)","visibility":"Public","body":"@card_holders"}},{"html_id":"door_list:Array(Door)-instance-method","name":"door_list","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L26"},"def":{"name":"door_list","return_type":"Array(Door)","visibility":"Public","body":"@door_list"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"door_list_size = (setting?(Int32, :door_list_size)) || 30\nFaker.seed(door_list_size)\ndoors = Array(Door).new(door_list_size)\ndoor_list_size.times do\n doors << (Door.new(Faker::Business.credit_card_number, Faker::Commerce.department))\nend\n@door_list = doors\n@card_holders = (0..10).map do\n CardUser.new(Faker::Business.credit_card_number, Faker::Name.name, Faker::Internet.safe_email)\nend\nswipe_event_period = (setting?(Int32, :swipe_event_every)) || 30\nschedule.clear\nschedule.every(swipe_event_period.seconds) do\n door = doors.sample\n action = Action::Granted\n case rand(6)\n when 0, 1, 2\n user = card_holders.sample\n when 3\n action = Action::Denied\n user = card_holders.sample\n when 4\n action = Action::Tamper\n when 5\n action = Action::RequestToExit\n end\n publish(\"security/event/door\", DoorEvent.new(module_id: module_id, security_system: \"mock\", door_id: door.door_id, action: action, card_id: user.try(&.card_id), user_name: user.try(&.user_name), user_email: user.try(&.user_email)).to_json)\nend\n"}},{"html_id":"unlock(door_id:String):Bool|Nil-instance-method","name":"unlock","doc":"true for success, false for failed, nil for not supported","summary":"

true for success, false for failed, nil for not supported

","abstract":false,"args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"args_string":"(door_id : String) : Bool | Nil","args_html":"(door_id : String) : Bool | Nil","location":{"filename":"src/rhombus/security_mock.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L83"},"def":{"name":"unlock","args":[{"name":"door_id","external_name":"door_id","restriction":"String"}],"return_type":"Bool | ::Nil","visibility":"Public","body":"self[:last_unlocked] = door_id\ntrue\n"}}],"types":[{"html_id":"drivers/Rhombus/SecurityMock/CardUser","path":"Rhombus/SecurityMock/CardUser.html","kind":"struct","full_name":"Rhombus::SecurityMock::CardUser","name":"CardUser","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus/SecurityMock","kind":"class","full_name":"Rhombus::SecurityMock","name":"SecurityMock"},"constructors":[{"html_id":"new(card_id:String,user_name:String,user_email:String)-class-method","name":"new","abstract":false,"args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"args_string":"(card_id : String, user_name : String, user_email : String)","args_html":"(card_id : String, user_name : String, user_email : String)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"new","args":[{"name":"card_id","external_name":"card_id","restriction":"String"},{"name":"user_name","external_name":"user_name","restriction":"String"},{"name":"user_email","external_name":"user_email","restriction":"String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(card_id, user_name, user_email)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_mock.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"card_id:String-instance-method","name":"card_id","abstract":false,"def":{"name":"card_id","return_type":"String","visibility":"Public","body":"@card_id"}},{"html_id":"clone-instance-method","name":"clone","abstract":false,"location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"clone","visibility":"Public","body":"self.class.new(@card_id.clone, @user_name.clone, @user_email.clone)"}},{"html_id":"copy_with(card_id_card_id=@card_id,user_name_user_name=@user_name,user_email_user_email=@user_email)-instance-method","name":"copy_with","abstract":false,"args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"args_string":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","args_html":"(card_id _card_id = @card_id, user_name _user_name = @user_name, user_email _user_email = @user_email)","location":{"filename":"src/rhombus/security_mock.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_mock.cr#L22"},"def":{"name":"copy_with","args":[{"name":"_card_id","default_value":"@card_id","external_name":"card_id","restriction":""},{"name":"_user_name","default_value":"@user_name","external_name":"user_name","restriction":""},{"name":"_user_email","default_value":"@user_email","external_name":"user_email","restriction":""}],"visibility":"Public","body":"self.class.new(_card_id, _user_name, _user_email)"}},{"html_id":"user_email:String-instance-method","name":"user_email","abstract":false,"def":{"name":"user_email","return_type":"String","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String-instance-method","name":"user_name","abstract":false,"def":{"name":"user_name","return_type":"String","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Rhombus/Subscription","path":"Rhombus/Subscription.html","kind":"class","full_name":"Rhombus::Subscription","name":"Subscription","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(webhook:String,secret:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"args_string":"(webhook : String, secret : Nil | String = nil)","args_html":"(webhook : String, secret : Nil | String = nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L12"},"def":{"name":"new","args":[{"name":"webhook","external_name":"webhook","restriction":"::String"},{"name":"secret","default_value":"nil","external_name":"secret","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(webhook, secret)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"secret:String|Nil-instance-method","name":"secret","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L10"},"def":{"name":"secret","return_type":"String | ::Nil","visibility":"Public","body":"@secret"}},{"html_id":"webhook:String-instance-method","name":"webhook","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L9"},"def":{"name":"webhook","return_type":"String","visibility":"Public","body":"@webhook"}}]},{"html_id":"drivers/Rhombus/Webhook","path":"Rhombus/Webhook.html","kind":"class","full_name":"Rhombus::Webhook","name":"Webhook","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/rhombus/security_interop_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L16"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Rhombus","kind":"module","full_name":"Rhombus","name":"Rhombus"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L17"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}},{"html_id":"new(event:PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)-class-method","name":"new","abstract":false,"args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"args_string":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","args_html":"(event : PlaceOS::Driver::Interface::DoorSecurity::DoorEvent)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L27"},"def":{"name":"new","args":[{"name":"event","external_name":"event","restriction":"PlaceOS::Driver::Interface::DoorSecurity::DoorEvent"}],"visibility":"Public","body":"_ = allocate\n_.initialize(event)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"action:PlaceOS::Driver::Interface::DoorSecurity::Action-instance-method","name":"action","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L22"},"def":{"name":"action","return_type":"PlaceOS::Driver::Interface::DoorSecurity::Action","visibility":"Public","body":"@action"}},{"html_id":"card_id:String|Nil-instance-method","name":"card_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L23"},"def":{"name":"card_id","return_type":"String | ::Nil","visibility":"Public","body":"@card_id"}},{"html_id":"door_id:String-instance-method","name":"door_id","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L19"},"def":{"name":"door_id","return_type":"String","visibility":"Public","body":"@door_id"}},{"html_id":"sign(secret:String|Nil)-instance-method","name":"sign","abstract":false,"args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"args_string":"(secret : String | Nil)","args_html":"(secret : String | Nil)","location":{"filename":"src/rhombus/security_interop_models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L37"},"def":{"name":"sign","args":[{"name":"secret","external_name":"secret","restriction":"String | ::Nil"}],"visibility":"Public","body":"if key = secret.presence\n @signature = OpenSSL::HMAC.hexdigest(:sha256, key, timestamp.to_rfc3339)\nelse\n @signature = nil\nend\nself\n"}},{"html_id":"signature:String|Nil-instance-method","name":"signature","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L21"},"def":{"name":"signature","return_type":"String | ::Nil","visibility":"Public","body":"@signature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L20"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"user_email:String|Nil-instance-method","name":"user_email","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L25"},"def":{"name":"user_email","return_type":"String | ::Nil","visibility":"Public","body":"@user_email"}},{"html_id":"user_name:String|Nil-instance-method","name":"user_name","abstract":false,"location":{"filename":"src/rhombus/security_interop_models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/rhombus/security_interop_models.cr#L24"},"def":{"name":"user_name","return_type":"String | ::Nil","visibility":"Public","body":"@user_name"}}]}]},{"html_id":"drivers/Samsung","path":"Samsung.html","kind":"module","full_name":"Samsung","name":"Samsung","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Samsung/Displays","path":"Samsung/Displays.html","kind":"module","full_name":"Samsung::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Samsung","kind":"module","full_name":"Samsung","name":"Samsung"},"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol","path":"Samsung/Displays/MDCProtocol.html","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DEVICE_SETTINGS","name":"DEVICE_SETTINGS","value":"{network_standby: Bool, auto_off_timer: Bool, auto_power: Bool, volume: Num, contrast: Num, brightness: Num, sharpness: Num, colour: Num, tint: Num, red_gain: Num, green_gain: Num, blue_gain: Num}"},{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"auto_off_timer(value:Bool,**options)-instance-method","name":"auto_off_timer","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_off_timer","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_off_timer\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_off_timer\"), data, **options)\n"}},{"html_id":"auto_power(value:Bool,**options)-instance-method","name":"auto_power","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"auto_power","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"auto_power\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"auto_power\"), data, **options)\n"}},{"html_id":"blue_gain(value:Num,**options)-instance-method","name":"blue_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"blue_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"blue_gain\"), data, **options)\n"}},{"html_id":"brightness(value:Num,**options)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"brightness\"), data, **options)\n"}},{"html_id":"colour(value:Num,**options)-instance-method","name":"colour","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"colour","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"colour\"), data, **options)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L82"},"def":{"name":"connected","visibility":"Public","body":"if self[:hard_off]?.try(&.as_bool)\nelse\n do_device_config\nend\nschedule.every(30.seconds, true) do\n do_poll\nend\n"}},{"html_id":"contrast(value:Num,**options)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"contrast\"), data, **options)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L90"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L209"},"def":{"name":"do_device_config","visibility":"Public","body":"{% for name, kind in DEVICE_SETTINGS %}\n %value = setting?({{ kind }}, {{ name.id.stringify }})\n {{ name.id }}(%value) if %value\n {% end %}"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L175"},"def":{"name":"do_poll","visibility":"Public","body":"do_send(Command::Status, Bytes.empty, priority: 0)\nif self[:hard_off]?.try(&.as_bool)\nelse\n power?\nend\n"}},{"html_id":"green_gain(value:Num,**options)-instance-method","name":"green_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"green_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"green_gain\"), data, **options)\n"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L113"},"def":{"name":"hard_off","visibility":"Public","body":"if self[:power]?.try(&.as_bool)\n do_send(Command::PanelMute, 0)\nend\ndo_send(Command::HardOff, 0)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L124"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.video? || layer.audio_video?\n mute_video(state)\nend\nif layer.audio? || layer.audio_video?\n mute_audio(state)\nend\n"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L140"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"mute_video(state:Bool=true)-instance-method","name":"mute_video","doc":"Adds video mute state compatible with projectors","summary":"

Adds video mute state compatible with projectors

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L134"},"def":{"name":"mute_video","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"state = state ? 1 : 0\ndo_send(Command::PanelMute, state)\n"}},{"html_id":"network_standby(value:Bool,**options)-instance-method","name":"network_standby","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"}],"args_string":"(value : Bool, **options)","args_html":"(value : Bool, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"network_standby","args":[{"name":"value","external_name":"value","restriction":"Bool"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"state = value ? 1 : 0\ndata = \"network_standby\" == \"auto_off_timer\" ? Bytes[129, state] : state\ndo_send(Command.parse(\"network_standby\"), data, **options)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L62"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L76"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\n@blank = (setting?(String, :blanking_input)).try(&->Input.parse(String))\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L96"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\nif state\n do_send(Command::HardOff, 1)\n do_send(Command::PanelMute, 0)\nelse\n if (blanking_input = @blank) && self[:power]?\n switch_to(blanking_input)\n end\n do_send(Command::PanelMute, 1)\nend\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L118"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::PanelMute, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L221"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .status?\n self[:hard_off] = hard_off = values[0] == 0\n if hard_off\n self[:power] = false\n end\n self[:volume] = values[1]\n self[:audio_mute] = values[2] == 1\n self[:input] = Input.from_value(values[3])\n check_power_state\n when .panel_mute?\n self[:power] = value == 0\n check_power_state\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .brightness?\n self[:brightness] = value\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n if self[:screen_split]?.try(&.as_bool)\n else\n if current_input == @input_target\n @input_target = nil\n else\n if input_target = @input_target\n switch_to(input_target)\n end\n end\n end\n when .speaker?\n self[:speaker] = SpeakerMode.from_value(value)\n when .hard_off?\n if self[:hard_off]?.try(&.as_bool)\n else\n self[:hard_off] = hard_off = value == 0\n if hard_off\n self[:power] = false\n end\n end\n when .screen_split?\n self[:screen_split] = value >= 0\n when .software_version?\n self[:software_version] = values.join\n when .serial_number?\n self[:serial_number] = values.join\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"red_gain(value:Num,**options)-instance-method","name":"red_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"red_gain","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"red_gain\"), data, **options)\n"}},{"html_id":"serial_number-instance-method","name":"serial_number","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":157,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L157"},"def":{"name":"serial_number","visibility":"Public","body":"do_send(Command::SerialNumber)"}},{"html_id":"sharpness(value:Num,**options)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"sharpness\"), data, **options)\n"}},{"html_id":"software_version-instance-method","name":"software_version","doc":"check software version","summary":"

check software version

","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L153"},"def":{"name":"software_version","visibility":"Public","body":"do_send(Command::SoftwareVersion)"}},{"html_id":"speaker_select(mode:SpeakerMode,**options)-instance-method","name":"speaker_select","abstract":false,"args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"args_string":"(mode : SpeakerMode, **options)","args_html":"(mode : SpeakerMode, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L171"},"def":{"name":"speaker_select","args":[{"name":"mode","external_name":"mode","restriction":"SpeakerMode"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(Command::Speaker, mode.value, **options)"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L161"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"tint(value:Num,**options)-instance-method","name":"tint","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"tint","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"tint\"), data, **options)\n"}},{"html_id":"volume(value:Num,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Num"}],"args_string":"(value : Num, **options)","args_html":"(value : Num, **options)","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L196"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Num"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command.parse(\"volume\"), data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/MDCProtocol/Command","path":"Samsung/Displays/MDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":299,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L299"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":316,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L316"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":323,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L323"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L324"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":311,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L311"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":305,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L305"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":331,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L331"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":307,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L307"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":304,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L304"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":310,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L310"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":301,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L301"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":312,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L312"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":313,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L313"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":322,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L322"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L302"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":315,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L315"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":309,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L309"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":318,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L318"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L325"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":327,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L327"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L306"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L314"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":326,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L326"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":321,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L321"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":300,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L300"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":328,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L328"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":329,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L329"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L308"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":303,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L303"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L317"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":319,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L319"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L320"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Input","path":"Samsung/Displays/MDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/Num","path":"Samsung/Displays/MDCProtocol/Num.html","kind":"alias","full_name":"Samsung::Displays::MDCProtocol::Num","name":"Num","abstract":false,"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L180"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"(Float64 | Int32)","aliased_html":"Float64 | Int32","const":false,"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"}},{"html_id":"drivers/Samsung/Displays/MDCProtocol/ResponseStatus","path":"Samsung/Displays/MDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L216"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L217"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L218"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]},{"html_id":"drivers/Samsung/Displays/MDCProtocol/SpeakerMode","path":"Samsung/Displays/MDCProtocol/SpeakerMode.html","kind":"enum","full_name":"Samsung::Displays::MDCProtocol::SpeakerMode","name":"SpeakerMode","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L166"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Internal","name":"Internal","value":"0"},{"id":"External","name":"External","value":"1"}],"namespace":{"html_id":"drivers/Samsung/Displays/MDCProtocol","kind":"class","full_name":"Samsung::Displays::MDCProtocol","name":"MDCProtocol"},"instance_methods":[{"html_id":"external?-instance-method","name":"external?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L168"},"def":{"name":"external?","visibility":"Public","body":"self == External"}},{"html_id":"internal?-instance-method","name":"internal?","abstract":false,"location":{"filename":"src/samsung/displays/mdc_protocol.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/mdc_protocol.cr#L167"},"def":{"name":"internal?","visibility":"Public","body":"self == Internal"}}]}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","path":"Samsung/Displays/ReducedMDCProtocol.html","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INDICATOR","name":"INDICATOR","value":"170_u8"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Samsung/Displays","kind":"module","full_name":"Samsung::Displays","name":"Displays"},"instance_methods":[{"html_id":"clear_whiteboard-instance-method","name":"clear_whiteboard","doc":"if the user has been using the display as a whiteboard\nthen the display needs to switch input","summary":"

if the user has been using the display as a whiteboard then the display needs to switch input

","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L142"},"def":{"name":"clear_whiteboard","visibility":"Public","body":"target_input = @input_target\nclear_input = @whiteboard_clear_input\nif target_input && clear_input\n (switch_to(clear_input)).get\n switch_to(target_input)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L87"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L93"},"def":{"name":"disconnected","visibility":"Public","body":"if @rs232\nelse\n self[:power] = false\nend\nschedule.clear\n"}},{"html_id":"do_device_config-instance-method","name":"do_device_config","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L159"},"def":{"name":"do_device_config","visibility":"Public","body":"value = setting?(Int32 | Float64, :volume)\nif value\n volume(value)\nend\n"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":151,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L151"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n do_send(Command::Volume, Bytes.empty, priority: 0)\nend"}},{"html_id":"hard_off-instance-method","name":"hard_off","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L104"},"def":{"name":"hard_off","visibility":"Public","body":"do_send(Command::HardOff, 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"Mutes both audio/video","summary":"

Mutes both audio/video

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L114"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer.audio? || layer.audio_video?\n mute_audio(state)\nend"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","doc":"Emulate audio mute","summary":"

Emulate audio mute

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L123"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if self[:audio_mute]?.try(&.as_bool) == state\n return\nend\nself[:audio_mute] = state\nif state\n @previous_volume = self[:volume]?.try(&.as_i) || 0\n volume(0)\nelse\n volume(@previous_volume)\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L63"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.first == INDICATOR\n else\n disconnect\n end\n logger.debug do\n \"Received: #{bytes}\"\n end\n bytes.size < 4 ? 0 : bytes[3].to_i + 5\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L77"},"def":{"name":"on_update","visibility":"Public","body":"@id = setting(UInt8, :display_id)\n@rs232 = setting(Bool, :rs232_control)\nif clear_input = setting?(String, :whiteboard_clear_input)\n @whiteboard_clear_input = Input.parse(clear_input)\nelse\n @whiteboard_clear_input = nil\nend\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","doc":"As true power off disconnects the server we only want to power off the panel","summary":"

As true power off disconnects the server we only want to power off the panel

","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L99"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"@power_target = state\ndo_send(Command::HardOff, state ? 1 : 0)\n"}},{"html_id":"power?(**options):Bool-instance-method","name":"power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":108,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L108"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"return_type":"Bool","visibility":"Public","body":"(do_send(Command::HardOff, Bytes.empty, **options)).get\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L174"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"hex = data.hexstring\nlogger.debug do\n \"Samsung sent: #{hex}\"\nend\nif data[-1] != (checksum = (data[1..-2].sum(0)) & 255)\n logger.error do\n \"Invalid response, checksum should be: #{checksum.to_s(16)}\"\n end\n return task.try(&.retry)\nend\nstatus = ResponseStatus.from_value(data[4])\ncommand = Command.from_value(data[5])\nvalues = data[6..-2]\nvalue = values.first\ncase status\nwhen .ack?\n case command\n when .volume?\n self[:volume] = value\n if value > 0\n self[:audio_mute] = false\n end\n when .input?\n current_input = Input.from_value(value)\n self[:input] = current_input\n when .hard_off?\n self[:power] = value != 0\n check_power_state\n else\n logger.debug do\n \"Samsung responded with ACK: #{value}\"\n end\n end\n task.try(&.success)\nwhen .nak?\n task.try(&.abort(\"Samsung responded with NAK: #{hex}\"))\nelse\n task.try(&.retry)\nend\n"}},{"html_id":"switch_to(input:Input,**options)-instance-method","name":"switch_to","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input, **options)","args_html":"(input : Input, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L135"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"@input_target = input\ndo_send(Command::Input, input.value, **options)\n"}},{"html_id":"volume(value:Int32|Float64,**options)-instance-method","name":"volume","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"args_string":"(value : Int32 | Float64, **options)","args_html":"(value : Int32 | Float64, **options)","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":164,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L164"},"def":{"name":"volume","args":[{"name":"value","external_name":"value","restriction":"Int32 | Float64"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = (value.to_f.clamp(0.0, 100.0)).round_away.to_i\ndo_send(Command::Volume, data, **options)\n"}}],"types":[{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Command","path":"Samsung/Displays/ReducedMDCProtocol/Command.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L224"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Status","name":"Status","value":"0_u8"},{"id":"HardOff","name":"HardOff","value":"17_u8"},{"id":"PanelMute","name":"PanelMute","value":"249_u8"},{"id":"Volume","name":"Volume","value":"18_u8"},{"id":"Contrast","name":"Contrast","value":"36_u8"},{"id":"Brightness","name":"Brightness","value":"37_u8"},{"id":"Sharpness","name":"Sharpness","value":"38_u8"},{"id":"Colour","name":"Colour","value":"39_u8"},{"id":"Tint","name":"Tint","value":"40_u8"},{"id":"RedGain","name":"RedGain","value":"41_u8"},{"id":"GreenGain","name":"GreenGain","value":"42_u8"},{"id":"BlueGain","name":"BlueGain","value":"43_u8"},{"id":"Input","name":"Input","value":"20_u8"},{"id":"Mode","name":"Mode","value":"24_u8"},{"id":"Size","name":"Size","value":"25_u8"},{"id":"Pip","name":"Pip","value":"60_u8"},{"id":"AutoAdjust","name":"AutoAdjust","value":"61_u8"},{"id":"WallMode","name":"WallMode","value":"92_u8"},{"id":"Safety","name":"Safety","value":"93_u8"},{"id":"WallOn","name":"WallOn","value":"132_u8"},{"id":"WallUser","name":"WallUser","value":"137_u8"},{"id":"Speaker","name":"Speaker","value":"104_u8"},{"id":"NetworkStandby","name":"NetworkStandby","value":"181_u8"},{"id":"AutoOffTimer","name":"AutoOffTimer","value":"230_u8"},{"id":"AutoPower","name":"AutoPower","value":"51_u8"},{"id":"ScreenSplit","name":"ScreenSplit","value":"178_u8"},{"id":"SoftwareVersion","name":"SoftwareVersion","value":"14_u8"},{"id":"SerialNumber","name":"SerialNumber","value":"11_u8"},{"id":"Time","name":"Time","value":"167_u8"},{"id":"Timer","name":"Timer","value":"164_u8"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"auto_adjust?-instance-method","name":"auto_adjust?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L241"},"def":{"name":"auto_adjust?","visibility":"Public","body":"self == AutoAdjust"}},{"html_id":"auto_off_timer?-instance-method","name":"auto_off_timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L248"},"def":{"name":"auto_off_timer?","visibility":"Public","body":"self == AutoOffTimer"}},{"html_id":"auto_power?-instance-method","name":"auto_power?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L249"},"def":{"name":"auto_power?","visibility":"Public","body":"self == AutoPower"}},{"html_id":"blue_gain?-instance-method","name":"blue_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":236,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L236"},"def":{"name":"blue_gain?","visibility":"Public","body":"self == BlueGain"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L230"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"build(id:UInt8,data:Bytes):Bytes-instance-method","name":"build","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"args_string":"(id : UInt8, data : Bytes) : Bytes","args_html":"(id : UInt8, data : Bytes) : Bytes","location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L256"},"def":{"name":"build","args":[{"name":"id","external_name":"id","restriction":"UInt8"},{"name":"data","external_name":"data","restriction":"Bytes"}],"return_type":"Bytes","visibility":"Public","body":"(Bytes.new(data.size + 5)).tap do |bytes|\n bytes[0] = INDICATOR\n bytes[1] = self.value\n bytes[2] = id\n bytes[3] = data.size.to_u8\n data.each_with_index(4) do |b, i|\n bytes[i] = b\n end\n bytes[-1] = ((bytes[1..-2].sum(0)) & 255).to_u8\nend"}},{"html_id":"colour?-instance-method","name":"colour?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":232,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L232"},"def":{"name":"colour?","visibility":"Public","body":"self == Colour"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L229"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"green_gain?-instance-method","name":"green_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L235"},"def":{"name":"green_gain?","visibility":"Public","body":"self == GreenGain"}},{"html_id":"hard_off?-instance-method","name":"hard_off?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":226,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L226"},"def":{"name":"hard_off?","visibility":"Public","body":"self == HardOff"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L237"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"mode?-instance-method","name":"mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L238"},"def":{"name":"mode?","visibility":"Public","body":"self == Mode"}},{"html_id":"network_standby?-instance-method","name":"network_standby?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":247,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L247"},"def":{"name":"network_standby?","visibility":"Public","body":"self == NetworkStandby"}},{"html_id":"panel_mute?-instance-method","name":"panel_mute?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L227"},"def":{"name":"panel_mute?","visibility":"Public","body":"self == PanelMute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L240"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"red_gain?-instance-method","name":"red_gain?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L234"},"def":{"name":"red_gain?","visibility":"Public","body":"self == RedGain"}},{"html_id":"safety?-instance-method","name":"safety?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":243,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L243"},"def":{"name":"safety?","visibility":"Public","body":"self == Safety"}},{"html_id":"screen_split?-instance-method","name":"screen_split?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":250,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L250"},"def":{"name":"screen_split?","visibility":"Public","body":"self == ScreenSplit"}},{"html_id":"serial_number?-instance-method","name":"serial_number?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L252"},"def":{"name":"serial_number?","visibility":"Public","body":"self == SerialNumber"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L231"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"size?-instance-method","name":"size?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L239"},"def":{"name":"size?","visibility":"Public","body":"self == Size"}},{"html_id":"software_version?-instance-method","name":"software_version?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":251,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L251"},"def":{"name":"software_version?","visibility":"Public","body":"self == SoftwareVersion"}},{"html_id":"speaker?-instance-method","name":"speaker?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L246"},"def":{"name":"speaker?","visibility":"Public","body":"self == Speaker"}},{"html_id":"status?-instance-method","name":"status?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L225"},"def":{"name":"status?","visibility":"Public","body":"self == Status"}},{"html_id":"time?-instance-method","name":"time?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":253,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L253"},"def":{"name":"time?","visibility":"Public","body":"self == Time"}},{"html_id":"timer?-instance-method","name":"timer?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":254,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L254"},"def":{"name":"timer?","visibility":"Public","body":"self == Timer"}},{"html_id":"tint?-instance-method","name":"tint?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":233,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L233"},"def":{"name":"tint?","visibility":"Public","body":"self == Tint"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L228"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}},{"html_id":"wall_mode?-instance-method","name":"wall_mode?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L242"},"def":{"name":"wall_mode?","visibility":"Public","body":"self == WallMode"}},{"html_id":"wall_on?-instance-method","name":"wall_on?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":244,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L244"},"def":{"name":"wall_on?","visibility":"Public","body":"self == WallOn"}},{"html_id":"wall_user?-instance-method","name":"wall_user?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":245,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L245"},"def":{"name":"wall_user?","visibility":"Public","body":"self == WallUser"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/Input","path":"Samsung/Displays/ReducedMDCProtocol/Input.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Vga","name":"Vga","value":"20"},{"id":"Dvi","name":"Dvi","value":"24"},{"id":"DviVideo","name":"DviVideo","value":"31"},{"id":"Hdmi","name":"Hdmi","value":"33"},{"id":"HdmiPc","name":"HdmiPc","value":"34"},{"id":"Hdmi2","name":"Hdmi2","value":"35"},{"id":"Hdmi2Pc","name":"Hdmi2Pc","value":"36"},{"id":"Hdmi3","name":"Hdmi3","value":"49"},{"id":"Hdmi3Pc","name":"Hdmi3Pc","value":"50"},{"id":"Hdmi4","name":"Hdmi4","value":"51"},{"id":"Hdmi4Pc","name":"Hdmi4Pc","value":"52"},{"id":"DisplayPort","name":"DisplayPort","value":"37"},{"id":"Dtv","name":"Dtv","value":"64"},{"id":"Media","name":"Media","value":"96"},{"id":"Widi","name":"Widi","value":"97"},{"id":"MagicInfo","name":"MagicInfo","value":"32"},{"id":"Whiteboard","name":"Whiteboard","value":"100"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L24"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dtv?-instance-method","name":"dtv?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L25"},"def":{"name":"dtv?","visibility":"Public","body":"self == Dtv"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == Dvi"}},{"html_id":"dvi_video?-instance-method","name":"dvi_video?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L15"},"def":{"name":"dvi_video?","visibility":"Public","body":"self == DviVideo"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L18"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi2_pc?-instance-method","name":"hdmi2_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L19"},"def":{"name":"hdmi2_pc?","visibility":"Public","body":"self == Hdmi2Pc"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L20"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"hdmi3_pc?-instance-method","name":"hdmi3_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L21"},"def":{"name":"hdmi3_pc?","visibility":"Public","body":"self == Hdmi3Pc"}},{"html_id":"hdmi4?-instance-method","name":"hdmi4?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L22"},"def":{"name":"hdmi4?","visibility":"Public","body":"self == Hdmi4"}},{"html_id":"hdmi4_pc?-instance-method","name":"hdmi4_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L23"},"def":{"name":"hdmi4_pc?","visibility":"Public","body":"self == Hdmi4Pc"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L16"},"def":{"name":"hdmi?","visibility":"Public","body":"self == Hdmi"}},{"html_id":"hdmi_pc?-instance-method","name":"hdmi_pc?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L17"},"def":{"name":"hdmi_pc?","visibility":"Public","body":"self == HdmiPc"}},{"html_id":"magic_info?-instance-method","name":"magic_info?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L28"},"def":{"name":"magic_info?","visibility":"Public","body":"self == MagicInfo"}},{"html_id":"media?-instance-method","name":"media?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L26"},"def":{"name":"media?","visibility":"Public","body":"self == Media"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L13"},"def":{"name":"vga?","visibility":"Public","body":"self == Vga"}},{"html_id":"whiteboard?-instance-method","name":"whiteboard?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L29"},"def":{"name":"whiteboard?","visibility":"Public","body":"self == Whiteboard"}},{"html_id":"widi?-instance-method","name":"widi?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L27"},"def":{"name":"widi?","visibility":"Public","body":"self == Widi"}}]},{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol/ResponseStatus","path":"Samsung/Displays/ReducedMDCProtocol/ResponseStatus.html","kind":"enum","full_name":"Samsung::Displays::ReducedMDCProtocol::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L169"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Ack","name":"Ack","value":"65"},{"id":"Nak","name":"Nak","value":"78"}],"namespace":{"html_id":"drivers/Samsung/Displays/ReducedMDCProtocol","kind":"class","full_name":"Samsung::Displays::ReducedMDCProtocol","name":"ReducedMDCProtocol"},"instance_methods":[{"html_id":"ack?-instance-method","name":"ack?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L170"},"def":{"name":"ack?","visibility":"Public","body":"self == Ack"}},{"html_id":"nak?-instance-method","name":"nak?","abstract":false,"location":{"filename":"src/samsung/displays/reduced_mdc_protocol.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/samsung/displays/reduced_mdc_protocol.cr#L171"},"def":{"name":"nak?","visibility":"Public","body":"self == Nak"}}]}]}]}]},{"html_id":"drivers/Screen","path":"Screen.html","kind":"class","full_name":"Screen","name":"Screen","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/global_cache/projector_screen_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/global_cache/projector_screen_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}}]},{"html_id":"drivers/ScreenTechnics","path":"ScreenTechnics.html","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics","abstract":false,"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/ScreenTechnics/Connect","path":"ScreenTechnics/Connect.html","kind":"class","full_name":"ScreenTechnics::Connect","name":"Connect","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/screen_technics/connect.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"CMD_LOOKUP","name":"CMD_LOOKUP","value":"{30 => :up, 33 => :down, 1 => :status, 36 => :stop}"},{"id":"COMMANDS","name":"COMMANDS","value":"{up: 30, down: 33, status: 1, stop: 36}"},{"id":"STATUS","name":"STATUS","value":"{0 => :moving_top, 1 => :moving_bottom, 2 => :moving_preset_1, 3 => :moving_preset_2, 4 => :moving_top, 5 => :moving_bottom, 6 => :at_top, 7 => :at_bottom, 8 => :at_preset_1, 9 => :at_preset_2, 10 => :stopped, 11 => :error, 13 => :error_timeout, 14 => :error_current, 15 => :error_rattle, 16 => :at_bottom}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"}],"namespace":{"html_id":"drivers/ScreenTechnics","kind":"module","full_name":"ScreenTechnics","name":"ScreenTechnics"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(15.seconds, immediate: true) do\n (0...@count).each do |index|\n query_state(index)\n end\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L50"},"def":{"name":"disconnected","visibility":"Public","body":"queue.clear\nschedule.clear\n"}},{"html_id":"down(index:Int32=0)-instance-method","name":"down","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L68"},"def":{"name":"down","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if down?(index)\n return\nend\nstop(index)\ndo_send(:down, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"down?(index:Int32=0)-instance-method","name":"down?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L75"},"def":{"name":"down?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_bottom\", \"at_bottom\"}.includes?(self[\"screen#{index}\"]?)"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L55"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i\ncase position\nwhen MoveablePosition::Up\n up(index)\nwhen MoveablePosition::Down\n down(index)\nelse\n raise(\"invalid position requested\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 500.milliseconds\ntransport.tokenizer = Tokenizer.new(\"\\r\\n\")\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/screen_technics/connect.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@count = (setting?(Int32, :screen_count)) || 1"}},{"html_id":"query_state(index:Int32=0)-instance-method","name":"query_state","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L101"},"def":{"name":"query_state","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"do_send(:status, index, 32)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/screen_technics/connect.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L125"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data)\nlogger.debug do\n \"Screen sent #{data}\"\nend\nparts = (data.split(/,/)).map do |__arg0|\n __arg0.strip.to_i\nend\ncmd = CMD_LOOKUP[parts[0] - 100]?\nif cmd\n index = parts[2] - 17\n case cmd\n when :up\n logger.debug do\n \"Screen#{index} moving up\"\n end\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = true\n when :down\n logger.debug do\n \"Screen#{index} moving down\"\n end\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = true\n when :stop\n logger.debug do\n \"Screen#{index} stopped\"\n end\n self[\"moving#{index}\"] = false\n screen = \"screen#{index}\"\n if {\"at_top\", \"at_bottom\"}.includes?(self[screen]?)\n else\n self[screen] = :stopped\n end\n when :status\n self[\"screen#{index}\"] = status = STATUS[parts[-1]]\n case status\n when :moving_top, :at_top\n self[\"position#{index}\"] = MoveablePosition::Up\n self[\"moving#{index}\"] = status == (:moving_top)\n when :moving_bottom, :at_bottom\n self[\"position#{index}\"] = MoveablePosition::Down\n self[\"moving#{index}\"] = status == (:moving_bottom)\n when :stopped\n self[\"moving#{index}\"] = false\n when :error, :error_timeout, :error_current, :error_rattle\n self[\"moving#{index}\"] = false\n end\n end\n task.try(&.success)\nelse\n error = \"Unknown command #{parts[0]}\"\n logger.debug do\n error\n end\n task.try(&.abort(error))\nend\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/screen_technics/connect.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L90"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i\ndo_send(:stop, index, name: \"stop#{index}\", clear_queue: emergency, priority: emergency ? (queue.priority + 50) : queue.priority)\n"}},{"html_id":"up(index:Int32=0)-instance-method","name":"up","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L79"},"def":{"name":"up","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"if up?(index)\n return\nend\nstop(index)\ndo_send(:up, index, name: \"direction#{index}\")\nquery_state(index)\n"}},{"html_id":"up?(index:Int32=0)-instance-method","name":"up?","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"args_string":"(index : Int32 = 0)","args_html":"(index : Int32 = 0)","location":{"filename":"src/screen_technics/connect.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/screen_technics/connect.cr#L86"},"def":{"name":"up?","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32"}],"visibility":"Public","body":"{\"moving_top\", \"at_top\"}.includes?(self[\"screen#{index}\"]?)"}}]}]},{"html_id":"drivers/SecureOS","path":"SecureOS.html","kind":"module","full_name":"SecureOS","name":"SecureOS","abstract":false,"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/SecureOS/AuthResponse","path":"SecureOS/AuthResponse.html","kind":"struct","full_name":"SecureOS::AuthResponse","name":"AuthResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L90"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L91"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:AuthToken-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L93"},"def":{"name":"data","return_type":"AuthToken","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L94"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/AuthToken","path":"SecureOS/AuthToken.html","kind":"struct","full_name":"SecureOS::AuthToken","name":"AuthToken","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L97"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L98"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"token:String-instance-method","name":"token","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L100"},"def":{"name":"token","return_type":"String","visibility":"Public","body":"@token"}}]},{"html_id":"drivers/SecureOS/Camera","path":"SecureOS/Camera.html","kind":"struct","full_name":"SecureOS::Camera","name":"Camera","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L110"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L111"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L113"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L114"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"settings:JSON::Any-instance-method","name":"settings","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L115"},"def":{"name":"settings","return_type":"JSON::Any","visibility":"Public","body":"@settings"}},{"html_id":"status:JSON::Any-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L116"},"def":{"name":"status","return_type":"JSON::Any","visibility":"Public","body":"@status"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L117"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/CameraResponse","path":"SecureOS/CameraResponse.html","kind":"struct","full_name":"SecureOS::CameraResponse","name":"CameraResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L103"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L104"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Camera)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L106"},"def":{"name":"data","return_type":"Array(Camera)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L107"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/Error","path":"SecureOS/Error.html","kind":"struct","full_name":"SecureOS::Error","name":"Error","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L82"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L83"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String-instance-method","name":"error","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L87"},"def":{"name":"error","return_type":"String","visibility":"Public","body":"@error"}},{"html_id":"message:String-instance-method","name":"message","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L86"},"def":{"name":"message","return_type":"String","visibility":"Public","body":"@message"}},{"html_id":"request_id:String|Int64|Nil-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L85"},"def":{"name":"request_id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@request_id"}}]},{"html_id":"drivers/SecureOS/ErrorWrapper","path":"SecureOS/ErrorWrapper.html","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L50"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Error-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L52"},"def":{"name":"data","return_type":"Error","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L51"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Event","path":"SecureOS/Event.html","kind":"struct","full_name":"SecureOS::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L68"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L69"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:String-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L73"},"def":{"name":"action","return_type":"String","visibility":"Public","body":"@action"}},{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L72"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"parameters:JSON::Any|Nil-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L79"},"def":{"name":"parameters","return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@parameters"}},{"html_id":"ticks:Int64|Nil-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L74"},"def":{"name":"ticks","return_type":"Int64 | ::Nil","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L77"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L71"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/EventWrapper","path":"SecureOS/EventWrapper.html","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L45"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Event-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L47"},"def":{"name":"data","return_type":"Event","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L46"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Response","path":"SecureOS/Response.html","kind":"class","full_name":"SecureOS::Response","name":"Response","abstract":true,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L29"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"subclasses":[{"html_id":"drivers/SecureOS/ErrorWrapper","kind":"class","full_name":"SecureOS::ErrorWrapper","name":"ErrorWrapper"},{"html_id":"drivers/SecureOS/EventWrapper","kind":"class","full_name":"SecureOS::EventWrapper","name":"EventWrapper"},{"html_id":"drivers/SecureOS/StateWrapper","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L33"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"location = pull.location\ndiscriminator_value = nil\njson = String.build do |io|\n JSON.build(io) do |builder|\n builder.start_object\n pull.read_object do |key|\n if key == \"type\"\n value_kind = pull.kind\n case value_kind\n when .string?\n discriminator_value = pull.string_value\n when .int?\n discriminator_value = pull.int_value\n when .bool?\n discriminator_value = pull.bool_value\n else\n raise(::JSON::SerializableError.new(\"JSON discriminator field 'type' has an invalid value type of #{value_kind.to_s}\", to_s, nil, *location, nil))\n end\n builder.field(key, discriminator_value)\n pull.read_next\n else\n builder.field(key) do\n pull.read_raw(builder)\n end\n end\n end\n builder.end_object\n end\nend\nif discriminator_value\nelse\n raise(::JSON::SerializableError.new(\"Missing JSON discriminator field 'type'\", to_s, nil, *location, nil))\nend\ncase discriminator_value\nwhen \"state\"\n StateWrapper.from_json(json)\nwhen \"event\"\n EventWrapper.from_json(json)\nwhen \"error\"\n ErrorWrapper.from_json(json)\nelse\n raise(::JSON::SerializableError.new(\"Unknown 'type' discriminator value: #{discriminator_value.inspect}\", to_s, nil, *location, nil))\nend\n"}}]},{"html_id":"drivers/SecureOS/State","path":"SecureOS/State.html","kind":"struct","full_name":"SecureOS::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String|Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L59"},"def":{"name":"id","return_type":"String | Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"states:Hash(String,Bool)-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L65"},"def":{"name":"states","return_type":"Hash(String, Bool)","visibility":"Public","body":"@states"}},{"html_id":"ticks:Int64-instance-method","name":"ticks","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L60"},"def":{"name":"ticks","return_type":"Int64","visibility":"Public","body":"@ticks"}},{"html_id":"time:Time-instance-method","name":"time","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L63"},"def":{"name":"time","return_type":"Time","visibility":"Public","body":"@time"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L58"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/StateType","path":"SecureOS/StateType.html","kind":"enum","full_name":"SecureOS::StateType","name":"StateType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L4"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Attached","name":"Attached","value":"0"},{"id":"Armed","name":"Armed","value":"1"},{"id":"Alarmed","name":"Alarmed","value":"2"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"alarmed?-instance-method","name":"alarmed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L7"},"def":{"name":"alarmed?","visibility":"Public","body":"self == Alarmed"}},{"html_id":"armed?-instance-method","name":"armed?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L6"},"def":{"name":"armed?","visibility":"Public","body":"self == Armed"}},{"html_id":"attached?-instance-method","name":"attached?","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L5"},"def":{"name":"attached?","visibility":"Public","body":"self == Attached"}}]},{"html_id":"drivers/SecureOS/StateWrapper","path":"SecureOS/StateWrapper.html","kind":"class","full_name":"SecureOS::StateWrapper","name":"StateWrapper","abstract":false,"superclass":{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},"ancestors":[{"html_id":"drivers/SecureOS/Response","kind":"class","full_name":"SecureOS::Response","name":"Response"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L40"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L40"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:State-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L42"},"def":{"name":"data","return_type":"State","visibility":"Public","body":"@data"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L41"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/SubscribeRule","path":"SecureOS/SubscribeRule.html","kind":"struct","full_name":"SecureOS::SubscribeRule","name":"SubscribeRule","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(type:String,id:String,action:Symbol,states:Array(StateType)|Nil=nil,events:Array(String)|Nil=nil)-class-method","name":"new","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"args_string":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","args_html":"(type : String, id : String, action : Symbol, states : Array(StateType) | Nil = nil, events : Array(String) | Nil = nil)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L19"},"def":{"name":"new","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"id","external_name":"id","restriction":"String"},{"name":"action","external_name":"action","restriction":"Symbol"},{"name":"states","default_value":"nil","external_name":"states","restriction":"Array(StateType) | ::Nil"},{"name":"events","default_value":"nil","external_name":"events","restriction":"Array(String) | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(type, id, action, states, events)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"action:Symbol-instance-method","name":"action","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L17"},"def":{"name":"action","return_type":"Symbol","visibility":"Public","body":"@action"}},{"html_id":"events:Array(String)|Nil-instance-method","name":"events","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L16"},"def":{"name":"events","return_type":"Array(String) | ::Nil","visibility":"Public","body":"@events"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L14"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"states:Array(StateType)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L15"},"def":{"name":"states","return_type":"Array(StateType) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L13"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}}]},{"html_id":"drivers/SecureOS/Watchlist","path":"SecureOS/Watchlist.html","kind":"struct","full_name":"SecureOS::Watchlist","name":"Watchlist","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L127"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L128"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L130"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L131"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]},{"html_id":"drivers/SecureOS/WatchlistResponse","path":"SecureOS/WatchlistResponse.html","kind":"struct","full_name":"SecureOS::WatchlistResponse","name":"WatchlistResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api_models.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L120"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/secure_os/ws_api_models.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L121"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Array(Watchlist)-instance-method","name":"data","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L123"},"def":{"name":"data","return_type":"Array(Watchlist)","visibility":"Public","body":"@data"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/secure_os/ws_api_models.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api_models.cr#L124"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}}]},{"html_id":"drivers/SecureOS/WsApi","path":"SecureOS/WsApi.html","kind":"class","full_name":"SecureOS::WsApi","name":"WsApi","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/secure_os/ws_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/SecureOS","kind":"module","full_name":"SecureOS","name":"SecureOS"},"instance_methods":[{"html_id":"basic_auth:NamedTuple(username:String,password:String)-instance-method","name":"basic_auth","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth","return_type":"NamedTuple(username: String, password: String)","visibility":"Public","body":"if (value = @basic_auth).nil?\n ::raise(NilAssertionError.new(\"SecureOS::WsApi#basic_auth cannot be nil\"))\nelse\n value\nend"}},{"html_id":"basic_auth?:NamedTuple(username:String,password:String)|Nil-instance-method","name":"basic_auth?","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L30"},"def":{"name":"basic_auth?","return_type":"NamedTuple(username: String, password: String) | ::Nil","visibility":"Public","body":"@basic_auth"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L44"},"def":{"name":"connected","visibility":"Public","body":"begin\n response = http_client.get(\"#{@rest_api_host}/api/v1/ws_auth\")\n if response.success?\n auth = AuthResponse.from_json(response.body)\n send({type: :auth, token: auth.data.token}.to_json, wait: false)\n else\n raise(\"Authentication failed\")\n end\n schedule.every(30.seconds) do\n send({type: :get_server_time}.to_json, name: :server_time)\n end\n schedule.every(5.minutes, immediate: true) do\n camera_list\n subscribe_all\n watchlist_list\n end\nrescue error\n logger.warn(exception: error) do\n \"Authentication failed\"\n end\n disconnect\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L64"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L32"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/secure_os/ws_api.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L36"},"def":{"name":"on_update","visibility":"Public","body":"@rest_api_host = setting(String, :rest_api_host)\n@basic_auth = setting(NamedTuple(username: String, password: String), :basic_auth)\n@camera_types = setting(Array(String), :camera_types)\n@camera_states = setting(Array(StateType), :camera_states)\n@camera_events = setting(Array(String), :camera_events)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/secure_os/ws_api.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L169"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"raw_json = String.new(data)\nlogger.debug do\n \"SecureOS sent: #{raw_json}\"\nend\ntype_check = (JSON.parse(raw_json))[\"type\"]?\nif type_check\n response = Response.from_json(raw_json)\n case response\n in StateWrapper\n self[\"camera_#{response.data.id}_states\"] = response.data\n in EventWrapper\n self[\"camera_#{response.data.id}\"] = response.data\n in ErrorWrapper\n logger.warn do\n \"SecureOS error: #{response.data}\"\n end\n if response.data.error.in?({\"INVALID_AUTH_TOKEN\", \"UNAUTHORIZED\"})\n disconnect\n else\n self[\"last_error\"] = response.data\n end\n in Response\n end\nend\ntask.try(&.success)\n"}},{"html_id":"watchlist_add_lp(watchlist:String,license_plate:String,comment:String=\"\")-instance-method","name":"watchlist_add_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String, comment : String = \"\")","args_html":"(watchlist : String, license_plate : String, comment : String = "")","location":{"filename":"src/secure_os/ws_api.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L120"},"def":{"name":"watchlist_add_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"},{"name":"comment","default_value":"\"\"","external_name":"comment","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/set\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate, comment: comment}.to_json)\n if response\n else\n logger.warn do\n \"Failed to add license plate to watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to add license plate to watchlist\"\n end\nend"}},{"html_id":"watchlist_remove_lp(watchlist:String,license_plate:String)-instance-method","name":"watchlist_remove_lp","abstract":false,"args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"args_string":"(watchlist : String, license_plate : String)","args_html":"(watchlist : String, license_plate : String)","location":{"filename":"src/secure_os/ws_api.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/secure_os/ws_api.cr#L140"},"def":{"name":"watchlist_remove_lp","args":[{"name":"watchlist","external_name":"watchlist","restriction":"String"},{"name":"license_plate","external_name":"license_plate","restriction":"String"}],"visibility":"Public","body":"begin\n if wl = @watchlist_list.find do |l|\n l.name == watchlist\n end\n response = http_client.post(\"#{@rest_api_host}/api/v1/watchlists/#{wl.id}/delete\", headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}, body: {number: license_plate}.to_json)\n if response\n else\n logger.warn do\n \"Failed to remove license plate from watchlist\"\n end\n end\n else\n logger.warn do\n \"Failed to find a watchlist named: #{watchlist}\"\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"Failed to remove license plate from watchlist\"\n end\nend"}}]}]},{"html_id":"drivers/Settings","path":"Settings.html","kind":"alias","full_name":"Settings","name":"Settings","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::Core::Settings","aliased_html":"Place::Router::Core::Settings","const":false},{"html_id":"drivers/Sharp","path":"Sharp.html","kind":"module","full_name":"Sharp","name":"Sharp","abstract":false,"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sharp/PnSeries","path":"Sharp/PnSeries.html","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"AUDIO","name":"AUDIO","value":"{audio1: \"ASDP 2\", audio2: \"ASDP 3\", dvi: \"ASDP 1\", dvi_alt: \"ASDA 1\", hdmi: \"ASHP 0\", hdmi_3mm: \"ASHP 1\", hdmi_rca: \"ASHP 2\", vga: \"ASAP 1\", component: \"ASCA 1\"}"},{"id":"AUDIO_RESPONSE","name":"AUDIO_RESPONSE","value":"AUDIO.to_h.invert"},{"id":"DELIMITER","name":"DELIMITER","value":"\"\\r\\n\""},{"id":"OPERATION_CODE","name":"OPERATION_CODE","value":"{video_input: \"INPS\", volume_status: \"VOLM\", mute_status: \"MUTE\", power_on_delay: \"PWOD\", contrast_status: \"CONT\", brightness_status: \"VLMP\", model_number: \"INF1\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sharp","kind":"module","full_name":"Sharp","name":"Sharp"},"instance_methods":[{"html_id":"auto_adjust-instance-method","name":"auto_adjust","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L127"},"def":{"name":"auto_adjust","visibility":"Public","body":"do_send(\"AGIN 1\", timeout: 20.seconds)"}},{"html_id":"brightness(val:Int32|Float64)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L131"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nbrightness = (percentage * @brightness_max.to_f).round_away.to_i\ndo_send(\"VLMP#{brightness.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"brightness_status(priority:Int32=0,**options)-instance-method","name":"brightness_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"brightness_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VLMP\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L51"},"def":{"name":"connected","visibility":"Public","body":"send_credentials\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Display\"\n end\n do_poll\nend\n"}},{"html_id":"contrast(val:Int32|Float64)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L139"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"val = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\ncontrast = (percentage * @contrast_max.to_f).round_away.to_i\nmultiplier = (self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1\ncontrast = contrast * multiplier\ndo_send(\"CONT#{contrast.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"contrast_status(priority:Int32=0,**options)-instance-method","name":"contrast_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"contrast_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"CONT\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L61"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L197"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n if self[:model_number]?\n else\n model_number\n end\n power_on_delay\n mute_status\nend"}},{"html_id":"model_number(priority:Int32=0,**options)-instance-method","name":"model_number","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"model_number","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INF1\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"There seems to only be audio mute available","summary":"

There seems to only be audio mute available

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sharp/pn_series.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L165"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"if layer == MuteLayer::Video\n logger.warn do\n \"Sharp LCD requested to mute video which is unsupported\"\n end\nelse\n logger.debug do\n \"Sharp LCD, requested to mute #{state}\"\n end\n do_send(\"MUTE #{state ? '1' : '0'}\")\n mute_status(50)\nend"}},{"html_id":"mute_status(priority:Int32=0,**options)-instance-method","name":"mute_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"mute_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"MUTE\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L47"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(DELIMITER)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sharp/pn_series.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L65"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"delay = self[:power_on_delay]?.try(&.as_i) || 5\nif state != (!(!self[:power]?.try(&.as_bool)))\n if state\n logger.debug do\n \"-- Sharp LCD, requested to power on\"\n end\n do_send(\"POWR 1\", name: :POWR, timeout: delay.seconds + 15.seconds)\n self[:warming] = true\n self[:power] = true\n do_send(\"POWR????\", name: :POWR, timeout: 10.seconds)\n else\n logger.debug do\n \"-- Sharp LCD, requested to power off\"\n end\n do_send(\"POWR 0\", name: :POWR, timeout: 15.seconds)\n self[:power] = false\n end\nend\npower?\nmute_status(0)\nvolume_status(0)\n"}},{"html_id":"power?(**options)-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L88"},"def":{"name":"power?","double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(\"POWR????\", **options, name: :POWR, timeout: 10.seconds)).get\nself[:power].as_bool\n"}},{"html_id":"power_on_delay(priority:Int32=0,**options)-instance-method","name":"power_on_delay","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"power_on_delay","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"PWOD\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sharp/pn_series.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L219"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(data[0..-3])\nlogger.debug do\n \"-- Sharp LCD, received: #{data}\"\nend\nif data == \"Password:OK\"\n return task.try(&.success(\"Login successful\"))\nelse\n if data == \"Password:Login incorrect\"\n schedule.in(5.seconds) do\n send_credentials\n end\n return task.try(&.success(\"Sharp LCD, bad login or logged off. Attempting login..\"))\n else\n if data == \"OK\"\n return task.try(&.success)\n else\n if data == \"WAIT\"\n logger.debug do\n \"-- Sharp LCD, wait\"\n end\n return\n else\n if data == \"ERR\"\n return task.try(&.abort(\"-- Sharp LCD, error\"))\n else\n if data.size < 8\n return task.try(&.abort(\"Sharp sent out of order response: #{data}\"))\n end\n end\n end\n end\n end\nend\ncommand, value = data.split\ncase command\nwhen \"POWR\"\n self[:warming] = false\n self[:power] = value.to_i > 0\nwhen \"INPS\"\n input = Input.from_value?(value.to_i)\n self[:input] = input || \"unknown\"\n logger.debug do\n \"-- Sharp LCD, input #{self[:input]} == #{value}\"\n end\nwhen \"VOLM\"\n vol_percent = (value.to_i.to_f / @volume_max.to_f) * 100.0\n if self[:audio_mute]?.try(&.as_bool)\n else\n self[:volume] = vol_percent.round(2)\n end\nwhen \"MUTE\"\n self[:audio_mute] = ( mute = value.to_i == 1)\n if mute\n self[:volume] = 0\n else\n volume_status(90)\n end\nwhen \"CONT\"\n val = value.to_i / ((self[:input]? == \"VGA\") && @dbl_contrast ? 2 : 1)\n contrast = (val.to_f / @contrast_max.to_f) * 100.0\n self[:contrast] = contrast.round(2)\nwhen \"VLMP\"\n brightness = (value.to_i.to_f / @brightness_max.to_f) * 100.0\n self[:brightness] = brightness.round(2)\nwhen \"PWOD\"\n self[:power_on_delay] = value.to_i\nwhen \"INF1\"\n self[:model_number] = value\n logger.debug do\n \"-- Sharp LCD, model number #{self[:model_number]}\"\n end\n determine_contrast_mode\nwhen \"ASDP\", \"ASDA\", \"ASHP\", \"ASAP\", \"ASCA\"\n self[:audio_input] = AUDIO_RESPONSE[data] || \"unknown\"\nend\ntask.try(&.success)\n"}},{"html_id":"reset-instance-method","name":"reset","doc":"Resets the brightness and contrast settings","summary":"

Resets the brightness and contrast settings

","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L94"},"def":{"name":"reset","visibility":"Public","body":"do_send(\"ARST 2\")"}},{"html_id":"switch_audio(input:String)-instance-method","name":"switch_audio","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"String"}],"args_string":"(input : String)","args_html":"(input : String)","location":{"filename":"src/sharp/pn_series.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L119"},"def":{"name":"switch_audio","args":[{"name":"input","external_name":"input","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch audio to: #{input}\"\nend\ndo_send(AUDIO[input], name: \"audio\")\nmute_status(40)\nvolume_status(40)\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sharp/pn_series.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L98"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"-- Sharp LCD, requested to switch to: #{input}\"\nend\n(do_send(input.data, name: :input, delay: 2.seconds, timeout: 20.seconds)).get\nvideo_input(40)\nbrightness_status(40)\ncontrast_status(40)\n"}},{"html_id":"video_input(priority:Int32=0,**options)-instance-method","name":"video_input","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"video_input","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"INPS\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}},{"html_id":"volume(val:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"args_string":"(val : Int32 | Float64)","args_html":"(val : Int32 | Float64)","location":{"filename":"src/sharp/pn_series.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L150"},"def":{"name":"volume","args":[{"name":"val","external_name":"val","restriction":"Int32 | Float64"}],"visibility":"Public","body":"@vol_status.try(&.cancel)\n@vol_status = schedule.in(2.seconds) do\n @vol_status = nil\n volume_status\nend\nval = val.to_f.clamp(0.0, 100.0)\npercentage = val / 100.0\nvol_actual = (percentage * @volume_max.to_f).round_away.to_i\ndo_send(\"VOLM#{vol_actual.to_s.rjust(4, ' ')}\")\n"}},{"html_id":"volume_status(priority:Int32=0,**options)-instance-method","name":"volume_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sharp/pn_series.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L188"},"def":{"name":"volume_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"data = \"VOLM\" + \"????\"\nlogger.debug do\n \"Sharp sending: #{data}\"\nend\ndo_send(data, **options, priority: priority)\n"}}],"types":[{"html_id":"drivers/Sharp/PnSeries/Input","path":"Sharp/PnSeries/Input.html","kind":"enum","full_name":"Sharp::PnSeries::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sharp/pn_series.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L13"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"DVI","name":"DVI","value":"1"},{"id":"HDMI","name":"HDMI","value":"10"},{"id":"HDMI2","name":"HDMI2","value":"13"},{"id":"HDMI3","name":"HDMI3","value":"18"},{"id":"DisplayPort","name":"DisplayPort","value":"14"},{"id":"VGA","name":"VGA","value":"2"},{"id":"VGA2","name":"VGA2","value":"16"},{"id":"Component","name":"Component","value":"3"}],"namespace":{"html_id":"drivers/Sharp/PnSeries","kind":"class","full_name":"Sharp::PnSeries","name":"PnSeries"},"instance_methods":[{"html_id":"component?-instance-method","name":"component?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L21"},"def":{"name":"component?","visibility":"Public","body":"self == Component"}},{"html_id":"data-instance-method","name":"data","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L23"},"def":{"name":"data","visibility":"Public","body":"\"INPS\" + (self.value.to_s.rjust(4, '0'))"}},{"html_id":"display_port?-instance-method","name":"display_port?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L18"},"def":{"name":"display_port?","visibility":"Public","body":"self == DisplayPort"}},{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L16"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == HDMI2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L17"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == HDMI3"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L15"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L20"},"def":{"name":"vga2?","visibility":"Public","body":"self == VGA2"}},{"html_id":"vga?-instance-method","name":"vga?","abstract":false,"location":{"filename":"src/sharp/pn_series.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sharp/pn_series.cr#L19"},"def":{"name":"vga?","visibility":"Public","body":"self == VGA"}}]}]}]},{"html_id":"drivers/Shure","path":"Shure.html","kind":"module","full_name":"Shure","name":"Shure","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Shure/Microphone","path":"Shure/Microphone.html","kind":"module","full_name":"Shure::Microphone","name":"Microphone","abstract":false,"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Shure","kind":"module","full_name":"Shure","name":"Shure"},"types":[{"html_id":"drivers/Shure/Microphone/MXA","path":"Shure/Microphone/MXA.html","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"}],"namespace":{"html_id":"drivers/Shure/Microphone","kind":"module","full_name":"Shure::Microphone","name":"Microphone"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L17"},"def":{"name":"connected","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\" >\")\nschedule.every(60.seconds) do\n logger.debug do\n \"-- Polling Mics\"\n end\n do_poll\nend\nquery_all\nif (setting?(Bool, :send_meter_levels)) != true\n set_meter_rate(0)\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L29"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L192"},"def":{"name":"do_poll","visibility":"Public","body":"query_device_id"}},{"html_id":"flash-instance-method","name":"flash","doc":"flash the LED for 30 seconds","summary":"

flash the LED for 30 seconds

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L81"},"def":{"name":"flash","visibility":"Public","body":"do_send(\"SET FLASH ON\")"}},{"html_id":"led(on:Bool=true)-instance-method","name":"led","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L101"},"def":{"name":"led","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"led_state_muted(on)\nled_state_unmuted(on)\n"}},{"html_id":"led_colour_muted(colour:Colour)-instance-method","name":"led_colour_muted","doc":"Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE","summary":"

Supported colours: :RED, :GREEN, :BLUE, :PINK, :PURPLE, :YELLOW, :ORANGE, :WHITE

","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L111"},"def":{"name":"led_colour_muted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_MUTED\", colour.to_s.upcase, name: :muted_color)"}},{"html_id":"led_colour_unmuted(colour:Colour)-instance-method","name":"led_colour_unmuted","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"args_string":"(colour : Colour)","args_html":"(colour : Colour)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L119"},"def":{"name":"led_colour_unmuted","args":[{"name":"colour","external_name":"colour","restriction":"Colour"}],"visibility":"Public","body":"do_send(\"SET LED_COLOR_UNMUTED\", colour.to_s.upcase, name: :unmuted_color)"}},{"html_id":"led_state_muted(on:Bool=true)-instance-method","name":"led_state_muted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L136"},"def":{"name":"led_state_muted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_MUTED\", state)\n"}},{"html_id":"led_state_unmuted(on:Bool=true)-instance-method","name":"led_state_unmuted","abstract":false,"args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"args_string":"(on : Bool = true)","args_html":"(on : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L127"},"def":{"name":"led_state_unmuted","args":[{"name":"on","default_value":"true","external_name":"on","restriction":"Bool"}],"visibility":"Public","body":"state = on ? \"ON\" : \"OFF\"\ndo_send(\"SET LED_STATE_UNMUTED\", state)\n"}},{"html_id":"mute(state:Bool=true)-instance-method","name":"mute","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L56"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"val = state ? \"ON\" : \"OFF\"\ndo_send(\"SET DEVICE_AUDIO_MUTE\", val, name: :mute)\n"}},{"html_id":"mute_audio(state:Bool=true,index:Int32|String=0)-instance-method","name":"mute_audio","doc":"part of the mutable interface","summary":"

part of the mutable interface

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(state : Bool = true, index : Int32 | String = 0)","args_html":"(state : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L66"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"mute(state)"}},{"html_id":"preset(number:Int32)-instance-method","name":"preset","abstract":false,"args":[{"name":"number","external_name":"number","restriction":"Int32"}],"args_string":"(number : Int32)","args_html":"(number : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L75"},"def":{"name":"preset","args":[{"name":"number","external_name":"number","restriction":"Int32"}],"visibility":"Public","body":"if number.in?(1..10)\nelse\n raise(\"must be a number between 1-10, was #{number}\")\nend\ndo_send(\"SET PRESET\", number.to_s, name: :preset)\n"}},{"html_id":"query_all-instance-method","name":"query_all","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L33"},"def":{"name":"query_all","visibility":"Public","body":"do_send(\"GET 0 ALL\")"}},{"html_id":"query_device_id-instance-method","name":"query_device_id","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L37"},"def":{"name":"query_device_id","visibility":"Public","body":"do_send(\"GET DEVICE_ID\", name: :device_id)"}},{"html_id":"query_firmware-instance-method","name":"query_firmware","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L41"},"def":{"name":"query_firmware","visibility":"Public","body":"do_send(\"GET FW_VER\", name: :firmware)"}},{"html_id":"query_led_colour_muted-instance-method","name":"query_led_colour_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L106"},"def":{"name":"query_led_colour_muted","visibility":"Public","body":"do_send(\"GET LED_COLOR_MUTED\")"}},{"html_id":"query_led_colour_unmuted-instance-method","name":"query_led_colour_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L115"},"def":{"name":"query_led_colour_unmuted","visibility":"Public","body":"do_send(\"GET LED_COLOR_UNMUTED\")"}},{"html_id":"query_led_state-instance-method","name":"query_led_state","doc":"LED Setup","summary":"

LED Setup

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L97"},"def":{"name":"query_led_state","visibility":"Public","body":"do_send(\"GET DEV_LED_IN_STATE\")"}},{"html_id":"query_led_state_muted-instance-method","name":"query_led_state_muted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L132"},"def":{"name":"query_led_state_muted","visibility":"Public","body":"do_send(\"GET LED_STATE_MUTED\")"}},{"html_id":"query_led_state_unmuted-instance-method","name":"query_led_state_unmuted","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L123"},"def":{"name":"query_led_state_unmuted","visibility":"Public","body":"do_send(\"GET LED_STATE_UNMUTED\")"}},{"html_id":"query_mute-instance-method","name":"query_mute","doc":"Mute commands","summary":"

Mute commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L52"},"def":{"name":"query_mute","visibility":"Public","body":"do_send(\"GET DEVICE_AUDIO_MUTE\")"}},{"html_id":"query_preset-instance-method","name":"query_preset","doc":"Preset commands","summary":"

Preset commands

","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L71"},"def":{"name":"query_preset","visibility":"Public","body":"do_send(\"GET PRESET\")"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L141"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"data = String.new(bytes)\nlogger.debug do\n \"-- received: #{data}\"\nend\ndata = ((data.split(\"< \", 2))[1].gsub(/[\\{\\}]/, '\"')).rchop(\" >\")\nresp = (shellsplit(data)).map(&.strip)\nif resp[0] == \"SAMPLE\"\n resp[1..-1].each_with_index do |level, index|\n self[\"output#{index + 1}\"] = level.to_i\n end\n return\nend\nif resp[1] == \"ERR\"\n return task.try(&.abort)\nend\nif resp[1] =~ (/^[0-9]+$/)\n chann = resp[1]\n param = resp[2].try(&.downcase)\n value = resp[3].try(&.downcase)\n self[\"#{param}_#{chann}\"] = value\n return task.try(&.success)\nend\nparam = resp[1].downcase\nvalue = resp[2]\ncase param\nwhen \"device_audio_mute\"\n self[:muted] = value == \"ON\"\nwhen \"dev_led_state_muted\"\n self[:led_muted] = value == \"ON\"\nwhen \"dev_led_state_unmuted\"\n self[:led_unmuted] = value == \"ON\"\nelse\n self[param] = case value\n when \"ON\"\n true\n when \"OFF\"\n false\n when .to_i?\n value.to_i\n else\n value\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_meter_rate(rate:Int32)-instance-method","name":"set_meter_rate","doc":"rate in milliseconds","summary":"

rate in milliseconds

","abstract":false,"args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"args_string":"(rate : Int32)","args_html":"(rate : Int32)","location":{"filename":"src/shure/microphone/mxa.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L46"},"def":{"name":"set_meter_rate","args":[{"name":"rate","external_name":"rate","restriction":"Int32"}],"visibility":"Public","body":"if (rate == 0) || rate >= 100\nelse\n raise(\"rate must be a number greater than 100, was #{rate}\")\nend\ndo_send(\"SET METER_RATE\", rate.to_s, name: :meter_rate)\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L61"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}}],"types":[{"html_id":"drivers/Shure/Microphone/MXA/Colour","path":"Shure/Microphone/MXA/Colour.html","kind":"enum","full_name":"Shure::Microphone::MXA::Colour","name":"Colour","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/shure/microphone/mxa.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L85"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"RED","name":"RED","value":"0"},{"id":"GREEN","name":"GREEN","value":"1"},{"id":"BLUE","name":"BLUE","value":"2"},{"id":"PINK","name":"PINK","value":"3"},{"id":"PURPLE","name":"PURPLE","value":"4"},{"id":"YELLOW","name":"YELLOW","value":"5"},{"id":"ORANGE","name":"ORANGE","value":"6"},{"id":"WHITE","name":"WHITE","value":"7"}],"namespace":{"html_id":"drivers/Shure/Microphone/MXA","kind":"class","full_name":"Shure::Microphone::MXA","name":"MXA"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L88"},"def":{"name":"blue?","visibility":"Public","body":"self == BLUE"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L87"},"def":{"name":"green?","visibility":"Public","body":"self == GREEN"}},{"html_id":"orange?-instance-method","name":"orange?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L92"},"def":{"name":"orange?","visibility":"Public","body":"self == ORANGE"}},{"html_id":"pink?-instance-method","name":"pink?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L89"},"def":{"name":"pink?","visibility":"Public","body":"self == PINK"}},{"html_id":"purple?-instance-method","name":"purple?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L90"},"def":{"name":"purple?","visibility":"Public","body":"self == PURPLE"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L86"},"def":{"name":"red?","visibility":"Public","body":"self == RED"}},{"html_id":"white?-instance-method","name":"white?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L93"},"def":{"name":"white?","visibility":"Public","body":"self == WHITE"}},{"html_id":"yellow?-instance-method","name":"yellow?","abstract":false,"location":{"filename":"src/shure/microphone/mxa.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/shure/microphone/mxa.cr#L91"},"def":{"name":"yellow?","visibility":"Public","body":"self == YELLOW"}}]}]}]}]},{"html_id":"drivers/Siemens","path":"Siemens.html","kind":"module","full_name":"Siemens","name":"Siemens","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Siemens/Desigo","path":"Siemens/Desigo.html","kind":"class","full_name":"Siemens::Desigo","name":"Desigo","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/siemens/desigo.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Siemens","kind":"module","full_name":"Siemens","name":"Siemens"},"instance_methods":[{"html_id":"commands(id:String)-instance-method","name":"commands","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L47"},"def":{"name":"commands","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"commands = @client.try() do |__arg3|\n __arg3.commands.get(id: id)\nend\nself[\"commands#{id}\"] = commands\n"}},{"html_id":"execute(id:String,property_name:String,command_id:String,command_inputs_for_execution:String)-instance-method","name":"execute","doc":"Because of the introspect failing on generics,\nwe can pass in the `command_inputs_for_execution` as a JSON string.\n\"[{\\\"Name\\\": \\\"Value\\\", \\\"DataType\\\": \\\"ExtendedEnum\\\", \\\"Value\\\": \\\"1\\\"}]\"","summary":"

Because of the introspect failing on generics, we can pass in the command_inputs_for_execution as a JSON string.

","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"args_string":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","args_html":"(id : String, property_name : String, command_id : String, command_inputs_for_execution : String)","location":{"filename":"src/siemens/desigo.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L55"},"def":{"name":"execute","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"property_name","external_name":"property_name","restriction":"String"},{"name":"command_id","external_name":"command_id","restriction":"String"},{"name":"command_inputs_for_execution","external_name":"command_inputs_for_execution","restriction":"String"}],"visibility":"Public","body":"return_value = @client.try() do |__arg4|\n __arg4.commands.execute(id: id, property_name: property_name, command_id: command_id, command_inputs_for_execution: JSON.parse(command_inputs_for_execution))\nend\nself[\"execute#{id}_property#{property_name}_command#{command_id}\"] = return_value\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/siemens/desigo.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L22"},"def":{"name":"on_update","visibility":"Public","body":"base_url = config.uri.not_nil!.to_s\nusername = setting(String, :username)\npassword = setting(String, :password)\n@client = Client.new(base_url: base_url, username: username, password: password)\nspawn do\n loop do\n @client.try() do |__arg0|\n __arg0.heartbeat.signal\n end\n sleep(60)\n end\nend\n"}},{"html_id":"property_values(id:String)-instance-method","name":"property_values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L37"},"def":{"name":"property_values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"property_values = @client.try() do |__arg1|\n __arg1.property_values.get(id: id)\nend\nself[\"property_values#{id}\"] = property_values\n"}},{"html_id":"values(id:String)-instance-method","name":"values","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/siemens/desigo.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L42"},"def":{"name":"values","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"values = @client.try() do |__arg2|\n __arg2.values.get(id: id)\nend\nself[\"values#{id}\"] = values\n"}}],"types":[{"html_id":"drivers/Siemens/Desigo/Client","path":"Siemens/Desigo/Client.html","kind":"alias","full_name":"Siemens::Desigo::Client","name":"Client","abstract":false,"locations":[{"filename":"src/siemens/desigo.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/siemens/desigo.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Desigo::Client","aliased_html":"Desigo::Client","const":false,"namespace":{"html_id":"drivers/Siemens/Desigo","kind":"class","full_name":"Siemens::Desigo","name":"Desigo"}}]}]},{"html_id":"drivers/SigGraph","path":"SigGraph.html","kind":"alias","full_name":"SigGraph","name":"SigGraph","abstract":false,"locations":[{"filename":"src/place/router/signal_graph_spec.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/signal_graph_spec.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/SignalGraph","path":"SignalGraph.html","kind":"alias","full_name":"SignalGraph","name":"SignalGraph","abstract":false,"locations":[{"filename":"src/place/router/settings_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings_spec.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Place::Router::SignalGraph","aliased_html":"Place::Router::SignalGraph","const":false,"constants":[{"id":"Mute","name":"Mute","value":"Node::Mute.instance"}]},{"html_id":"drivers/Sony","path":"Sony.html","kind":"module","full_name":"Sony","name":"Sony","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Sony/Camera","path":"Sony/Camera.html","kind":"module","full_name":"Sony::Camera","name":"Camera","abstract":false,"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Camera/CGI","path":"Sony/Camera/CGI.html","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":302,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L302"},"def":{"name":"home","visibility":"Public","body":"action(\"/command/presetposition.cgi?HomePos=ptz-recall\", name: \"position\") do\n query_status\nend"}},{"html_id":"info?-instance-method","name":"info?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L156"},"def":{"name":"info?","visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=system\", priority: 0) do |response|\n response.each do |key, value|\n if {\"ModelName\", \"Serial\", \"SoftVersion\", \"ModelForm\", \"CGIVersion\"}.includes?(key)\n self[key.underscore] = value\n end\n end\n response\nend"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Implement Camera interface","summary":"

Implement Camera interface

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":252,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L252"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\npan_speed = pan_speed.to_i\ntilt_speed = tilt_speed.to_i\nrange = -100..100\nin_range(range, pan_speed)\nin_range(range, tilt_speed)\nif @invert_controls && (tilt_speed != 0)\n tilt_speed = -tilt_speed\nend\naction(\"/command/ptzf.cgi?ContinuousPanTiltZoom=#{pan_speed.to_s(16)},#{tilt_speed.to_s(16)},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = ((pan_speed != 0) || (tilt_speed != 0))\n if !@moving\n query_status\n end\n @moving\nend\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"Implement Moveable interface","summary":"

Implement Moveable interface

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L194"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\ncase position\nwhen MoveablePosition::Up, MoveablePosition::Down, MoveablePosition::Left, MoveablePosition::Right\n if @invert_controls && (position.up? || position.down?)\n position = position.up? ? MoveablePosition::Down : MoveablePosition::Up\n end\n action(\"/command/ptzf.cgi?Move=#{position.to_s.downcase},0,image#{index}\", name: \"moving\") do\n self[:moving] = @moving = true\n end\nwhen MoveablePosition::In\n zoom(ZoomDirection::In)\nwhen MoveablePosition::Out\n zoom(ZoomDirection::Out)\nelse\n raise(\"unsupported direction: #{position}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L31"},"def":{"name":"on_load","visibility":"Public","body":"@pantilt_speed = -100..100\nself[:pan_speed] = self[:tilt_speed] = {min: -100, max: 100, stop: 0}\nself[:has_discrete_zoom] = true\nschedule.every(60.seconds) do\n query_status\nend\nschedule.in(5.seconds) do\n query_status\n info?\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"self[:invert_controls] = @invert_controls = (setting?(Bool, :invert_controls)) || false\n@presets = (setting?(Hash(String, NamedTuple(pan: Int32, tilt: Int32, zoom: Int32)), :presets)) || ({} of String => NamedTuple(pan: Int32, tilt: Int32, zoom: Int32))\nself[:presets] = @presets.keys\n"}},{"html_id":"pantilt(pan:Int32,tilt:Int32,zoom:Int32|Nil=nil):Nil-instance-method","name":"pantilt","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"args_string":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","args_html":"(pan : Int32, tilt : Int32, zoom : Int32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L227"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"Int32"},{"name":"tilt","external_name":"tilt","restriction":"Int32"},{"name":"zoom","default_value":"nil","external_name":"zoom","restriction":"Int32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"in_range(@pan_range, pan)\nin_range(@tilt_range, tilt)\nif zoom\n in_range(@zoom_range, zoom)\n action(\"/command/ptzf.cgi?AbsolutePTZF=#{pan.to_s(16)},#{tilt.to_s(16)},#{zoom.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n self[:zoom] = @zoom_raw = zoom.not_nil!\n end\nelse\n action(\"/command/ptzf.cgi?AbsolutePanTilt=#{pan.to_s(16)},#{tilt.to_s(16)},#{@max_speed.to_s(16)}\", name: \"position\") do\n self[:pan] = @pan = pan\n self[:tilt] = @tilt = tilt\n end\nend\n"}},{"html_id":"query_status(priority:Int32=0)-instance-method","name":"query_status","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0)","args_html":"(priority : Int32 = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L93"},"def":{"name":"query_status","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"visibility":"Public","body":"query(\"/command/inquiry.cgi?inq=ptzf\", priority: priority) do |response|\n response.each do |key, value|\n case key\n when \"AbsolutePTZF\"\n parts = value.split(\",\")\n self[:pan] = @pan = twos_complement(parts[0].to_i(16))\n self[:tilt] = @tilt = twos_complement(parts[1].to_i(16))\n @zoom_raw = parts[2].to_i(16)\n when \"PanMovementRange\"\n parts = value.split(\",\")\n pan_min = twos_complement(parts[0].to_i(16))\n pan_max = twos_complement(parts[1].to_i(16))\n @pan_range = pan_min..pan_max\n self[:pan_range] = {min: pan_min, max: pan_max}\n when \"TiltMovementRange\"\n parts = value.split(\",\")\n tilt_min = twos_complement(parts[0].to_i(16))\n tilt_max = twos_complement(parts[1].to_i(16))\n @tilt_range = tilt_min..tilt_max\n self[:tilt_range] = {min: tilt_min, max: tilt_max}\n when \"ZoomMovementRange\"\n parts = value.split(\",\")\n zoom_min = parts[0].to_i(16)\n zoom_max = parts[1].to_i(16)\n @zoom_range = zoom_min..zoom_max\n self[:zoom_range] = {min: zoom_min, max: zoom_max}\n when \"PtzfStatus\"\n parts = (value.split(\",\")).map do |state|\n Movement.parse(state)\n end[0..2]\n self[:moving] = @moving = parts.includes?(Movement::Moving)\n when \"PanTiltMaxVelocity\"\n @max_speed = value.to_i(16)\n end\n end\n self[:zoom] = @zoom_raw.not_nil!.to_f * (100.0 / @zoom_range.end.to_f)\n response\nend"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":308,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L308"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"preset = @presets[position]?\nif preset\n pantilt(**preset)\nelse\n raise(\"unknown preset #{position}\")\nend\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":325,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L325"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":317,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L317"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {pan: @pan, tilt: @tilt, zoom: @zoom_raw}\ndefine_setting(:presets, @presets)\nself[:presets] = @presets.keys\n"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","doc":"Implement Stoppable interface","summary":"

Implement Stoppable interface

","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L178"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"index = index.to_i + 1\naction(\"/command/ptzf.cgi?Move=stop,motor,image#{index}\", priority: 999, name: \"moving\", clear_queue: emergency) do\n if @zooming\n zoom(ZoomDirection::Stop)\n end\n self[:moving] = @moving = false\n query_status\nend\n"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L287"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nif direction.stop?\n action(\"/command/ptzf.cgi?Move=stop,zoom,image#{index}\", priority: 999, name: \"zooming\") do\n self[:zooming] = @zooming = false\n end\nelse\n action(\"/command/ptzf.cgi?Move=#{direction.out? ? \"wide\" : \"near\"},0,image#{index}\", name: \"zooming\") do\n self[:zooming] = @zooming = true\n end\nend\n"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"This a discrete level on most cameras","summary":"

This a discrete level on most cameras

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":272,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L272"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"index = index.to_i + 1\nposition = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_range.end.to_f).to_i\naction(\"/command/ptzf.cgi?AbsoluteZoom=#{zoom_value.to_s(16)}\", name: \"zooming\") do\n @zoom_raw = zoom_value\n self[:zoom] = @zoom = position\nend\n"}}],"macros":[{"html_id":"in_range(range,value)-macro","name":"in_range","abstract":false,"args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"args_string":"(range, value)","args_html":"(range, value)","location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":218,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L218"},"def":{"name":"in_range","args":[{"name":"range","external_name":"range","restriction":""},{"name":"value","external_name":"value","restriction":""}],"visibility":"Public","body":" \n{{ value }}\n = if \n{{ range }}\n.includes? \n{{ value }}\n\n \n{{ value }}\n\n \nelse\n \n{{ value }}\n < \n{{ range }}\n.begin ? \n{{ range }}\n.begin : \n{{ range }}\n.end\n \nend\n \n{{ value }}\n = twos_complement(\n{{ value }}\n)\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/CGI/Movement","path":"Sony/Camera/CGI/Movement.html","kind":"enum","full_name":"Sony::Camera::CGI::Movement","name":"Movement","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/cgi_protocol.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L25"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Idle","name":"Idle","value":"0"},{"id":"Moving","name":"Moving","value":"1"},{"id":"Unknown","name":"Unknown","value":"2"}],"namespace":{"html_id":"drivers/Sony/Camera/CGI","kind":"class","full_name":"Sony::Camera::CGI","name":"CGI"},"instance_methods":[{"html_id":"idle?-instance-method","name":"idle?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L26"},"def":{"name":"idle?","visibility":"Public","body":"self == Idle"}},{"html_id":"moving?-instance-method","name":"moving?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L27"},"def":{"name":"moving?","visibility":"Public","body":"self == Moving"}},{"html_id":"unknown?-instance-method","name":"unknown?","abstract":false,"location":{"filename":"src/sony/camera/cgi_protocol.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/cgi_protocol.cr#L28"},"def":{"name":"unknown?","visibility":"Public","body":"self == Unknown"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA","path":"Sony/Camera/VISCA.html","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Zoomable","kind":"module","full_name":"PlaceOS::Driver::Interface::Zoomable","name":"Zoomable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Moveable","kind":"module","full_name":"PlaceOS::Driver::Interface::Moveable","name":"Moveable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Stoppable","kind":"module","full_name":"PlaceOS::Driver::Interface::Stoppable","name":"Stoppable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Camera","kind":"module","full_name":"PlaceOS::Driver::Interface::Camera","name":"Camera"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Camera","kind":"module","full_name":"Sony::Camera","name":"Camera"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","doc":"clear the interface","summary":"

clear the interface

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L67"},"def":{"name":"connected","visibility":"Public","body":"reset_sequence_number\nsend_cmd(Bytes[0, 1], name: :if_clear, priority: 98)\n"}},{"html_id":"encode_position(value:UInt16):String-instance-method","name":"encode_position","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"args_string":"(value : UInt16) : String","args_html":"(value : UInt16) : String","location":{"filename":"src/sony/camera/visca.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L124"},"def":{"name":"encode_position","args":[{"name":"value","external_name":"value","restriction":"UInt16"}],"return_type":"String","visibility":"Public","body":"io = IO::Memory.new\nio.write_bytes(value, IO::ByteFormat::BigEndian)\nbytes = io.to_slice.hexstring.rjust(4, '0')\n\"0#{bytes[0]}0#{bytes[1]}0#{bytes[2]}0#{bytes[3]}\"\n"}},{"html_id":"home-instance-method","name":"home","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L85"},"def":{"name":"home","visibility":"Public","body":"send_cmd(Bytes[6, 4], name: :pantilt)"}},{"html_id":"joystick(pan_speed:Float64,tilt_speed:Float64,index:Int32|String=0)-instance-method","name":"joystick","doc":"Most cameras support sending a move speed, the interface should expect a percentage","summary":"

Most cameras support sending a move speed, the interface should expect a percentage

","abstract":false,"args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","args_html":"(pan_speed : Float64, tilt_speed : Float64, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L89"},"def":{"name":"joystick","args":[{"name":"pan_speed","external_name":"pan_speed","restriction":"Float64"},{"name":"tilt_speed","external_name":"tilt_speed","restriction":"Float64"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if @invert\n tilt_speed = -tilt_speed\nend\npan_neg, pan_value, pan_zero = joyspeed(pan_speed, @max_pan_tilt_speed)\ntilt_neg, tilt_value, tilt_zero = joyspeed(tilt_speed, @max_pan_tilt_speed)\npan_direction = pan_zero ? \"03\" : (pan_neg ? \"01\" : \"02\")\ntilt_direction = tilt_zero ? \"03\" : (tilt_neg ? \"02\" : \"01\")\nbytes = \"0601#{pan_value}#{tilt_value}#{pan_direction}#{tilt_direction}\"\nresp = send_cmd(bytes.hexbytes, name: :joystick)\nif pan_zero && tilt_zero\n spawn(same_thread: true) do\n resp.get\n schedule.in(1.seconds) do\n pantilt?\n end\n end\nend\nresp\n"}},{"html_id":"move(position:MoveablePosition,index:Int32|String=0)-instance-method","name":"move","doc":"moves at 50% of max speed","summary":"

moves at 50% of max speed

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : MoveablePosition, index : Int32 | String = 0)","args_html":"(position : MoveablePosition, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L172"},"def":{"name":"move","args":[{"name":"position","external_name":"position","restriction":"MoveablePosition"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"case position\nin .up?\n joystick(pan_speed: 0.0, tilt_speed: 50.0)\nin .down?\n joystick(pan_speed: 0.0, tilt_speed: -50.0)\nin .left?\n joystick(pan_speed: -50.0, tilt_speed: 0.0)\nin .right?\n joystick(pan_speed: 50.0, tilt_speed: 0.0)\nin .in?\n zoom(:in)\nin .out?\n zoom(:out)\nin .open?, .close?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","doc":"we want to tokenize the stream, ensure we only process a single packet at a time\nand that we have the complete message","summary":"

we want to tokenize the stream, ensure we only process a single packet at a time and that we have the complete message

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L43"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n if bytes.size < 4\n next 0\n end\n ((IO::Memory.new(bytes[2..3])).read_bytes(UInt16, IO::ByteFormat::BigEndian)).to_i + 8\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L55"},"def":{"name":"on_update","visibility":"Public","body":"@presets = (setting?(Presets, :camera_presets)) || @presets\n@max_pan_tilt_speed = (setting?(UInt8, :max_pan_tilt_speed)) || 15_u8\n@zoom_speed = (setting?(UInt8, :zoom_speed)) || 3_u8\n@zoom_max = (setting?(UInt16, :zoom_max)) || 16384_u16\n@camera_address = 128_u8 | ((setting?(UInt8, :camera_no)) || 1_u8)\nself[:presets] = @presets.keys\nself[:inverted] = @invert = (setting?(Bool, :invert_controls)) || false\n"}},{"html_id":"pan_pos:UInt16-instance-method","name":"pan_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L39"},"def":{"name":"pan_pos","return_type":"UInt16","visibility":"Public","body":"@pan_pos"}},{"html_id":"pantilt(pan:UInt16,tilt:UInt16,speed:UInt8)-instance-method","name":"pantilt","doc":"moves to an absolute position","summary":"

moves to an absolute position

","abstract":false,"args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"args_string":"(pan : UInt16, tilt : UInt16, speed : UInt8)","args_html":"(pan : UInt16, tilt : UInt16, speed : UInt8)","location":{"filename":"src/sony/camera/visca.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L138"},"def":{"name":"pantilt","args":[{"name":"pan","external_name":"pan","restriction":"UInt16"},{"name":"tilt","external_name":"tilt","restriction":"UInt16"},{"name":"speed","external_name":"speed","restriction":"UInt8"}],"visibility":"Public","body":"speed = speed.clamp(0_u8, @max_pan_tilt_speed)\nbytes = \"0602#{Bytes[speed].hexstring.rjust(2, '0')}00#{encode_position(pan)}#{encode_position(tilt)}\"\nsend_cmd(bytes.hexbytes, name: :pantilt)\n"}},{"html_id":"pantilt?-instance-method","name":"pantilt?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":221,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L221"},"def":{"name":"pantilt?","visibility":"Public","body":"send_inq(Bytes[6, 18], name: :pantilt_query, priority: 0)"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/camera/visca.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L74"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"payload = state ? Bytes[4, 0, 2] : Bytes[4, 0, 3]\nsend_cmd(payload, name: :power)\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L79"},"def":{"name":"power?","visibility":"Public","body":"send_inq(Bytes[4, 0], name: :power_query)"}},{"html_id":"recall(position:String,index:Int32|String=0)-instance-method","name":"recall","doc":"Most cameras support presets (either as a feature or via manual positioning)","summary":"

Most cameras support presets (either as a feature or via manual positioning)

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : String, index : Int32 | String = 0)","args_html":"(position : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L144"},"def":{"name":"recall","args":[{"name":"position","external_name":"position","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"if pos = @presets[position]?\n pan_pos, tilt_pos, zoom_pos = pos\n pantilt(pan_pos, tilt_pos, @max_pan_tilt_speed)\n zoom_to(zoom_pos)\nelse\n raise(\"unknown preset #{position}\")\nend"}},{"html_id":"received(data,task,sequence:UInt32|Nil=nil):Nil-instance-method","name":"received","doc":"process incoming data, tokenised so we know each data packet is exactly one message","summary":"

process incoming data, tokenised so we know each data packet is exactly one message

","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"args_string":"(data, task, sequence : UInt32 | Nil = nil) : Nil","args_html":"(data, task, sequence : UInt32 | Nil = nil) : Nil","location":{"filename":"src/sony/camera/visca.cr","line_number":336,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L336"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""},{"name":"sequence","default_value":"nil","external_name":"sequence","restriction":"UInt32 | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"logger.debug do\n \"Camera sent: 0x#{data.hexstring}\"\nend\nif sequence.nil?\n logger.info do\n \"unexpected packet received, ignoring as no sequence pending\"\n end\n return\nend\nio = IO::Memory.new(data)\npacket = io.read_bytes(Packet)\npayload = packet.payload\ncase packet.type\nwhen .device_control?\n case payload[-1]\n when 1_u8\n reset_sequence_number(directly: true)\n logger.info do\n \"sequence number error, resetting sequence\"\n end\n when 2_u8\n task.try(&.abort(\"bad request\"))\n end\n return\nwhen .device_reply?\n if task && (task.name == \"reset_sequence_number\")\n task.success\n else\n task.try(&.retry(\"sequence number reset, retrying task\"))\n end\n return\nwhen .reply?\n if sequence != packet.sequence\n logger.info do\n \"unexpected sequence number, ignoring\"\n end\n return\n end\nelse\n logger.info do\n \"unexpected packet type #{packet.type}, ignoring\"\n end\n return\nend\ncheck_command = payload[1] & 240_u8\ncase check_command\nwhen 64_u8\n logger.debug do\n \"ignoring command accepted message\"\n end\n return\nwhen 80_u8\n logger.debug do\n \"command complete message\"\n end\nwhen 96_u8\n case payload[2]\n when 2_u8\n task.try(&.abort(\"syntax error in request\"))\n when 3_u8\n schedule.in(50.milliseconds) do\n task.try(&.retry(\"camera busy\"))\n end\n when 4_u8\n task.try(&.abort(\"request was cancelled by the user\"))\n when 5_u8\n task.try(&.success)\n when 65_u8\n task.try(&.abort(\"request could not be performed\"))\n end\n return\nend\ncase task.try(&.name)\nwhen \"zoom_query\"\n @zoom_raw = zoom_value = decode_position(payload[2..5])\n self[:zoom] = @zoom_pos = zoom_value.to_f * (100.0 / @zoom_max.to_f)\nwhen \"pantilt_query\"\n @pan_pos = decode_position(payload[2..5])\n @tilt_pos = decode_position(payload[6..9])\nwhen \"zoom_to\"\n zoom?\nwhen \"pantilt\"\n pantilt?\nwhen \"power_query\"\n self[:power] = payload[-2] == 2_u8\nend\ntask.try(&.success)\n"}},{"html_id":"remove_position(name:String,index:Int32|String=0)-instance-method","name":"remove_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L159"},"def":{"name":"remove_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets.delete(name)\nsave_presets\n"}},{"html_id":"reset_sequence_number(directly:Bool=false)-instance-method","name":"reset_sequence_number","abstract":false,"args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"args_string":"(directly : Bool = false)","args_html":"(directly : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":320,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L320"},"def":{"name":"reset_sequence_number","args":[{"name":"directly","default_value":"false","external_name":"directly","restriction":"Bool"}],"visibility":"Public","body":"packet = Packet.new\npacket.type = :device_control\npacket.sequence = @sequence = 1_u32\npacket.payload = Bytes[1_u8]\nif directly\n return transport.send(packet)\nend\nqueue(name: :reset_sequence_number, priority: 99) do |task|\n transport.send(packet, task) do |data|\n received(data, task, @sequence)\n end\nend\n"}},{"html_id":"save_position(name:String,index:Int32|String=0)-instance-method","name":"save_position","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(name : String, index : Int32 | String = 0)","args_html":"(name : String, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L154"},"def":{"name":"save_position","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"@presets[name] = {@pan_pos, @tilt_pos, @zoom_pos}\nsave_presets\n"}},{"html_id":"send_cmd(bytes:String)-instance-method","name":"send_cmd","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":259,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L259"},"def":{"name":"send_cmd","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_cmd(bytes.hexbytes)"}},{"html_id":"send_inq(bytes:String)-instance-method","name":"send_inq","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"args_string":"(bytes : String)","args_html":"(bytes : String)","location":{"filename":"src/sony/camera/visca.cr","line_number":287,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L287"},"def":{"name":"send_inq","args":[{"name":"bytes","external_name":"bytes","restriction":"String"}],"visibility":"Public","body":"send_inq(bytes.hexbytes)"}},{"html_id":"stop(index:Int32|String=0,emergency:Bool=false)-instance-method","name":"stop","abstract":false,"args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"args_string":"(index : Int32 | String = 0, emergency : Bool = false)","args_html":"(index : Int32 | String = 0, emergency : Bool = false)","location":{"filename":"src/sony/camera/visca.cr","line_number":227,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L227"},"def":{"name":"stop","args":[{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"emergency","default_value":"false","external_name":"emergency","restriction":"Bool"}],"visibility":"Public","body":"zoom(:stop)"}},{"html_id":"tilt_pos:UInt16-instance-method","name":"tilt_pos","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L38"},"def":{"name":"tilt_pos","return_type":"UInt16","visibility":"Public","body":"@tilt_pos"}},{"html_id":"zoom(direction:ZoomDirection,index:Int32|String=0)-instance-method","name":"zoom","doc":"As zoom is typically discreet we manually implement the analogue version\nSimple enough to overwrite this as required","summary":"

As zoom is typically discreet we manually implement the analogue version Simple enough to overwrite this as required

","abstract":false,"args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(direction : ZoomDirection, index : Int32 | String = 0)","args_html":"(direction : ZoomDirection, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":203,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L203"},"def":{"name":"zoom","args":[{"name":"direction","external_name":"direction","restriction":"ZoomDirection"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"speed_byte = case direction\nin .stop?\n schedule.in(500.milliseconds) do\n zoom?\n end\n 0_u8\nin .out?\n 32_u8 | @zoom_speed\nin .in?\n 48_u8 | @zoom_speed\nend\nsend_cmd(Bytes[4, 7, speed_byte], name: :zoom)\n"}},{"html_id":"zoom?-instance-method","name":"zoom?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":217,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L217"},"def":{"name":"zoom?","visibility":"Public","body":"send_inq(Bytes[4, 71], name: :zoom_query, priority: 0)"}},{"html_id":"zoom_raw:UInt16-instance-method","name":"zoom_raw","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L36"},"def":{"name":"zoom_raw","return_type":"UInt16","visibility":"Public","body":"@zoom_raw"}},{"html_id":"zoom_to(position:Float64,auto_focus:Bool=true,index:Int32|String=0)-instance-method","name":"zoom_to","doc":"Zooms to an absolute position","summary":"

Zooms to an absolute position

","abstract":false,"args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"args_string":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","args_html":"(position : Float64, auto_focus : Bool = true, index : Int32 | String = 0)","location":{"filename":"src/sony/camera/visca.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L194"},"def":{"name":"zoom_to","args":[{"name":"position","external_name":"position","restriction":"Float64"},{"name":"auto_focus","default_value":"true","external_name":"auto_focus","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"}],"visibility":"Public","body":"position = position.clamp(0.0, 100.0)\npercentage = position / 100.0\nzoom_value = (percentage * @zoom_max.to_f).to_u16\nbytes = \"0447#{encode_position(zoom_value)}\"\nsend_cmd(bytes.hexbytes, name: :zoom_to)\n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet","path":"Sony/Camera/VISCA/Packet.html","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Sony::Camera::VISCA::Packet]","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt16, onlyif: nil, verify: nil, value: nil, encoding: Type}, {type: \"basic\", name: size, cls: UInt16, onlyif: nil, verify: nil, value: -> do\n payload.size.to_u16\nend}, {type: \"basic\", name: sequence, cls: UInt32, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: payload, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"},"doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L235"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"payload:Bytes-instance-method","name":"payload","abstract":false,"def":{"name":"payload","return_type":"Bytes","visibility":"Public","body":"@payload"}},{"html_id":"payload=(payload:Bytes)-instance-method","name":"payload=","abstract":false,"args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"args_string":"(payload : Bytes)","args_html":"(payload : Bytes)","def":{"name":"payload=","args":[{"name":"payload","external_name":"payload","restriction":"Bytes"}],"visibility":"Public","body":"@payload = payload"}},{"html_id":"sequence:UInt32-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt32","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt32)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"args_string":"(sequence : UInt32)","args_html":"(sequence : UInt32)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt32"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt16-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt16","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt16)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"args_string":"(size : UInt16)","args_html":"(size : UInt16)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt16"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:Type-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"Type","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Type)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Type"}],"args_string":"(type : Type)","args_html":"(type : Type)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Type"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","doc":"VISCA over IP packet layout","summary":"

VISCA over IP packet layout

","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/sony/camera/visca.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L234"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}}],"types":[{"html_id":"drivers/Sony/Camera/VISCA/Packet/Type","path":"Sony/Camera/VISCA/Packet/Type.html","kind":"enum","full_name":"Sony::Camera::VISCA::Packet::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/camera/visca.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L237"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Command","name":"Command","value":"256_u16"},{"id":"Inquiry","name":"Inquiry","value":"272_u16"},{"id":"Reply","name":"Reply","value":"273_u16"},{"id":"DeviceSetting","name":"DeviceSetting","value":"288_u16","doc":"VISCA device setting","summary":"

VISCA device setting

"},{"id":"DeviceControl","name":"DeviceControl","value":"512_u16","doc":"reset: 0x01\nerror: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)","summary":"

reset: 0x01 error: 0x0Fyy (yy = 01 : sequence number error, 02 : message error)

"},{"id":"DeviceReply","name":"DeviceReply","value":"513_u16","doc":"Acknowledge for reset","summary":"

Acknowledge for reset

"}],"namespace":{"html_id":"drivers/Sony/Camera/VISCA/Packet","kind":"class","full_name":"Sony::Camera::VISCA::Packet","name":"Packet"},"instance_methods":[{"html_id":"command?-instance-method","name":"command?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":238,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L238"},"def":{"name":"command?","visibility":"Public","body":"self == Command"}},{"html_id":"device_control?-instance-method","name":"device_control?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":246,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L246"},"def":{"name":"device_control?","visibility":"Public","body":"self == DeviceControl"}},{"html_id":"device_reply?-instance-method","name":"device_reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":249,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L249"},"def":{"name":"device_reply?","visibility":"Public","body":"self == DeviceReply"}},{"html_id":"device_setting?-instance-method","name":"device_setting?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":242,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L242"},"def":{"name":"device_setting?","visibility":"Public","body":"self == DeviceSetting"}},{"html_id":"inquiry?-instance-method","name":"inquiry?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":239,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L239"},"def":{"name":"inquiry?","visibility":"Public","body":"self == Inquiry"}},{"html_id":"reply?-instance-method","name":"reply?","abstract":false,"location":{"filename":"src/sony/camera/visca.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L240"},"def":{"name":"reply?","visibility":"Public","body":"self == Reply"}}]}]},{"html_id":"drivers/Sony/Camera/VISCA/Presets","path":"Sony/Camera/VISCA/Presets.html","kind":"alias","full_name":"Sony::Camera::VISCA::Presets","name":"Presets","abstract":false,"locations":[{"filename":"src/sony/camera/visca.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/camera/visca.cr#L34"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, Tuple(UInt16, UInt16, Float64))","aliased_html":"Hash(String, {UInt16, UInt16, Float64})","const":false,"namespace":{"html_id":"drivers/Sony/Camera/VISCA","kind":"class","full_name":"Sony::Camera::VISCA","name":"VISCA"}}]}]},{"html_id":"drivers/Sony/Displays","path":"Sony/Displays.html","kind":"module","full_name":"Sony::Displays","name":"Displays","abstract":false,"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Displays/Bravia","path":"Sony/Displays/Bravia.html","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COMMANDS","name":"COMMANDS","value":"{ir_code: \"IRCC\", power: \"POWR\", volume: \"VOLU\", audio_mute: \"AMUT\", mute: \"PMUT\", channel: \"CHNN\", tv_input: \"ISRC\", input: \"INPT\", toggle_mute: \"TPMU\", pip: \"PIPI\", toggle_pip: \"TPIP\", position_pip: \"TPPP\", broadcast_address: \"BADR\", mac_address: \"MADR\"}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Displays","kind":"module","full_name":"Sony::Displays","name":"Displays"},"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L102"},"def":{"name":"audio_mute?","visibility":"Public","body":"query(Command::AudioMute, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L57"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(30.seconds, true) do\n do_poll\nend"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L63"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L116"},"def":{"name":"do_poll","visibility":"Public","body":"if self[:power]?\n input?\n mute?\n audio_mute?\n volume?\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L48"},"def":{"name":"input?","visibility":"Public","body":"query(Command::Input, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/displays/bravia.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L76"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"request(Command::Mute, state)\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L89"},"def":{"name":"mute?","visibility":"Public","body":"query(Command::Mute, priority: 0)"}},{"html_id":"mute_audio(state:Bool=true)-instance-method","name":"mute_audio","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool = true)","args_html":"(state : Bool = true)","location":{"filename":"src/sony/displays/bravia.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L93"},"def":{"name":"mute_audio","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::AudioMute, state)\naudio_mute?\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L52"},"def":{"name":"on_load","visibility":"Public","body":"self[:volume_min] = 0\nself[:volume_max] = 100\n"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/displays/bravia.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L67"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"request(Command::Power, state)\npower?\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L72"},"def":{"name":"power?","visibility":"Public","body":"query(Command::Power)"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/displays/bravia.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L137"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"parsed_data = convert_binary(data[3..6])\ncmd = Command.from_response?(parsed_data)\nif cmd.nil?\n return task.try(&.abort(\"unrecognised command: #{parsed_data}\"))\nend\nparam = data[7..-1]\nif param.first? == MessageType::Error.value\n return task.try(&.abort(\"error\"))\nend\ncase MessageType.from_value?(data[2])\nwhen MessageType::Answer\n update_status(cmd, param)\n task.try(&.success)\nwhen MessageType::Notify\n update_status(cmd, param)\nelse\n logger.debug do\n \"Unhandled device response: #{begin\n data[2].chr\n rescue\n data[2]\n end}\"\n end\n task.try(&.abort(\"Unhandled device response\"))\nend\n"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/displays/bravia.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L41"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"logger.debug do\n \"switching input to #{input}\"\nend\nrequest(Command::Input, input.to_param)\nself[:input] = input.to_s\ninput?\n"}},{"html_id":"unmute-instance-method","name":"unmute","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L85"},"def":{"name":"unmute","visibility":"Public","body":"mute(false)"}},{"html_id":"unmute_audio-instance-method","name":"unmute_audio","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L98"},"def":{"name":"unmute_audio","visibility":"Public","body":"mute_audio(false)"}},{"html_id":"volume(level:Int32|Float64)-instance-method","name":"volume","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"args_string":"(level : Int32 | Float64)","args_html":"(level : Int32 | Float64)","location":{"filename":"src/sony/displays/bravia.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L106"},"def":{"name":"volume","args":[{"name":"level","external_name":"level","restriction":"Int32 | Float64"}],"visibility":"Public","body":"level = (level.to_f.clamp(0.0, 100.0)).round_away.to_i\nrequest(Command::Volume, level)\nvolume?\n"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L112"},"def":{"name":"volume?","visibility":"Public","body":"query(Command::Volume, priority: 0)"}}],"types":[{"html_id":"drivers/Sony/Displays/Bravia/Command","path":"Sony/Displays/Bravia/Command.html","kind":"enum","full_name":"Sony::Displays::Bravia::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"IrCode","name":"IrCode","value":"0"},{"id":"Power","name":"Power","value":"1"},{"id":"Volume","name":"Volume","value":"2"},{"id":"AudioMute","name":"AudioMute","value":"3"},{"id":"Mute","name":"Mute","value":"4"},{"id":"Channel","name":"Channel","value":"5"},{"id":"TvInput","name":"TvInput","value":"6"},{"id":"Input","name":"Input","value":"7"},{"id":"ToggleMute","name":"ToggleMute","value":"8"},{"id":"Pip","name":"Pip","value":"9"},{"id":"TogglePip","name":"TogglePip","value":"10"},{"id":"PositionPip","name":"PositionPip","value":"11"},{"id":"BroadcastAddress","name":"BroadcastAddress","value":"12"},{"id":"MacAddress","name":"MacAddress","value":"13"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"class_methods":[{"html_id":"from_response?(message)-class-method","name":"from_response?","abstract":false,"args":[{"name":"message","external_name":"message","restriction":""}],"args_string":"(message)","args_html":"(message)","location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"from_response?","args":[{"name":"message","external_name":"message","restriction":""}],"visibility":"Public","body":"case message\nwhen \"IRCC\"\n IrCode\nwhen \"POWR\"\n Power\nwhen \"VOLU\"\n Volume\nwhen \"AMUT\"\n AudioMute\nwhen \"PMUT\"\n Mute\nwhen \"CHNN\"\n Channel\nwhen \"ISRC\"\n TvInput\nwhen \"INPT\"\n Input\nwhen \"TPMU\"\n ToggleMute\nwhen \"PIPI\"\n Pip\nwhen \"TPIP\"\n TogglePip\nwhen \"TPPP\"\n PositionPip\nwhen \"BADR\"\n BroadcastAddress\nwhen \"MADR\"\n MacAddress\nend"}}],"instance_methods":[{"html_id":"audio_mute?-instance-method","name":"audio_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"audio_mute?","visibility":"Public","body":"self == AudioMute"}},{"html_id":"broadcast_address?-instance-method","name":"broadcast_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"broadcast_address?","visibility":"Public","body":"self == BroadcastAddress"}},{"html_id":"channel?-instance-method","name":"channel?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"channel?","visibility":"Public","body":"self == Channel"}},{"html_id":"function-instance-method","name":"function","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"function","visibility":"Public","body":"case self\nin IrCode\n \"IRCC\"\nin Power\n \"POWR\"\nin Volume\n \"VOLU\"\nin AudioMute\n \"AMUT\"\nin Mute\n \"PMUT\"\nin Channel\n \"CHNN\"\nin TvInput\n \"ISRC\"\nin Input\n \"INPT\"\nin ToggleMute\n \"TPMU\"\nin Pip\n \"PIPI\"\nin TogglePip\n \"TPIP\"\nin PositionPip\n \"TPPP\"\nin BroadcastAddress\n \"BADR\"\nin MacAddress\n \"MADR\"\nend"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"ir_code?-instance-method","name":"ir_code?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"ir_code?","visibility":"Public","body":"self == IrCode"}},{"html_id":"mac_address?-instance-method","name":"mac_address?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"mac_address?","visibility":"Public","body":"self == MacAddress"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"pip?-instance-method","name":"pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"pip?","visibility":"Public","body":"self == Pip"}},{"html_id":"position_pip?-instance-method","name":"position_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"position_pip?","visibility":"Public","body":"self == PositionPip"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"power?","visibility":"Public","body":"self == Power"}},{"html_id":"toggle_mute?-instance-method","name":"toggle_mute?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_mute?","visibility":"Public","body":"self == ToggleMute"}},{"html_id":"toggle_pip?-instance-method","name":"toggle_pip?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"toggle_pip?","visibility":"Public","body":"self == TogglePip"}},{"html_id":"tv_input?-instance-method","name":"tv_input?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"tv_input?","visibility":"Public","body":"self == TvInput"}},{"html_id":"volume?-instance-method","name":"volume?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L172"},"def":{"name":"volume?","visibility":"Public","body":"self == Volume"}}]},{"html_id":"drivers/Sony/Displays/Bravia/Input","path":"Sony/Displays/Bravia/Input.html","kind":"enum","full_name":"Sony::Displays::Bravia::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L20"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Tv0","name":"Tv0","value":"0_u32"},{"id":"Hdmi0","name":"Hdmi0","value":"100000000_u32"},{"id":"Mirror0","name":"Mirror0","value":"500000000_u32"},{"id":"Vga0","name":"Vga0","value":"600000000_u32"},{"id":"Tv1","name":"Tv1","value":"1_u32"},{"id":"Hdmi1","name":"Hdmi1","value":"100000001_u32"},{"id":"Mirror1","name":"Mirror1","value":"500000001_u32"},{"id":"Vga1","name":"Vga1","value":"600000001_u32"},{"id":"Tv2","name":"Tv2","value":"2_u32"},{"id":"Hdmi2","name":"Hdmi2","value":"100000002_u32"},{"id":"Mirror2","name":"Mirror2","value":"500000002_u32"},{"id":"Vga2","name":"Vga2","value":"600000002_u32"},{"id":"Tv3","name":"Tv3","value":"3_u32"},{"id":"Hdmi3","name":"Hdmi3","value":"100000003_u32"},{"id":"Mirror3","name":"Mirror3","value":"500000003_u32"},{"id":"Vga3","name":"Vga3","value":"600000003_u32"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"constructors":[{"html_id":"from_param(value:String):self-class-method","name":"from_param","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"}],"args_string":"(value : String) : self","args_html":"(value : String) : self","location":{"filename":"src/sony/displays/bravia.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L28"},"def":{"name":"from_param","args":[{"name":"value","external_name":"value","restriction":"String"}],"return_type":"self","visibility":"Public","body":"begin\n from_value(UInt32.new(value))\nrescue\n raise(\"Unknown enum #{self} value: #{value}\")\nend"}}],"instance_methods":[{"html_id":"hdmi0?-instance-method","name":"hdmi0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi0?","visibility":"Public","body":"self == Hdmi0"}},{"html_id":"hdmi1?-instance-method","name":"hdmi1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi1?","visibility":"Public","body":"self == Hdmi1"}},{"html_id":"hdmi2?-instance-method","name":"hdmi2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi2?","visibility":"Public","body":"self == Hdmi2"}},{"html_id":"hdmi3?-instance-method","name":"hdmi3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"hdmi3?","visibility":"Public","body":"self == Hdmi3"}},{"html_id":"mirror0?-instance-method","name":"mirror0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror0?","visibility":"Public","body":"self == Mirror0"}},{"html_id":"mirror1?-instance-method","name":"mirror1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror1?","visibility":"Public","body":"self == Mirror1"}},{"html_id":"mirror2?-instance-method","name":"mirror2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror2?","visibility":"Public","body":"self == Mirror2"}},{"html_id":"mirror3?-instance-method","name":"mirror3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"mirror3?","visibility":"Public","body":"self == Mirror3"}},{"html_id":"to_param:String-instance-method","name":"to_param","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L34"},"def":{"name":"to_param","return_type":"String","visibility":"Public","body":"value.to_s.rjust(5, '0')"}},{"html_id":"tv0?-instance-method","name":"tv0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv0?","visibility":"Public","body":"self == Tv0"}},{"html_id":"tv1?-instance-method","name":"tv1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv1?","visibility":"Public","body":"self == Tv1"}},{"html_id":"tv2?-instance-method","name":"tv2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv2?","visibility":"Public","body":"self == Tv2"}},{"html_id":"tv3?-instance-method","name":"tv3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"tv3?","visibility":"Public","body":"self == Tv3"}},{"html_id":"vga0?-instance-method","name":"vga0?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga0?","visibility":"Public","body":"self == Vga0"}},{"html_id":"vga1?-instance-method","name":"vga1?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga1?","visibility":"Public","body":"self == Vga1"}},{"html_id":"vga2?-instance-method","name":"vga2?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga2?","visibility":"Public","body":"self == Vga2"}},{"html_id":"vga3?-instance-method","name":"vga3?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L21"},"def":{"name":"vga3?","visibility":"Public","body":"self == Vga3"}}]},{"html_id":"drivers/Sony/Displays/Bravia/MessageType","path":"Sony/Displays/Bravia/MessageType.html","kind":"enum","full_name":"Sony::Displays::Bravia::MessageType","name":"MessageType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/displays/bravia.cr","line_number":125,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L125"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Answer","name":"Answer","value":"65_u8"},{"id":"Control","name":"Control","value":"67_u8"},{"id":"Enquiry","name":"Enquiry","value":"69_u8"},{"id":"Notify","name":"Notify","value":"78_u8"},{"id":"Error","name":"Error","value":"70_u8"}],"namespace":{"html_id":"drivers/Sony/Displays/Bravia","kind":"class","full_name":"Sony::Displays::Bravia","name":"Bravia"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":126,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L126"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"control?-instance-method","name":"control?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L127"},"def":{"name":"control?","visibility":"Public","body":"self == Control"}},{"html_id":"control_character-instance-method","name":"control_character","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L132"},"def":{"name":"control_character","visibility":"Public","body":"value.chr"}},{"html_id":"enquiry?-instance-method","name":"enquiry?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":128,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L128"},"def":{"name":"enquiry?","visibility":"Public","body":"self == Enquiry"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L130"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"notify?-instance-method","name":"notify?","abstract":false,"location":{"filename":"src/sony/displays/bravia.cr","line_number":129,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/displays/bravia.cr#L129"},"def":{"name":"notify?","visibility":"Public","body":"self == Notify"}}]}]}]},{"html_id":"drivers/Sony/Projector","path":"Sony/Projector.html","kind":"module","full_name":"Sony::Projector","name":"Projector","abstract":false,"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Sony","kind":"module","full_name":"Sony","name":"Sony"},"types":[{"html_id":"drivers/Sony/Projector/Fh","path":"Sony/Projector/Fh.html","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"INPUTS_LOOKUP","name":"INPUTS_LOOKUP","value":"{\"hdmi1\" => Inputs::HDMI, \"dvi1\" => Inputs::DVI, \"video1\" => Inputs::Video, \"svideo1\" => Inputs::SVideo, \"rgb1\" => Inputs::RGB, \"hdbaset1\" => Inputs::HDBaseT, \"input_a\" => Inputs::InputA, \"input_b\" => Inputs::InputB, \"input_c\" => Inputs::InputC, \"input_d\" => Inputs::InputD, \"input_e\" => Inputs::InputE}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(val:Int32)-instance-method","name":"brightness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"brightness\", val.clamp(0, 100))"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"brightness?","visibility":"Public","body":"get(\"brightness\")"}},{"html_id":"color(val:Int32)-instance-method","name":"color","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"color","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"color\", val.clamp(0, 100))"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"color?","visibility":"Public","body":"get(\"color\")"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L48"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(val:Int32)-instance-method","name":"contrast","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"contrast\", val.clamp(0, 100))"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"contrast?","visibility":"Public","body":"get(\"contrast\")"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L52"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(val:Int32)-instance-method","name":"hue","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"hue","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"hue\", val.clamp(0, 100))"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"hue?","visibility":"Public","body":"get(\"hue\")"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L99"},"def":{"name":"input?","visibility":"Public","body":"(get(\"input\")).get\nself[:input].as_s\n"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/fh.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L66"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"(set(\"blank\", state ? \"on\" : \"off\")).get\nself[:mute] = state\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L75"},"def":{"name":"mute?","visibility":"Public","body":"(get(\"blank\")).get\nself[:mute].as_bool\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L44"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(\"\\r\\n\")"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/fh.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L56"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"(set(\"power\", state ? \"on\" : \"off\")).get\nself[:power] = state\n"}},{"html_id":"power?-instance-method","name":"power?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L61"},"def":{"name":"power?","visibility":"Public","body":"get(\"power_status\")\n!(!self[:power]?.try(&.as_bool))\n"}},{"html_id":"received(response,task)-instance-method","name":"received","abstract":false,"args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(response, task)","args_html":"(response, task)","location":{"filename":"src/sony/projector/fh.cr","line_number":120,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L120"},"def":{"name":"received","args":[{"name":"response","external_name":"response","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"process_response(response, task)"}},{"html_id":"sharpness(val:Int32)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"val","external_name":"val","restriction":"Int32"}],"args_string":"(val : Int32)","args_html":"(val : Int32)","location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness","args":[{"name":"val","external_name":"val","restriction":"Int32"}],"visibility":"Public","body":"set(\"sharpness\", val.clamp(0, 100))"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L104"},"def":{"name":"sharpness?","visibility":"Public","body":"get(\"sharpness\")"}},{"html_id":"switch_to(input:Inputs)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"args_string":"(input : Inputs)","args_html":"(input : Inputs)","location":{"filename":"src/sony/projector/fh.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L94"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Inputs"}],"visibility":"Public","body":"(set(\"input\", input.to_message)).get\nself[:input] = input.readable\n"}}],"types":[{"html_id":"drivers/Sony/Projector/Fh/Inputs","path":"Sony/Projector/Fh/Inputs.html","kind":"enum","full_name":"Sony::Projector::Fh::Inputs","name":"Inputs","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/fh.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L12"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"0"},{"id":"DVI","name":"DVI","value":"1"},{"id":"Video","name":"Video","value":"2"},{"id":"SVideo","name":"SVideo","value":"3"},{"id":"RGB","name":"RGB","value":"4"},{"id":"HDBaseT","name":"HDBaseT","value":"5"},{"id":"InputA","name":"InputA","value":"6"},{"id":"InputB","name":"InputB","value":"7"},{"id":"InputC","name":"InputC","value":"8"},{"id":"InputD","name":"InputD","value":"9"},{"id":"InputE","name":"InputE","value":"10"}],"namespace":{"html_id":"drivers/Sony/Projector/Fh","kind":"class","full_name":"Sony::Projector::Fh","name":"Fh"},"instance_methods":[{"html_id":"dvi?-instance-method","name":"dvi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L14"},"def":{"name":"dvi?","visibility":"Public","body":"self == DVI"}},{"html_id":"hd_base_t?-instance-method","name":"hd_base_t?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L18"},"def":{"name":"hd_base_t?","visibility":"Public","body":"self == HDBaseT"}},{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L13"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L19"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L20"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L21"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L22"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"input_e?-instance-method","name":"input_e?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L23"},"def":{"name":"input_e?","visibility":"Public","body":"self == InputE"}},{"html_id":"readable:String-instance-method","name":"readable","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L34"},"def":{"name":"readable","return_type":"String","visibility":"Public","body":"to_s.downcase"}},{"html_id":"rgb?-instance-method","name":"rgb?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L17"},"def":{"name":"rgb?","visibility":"Public","body":"self == RGB"}},{"html_id":"s_video?-instance-method","name":"s_video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L16"},"def":{"name":"s_video?","visibility":"Public","body":"self == SVideo"}},{"html_id":"to_message:String-instance-method","name":"to_message","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L25"},"def":{"name":"to_message","return_type":"String","visibility":"Public","body":"case self\nin HDMI, DVI, Video, SVideo, RGB, HDBaseT\n to_s.downcase + \"1\"\nin InputA, InputB, InputC, InputD, InputE\n to_s.underscore\nend"}},{"html_id":"video?-instance-method","name":"video?","abstract":false,"location":{"filename":"src/sony/projector/fh.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/fh.cr#L15"},"def":{"name":"video?","visibility":"Public","body":"self == Video"}}]}]},{"html_id":"drivers/Sony/Projector/PjTalk","path":"Sony/Projector/PjTalk.html","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CATEGORY","name":"ERROR_CATEGORY","value":"{1_u8 => :item_error, 2_u8 => :community_error, 16_u8 => :request_error, 32_u8 => :network_error, 240_u8 => :comms_error, 241_u8 => :ram_error}"},{"id":"ERRORS","name":"ERRORS","value":"{item_error: {1_u8 => \"Invalid Item\", 2_u8 => \"Invalid Item Request\", 3_u8 => \"Invalid Length\", 4_u8 => \"Invalid Data\", 17_u8 => \"Short Data\", 128_u8 => \"Not Applicable Item\"}, community_error: {1_u8 => \"Different Community\"}, request_error: {1_u8 => \"Invalid Version\", 2_u8 => \"Invalid Category\", 3_u8 => \"Invalid Request\", 17_u8 => \"Short Header\", 18_u8 => \"Short Community\", 19_u8 => \"Short Command\"}, network_error: {1_u8 => \"Timeout\"}, comms_error: {1_u8 => \"Timeout\", 16_u8 => \"Check Sum Error\", 32_u8 => \"Framing Error\", 48_u8 => \"Parity Error\", 64_u8 => \"Over Run Error\", 80_u8 => \"Other Comm Error\", 240_u8 => \"Unknown Response\"}, ram_error: {16_u8 => \"Read Error\", 32_u8 => \"Write Error\"}, unknown: {} of UInt8 => String}"},{"id":"METHODS","name":"METHODS","value":"[:contrast, :brightness, :color, :hue, :sharpness]"},{"id":"PJTALK_HEADER","name":"PJTALK_HEADER","value":"Bytes[2, 10]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(:get, :brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"color?","visibility":"Public","body":"do_send(:get, :color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L39"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(:get, :contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L43"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L177"},"def":{"name":"do_poll","visibility":"Public","body":"if power?\n input?\n mute?\n do_send(:get, :error_status, priority: 0)\n lamp_time?\nend"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"hue?","visibility":"Public","body":"do_send(:get, :hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L93"},"def":{"name":"input?","visibility":"Public","body":"do_send(:get, :input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L97"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(:get, :lamp_timer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L101"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(:set, :mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L110"},"def":{"name":"mute?","visibility":"Public","body":"do_send(:get, :mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.to_slice\n bytes.size < 10 ? -1 : 10 + bytes[9]\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L35"},"def":{"name":"on_update","visibility":"Public","body":"@community = (setting?(String, :community)) || \"SONY\""}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L47"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(:set, :power_on, name: :power)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(:set, :power_off, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L61"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(:get, :power_status, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L191"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\nresponse_status = ResponseStatus.from_value(data[6])\npjt_command = Command.from_bytes(data[7..8])\npjt_length = data[9]\npjt_data = pjt_length > 0 ? data[10..-1] : Bytes.new(0)\nif response_status.no_good?\n category = ERROR_CATEGORY[pjt_data[0]]? || (:unknown)\n message = ERRORS[category][pjt_data[1]]? || \"unknown: category #{pjt_data[1].to_s(16)}, reason #{pjt_data[1].to_s(16)}\"\n self[:last_error] = \"#{category}: #{message}\"\n logger.debug do\n \"Command #{pjt_command} failed with #{category}: #{message}\"\n end\n return task.try(&.abort)\nend\ncase pjt_command\nwhen .power_on?\n self[:power] = true\nwhen .power_off?\n self[:power] = false\nwhen .lamp_timer?\n self[:lamp_usage] = (pjt_data[-2].to_u16 << 8) + pjt_data[-1]\nwhen .power_status?\n case pjt_data[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\nwhen .mute?\n self[:mute] = pjt_data[-1] == 1\nwhen .input?\n self[:input] = Input.from_bytes(pjt_data)\nwhen .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[pjt_command.to_s.downcase] = pjt_data[-1]\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":123,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L123"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(:set, :sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L116"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(:get, :sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L86"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(:set, :input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/PjTalk/Command","path":"Sony/Projector/PjTalk/Command.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L130"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":148,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L148"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L138"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L139"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L137"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L135"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L140"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L133"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L142"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":134,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L134"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":132,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L132"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L131"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L136"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L141"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L144"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/CommandType","path":"Sony/Projector/PjTalk/CommandType.html","kind":"enum","full_name":"Sony::Projector::PjTalk::CommandType","name":"CommandType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L153"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L155"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":154,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L154"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/Input","path":"Sony/Projector/PjTalk/Input.html","kind":"enum","full_name":"Sony::Projector::PjTalk::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L66"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/pj_talk.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L79"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L67"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L68"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L69"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L70"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L71"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L73"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L75"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L72"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/PjTalk/ResponseStatus","path":"Sony/Projector/PjTalk/ResponseStatus.html","kind":"enum","full_name":"Sony::Projector::PjTalk::ResponseStatus","name":"ResponseStatus","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/pj_talk.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L186"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"NoGood","name":"NoGood","value":"0_u8"},{"id":"Okay","name":"Okay","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/PjTalk","kind":"class","full_name":"Sony::Projector::PjTalk","name":"PjTalk"},"instance_methods":[{"html_id":"no_good?-instance-method","name":"no_good?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L187"},"def":{"name":"no_good?","visibility":"Public","body":"self == NoGood"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/sony/projector/pj_talk.cr","line_number":188,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/pj_talk.cr#L188"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Sony/Projector/SerialControl","path":"Sony/Projector/SerialControl.html","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/VideoMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::VideoMuteable","name":"VideoMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/AudioMuteable","kind":"module","full_name":"PlaceOS::Driver::Interface::AudioMuteable","name":"AudioMuteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"DELIMITER","name":"DELIMITER","value":"154_u8"},{"id":"ERRORS","name":"ERRORS","value":"{0 => \"No Error\", 1 => \"Lamp Error\", 2 => \"Fan Error\", 4 => \"Cover Error\", 8 => \"Temperature Error\", 16 => \"D5V Error\", 32 => \"Power Error\", 64 => \"Warning Error\", 128 => \"NVM Data ERROR\"}"},{"id":"INDICATOR","name":"INDICATOR","value":"169_u8"},{"id":"METHODS","name":"METHODS","value":"[\"Contrast\", \"Brightness\", \"Color\", \"Hue\", \"Sharpness\"]"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/InputSelection","kind":"module","full_name":"PlaceOS::Driver::Interface::InputSelection","name":"InputSelection"},{"html_id":"drivers/PlaceOS/Driver/Interface/Muteable","kind":"module","full_name":"PlaceOS::Driver::Interface::Muteable","name":"Muteable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Powerable","kind":"module","full_name":"PlaceOS::Driver::Interface::Powerable","name":"Powerable"}],"namespace":{"html_id":"drivers/Sony/Projector","kind":"module","full_name":"Sony::Projector","name":"Projector"},"instance_methods":[{"html_id":"brightness(value:UInt8)-instance-method","name":"brightness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"brightness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Brightness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"brightness?","visibility":"Public","body":"do_send(Type::Get, Command::Brightness, priority: 0)"}},{"html_id":"color(value:UInt8)-instance-method","name":"color","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"color","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Color, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"color?","visibility":"Public","body":"do_send(Type::Get, Command::Color, priority: 0)"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L22"},"def":{"name":"connected","visibility":"Public","body":"schedule.every(60.seconds) do\n do_poll\nend"}},{"html_id":"contrast(value:UInt8)-instance-method","name":"contrast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"contrast","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Contrast, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"contrast?","visibility":"Public","body":"do_send(Type::Get, Command::Contrast, priority: 0)"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L26"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"hue(value:UInt8)-instance-method","name":"hue","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"hue","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Hue, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"hue?","visibility":"Public","body":"do_send(Type::Get, Command::Hue, priority: 0)"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":77,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L77"},"def":{"name":"input?","visibility":"Public","body":"do_send(Type::Get, Command::Input, priority: 0)"}},{"html_id":"lamp_time?-instance-method","name":"lamp_time?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L81"},"def":{"name":"lamp_time?","visibility":"Public","body":"do_send(Type::Get, Command::LampTimer, priority: 0)"}},{"html_id":"mute(state:Bool=true,index:Int32|String=0,layer:MuteLayer=MuteLayer::AudioVideo)-instance-method","name":"mute","doc":"When implementing muteable, these should be the preferred defaults","summary":"

When implementing muteable, these should be the preferred defaults

","abstract":false,"args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"args_string":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","args_html":"(state : Bool = true, index : Int32 | String = 0, layer : MuteLayer = MuteLayer::AudioVideo)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L85"},"def":{"name":"mute","args":[{"name":"state","default_value":"true","external_name":"state","restriction":"Bool"},{"name":"index","default_value":"0","external_name":"index","restriction":"Int32 | String"},{"name":"layer","default_value":"MuteLayer::AudioVideo","external_name":"layer","restriction":"MuteLayer"}],"visibility":"Public","body":"do_send(Type::Set, Command::Mute, Bytes[0, state ? 1 : 0])\nmute?\n"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L94"},"def":{"name":"mute?","visibility":"Public","body":"do_send(Type::Get, Command::Mute, priority: 0)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L18"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new(Bytes[DELIMITER])"}},{"html_id":"power(state:Bool)-instance-method","name":"power","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L30"},"def":{"name":"power","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"if state\n logger.debug do\n \"requested to power on\"\n end\n do_send(Type::Set, Command::PowerOn, name: :power)\n do_send(Type::Set, Command::PowerOn, name: :power, delay: 3.seconds)\nelse\n logger.debug do\n \"requested to power off\"\n end\n do_send(Type::Set, Command::PowerOff, name: :power, delay: 3.seconds)\nend\npower?(priority: 50)\n"}},{"html_id":"power?(priority:Int32=0,**options)-instance-method","name":"power?","abstract":false,"args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"args_string":"(priority : Int32 = 0, **options)","args_html":"(priority : Int32 = 0, **options)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L45"},"def":{"name":"power?","args":[{"name":"priority","default_value":"0","external_name":"priority","restriction":"Int32"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"(do_send(Type::Get, Command::PowerStatus, **options, priority: priority)).get\n!(!self[:power].try(&.as_bool))\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L177"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"sony proj sent: 0x#{data.hexstring}\"\nend\ncmd = data[1..2]\ntype = data[3]\nresp = data[4..5]\nchecksum = data[1..5].reduce do |a, b|\n a = a | b\nend\nif data[6] == checksum\nelse\n return task.try(&.abort(\"Checksum should be 0x#{checksum.to_s(base: 16, upcase: true)}\"))\nend\nif type == 3\n if cmd == Bytes[0, 0]\n return task.try(&.success)\n else\n return task.try(&.abort(\"Command failed with 0x#{cmd.join(&.to_s(base: 16, upcase: true))}\"))\n end\nelse\n case command = Command.from_bytes(cmd)\n when .power_on?\n self[:power] = true\n when .power_off?\n self[:power] = false\n when .lamp_timer?\n self[:lamp_usage] = (resp[-2].to_u16 << 8) + resp[-1]\n when .power_status?\n case resp[-1]\n when 0, 8\n self[:warming] = self[:cooling] = self[:power] = false\n when 1, 2\n self[:cooling] = false\n self[:warming] = self[:power] = true\n when 3\n self[:power] = true\n self[:warming] = self[:cooling] = false\n when 4, 5, 6, 7\n self[:cooling] = true\n self[:warming] = self[:power] = false\n end\n if self[:warming] || self[:cooling]\n schedule.in(5.seconds) do\n power?\n end\n end\n when .mute?\n self[:mute] = resp[-1] == 1\n when .input?\n self[:input] = Input.from_bytes(resp)\n when .contrast?, .brightness?, color?, .hue?, .sharpness?\n self[command.to_s.downcase] = resp[-1]\n end\nend\ntask.try(&.success)\n"}},{"html_id":"sharpness(value:UInt8)-instance-method","name":"sharpness","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":107,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L107"},"def":{"name":"sharpness","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"do_send(Type::Set, Command::Sharpness, Bytes[0, value.clamp(0, 100)], priority: 0)"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L100"},"def":{"name":"sharpness?","visibility":"Public","body":"do_send(Type::Get, Command::Sharpness, priority: 0)"}},{"html_id":"switch_to(input:Input)-instance-method","name":"switch_to","doc":"Switches all outputs to the requested input\nSpecial case `switch_to 0` should mute all the outputs, if supported","summary":"

Switches all outputs to the requested input Special case switch_to 0 should mute all the outputs, if supported

","abstract":false,"args":[{"name":"input","external_name":"input","restriction":"Input"}],"args_string":"(input : Input)","args_html":"(input : Input)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L70"},"def":{"name":"switch_to","args":[{"name":"input","external_name":"input","restriction":"Input"}],"visibility":"Public","body":"do_send(Type::Set, Command::Input, input.to_bytes)\nlogger.debug do\n \"requested to switch to: #{input}\"\nend\ninput?\n"}}],"types":[{"html_id":"drivers/Sony/Projector/SerialControl/Command","path":"Sony/Projector/SerialControl/Command.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":135,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L135"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"PowerOn","name":"PowerOn","value":"5934"},{"id":"PowerOff","name":"PowerOff","value":"5935"},{"id":"Input","name":"Input","value":"1"},{"id":"Mute","name":"Mute","value":"48"},{"id":"ErrorStatus","name":"ErrorStatus","value":"257"},{"id":"PowerStatus","name":"PowerStatus","value":"258"},{"id":"Contrast","name":"Contrast","value":"16"},{"id":"Brightness","name":"Brightness","value":"17"},{"id":"Color","name":"Color","value":"18"},{"id":"Hue","name":"Hue","value":"19"},{"id":"Sharpness","name":"Sharpness","value":"20"},{"id":"LampTimer","name":"LampTimer","value":"275"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L153"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Command.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"brightness?-instance-method","name":"brightness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":143,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L143"},"def":{"name":"brightness?","visibility":"Public","body":"self == Brightness"}},{"html_id":"color?-instance-method","name":"color?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L144"},"def":{"name":"color?","visibility":"Public","body":"self == Color"}},{"html_id":"contrast?-instance-method","name":"contrast?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L142"},"def":{"name":"contrast?","visibility":"Public","body":"self == Contrast"}},{"html_id":"error_status?-instance-method","name":"error_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L140"},"def":{"name":"error_status?","visibility":"Public","body":"self == ErrorStatus"}},{"html_id":"hue?-instance-method","name":"hue?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L145"},"def":{"name":"hue?","visibility":"Public","body":"self == Hue"}},{"html_id":"input?-instance-method","name":"input?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L138"},"def":{"name":"input?","visibility":"Public","body":"self == Input"}},{"html_id":"lamp_timer?-instance-method","name":"lamp_timer?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":147,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L147"},"def":{"name":"lamp_timer?","visibility":"Public","body":"self == LampTimer"}},{"html_id":"mute?-instance-method","name":"mute?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":139,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L139"},"def":{"name":"mute?","visibility":"Public","body":"self == Mute"}},{"html_id":"power_off?-instance-method","name":"power_off?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":137,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L137"},"def":{"name":"power_off?","visibility":"Public","body":"self == PowerOff"}},{"html_id":"power_on?-instance-method","name":"power_on?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L136"},"def":{"name":"power_on?","visibility":"Public","body":"self == PowerOn"}},{"html_id":"power_status?-instance-method","name":"power_status?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":141,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L141"},"def":{"name":"power_status?","visibility":"Public","body":"self == PowerStatus"}},{"html_id":"sharpness?-instance-method","name":"sharpness?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":146,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L146"},"def":{"name":"sharpness?","visibility":"Public","body":"self == Sharpness"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L149"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Input","path":"Sony/Projector/SerialControl/Input.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Input","name":"Input","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L50"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"HDMI","name":"HDMI","value":"3"},{"id":"InputA","name":"InputA","value":"2"},{"id":"InputB","name":"InputB","value":"3"},{"id":"InputC","name":"InputC","value":"4"},{"id":"InputD","name":"InputD","value":"5"},{"id":"USB","name":"USB","value":"6"},{"id":"Network","name":"Network","value":"7"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"class_methods":[{"html_id":"from_bytes(b:Bytes)-class-method","name":"from_bytes","abstract":false,"args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"args_string":"(b : Bytes)","args_html":"(b : Bytes)","location":{"filename":"src/sony/projector/serial_control.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L63"},"def":{"name":"from_bytes","args":[{"name":"b","external_name":"b","restriction":"Bytes"}],"visibility":"Public","body":"Input.from_value((b[0].to_u16 << 8) + b[1])"}}],"instance_methods":[{"html_id":"hdmi?-instance-method","name":"hdmi?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L51"},"def":{"name":"hdmi?","visibility":"Public","body":"self == HDMI"}},{"html_id":"input_a?-instance-method","name":"input_a?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L52"},"def":{"name":"input_a?","visibility":"Public","body":"self == InputA"}},{"html_id":"input_b?-instance-method","name":"input_b?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L53"},"def":{"name":"input_b?","visibility":"Public","body":"self == InputB"}},{"html_id":"input_c?-instance-method","name":"input_c?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L54"},"def":{"name":"input_c?","visibility":"Public","body":"self == InputC"}},{"html_id":"input_d?-instance-method","name":"input_d?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L55"},"def":{"name":"input_d?","visibility":"Public","body":"self == InputD"}},{"html_id":"network?-instance-method","name":"network?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L57"},"def":{"name":"network?","visibility":"Public","body":"self == Network"}},{"html_id":"to_bytes:Bytes-instance-method","name":"to_bytes","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L59"},"def":{"name":"to_bytes","return_type":"Bytes","visibility":"Public","body":"Bytes[self.value >> 8, self.value & 255]"}},{"html_id":"usb?-instance-method","name":"usb?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L56"},"def":{"name":"usb?","visibility":"Public","body":"self == USB"}}]},{"html_id":"drivers/Sony/Projector/SerialControl/Type","path":"Sony/Projector/SerialControl/Type.html","kind":"enum","full_name":"Sony::Projector::SerialControl::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/sony/projector/serial_control.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L158"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Set","name":"Set","value":"0_u8"},{"id":"Get","name":"Get","value":"1_u8"}],"namespace":{"html_id":"drivers/Sony/Projector/SerialControl","kind":"class","full_name":"Sony::Projector::SerialControl","name":"SerialControl"},"instance_methods":[{"html_id":"get?-instance-method","name":"get?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":160,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L160"},"def":{"name":"get?","visibility":"Public","body":"self == Get"}},{"html_id":"set?-instance-method","name":"set?","abstract":false,"location":{"filename":"src/sony/projector/serial_control.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/sony/projector/serial_control.cr#L159"},"def":{"name":"set?","visibility":"Public","body":"self == Set"}}]}]}]}]},{"html_id":"drivers/StaffAPI","path":"StaffAPI.html","kind":"class","full_name":"StaffAPI","name":"StaffAPI","abstract":false,"superclass":{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},"ancestors":[{"html_id":"drivers/DriverSpecs/MockDriver","kind":"class","full_name":"DriverSpecs::MockDriver","name":"MockDriver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/place/survey_mailer_spec.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"instance_methods":[{"html_id":"__executor(json:String):BaseExecutor-instance-method","name":"__executor","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"args":[{"name":"json","external_name":"json","restriction":"String"}],"args_string":"(json : String) : BaseExecutor","args_html":"(json : String) : BaseExecutor","def":{"name":"__executor","args":[{"name":"json","external_name":"json","restriction":"String"}],"return_type":"BaseExecutor","visibility":"Public","body":"KlassExecutor.new(json)"}},{"html_id":"__init__:Nil-instance-method","name":"__init__","doc":":nodoc:","summary":"

:nodoc:

","abstract":false,"def":{"name":"__init__","return_type":"Nil","visibility":"Public","body":"@__storage__.clear\nPlaceOS::Driver::RedisStorage.with_redis do |redis|\n redis.set(\"interface/#{@module_id}\", KlassExecutor.metadata)\nend\non_load\n"}},{"html_id":"get_survey_invites(survey_id:Int64|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"get_survey_invites","abstract":false,"args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","args_html":"(survey_id : Int64 | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L5"},"def":{"name":"get_survey_invites","args":[{"name":"survey_id","default_value":"nil","external_name":"survey_id","restriction":"Int64 | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"survey_id || (survey_id = 1)\ninvites = [{id: 1, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 2, survey_id: survey_id, token: \"QWERTY\", email: \"user1@spec.test\", sent: false}, {id: 3, survey_id: survey_id, token: \"QWERTY\", email: \"user2@spec.test\", sent: false}, {id: 4, survey_id: survey_id, token: \"QWERTY\", email: \"user3@spec.test\", sent: nil}, {id: 5, survey_id: survey_id, token: \"QWERTY\", email: \"user4@spec.test\", sent: true}]\nJSON.parse(invites.to_json)\n"}},{"html_id":"update_survey_invite(token:String,email:String|Nil=nil,sent:Bool|Nil=nil)-instance-method","name":"update_survey_invite","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"args_string":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","args_html":"(token : String, email : String | Nil = nil, sent : Bool | Nil = nil)","location":{"filename":"src/place/survey_mailer_spec.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/survey_mailer_spec.cr#L49"},"def":{"name":"update_survey_invite","args":[{"name":"token","external_name":"token","restriction":"String"},{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"sent","default_value":"nil","external_name":"sent","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"true"}}]},{"html_id":"drivers/Steinel","path":"Steinel.html","kind":"module","full_name":"Steinel","name":"Steinel","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Steinel/HPD2","path":"Steinel/HPD2.html","kind":"class","full_name":"Steinel::HPD2","name":"HPD2","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{illuminance: SensorType::Illuminance, temperature: SensorType::Temperature, humidity: SensorType::Humidity, presence: SensorType::Presence, people: SensorType::PeopleCount, illuminance_zones: SensorType::Illuminance, presence_zones: SensorType::Presence, people_zones: SensorType::PeopleCount}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Steinel","kind":"module","full_name":"Steinel","name":"Steinel"},"instance_methods":[{"html_id":"get_status-instance-method","name":"get_status","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L102"},"def":{"name":"get_status","visibility":"Public","body":"response = get(\"/api/sensorstatus.php\")\nlogger.debug do\n \"received #{response.body}\"\nend\nif response.success?\n status = SensorStatus.from_json(response.body.not_nil!)\n time = Time.utc.to_unix\n mod_id = module_id\n humidity = Interface::Sensor::Detail.new(SensorType::Humidity, status.humidity.to_f, time, @mac, \"humidity\", \"Humidity\", module_id: mod_id, binding: \"humidity\")\n self[:humidity] = status.humidity.to_f\n temperature = Interface::Sensor::Detail.new(SensorType::Temperature, status.temperature.to_f, time, @mac, \"temperature\", \"Temperature\", module_id: mod_id, binding: \"temperature\", unit: \"Cel\")\n self[:temperature] = status.temperature.to_f\n pres = status.person_presence.zero? ? 0.0 : 1.0\n presence = Interface::Sensor::Detail.new(SensorType::Presence, pres, time, @mac, \"presence\", \"Person Presence\", module_id: mod_id, binding: \"presence\")\n self[:presence] = pres\n people = Interface::Sensor::Detail.new(SensorType::PeopleCount, status.detected_persons.to_f, time, @mac, \"people\", \"Detected Persons\", module_id: mod_id, binding: \"people\")\n self[:people] = status.detected_persons\n illuminance = Interface::Sensor::Detail.new(SensorType::Illuminance, status.global_illuminance_lux, time, @mac, \"illuminance\", \"Illuminance\", module_id: mod_id, binding: \"illuminance\", unit: \"lx\")\n self[:illuminance] = status.global_illuminance_lux\n self[:presence_zones] = status.person_presence_zone.map do |value|\n value.zero? ? 0.0 : 1.0\n end\n presence_zones = status.person_presence_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Presence, value.zero? ? 0.0 : 1.0, time, @mac, \"presence-#{index}\", \"Person Presence in Zone#{index}\")\n end\n self[:people_zones] = status.detected_persons_zone\n people_zones = status.detected_persons_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::PeopleCount, value.to_f, time, @mac, \"people-#{index}\", \"Detected People in Zone#{index}\")\n end\n self[:illuminance_zones] = status.lux_zone\n illuminance_zones = status.lux_zone.map_with_index do |value, index|\n Interface::Sensor::Detail.new(SensorType::Illuminance, value, time, @mac, \"illuminance-#{index}\", \"Illuminance in Zone#{index}\", unit: \"lx\")\n end\n @state = {humidity: humidity, temperature: temperature, presence: presence, people: people, illuminance: illuminance, presence_zones: presence_zones, people_zones: people_zones, illuminance_zones: illuminance_zones}\n status\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L33"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nschedule.every(5.seconds) do\n get_status\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/steinel/hpd2.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L42"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n case id\n when \"humidity\"\n state[:humidity]\n when \"temperature\"\n state[:temperature]\n when \"presence\"\n state[:presence]\n when \"people\"\n state[:people]\n when \"illuminance\"\n state[:illuminance]\n end\n else\n if index = index_str.to_i?\n case id\n when \"presence\"\n state[:presence_zones][index]?\n when \"people\"\n state[:people_zones][index]?\n when \"illuminance\"\n state[:illuminance_zones][index]?\n end\n end\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/steinel/hpd2.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L87"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return state.values.to_a.flatten\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Interface::Sensor::Detail | Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << state[key]\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}},{"html_id":"state:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))-instance-method","name":"state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L22"},"def":{"name":"state","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail))","visibility":"Public","body":"if (value = @state).nil?\n ::raise(NilAssertionError.new(\"Steinel::HPD2#state cannot be nil\"))\nelse\n value\nend"}},{"html_id":"state?:NamedTuple(illuminance:Interface::Sensor::Detail,temperature:Interface::Sensor::Detail,humidity:Interface::Sensor::Detail,presence:Interface::Sensor::Detail,people:Interface::Sensor::Detail,illuminance_zones:Array(Interface::Sensor::Detail),presence_zones:Array(Interface::Sensor::Detail),people_zones:Array(Interface::Sensor::Detail))|Nil-instance-method","name":"state?","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L22"},"def":{"name":"state?","return_type":"NamedTuple(illuminance: Interface::Sensor::Detail, temperature: Interface::Sensor::Detail, humidity: Interface::Sensor::Detail, presence: Interface::Sensor::Detail, people: Interface::Sensor::Detail, illuminance_zones: Array(Interface::Sensor::Detail), presence_zones: Array(Interface::Sensor::Detail), people_zones: Array(Interface::Sensor::Detail)) | ::Nil","visibility":"Public","body":"@state"}}],"types":[{"html_id":"drivers/Steinel/HPD2/SensorStatus","path":"Steinel/HPD2/SensorStatus.html","kind":"class","full_name":"Steinel::HPD2::SensorStatus","name":"SensorStatus","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/steinel/hpd2.cr","line_number":155,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L155"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/steinel/hpd2.cr","line_number":156,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L156"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"app_version:String-instance-method","name":"app_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version","return_type":"String","visibility":"Public","body":"@app_version"}},{"html_id":"app_version=(app_version:String)-instance-method","name":"app_version=","abstract":false,"args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"args_string":"(app_version : String)","args_html":"(app_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":159,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L159"},"def":{"name":"app_version=","args":[{"name":"app_version","external_name":"app_version","restriction":"String"}],"visibility":"Public","body":"@app_version = app_version"}},{"html_id":"arm_sensor_cpu_usage:String-instance-method","name":"arm_sensor_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage","return_type":"String","visibility":"Public","body":"@arm_sensor_cpu_usage"}},{"html_id":"arm_sensor_cpu_usage=(arm_sensor_cpu_usage:String)-instance-method","name":"arm_sensor_cpu_usage=","abstract":false,"args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"args_string":"(arm_sensor_cpu_usage : String)","args_html":"(arm_sensor_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":222,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L222"},"def":{"name":"arm_sensor_cpu_usage=","args":[{"name":"arm_sensor_cpu_usage","external_name":"arm_sensor_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@arm_sensor_cpu_usage = arm_sensor_cpu_usage"}},{"html_id":"average_fps5:Float64-instance-method","name":"average_fps5","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5","return_type":"Float64","visibility":"Public","body":"@average_fps5"}},{"html_id":"average_fps50:Float64-instance-method","name":"average_fps50","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50","return_type":"Float64","visibility":"Public","body":"@average_fps50"}},{"html_id":"average_fps50=(average_fps50:Float64)-instance-method","name":"average_fps50=","abstract":false,"args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"args_string":"(average_fps50 : Float64)","args_html":"(average_fps50 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L186"},"def":{"name":"average_fps50=","args":[{"name":"average_fps50","external_name":"average_fps50","restriction":"Float64"}],"visibility":"Public","body":"@average_fps50 = average_fps50"}},{"html_id":"average_fps5=(average_fps5:Float64)-instance-method","name":"average_fps5=","abstract":false,"args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"args_string":"(average_fps5 : Float64)","args_html":"(average_fps5 : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L183"},"def":{"name":"average_fps5=","args":[{"name":"average_fps5","external_name":"average_fps5","restriction":"Float64"}],"visibility":"Public","body":"@average_fps5 = average_fps5"}},{"html_id":"detected_persons:Int32-instance-method","name":"detected_persons","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons","return_type":"Int32","visibility":"Public","body":"@detected_persons"}},{"html_id":"detected_persons=(detected_persons:Int32)-instance-method","name":"detected_persons=","abstract":false,"args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"args_string":"(detected_persons : Int32)","args_html":"(detected_persons : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L198"},"def":{"name":"detected_persons=","args":[{"name":"detected_persons","external_name":"detected_persons","restriction":"Int32"}],"visibility":"Public","body":"@detected_persons = detected_persons"}},{"html_id":"detected_persons_zone:Array(Int32)-instance-method","name":"detected_persons_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone","return_type":"Array(Int32)","visibility":"Public","body":"@detected_persons_zone"}},{"html_id":"detected_persons_zone=(detected_persons_zone:Array(Int32))-instance-method","name":"detected_persons_zone=","abstract":false,"args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"args_string":"(detected_persons_zone : Array(Int32))","args_html":"(detected_persons_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L204"},"def":{"name":"detected_persons_zone=","args":[{"name":"detected_persons_zone","external_name":"detected_persons_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@detected_persons_zone = detected_persons_zone"}},{"html_id":"detection_zones_present:Int32-instance-method","name":"detection_zones_present","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present","return_type":"Int32","visibility":"Public","body":"@detection_zones_present"}},{"html_id":"detection_zones_present=(detection_zones_present:Int32)-instance-method","name":"detection_zones_present=","abstract":false,"args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"args_string":"(detection_zones_present : Int32)","args_html":"(detection_zones_present : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L210"},"def":{"name":"detection_zones_present=","args":[{"name":"detection_zones_present","external_name":"detection_zones_present","restriction":"Int32"}],"visibility":"Public","body":"@detection_zones_present = detection_zones_present"}},{"html_id":"final:String-instance-method","name":"final","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L241"},"def":{"name":"final","return_type":"String","visibility":"Public","body":"@final"}},{"html_id":"final=(final:String)-instance-method","name":"final=","abstract":false,"args":[{"name":"final","external_name":"final","restriction":"String"}],"args_string":"(final : String)","args_html":"(final : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L241"},"def":{"name":"final=","args":[{"name":"final","external_name":"final","restriction":"String"}],"visibility":"Public","body":"@final = final"}},{"html_id":"fpga_version:String-instance-method","name":"fpga_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version","return_type":"String","visibility":"Public","body":"@fpga_version"}},{"html_id":"fpga_version=(fpga_version:String)-instance-method","name":"fpga_version=","abstract":false,"args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"args_string":"(fpga_version : String)","args_html":"(fpga_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":162,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L162"},"def":{"name":"fpga_version=","args":[{"name":"fpga_version","external_name":"fpga_version","restriction":"String"}],"visibility":"Public","body":"@fpga_version = fpga_version"}},{"html_id":"frame_processing_time_ms:Int32-instance-method","name":"frame_processing_time_ms","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms","return_type":"Int32","visibility":"Public","body":"@frame_processing_time_ms"}},{"html_id":"frame_processing_time_ms=(frame_processing_time_ms:Int32)-instance-method","name":"frame_processing_time_ms=","abstract":false,"args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"args_string":"(frame_processing_time_ms : Int32)","args_html":"(frame_processing_time_ms : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L180"},"def":{"name":"frame_processing_time_ms=","args":[{"name":"frame_processing_time_ms","external_name":"frame_processing_time_ms","restriction":"Int32"}],"visibility":"Public","body":"@frame_processing_time_ms = frame_processing_time_ms"}},{"html_id":"git_revision:String-instance-method","name":"git_revision","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision","return_type":"String","visibility":"Public","body":"@git_revision"}},{"html_id":"git_revision=(git_revision:String)-instance-method","name":"git_revision=","abstract":false,"args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"args_string":"(git_revision : String)","args_html":"(git_revision : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L174"},"def":{"name":"git_revision=","args":[{"name":"git_revision","external_name":"git_revision","restriction":"String"}],"visibility":"Public","body":"@git_revision = git_revision"}},{"html_id":"global_illuminance_lux:Float64-instance-method","name":"global_illuminance_lux","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux","return_type":"Float64","visibility":"Public","body":"@global_illuminance_lux"}},{"html_id":"global_illuminance_lux=(global_illuminance_lux:Float64)-instance-method","name":"global_illuminance_lux=","abstract":false,"args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"args_string":"(global_illuminance_lux : Float64)","args_html":"(global_illuminance_lux : Float64)","location":{"filename":"src/steinel/hpd2.cr","line_number":213,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L213"},"def":{"name":"global_illuminance_lux=","args":[{"name":"global_illuminance_lux","external_name":"global_illuminance_lux","restriction":"Float64"}],"visibility":"Public","body":"@global_illuminance_lux = global_illuminance_lux"}},{"html_id":"global_light_value:Int32-instance-method","name":"global_light_value","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value","return_type":"Int32","visibility":"Public","body":"@global_light_value"}},{"html_id":"global_light_value=(global_light_value:Int32)-instance-method","name":"global_light_value=","abstract":false,"args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"args_string":"(global_light_value : Int32)","args_html":"(global_light_value : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L219"},"def":{"name":"global_light_value=","args":[{"name":"global_light_value","external_name":"global_light_value","restriction":"Int32"}],"visibility":"Public","body":"@global_light_value = global_light_value"}},{"html_id":"humidity:String-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity","return_type":"String","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:String)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"args_string":"(humidity : String)","args_html":"(humidity : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":231,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L231"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"String"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"ir_led_on:Int32-instance-method","name":"ir_led_on","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on","return_type":"Int32","visibility":"Public","body":"@ir_led_on"}},{"html_id":"ir_led_on=(ir_led_on:Int32)-instance-method","name":"ir_led_on=","abstract":false,"args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"args_string":"(ir_led_on : Int32)","args_html":"(ir_led_on : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L195"},"def":{"name":"ir_led_on=","args":[{"name":"ir_led_on","external_name":"ir_led_on","restriction":"Int32"}],"visibility":"Public","body":"@ir_led_on = ir_led_on"}},{"html_id":"knx_address:String-instance-method","name":"knx_address","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address","return_type":"String","visibility":"Public","body":"@knx_address"}},{"html_id":"knx_address=(knx_address:String)-instance-method","name":"knx_address=","abstract":false,"args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"args_string":"(knx_address : String)","args_html":"(knx_address : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L171"},"def":{"name":"knx_address=","args":[{"name":"knx_address","external_name":"knx_address","restriction":"String"}],"visibility":"Public","body":"@knx_address = knx_address"}},{"html_id":"knx_detected:String-instance-method","name":"knx_detected","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected","return_type":"String","visibility":"Public","body":"@knx_detected"}},{"html_id":"knx_detected=(knx_detected:String)-instance-method","name":"knx_detected=","abstract":false,"args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"args_string":"(knx_detected : String)","args_html":"(knx_detected : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":234,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L234"},"def":{"name":"knx_detected=","args":[{"name":"knx_detected","external_name":"knx_detected","restriction":"String"}],"visibility":"Public","body":"@knx_detected = knx_detected"}},{"html_id":"knx_led_state:String-instance-method","name":"knx_led_state","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state","return_type":"String","visibility":"Public","body":"@knx_led_state"}},{"html_id":"knx_led_state=(knx_led_state:String)-instance-method","name":"knx_led_state=","abstract":false,"args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"args_string":"(knx_led_state : String)","args_html":"(knx_led_state : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":240,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L240"},"def":{"name":"knx_led_state=","args":[{"name":"knx_led_state","external_name":"knx_led_state","restriction":"String"}],"visibility":"Public","body":"@knx_led_state = knx_led_state"}},{"html_id":"knx_program_mode:String-instance-method","name":"knx_program_mode","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode","return_type":"String","visibility":"Public","body":"@knx_program_mode"}},{"html_id":"knx_program_mode=(knx_program_mode:String)-instance-method","name":"knx_program_mode=","abstract":false,"args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"args_string":"(knx_program_mode : String)","args_html":"(knx_program_mode : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":237,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L237"},"def":{"name":"knx_program_mode=","args":[{"name":"knx_program_mode","external_name":"knx_program_mode","restriction":"String"}],"visibility":"Public","body":"@knx_program_mode = knx_program_mode"}},{"html_id":"knx_sap_number:String-instance-method","name":"knx_sap_number","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number","return_type":"String","visibility":"Public","body":"@knx_sap_number"}},{"html_id":"knx_sap_number=(knx_sap_number:String)-instance-method","name":"knx_sap_number=","abstract":false,"args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"args_string":"(knx_sap_number : String)","args_html":"(knx_sap_number : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":165,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L165"},"def":{"name":"knx_sap_number=","args":[{"name":"knx_sap_number","external_name":"knx_sap_number","restriction":"String"}],"visibility":"Public","body":"@knx_sap_number = knx_sap_number"}},{"html_id":"knx_version:String-instance-method","name":"knx_version","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version","return_type":"String","visibility":"Public","body":"@knx_version"}},{"html_id":"knx_version=(knx_version:String)-instance-method","name":"knx_version=","abstract":false,"args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"args_string":"(knx_version : String)","args_html":"(knx_version : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L168"},"def":{"name":"knx_version=","args":[{"name":"knx_version","external_name":"knx_version","restriction":"String"}],"visibility":"Public","body":"@knx_version = knx_version"}},{"html_id":"lux_zone:Array(Float64)-instance-method","name":"lux_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone","return_type":"Array(Float64)","visibility":"Public","body":"@lux_zone"}},{"html_id":"lux_zone=(lux_zone:Array(Float64))-instance-method","name":"lux_zone=","abstract":false,"args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"args_string":"(lux_zone : Array(Float64))","args_html":"(lux_zone : Array(Float64))","location":{"filename":"src/steinel/hpd2.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L216"},"def":{"name":"lux_zone=","args":[{"name":"lux_zone","external_name":"lux_zone","restriction":"Array(Float64)"}],"visibility":"Public","body":"@lux_zone = lux_zone"}},{"html_id":"model_name:String-instance-method","name":"model_name","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name","return_type":"String","visibility":"Public","body":"@model_name"}},{"html_id":"model_name=(model_name:String)-instance-method","name":"model_name=","abstract":false,"args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"args_string":"(model_name : String)","args_html":"(model_name : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":177,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L177"},"def":{"name":"model_name=","args":[{"name":"model_name","external_name":"model_name","restriction":"String"}],"visibility":"Public","body":"@model_name = model_name"}},{"html_id":"person_presence:Int32-instance-method","name":"person_presence","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence","return_type":"Int32","visibility":"Public","body":"@person_presence"}},{"html_id":"person_presence=(person_presence:Int32)-instance-method","name":"person_presence=","abstract":false,"args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"args_string":"(person_presence : Int32)","args_html":"(person_presence : Int32)","location":{"filename":"src/steinel/hpd2.cr","line_number":201,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L201"},"def":{"name":"person_presence=","args":[{"name":"person_presence","external_name":"person_presence","restriction":"Int32"}],"visibility":"Public","body":"@person_presence = person_presence"}},{"html_id":"person_presence_zone:Array(Int32)-instance-method","name":"person_presence_zone","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone","return_type":"Array(Int32)","visibility":"Public","body":"@person_presence_zone"}},{"html_id":"person_presence_zone=(person_presence_zone:Array(Int32))-instance-method","name":"person_presence_zone=","abstract":false,"args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"args_string":"(person_presence_zone : Array(Int32))","args_html":"(person_presence_zone : Array(Int32))","location":{"filename":"src/steinel/hpd2.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L207"},"def":{"name":"person_presence_zone=","args":[{"name":"person_presence_zone","external_name":"person_presence_zone","restriction":"Array(Int32)"}],"visibility":"Public","body":"@person_presence_zone = person_presence_zone"}},{"html_id":"running_time:String-instance-method","name":"running_time","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time","return_type":"String","visibility":"Public","body":"@running_time"}},{"html_id":"running_time=(running_time:String)-instance-method","name":"running_time=","abstract":false,"args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"args_string":"(running_time : String)","args_html":"(running_time : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":189,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L189"},"def":{"name":"running_time=","args":[{"name":"running_time","external_name":"running_time","restriction":"String"}],"visibility":"Public","body":"@running_time = running_time"}},{"html_id":"temperature:String-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature","return_type":"String","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:String)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"args_string":"(temperature : String)","args_html":"(temperature : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":228,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L228"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"String"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"uptime:String-instance-method","name":"uptime","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime","return_type":"String","visibility":"Public","body":"@uptime"}},{"html_id":"uptime=(uptime:String)-instance-method","name":"uptime=","abstract":false,"args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"args_string":"(uptime : String)","args_html":"(uptime : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L192"},"def":{"name":"uptime=","args":[{"name":"uptime","external_name":"uptime","restriction":"String"}],"visibility":"Public","body":"@uptime = uptime"}},{"html_id":"web_server_cpu_usage:String-instance-method","name":"web_server_cpu_usage","abstract":false,"location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage","return_type":"String","visibility":"Public","body":"@web_server_cpu_usage"}},{"html_id":"web_server_cpu_usage=(web_server_cpu_usage:String)-instance-method","name":"web_server_cpu_usage=","abstract":false,"args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"args_string":"(web_server_cpu_usage : String)","args_html":"(web_server_cpu_usage : String)","location":{"filename":"src/steinel/hpd2.cr","line_number":225,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L225"},"def":{"name":"web_server_cpu_usage=","args":[{"name":"web_server_cpu_usage","external_name":"web_server_cpu_usage","restriction":"String"}],"visibility":"Public","body":"@web_server_cpu_usage = web_server_cpu_usage"}}]},{"html_id":"drivers/Steinel/HPD2/SensorType","path":"Steinel/HPD2/SensorType.html","kind":"alias","full_name":"Steinel::HPD2::SensorType","name":"SensorType","abstract":false,"locations":[{"filename":"src/steinel/hpd2.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/steinel/hpd2.cr#L71"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Sensor::SensorType","aliased_html":"PlaceOS::Driver::Interface::Sensor::SensorType","const":false,"namespace":{"html_id":"drivers/Steinel/HPD2","kind":"class","full_name":"Steinel::HPD2","name":"HPD2"}}]}]},{"html_id":"drivers/Stripe","path":"Stripe.html","kind":"module","full_name":"Stripe","name":"Stripe","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Stripe/API","path":"Stripe/API.html","kind":"class","full_name":"Stripe::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/stripe/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Stripe","kind":"module","full_name":"Stripe","name":"Stripe"},"instance_methods":[{"html_id":"add_payment_method(type:String,billing_details:Hash(String,String)|Nil=nil,metadata:Hash(String,String)|Nil=nil,acss_debit:Hash(String,String)|Nil=nil,affirm:Hash(String,String)|Nil=nil,afterpay_clearpay:Hash(String,String)|Nil=nil,alipay:Hash(String,String)|Nil=nil,au_becs_debit:Hash(String,String)|Nil=nil,bacs_debit:Hash(String,String)|Nil=nil,bancontact:Hash(String,String)|Nil=nil,blik:Hash(String,String)|Nil=nil,boleto:Hash(String,String)|Nil=nil,card:Hash(String,String)|Nil=nil,customer_balance:Hash(String,String)|Nil=nil,eps:Hash(String,String)|Nil=nil,fpx:Hash(String,String)|Nil=nil,giropay:Hash(String,String)|Nil=nil,ideal:Hash(String,String)|Nil=nil,interac_present:Hash(String,String)|Nil=nil,klarna:Hash(String,String)|Nil=nil,konbini:Hash(String,String)|Nil=nil,link:Hash(String,String)|Nil=nil,oxxo:Hash(String,String)|Nil=nil,p24:Hash(String,String)|Nil=nil,paynow:Hash(String,String)|Nil=nil,promptpay:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,sepa_debit:Hash(String,String)|Nil=nil,sofort:Hash(String,String)|Nil=nil,us_bank_account:Hash(String,String)|Nil=nil,wechat_pay:Hash(String,String)|Nil=nil)-instance-method","name":"add_payment_method","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"args_string":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","args_html":"(type : String, billing_details : Hash(String, String) | Nil = nil, metadata : Hash(String, String) | Nil = nil, acss_debit : Hash(String, String) | Nil = nil, affirm : Hash(String, String) | Nil = nil, afterpay_clearpay : Hash(String, String) | Nil = nil, alipay : Hash(String, String) | Nil = nil, au_becs_debit : Hash(String, String) | Nil = nil, bacs_debit : Hash(String, String) | Nil = nil, bancontact : Hash(String, String) | Nil = nil, blik : Hash(String, String) | Nil = nil, boleto : Hash(String, String) | Nil = nil, card : Hash(String, String) | Nil = nil, customer_balance : Hash(String, String) | Nil = nil, eps : Hash(String, String) | Nil = nil, fpx : Hash(String, String) | Nil = nil, giropay : Hash(String, String) | Nil = nil, ideal : Hash(String, String) | Nil = nil, interac_present : Hash(String, String) | Nil = nil, klarna : Hash(String, String) | Nil = nil, konbini : Hash(String, String) | Nil = nil, link : Hash(String, String) | Nil = nil, oxxo : Hash(String, String) | Nil = nil, p24 : Hash(String, String) | Nil = nil, paynow : Hash(String, String) | Nil = nil, promptpay : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, sepa_debit : Hash(String, String) | Nil = nil, sofort : Hash(String, String) | Nil = nil, us_bank_account : Hash(String, String) | Nil = nil, wechat_pay : Hash(String, String) | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L26"},"def":{"name":"add_payment_method","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"billing_details","default_value":"nil","external_name":"billing_details","restriction":"Hash(String, String) | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"acss_debit","default_value":"nil","external_name":"acss_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"affirm","default_value":"nil","external_name":"affirm","restriction":"Hash(String, String) | ::Nil"},{"name":"afterpay_clearpay","default_value":"nil","external_name":"afterpay_clearpay","restriction":"Hash(String, String) | ::Nil"},{"name":"alipay","default_value":"nil","external_name":"alipay","restriction":"Hash(String, String) | ::Nil"},{"name":"au_becs_debit","default_value":"nil","external_name":"au_becs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bacs_debit","default_value":"nil","external_name":"bacs_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"bancontact","default_value":"nil","external_name":"bancontact","restriction":"Hash(String, String) | ::Nil"},{"name":"blik","default_value":"nil","external_name":"blik","restriction":"Hash(String, String) | ::Nil"},{"name":"boleto","default_value":"nil","external_name":"boleto","restriction":"Hash(String, String) | ::Nil"},{"name":"card","default_value":"nil","external_name":"card","restriction":"Hash(String, String) | ::Nil"},{"name":"customer_balance","default_value":"nil","external_name":"customer_balance","restriction":"Hash(String, String) | ::Nil"},{"name":"eps","default_value":"nil","external_name":"eps","restriction":"Hash(String, String) | ::Nil"},{"name":"fpx","default_value":"nil","external_name":"fpx","restriction":"Hash(String, String) | ::Nil"},{"name":"giropay","default_value":"nil","external_name":"giropay","restriction":"Hash(String, String) | ::Nil"},{"name":"ideal","default_value":"nil","external_name":"ideal","restriction":"Hash(String, String) | ::Nil"},{"name":"interac_present","default_value":"nil","external_name":"interac_present","restriction":"Hash(String, String) | ::Nil"},{"name":"klarna","default_value":"nil","external_name":"klarna","restriction":"Hash(String, String) | ::Nil"},{"name":"konbini","default_value":"nil","external_name":"konbini","restriction":"Hash(String, String) | ::Nil"},{"name":"link","default_value":"nil","external_name":"link","restriction":"Hash(String, String) | ::Nil"},{"name":"oxxo","default_value":"nil","external_name":"oxxo","restriction":"Hash(String, String) | ::Nil"},{"name":"p24","default_value":"nil","external_name":"p24","restriction":"Hash(String, String) | ::Nil"},{"name":"paynow","default_value":"nil","external_name":"paynow","restriction":"Hash(String, String) | ::Nil"},{"name":"promptpay","default_value":"nil","external_name":"promptpay","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"sepa_debit","default_value":"nil","external_name":"sepa_debit","restriction":"Hash(String, String) | ::Nil"},{"name":"sofort","default_value":"nil","external_name":"sofort","restriction":"Hash(String, String) | ::Nil"},{"name":"us_bank_account","default_value":"nil","external_name":"us_bank_account","restriction":"Hash(String, String) | ::Nil"},{"name":"wechat_pay","default_value":"nil","external_name":"wechat_pay","restriction":"Hash(String, String) | ::Nil"}],"visibility":"Public","body":"payment_method = @client.not_nil!.payment_methods.create(type, billing_details, metadata, acss_debit, affirm, afterpay_clearpay, alipay, au_becs_debit, bacs_debit, bancontact, blik, boleto, card, customer_balance, eps, fpx, giropay, ideal, interac_present, klarna, konbini, link, oxxo, p24, paynow, promptpay, radar_options, sepa_debit, sofort, us_bank_account, wechat_pay)\nself[\"payment_method\"] = payment_method\n"}},{"html_id":"cancel_payment_intent(id:String,cancellation_reason:String|Nil=nil)-instance-method","name":"cancel_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"args_string":"(id : String, cancellation_reason : String | Nil = nil)","args_html":"(id : String, cancellation_reason : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L83"},"def":{"name":"cancel_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"cancellation_reason","default_value":"nil","external_name":"cancellation_reason","restriction":"String | ::Nil"}],"visibility":"Public","body":"@client.not_nil!.payment_intents.cancel(id: id, cancellation_reason: cancellation_reason)\nself[\"payment_intent\"] = nil\n"}},{"html_id":"confirm_payment_intent(id:String,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,capture_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"confirm_payment_intent","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(id : String, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, capture_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L78"},"def":{"name":"confirm_payment_intent","args":[{"name":"id","external_name":"id","restriction":"String"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.confirm(id: id, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, capture_method: capture_method, error_on_requires_action: error_on_requires_action, mandate: mandate, mandate_data: mandate_data, off_session: off_session, payment_method_data: payment_method_data, payment_method_options: payment_method_options, payment_method_types: payment_method_types, radar_options: radar_options, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"create_payment_intent(amount:Int32,currency:String,automatic_payment_methods:Hash(String,String)|Nil=nil,confirm:Bool|Nil=nil,customer:String|Nil=nil,description:String|Nil=nil,metadata:Hash(String,String)|Nil=nil,off_session:Bool|Nil=nil,payment_method:String|Nil=nil,receipt_email:String|Nil=nil,setup_future_usage:String|Nil=nil,shipping:Hash(String,String)|Nil=nil,statement_descriptor:String|Nil=nil,statement_descriptor_suffix:String|Nil=nil,application_fee_amount:Int32|Nil=nil,capture_method:String|Nil=nil,confrimation_method:String|Nil=nil,error_on_requires_action:Bool|Nil=nil,mandate:String|Nil=nil,mandate_data:Hash(String,String)|Nil=nil,on_behalf_of:String|Nil=nil,payment_method_data:Hash(String,String)|Nil=nil,payment_method_types:Array(String)|Nil=nil,payment_method_options:Hash(String,String)|Nil=nil,radar_options:Hash(String,String)|Nil=nil,return_url:String|Nil=nil,transfer_data:Hash(String,String)|Nil=nil,transfer_group:String|Nil=nil,use_stripe_sdk:Bool|Nil=nil)-instance-method","name":"create_payment_intent","abstract":false,"args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"args_string":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","args_html":"(amount : Int32, currency : String, automatic_payment_methods : Hash(String, String) | Nil = nil, confirm : Bool | Nil = nil, customer : String | Nil = nil, description : String | Nil = nil, metadata : Hash(String, String) | Nil = nil, off_session : Bool | Nil = nil, payment_method : String | Nil = nil, receipt_email : String | Nil = nil, setup_future_usage : String | Nil = nil, shipping : Hash(String, String) | Nil = nil, statement_descriptor : String | Nil = nil, statement_descriptor_suffix : String | Nil = nil, application_fee_amount : Int32 | Nil = nil, capture_method : String | Nil = nil, confrimation_method : String | Nil = nil, error_on_requires_action : Bool | Nil = nil, mandate : String | Nil = nil, mandate_data : Hash(String, String) | Nil = nil, on_behalf_of : String | Nil = nil, payment_method_data : Hash(String, String) | Nil = nil, payment_method_types : Array(String) | Nil = nil, payment_method_options : Hash(String, String) | Nil = nil, radar_options : Hash(String, String) | Nil = nil, return_url : String | Nil = nil, transfer_data : Hash(String, String) | Nil = nil, transfer_group : String | Nil = nil, use_stripe_sdk : Bool | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L73"},"def":{"name":"create_payment_intent","args":[{"name":"amount","external_name":"amount","restriction":"Int32"},{"name":"currency","external_name":"currency","restriction":"String"},{"name":"automatic_payment_methods","default_value":"nil","external_name":"automatic_payment_methods","restriction":"Hash(String, String) | ::Nil"},{"name":"confirm","default_value":"nil","external_name":"confirm","restriction":"Bool | ::Nil"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"description","default_value":"nil","external_name":"description","restriction":"String | ::Nil"},{"name":"metadata","default_value":"nil","external_name":"metadata","restriction":"Hash(String, String) | ::Nil"},{"name":"off_session","default_value":"nil","external_name":"off_session","restriction":"Bool | ::Nil"},{"name":"payment_method","default_value":"nil","external_name":"payment_method","restriction":"String | ::Nil"},{"name":"receipt_email","default_value":"nil","external_name":"receipt_email","restriction":"String | ::Nil"},{"name":"setup_future_usage","default_value":"nil","external_name":"setup_future_usage","restriction":"String | ::Nil"},{"name":"shipping","default_value":"nil","external_name":"shipping","restriction":"Hash(String, String) | ::Nil"},{"name":"statement_descriptor","default_value":"nil","external_name":"statement_descriptor","restriction":"String | ::Nil"},{"name":"statement_descriptor_suffix","default_value":"nil","external_name":"statement_descriptor_suffix","restriction":"String | ::Nil"},{"name":"application_fee_amount","default_value":"nil","external_name":"application_fee_amount","restriction":"Int32 | ::Nil"},{"name":"capture_method","default_value":"nil","external_name":"capture_method","restriction":"String | ::Nil"},{"name":"confrimation_method","default_value":"nil","external_name":"confrimation_method","restriction":"String | ::Nil"},{"name":"error_on_requires_action","default_value":"nil","external_name":"error_on_requires_action","restriction":"Bool | ::Nil"},{"name":"mandate","default_value":"nil","external_name":"mandate","restriction":"String | ::Nil"},{"name":"mandate_data","default_value":"nil","external_name":"mandate_data","restriction":"Hash(String, String) | ::Nil"},{"name":"on_behalf_of","default_value":"nil","external_name":"on_behalf_of","restriction":"String | ::Nil"},{"name":"payment_method_data","default_value":"nil","external_name":"payment_method_data","restriction":"Hash(String, String) | ::Nil"},{"name":"payment_method_types","default_value":"nil","external_name":"payment_method_types","restriction":"Array(String) | ::Nil"},{"name":"payment_method_options","default_value":"nil","external_name":"payment_method_options","restriction":"Hash(String, String) | ::Nil"},{"name":"radar_options","default_value":"nil","external_name":"radar_options","restriction":"Hash(String, String) | ::Nil"},{"name":"return_url","default_value":"nil","external_name":"return_url","restriction":"String | ::Nil"},{"name":"transfer_data","default_value":"nil","external_name":"transfer_data","restriction":"Hash(String, String) | ::Nil"},{"name":"transfer_group","default_value":"nil","external_name":"transfer_group","restriction":"String | ::Nil"},{"name":"use_stripe_sdk","default_value":"nil","external_name":"use_stripe_sdk","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"payment_intent = @client.not_nil!.payment_intents.create(amount: amount, currency: currency, automatic_payment_methods: automatic_payment_methods, confirm: confirm, customer: customer, description: description, metadata: metadata, off_session: off_session, payment_method: payment_method, receipt_email: receipt_email, setup_future_usage: setup_future_usage, shipping: shipping, statement_descriptor: statement_descriptor, statement_descriptor_suffix: statement_descriptor_suffix, application_fee_amount: application_fee_amount, capture_method: capture_method, confrimation_method: confrimation_method, error_on_requires_action: error_on_requires_action, mandate_data: mandate_data, on_behalf_of: on_behalf_of, payment_method_data: payment_method_data, payment_method_types: payment_method_types, payment_method_options: payment_method_options, radar_options: radar_options, return_url: return_url, transfer_data: transfer_data, transfer_group: transfer_group, use_stripe_sdk: use_stripe_sdk)\nself[\"payment_intent\"] = payment_intent\n"}},{"html_id":"get_product_price(active:Bool|Nil=nil,currency:String|Nil=nil,product:String|Nil=nil,type:String|Nil=nil,created:Hash(String,String)|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,lookup_keys:Array(String)|Nil=nil,recurring:Hash(String,String)|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"get_product_price","abstract":false,"args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","args_html":"(active : Bool | Nil = nil, currency : String | Nil = nil, product : String | Nil = nil, type : String | Nil = nil, created : Hash(String, String) | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, lookup_keys : Array(String) | Nil = nil, recurring : Hash(String, String) | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L68"},"def":{"name":"get_product_price","args":[{"name":"active","default_value":"nil","external_name":"active","restriction":"Bool | ::Nil"},{"name":"currency","default_value":"nil","external_name":"currency","restriction":"String | ::Nil"},{"name":"product","default_value":"nil","external_name":"product","restriction":"String | ::Nil"},{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"created","default_value":"nil","external_name":"created","restriction":"Hash(String, String) | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"lookup_keys","default_value":"nil","external_name":"lookup_keys","restriction":"Array(String) | ::Nil"},{"name":"recurring","default_value":"nil","external_name":"recurring","restriction":"Hash(String, String) | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"product_prices = @client.not_nil!.prices.list(active: active, currency: currency, product: product, type: type, created: created, ending_before: ending_before, limit: limit, lookup_keys: lookup_keys, recurring: recurring, starting_after: starting_after)\nself[\"product_prices\"] = product_prices\n"}},{"html_id":"list_payment_methods(type:String,customer:String|Nil=nil,ending_before:String|Nil=nil,limit:Int32|Nil=nil,starting_after:String|Nil=nil)-instance-method","name":"list_payment_methods","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"args_string":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","args_html":"(type : String, customer : String | Nil = nil, ending_before : String | Nil = nil, limit : Int32 | Nil = nil, starting_after : String | Nil = nil)","location":{"filename":"src/stripe/api.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L63"},"def":{"name":"list_payment_methods","args":[{"name":"type","external_name":"type","restriction":"String"},{"name":"customer","default_value":"nil","external_name":"customer","restriction":"String | ::Nil"},{"name":"ending_before","default_value":"nil","external_name":"ending_before","restriction":"String | ::Nil"},{"name":"limit","default_value":"nil","external_name":"limit","restriction":"Int32 | ::Nil"},{"name":"starting_after","default_value":"nil","external_name":"starting_after","restriction":"String | ::Nil"}],"visibility":"Public","body":"payment_methods = @client.not_nil!.payment_methods.list(type: type, customer: customer, ending_before: ending_before, limit: limit, starting_after: starting_after)\nself[\"payment_methods\"] = payment_methods\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L15"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/stripe/api.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L19"},"def":{"name":"on_update","visibility":"Public","body":"host_name = config.uri.not_nil!.to_s\napi_key = setting(String, :api_key)\n@client = Stripetease::Client.new(base_url: host_name, api_key: api_key)\n"}}],"types":[{"html_id":"drivers/Stripe/API/Client","path":"Stripe/API/Client.html","kind":"alias","full_name":"Stripe::API::Client","name":"Client","abstract":false,"locations":[{"filename":"src/stripe/api.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/stripe/api.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Stripetease::Client","aliased_html":"Stripetease::Client","const":false,"namespace":{"html_id":"drivers/Stripe/API","kind":"class","full_name":"Stripe::API","name":"API"}}]}]},{"html_id":"drivers/TwentyFiveLivePro","path":"TwentyFiveLivePro.html","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L4"},{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L4"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L3"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L3"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L3"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L3"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L3"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L3"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L6"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L3"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/TwentyFiveLivePro/API","path":"TwentyFiveLivePro/API.html","kind":"class","full_name":"TwentyFiveLivePro::API","name":"API","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/api.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"availability(id:Int32,start_date:String,end_date:String,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"availability","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, start_date : String, end_date : String, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":93,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L93"},"def":{"name":"availability","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nbody = {\"spaces\" => [{\"spaceId\" => id, \"dates\" => {\"startDt\" => start_date, \"endDt\" => end_date}}]}\nresponse = post(\"/external/spaceAvailability.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"}, body: body.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Availability.from_json(response.body)\n"}},{"html_id":"get_event_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_event_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":256,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L256"},"def":{"name":"get_event_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/event/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::EventDetail.from_json(response.body)\n"}},{"html_id":"get_organization_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_organization_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":180,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L180"},"def":{"name":"get_organization_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/organization/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::OrganizationDetail.from_json(response.body)\n"}},{"html_id":"get_resource_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_resource_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":119,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L119"},"def":{"name":"get_resource_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/resource/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::ResourceDetail.from_json(response.body)\n"}},{"html_id":"get_space_details(id:Int32,included_elements:Array(String)=[]ofString,expanded_elements:Array(String)=[]ofString)-instance-method","name":"get_space_details","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"args_string":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","args_html":"(id : Int32, included_elements : Array(String) = [] of String, expanded_elements : Array(String) = [] of String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L32"},"def":{"name":"get_space_details","args":[{"name":"id","external_name":"id","restriction":"Int32"},{"name":"included_elements","default_value":"[] of String","external_name":"included_elements","restriction":"Array(String)"},{"name":"expanded_elements","default_value":"[] of String","external_name":"expanded_elements","restriction":"Array(String)"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"include\", included_elements.join(\",\"))\n form.add(\"expand\", expanded_elements.join(\",\"))\nend\nresponse = get(\"/external/space/#{id}/detail.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::SpaceDetail.from_json(response.body)\n"}},{"html_id":"list_events(space_id:Int32=1,page:Int32=1,items_per_page:Int32=100,since:String|Nil=nil,paginate:String|Nil=nil)-instance-method","name":"list_events","abstract":false,"args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","args_html":"(space_id : Int32 = 1, page : Int32 = 1, items_per_page : Int32 = 100, since : String | Nil = nil, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":270,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L270"},"def":{"name":"list_events","args":[{"name":"space_id","default_value":"1","external_name":"space_id","restriction":"Int32"},{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"since","default_value":"nil","external_name":"since","restriction":"String | ::Nil"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"events = [] of Models::Event\nloop do\n params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if since\n form.add(\"created_since\", since)\n end\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/event/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Event).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |event|\n events.push(event)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nevents\n"}},{"html_id":"list_organizations(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_organizations","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L194"},"def":{"name":"list_organizations","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"organizations = [] of Models::Organization\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/organization/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Organization).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |organization|\n organizations.push(organization)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\norganizations\n"}},{"html_id":"list_reservations(space_id:Int32,start_date:String,end_date:String)-instance-method","name":"list_reservations","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"args_string":"(space_id : Int32, start_date : String, end_date : String)","args_html":"(space_id : Int32, start_date : String, end_date : String)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L241"},"def":{"name":"list_reservations","args":[{"name":"space_id","external_name":"space_id","restriction":"Int32"},{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"space_id\", space_id.to_s)\n form.add(\"start_dt\", start_date)\n form.add(\"end_dt\", end_date)\nend\nresponse = get(\"/reservations.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nModels::Reservations.from_json(response.body)\n"}},{"html_id":"list_resources(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_resources","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L133"},"def":{"name":"list_resources","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"resources = [] of Models::Resource\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/resource/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Resource).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |resource|\n resources.push(resource)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nresources\n"}},{"html_id":"list_spaces(page:Int32=1,items_per_page:Int32=100,paginate:String|Nil=nil)-instance-method","name":"list_spaces","abstract":false,"args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"args_string":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","args_html":"(page : Int32 = 1, items_per_page : Int32 = 100, paginate : String | Nil = nil)","location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L46"},"def":{"name":"list_spaces","args":[{"name":"page","default_value":"1","external_name":"page","restriction":"Int32"},{"name":"items_per_page","default_value":"100","external_name":"items_per_page","restriction":"Int32"},{"name":"paginate","default_value":"nil","external_name":"paginate","restriction":"String | ::Nil"}],"visibility":"Public","body":"spaces = [] of Models::Space\nloop do\n params = URI::Params.build do |form|\n form.add(\"page\", page.to_s)\n form.add(\"itemsPerPage\", items_per_page.to_s)\n if paginate\n form.add(\"paginate\", paginate)\n end\n end\n response = get(\"/external/space/list.json?#{params}\", headers: HTTP::Headers {\"Authorization\" => get_basic_authorization, \"User-Agent\" => @user_agent, \"Content-Type\" => \"application/json\"})\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n paginated_response = Models::PaginatedResponse.from_json(response.body)\n if page < paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n page = page + 1\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n if page == paginated_response.content.data.total_pages\n begin\n (Array(Models::Space).from_json(paginated_response.content.data.json_unmapped[\"items\"].to_json)).each do |space|\n spaces.push(space)\n end\n break\n rescue exception\n logger.warn do\n \"failed to parse body:\\n#{response.body}\"\n end\n raise(exception)\n end\n else\n break\n end\n end\nend\nspaces\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/api.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/api.cr#L25"},"def":{"name":"on_update","visibility":"Public","body":"@username = setting(String, :username)\n@password = setting(String, :password)\n@user_agent = (setting?(String, :user_agent)) || \"PlaceOS\"\n"}}]},{"html_id":"drivers/TwentyFiveLivePro/Date","path":"TwentyFiveLivePro/Date.html","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"duration-instance-method","name":"duration","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L13"},"def":{"name":"duration","visibility":"Public","body":"end_date - start_date"}},{"html_id":"end_date:Time-instance-method","name":"end_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date","return_type":"Time","visibility":"Public","body":"@end_date"}},{"html_id":"end_date=(end_date:Time)-instance-method","name":"end_date=","abstract":false,"args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"args_string":"(end_date : Time)","args_html":"(end_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L11"},"def":{"name":"end_date=","args":[{"name":"end_date","external_name":"end_date","restriction":"Time"}],"visibility":"Public","body":"@end_date = end_date"}},{"html_id":"start_date:Time-instance-method","name":"start_date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date","return_type":"Time","visibility":"Public","body":"@start_date"}},{"html_id":"start_date=(start_date:Time)-instance-method","name":"start_date=","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"args_string":"(start_date : Time)","args_html":"(start_date : Time)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L8"},"def":{"name":"start_date=","args":[{"name":"start_date","external_name":"start_date","restriction":"Time"}],"visibility":"Public","body":"@start_date = start_date"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","path":"TwentyFiveLivePro/Date/Converter.html","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L17"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"drivers/TwentyFiveLivePro/Date/Converter","kind":"module","full_name":"TwentyFiveLivePro::Date::Converter","name":"Converter"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Date","kind":"struct","full_name":"TwentyFiveLivePro::Date","name":"Date"},"instance_methods":[{"html_id":"from_json(value:JSON::PullParser)-instance-method","name":"from_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"args_string":"(value : JSON::PullParser)","args_html":"(value : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L24"},"def":{"name":"from_json","args":[{"name":"value","external_name":"value","restriction":"JSON::PullParser"}],"visibility":"Public","body":"Time.parse_rfc3339(value.read_string)"}},{"html_id":"to_json(value,json:JSON::Builder)-instance-method","name":"to_json","abstract":false,"args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"args_string":"(value, json : JSON::Builder)","args_html":"(value, json : JSON::Builder)","location":{"filename":"src/twenty_five_live_pro/models/date.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/date.cr#L20"},"def":{"name":"to_json","args":[{"name":"value","external_name":"value","restriction":""},{"name":"json","external_name":"json","restriction":"JSON::Builder"}],"visibility":"Public","body":"json.string(value.to_rfc3339)"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models","path":"TwentyFiveLivePro/Models.html","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L5"},{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L4"},{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L4"},{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L4"},{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L4"},{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L4"},{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L4"},{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L7"},{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L4"},{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"reservations:Reservations-instance-method","name":"reservations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations","return_type":"Reservations","visibility":"Public","body":"@reservations"}},{"html_id":"reservations=(reservations:Reservations)-instance-method","name":"reservations=","abstract":false,"args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"args_string":"(reservations : Reservations)","args_html":"(reservations : Reservations)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":144,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L144"},"def":{"name":"reservations=","args":[{"name":"reservations","external_name":"reservations","restriction":"Reservations"}],"visibility":"Public","body":"@reservations = reservations"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Attribute","path":"TwentyFiveLivePro/Models/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/attribute.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/attribute.cr#L9"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","path":"TwentyFiveLivePro/Models/Availability.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L56"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","path":"TwentyFiveLivePro/Models/Availability/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability","name":"Availability"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L42"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L52"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:String-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id","return_type":"String","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:String)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"args_string":"(request_id : String)","args_html":"(request_id : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L13"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"String"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","path":"TwentyFiveLivePro/Models/Availability/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L38"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data/Space","path":"TwentyFiveLivePro/Models/Availability/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"available:Bool-instance-method","name":"available","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available","return_type":"Bool","visibility":"Public","body":"@available"}},{"html_id":"available=(available:Bool)-instance-method","name":"available=","abstract":false,"args":[{"name":"available","external_name":"available","restriction":"Bool"}],"args_string":"(available : Bool)","args_html":"(available : Bool)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L31"},"def":{"name":"available=","args":[{"name":"available","external_name":"available","restriction":"Bool"}],"visibility":"Public","body":"@available = available"}},{"html_id":"conflict_type:Int64|Nil-instance-method","name":"conflict_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type","return_type":"Int64 | ::Nil","visibility":"Public","body":"@conflict_type"}},{"html_id":"conflict_type=(conflict_type:Int64|Nil)-instance-method","name":"conflict_type=","abstract":false,"args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"args_string":"(conflict_type : Int64 | Nil)","args_html":"(conflict_type : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L34"},"def":{"name":"conflict_type=","args":[{"name":"conflict_type","external_name":"conflict_type","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@conflict_type = conflict_type"}},{"html_id":"dates:Array(Hash(String,JSON::Any))-instance-method","name":"dates","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates","return_type":"Array(Hash(String, JSON::Any))","visibility":"Public","body":"@dates"}},{"html_id":"dates=(dates:Array(Hash(String,JSON::Any)))-instance-method","name":"dates=","abstract":false,"args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"args_string":"(dates : Array(Hash(String, JSON::Any)))","args_html":"(dates : Array(Hash(String, JSON::Any)))","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L28"},"def":{"name":"dates=","args":[{"name":"dates","external_name":"dates","restriction":"Array(Hash(String, JSON::Any))"}],"visibility":"Public","body":"@dates = dates"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L25"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/Availability/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Availability/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::Availability::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_types:Array(Expanded::Conflict)|Nil-instance-method","name":"conflict_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types","return_type":"Array(Expanded::Conflict) | ::Nil","visibility":"Public","body":"@conflict_types"}},{"html_id":"conflict_types=(conflict_types:Array(Expanded::Conflict)|Nil)-instance-method","name":"conflict_types=","abstract":false,"args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"args_string":"(conflict_types : Array(Expanded::Conflict) | Nil)","args_html":"(conflict_types : Array(Expanded::Conflict) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/availability.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/availability.cr#L48"},"def":{"name":"conflict_types=","args":[{"name":"conflict_types","external_name":"conflict_types","restriction":"Array(Expanded::Conflict) | ::Nil"}],"visibility":"Public","body":"@conflict_types = conflict_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Category","path":"TwentyFiveLivePro/Models/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L9"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"inherit_code:Int64|Nil-instance-method","name":"inherit_code","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code","return_type":"Int64 | ::Nil","visibility":"Public","body":"@inherit_code"}},{"html_id":"inherit_code=(inherit_code:Int64|Nil)-instance-method","name":"inherit_code=","abstract":false,"args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"args_string":"(inherit_code : Int64 | Nil)","args_html":"(inherit_code : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/category.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/category.cr#L11"},"def":{"name":"inherit_code=","args":[{"name":"inherit_code","external_name":"inherit_code","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@inherit_code = inherit_code"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Event","path":"TwentyFiveLivePro/Models/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"container:Bool|Nil-instance-method","name":"container","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container","return_type":"Bool | ::Nil","visibility":"Public","body":"@container"}},{"html_id":"container=(container:Bool|Nil)-instance-method","name":"container=","abstract":false,"args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"args_string":"(container : Bool | Nil)","args_html":"(container : Bool | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L32"},"def":{"name":"container=","args":[{"name":"container","external_name":"container","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@container = container"}},{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L30"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L24"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L18"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"title:String|Nil-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title","return_type":"String | ::Nil","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String|Nil)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"args_string":"(title : String | Nil)","args_html":"(title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L21"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@title = title"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event.cr#L27"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","path":"TwentyFiveLivePro/Models/EventDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L92"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","path":"TwentyFiveLivePro/Models/EventDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L9"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail","name":"EventDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L10"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L54"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L88"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"id:Int64|Nil-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64|Nil)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"args_string":"(id : Int64 | Nil)","args_html":"(id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L13"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@id = id"}},{"html_id":"updated:String|Nil-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated","return_type":"String | ::Nil","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String|Nil)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"args_string":"(updated : String | Nil)","args_html":"(updated : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L16"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String | ::Nil"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L18"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L19"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Event)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items","return_type":"Array(Event)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Event))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"args_string":"(items : Array(Event))","args_html":"(items : Array(Event))","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L50"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Event)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data/Event","path":"TwentyFiveLivePro/Models/EventDetail/Content/Data/Event.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data::Event","name":"Event","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L21"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L22"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"date:Date-instance-method","name":"date","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date","return_type":"Date","visibility":"Public","body":"@date"}},{"html_id":"date=(date:Date)-instance-method","name":"date=","abstract":false,"args":[{"name":"date","external_name":"date","restriction":"Date"}],"args_string":"(date : Date)","args_html":"(date : Date)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L46"},"def":{"name":"date=","args":[{"name":"date","external_name":"date","restriction":"Date"}],"visibility":"Public","body":"@date = date"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L31"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"event_locator:String-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator","return_type":"String","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"args_string":"(event_locator : String)","args_html":"(event_locator : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L37"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L28"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L25"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L34"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"priority:Int64-instance-method","name":"priority","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority","return_type":"Int64","visibility":"Public","body":"@priority"}},{"html_id":"priority=(priority:Int64)-instance-method","name":"priority=","abstract":false,"args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"args_string":"(priority : Int64)","args_html":"(priority : Int64)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L40"},"def":{"name":"priority=","args":[{"name":"priority","external_name":"priority","restriction":"Int64"}],"visibility":"Public","body":"@priority = priority"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L43"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/EventDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/EventDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::EventDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L63"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L84"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"event_types:Array(Expanded::EventType)|Nil-instance-method","name":"event_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types","return_type":"Array(Expanded::EventType) | ::Nil","visibility":"Public","body":"@event_types"}},{"html_id":"event_types=(event_types:Array(Expanded::EventType)|Nil)-instance-method","name":"event_types=","abstract":false,"args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"args_string":"(event_types : Array(Expanded::EventType) | Nil)","args_html":"(event_types : Array(Expanded::EventType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":78,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L78"},"def":{"name":"event_types=","args":[{"name":"event_types","external_name":"event_types","restriction":"Array(Expanded::EventType) | ::Nil"}],"visibility":"Public","body":"@event_types = event_types"}},{"html_id":"organizations:Array(Expanded::Organization)|Nil-instance-method","name":"organizations","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations","return_type":"Array(Expanded::Organization) | ::Nil","visibility":"Public","body":"@organizations"}},{"html_id":"organizations=(organizations:Array(Expanded::Organization)|Nil)-instance-method","name":"organizations=","abstract":false,"args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"args_string":"(organizations : Array(Expanded::Organization) | Nil)","args_html":"(organizations : Array(Expanded::Organization) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L60"},"def":{"name":"organizations=","args":[{"name":"organizations","external_name":"organizations","restriction":"Array(Expanded::Organization) | ::Nil"}],"visibility":"Public","body":"@organizations = organizations"}},{"html_id":"parent_nodes:Array(Expanded::ParentNode)|Nil-instance-method","name":"parent_nodes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes","return_type":"Array(Expanded::ParentNode) | ::Nil","visibility":"Public","body":"@parent_nodes"}},{"html_id":"parent_nodes=(parent_nodes:Array(Expanded::ParentNode)|Nil)-instance-method","name":"parent_nodes=","abstract":false,"args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"args_string":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","args_html":"(parent_nodes : Array(Expanded::ParentNode) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L81"},"def":{"name":"parent_nodes=","args":[{"name":"parent_nodes","external_name":"parent_nodes","restriction":"Array(Expanded::ParentNode) | ::Nil"}],"visibility":"Public","body":"@parent_nodes = parent_nodes"}},{"html_id":"resources:Array(Expanded::Resource)|Nil-instance-method","name":"resources","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources","return_type":"Array(Expanded::Resource) | ::Nil","visibility":"Public","body":"@resources"}},{"html_id":"resources=(resources:Array(Expanded::Resource)|Nil)-instance-method","name":"resources=","abstract":false,"args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"args_string":"(resources : Array(Expanded::Resource) | Nil)","args_html":"(resources : Array(Expanded::Resource) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L72"},"def":{"name":"resources=","args":[{"name":"resources","external_name":"resources","restriction":"Array(Expanded::Resource) | ::Nil"}],"visibility":"Public","body":"@resources = resources"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L66"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"spaces:Array(Expanded::Space)|Nil-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces","return_type":"Array(Expanded::Space) | ::Nil","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Expanded::Space)|Nil)-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"args_string":"(spaces : Array(Expanded::Space) | Nil)","args_html":"(spaces : Array(Expanded::Space) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L69"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Expanded::Space) | ::Nil"}],"visibility":"Public","body":"@spaces = spaces"}},{"html_id":"states:Array(Expanded::State)|Nil-instance-method","name":"states","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states","return_type":"Array(Expanded::State) | ::Nil","visibility":"Public","body":"@states"}},{"html_id":"states=(states:Array(Expanded::State)|Nil)-instance-method","name":"states=","abstract":false,"args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"args_string":"(states : Array(Expanded::State) | Nil)","args_html":"(states : Array(Expanded::State) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/event_detail.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/event_detail.cr#L75"},"def":{"name":"states=","args":[{"name":"states","external_name":"states","restriction":"Array(Expanded::State) | ::Nil"}],"visibility":"Public","body":"@states = states"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","path":"TwentyFiveLivePro/Models/Expanded.html","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded","abstract":false,"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L5"},{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Attribute","path":"TwentyFiveLivePro/Models/Expanded/Attribute.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Attribute","name":"Attribute","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attribute_id:Int64-instance-method","name":"attribute_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id","return_type":"Int64","visibility":"Public","body":"@attribute_id"}},{"html_id":"attribute_id=(attribute_id:Int64)-instance-method","name":"attribute_id=","abstract":false,"args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"args_string":"(attribute_id : Int64)","args_html":"(attribute_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L10"},"def":{"name":"attribute_id=","args":[{"name":"attribute_id","external_name":"attribute_id","restriction":"Int64"}],"visibility":"Public","body":"@attribute_id = attribute_id"}},{"html_id":"attribute_name:String-instance-method","name":"attribute_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name","return_type":"String","visibility":"Public","body":"@attribute_name"}},{"html_id":"attribute_name=(attribute_name:String)-instance-method","name":"attribute_name=","abstract":false,"args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"args_string":"(attribute_name : String)","args_html":"(attribute_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L12"},"def":{"name":"attribute_name=","args":[{"name":"attribute_name","external_name":"attribute_name","restriction":"String"}],"visibility":"Public","body":"@attribute_name = attribute_name"}},{"html_id":"attribute_type:String|Nil-instance-method","name":"attribute_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type","return_type":"String | ::Nil","visibility":"Public","body":"@attribute_type"}},{"html_id":"attribute_type=(attribute_type:String|Nil)-instance-method","name":"attribute_type=","abstract":false,"args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"args_string":"(attribute_type : String | Nil)","args_html":"(attribute_type : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/attribute.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/attribute.cr#L14"},"def":{"name":"attribute_type=","args":[{"name":"attribute_type","external_name":"attribute_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@attribute_type = attribute_type"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Category","path":"TwentyFiveLivePro/Models/Expanded/Category.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Category","name":"Category","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"category_id:Int64-instance-method","name":"category_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id","return_type":"Int64","visibility":"Public","body":"@category_id"}},{"html_id":"category_id=(category_id:Int64)-instance-method","name":"category_id=","abstract":false,"args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"args_string":"(category_id : Int64)","args_html":"(category_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L10"},"def":{"name":"category_id=","args":[{"name":"category_id","external_name":"category_id","restriction":"Int64"}],"visibility":"Public","body":"@category_id = category_id"}},{"html_id":"category_name:String-instance-method","name":"category_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name","return_type":"String","visibility":"Public","body":"@category_name"}},{"html_id":"category_name=(category_name:String)-instance-method","name":"category_name=","abstract":false,"args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"args_string":"(category_name : String)","args_html":"(category_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/category.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/category.cr#L12"},"def":{"name":"category_name=","args":[{"name":"category_name","external_name":"category_name","restriction":"String"}],"visibility":"Public","body":"@category_name = category_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Conflict","path":"TwentyFiveLivePro/Models/Expanded/Conflict.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Conflict","name":"Conflict","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"conflict_type_description:String-instance-method","name":"conflict_type_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description","return_type":"String","visibility":"Public","body":"@conflict_type_description"}},{"html_id":"conflict_type_description=(conflict_type_description:String)-instance-method","name":"conflict_type_description=","abstract":false,"args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"args_string":"(conflict_type_description : String)","args_html":"(conflict_type_description : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L14"},"def":{"name":"conflict_type_description=","args":[{"name":"conflict_type_description","external_name":"conflict_type_description","restriction":"String"}],"visibility":"Public","body":"@conflict_type_description = conflict_type_description"}},{"html_id":"conflict_type_id:Int64-instance-method","name":"conflict_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id","return_type":"Int64","visibility":"Public","body":"@conflict_type_id"}},{"html_id":"conflict_type_id=(conflict_type_id:Int64)-instance-method","name":"conflict_type_id=","abstract":false,"args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"args_string":"(conflict_type_id : Int64)","args_html":"(conflict_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L10"},"def":{"name":"conflict_type_id=","args":[{"name":"conflict_type_id","external_name":"conflict_type_id","restriction":"Int64"}],"visibility":"Public","body":"@conflict_type_id = conflict_type_id"}},{"html_id":"conflict_type_name:String-instance-method","name":"conflict_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name","return_type":"String","visibility":"Public","body":"@conflict_type_name"}},{"html_id":"conflict_type_name=(conflict_type_name:String)-instance-method","name":"conflict_type_name=","abstract":false,"args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"args_string":"(conflict_type_name : String)","args_html":"(conflict_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/conflict.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/conflict.cr#L12"},"def":{"name":"conflict_type_name=","args":[{"name":"conflict_type_name","external_name":"conflict_type_name","restriction":"String"}],"visibility":"Public","body":"@conflict_type_name = conflict_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Contact","path":"TwentyFiveLivePro/Models/Expanded/Contact.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Contact","name":"Contact","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64|Nil-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64|Nil)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"args_string":"(contact_id : Int64 | Nil)","args_html":"(contact_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L10"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"email=(email:String|Nil)-instance-method","name":"email=","abstract":false,"args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil)","args_html":"(email : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L18"},"def":{"name":"email=","args":[{"name":"email","external_name":"email","restriction":"String | ::Nil"}],"visibility":"Public","body":"@email = email"}},{"html_id":"etag:String|Nil-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag","return_type":"String | ::Nil","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String|Nil)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"args_string":"(etag : String | Nil)","args_html":"(etag : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String | ::Nil"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"family_name:String|Nil-instance-method","name":"family_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name","return_type":"String | ::Nil","visibility":"Public","body":"@family_name"}},{"html_id":"family_name=(family_name:String|Nil)-instance-method","name":"family_name=","abstract":false,"args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"args_string":"(family_name : String | Nil)","args_html":"(family_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L16"},"def":{"name":"family_name=","args":[{"name":"family_name","external_name":"family_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@family_name = family_name"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"first_name=(first_name:String|Nil)-instance-method","name":"first_name=","abstract":false,"args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"args_string":"(first_name : String | Nil)","args_html":"(first_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/expanded/contact.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/contact.cr#L14"},"def":{"name":"first_name=","args":[{"name":"first_name","external_name":"first_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@first_name = first_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/EventType","path":"TwentyFiveLivePro/Models/Expanded/EventType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::EventType","name":"EventType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"type_id:Int64-instance-method","name":"type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id","return_type":"Int64","visibility":"Public","body":"@type_id"}},{"html_id":"type_id=(type_id:Int64)-instance-method","name":"type_id=","abstract":false,"args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"args_string":"(type_id : Int64)","args_html":"(type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L10"},"def":{"name":"type_id=","args":[{"name":"type_id","external_name":"type_id","restriction":"Int64"}],"visibility":"Public","body":"@type_id = type_id"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/event_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/event_type.cr#L12"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Feature","path":"TwentyFiveLivePro/Models/Expanded/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L10"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"feature_name:String-instance-method","name":"feature_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name","return_type":"String","visibility":"Public","body":"@feature_name"}},{"html_id":"feature_name=(feature_name:String)-instance-method","name":"feature_name=","abstract":false,"args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"args_string":"(feature_name : String)","args_html":"(feature_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/feature.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/feature.cr#L12"},"def":{"name":"feature_name=","args":[{"name":"feature_name","external_name":"feature_name","restriction":"String"}],"visibility":"Public","body":"@feature_name = feature_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Layout","path":"TwentyFiveLivePro/Models/Expanded/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L10"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name","return_type":"String","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"args_string":"(layout_name : String)","args_html":"(layout_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/layout.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/layout.cr#L12"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String"}],"visibility":"Public","body":"@layout_name = layout_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Organization","path":"TwentyFiveLivePro/Models/Expanded/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L10"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization.cr#L14"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/OrganizationType","path":"TwentyFiveLivePro/Models/Expanded/OrganizationType.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::OrganizationType","name":"OrganizationType","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L10"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"organization_type_name:String-instance-method","name":"organization_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name","return_type":"String","visibility":"Public","body":"@organization_type_name"}},{"html_id":"organization_type_name=(organization_type_name:String)-instance-method","name":"organization_type_name=","abstract":false,"args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"args_string":"(organization_type_name : String)","args_html":"(organization_type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/organization_type.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/organization_type.cr#L12"},"def":{"name":"organization_type_name=","args":[{"name":"organization_type_name","external_name":"organization_type_name","restriction":"String"}],"visibility":"Public","body":"@organization_type_name = organization_type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/ParentNode","path":"TwentyFiveLivePro/Models/Expanded/ParentNode.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::ParentNode","name":"ParentNode","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"end_dt:String-instance-method","name":"end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt","return_type":"String","visibility":"Public","body":"@end_dt"}},{"html_id":"end_dt=(end_dt:String)-instance-method","name":"end_dt=","abstract":false,"args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"args_string":"(end_dt : String)","args_html":"(end_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L24"},"def":{"name":"end_dt=","args":[{"name":"end_dt","external_name":"end_dt","restriction":"String"}],"visibility":"Public","body":"@end_dt = end_dt"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L10"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"locator:String-instance-method","name":"locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator","return_type":"String","visibility":"Public","body":"@locator"}},{"html_id":"locator=(locator:String)-instance-method","name":"locator=","abstract":false,"args":[{"name":"locator","external_name":"locator","restriction":"String"}],"args_string":"(locator : String)","args_html":"(locator : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L12"},"def":{"name":"locator=","args":[{"name":"locator","external_name":"locator","restriction":"String"}],"visibility":"Public","body":"@locator = locator"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L14"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"node_type:String-instance-method","name":"node_type","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type","return_type":"String","visibility":"Public","body":"@node_type"}},{"html_id":"node_type=(node_type:String)-instance-method","name":"node_type=","abstract":false,"args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"args_string":"(node_type : String)","args_html":"(node_type : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L18"},"def":{"name":"node_type=","args":[{"name":"node_type","external_name":"node_type","restriction":"String"}],"visibility":"Public","body":"@node_type = node_type"}},{"html_id":"start_dt:String-instance-method","name":"start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt","return_type":"String","visibility":"Public","body":"@start_dt"}},{"html_id":"start_dt=(start_dt:String)-instance-method","name":"start_dt=","abstract":false,"args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"args_string":"(start_dt : String)","args_html":"(start_dt : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L22"},"def":{"name":"start_dt=","args":[{"name":"start_dt","external_name":"start_dt","restriction":"String"}],"visibility":"Public","body":"@start_dt = start_dt"}},{"html_id":"title:String-instance-method","name":"title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title","return_type":"String","visibility":"Public","body":"@title"}},{"html_id":"title=(title:String)-instance-method","name":"title=","abstract":false,"args":[{"name":"title","external_name":"title","restriction":"String"}],"args_string":"(title : String)","args_html":"(title : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L16"},"def":{"name":"title=","args":[{"name":"title","external_name":"title","restriction":"String"}],"visibility":"Public","body":"@title = title"}},{"html_id":"type_name:String-instance-method","name":"type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name","return_type":"String","visibility":"Public","body":"@type_name"}},{"html_id":"type_name=(type_name:String)-instance-method","name":"type_name=","abstract":false,"args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"args_string":"(type_name : String)","args_html":"(type_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/parent_node.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/parent_node.cr#L20"},"def":{"name":"type_name=","args":[{"name":"type_name","external_name":"type_name","restriction":"String"}],"visibility":"Public","body":"@type_name = type_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Resource","path":"TwentyFiveLivePro/Models/Expanded/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"resource_id:Int64-instance-method","name":"resource_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id","return_type":"Int64","visibility":"Public","body":"@resource_id"}},{"html_id":"resource_id=(resource_id:Int64)-instance-method","name":"resource_id=","abstract":false,"args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"args_string":"(resource_id : Int64)","args_html":"(resource_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L10"},"def":{"name":"resource_id=","args":[{"name":"resource_id","external_name":"resource_id","restriction":"Int64"}],"visibility":"Public","body":"@resource_id = resource_id"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/resource.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/resource.cr#L14"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Role","path":"TwentyFiveLivePro/Models/Expanded/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L10"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}},{"html_id":"role_name:String-instance-method","name":"role_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name","return_type":"String","visibility":"Public","body":"@role_name"}},{"html_id":"role_name=(role_name:String)-instance-method","name":"role_name=","abstract":false,"args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"args_string":"(role_name : String)","args_html":"(role_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/role.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/role.cr#L14"},"def":{"name":"role_name=","args":[{"name":"role_name","external_name":"role_name","restriction":"String"}],"visibility":"Public","body":"@role_name = role_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/Space","path":"TwentyFiveLivePro/Models/Expanded/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L12"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L18"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name","return_type":"String","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"args_string":"(space_formal_name : String)","args_html":"(space_formal_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L16"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L10"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/space.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/space.cr#L14"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded/State","path":"TwentyFiveLivePro/Models/Expanded/State.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Expanded::State","name":"State","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Expanded","kind":"module","full_name":"TwentyFiveLivePro::Models::Expanded","name":"Expanded"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L7"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"state:Int64-instance-method","name":"state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state","return_type":"Int64","visibility":"Public","body":"@state"}},{"html_id":"state=(state:Int64)-instance-method","name":"state=","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Int64"}],"args_string":"(state : Int64)","args_html":"(state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L10"},"def":{"name":"state=","args":[{"name":"state","external_name":"state","restriction":"Int64"}],"visibility":"Public","body":"@state = state"}},{"html_id":"state_name:String-instance-method","name":"state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name","return_type":"String","visibility":"Public","body":"@state_name"}},{"html_id":"state_name=(state_name:String)-instance-method","name":"state_name=","abstract":false,"args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"args_string":"(state_name : String)","args_html":"(state_name : String)","location":{"filename":"src/twenty_five_live_pro/models/expanded/state.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/expanded/state.cr#L12"},"def":{"name":"state_name=","args":[{"name":"state_name","external_name":"state_name","restriction":"String"}],"visibility":"Public","body":"@state_name = state_name"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Feature","path":"TwentyFiveLivePro/Models/Feature.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Feature","name":"Feature","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"feature_id:Int64-instance-method","name":"feature_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id","return_type":"Int64","visibility":"Public","body":"@feature_id"}},{"html_id":"feature_id=(feature_id:Int64)-instance-method","name":"feature_id=","abstract":false,"args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"args_string":"(feature_id : Int64)","args_html":"(feature_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L9"},"def":{"name":"feature_id=","args":[{"name":"feature_id","external_name":"feature_id","restriction":"Int64"}],"visibility":"Public","body":"@feature_id = feature_id"}},{"html_id":"quantity:Int64-instance-method","name":"quantity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity","return_type":"Int64","visibility":"Public","body":"@quantity"}},{"html_id":"quantity=(quantity:Int64)-instance-method","name":"quantity=","abstract":false,"args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"args_string":"(quantity : Int64)","args_html":"(quantity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/feature.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/feature.cr#L11"},"def":{"name":"quantity=","args":[{"name":"quantity","external_name":"quantity","restriction":"Int64"}],"visibility":"Public","body":"@quantity = quantity"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Layout","path":"TwentyFiveLivePro/Models/Layout.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Layout","name":"Layout","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"default_layout:Bool-instance-method","name":"default_layout","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout","return_type":"Bool","visibility":"Public","body":"@default_layout"}},{"html_id":"default_layout=(default_layout:Bool)-instance-method","name":"default_layout=","abstract":false,"args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"args_string":"(default_layout : Bool)","args_html":"(default_layout : Bool)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L11"},"def":{"name":"default_layout=","args":[{"name":"default_layout","external_name":"default_layout","restriction":"Bool"}],"visibility":"Public","body":"@default_layout = default_layout"}},{"html_id":"layout_capacity:Int64-instance-method","name":"layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity","return_type":"Int64","visibility":"Public","body":"@layout_capacity"}},{"html_id":"layout_capacity=(layout_capacity:Int64)-instance-method","name":"layout_capacity=","abstract":false,"args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"args_string":"(layout_capacity : Int64)","args_html":"(layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L17"},"def":{"name":"layout_capacity=","args":[{"name":"layout_capacity","external_name":"layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@layout_capacity = layout_capacity"}},{"html_id":"layout_diagram_id:Int64|Nil-instance-method","name":"layout_diagram_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_diagram_id"}},{"html_id":"layout_diagram_id=(layout_diagram_id:Int64|Nil)-instance-method","name":"layout_diagram_id=","abstract":false,"args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_diagram_id : Int64 | Nil)","args_html":"(layout_diagram_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L15"},"def":{"name":"layout_diagram_id=","args":[{"name":"layout_diagram_id","external_name":"layout_diagram_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_diagram_id = layout_diagram_id"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L9"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_photo_id:Int64|Nil-instance-method","name":"layout_photo_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@layout_photo_id"}},{"html_id":"layout_photo_id=(layout_photo_id:Int64|Nil)-instance-method","name":"layout_photo_id=","abstract":false,"args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"args_string":"(layout_photo_id : Int64 | Nil)","args_html":"(layout_photo_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/layout.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/layout.cr#L13"},"def":{"name":"layout_photo_id=","args":[{"name":"layout_photo_id","external_name":"layout_photo_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@layout_photo_id = layout_photo_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Organization","path":"TwentyFiveLivePro/Models/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L18"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String|Nil-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title","return_type":"String | ::Nil","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String|Nil)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"args_string":"(organization_title : String | Nil)","args_html":"(organization_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L21"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64|Nil-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id","return_type":"Int64 | ::Nil","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64|Nil)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"args_string":"(organization_type_id : Int64 | Nil)","args_html":"(organization_type_id : Int64 | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization.cr#L24"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","path":"TwentyFiveLivePro/Models/OrganizationDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L70"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail","name":"OrganizationDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L53"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L66"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Organization)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items","return_type":"Array(Organization)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Organization))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"args_string":"(items : Array(Organization))","args_html":"(items : Array(Organization))","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L49"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Organization)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/Data/Organization.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data::Organization","name":"Organization","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"organization_name:String-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name","return_type":"String","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"args_string":"(organization_name : String)","args_html":"(organization_name : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L36"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"organization_title:String-instance-method","name":"organization_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title","return_type":"String","visibility":"Public","body":"@organization_title"}},{"html_id":"organization_title=(organization_title:String)-instance-method","name":"organization_title=","abstract":false,"args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"args_string":"(organization_title : String)","args_html":"(organization_title : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L39"},"def":{"name":"organization_title=","args":[{"name":"organization_title","external_name":"organization_title","restriction":"String"}],"visibility":"Public","body":"@organization_title = organization_title"}},{"html_id":"organization_type_id:Int64-instance-method","name":"organization_type_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id","return_type":"Int64","visibility":"Public","body":"@organization_type_id"}},{"html_id":"organization_type_id=(organization_type_id:Int64)-instance-method","name":"organization_type_id=","abstract":false,"args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"args_string":"(organization_type_id : Int64)","args_html":"(organization_type_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L45"},"def":{"name":"organization_type_id=","args":[{"name":"organization_type_id","external_name":"organization_type_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_type_id = organization_type_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L42"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/OrganizationDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/OrganizationDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::OrganizationDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"organization_categories:Array(Expanded::Category)|Nil-instance-method","name":"organization_categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@organization_categories"}},{"html_id":"organization_categories=(organization_categories:Array(Expanded::Category)|Nil)-instance-method","name":"organization_categories=","abstract":false,"args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(organization_categories : Array(Expanded::Category) | Nil)","args_html":"(organization_categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L62"},"def":{"name":"organization_categories=","args":[{"name":"organization_categories","external_name":"organization_categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@organization_categories = organization_categories"}},{"html_id":"organization_types:Array(Expanded::OrganizationType)|Nil-instance-method","name":"organization_types","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types","return_type":"Array(Expanded::OrganizationType) | ::Nil","visibility":"Public","body":"@organization_types"}},{"html_id":"organization_types=(organization_types:Array(Expanded::OrganizationType)|Nil)-instance-method","name":"organization_types=","abstract":false,"args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"args_string":"(organization_types : Array(Expanded::OrganizationType) | Nil)","args_html":"(organization_types : Array(Expanded::OrganizationType) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/organization_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/organization_detail.cr#L59"},"def":{"name":"organization_types=","args":[{"name":"organization_types","external_name":"organization_types","restriction":"Array(Expanded::OrganizationType) | ::Nil"}],"visibility":"Public","body":"@organization_types = organization_types"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","path":"TwentyFiveLivePro/Models/PaginatedResponse.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L42"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse","name":"PaginatedResponse"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L38"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content/Data","path":"TwentyFiveLivePro/Models/PaginatedResponse/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/PaginatedResponse/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::PaginatedResponse::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"current_item_count:Int64-instance-method","name":"current_item_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count","return_type":"Int64","visibility":"Public","body":"@current_item_count"}},{"html_id":"current_item_count=(current_item_count:Int64)-instance-method","name":"current_item_count=","abstract":false,"args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"args_string":"(current_item_count : Int64)","args_html":"(current_item_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L28"},"def":{"name":"current_item_count=","args":[{"name":"current_item_count","external_name":"current_item_count","restriction":"Int64"}],"visibility":"Public","body":"@current_item_count = current_item_count"}},{"html_id":"items_per_page:Int64-instance-method","name":"items_per_page","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page","return_type":"Int64","visibility":"Public","body":"@items_per_page"}},{"html_id":"items_per_page=(items_per_page:Int64)-instance-method","name":"items_per_page=","abstract":false,"args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"args_string":"(items_per_page : Int64)","args_html":"(items_per_page : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L31"},"def":{"name":"items_per_page=","args":[{"name":"items_per_page","external_name":"items_per_page","restriction":"Int64"}],"visibility":"Public","body":"@items_per_page = items_per_page"}},{"html_id":"page_index:Int64-instance-method","name":"page_index","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index","return_type":"Int64","visibility":"Public","body":"@page_index"}},{"html_id":"page_index=(page_index:Int64)-instance-method","name":"page_index=","abstract":false,"args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"args_string":"(page_index : Int64)","args_html":"(page_index : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L19"},"def":{"name":"page_index=","args":[{"name":"page_index","external_name":"page_index","restriction":"Int64"}],"visibility":"Public","body":"@page_index = page_index"}},{"html_id":"paginate_key:Int64-instance-method","name":"paginate_key","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key","return_type":"Int64","visibility":"Public","body":"@paginate_key"}},{"html_id":"paginate_key=(paginate_key:Int64)-instance-method","name":"paginate_key=","abstract":false,"args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"args_string":"(paginate_key : Int64)","args_html":"(paginate_key : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L16"},"def":{"name":"paginate_key=","args":[{"name":"paginate_key","external_name":"paginate_key","restriction":"Int64"}],"visibility":"Public","body":"@paginate_key = paginate_key"}},{"html_id":"paging_link_template:String-instance-method","name":"paging_link_template","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template","return_type":"String","visibility":"Public","body":"@paging_link_template"}},{"html_id":"paging_link_template=(paging_link_template:String)-instance-method","name":"paging_link_template=","abstract":false,"args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"args_string":"(paging_link_template : String)","args_html":"(paging_link_template : String)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L34"},"def":{"name":"paging_link_template=","args":[{"name":"paging_link_template","external_name":"paging_link_template","restriction":"String"}],"visibility":"Public","body":"@paging_link_template = paging_link_template"}},{"html_id":"total_items:Int64-instance-method","name":"total_items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items","return_type":"Int64","visibility":"Public","body":"@total_items"}},{"html_id":"total_items=(total_items:Int64)-instance-method","name":"total_items=","abstract":false,"args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"args_string":"(total_items : Int64)","args_html":"(total_items : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L25"},"def":{"name":"total_items=","args":[{"name":"total_items","external_name":"total_items","restriction":"Int64"}],"visibility":"Public","body":"@total_items = total_items"}},{"html_id":"total_pages:Int64-instance-method","name":"total_pages","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages","return_type":"Int64","visibility":"Public","body":"@total_pages"}},{"html_id":"total_pages=(total_pages:Int64)-instance-method","name":"total_pages=","abstract":false,"args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"args_string":"(total_pages : Int64)","args_html":"(total_pages : Int64)","location":{"filename":"src/twenty_five_live_pro/models/paginated_response.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/paginated_response.cr#L22"},"def":{"name":"total_pages=","args":[{"name":"total_pages","external_name":"total_pages","restriction":"Int64"}],"visibility":"Public","body":"@total_pages = total_pages"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","path":"TwentyFiveLivePro/Models/Reservations.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"engine:String|Nil-instance-method","name":"engine","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine","return_type":"String | ::Nil","visibility":"Public","body":"@engine"}},{"html_id":"engine=(engine:String|Nil)-instance-method","name":"engine=","abstract":false,"args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"args_string":"(engine : String | Nil)","args_html":"(engine : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L9"},"def":{"name":"engine=","args":[{"name":"engine","external_name":"engine","restriction":"String | ::Nil"}],"visibility":"Public","body":"@engine = engine"}},{"html_id":"reservation:Array(Data)-instance-method","name":"reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation","return_type":"Array(Data)","visibility":"Public","body":"@reservation"}},{"html_id":"reservation=(reservation:Array(Data))-instance-method","name":"reservation=","abstract":false,"args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"args_string":"(reservation : Array(Data))","args_html":"(reservation : Array(Data))","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":140,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L140"},"def":{"name":"reservation=","args":[{"name":"reservation","external_name":"reservation","restriction":"Array(Data)"}],"visibility":"Public","body":"@reservation = reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","path":"TwentyFiveLivePro/Models/Reservations/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations","name":"Reservations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"event_end_dt:Date-instance-method","name":"event_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt","return_type":"Date","visibility":"Public","body":"@event_end_dt"}},{"html_id":"event_end_dt=(event_end_dt:Date)-instance-method","name":"event_end_dt=","abstract":false,"args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"args_string":"(event_end_dt : Date)","args_html":"(event_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L21"},"def":{"name":"event_end_dt=","args":[{"name":"event_end_dt","external_name":"event_end_dt","restriction":"Date"}],"visibility":"Public","body":"@event_end_dt = event_end_dt"}},{"html_id":"event_id:Int64-instance-method","name":"event_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id","return_type":"Int64","visibility":"Public","body":"@event_id"}},{"html_id":"event_id=(event_id:Int64)-instance-method","name":"event_id=","abstract":false,"args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"args_string":"(event_id : Int64)","args_html":"(event_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":112,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L112"},"def":{"name":"event_id=","args":[{"name":"event_id","external_name":"event_id","restriction":"Int64"}],"visibility":"Public","body":"@event_id = event_id"}},{"html_id":"event_locator:String|Nil-instance-method","name":"event_locator","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator","return_type":"String | ::Nil","visibility":"Public","body":"@event_locator"}},{"html_id":"event_locator=(event_locator:String|Nil)-instance-method","name":"event_locator=","abstract":false,"args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"args_string":"(event_locator : String | Nil)","args_html":"(event_locator : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L88"},"def":{"name":"event_locator=","args":[{"name":"event_locator","external_name":"event_locator","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_locator = event_locator"}},{"html_id":"event_name:String|Nil-instance-method","name":"event_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_name"}},{"html_id":"event_name=(event_name:String|Nil)-instance-method","name":"event_name=","abstract":false,"args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"args_string":"(event_name : String | Nil)","args_html":"(event_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L130"},"def":{"name":"event_name=","args":[{"name":"event_name","external_name":"event_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_name = event_name"}},{"html_id":"event_start_dt:Date-instance-method","name":"event_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt","return_type":"Date","visibility":"Public","body":"@event_start_dt"}},{"html_id":"event_start_dt=(event_start_dt:Date)-instance-method","name":"event_start_dt=","abstract":false,"args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"args_string":"(event_start_dt : Date)","args_html":"(event_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":133,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L133"},"def":{"name":"event_start_dt=","args":[{"name":"event_start_dt","external_name":"event_start_dt","restriction":"Date"}],"visibility":"Public","body":"@event_start_dt = event_start_dt"}},{"html_id":"event_title:String|Nil-instance-method","name":"event_title","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title","return_type":"String | ::Nil","visibility":"Public","body":"@event_title"}},{"html_id":"event_title=(event_title:String|Nil)-instance-method","name":"event_title=","abstract":false,"args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"args_string":"(event_title : String | Nil)","args_html":"(event_title : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L82"},"def":{"name":"event_title=","args":[{"name":"event_title","external_name":"event_title","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_title = event_title"}},{"html_id":"event_type_class:String|Nil-instance-method","name":"event_type_class","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_class"}},{"html_id":"event_type_class=(event_type_class:String|Nil)-instance-method","name":"event_type_class=","abstract":false,"args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"args_string":"(event_type_class : String | Nil)","args_html":"(event_type_class : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L94"},"def":{"name":"event_type_class=","args":[{"name":"event_type_class","external_name":"event_type_class","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_class = event_type_class"}},{"html_id":"event_type_name:String|Nil-instance-method","name":"event_type_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name","return_type":"String | ::Nil","visibility":"Public","body":"@event_type_name"}},{"html_id":"event_type_name=(event_type_name:String|Nil)-instance-method","name":"event_type_name=","abstract":false,"args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"args_string":"(event_type_name : String | Nil)","args_html":"(event_type_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":97,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L97"},"def":{"name":"event_type_name=","args":[{"name":"event_type_name","external_name":"event_type_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@event_type_name = event_type_name"}},{"html_id":"expected_count:Int64-instance-method","name":"expected_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count","return_type":"Int64","visibility":"Public","body":"@expected_count"}},{"html_id":"expected_count=(expected_count:Int64)-instance-method","name":"expected_count=","abstract":false,"args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"args_string":"(expected_count : Int64)","args_html":"(expected_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L33"},"def":{"name":"expected_count=","args":[{"name":"expected_count","external_name":"expected_count","restriction":"Int64"}],"visibility":"Public","body":"@expected_count = expected_count"}},{"html_id":"last_mod_dt:Date-instance-method","name":"last_mod_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt","return_type":"Date","visibility":"Public","body":"@last_mod_dt"}},{"html_id":"last_mod_dt=(last_mod_dt:Date)-instance-method","name":"last_mod_dt=","abstract":false,"args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"args_string":"(last_mod_dt : Date)","args_html":"(last_mod_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L39"},"def":{"name":"last_mod_dt=","args":[{"name":"last_mod_dt","external_name":"last_mod_dt","restriction":"Date"}],"visibility":"Public","body":"@last_mod_dt = last_mod_dt"}},{"html_id":"last_mod_user:String|Nil-instance-method","name":"last_mod_user","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user","return_type":"String | ::Nil","visibility":"Public","body":"@last_mod_user"}},{"html_id":"last_mod_user=(last_mod_user:String|Nil)-instance-method","name":"last_mod_user=","abstract":false,"args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"args_string":"(last_mod_user : String | Nil)","args_html":"(last_mod_user : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L127"},"def":{"name":"last_mod_user=","args":[{"name":"last_mod_user","external_name":"last_mod_user","restriction":"String | ::Nil"}],"visibility":"Public","body":"@last_mod_user = last_mod_user"}},{"html_id":"organization_id:Int64-instance-method","name":"organization_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id","return_type":"Int64","visibility":"Public","body":"@organization_id"}},{"html_id":"organization_id=(organization_id:Int64)-instance-method","name":"organization_id=","abstract":false,"args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"args_string":"(organization_id : Int64)","args_html":"(organization_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L118"},"def":{"name":"organization_id=","args":[{"name":"organization_id","external_name":"organization_id","restriction":"Int64"}],"visibility":"Public","body":"@organization_id = organization_id"}},{"html_id":"organization_name:String|Nil-instance-method","name":"organization_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name","return_type":"String | ::Nil","visibility":"Public","body":"@organization_name"}},{"html_id":"organization_name=(organization_name:String|Nil)-instance-method","name":"organization_name=","abstract":false,"args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"args_string":"(organization_name : String | Nil)","args_html":"(organization_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L91"},"def":{"name":"organization_name=","args":[{"name":"organization_name","external_name":"organization_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@organization_name = organization_name"}},{"html_id":"post_event_dt:Date-instance-method","name":"post_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt","return_type":"Date","visibility":"Public","body":"@post_event_dt"}},{"html_id":"post_event_dt=(post_event_dt:Date)-instance-method","name":"post_event_dt=","abstract":false,"args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"args_string":"(post_event_dt : Date)","args_html":"(post_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L15"},"def":{"name":"post_event_dt=","args":[{"name":"post_event_dt","external_name":"post_event_dt","restriction":"Date"}],"visibility":"Public","body":"@post_event_dt = post_event_dt"}},{"html_id":"pre_event_dt:Date-instance-method","name":"pre_event_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt","return_type":"Date","visibility":"Public","body":"@pre_event_dt"}},{"html_id":"pre_event_dt=(pre_event_dt:Date)-instance-method","name":"pre_event_dt=","abstract":false,"args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"args_string":"(pre_event_dt : Date)","args_html":"(pre_event_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L109"},"def":{"name":"pre_event_dt=","args":[{"name":"pre_event_dt","external_name":"pre_event_dt","restriction":"Date"}],"visibility":"Public","body":"@pre_event_dt = pre_event_dt"}},{"html_id":"profile_description:String-instance-method","name":"profile_description","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description","return_type":"String","visibility":"Public","body":"@profile_description"}},{"html_id":"profile_description=(profile_description:String)-instance-method","name":"profile_description=","abstract":false,"args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"args_string":"(profile_description : String)","args_html":"(profile_description : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L24"},"def":{"name":"profile_description=","args":[{"name":"profile_description","external_name":"profile_description","restriction":"String"}],"visibility":"Public","body":"@profile_description = profile_description"}},{"html_id":"profile_id:Int64-instance-method","name":"profile_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id","return_type":"Int64","visibility":"Public","body":"@profile_id"}},{"html_id":"profile_id=(profile_id:Int64)-instance-method","name":"profile_id=","abstract":false,"args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"args_string":"(profile_id : Int64)","args_html":"(profile_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":115,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L115"},"def":{"name":"profile_id=","args":[{"name":"profile_id","external_name":"profile_id","restriction":"Int64"}],"visibility":"Public","body":"@profile_id = profile_id"}},{"html_id":"profile_name:String|Nil-instance-method","name":"profile_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name","return_type":"String | ::Nil","visibility":"Public","body":"@profile_name"}},{"html_id":"profile_name=(profile_name:String|Nil)-instance-method","name":"profile_name=","abstract":false,"args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"args_string":"(profile_name : String | Nil)","args_html":"(profile_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L27"},"def":{"name":"profile_name=","args":[{"name":"profile_name","external_name":"profile_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@profile_name = profile_name"}},{"html_id":"registered_count:Int64-instance-method","name":"registered_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count","return_type":"Int64","visibility":"Public","body":"@registered_count"}},{"html_id":"registered_count=(registered_count:Int64)-instance-method","name":"registered_count=","abstract":false,"args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"args_string":"(registered_count : Int64)","args_html":"(registered_count : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":124,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L124"},"def":{"name":"registered_count=","args":[{"name":"registered_count","external_name":"registered_count","restriction":"Int64"}],"visibility":"Public","body":"@registered_count = registered_count"}},{"html_id":"registration_label:String|Nil-instance-method","name":"registration_label","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label","return_type":"String | ::Nil","visibility":"Public","body":"@registration_label"}},{"html_id":"registration_label=(registration_label:String|Nil)-instance-method","name":"registration_label=","abstract":false,"args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"args_string":"(registration_label : String | Nil)","args_html":"(registration_label : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L136"},"def":{"name":"registration_label=","args":[{"name":"registration_label","external_name":"registration_label","restriction":"String | ::Nil"}],"visibility":"Public","body":"@registration_label = registration_label"}},{"html_id":"registration_url:String-instance-method","name":"registration_url","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url","return_type":"String","visibility":"Public","body":"@registration_url"}},{"html_id":"registration_url=(registration_url:String)-instance-method","name":"registration_url=","abstract":false,"args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"args_string":"(registration_url : String)","args_html":"(registration_url : String)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L18"},"def":{"name":"registration_url=","args":[{"name":"registration_url","external_name":"registration_url","restriction":"String"}],"visibility":"Public","body":"@registration_url = registration_url"}},{"html_id":"reservation_comment_id:String|Nil-instance-method","name":"reservation_comment_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comment_id"}},{"html_id":"reservation_comment_id=(reservation_comment_id:String|Nil)-instance-method","name":"reservation_comment_id=","abstract":false,"args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"args_string":"(reservation_comment_id : String | Nil)","args_html":"(reservation_comment_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L30"},"def":{"name":"reservation_comment_id=","args":[{"name":"reservation_comment_id","external_name":"reservation_comment_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comment_id = reservation_comment_id"}},{"html_id":"reservation_comments:String|Nil-instance-method","name":"reservation_comments","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_comments"}},{"html_id":"reservation_comments=(reservation_comments:String|Nil)-instance-method","name":"reservation_comments=","abstract":false,"args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"args_string":"(reservation_comments : String | Nil)","args_html":"(reservation_comments : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L103"},"def":{"name":"reservation_comments=","args":[{"name":"reservation_comments","external_name":"reservation_comments","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_comments = reservation_comments"}},{"html_id":"reservation_end_dt:Date-instance-method","name":"reservation_end_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt","return_type":"Date","visibility":"Public","body":"@reservation_end_dt"}},{"html_id":"reservation_end_dt=(reservation_end_dt:Date)-instance-method","name":"reservation_end_dt=","abstract":false,"args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"args_string":"(reservation_end_dt : Date)","args_html":"(reservation_end_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L121"},"def":{"name":"reservation_end_dt=","args":[{"name":"reservation_end_dt","external_name":"reservation_end_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_end_dt = reservation_end_dt"}},{"html_id":"reservation_id:Int64-instance-method","name":"reservation_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id","return_type":"Int64","visibility":"Public","body":"@reservation_id"}},{"html_id":"reservation_id=(reservation_id:Int64)-instance-method","name":"reservation_id=","abstract":false,"args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"args_string":"(reservation_id : Int64)","args_html":"(reservation_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L106"},"def":{"name":"reservation_id=","args":[{"name":"reservation_id","external_name":"reservation_id","restriction":"Int64"}],"visibility":"Public","body":"@reservation_id = reservation_id"}},{"html_id":"reservation_start_dt:Date-instance-method","name":"reservation_start_dt","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt","return_type":"Date","visibility":"Public","body":"@reservation_start_dt"}},{"html_id":"reservation_start_dt=(reservation_start_dt:Date)-instance-method","name":"reservation_start_dt=","abstract":false,"args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"args_string":"(reservation_start_dt : Date)","args_html":"(reservation_start_dt : Date)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L100"},"def":{"name":"reservation_start_dt=","args":[{"name":"reservation_start_dt","external_name":"reservation_start_dt","restriction":"Date"}],"visibility":"Public","body":"@reservation_start_dt = reservation_start_dt"}},{"html_id":"reservation_state:Int64-instance-method","name":"reservation_state","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state","return_type":"Int64","visibility":"Public","body":"@reservation_state"}},{"html_id":"reservation_state=(reservation_state:Int64)-instance-method","name":"reservation_state=","abstract":false,"args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"args_string":"(reservation_state : Int64)","args_html":"(reservation_state : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L85"},"def":{"name":"reservation_state=","args":[{"name":"reservation_state","external_name":"reservation_state","restriction":"Int64"}],"visibility":"Public","body":"@reservation_state = reservation_state"}},{"html_id":"reservation_state_name:String|Nil-instance-method","name":"reservation_state_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name","return_type":"String | ::Nil","visibility":"Public","body":"@reservation_state_name"}},{"html_id":"reservation_state_name=(reservation_state_name:String|Nil)-instance-method","name":"reservation_state_name=","abstract":false,"args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"args_string":"(reservation_state_name : String | Nil)","args_html":"(reservation_state_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L36"},"def":{"name":"reservation_state_name=","args":[{"name":"reservation_state_name","external_name":"reservation_state_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@reservation_state_name = reservation_state_name"}},{"html_id":"space_reservation:Space-instance-method","name":"space_reservation","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation","return_type":"Space","visibility":"Public","body":"@space_reservation"}},{"html_id":"space_reservation=(space_reservation:Space)-instance-method","name":"space_reservation=","abstract":false,"args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"args_string":"(space_reservation : Space)","args_html":"(space_reservation : Space)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L79"},"def":{"name":"space_reservation=","args":[{"name":"space_reservation","external_name":"space_reservation","restriction":"Space"}],"visibility":"Public","body":"@space_reservation = space_reservation"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data/Space","path":"TwentyFiveLivePro/Models/Reservations/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L41"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/Reservations/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::Reservations::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L42"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"actual_count:String|Nil-instance-method","name":"actual_count","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count","return_type":"String | ::Nil","visibility":"Public","body":"@actual_count"}},{"html_id":"actual_count=(actual_count:String|Nil)-instance-method","name":"actual_count=","abstract":false,"args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"args_string":"(actual_count : String | Nil)","args_html":"(actual_count : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L69"},"def":{"name":"actual_count=","args":[{"name":"actual_count","external_name":"actual_count","restriction":"String | ::Nil"}],"visibility":"Public","body":"@actual_count = actual_count"}},{"html_id":"default_layout_capacity:String|Nil-instance-method","name":"default_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity","return_type":"String | ::Nil","visibility":"Public","body":"@default_layout_capacity"}},{"html_id":"default_layout_capacity=(default_layout_capacity:String|Nil)-instance-method","name":"default_layout_capacity=","abstract":false,"args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"args_string":"(default_layout_capacity : String | Nil)","args_html":"(default_layout_capacity : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L45"},"def":{"name":"default_layout_capacity=","args":[{"name":"default_layout_capacity","external_name":"default_layout_capacity","restriction":"String | ::Nil"}],"visibility":"Public","body":"@default_layout_capacity = default_layout_capacity"}},{"html_id":"formal_name:String|Nil-instance-method","name":"formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@formal_name"}},{"html_id":"formal_name=(formal_name:String|Nil)-instance-method","name":"formal_name=","abstract":false,"args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"args_string":"(formal_name : String | Nil)","args_html":"(formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L75"},"def":{"name":"formal_name=","args":[{"name":"formal_name","external_name":"formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@formal_name = formal_name"}},{"html_id":"layout_id:Int64-instance-method","name":"layout_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id","return_type":"Int64","visibility":"Public","body":"@layout_id"}},{"html_id":"layout_id=(layout_id:Int64)-instance-method","name":"layout_id=","abstract":false,"args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"args_string":"(layout_id : Int64)","args_html":"(layout_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L51"},"def":{"name":"layout_id=","args":[{"name":"layout_id","external_name":"layout_id","restriction":"Int64"}],"visibility":"Public","body":"@layout_id = layout_id"}},{"html_id":"layout_name:String|Nil-instance-method","name":"layout_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name","return_type":"String | ::Nil","visibility":"Public","body":"@layout_name"}},{"html_id":"layout_name=(layout_name:String|Nil)-instance-method","name":"layout_name=","abstract":false,"args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"args_string":"(layout_name : String | Nil)","args_html":"(layout_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L54"},"def":{"name":"layout_name=","args":[{"name":"layout_name","external_name":"layout_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@layout_name = layout_name"}},{"html_id":"selected_layout_capacity:Int64-instance-method","name":"selected_layout_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity","return_type":"Int64","visibility":"Public","body":"@selected_layout_capacity"}},{"html_id":"selected_layout_capacity=(selected_layout_capacity:Int64)-instance-method","name":"selected_layout_capacity=","abstract":false,"args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"args_string":"(selected_layout_capacity : Int64)","args_html":"(selected_layout_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":66,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L66"},"def":{"name":"selected_layout_capacity=","args":[{"name":"selected_layout_capacity","external_name":"selected_layout_capacity","restriction":"Int64"}],"visibility":"Public","body":"@selected_layout_capacity = selected_layout_capacity"}},{"html_id":"shared:String|Nil-instance-method","name":"shared","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared","return_type":"String | ::Nil","visibility":"Public","body":"@shared"}},{"html_id":"shared=(shared:String|Nil)-instance-method","name":"shared=","abstract":false,"args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"args_string":"(shared : String | Nil)","args_html":"(shared : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L48"},"def":{"name":"shared=","args":[{"name":"shared","external_name":"shared","restriction":"String | ::Nil"}],"visibility":"Public","body":"@shared = shared"}},{"html_id":"space_id:Int64-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id","return_type":"Int64","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:Int64)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"args_string":"(space_id : Int64)","args_html":"(space_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L72"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"Int64"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"space_instruction_id:String|Nil-instance-method","name":"space_instruction_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_instruction_id"}},{"html_id":"space_instruction_id=(space_instruction_id:String|Nil)-instance-method","name":"space_instruction_id=","abstract":false,"args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"args_string":"(space_instruction_id : String | Nil)","args_html":"(space_instruction_id : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L63"},"def":{"name":"space_instruction_id=","args":[{"name":"space_instruction_id","external_name":"space_instruction_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instruction_id = space_instruction_id"}},{"html_id":"space_instructions:String|Nil-instance-method","name":"space_instructions","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions","return_type":"String | ::Nil","visibility":"Public","body":"@space_instructions"}},{"html_id":"space_instructions=(space_instructions:String|Nil)-instance-method","name":"space_instructions=","abstract":false,"args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"args_string":"(space_instructions : String | Nil)","args_html":"(space_instructions : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L57"},"def":{"name":"space_instructions=","args":[{"name":"space_instructions","external_name":"space_instructions","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_instructions = space_instructions"}},{"html_id":"space_name:String|Nil-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String|Nil)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"args_string":"(space_name : String | Nil)","args_html":"(space_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/reservations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/reservations.cr#L60"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_name = space_name"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Resource","path":"TwentyFiveLivePro/Models/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L21"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource.cr#L18"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","path":"TwentyFiveLivePro/Models/ResourceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L9"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L64"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","path":"TwentyFiveLivePro/Models/ResourceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L11"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail","name":"ResourceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L12"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L47"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:Array(ExpandedInfo)|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info","return_type":"Array(ExpandedInfo) | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:Array(ExpandedInfo)|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"args_string":"(expanded_info : Array(ExpandedInfo) | Nil)","args_html":"(expanded_info : Array(ExpandedInfo) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L60"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"Array(ExpandedInfo) | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L15"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L18"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Resource)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items","return_type":"Array(Resource)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Resource))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"args_string":"(items : Array(Resource))","args_html":"(items : Array(Resource))","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L43"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Resource)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/Data/Resource.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data::Resource","name":"Resource","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L23"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L24"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L33"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L30"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L27"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"resource_name:String-instance-method","name":"resource_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name","return_type":"String","visibility":"Public","body":"@resource_name"}},{"html_id":"resource_name=(resource_name:String)-instance-method","name":"resource_name=","abstract":false,"args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"args_string":"(resource_name : String)","args_html":"(resource_name : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L36"},"def":{"name":"resource_name=","args":[{"name":"resource_name","external_name":"resource_name","restriction":"String"}],"visibility":"Public","body":"@resource_name = resource_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L39"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/ResourceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L49"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/ResourceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::ResourceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L50"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/resource_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/resource_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Role","path":"TwentyFiveLivePro/Models/Role.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Role","name":"Role","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"contact_id:Int64-instance-method","name":"contact_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id","return_type":"Int64","visibility":"Public","body":"@contact_id"}},{"html_id":"contact_id=(contact_id:Int64)-instance-method","name":"contact_id=","abstract":false,"args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"args_string":"(contact_id : Int64)","args_html":"(contact_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L12"},"def":{"name":"contact_id=","args":[{"name":"contact_id","external_name":"contact_id","restriction":"Int64"}],"visibility":"Public","body":"@contact_id = contact_id"}},{"html_id":"role_id:Int64-instance-method","name":"role_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id","return_type":"Int64","visibility":"Public","body":"@role_id"}},{"html_id":"role_id=(role_id:Int64)-instance-method","name":"role_id=","abstract":false,"args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"args_string":"(role_id : Int64)","args_html":"(role_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/role.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/role.cr#L9"},"def":{"name":"role_id=","args":[{"name":"role_id","external_name":"role_id","restriction":"Int64"}],"visibility":"Public","body":"@role_id = role_id"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/Space","path":"TwentyFiveLivePro/Models/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"can_request:Bool-instance-method","name":"can_request","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request","return_type":"Bool","visibility":"Public","body":"@can_request"}},{"html_id":"can_request=(can_request:Bool)-instance-method","name":"can_request=","abstract":false,"args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"args_string":"(can_request : Bool)","args_html":"(can_request : Bool)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L27"},"def":{"name":"can_request=","args":[{"name":"can_request","external_name":"can_request","restriction":"Bool"}],"visibility":"Public","body":"@can_request = can_request"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L15"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L12"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L9"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L24"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L21"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space.cr#L18"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","path":"TwentyFiveLivePro/Models/SpaceDetail.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models","kind":"module","full_name":"TwentyFiveLivePro::Models","name":"Models"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L8"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"content:Content-instance-method","name":"content","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content","return_type":"Content","visibility":"Public","body":"@content"}},{"html_id":"content=(content:Content)-instance-method","name":"content=","abstract":false,"args":[{"name":"content","external_name":"content","restriction":"Content"}],"args_string":"(content : Content)","args_html":"(content : Content)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":96,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L96"},"def":{"name":"content=","args":[{"name":"content","external_name":"content","restriction":"Content"}],"visibility":"Public","body":"@content = content"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","path":"TwentyFiveLivePro/Models/SpaceDetail/Content.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail","name":"SpaceDetail"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L11"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"data:Data-instance-method","name":"data","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data","return_type":"Data","visibility":"Public","body":"@data"}},{"html_id":"data=(data:Data)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"Data"}],"args_string":"(data : Data)","args_html":"(data : Data)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L67"},"def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"Data"}],"visibility":"Public","body":"@data = data"}},{"html_id":"expanded_info:ExpandedInfo|Nil-instance-method","name":"expanded_info","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info","return_type":"ExpandedInfo | ::Nil","visibility":"Public","body":"@expanded_info"}},{"html_id":"expanded_info=(expanded_info:ExpandedInfo|Nil)-instance-method","name":"expanded_info=","abstract":false,"args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"args_string":"(expanded_info : ExpandedInfo | Nil)","args_html":"(expanded_info : ExpandedInfo | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L92"},"def":{"name":"expanded_info=","args":[{"name":"expanded_info","external_name":"expanded_info","restriction":"ExpandedInfo | ::Nil"}],"visibility":"Public","body":"@expanded_info = expanded_info"}},{"html_id":"request_id:Int64-instance-method","name":"request_id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id","return_type":"Int64","visibility":"Public","body":"@request_id"}},{"html_id":"request_id=(request_id:Int64)-instance-method","name":"request_id=","abstract":false,"args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"args_string":"(request_id : Int64)","args_html":"(request_id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L14"},"def":{"name":"request_id=","args":[{"name":"request_id","external_name":"request_id","restriction":"Int64"}],"visibility":"Public","body":"@request_id = request_id"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L17"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":19,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L19"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L20"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"items:Array(Space)-instance-method","name":"items","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items","return_type":"Array(Space)","visibility":"Public","body":"@items"}},{"html_id":"items=(items:Array(Space))-instance-method","name":"items=","abstract":false,"args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"args_string":"(items : Array(Space))","args_html":"(items : Array(Space))","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L63"},"def":{"name":"items=","args":[{"name":"items","external_name":"items","restriction":"Array(Space)"}],"visibility":"Public","body":"@items = items"}}],"types":[{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/Data/Space.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L22"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/Data","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::Data","name":"Data"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L23"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes","return_type":"Array(Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"args_string":"(attributes : Array(Attribute) | Nil)","args_html":"(attributes : Array(Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L56"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories","return_type":"Array(Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"args_string":"(categories : Array(Category) | Nil)","args_html":"(categories : Array(Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L53"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"etag:String-instance-method","name":"etag","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag","return_type":"String","visibility":"Public","body":"@etag"}},{"html_id":"etag=(etag:String)-instance-method","name":"etag=","abstract":false,"args":[{"name":"etag","external_name":"etag","restriction":"String"}],"args_string":"(etag : String)","args_html":"(etag : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L32"},"def":{"name":"etag=","args":[{"name":"etag","external_name":"etag","restriction":"String"}],"visibility":"Public","body":"@etag = etag"}},{"html_id":"features:Array(Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features","return_type":"Array(Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"args_string":"(features : Array(Feature) | Nil)","args_html":"(features : Array(Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L50"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"id:Int64-instance-method","name":"id","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id","return_type":"Int64","visibility":"Public","body":"@id"}},{"html_id":"id=(id:Int64)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"Int64"}],"args_string":"(id : Int64)","args_html":"(id : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L29"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"Int64"}],"visibility":"Public","body":"@id = id"}},{"html_id":"kind:String-instance-method","name":"kind","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind","return_type":"String","visibility":"Public","body":"@kind"}},{"html_id":"kind=(kind:String)-instance-method","name":"kind=","abstract":false,"args":[{"name":"kind","external_name":"kind","restriction":"String"}],"args_string":"(kind : String)","args_html":"(kind : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L26"},"def":{"name":"kind=","args":[{"name":"kind","external_name":"kind","restriction":"String"}],"visibility":"Public","body":"@kind = kind"}},{"html_id":"layouts:Array(Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts","return_type":"Array(Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"args_string":"(layouts : Array(Layout) | Nil)","args_html":"(layouts : Array(Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L47"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"max_capacity:Int64-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity","return_type":"Int64","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:Int64)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"args_string":"(max_capacity : Int64)","args_html":"(max_capacity : Int64)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L41"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"Int64"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"roles:Array(Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles","return_type":"Array(Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"args_string":"(roles : Array(Role) | Nil)","args_html":"(roles : Array(Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L59"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}},{"html_id":"space_formal_name:String|Nil-instance-method","name":"space_formal_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name","return_type":"String | ::Nil","visibility":"Public","body":"@space_formal_name"}},{"html_id":"space_formal_name=(space_formal_name:String|Nil)-instance-method","name":"space_formal_name=","abstract":false,"args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"args_string":"(space_formal_name : String | Nil)","args_html":"(space_formal_name : String | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L38"},"def":{"name":"space_formal_name=","args":[{"name":"space_formal_name","external_name":"space_formal_name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_formal_name = space_formal_name"}},{"html_id":"space_name:String-instance-method","name":"space_name","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name","return_type":"String","visibility":"Public","body":"@space_name"}},{"html_id":"space_name=(space_name:String)-instance-method","name":"space_name=","abstract":false,"args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"args_string":"(space_name : String)","args_html":"(space_name : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L35"},"def":{"name":"space_name=","args":[{"name":"space_name","external_name":"space_name","restriction":"String"}],"visibility":"Public","body":"@space_name = space_name"}},{"html_id":"updated:String-instance-method","name":"updated","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated","return_type":"String","visibility":"Public","body":"@updated"}},{"html_id":"updated=(updated:String)-instance-method","name":"updated=","abstract":false,"args":[{"name":"updated","external_name":"updated","restriction":"String"}],"args_string":"(updated : String)","args_html":"(updated : String)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L44"},"def":{"name":"updated=","args":[{"name":"updated","external_name":"updated","restriction":"String"}],"visibility":"Public","body":"@updated = updated"}}]}]},{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo","path":"TwentyFiveLivePro/Models/SpaceDetail/Content/ExpandedInfo.html","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content::ExpandedInfo","name":"ExpandedInfo","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L69"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/TwentyFiveLivePro/Models/SpaceDetail/Content","kind":"struct","full_name":"TwentyFiveLivePro::Models::SpaceDetail::Content","name":"Content"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L70"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"attributes:Array(Expanded::Attribute)|Nil-instance-method","name":"attributes","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes","return_type":"Array(Expanded::Attribute) | ::Nil","visibility":"Public","body":"@attributes"}},{"html_id":"attributes=(attributes:Array(Expanded::Attribute)|Nil)-instance-method","name":"attributes=","abstract":false,"args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"args_string":"(attributes : Array(Expanded::Attribute) | Nil)","args_html":"(attributes : Array(Expanded::Attribute) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L82"},"def":{"name":"attributes=","args":[{"name":"attributes","external_name":"attributes","restriction":"Array(Expanded::Attribute) | ::Nil"}],"visibility":"Public","body":"@attributes = attributes"}},{"html_id":"categories:Array(Expanded::Category)|Nil-instance-method","name":"categories","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories","return_type":"Array(Expanded::Category) | ::Nil","visibility":"Public","body":"@categories"}},{"html_id":"categories=(categories:Array(Expanded::Category)|Nil)-instance-method","name":"categories=","abstract":false,"args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"args_string":"(categories : Array(Expanded::Category) | Nil)","args_html":"(categories : Array(Expanded::Category) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":79,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L79"},"def":{"name":"categories=","args":[{"name":"categories","external_name":"categories","restriction":"Array(Expanded::Category) | ::Nil"}],"visibility":"Public","body":"@categories = categories"}},{"html_id":"contacts:Array(Expanded::Contact)|Nil-instance-method","name":"contacts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts","return_type":"Array(Expanded::Contact) | ::Nil","visibility":"Public","body":"@contacts"}},{"html_id":"contacts=(contacts:Array(Expanded::Contact)|Nil)-instance-method","name":"contacts=","abstract":false,"args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"args_string":"(contacts : Array(Expanded::Contact) | Nil)","args_html":"(contacts : Array(Expanded::Contact) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L88"},"def":{"name":"contacts=","args":[{"name":"contacts","external_name":"contacts","restriction":"Array(Expanded::Contact) | ::Nil"}],"visibility":"Public","body":"@contacts = contacts"}},{"html_id":"features:Array(Expanded::Feature)|Nil-instance-method","name":"features","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features","return_type":"Array(Expanded::Feature) | ::Nil","visibility":"Public","body":"@features"}},{"html_id":"features=(features:Array(Expanded::Feature)|Nil)-instance-method","name":"features=","abstract":false,"args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"args_string":"(features : Array(Expanded::Feature) | Nil)","args_html":"(features : Array(Expanded::Feature) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L76"},"def":{"name":"features=","args":[{"name":"features","external_name":"features","restriction":"Array(Expanded::Feature) | ::Nil"}],"visibility":"Public","body":"@features = features"}},{"html_id":"layouts:Array(Expanded::Layout)|Nil-instance-method","name":"layouts","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts","return_type":"Array(Expanded::Layout) | ::Nil","visibility":"Public","body":"@layouts"}},{"html_id":"layouts=(layouts:Array(Expanded::Layout)|Nil)-instance-method","name":"layouts=","abstract":false,"args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"args_string":"(layouts : Array(Expanded::Layout) | Nil)","args_html":"(layouts : Array(Expanded::Layout) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L73"},"def":{"name":"layouts=","args":[{"name":"layouts","external_name":"layouts","restriction":"Array(Expanded::Layout) | ::Nil"}],"visibility":"Public","body":"@layouts = layouts"}},{"html_id":"roles:Array(Expanded::Role)|Nil-instance-method","name":"roles","abstract":false,"location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles","return_type":"Array(Expanded::Role) | ::Nil","visibility":"Public","body":"@roles"}},{"html_id":"roles=(roles:Array(Expanded::Role)|Nil)-instance-method","name":"roles=","abstract":false,"args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"args_string":"(roles : Array(Expanded::Role) | Nil)","args_html":"(roles : Array(Expanded::Role) | Nil)","location":{"filename":"src/twenty_five_live_pro/models/space_detail.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/models/space_detail.cr#L85"},"def":{"name":"roles=","args":[{"name":"roles","external_name":"roles","restriction":"Array(Expanded::Role) | ::Nil"}],"visibility":"Public","body":"@roles = roles"}}]}]}]}]},{"html_id":"drivers/TwentyFiveLivePro/RoomSchedule","path":"TwentyFiveLivePro/RoomSchedule.html","kind":"class","full_name":"TwentyFiveLivePro::RoomSchedule","name":"RoomSchedule","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/TwentyFiveLivePro","kind":"module","full_name":"TwentyFiveLivePro","name":"TwentyFiveLivePro"},"instance_methods":[{"html_id":"fetch_and_expose_todays_events-instance-method","name":"fetch_and_expose_todays_events","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L36"},"def":{"name":"fetch_and_expose_todays_events","visibility":"Public","body":"if @request_running\n return\nend\n@request_lock.synchronize do\n begin\n @request_running = true\n @next_countdown.try(&.cancel)\n @next_countdown = nil\n today = Time.local\n todays_events = fetch_events(today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y-%m-%d\"), today.to_s(\"%Y%m%d\"))\n todays_events.sort_by() do |__arg1|\n __arg1.date.duration\n end.reverse!\n todays_events.each_with_index do |e, i|\n if (todays_events.skip(i + 1)).find do |f|\n contains?(e, f)\n end\n e.container = true\n else\n e.container = false\n end\n end\n current_and_past_events, future_events = todays_events.partition do |e|\n Time.local > e.date.start_date\n end\n current_events, past_events = current_and_past_events.partition do |e|\n in_progress?(e)\n end\n if @debug\n self[:todays_upcoming_events] = future_events\n self[:todays_past_events] = past_events\n end\n next_event = future_events.min_by? do |__arg2|\n __arg2.date.start_date\n end\n previous_event = past_events.max_by? do |__arg3|\n __arg3.date.end_date\n end\n current_event = current_events.find do |e|\n !e.container\n end\n current_container_event = current_events.find(&.container)\n update_event_details(previous_event, current_event, next_event)\n advance_countdowns(previous_event, current_event, next_event, current_container_event)\n todays_events\n ensure\n @request_running = false\n end\nend\n"}},{"html_id":"fetch_events(start_date:String,end_date:String,since:String)-instance-method","name":"fetch_events","abstract":false,"args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"args_string":"(start_date : String, end_date : String, since : String)","args_html":"(start_date : String, end_date : String, since : String)","location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L80"},"def":{"name":"fetch_events","args":[{"name":"start_date","external_name":"start_date","restriction":"String"},{"name":"end_date","external_name":"end_date","restriction":"String"},{"name":"since","external_name":"since","restriction":"String"}],"visibility":"Public","body":"relevant_events = [] of Models::Event\nevents = Array(Models::Event).from_json((twenty_five_live_pro.list_events(1, 100, since, nil)).get.not_nil!.to_json)\nevents.each do |event|\n details = Models::EventDetail.from_json((twenty_five_live_pro.get_event_details(event.id, [\"all\"], [\"all\"])).get.not_nil!.to_json)\n if expanded_info = details.content.expanded_info\n if spaces = expanded_info.spaces\n if spaces.empty?\n next\n end\n if @space_id == spaces.first.space_id\n if event_data = details.content.data\n if event_items = event_data.items\n if event_items.empty?\n next\n end\n event_items.each do |event_item|\n if date = event_item.date\n if (date.start_date.to_rfc3339.includes?(start_date)) && (date.end_date.to_rfc3339.includes?(start_date))\n relevant_events.push(Models::Event.from_json(event_item.to_json))\n end\n end\n end\n end\n end\n end\n end\n end\nend\nrelevant_events\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/twenty_five_live_pro/room_schedule.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/twenty_five_live_pro/room_schedule.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@debug = (setting(Bool, :debug)) || false\n@space_id = setting(String, :twenty_five_live_pro_space_id)\n@cron_string = setting(String, :polling_cron)\nschedule.clear\nschedule.cron(@cron_string, immediate: true) do\n fetch_and_expose_todays_events\nend\n"}}]}]},{"html_id":"drivers/Union","path":"Union.html","kind":"struct","full_name":"Union(*T)","name":"Union","abstract":false,"superclass":{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},"ancestors":[{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/http-params-serializable/src/http-params-serializable/ext/union.cr","line_number":2,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/http-params-serializable/src/http-params-serializable/ext/union.cr#L2"},{"filename":"src/place/router/settings.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L170"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"FIXME: submit as PR to crystal standard lib to support this neatly","summary":"

FIXME submit as PR to crystal standard lib to support this neatly

","class_methods":[{"html_id":"from_json_object_key?(key:String)-class-method","name":"from_json_object_key?","abstract":false,"args":[{"name":"key","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/place/router/settings.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/place/router/settings.cr#L171"},"def":{"name":"from_json_object_key?","args":[{"name":"key","external_name":"key","restriction":"String"}],"visibility":"Public","body":"{% for t in T %}\n instance = {{ t }}.from_json_object_key? key\n return instance unless instance.nil?\n {% end %}\nraise(JSON::ParseException.new(\"Couldn't parse #{self} from #{key}\", 176, 0))\n"}}]},{"html_id":"drivers/Vecos","path":"Vecos.html","kind":"module","full_name":"Vecos","name":"Vecos","abstract":false,"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L3"},{"filename":"src/vecos/releezme/booking.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L3"},{"filename":"src/vecos/releezme/location.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L3"},{"filename":"src/vecos/releezme/locker.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L3"},{"filename":"src/vecos/releezme/locker_bank.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L3"},{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L4"},{"filename":"src/vecos/releezme/locker_group.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L3"},{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L3"},{"filename":"src/vecos/releezme/locker_users.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L3"},{"filename":"src/vecos/releezme/paging.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L3"},{"filename":"src/vecos/releezme/section.cr","line_number":3,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L3"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Vecos/Allocation","path":"Vecos/Allocation.html","kind":"struct","full_name":"Vecos::Allocation","name":"Allocation","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/allocation.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/allocation.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_by_locker_action_on_release?:Bool-instance-method","name":"allocated_by_locker_action_on_release?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L33"},"def":{"name":"allocated_by_locker_action_on_release?","return_type":"Bool","visibility":"Public","body":"@allocated_by_locker_action_on_release"}},{"html_id":"allocated_for_package?:Bool-instance-method","name":"allocated_for_package?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L30"},"def":{"name":"allocated_for_package?","return_type":"Bool","visibility":"Public","body":"@allocated_for_package"}},{"html_id":"dynamically_allocated?:Bool-instance-method","name":"dynamically_allocated?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":18,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L18"},"def":{"name":"dynamically_allocated?","return_type":"Bool","visibility":"Public","body":"@dynamically_allocated"}},{"html_id":"expiring:Time-instance-method","name":"expiring","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L24"},"def":{"name":"expiring","return_type":"Time","visibility":"Public","body":"@expiring"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L12"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"self_releasable?:Bool-instance-method","name":"self_releasable?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":15,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L15"},"def":{"name":"self_releasable?","return_type":"Bool","visibility":"Public","body":"@self_releasable"}},{"html_id":"shared_to_user?:Bool-instance-method","name":"shared_to_user?","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L27"},"def":{"name":"shared_to_user?","return_type":"Bool","visibility":"Public","body":"@shared_to_user"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L21"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/allocation.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/allocation.cr#L9"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Booking","path":"Vecos/Booking.html","kind":"struct","full_name":"Vecos::Booking","name":"Booking","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/booking.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/booking.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"ending:Time-instance-method","name":"ending","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L26"},"def":{"name":"ending","return_type":"Time","visibility":"Public","body":"@ending"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L20"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L17"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_id:String-instance-method","name":"locker_id","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L11"},"def":{"name":"locker_id","return_type":"String","visibility":"Public","body":"@locker_id"}},{"html_id":"starting:Time-instance-method","name":"starting","abstract":false,"location":{"filename":"src/vecos/releezme/booking.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/booking.cr#L23"},"def":{"name":"starting","return_type":"Time","visibility":"Public","body":"@starting"}}]},{"html_id":"drivers/Vecos/Location","path":"Vecos/Location.html","kind":"struct","full_name":"Vecos::Location","name":"Location","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/location.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/location.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"time_zone:String|Nil-instance-method","name":"time_zone","abstract":false,"location":{"filename":"src/vecos/releezme/location.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/location.cr#L14"},"def":{"name":"time_zone","return_type":"String | ::Nil","visibility":"Public","body":"@time_zone"}}]},{"html_id":"drivers/Vecos/Locker","path":"Vecos/Locker.html","kind":"struct","full_name":"Vecos::Locker","name":"Locker","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"blocked:Bool-instance-method","name":"blocked","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L20"},"def":{"name":"blocked","return_type":"Bool","visibility":"Public","body":"@blocked"}},{"html_id":"door_number:Int32-instance-method","name":"door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L35"},"def":{"name":"door_number","return_type":"Int32","visibility":"Public","body":"@door_number"}},{"html_id":"door_number_prefix:String-instance-method","name":"door_number_prefix","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L32"},"def":{"name":"door_number_prefix","return_type":"String","visibility":"Public","body":"@door_number_prefix"}},{"html_id":"dynamic_allocated:Bool|Nil-instance-method","name":"dynamic_allocated","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L41"},"def":{"name":"dynamic_allocated","return_type":"Bool | ::Nil","visibility":"Public","body":"@dynamic_allocated"}},{"html_id":"expires_date_time_utc:Time|Nil-instance-method","name":"expires_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L62"},"def":{"name":"expires_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@expires_date_time_utc"}},{"html_id":"full_door_number:String-instance-method","name":"full_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L29"},"def":{"name":"full_door_number","return_type":"String","visibility":"Public","body":"@full_door_number"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"is_detected:Bool-instance-method","name":"is_detected","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L26"},"def":{"name":"is_detected","return_type":"Bool","visibility":"Public","body":"@is_detected"}},{"html_id":"is_shareable:Bool|Nil-instance-method","name":"is_shareable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L56"},"def":{"name":"is_shareable","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shareable"}},{"html_id":"is_shared:Bool|Nil-instance-method","name":"is_shared","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L53"},"def":{"name":"is_shared","return_type":"Bool | ::Nil","visibility":"Public","body":"@is_shared"}},{"html_id":"is_usable:Bool-instance-method","name":"is_usable","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L23"},"def":{"name":"is_usable","return_type":"Bool","visibility":"Public","body":"@is_usable"}},{"html_id":"locker_bank_id:String-instance-method","name":"locker_bank_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L14"},"def":{"name":"locker_bank_id","return_type":"String","visibility":"Public","body":"@locker_bank_id"}},{"html_id":"locker_brick_id:String-instance-method","name":"locker_brick_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L17"},"def":{"name":"locker_brick_id","return_type":"String","visibility":"Public","body":"@locker_brick_id"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L11"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"number_of_allocations:Int32|Nil-instance-method","name":"number_of_allocations","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L47"},"def":{"name":"number_of_allocations","return_type":"Int32 | ::Nil","visibility":"Public","body":"@number_of_allocations"}},{"html_id":"number_of_digits_for_door_number:Int32-instance-method","name":"number_of_digits_for_door_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L68"},"def":{"name":"number_of_digits_for_door_number","return_type":"Int32","visibility":"Public","body":"@number_of_digits_for_door_number"}},{"html_id":"open_time:Int32-instance-method","name":"open_time","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L44"},"def":{"name":"open_time","return_type":"Int32","visibility":"Public","body":"@open_time"}},{"html_id":"self_release_allowed:Bool|Nil-instance-method","name":"self_release_allowed","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L38"},"def":{"name":"self_release_allowed","return_type":"Bool | ::Nil","visibility":"Public","body":"@self_release_allowed"}},{"html_id":"sequence_number:Int32-instance-method","name":"sequence_number","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L59"},"def":{"name":"sequence_number","return_type":"Int32","visibility":"Public","body":"@sequence_number"}},{"html_id":"shared_to_user:Bool|Nil-instance-method","name":"shared_to_user","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L50"},"def":{"name":"shared_to_user","return_type":"Bool | ::Nil","visibility":"Public","body":"@shared_to_user"}},{"html_id":"start_date_time_utc:Time|Nil-instance-method","name":"start_date_time_utc","abstract":false,"location":{"filename":"src/vecos/releezme/locker.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker.cr#L65"},"def":{"name":"start_date_time_utc","return_type":"Time | ::Nil","visibility":"Public","body":"@start_date_time_utc"}}]},{"html_id":"drivers/Vecos/LockerBank","path":"Vecos/LockerBank.html","kind":"struct","full_name":"Vecos::LockerBank","name":"LockerBank","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"description:String|Nil-instance-method","name":"description","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L29"},"def":{"name":"description","return_type":"String | ::Nil","visibility":"Public","body":"@description"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String|Nil-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L17"},"def":{"name":"location_id","return_type":"String | ::Nil","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"published:Bool-instance-method","name":"published","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L20"},"def":{"name":"published","return_type":"Bool","visibility":"Public","body":"@published"}},{"html_id":"random_allocation:Bool|Nil-instance-method","name":"random_allocation","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L23"},"def":{"name":"random_allocation","return_type":"Bool | ::Nil","visibility":"Public","body":"@random_allocation"}},{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L14"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}},{"html_id":"service_mode:Bool-instance-method","name":"service_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank.cr#L26"},"def":{"name":"service_mode","return_type":"Bool","visibility":"Public","body":"@service_mode"}}]},{"html_id":"drivers/Vecos/LockerBankAndLockerGroup","path":"Vecos/LockerBankAndLockerGroup.html","kind":"struct","full_name":"Vecos::LockerBankAndLockerGroup","name":"LockerBankAndLockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"locker_bank:LockerBank-instance-method","name":"locker_bank","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L9"},"def":{"name":"locker_bank","return_type":"LockerBank","visibility":"Public","body":"@locker_bank"}},{"html_id":"locker_group:LockerGroup-instance-method","name":"locker_group","abstract":false,"location":{"filename":"src/vecos/releezme/locker_bank_and_locker_group.cr","line_number":12,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_bank_and_locker_group.cr#L12"},"def":{"name":"locker_group","return_type":"LockerGroup","visibility":"Public","body":"@locker_group"}}]},{"html_id":"drivers/Vecos/LockerGroup","path":"Vecos/LockerGroup.html","kind":"struct","full_name":"Vecos::LockerGroup","name":"LockerGroup","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"lock_mode:Int32-instance-method","name":"lock_mode","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L14"},"def":{"name":"lock_mode","return_type":"Int32","visibility":"Public","body":"@lock_mode"}},{"html_id":"locker_booking_feature_enabled:Bool-instance-method","name":"locker_booking_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L17"},"def":{"name":"locker_booking_feature_enabled","return_type":"Bool","visibility":"Public","body":"@locker_booking_feature_enabled"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"postal_service_feature_enabled:Bool-instance-method","name":"postal_service_feature_enabled","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group.cr#L20"},"def":{"name":"postal_service_feature_enabled","return_type":"Bool","visibility":"Public","body":"@postal_service_feature_enabled"}}]},{"html_id":"drivers/Vecos/LockerGroupStatus","path":"Vecos/LockerGroupStatus.html","kind":"struct","full_name":"Vecos::LockerGroupStatus","name":"LockerGroupStatus","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"allocated_dynamic_lockers:Int32-instance-method","name":"allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L26"},"def":{"name":"allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_dynamic_lockers"}},{"html_id":"allocated_static_lockers:Int32-instance-method","name":"allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L38"},"def":{"name":"allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@allocated_static_lockers"}},{"html_id":"available_dynamic_lockers:Int32-instance-method","name":"available_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L23"},"def":{"name":"available_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@available_dynamic_lockers"}},{"html_id":"available_static_lockers:Int32-instance-method","name":"available_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L35"},"def":{"name":"available_static_lockers","return_type":"Int32","visibility":"Public","body":"@available_static_lockers"}},{"html_id":"blocked_allocated_dynamic_lockers:Int32-instance-method","name":"blocked_allocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L29"},"def":{"name":"blocked_allocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_dynamic_lockers"}},{"html_id":"blocked_allocated_static_lockers:Int32-instance-method","name":"blocked_allocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L41"},"def":{"name":"blocked_allocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_allocated_static_lockers"}},{"html_id":"blocked_unallocated_dynamic_lockers:Int32-instance-method","name":"blocked_unallocated_dynamic_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L32"},"def":{"name":"blocked_unallocated_dynamic_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_dynamic_lockers"}},{"html_id":"blocked_unallocated_static_lockers:Int32-instance-method","name":"blocked_unallocated_static_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L44"},"def":{"name":"blocked_unallocated_static_lockers","return_type":"Int32","visibility":"Public","body":"@blocked_unallocated_static_lockers"}},{"html_id":"locker_group_id:String-instance-method","name":"locker_group_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L8"},"def":{"name":"locker_group_id","return_type":"String","visibility":"Public","body":"@locker_group_id"}},{"html_id":"locker_group_name:String-instance-method","name":"locker_group_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L11"},"def":{"name":"locker_group_name","return_type":"String","visibility":"Public","body":"@locker_group_name"}},{"html_id":"public_lockers:Int32-instance-method","name":"public_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L20"},"def":{"name":"public_lockers","return_type":"Int32","visibility":"Public","body":"@public_lockers"}},{"html_id":"unusable_lockers:Int32-instance-method","name":"unusable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L17"},"def":{"name":"unusable_lockers","return_type":"Int32","visibility":"Public","body":"@unusable_lockers"}},{"html_id":"usable_lockers:Int32-instance-method","name":"usable_lockers","abstract":false,"location":{"filename":"src/vecos/releezme/locker_group_status.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_group_status.cr#L14"},"def":{"name":"usable_lockers","return_type":"Int32","visibility":"Public","body":"@usable_lockers"}}]},{"html_id":"drivers/Vecos/LockerUsers","path":"Vecos/LockerUsers.html","kind":"struct","full_name":"Vecos::LockerUsers","name":"LockerUsers","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/locker_users.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"email:String|Nil-instance-method","name":"email","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L17"},"def":{"name":"email","return_type":"String | ::Nil","visibility":"Public","body":"@email"}},{"html_id":"first_name:String|Nil-instance-method","name":"first_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L11"},"def":{"name":"first_name","return_type":"String | ::Nil","visibility":"Public","body":"@first_name"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"last_name:String|Nil-instance-method","name":"last_name","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L14"},"def":{"name":"last_name","return_type":"String | ::Nil","visibility":"Public","body":"@last_name"}},{"html_id":"user_id:String-instance-method","name":"user_id","abstract":false,"location":{"filename":"src/vecos/releezme/locker_users.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/locker_users.cr#L20"},"def":{"name":"user_id","return_type":"String","visibility":"Public","body":"@user_id"}}]},{"html_id":"drivers/Vecos/Paging","path":"Vecos/Paging.html","kind":"struct","full_name":"Vecos::Paging","name":"Paging","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/paging.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/paging.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"first_item_on_page:Int32-instance-method","name":"first_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L8"},"def":{"name":"first_item_on_page","return_type":"Int32","visibility":"Public","body":"@first_item_on_page"}},{"html_id":"has_next_page:Bool-instance-method","name":"has_next_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L11"},"def":{"name":"has_next_page","return_type":"Bool","visibility":"Public","body":"@has_next_page"}},{"html_id":"has_previous_page:Bool-instance-method","name":"has_previous_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L14"},"def":{"name":"has_previous_page","return_type":"Bool","visibility":"Public","body":"@has_previous_page"}},{"html_id":"is_first_page:Bool-instance-method","name":"is_first_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L17"},"def":{"name":"is_first_page","return_type":"Bool","visibility":"Public","body":"@is_first_page"}},{"html_id":"is_last_page:Bool-instance-method","name":"is_last_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L20"},"def":{"name":"is_last_page","return_type":"Bool","visibility":"Public","body":"@is_last_page"}},{"html_id":"last_item_on_page:Int32-instance-method","name":"last_item_on_page","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L23"},"def":{"name":"last_item_on_page","return_type":"Int32","visibility":"Public","body":"@last_item_on_page"}},{"html_id":"page_count:Int32-instance-method","name":"page_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L26"},"def":{"name":"page_count","return_type":"Int32","visibility":"Public","body":"@page_count"}},{"html_id":"page_number:Int32-instance-method","name":"page_number","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L29"},"def":{"name":"page_number","return_type":"Int32","visibility":"Public","body":"@page_number"}},{"html_id":"page_size:Int32-instance-method","name":"page_size","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L32"},"def":{"name":"page_size","return_type":"Int32","visibility":"Public","body":"@page_size"}},{"html_id":"total_item_count:Int32-instance-method","name":"total_item_count","abstract":false,"location":{"filename":"src/vecos/releezme/paging.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/paging.cr#L35"},"def":{"name":"total_item_count","return_type":"Int32","visibility":"Public","body":"@total_item_count"}}]},{"html_id":"drivers/Vecos/Releezme","path":"Vecos/Releezme.html","kind":"class","full_name":"Vecos::Releezme","name":"Releezme","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"bank(bank_id:String)-instance-method","name":"bank","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L174"},"def":{"name":"bank","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"LockerBank.from_json(fetch_item(\"/api/lockerbanks/#{bank_id}\"))"}},{"html_id":"bank_group_lockers_available(bank_id:String,group_id:String)-instance-method","name":"bank_group_lockers_available","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String)","args_html":"(bank_id : String, group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L187"},"def":{"name":"bank_group_lockers_available","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/#{group_id}/availablelockers?pageSize=200\")"}},{"html_id":"bank_groups(bank_id:String)-instance-method","name":"bank_groups","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":178,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L178"},"def":{"name":"bank_groups","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockergroups?pageSize=200\")"}},{"html_id":"bank_locker_allocations(bank_id:String)-instance-method","name":"bank_locker_allocations","doc":"NOTE:: Only accessible to System Control Clients","summary":"

NOTE : Only accessible to System Control Clients

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L192"},"def":{"name":"bank_locker_allocations","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/allocations?pageSize=200\")"}},{"html_id":"bank_lockers(bank_id:String)-instance-method","name":"bank_lockers","doc":"returns all the lockers in the bank without paging (but paging json is included)","summary":"

returns all the lockers in the bank without paging (but paging json is included)

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"args_string":"(bank_id : String)","args_html":"(bank_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":183,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L183"},"def":{"name":"bank_lockers","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockerbanks/#{bank_id}/lockers?pageSize=200\")"}},{"html_id":"banks-instance-method","name":"banks","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L170"},"def":{"name":"banks","visibility":"Public","body":"fetch_pages(\"/api/lockerbanks?pageSize=200\")"}},{"html_id":"bearer_token:String-instance-method","name":"bearer_token","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":110,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L110"},"def":{"name":"bearer_token","visibility":"Public","body":"@bearer_token"}},{"html_id":"book_locker(starting:Int64,ending:Int64,user_id:String,locker_id:String|Nil=nil,group_id:String|Nil=nil,bank_id:String|Nil=nil,timezone:String=\"UTC\")-instance-method","name":"book_locker","abstract":false,"args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"args_string":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = \"UTC\")","args_html":"(starting : Int64, ending : Int64, user_id : String, locker_id : String | Nil = nil, group_id : String | Nil = nil, bank_id : String | Nil = nil, timezone : String = "UTC")","location":{"filename":"src/vecos/releezme.cr","line_number":248,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L248"},"def":{"name":"book_locker","args":[{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"timezone","default_value":"\"UTC\"","external_name":"timezone","restriction":"String"}],"visibility":"Public","body":"tz = Time::Location.load(timezone)\nresponse = post(\"/api/bookings\", body: {\"StartDateTimeUtc\" => ((Time.unix(starting)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"EndDateTimeUtc\" => ((Time.unix(ending)).in(tz)).to_s(\"%m-%d-%Y %H:%M:%S\"), \"LockerGroupId\" => group_id, \"LockerBankId\" => bank_id, \"LockerId\" => locker_id, \"ExternalUserId\" => user_id}.to_json)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"bookings(user_id:String)-instance-method","name":"bookings","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":216,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L216"},"def":{"name":"bookings","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings?#{params}\")\n"}},{"html_id":"bookings_availability(user_id:String,starting:Int64,ending:Int64,section_id:String|Nil=nil,location_id:String|Nil=nil,bank_id:String|Nil=nil,group_id:String|Nil=nil,locker_id:String|Nil=nil)-instance-method","name":"bookings_availability","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"args_string":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","args_html":"(user_id : String, starting : Int64, ending : Int64, section_id : String | Nil = nil, location_id : String | Nil = nil, bank_id : String | Nil = nil, group_id : String | Nil = nil, locker_id : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L224"},"def":{"name":"bookings_availability","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"starting","external_name":"starting","restriction":"Int64"},{"name":"ending","external_name":"ending","restriction":"Int64"},{"name":"section_id","default_value":"nil","external_name":"section_id","restriction":"String | ::Nil"},{"name":"location_id","default_value":"nil","external_name":"location_id","restriction":"String | ::Nil"},{"name":"bank_id","default_value":"nil","external_name":"bank_id","restriction":"String | ::Nil"},{"name":"group_id","default_value":"nil","external_name":"group_id","restriction":"String | ::Nil"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"startDateTimeUtc\", (Time.unix(starting)).to_rfc3339)\n form.add(\"endDateTimeUtc\", (Time.unix(ending)).to_rfc3339)\n if section_id.presence\n form.add(\"sectionId\", section_id.as(String))\n end\n if location_id.presence\n form.add(\"locationId\", location_id.as(String))\n end\n if bank_id.presence\n form.add(\"lockerBankId\", bank_id.as(String))\n end\n if bank_id.presence && group_id.presence\n form.add(\"lockerBankId\", group_id.as(String))\n end\n if locker_id.presence\n form.add(\"lockerId\", locker_id.as(String))\n end\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/bookings/availability?#{params}\")\n"}},{"html_id":"can_allocate_locker?(user_id:String):String-instance-method","name":"can_allocate_locker?","doc":"check if a user can be allocated a new locker","summary":"

check if a user can be allocated a new locker

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : String","args_html":"(user_id : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":278,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L278"},"def":{"name":"can_allocate_locker?","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = get(\"/api/lockers/canallocate?#{params}\")\nresponse.body\n"}},{"html_id":"can_share_locker_with?(locker_id:String,owner_id:String,search:String)-instance-method","name":"can_share_locker_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, search : String)","args_html":"(locker_id : String, owner_id : String, search : String)","location":{"filename":"src/vecos/releezme.cr","line_number":343,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L343"},"def":{"name":"can_share_locker_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"search","external_name":"search","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"searchString\", search)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"companies-instance-method","name":"companies","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":118,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L118"},"def":{"name":"companies","visibility":"Public","body":"(JSON.parse(fetch_item(\"/api/companies\")))[\"Companies\"]"}},{"html_id":"fetch_item(location:String):String-instance-method","name":"fetch_item","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : String","args_html":"(location : String) : String","location":{"filename":"src/vecos/releezme.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L101"},"def":{"name":"fetch_item","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"String","visibility":"Public","body":"response = get(location)\nif response.status_code == 401\n @expires = 1.minute.ago\nend\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nlogger.debug do\n \"response body:\\n#{response.body}\"\nend\nresponse.body\n"}},{"html_id":"fetch_pages(location:String):Array(JSON::Any)-instance-method","name":"fetch_pages","abstract":false,"args":[{"name":"location","external_name":"location","restriction":"String"}],"args_string":"(location : String) : Array(JSON::Any)","args_html":"(location : String) : Array(JSON::Any)","location":{"filename":"src/vecos/releezme.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L75"},"def":{"name":"fetch_pages","args":[{"name":"location","external_name":"location","restriction":"String"}],"return_type":"Array(JSON::Any)","visibility":"Public","body":"append = location.includes?('?') ? '&' : '?'\nnext_page = \"#{location}#{append}pageNumber=#{1}\"\ndata = [] of JSON::Any\nloop do\n response = get(next_page)\n if response.status_code == 401\n @expires = 1.minute.ago\n end\n if response.success?\n else\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\n end\n logger.debug do\n \"response body:\\n#{response.body}\"\n end\n payload = (JSON.parse(response.body)).as_h\n pages = if has_paging = payload.delete(\"Paging\")\n Paging.from_json(has_paging.to_json)\n end\n data.concat(payload[payload.keys.first].as_a)\n if pages && pages.has_next_page\n else\n break\n end\n next_page = \"#{location}#{append}pageNumber=#{pages.page_number + 1}\"\nend\ndata\n"}},{"html_id":"group(group_id:String)-instance-method","name":"group","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":204,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L204"},"def":{"name":"group","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"Array(LockerGroup).from_json(fetch_item(\"/api/lockergroups/#{group_id}\"))"}},{"html_id":"group_locker_banks(group_id:String)-instance-method","name":"group_locker_banks","abstract":false,"args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"args_string":"(group_id : String)","args_html":"(group_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L208"},"def":{"name":"group_locker_banks","args":[{"name":"group_id","external_name":"group_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/lockergroups/#{group_id}/lockerbanks?pageSize=200\")"}},{"html_id":"groups-instance-method","name":"groups","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":200,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L200"},"def":{"name":"groups","visibility":"Public","body":"fetch_pages(\"/api/lockergroups?pageSize=200\")"}},{"html_id":"location(location_id:String)-instance-method","name":"location","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":131,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L131"},"def":{"name":"location","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"Location.from_json(fetch_item(\"/api/locations/#{location_id}\"))"}},{"html_id":"location_sections(location_id:String)-instance-method","name":"location_sections","doc":"typically these are floors in the building","summary":"

typically these are floors in the building

","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L136"},"def":{"name":"location_sections","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/locations/#{location_id}/sections?pageSize=200\")"}},{"html_id":"locations-instance-method","name":"locations","doc":"typically these are buildings","summary":"

typically these are buildings

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L127"},"def":{"name":"locations","visibility":"Public","body":"fetch_pages(\"/api/locations?pageSize=200\")"}},{"html_id":"locker_allocate(locker_id:String,user_id:String)-instance-method","name":"locker_allocate","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, user_id : String)","args_html":"(locker_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":286,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L286"},"def":{"name":"locker_allocate","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_allocate_random(bank_id:String,group_id:String,user_id:String)-instance-method","name":"locker_allocate_random","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(bank_id : String, group_id : String, user_id : String)","args_html":"(bank_id : String, group_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":295,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L295"},"def":{"name":"locker_allocate_random","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String"},{"name":"group_id","external_name":"group_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"lockerBankId\", bank_id)\n form.add(\"lockerGroupId\", group_id)\n form.add(\"externalUserId\", user_id)\nend\nresponse = post(\"/api/lockers/allocate?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\nJSON.parse(response.body)\n"}},{"html_id":"locker_release(locker_id:String,user_id:String|Nil=nil):Nil-instance-method","name":"locker_release","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, user_id : String | Nil = nil) : Nil","args_html":"(locker_id : String, user_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme.cr","line_number":306,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L306"},"def":{"name":"locker_release","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"user_id","default_value":"nil","external_name":"user_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"params = URI::Params.build do |form|\n if user_id.presence\n form.add(\"externalUserId\", user_id)\n end\nend\nresponse = post(\"/api/lockers/#{locker_id}/release?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"locker_shared_with?(locker_id:String,owner_id:String)-instance-method","name":"locker_shared_with?","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String)","args_html":"(locker_id : String, owner_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":351,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L351"},"def":{"name":"locker_shared_with?","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nArray(LockerUsers).from_json(fetch_item(\"/api/lockers/#{locker_id}/shareablelockerusers?#{params}\"), root: \"LockerUsers\")\n"}},{"html_id":"locker_unlock(locker_id:String,pin_code:String|Nil=nil)-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, pin_code : String | Nil = nil)","args_html":"(locker_id : String, pin_code : String | Nil = nil)","location":{"filename":"src/vecos/releezme.cr","line_number":314,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L314"},"def":{"name":"locker_unlock","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"visibility":"Public","body":"pin_route = pin_code ? nil : \"/withoutpincode\"\nresponse = post(\"/api/lockers/#{locker_id}/pincode/unlock#{pin_route}\", body: pin_code)\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\n"}},{"html_id":"lockers_allocated_to(user_id:String)-instance-method","name":"lockers_allocated_to","doc":"the lockers that are currently allocated to the specified user\nthe user ID is typically email - defined by the client","summary":"

the lockers that are currently allocated to the specified user the user ID is typically email - defined by the client

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String)","args_html":"(user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L269"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/lockers/allocated?#{params}\")\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L20"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L24"},"def":{"name":"on_update","visibility":"Public","body":"client_id = setting(String, :client_id)\nclient_secret = setting(String, :client_secret)\nusername = setting(String, :username)\npassword = setting(String, :password)\nreleezme_authentication_domain = setting(String, :releezme_authentication_domain)\ntransport.before_request do |req|\n access_token = get_access_token(client_id, client_secret, username, password, releezme_authentication_domain)\n req.headers[\"Authorization\"] = access_token\n req.headers[\"Content-Type\"] = \"application/json\"\n logger.debug do\n \"requesting #{req.method} #{req.path}?#{req.query}\\n#{req.headers}\\n#{req.body}\"\n end\nend\n"}},{"html_id":"section(section_id:String)-instance-method","name":"section","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":149,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L149"},"def":{"name":"section","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"Section.from_json(fetch_item(\"/api/locations/#{section_id}\"))"}},{"html_id":"section_banks_allocatable(section_id:String,user_id:String)-instance-method","name":"section_banks_allocatable","doc":"banks and groups in the banks that the user can allocate to themselves","summary":"

banks and groups in the banks that the user can allocate to themselves

","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(section_id : String, user_id : String)","args_html":"(section_id : String, user_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":158,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L158"},"def":{"name":"section_banks_allocatable","args":[{"name":"section_id","external_name":"section_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", user_id)\n form.add(\"pageSize\", \"200\")\nend\nfetch_pages(\"/api/sections/#{section_id}/lockerbanklockergroups/allocatable?#{params}\")\n"}},{"html_id":"section_locker_banks(section_id:String)-instance-method","name":"section_locker_banks","abstract":false,"args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"args_string":"(section_id : String)","args_html":"(section_id : String)","location":{"filename":"src/vecos/releezme.cr","line_number":153,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L153"},"def":{"name":"section_locker_banks","args":[{"name":"section_id","external_name":"section_id","restriction":"String"}],"visibility":"Public","body":"fetch_pages(\"/api/sections/#{section_id}/lockerbanks?pageSize=200\")"}},{"html_id":"sections-instance-method","name":"sections","doc":"all floors from all buildings in one request","summary":"

all floors from all buildings in one request

","abstract":false,"location":{"filename":"src/vecos/releezme.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L145"},"def":{"name":"sections","visibility":"Public","body":"fetch_pages(\"/api/sections?pageSize=200\")"}},{"html_id":"share_locker_with(locker_id:String,owner_id:String,user_id:String):Bool-instance-method","name":"share_locker_with","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(locker_id : String, owner_id : String, user_id : String) : Bool","args_html":"(locker_id : String, owner_id : String, user_id : String) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":324,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L324"},"def":{"name":"share_locker_with","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\n form.add(\"sharedUserId\", user_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/share?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}},{"html_id":"unshare_locker(locker_id:String,owner_id:String,shared_with_internal_id:String|Nil=nil):Bool-instance-method","name":"unshare_locker","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"args_string":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","args_html":"(locker_id : String, owner_id : String, shared_with_internal_id : String | Nil = nil) : Bool","location":{"filename":"src/vecos/releezme.cr","line_number":334,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme.cr#L334"},"def":{"name":"unshare_locker","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_internal_id","default_value":"nil","external_name":"shared_with_internal_id","restriction":"String | ::Nil"}],"return_type":"Bool","visibility":"Public","body":"params = URI::Params.build do |form|\n form.add(\"externalUserId\", owner_id)\nend\nresponse = post(\"/api/lockers/#{locker_id}/unshare/#{shared_with_internal_id}?#{params}\")\nif response.success?\nelse\n raise(\"unexpected response #{response.status_code}\\n#{response.body}\")\nend\ntrue\n"}}]},{"html_id":"drivers/Vecos/ReleezmeLocations","path":"Vecos/ReleezmeLocations.html","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"instance_methods":[{"html_id":"building_id:String-instance-method","name":"building_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L72"},"def":{"name":"building_id","return_type":"String","visibility":"Public","body":"if (value = @building_id).nil?\n @building_id = (get_building_id)\nelse\n value\nend"}},{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":275,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L275"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of lockers on this level","summary":"

array of lockers on this level

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":281,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L281"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching for lockers in zone #{zone_id}\"\nend\nif building_id == zone_id\n return @zone_filter.flat_map do |level_id|\n device_locations(level_id, location)\n end\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nreleexme_section_id = @floor_mappings[zone_id]\nbanks = Array(Vecos::LockerBank).from_json((releezme.section_locker_banks(releexme_section_id)).get.to_json)\nif @door_number_lookup && @last_mapped < 3.hour.ago\n @last_mapped = Time.utc\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n self[locker.full_door_number.downcase] = locker.id\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nelse\n banks.flat_map do |bank|\n lockers = Array(Vecos::Locker).from_json((releezme.bank_lockers(bank.id)).get.to_json)\n lockers.map do |locker|\n PlaceLocker.new(locker, building: building_id, level: zone_id)\n end\n end\nend\n"}},{"html_id":"get_building_id-instance-method","name":"get_building_id","doc":"Finds the building ID for the current location services object","summary":"

Finds the building ID for the current location services object

","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L64"},"def":{"name":"get_building_id","visibility":"Public","body":"begin\n zone_ids = staff_api.zones(tags: \"building\").get.as_a.map() do |__arg1|\n __arg1[\"id\"].as_s\n end\n (zone_ids & system.zones).first\nrescue error\n logger.warn(exception: error) do\n \"unable to determine building zone id\"\n end\n raise(error)\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"array of devices and their x, y coordinates, that are associated with this user","summary":"

array of devices and their x, y coordinates, that are associated with this user

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":262,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L262"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"releezme incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"locker_allocate(user_id:String,bank_id:String|Int64,locker_id:String|Int64|Nil=nil,expires_at:Int64|Nil=nil):PlaceLocker-instance-method","name":"locker_allocate","doc":"allocates a locker now, the allocation may expire","summary":"

allocates a locker now, the allocation may expire

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"args_string":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","args_html":"(user_id : String, bank_id : String | Int64, locker_id : String | Int64 | Nil = nil, expires_at : Int64 | Nil = nil) : PlaceLocker","location":{"filename":"src/vecos/releezme_locations.cr","line_number":136,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L136"},"def":{"name":"locker_allocate","args":[{"name":"user_id","external_name":"user_id","restriction":"String"},{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","default_value":"nil","external_name":"locker_id","restriction":"String | Int64 | ::Nil"},{"name":"expires_at","default_value":"nil","external_name":"expires_at","restriction":"Int64 | ::Nil"}],"return_type":"PlaceLocker","visibility":"Public","body":"user_id = get_user_key(user_id)\nlocker_id = locker_id ? lookup_id(locker_id.to_s) : nil\nif expires_at\n timezone = system.timezone || \"UTC\"\n booking = if locker_id\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, locker_id, timezone: timezone)).get\n else\n group_id = get_group_id(user_id, bank_id)\n (releezme.book_locker(1.minute.ago.to_unix, expires_at, user_id, group_id: group_id, bank_id: bank_id, timezone: timezone)).get\n end\n PlaceLocker.new(Vecos::Booking.from_json(booking.to_json))\nelse\n if locker_id\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate(locker_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n else\n group_id = get_group_id(user_id, bank_id)\n vlocker = Vecos::Locker.from_json((releezme.locker_allocate_random(bank_id, group_id, user_id)).get.to_json)\n PlaceLocker.new(vlocker, true)\n end\nend\n"}},{"html_id":"locker_release(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil):Nil-instance-method","name":"locker_release","doc":"return the locker to the pool","summary":"

return the locker to the pool

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":173,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L173"},"def":{"name":"locker_release","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\nif owner_id\n owner_id = get_user_key(owner_id)\nend\n(releezme.locker_release(locker_id, owner_id)).get\n"}},{"html_id":"locker_share(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,share_with:String):Nil-instance-method","name":"locker_share","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, share_with : String) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L194"},"def":{"name":"locker_share","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"share_with","external_name":"share_with","restriction":"String"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.share_locker_with(locker_id, get_user_key(owner_id), get_user_key(share_with))).get\n"}},{"html_id":"locker_shared_with(bank_id:String|Int64,locker_id:String|Int64,owner_id:String):Array(String)-instance-method","name":"locker_shared_with","doc":"a list of user-ids that the locker is shared with.\nthis can be placeos user ids or emails","summary":"

a list of user-ids that the locker is shared with.

","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":229,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L229"},"def":{"name":"locker_shared_with","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"}],"return_type":"Array(String)","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nshared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\nshared_with.map do |user|\n user.email || user.user_id\nend\n"}},{"html_id":"locker_unlock(bank_id:String|Int64,locker_id:String|Int64,owner_id:String|Nil=nil,open_time:Int32=60,pin_code:String|Nil=nil):Nil-instance-method","name":"locker_unlock","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String | Nil = nil, open_time : Int32 = 60, pin_code : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":241,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L241"},"def":{"name":"locker_unlock","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","default_value":"nil","external_name":"owner_id","restriction":"String | ::Nil"},{"name":"open_time","default_value":"60","external_name":"open_time","restriction":"Int32"},{"name":"pin_code","default_value":"nil","external_name":"pin_code","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"locker_id = lookup_id(locker_id.to_s)\n(releezme.locker_unlock(locker_id, pin_code)).get\n"}},{"html_id":"locker_unshare(bank_id:String|Int64,locker_id:String|Int64,owner_id:String,shared_with_id:String|Nil=nil):Nil-instance-method","name":"locker_unshare","abstract":false,"args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"args_string":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","args_html":"(bank_id : String | Int64, locker_id : String | Int64, owner_id : String, shared_with_id : String | Nil = nil) : Nil","location":{"filename":"src/vecos/releezme_locations.cr","line_number":205,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L205"},"def":{"name":"locker_unshare","args":[{"name":"bank_id","external_name":"bank_id","restriction":"String | Int64"},{"name":"locker_id","external_name":"locker_id","restriction":"String | Int64"},{"name":"owner_id","external_name":"owner_id","restriction":"String"},{"name":"shared_with_id","default_value":"nil","external_name":"shared_with_id","restriction":"String | ::Nil"}],"return_type":"Nil","visibility":"Public","body":"owner_id = get_user_key(owner_id)\nlocker_id = lookup_id(locker_id.to_s)\nif shared_with_id\n shared_with_external_id = get_user_key(shared_with_id)\n shared_with = Array(Vecos::LockerUsers).from_json((releezme.locker_shared_with?(locker_id, owner_id)).get.to_json)\n shared_user = shared_with.find do |user|\n user.user_id == shared_with_external_id\n end\n if shared_user\n else\n return\n end\n shared_with_id = shared_user.id\nend\n(releezme.unshare_locker(locker_id, owner_id, shared_with_id)).get\n"}},{"html_id":"lockers_allocated_to(user_id:String):Array(PlaceLocker)-instance-method","name":"lockers_allocated_to","doc":"a list of lockers that are allocated to the user","summary":"

a list of lockers that are allocated to the user

","abstract":false,"args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"args_string":"(user_id : String) : Array(PlaceLocker)","args_html":"(user_id : String) : Array(PlaceLocker)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L187"},"def":{"name":"lockers_allocated_to","args":[{"name":"user_id","external_name":"user_id","restriction":"String"}],"return_type":"Array(PlaceLocker)","visibility":"Public","body":"user_id = get_user_key(user_id)\nlockers = Array(Vecos::Locker).from_json((releezme.lockers_allocated_to(user_id)).get.to_json)\nlockers.map do |locker|\n PlaceLocker.new(locker, true)\nend\n"}},{"html_id":"lookup_id(locker_id:String):String-instance-method","name":"lookup_id","abstract":false,"args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"args_string":"(locker_id : String) : String","args_html":"(locker_id : String) : String","location":{"filename":"src/vecos/releezme_locations.cr","line_number":74,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L74"},"def":{"name":"lookup_id","args":[{"name":"locker_id","external_name":"locker_id","restriction":"String"}],"return_type":"String","visibility":"Public","body":"if @door_number_lookup\n (status?(String, locker_id.downcase)) || locker_id\nelse\n locker_id\nend"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":269,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L269"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"releezme incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L30"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@door_number_lookup = (setting?(Bool, :door_number_lookup)) || false\n@user_id_key = (setting?(String, :user_id_key)) || \"email\"\n@floor_mappings = (setting(Hash(String, Mapping), :vecos_floor_mappings)).transform_values(&.section_id)\n@zone_filter = @floor_mappings.keys\n@building_id = nil\nif @door_number_lookup\n schedule.clear\n schedule.in((rand(10)).seconds) do\n @floor_mappings.each_key do |zone_id|\n device_locations(zone_id)\n end\n end\nend\n"}}],"types":[{"html_id":"drivers/Vecos/ReleezmeLocations/Mapping","path":"Vecos/ReleezmeLocations/Mapping.html","kind":"struct","full_name":"Vecos::ReleezmeLocations::Mapping","name":"Mapping","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme_locations.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L58"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos/ReleezmeLocations","kind":"class","full_name":"Vecos::ReleezmeLocations","name":"ReleezmeLocations"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L59"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"section_id:String-instance-method","name":"section_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L60"},"def":{"name":"section_id","return_type":"String","visibility":"Public","body":"@section_id"}}]},{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers/PlaceLocker","path":"PlaceOS/Driver/Interface/Lockers/PlaceLocker.html","kind":"class","full_name":"PlaceOS::Driver::Interface::Lockers::PlaceLocker","name":"PlaceLocker","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"lib/placeos-driver/src/placeos-driver/interface/lockers.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/lib/placeos-driver/src/placeos-driver/interface/lockers.cr#L9"},{"filename":"src/vecos/releezme_locations.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L86"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/PlaceOS/Driver/Interface/Lockers","kind":"module","full_name":"PlaceOS::Driver::Interface::Lockers","name":"Lockers"},"doc":"inherit this to extend with additional locker information","summary":"

inherit this to extend with additional locker information

","constructors":[{"html_id":"new(locker:Vecos::Locker,allocated:Bool=false,building:Nil|String=nil,level:Nil|String=nil)-class-method","name":"new","abstract":false,"args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"args_string":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","args_html":"(locker : Vecos::Locker, allocated : Bool = false, building : Nil | String = nil, level : Nil | String = nil)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":87,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L87"},"def":{"name":"new","args":[{"name":"locker","external_name":"locker","restriction":"Vecos::Locker"},{"name":"allocated","default_value":"false","external_name":"allocated","restriction":"Bool"},{"name":"building","default_value":"nil","external_name":"building","restriction":"::Nil | ::String"},{"name":"level","default_value":"nil","external_name":"level","restriction":"::Nil | ::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(locker, allocated, building, level)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}},{"html_id":"new(booking:Vecos::Booking)-class-method","name":"new","abstract":false,"args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"args_string":"(booking : Vecos::Booking)","args_html":"(booking : Vecos::Booking)","location":{"filename":"src/vecos/releezme_locations.cr","line_number":106,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L106"},"def":{"name":"new","args":[{"name":"booking","external_name":"booking","restriction":"Vecos::Booking"}],"visibility":"Public","body":"_ = allocate\n_.initialize(booking)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"group_id:String|Nil-instance-method","name":"group_id","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L116"},"def":{"name":"group_id","return_type":"String | ::Nil","visibility":"Public","body":"@group_id"}},{"html_id":"locker_uid:String|Nil-instance-method","name":"locker_uid","abstract":false,"location":{"filename":"src/vecos/releezme_locations.cr","line_number":117,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme_locations.cr#L117"},"def":{"name":"locker_uid","return_type":"String | ::Nil","visibility":"Public","body":"@locker_uid"}}]}]},{"html_id":"drivers/Vecos/Section","path":"Vecos/Section.html","kind":"struct","full_name":"Vecos::Section","name":"Section","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vecos/releezme/section.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vecos","kind":"module","full_name":"Vecos","name":"Vecos"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vecos/releezme/section.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L5"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L8"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L14"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vecos/releezme/section.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vecos/releezme/section.cr#L11"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}}]}]},{"html_id":"drivers/Vergesense","path":"Vergesense.html","kind":"module","full_name":"Vergesense","name":"Vergesense","abstract":false,"locations":[{"filename":"src/vergesense/models.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"doc":"Vergesense Data Models","summary":"

Vergesense Data Models

","types":[{"html_id":"drivers/Vergesense/Building","path":"Vergesense/Building.html","kind":"struct","full_name":"Vergesense::Building","name":"Building","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L6"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"address:String|Nil-instance-method","name":"address","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L10"},"def":{"name":"address","return_type":"String | ::Nil","visibility":"Public","body":"@address"}},{"html_id":"address=(address:String|Nil)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"args_string":"(address : String | Nil)","args_html":"(address : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L10"},"def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"String | ::Nil"}],"visibility":"Public","body":"@address = address"}},{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":9,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L9"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L8"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L8"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}}]},{"html_id":"drivers/Vergesense/BuildingWithFloors","path":"Vergesense/BuildingWithFloors.html","kind":"struct","full_name":"Vergesense::BuildingWithFloors","name":"BuildingWithFloors","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":13,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L13"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":14,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L14"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id","return_type":"String","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"args_string":"(building_ref_id : String)","args_html":"(building_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L16"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"floors:Array(Floor)-instance-method","name":"floors","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L17"},"def":{"name":"floors","return_type":"Array(Floor)","visibility":"Public","body":"@floors"}},{"html_id":"floors=(floors:Array(Floor))-instance-method","name":"floors=","abstract":false,"args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"args_string":"(floors : Array(Floor))","args_html":"(floors : Array(Floor))","location":{"filename":"src/vergesense/models.cr","line_number":17,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L17"},"def":{"name":"floors=","args":[{"name":"floors","external_name":"floors","restriction":"Array(Floor)"}],"visibility":"Public","body":"@floors = floors"}}]},{"html_id":"drivers/Vergesense/Environment","path":"Vergesense/Environment.html","kind":"struct","full_name":"Vergesense::Environment","name":"Environment","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L37"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L38"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"humidity:Sensor-instance-method","name":"humidity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L43"},"def":{"name":"humidity","return_type":"Sensor","visibility":"Public","body":"@humidity"}},{"html_id":"humidity=(humidity:Sensor)-instance-method","name":"humidity=","abstract":false,"args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"args_string":"(humidity : Sensor)","args_html":"(humidity : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L43"},"def":{"name":"humidity=","args":[{"name":"humidity","external_name":"humidity","restriction":"Sensor"}],"visibility":"Public","body":"@humidity = humidity"}},{"html_id":"iaq:Sensor|Nil-instance-method","name":"iaq","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L44"},"def":{"name":"iaq","return_type":"Sensor | ::Nil","visibility":"Public","body":"@iaq"}},{"html_id":"iaq=(iaq:Sensor|Nil)-instance-method","name":"iaq=","abstract":false,"args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"args_string":"(iaq : Sensor | Nil)","args_html":"(iaq : Sensor | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L44"},"def":{"name":"iaq=","args":[{"name":"iaq","external_name":"iaq","restriction":"Sensor | ::Nil"}],"visibility":"Public","body":"@iaq = iaq"}},{"html_id":"sensor:String-instance-method","name":"sensor","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L40"},"def":{"name":"sensor","return_type":"String","visibility":"Public","body":"@sensor"}},{"html_id":"sensor=(sensor:String)-instance-method","name":"sensor=","abstract":false,"args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"args_string":"(sensor : String)","args_html":"(sensor : String)","location":{"filename":"src/vergesense/models.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L40"},"def":{"name":"sensor=","args":[{"name":"sensor","external_name":"sensor","restriction":"String"}],"visibility":"Public","body":"@sensor = sensor"}},{"html_id":"temperature:Sensor-instance-method","name":"temperature","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L45"},"def":{"name":"temperature","return_type":"Sensor","visibility":"Public","body":"@temperature"}},{"html_id":"temperature=(temperature:Sensor)-instance-method","name":"temperature=","abstract":false,"args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"args_string":"(temperature : Sensor)","args_html":"(temperature : Sensor)","location":{"filename":"src/vergesense/models.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L45"},"def":{"name":"temperature=","args":[{"name":"temperature","external_name":"temperature","restriction":"Sensor"}],"visibility":"Public","body":"@temperature = temperature"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L41"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L41"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/Floor","path":"Vergesense/Floor.html","kind":"struct","full_name":"Vergesense::Floor","name":"Floor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L20"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L21"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L25"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L25"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"floor_ref_id:String-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id","return_type":"String","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"args_string":"(floor_ref_id : String)","args_html":"(floor_ref_id : String)","location":{"filename":"src/vergesense/models.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L23"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":26,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L26"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L24"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/vergesense/models.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L24"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String"}],"visibility":"Public","body":"@name = name"}},{"html_id":"spaces:Array(Space)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L27"},"def":{"name":"spaces","return_type":"Array(Space)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(Space))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"args_string":"(spaces : Array(Space))","args_html":"(spaces : Array(Space))","location":{"filename":"src/vergesense/models.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L27"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(Space)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/Vergesense/Geometry","path":"Vergesense/Geometry.html","kind":"struct","full_name":"Vergesense::Geometry","name":"Geometry","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":91,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L91"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L92"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"coordinates:Array(Array(Array(Float64)))-instance-method","name":"coordinates","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L95"},"def":{"name":"coordinates","return_type":"Array(Array(Array(Float64)))","visibility":"Public","body":"@coordinates"}},{"html_id":"coordinates=(coordinates:Array(Array(Array(Float64))))-instance-method","name":"coordinates=","abstract":false,"args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"args_string":"(coordinates : Array(Array(Array(Float64))))","args_html":"(coordinates : Array(Array(Array(Float64))))","location":{"filename":"src/vergesense/models.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L95"},"def":{"name":"coordinates=","args":[{"name":"coordinates","external_name":"coordinates","restriction":"Array(Array(Array(Float64)))"}],"visibility":"Public","body":"@coordinates = coordinates"}},{"html_id":"type:String-instance-method","name":"type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L94"},"def":{"name":"type","return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/vergesense/models.cr","line_number":94,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L94"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"String"}],"visibility":"Public","body":"@type = type"}}]},{"html_id":"drivers/Vergesense/LocationService","path":"Vergesense/LocationService.html","kind":"class","full_name":"Vergesense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/location_service.cr","line_number":8,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L8"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":90,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L90"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":95,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L95"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\nfloor = @occupancy_mappings[zone_id]?\nif floor\nelse\n return [] of Nil\nend\ndesk_types = @desk_space_types\nfloor.spaces.compact_map do |space|\n loc_type = space.space_type.in?(desk_types) ? \"desk\" : \"area\"\n if location.presence && (location != loc_type)\n next\n end\n people_count = space.people.try(&.count)\n if @return_empty_spaces || (people_count && people_count > 0)\n if env = space.environment\n humidity = env.humidity.value\n temperature = env.temperature.value\n iaq = env.iaq.try(&.value)\n end\n {location: loc_type, at_location: people_count || 0, map_id: space.name, level: zone_id, building: @building_mappings[zone_id]?, capacity: space.capacity, vergesense_space_id: space.ref_id, vergesense_space_type: space.space_type, area_humidity: humidity, area_temperature: temperature, area_air_quality: iaq, signs_of_life: space.signs_of_life}\n end\nend\n"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/vergesense/location_service.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L80"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/vergesense/location_service.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L85"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L36"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/location_service.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L40"},"def":{"name":"on_update","visibility":"Public","body":"@return_empty_spaces = (setting?(Bool, :return_empty_spaces)) || false\n@desk_space_types = (setting?(Array(String), :desk_space_types)) || [\"desk\"]\n@floor_mappings = setting(Hash(String, NamedTuple(building_id: String | ::Nil, level_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.values.map do |z|\n level = z[:level_id]\n @building_mappings[level] = z[:building_id]\n level\nend\nbind_floor_status\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Detail|Nil-instance-method","name":"sensor","doc":"===================================\nSensor Interface functions\n===================================","summary":"

=================================== Sensor Interface functions ===================================

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Detail | Nil","location":{"filename":"src/vergesense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L138"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if id\n else\n return nil\n end\n zone_id, _, space_id = mac.rpartition('-')\n if zone_id.empty? || space_id.empty?\n return nil\n end\n floor = @occupancy_mappings[zone_id]?\n if floor\n else\n return nil\n end\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return nil\n end\n case id\n when \"people\"\n build_sensor_details(zone_id, floor, floor_space, :people_count)\n when \"presence\"\n build_sensor_details(zone_id, floor, floor_space, :presence)\n when \"humidity\"\n build_sensor_details(zone_id, floor, floor_space, :humidity)\n when \"temp\"\n build_sensor_details(zone_id, floor, floor_space, :temperature)\n when \"air\"\n build_sensor_details(zone_id, floor, floor_space, :air_quality)\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Detail)","location":{"filename":"src/vergesense/location_service.cr","line_number":172,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/location_service.cr#L172"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif mac\n level_zone, _, space_id = mac.rpartition('-')\n if (zone_id && (zone_id != level_zone)) || space_id.empty?\n return NO_MATCH\n end\n zone_id = level_zone\nend\nif zone_id && (!(@occupancy_mappings.has_key?(zone_id)))\n return NO_MATCH\nend\nif space_id\n floor = @occupancy_mappings[zone_id]\n floor_space = floor.spaces.find do |space|\n space.ref_id == space_id\n end\n if floor_space\n else\n return NO_MATCH\n end\n spaces = [{zone_id, floor, floor_space}]\nelse\n if zone_id\n floor = @occupancy_mappings[zone_id]\n spaces = floor.spaces.map do |space|\n {zone_id, floor, space}\n end\n else\n spaces = @occupancy_mappings.flat_map do |__arg2|\n zone = __arg2[0]\n floor = __arg2[1]\n floor.spaces.map do |space|\n {zone, floor, space}\n end\n end\n end\nend\nif sensor_type\n spaces.compact_map do |__arg3|\n zone = __arg3[0]\n floor = __arg3[1]\n space = __arg3[2]\n build_sensor_details(zone.not_nil!, floor, space, sensor_type)\n end\nelse\n spaces.flat_map do |__arg4|\n zone = __arg4[0]\n floor = __arg4[1]\n space = __arg4[2]\n space_sensors(zone.not_nil!, floor, space)\n end.compact\nend\n"}}]},{"html_id":"drivers/Vergesense/MqttExport","path":"Vergesense/MqttExport.html","kind":"class","full_name":"Vergesense::MqttExport","name":"MqttExport","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/mqtt_export.cr","line_number":4,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L4"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"inspect_state-instance-method","name":"inspect_state","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L46"},"def":{"name":"inspect_state","visibility":"Public","body":"{vergesense_subscriptions: @subscriptions, people_counts: @previous_counts}"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/mqtt_export.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/mqtt_export.cr#L31"},"def":{"name":"on_update","visibility":"Public","body":"@mqtt_root_topic = (setting(String, :mqtt_root_topic)) || \"/t/root-topic\"\n@floors_to_export = (setting(Array(String), :floors_to_export)) || ([] of String)\n@debug = (setting(Bool, :debug)) || false\nsubscriptions.clear\n@subscriptions = 0\n@floors_to_export.each do |floor|\n system.subscribe(:Vergesense_1, floor) do |_subscription, vergesense_floor_json|\n vergesense_to_mqtt(Floor.from_json(vergesense_floor_json))\n end\n @subscriptions = @subscriptions + 1\nend\n"}}]},{"html_id":"drivers/Vergesense/People","path":"Vergesense/People.html","kind":"struct","full_name":"Vergesense::People","name":"People","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":98,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L98"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":99,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L99"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"count:UInt32|Nil-instance-method","name":"count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L101"},"def":{"name":"count","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@count"}},{"html_id":"count=(count:UInt32|Nil)-instance-method","name":"count=","abstract":false,"args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"args_string":"(count : UInt32 | Nil)","args_html":"(count : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L101"},"def":{"name":"count=","args":[{"name":"count","external_name":"count","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@count = count"}}]},{"html_id":"drivers/Vergesense/Report","path":"Vergesense/Report.html","kind":"struct","full_name":"Vergesense::Report","name":"Report","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L48"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L49"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"person_count:Int32|Nil-instance-method","name":"person_count","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L52"},"def":{"name":"person_count","return_type":"Int32 | ::Nil","visibility":"Public","body":"@person_count"}},{"html_id":"person_count=(person_count:Int32|Nil)-instance-method","name":"person_count=","abstract":false,"args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"args_string":"(person_count : Int32 | Nil)","args_html":"(person_count : Int32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L52"},"def":{"name":"person_count=","args":[{"name":"person_count","external_name":"person_count","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@person_count = person_count"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L53"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"timestamp:Time-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L51"},"def":{"name":"timestamp","return_type":"Time","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"args_string":"(timestamp : Time)","args_html":"(timestamp : Time)","location":{"filename":"src/vergesense/models.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L51"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/RoomSensor","path":"Vergesense/RoomSensor.html","kind":"class","full_name":"Vergesense::RoomSensor","name":"RoomSensor","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/room_sensor.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"SENSOR_TYPES","name":"SENSOR_TYPES","value":"{SensorType::PeopleCount, SensorType::Presence, SensorType::Humidity, SensorType::Temperature, SensorType::AirQuality}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"if (value = @floor_name).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#floor_name cannot be nil\"))\nelse\n value\nend"}},{"html_id":"floor_name?:String|Nil-instance-method","name":"floor_name?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":22,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L22"},"def":{"name":"floor_name?","return_type":"String | ::Nil","visibility":"Public","body":"@floor_name"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":28,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L28"},"def":{"name":"on_update","visibility":"Public","body":"@space_id = setting(String, :space_ref_id)\nsubscriptions.clear\nschedule.clear\nsystem.subscribe(:Vergesense, 1, \"init_complete\") do |_sub, value|\n if value == \"true\"\n subscribe_to_sensor\n end\nend\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/vergesense/room_sensor.cr","line_number":100,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L100"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\nend\nif id\nelse\n return nil\nend\nif mac == \"verg-#{@space_id}\"\nelse\n return nil\nend\ncase id\nwhen \"people\"\n build_sensor_details(:people_count)\nwhen \"presence\"\n build_sensor_details(:presence)\nwhen \"humidity\"\n build_sensor_details(:humidity)\nwhen \"temperature\"\n build_sensor_details(:temperature)\nwhen \"air_quality\"\n build_sensor_details(:air_quality)\nend\n"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/vergesense/room_sensor.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L81"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\nend\nif mac && (mac != \"verg-#{@space_id}\")\n return NO_MATCH\nend\nif type\n sensor_type = SensorType.parse(type)\n if SENSOR_TYPES.includes?(sensor_type)\n else\n return NO_MATCH\n end\nend\nif zone_id && (!(system.zones.includes?(zone_id)))\n return NO_MATCH\nend\nif sensor_type\n sensor = build_sensor_details(sensor_type)\n if sensor\n else\n return NO_MATCH\n end\n [sensor]\nelse\n space_sensors\nend\n"}},{"html_id":"space:Space-instance-method","name":"space","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space","return_type":"Space","visibility":"Public","body":"if (value = @space).nil?\n ::raise(NilAssertionError.new(\"Vergesense::RoomSensor#space cannot be nil\"))\nelse\n value\nend"}},{"html_id":"space?:Space|Nil-instance-method","name":"space?","abstract":false,"location":{"filename":"src/vergesense/room_sensor.cr","line_number":21,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/room_sensor.cr#L21"},"def":{"name":"space?","return_type":"Space | ::Nil","visibility":"Public","body":"@space"}}]},{"html_id":"drivers/Vergesense/Sensor","path":"Vergesense/Sensor.html","kind":"struct","full_name":"Vergesense::Sensor","name":"Sensor","abstract":false,"superclass":{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Struct","kind":"struct","full_name":"Struct","name":"Struct"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L30"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L31"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"units:String-instance-method","name":"units","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L33"},"def":{"name":"units","return_type":"String","visibility":"Public","body":"@units"}},{"html_id":"units=(units:String)-instance-method","name":"units=","abstract":false,"args":[{"name":"units","external_name":"units","restriction":"String"}],"args_string":"(units : String)","args_html":"(units : String)","location":{"filename":"src/vergesense/models.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L33"},"def":{"name":"units=","args":[{"name":"units","external_name":"units","restriction":"String"}],"visibility":"Public","body":"@units = units"}},{"html_id":"value:Float64-instance-method","name":"value","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L34"},"def":{"name":"value","return_type":"Float64","visibility":"Public","body":"@value"}},{"html_id":"value=(value:Float64)-instance-method","name":"value=","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64"}],"args_string":"(value : Float64)","args_html":"(value : Float64)","location":{"filename":"src/vergesense/models.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L34"},"def":{"name":"value=","args":[{"name":"value","external_name":"value","restriction":"Float64"}],"visibility":"Public","body":"@value = value"}}]},{"html_id":"drivers/Vergesense/Space","path":"Vergesense/Space.html","kind":"class","full_name":"Vergesense::Space","name":"Space","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/models.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L56"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/vergesense/models.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L57"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"building_ref_id:String|Nil-instance-method","name":"building_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@building_ref_id"}},{"html_id":"building_ref_id=(building_ref_id:String|Nil)-instance-method","name":"building_ref_id=","abstract":false,"args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"args_string":"(building_ref_id : String | Nil)","args_html":"(building_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L59"},"def":{"name":"building_ref_id=","args":[{"name":"building_ref_id","external_name":"building_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@building_ref_id = building_ref_id"}},{"html_id":"capacity:UInt32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L64"},"def":{"name":"capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:UInt32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(capacity : UInt32 | Nil)","args_html":"(capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L64"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"environment:Environment|Nil-instance-method","name":"environment","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L69"},"def":{"name":"environment","return_type":"Environment | ::Nil","visibility":"Public","body":"@environment"}},{"html_id":"environment=(environment:Environment|Nil)-instance-method","name":"environment=","abstract":false,"args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"args_string":"(environment : Environment | Nil)","args_html":"(environment : Environment | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L69"},"def":{"name":"environment=","args":[{"name":"environment","external_name":"environment","restriction":"Environment | ::Nil"}],"visibility":"Public","body":"@environment = environment"}},{"html_id":"floor_key-instance-method","name":"floor_key","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L82"},"def":{"name":"floor_key","visibility":"Public","body":"\"#{building_ref_id}-#{floor_ref_id}\".strip"}},{"html_id":"floor_ref_id:String|Nil-instance-method","name":"floor_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@floor_ref_id"}},{"html_id":"floor_ref_id=(floor_ref_id:String|Nil)-instance-method","name":"floor_ref_id=","abstract":false,"args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"args_string":"(floor_ref_id : String | Nil)","args_html":"(floor_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L60"},"def":{"name":"floor_ref_id=","args":[{"name":"floor_ref_id","external_name":"floor_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@floor_ref_id = floor_ref_id"}},{"html_id":"last_reports:Array(Report)|Nil-instance-method","name":"last_reports","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L68"},"def":{"name":"last_reports","return_type":"Array(Report) | ::Nil","visibility":"Public","body":"@last_reports"}},{"html_id":"last_reports=(last_reports:Array(Report)|Nil)-instance-method","name":"last_reports=","abstract":false,"args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"args_string":"(last_reports : Array(Report) | Nil)","args_html":"(last_reports : Array(Report) | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L68"},"def":{"name":"last_reports=","args":[{"name":"last_reports","external_name":"last_reports","restriction":"Array(Report) | ::Nil"}],"visibility":"Public","body":"@last_reports = last_reports"}},{"html_id":"max_capacity:UInt32|Nil-instance-method","name":"max_capacity","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity","return_type":"UInt32 | ::Nil","visibility":"Public","body":"@max_capacity"}},{"html_id":"max_capacity=(max_capacity:UInt32|Nil)-instance-method","name":"max_capacity=","abstract":false,"args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"args_string":"(max_capacity : UInt32 | Nil)","args_html":"(max_capacity : UInt32 | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L65"},"def":{"name":"max_capacity=","args":[{"name":"max_capacity","external_name":"max_capacity","restriction":"UInt32 | ::Nil"}],"visibility":"Public","body":"@max_capacity = max_capacity"}},{"html_id":"motion_detected:Bool|Nil-instance-method","name":"motion_detected","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected","return_type":"Bool | ::Nil","visibility":"Public","body":"@motion_detected"}},{"html_id":"motion_detected=(motion_detected:Bool|Nil)-instance-method","name":"motion_detected=","abstract":false,"args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"args_string":"(motion_detected : Bool | Nil)","args_html":"(motion_detected : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":71,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L71"},"def":{"name":"motion_detected=","args":[{"name":"motion_detected","external_name":"motion_detected","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@motion_detected = motion_detected"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L63"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":63,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L63"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}},{"html_id":"people:People|Nil-instance-method","name":"people","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L67"},"def":{"name":"people","return_type":"People | ::Nil","visibility":"Public","body":"@people"}},{"html_id":"people=(people:People|Nil)-instance-method","name":"people=","doc":"property geometry : Geometry?","summary":"

property geometry : Geometry?

","abstract":false,"args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"args_string":"(people : People | Nil)","args_html":"(people : People | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L67"},"def":{"name":"people=","args":[{"name":"people","external_name":"people","restriction":"People | ::Nil"}],"visibility":"Public","body":"@people = people"}},{"html_id":"ref_id-instance-method","name":"ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":86,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L86"},"def":{"name":"ref_id","visibility":"Public","body":"(self.space_ref_id || self.floor_ref_id) || self.space_type"}},{"html_id":"signs_of_life:Bool|Nil-instance-method","name":"signs_of_life","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life","return_type":"Bool | ::Nil","visibility":"Public","body":"@signs_of_life"}},{"html_id":"signs_of_life=(signs_of_life:Bool|Nil)-instance-method","name":"signs_of_life=","doc":"NOTE:: not returned by the API, we fill this in","summary":"

NOTE : not returned by the API, we fill this in

","abstract":false,"args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"args_string":"(signs_of_life : Bool | Nil)","args_html":"(signs_of_life : Bool | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":80,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L80"},"def":{"name":"signs_of_life=","args":[{"name":"signs_of_life","external_name":"signs_of_life","restriction":"Bool | ::Nil"}],"visibility":"Public","body":"@signs_of_life = signs_of_life"}},{"html_id":"signs_of_life?:Bool|Nil-instance-method","name":"signs_of_life?","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":73,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L73"},"def":{"name":"signs_of_life?","return_type":"Bool | ::Nil","visibility":"Public","body":"if report = last_reports.try(&.first?)\n if report.timestamp >= 2.hours.ago\n report.signs_of_life\n end\nend"}},{"html_id":"space_ref_id:String|Nil-instance-method","name":"space_ref_id","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id","return_type":"String | ::Nil","visibility":"Public","body":"@space_ref_id"}},{"html_id":"space_ref_id=(space_ref_id:String|Nil)-instance-method","name":"space_ref_id=","abstract":false,"args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"args_string":"(space_ref_id : String | Nil)","args_html":"(space_ref_id : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L61"},"def":{"name":"space_ref_id=","args":[{"name":"space_ref_id","external_name":"space_ref_id","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_ref_id = space_ref_id"}},{"html_id":"space_type:String|Nil-instance-method","name":"space_type","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L62"},"def":{"name":"space_type","return_type":"String | ::Nil","visibility":"Public","body":"@space_type"}},{"html_id":"space_type=(space_type:String|Nil)-instance-method","name":"space_type=","abstract":false,"args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"args_string":"(space_type : String | Nil)","args_html":"(space_type : String | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L62"},"def":{"name":"space_type=","args":[{"name":"space_type","external_name":"space_type","restriction":"String | ::Nil"}],"visibility":"Public","body":"@space_type = space_type"}},{"html_id":"timestamp:Time|Nil-instance-method","name":"timestamp","abstract":false,"location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L70"},"def":{"name":"timestamp","return_type":"Time | ::Nil","visibility":"Public","body":"@timestamp"}},{"html_id":"timestamp=(timestamp:Time|Nil)-instance-method","name":"timestamp=","abstract":false,"args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"args_string":"(timestamp : Time | Nil)","args_html":"(timestamp : Time | Nil)","location":{"filename":"src/vergesense/models.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/models.cr#L70"},"def":{"name":"timestamp=","args":[{"name":"timestamp","external_name":"timestamp","restriction":"Time | ::Nil"}],"visibility":"Public","body":"@timestamp = timestamp"}}]},{"html_id":"drivers/Vergesense/VergesenseAPI","path":"Vergesense/VergesenseAPI.html","kind":"class","full_name":"Vergesense::VergesenseAPI","name":"VergesenseAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/vergesense/vergesense_api.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"EMPTY_HEADERS","name":"EMPTY_HEADERS","value":"{} of String => String"},{"id":"SUCCESS_RESPONSE","name":"SUCCESS_RESPONSE","value":"{HTTP::Status::OK, EMPTY_HEADERS, nil}"}],"namespace":{"html_id":"drivers/Vergesense","kind":"module","full_name":"Vergesense","name":"Vergesense"},"instance_methods":[{"html_id":"floor_key(space_id:String)-instance-method","name":"floor_key","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L85"},"def":{"name":"floor_key","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@spaces[space_id]"}},{"html_id":"init_sync-instance-method","name":"init_sync","doc":"Performs initial sync by loading buildings / floors / spaces","summary":"

Performs initial sync by loading buildings / floors / spaces

","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L45"},"def":{"name":"init_sync","visibility":"Public","body":"begin\n @sync_lock.synchronize do\n init_buildings\n if @buildings\n init_floors\n init_spaces\n init_floors_status\n self[\"init_complete\"] = true\n end\n end\nrescue e\n logger.error do\n \"failed to perform vergesense API sync\\n#{e.inspect_with_backtrace}\"\n end\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":27,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L27"},"def":{"name":"on_load","visibility":"Public","body":"on_update\nschedule.in(200.milliseconds) do\n init_sync\nend\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/vergesense/vergesense_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :vergesense_api_key)\n@debug_payload = (setting?(Bool, :debug_payload)) || false\n@poll_every = (setting?(Int32, :poll_every)).try(&.seconds)\nschedule.clear\nif poll_time = @poll_every\n schedule.every(poll_time) do\n init_sync\n end\nend\n"}},{"html_id":"space_report_api(method:String,headers:Hash(String,Array(String)),body:String)-instance-method","name":"space_report_api","doc":"Webhook endpoint for space_report API, expects version 2","summary":"

Webhook endpoint for space_report API, expects version 2

","abstract":false,"args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"args_string":"(method : String, headers : Hash(String, Array(String)), body : String)","args_html":"(method : String, headers : Hash(String, Array(String)), body : String)","location":{"filename":"src/vergesense/vergesense_api.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/vergesense/vergesense_api.cr#L65"},"def":{"name":"space_report_api","args":[{"name":"method","external_name":"method","restriction":"String"},{"name":"headers","external_name":"headers","restriction":"Hash(String, Array(String))"},{"name":"body","external_name":"body","restriction":"String"}],"visibility":"Public","body":"logger.debug do\n \"space_report API received: #{method},\\nheaders #{headers},\\nbody size #{body.size}\"\nend\nif @debug_payload\n logger.debug do\n body\n end\nend\nbegin\n remote_space = Space.from_json(body)\n logger.debug do\n \"parsed vergesense payload\"\n end\n update_floor_space(remote_space)\n update_single_floor_status(remote_space.floor_key, @floors[remote_space.floor_key]?)\nrescue e\n logger.error do\n \"failed to parse vergesense space_report API payload\\n#{e.inspect_with_backtrace}\"\n end\n logger.debug do\n \"failed payload body was\\n#{body}\"\n end\nend\nSUCCESS_RESPONSE\n"}}]}]},{"html_id":"drivers/Whispir","path":"Whispir.html","kind":"module","full_name":"Whispir","name":"Whispir","abstract":false,"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Whispir/Messages","path":"Whispir/Messages.html","kind":"class","full_name":"Whispir::Messages","name":"Messages","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/whispir/messages.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/SMS","kind":"module","full_name":"PlaceOS::Driver::Interface::SMS","name":"SMS"}],"namespace":{"html_id":"drivers/Whispir","kind":"module","full_name":"Whispir","name":"Whispir"},"instance_methods":[{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/whispir/messages.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L29"},"def":{"name":"on_update","visibility":"Public","body":"@api_key = setting(String, :api_key)"}},{"html_id":"send_sms(phone_numbers:String|Array(String),message:String,format:String|Nil=\"SMS\",source:String|Nil=nil)-instance-method","name":"send_sms","abstract":false,"args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"args_string":"(phone_numbers : String | Array(String), message : String, format : String | Nil = \"SMS\", source : String | Nil = nil)","args_html":"(phone_numbers : String | Array(String), message : String, format : String | Nil = "SMS", source : String | Nil = nil)","location":{"filename":"src/whispir/messages.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/whispir/messages.cr#L33"},"def":{"name":"send_sms","args":[{"name":"phone_numbers","external_name":"phone_numbers","restriction":"String | Array(String)"},{"name":"message","external_name":"message","restriction":"String"},{"name":"format","default_value":"\"SMS\"","external_name":"format","restriction":"String | ::Nil"},{"name":"source","default_value":"nil","external_name":"source","restriction":"String | ::Nil"}],"visibility":"Public","body":"if phone_numbers.is_a?(Array)\nelse\n phone_numbers = [phone_numbers]\nend\nresponse = post(\"/messages?apikey=#{@api_key}\", body: {to: phone_numbers.join(\";\"), subject: \"PlaceOS Notification\", body: message}.to_json, headers: {\"Content-Type\" => \"application/vnd.whispir.message-v1+json\", \"Accept\" => \"application/vnd.whispir.message-v1+json\", \"x-api-key\" => @api_key})\nif response.status_code == 202\nelse\n raise(\"request failed with #{response.status_code}\")\nend\nlocation = response.headers[\"Location\"]?\nlogger.debug do\n \"message sent: #{location}\"\nend\nlocation\n"}}]}]},{"html_id":"drivers/WilliamsAV","path":"WilliamsAV.html","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV","abstract":false,"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM","path":"WilliamsAV/WaveCastFM.html","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"TYPES","name":"TYPES","value":"{Command::TDU8_REBOOT => Type::TT_U8, Command::TDU8_RESTORE_DEFAULTS => Type::TT_U8, Command::TDU8_VU_METER_VALUE => Type::TT_U8, Command::TDU8_INPUT_GAIN => Type::TT_U8, Command::TDU8_INPUT_SOURCE => Type::TT_U8, Command::TDU8_PRESET => Type::TT_U8, Command::TDU8_HIGH_PASS => Type::TT_U8, Command::TDU8_LOW_PASS => Type::TT_U8, Command::TDU8_COMPRESSION => Type::TT_U8, Command::TDU8_USE_DHCP => Type::TT_U8, Command::TDU8_AUDIO_TX_MODE => Type::TT_U8, Command::TDU8_TTL => Type::TT_U8, Command::TDU8_SECURE_MODE => Type::TT_U8, Command::TDU8_PANEL_LOCK => Type::TT_U8, Command::TDU32_RF_TIMEOUT => Type::TT_U32, Command::TDU8_RF_CHANNEL => Type::TT_U8, Command::TDU8_RF_17_CHANNEL_MODE => Type::TT_U8, Command::TDU8_RF_POWER => Type::TT_U8, Command::TDSTR_SERVER_NAME => Type::TT_STRING, Command::TDSTR_STATIC_IP_ADDR => Type::TT_STRING, Command::TDSTR_STATIC_SUBNET_MASK => Type::TT_STRING, Command::TDSTR_STATIC_GATEWAY_ADDR => Type::TT_STRING, Command::TDSTR_MULTICAST_ADDR => Type::TT_STRING, Command::TDSTR_JOIN_CODE => Type::TT_STRING}"}],"namespace":{"html_id":"drivers/WilliamsAV","kind":"module","full_name":"WilliamsAV","name":"WilliamsAV"},"instance_methods":[{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":25,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L25"},"def":{"name":"connected","visibility":"Public","body":"query_state"}},{"html_id":"enable_join_code(state:Bool)-instance-method","name":"enable_join_code","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L161"},"def":{"name":"enable_join_code","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_SECURE_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"input_gain(value:UInt8)-instance-method","name":"input_gain","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L187"},"def":{"name":"input_gain","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 50_u8)\nwrite(Command::TDU8_INPUT_GAIN, value)\n"}},{"html_id":"input_source(value:InputSource)-instance-method","name":"input_source","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"args_string":"(value : InputSource)","args_html":"(value : InputSource)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L202"},"def":{"name":"input_source","args":[{"name":"value","external_name":"value","restriction":"InputSource"}],"visibility":"Public","body":"write(Command::TDU8_INPUT_SOURCE, value.to_u8)"}},{"html_id":"lock_front_panel(state:Bool)-instance-method","name":"lock_front_panel","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":230,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L230"},"def":{"name":"lock_front_panel","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_PANEL_LOCK, state ? 1_u8 : 0_u8)"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":16,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L16"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":20,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L20"},"def":{"name":"on_update","visibility":"Public","body":"schedule.clear\nschedule.every(1.minute) do\n query_state\nend\n"}},{"html_id":"preset(value:Preset)-instance-method","name":"preset","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Preset"}],"args_string":"(value : Preset)","args_html":"(value : Preset)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":214,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L214"},"def":{"name":"preset","args":[{"name":"value","external_name":"value","restriction":"Preset"}],"visibility":"Public","body":"write(Command::TDU8_PRESET, value.to_u8)"}},{"html_id":"query_state-instance-method","name":"query_state","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":92,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L92"},"def":{"name":"query_state","visibility":"Public","body":"response = get(\"/TBL-READ?All\")\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\ncount = 0\n(response.body.split('\\n')).each do |line|\n if line.presence\n else\n next\n end\n parts = (line.split(\",\")).map!(&.strip)\n begin\n type = Type.parse(parts[0])\n command = (Command.parse?(parts[1])) || parts[1]\n value_raw = parts[2]\n value = case type\n in Type::TT_FLOAT\n value_raw.to_f\n in Type::TT_U8, Type::TT_U32, Type::TT_S8, Type::TT_S32\n value_raw.to_i\n in Type::TT_STRING\n value_raw\n end\n set_status(command, value)\n count = count + 1\n rescue error\n raise(\"error parsing response line\\n#{error.inspect_with_backtrace}\")\n end\nend\n\"#{count} values updated\"\n"}},{"html_id":"reboot-instance-method","name":"reboot","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L171"},"def":{"name":"reboot","visibility":"Public","body":"write(Command::TDU8_REBOOT, 1_u8)"}},{"html_id":"restore_defaults-instance-method","name":"restore_defaults","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":176,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L176"},"def":{"name":"restore_defaults","visibility":"Public","body":"write(Command::TDU8_RESTORE_DEFAULTS, 1_u8)"}},{"html_id":"set_join_code(pin:String)-instance-method","name":"set_join_code","abstract":false,"args":[{"name":"pin","external_name":"pin","restriction":"String"}],"args_string":"(pin : String)","args_html":"(pin : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":166,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L166"},"def":{"name":"set_join_code","args":[{"name":"pin","external_name":"pin","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_JOIN_CODE, pin)"}},{"html_id":"set_multicast_address(ip_address:String)-instance-method","name":"set_multicast_address","abstract":false,"args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"args_string":"(ip_address : String)","args_html":"(ip_address : String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":235,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L235"},"def":{"name":"set_multicast_address","args":[{"name":"ip_address","external_name":"ip_address","restriction":"String"}],"visibility":"Public","body":"write(Command::TDSTR_MULTICAST_ADDR, ip_address)"}},{"html_id":"set_ttl(value:UInt8)-instance-method","name":"set_ttl","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(value : UInt8)","args_html":"(value : UInt8)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":224,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L224"},"def":{"name":"set_ttl","args":[{"name":"value","external_name":"value","restriction":"UInt8"}],"visibility":"Public","body":"value = value.clamp(0_u8, 30_u8)\nwrite(Command::TDU8_TTL, value)\n"}},{"html_id":"set_vu_meter(value:UInt8,overload:Bool=false)-instance-method","name":"set_vu_meter","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"args_string":"(value : UInt8, overload : Bool = false)","args_html":"(value : UInt8, overload : Bool = false)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L181"},"def":{"name":"set_vu_meter","args":[{"name":"value","external_name":"value","restriction":"UInt8"},{"name":"overload","default_value":"false","external_name":"overload","restriction":"Bool"}],"visibility":"Public","body":"if overload\nelse\n value = value.clamp(0_u8, 9_u8)\nend\nwrite(Command::TDU8_VU_METER_VALUE, value)\n"}},{"html_id":"transmit_multicast(state:Bool)-instance-method","name":"transmit_multicast","abstract":false,"args":[{"name":"state","external_name":"state","restriction":"Bool"}],"args_string":"(state : Bool)","args_html":"(state : Bool)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":219,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L219"},"def":{"name":"transmit_multicast","args":[{"name":"state","external_name":"state","restriction":"Bool"}],"visibility":"Public","body":"write(Command::TDU8_AUDIO_TX_MODE, state ? 1_u8 : 0_u8)"}},{"html_id":"write(command:Command,value:UInt8|UInt32|String)-instance-method","name":"write","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"args_string":"(command : Command, value : UInt8 | UInt32 | String)","args_html":"(command : Command, value : UInt8 | UInt32 | String)","location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":145,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L145"},"def":{"name":"write","args":[{"name":"command","external_name":"command","restriction":"Command"},{"name":"value","external_name":"value","restriction":"UInt8 | UInt32 | String"}],"visibility":"Public","body":"body_data = URI::Params.build do |form|\n form.add(\"type\", TYPES[command].to_s)\n form.add(\"id\", command.to_s)\n form.add(\"value\", value.to_s)\nend.to_s\nlogger.debug do\n \"updating setting: #{body_data}\"\nend\nresponse = post(\"/TBL-WRITE\", body: body_data)\nif response.success?\nelse\n raise(\"request failed with #{response.status_code}\\n#{response.body}\")\nend\nset_status(command, value)\n"}}],"types":[{"html_id":"drivers/WilliamsAV/WaveCastFM/Command","path":"WilliamsAV/WaveCastFM/Command.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Command","name":"Command","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L29"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TDU8_REBOOT","name":"TDU8_REBOOT","value":"0"},{"id":"TDU8_RESTORE_DEFAULTS","name":"TDU8_RESTORE_DEFAULTS","value":"1"},{"id":"TDU8_VU_METER_VALUE","name":"TDU8_VU_METER_VALUE","value":"2"},{"id":"TDU8_INPUT_GAIN","name":"TDU8_INPUT_GAIN","value":"3"},{"id":"TDU8_INPUT_SOURCE","name":"TDU8_INPUT_SOURCE","value":"4"},{"id":"TDU8_PRESET","name":"TDU8_PRESET","value":"5"},{"id":"TDU8_HIGH_PASS","name":"TDU8_HIGH_PASS","value":"6"},{"id":"TDU8_LOW_PASS","name":"TDU8_LOW_PASS","value":"7"},{"id":"TDU8_COMPRESSION","name":"TDU8_COMPRESSION","value":"8"},{"id":"TDU8_USE_DHCP","name":"TDU8_USE_DHCP","value":"9"},{"id":"TDU8_AUDIO_TX_MODE","name":"TDU8_AUDIO_TX_MODE","value":"10"},{"id":"TDU8_TTL","name":"TDU8_TTL","value":"11"},{"id":"TDU8_SECURE_MODE","name":"TDU8_SECURE_MODE","value":"12"},{"id":"TDU8_PANEL_LOCK","name":"TDU8_PANEL_LOCK","value":"13"},{"id":"TDU32_RF_TIMEOUT","name":"TDU32_RF_TIMEOUT","value":"14"},{"id":"TDU8_RF_CHANNEL","name":"TDU8_RF_CHANNEL","value":"15"},{"id":"TDU8_RF_17_CHANNEL_MODE","name":"TDU8_RF_17_CHANNEL_MODE","value":"16"},{"id":"TDU8_RF_POWER","name":"TDU8_RF_POWER","value":"17"},{"id":"TDSTR_SERVER_NAME","name":"TDSTR_SERVER_NAME","value":"18"},{"id":"TDSTR_STATIC_IP_ADDR","name":"TDSTR_STATIC_IP_ADDR","value":"19"},{"id":"TDSTR_STATIC_SUBNET_MASK","name":"TDSTR_STATIC_SUBNET_MASK","value":"20"},{"id":"TDSTR_STATIC_GATEWAY_ADDR","name":"TDSTR_STATIC_GATEWAY_ADDR","value":"21"},{"id":"TDSTR_MULTICAST_ADDR","name":"TDSTR_MULTICAST_ADDR","value":"22"},{"id":"TDSTR_JOIN_CODE","name":"TDSTR_JOIN_CODE","value":"23"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tdstr_join_code?-instance-method","name":"tdstr_join_code?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L53"},"def":{"name":"tdstr_join_code?","visibility":"Public","body":"self == TDSTR_JOIN_CODE"}},{"html_id":"tdstr_multicast_addr?-instance-method","name":"tdstr_multicast_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L52"},"def":{"name":"tdstr_multicast_addr?","visibility":"Public","body":"self == TDSTR_MULTICAST_ADDR"}},{"html_id":"tdstr_server_name?-instance-method","name":"tdstr_server_name?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L48"},"def":{"name":"tdstr_server_name?","visibility":"Public","body":"self == TDSTR_SERVER_NAME"}},{"html_id":"tdstr_static_gateway_addr?-instance-method","name":"tdstr_static_gateway_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":51,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L51"},"def":{"name":"tdstr_static_gateway_addr?","visibility":"Public","body":"self == TDSTR_STATIC_GATEWAY_ADDR"}},{"html_id":"tdstr_static_ip_addr?-instance-method","name":"tdstr_static_ip_addr?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L49"},"def":{"name":"tdstr_static_ip_addr?","visibility":"Public","body":"self == TDSTR_STATIC_IP_ADDR"}},{"html_id":"tdstr_static_subnet_mask?-instance-method","name":"tdstr_static_subnet_mask?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L50"},"def":{"name":"tdstr_static_subnet_mask?","visibility":"Public","body":"self == TDSTR_STATIC_SUBNET_MASK"}},{"html_id":"tdu32_rf_timeout?-instance-method","name":"tdu32_rf_timeout?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L44"},"def":{"name":"tdu32_rf_timeout?","visibility":"Public","body":"self == TDU32_RF_TIMEOUT"}},{"html_id":"tdu8_audio_tx_mode?-instance-method","name":"tdu8_audio_tx_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":40,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L40"},"def":{"name":"tdu8_audio_tx_mode?","visibility":"Public","body":"self == TDU8_AUDIO_TX_MODE"}},{"html_id":"tdu8_compression?-instance-method","name":"tdu8_compression?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":38,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L38"},"def":{"name":"tdu8_compression?","visibility":"Public","body":"self == TDU8_COMPRESSION"}},{"html_id":"tdu8_high_pass?-instance-method","name":"tdu8_high_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":36,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L36"},"def":{"name":"tdu8_high_pass?","visibility":"Public","body":"self == TDU8_HIGH_PASS"}},{"html_id":"tdu8_input_gain?-instance-method","name":"tdu8_input_gain?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L33"},"def":{"name":"tdu8_input_gain?","visibility":"Public","body":"self == TDU8_INPUT_GAIN"}},{"html_id":"tdu8_input_source?-instance-method","name":"tdu8_input_source?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L34"},"def":{"name":"tdu8_input_source?","visibility":"Public","body":"self == TDU8_INPUT_SOURCE"}},{"html_id":"tdu8_low_pass?-instance-method","name":"tdu8_low_pass?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L37"},"def":{"name":"tdu8_low_pass?","visibility":"Public","body":"self == TDU8_LOW_PASS"}},{"html_id":"tdu8_panel_lock?-instance-method","name":"tdu8_panel_lock?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":43,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L43"},"def":{"name":"tdu8_panel_lock?","visibility":"Public","body":"self == TDU8_PANEL_LOCK"}},{"html_id":"tdu8_preset?-instance-method","name":"tdu8_preset?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":35,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L35"},"def":{"name":"tdu8_preset?","visibility":"Public","body":"self == TDU8_PRESET"}},{"html_id":"tdu8_reboot?-instance-method","name":"tdu8_reboot?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":30,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L30"},"def":{"name":"tdu8_reboot?","visibility":"Public","body":"self == TDU8_REBOOT"}},{"html_id":"tdu8_restore_defaults?-instance-method","name":"tdu8_restore_defaults?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":31,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L31"},"def":{"name":"tdu8_restore_defaults?","visibility":"Public","body":"self == TDU8_RESTORE_DEFAULTS"}},{"html_id":"tdu8_rf_17_channel_mode?-instance-method","name":"tdu8_rf_17_channel_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L46"},"def":{"name":"tdu8_rf_17_channel_mode?","visibility":"Public","body":"self == TDU8_RF_17_CHANNEL_MODE"}},{"html_id":"tdu8_rf_channel?-instance-method","name":"tdu8_rf_channel?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L45"},"def":{"name":"tdu8_rf_channel?","visibility":"Public","body":"self == TDU8_RF_CHANNEL"}},{"html_id":"tdu8_rf_power?-instance-method","name":"tdu8_rf_power?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L47"},"def":{"name":"tdu8_rf_power?","visibility":"Public","body":"self == TDU8_RF_POWER"}},{"html_id":"tdu8_secure_mode?-instance-method","name":"tdu8_secure_mode?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":42,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L42"},"def":{"name":"tdu8_secure_mode?","visibility":"Public","body":"self == TDU8_SECURE_MODE"}},{"html_id":"tdu8_ttl?-instance-method","name":"tdu8_ttl?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":41,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L41"},"def":{"name":"tdu8_ttl?","visibility":"Public","body":"self == TDU8_TTL"}},{"html_id":"tdu8_use_dhcp?-instance-method","name":"tdu8_use_dhcp?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":39,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L39"},"def":{"name":"tdu8_use_dhcp?","visibility":"Public","body":"self == TDU8_USE_DHCP"}},{"html_id":"tdu8_vu_meter_value?-instance-method","name":"tdu8_vu_meter_value?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L32"},"def":{"name":"tdu8_vu_meter_value?","visibility":"Public","body":"self == TDU8_VU_METER_VALUE"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/InputSource","path":"WilliamsAV/WaveCastFM/InputSource.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::InputSource","name":"InputSource","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":192,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L192"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"AnalogLineIn","name":"AnalogLineIn","value":"1"},{"id":"Mic","name":"Mic","value":"2"},{"id":"PhantomMic","name":"PhantomMic","value":"3"},{"id":"AES","name":"AES","value":"4"},{"id":"S_PDIF","name":"S_PDIF","value":"5"},{"id":"TestTone","name":"TestTone","value":"6"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"aes?-instance-method","name":"aes?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L196"},"def":{"name":"aes?","visibility":"Public","body":"self == AES"}},{"html_id":"analog_line_in?-instance-method","name":"analog_line_in?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":193,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L193"},"def":{"name":"analog_line_in?","visibility":"Public","body":"self == AnalogLineIn"}},{"html_id":"mic?-instance-method","name":"mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":194,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L194"},"def":{"name":"mic?","visibility":"Public","body":"self == Mic"}},{"html_id":"phantom_mic?-instance-method","name":"phantom_mic?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":195,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L195"},"def":{"name":"phantom_mic?","visibility":"Public","body":"self == PhantomMic"}},{"html_id":"s_pdif?-instance-method","name":"s_pdif?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":197,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L197"},"def":{"name":"s_pdif?","visibility":"Public","body":"self == S_PDIF"}},{"html_id":"test_tone?-instance-method","name":"test_tone?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":198,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L198"},"def":{"name":"test_tone?","visibility":"Public","body":"self == TestTone"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Preset","path":"WilliamsAV/WaveCastFM/Preset.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Preset","name":"Preset","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":206,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L206"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Voice","name":"Voice","value":"1"},{"id":"Music","name":"Music","value":"2"},{"id":"HearingAssist","name":"HearingAssist","value":"3"},{"id":"Custom","name":"Custom","value":"4"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"custom?-instance-method","name":"custom?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":210,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L210"},"def":{"name":"custom?","visibility":"Public","body":"self == Custom"}},{"html_id":"hearing_assist?-instance-method","name":"hearing_assist?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":209,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L209"},"def":{"name":"hearing_assist?","visibility":"Public","body":"self == HearingAssist"}},{"html_id":"music?-instance-method","name":"music?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":208,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L208"},"def":{"name":"music?","visibility":"Public","body":"self == Music"}},{"html_id":"voice?-instance-method","name":"voice?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":207,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L207"},"def":{"name":"voice?","visibility":"Public","body":"self == Voice"}}]},{"html_id":"drivers/WilliamsAV/WaveCastFM/Type","path":"WilliamsAV/WaveCastFM/Type.html","kind":"enum","full_name":"WilliamsAV::WaveCastFM::Type","name":"Type","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/williams_av/wave_cast_fm.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L56"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"TT_FLOAT","name":"TT_FLOAT","value":"0"},{"id":"TT_U8","name":"TT_U8","value":"1"},{"id":"TT_U32","name":"TT_U32","value":"2"},{"id":"TT_S8","name":"TT_S8","value":"3"},{"id":"TT_S32","name":"TT_S32","value":"4"},{"id":"TT_STRING","name":"TT_STRING","value":"5"}],"namespace":{"html_id":"drivers/WilliamsAV/WaveCastFM","kind":"class","full_name":"WilliamsAV::WaveCastFM","name":"WaveCastFM"},"instance_methods":[{"html_id":"tt_float?-instance-method","name":"tt_float?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":57,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L57"},"def":{"name":"tt_float?","visibility":"Public","body":"self == TT_FLOAT"}},{"html_id":"tt_s32?-instance-method","name":"tt_s32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L61"},"def":{"name":"tt_s32?","visibility":"Public","body":"self == TT_S32"}},{"html_id":"tt_s8?-instance-method","name":"tt_s8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L60"},"def":{"name":"tt_s8?","visibility":"Public","body":"self == TT_S8"}},{"html_id":"tt_string?-instance-method","name":"tt_string?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":62,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L62"},"def":{"name":"tt_string?","visibility":"Public","body":"self == TT_STRING"}},{"html_id":"tt_u32?-instance-method","name":"tt_u32?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L59"},"def":{"name":"tt_u32?","visibility":"Public","body":"self == TT_U32"}},{"html_id":"tt_u8?-instance-method","name":"tt_u8?","abstract":false,"location":{"filename":"src/williams_av/wave_cast_fm.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/williams_av/wave_cast_fm.cr#L58"},"def":{"name":"tt_u8?","visibility":"Public","body":"self == TT_U8"}}]}]}]},{"html_id":"drivers/Winmate","path":"Winmate.html","kind":"module","full_name":"Winmate","name":"Winmate","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Winmate/LedLightBar","path":"Winmate/LedLightBar.html","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":5,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L5"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"COLOUR_LOOKUP","name":"COLOUR_LOOKUP","value":"{16 => Led::Red, 17 => Led::Green, 18 => Led::Blue}"},{"id":"COLOURS","name":"COLOURS","value":"{Led::Red => 16_u8, Led::Green => 17_u8, Led::Blue => 18_u8}"},{"id":"COMMANDS","name":"COMMANDS","value":"{set: 97_u8, get: 96_u8}"},{"id":"DEFAULT_COLOURS","name":"DEFAULT_COLOURS","value":"{\"red\" => {red: 255_u8, green: 0_u8, blue: 0_u8}, \"green\" => {red: 0_u8, green: 255_u8, blue: 0_u8}, \"blue\" => {red: 0_u8, green: 0_u8, blue: 255_u8}, \"orange\" => {red: 200_u8, green: 0_u8, blue: 0_u8}, \"off\" => {red: 0_u8, green: 0_u8, blue: 0_u8}}"}],"namespace":{"html_id":"drivers/Winmate","kind":"module","full_name":"Winmate","name":"Winmate"},"instance_methods":[{"html_id":"colour(colour:String)-instance-method","name":"colour","abstract":false,"args":[{"name":"colour","external_name":"colour","restriction":"String"}],"args_string":"(colour : String)","args_html":"(colour : String)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L72"},"def":{"name":"colour","args":[{"name":"colour","external_name":"colour","restriction":"String"}],"visibility":"Public","body":"colours = @colours[colour]\nself[:colour_name] = colour\ncolours.each do |component, intensity|\n led = Led.parse(component.to_s)\n set(led, intensity)\nend\n"}},{"html_id":"connected-instance-method","name":"connected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L53"},"def":{"name":"connected","visibility":"Public","body":"@buffer = String.new\ntransport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n bytes[0].to_i\nend\ndo_poll\nschedule.every(50.seconds) do\n logger.debug do\n \"-- Polling Winmate LED\"\n end\n do_poll\nend\n"}},{"html_id":"disconnected-instance-method","name":"disconnected","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L68"},"def":{"name":"disconnected","visibility":"Public","body":"schedule.clear"}},{"html_id":"do_poll-instance-method","name":"do_poll","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":121,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L121"},"def":{"name":"do_poll","visibility":"Public","body":"query(:red, priority: 0)\nquery(:green, priority: 0)\nquery(:blue, priority: 0)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":11,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L11"},"def":{"name":"on_load","visibility":"Public","body":"queue.delay = 100.milliseconds\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L48"},"def":{"name":"on_update","visibility":"Public","body":"colours = (setting?(Colours, :colours)) || Colours.new\n@colours = colours.merge(DEFAULT_COLOURS)\n"}},{"html_id":"query(led:Led,**options)-instance-method","name":"query","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"}],"args_string":"(led : Led, **options)","args_html":"(led : Led, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":104,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L104"},"def":{"name":"query","args":[{"name":"led","external_name":"led","restriction":"Led"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"do_send(**options.merge({command: :get, colour: led}))"}},{"html_id":"received(bytes,task)-instance-method","name":"received","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(bytes, task)","args_html":"(bytes, task)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":127,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L127"},"def":{"name":"received","args":[{"name":"bytes","external_name":"bytes","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"received: #{bytes.hexstring}\"\nend\nif check_checksum(bytes)\nelse\n logger.warn do\n \"Error processing response. Possibly incorrect baud rate configured\"\n end\n return task.try(&.abort)\nend\nindicator = bytes[1]\ncolour = COLOUR_LOOKUP[indicator]?\nif colour\n self[colour.to_s.downcase] = bytes[2]\n task.try(&.success(bytes[2]))\nelse\n if indicator == 12\n else\n return task.try(&.abort)\n end\n task.try(&.success)\nend\n"}},{"html_id":"set(led:Led,value:UInt8,**options)-instance-method","name":"set","abstract":false,"args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"args_string":"(led : Led, value : UInt8, **options)","args_html":"(led : Led, value : UInt8, **options)","location":{"filename":"src/winmate/led_light_bar.cr","line_number":111,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L111"},"def":{"name":"set","args":[{"name":"led","external_name":"led","restriction":"Led"},{"name":"value","external_name":"value","restriction":"UInt8"}],"double_splat":{"name":"options","external_name":"options","restriction":""},"visibility":"Public","body":"self[led.to_s.downcase] = value\ndo_send(**options.merge({command: :set, colour: led, value: value}))\n"}}],"types":[{"html_id":"drivers/Winmate/LedLightBar/Colours","path":"Winmate/LedLightBar/Colours.html","kind":"alias","full_name":"Winmate::LedLightBar::Colours","name":"Colours","abstract":false,"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"Hash(String, NamedTuple(red: UInt8, green: UInt8, blue: UInt8))","aliased_html":"Hash(String, {red: UInt8, green: UInt8, blue: UInt8})","const":false,"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"}},{"html_id":"drivers/Winmate/LedLightBar/Led","path":"Winmate/LedLightBar/Led.html","kind":"enum","full_name":"Winmate::LedLightBar::Led","name":"Led","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/winmate/led_light_bar.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L81"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Red","name":"Red","value":"0"},{"id":"Green","name":"Green","value":"1"},{"id":"Blue","name":"Blue","value":"2"}],"namespace":{"html_id":"drivers/Winmate/LedLightBar","kind":"class","full_name":"Winmate::LedLightBar","name":"LedLightBar"},"instance_methods":[{"html_id":"blue?-instance-method","name":"blue?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":84,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L84"},"def":{"name":"blue?","visibility":"Public","body":"self == Blue"}},{"html_id":"green?-instance-method","name":"green?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L83"},"def":{"name":"green?","visibility":"Public","body":"self == Green"}},{"html_id":"red?-instance-method","name":"red?","abstract":false,"location":{"filename":"src/winmate/led_light_bar.cr","line_number":82,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/winmate/led_light_bar.cr#L82"},"def":{"name":"red?","visibility":"Public","body":"self == Red"}}]}]}]},{"html_id":"drivers/Xovis","path":"Xovis.html","kind":"module","full_name":"Xovis","name":"Xovis","abstract":false,"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Xovis/SensorAPI","path":"Xovis/SensorAPI.html","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"NO_MATCH","name":"NO_MATCH","value":"[] of Interface::Sensor::Detail"},{"id":"TYPES","name":"TYPES","value":"{\"line-counts\" => SensorType::QueueSize, \"zone-occupancy-counts\" => SensorType::PeopleCount, \"zone-in-out-counts\" => SensorType::Counter}"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor","kind":"module","full_name":"PlaceOS::Driver::Interface::Sensor","name":"Sensor"}],"namespace":{"html_id":"drivers/Xovis","kind":"module","full_name":"Xovis","name":"Xovis"},"instance_methods":[{"html_id":"capacity_data-instance-method","name":"capacity_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":150,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L150"},"def":{"name":"capacity_data","visibility":"Public","body":"response = get(\"/api/info/persistence\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlast_checked = Time.utc.to_unix\n{\"line\", \"zone-occupancy\", \"zone-in-out\"}.each do |count_name|\n xml_key_name = \"//count-#{count_name}-storage\"\n if count_data = (document.xpath_nodes(xml_key_name)).first?\n count_type = (count_name.split(\"-\", 2))[0]\n capacity = xpath_text(document, \"#{xml_key_name}/capacity\", &.to_i)\n key = \"#{count_name}-counts\"\n @state[key] = self[key] = (document.xpath_nodes(\"#{xml_key_name}/count-#{count_type}s/count-#{count_type}\")).map_with_index do |zone, index|\n attrs = {} of String => String | Int32 | Int64 | Nil\n zone.children.each do |child|\n content = child.text.strip\n attrs[child.name] = case child.name\n when \"entry-count\"\n content.to_i\n when \"first-entry\", \"last-entry\"\n content.empty? ? nil : (Time.parse!(content, \"%Y-%m-%dT%H:%M:%S%z\")).to_unix\n when \"text\"\n next\n else\n content\n end\n end\n last_entry = attrs[\"last-entry\"].as(Int64 | ::Nil)\n sensor = case count_name\n when \"line\"\n SensorDetail.new(SensorType::QueueSize, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"line-#{index}\", attrs[\"name\"].as(String))\n when \"zone-occupancy\"\n SensorDetail.new(SensorType::PeopleCount, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-occupancy-#{index}\", \"Occupancy #{attrs[\"name\"].as(String)}\")\n when \"zone-in-out\"\n SensorDetail.new(SensorType::Counter, (attrs[\"entry-count\"].as(Int32)).to_f, last_entry || last_checked, @mac, \"zone-in-out-#{index}\", \"In Out #{attrs[\"name\"].as(String)}\")\n else\n next\n end\n sensor.capacity = capacity\n sensor.last_entry = last_entry\n sensor.first_entry = attrs[\"first-entry\"].as(Int64 | ::Nil)\n sensor\n end.compact\n end\nend\ntrue\n"}},{"html_id":"count_data-instance-method","name":"count_data","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":130,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L130"},"def":{"name":"count_data","visibility":"Public","body":"response = get(\"/api/count-data\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nlines = {} of String => NamedTuple(name: String, id: String, type: String, sensor: String, data: Hash(String, String | Int32 | Float32))\nlines_xml = document.xpath_nodes(\"//lines/line\")\nself[:lines] = lines_xml.map do |line|\n attrs = {} of String => String | Hash(String, Int32)\n counts = {} of String => Int32\n line.attributes.each do |attr|\n attrs[attr.name] = attr.content\n end\n line.children.each do |child|\n if child.name == \"text\"\n next\n end\n counts[child.name] = child.text.to_i\n end\n attrs[\"counts\"] = counts\n attrs\nend\n"}},{"html_id":"device_status-instance-method","name":"device_status","doc":"Combined `/info` and `/info/status`","summary":"

Combined /info and /info/status

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":202,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L202"},"def":{"name":"device_status","visibility":"Public","body":"response = get(\"/api/info/sensor-status\", headers: {\"Accept\" => \"text/xml\"})\ndocument = check_success(response)\nparse_type_info(document, \"version\")\nparse_type_info(document, \"temperature\")\nif sensor = parse_text_info(document, \"sensor\")\n @mac = sensor[\"serial-number\"]? || @mac\nend\nparse_text_info(document, \"illumination\")\nparse_text_info(document, \"configuration\")\nparse_text_info(document, \"operation\")\ntrue\n"}},{"html_id":"get_logs-instance-method","name":"get_logs","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":109,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L109"},"def":{"name":"get_logs","visibility":"Public","body":"response = get(\"/api/info/log\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining logs: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"get_token-instance-method","name":"get_token","doc":"Alternative to using basic auth, but here really only for testing with postman","summary":"

Alternative to using basic auth, but here really only for testing with postman

","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":102,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L102"},"def":{"name":"get_token","visibility":"Public","body":"response = get(\"/api/auth/token\", headers: {\"Accept\" => \"text\"})\nif response.success?\nelse\n raise(\"issue obtaining token: #{response.status_code}\\n#{response.body}\")\nend\nresponse.body\n"}},{"html_id":"is_alive?-instance-method","name":"is_alive?","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":122,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L122"},"def":{"name":"is_alive?","visibility":"Public","body":"begin\n response = get(\"/api/info/alive\", headers: {\"Accept\" => \"text/xml\"})\n check_success(response)\n true\nrescue\n false\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":24,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L24"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":32,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L32"},"def":{"name":"on_update","visibility":"Public","body":"@poll_rate = ((setting?(Int32, :poll_rate)) || 15).seconds\n@mac = (URI.parse(config.uri.not_nil!)).hostname.not_nil!\nquery_capacity = setting?(Bool, :query_capacity)\nquery_counts = setting?(Bool, :query_counts)\nschedule.clear\nschedule.every(@poll_rate) do\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\nschedule.every(5.minutes) do\n device_status\nend\nschedule.in(@poll_rate / 3) do\n device_status\n if query_capacity == false\n else\n capacity_data\n end\n if query_counts == false\n else\n count_data\n end\nend\n"}},{"html_id":"reset_count-instance-method","name":"reset_count","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":116,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L116"},"def":{"name":"reset_count","visibility":"Public","body":"response = get(\"/api/count-data/reset\", headers: {\"Accept\" => \"text/xml\"})\ncheck_success(response)\ntrue\n"}},{"html_id":"sensor(mac:String,id:String|Nil=nil):Interface::Sensor::Detail|Nil-instance-method","name":"sensor","doc":"return the specified sensor details","summary":"

return the specified sensor details

","abstract":false,"args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","args_html":"(mac : String, id : String | Nil = nil) : Interface::Sensor::Detail | Nil","location":{"filename":"src/xovis/sensor_api.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L58"},"def":{"name":"sensor","args":[{"name":"mac","external_name":"mac","restriction":"String"},{"name":"id","default_value":"nil","external_name":"id","restriction":"String | ::Nil"}],"return_type":"Interface::Sensor::Detail | ::Nil","visibility":"Public","body":"begin\n logger.debug do\n \"sensor mac: #{mac}, id: #{id} requested\"\n end\n if @mac == mac\n else\n return nil\n end\n if id\n else\n return nil\n end\n sensor, _, index_str = id.rpartition('-')\n if sensor.empty?\n return nil\n end\n index = index_str.to_i\n if sensors = @state[\"#{sensor}-counts\"]?\n sensors[index]?\n end\nrescue error\n logger.warn(exception: error) do\n \"checking for sensor\"\n end\n nil\nend"}},{"html_id":"sensors(type:String|Nil=nil,mac:String|Nil=nil,zone_id:String|Nil=nil):Array(Interface::Sensor::Detail)-instance-method","name":"sensors","doc":"return an array of sensor details\nzone_id can be ignored if location is unknown by the sensor provider\nmac_address can be used to grab data from a single device (basic grouping)","summary":"

return an array of sensor details zone_id can be ignored if location is unknown by the sensor provider mac_address can be used to grab data from a single device (basic grouping)

","abstract":false,"args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"args_string":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","args_html":"(type : String | Nil = nil, mac : String | Nil = nil, zone_id : String | Nil = nil) : Array(Interface::Sensor::Detail)","location":{"filename":"src/xovis/sensor_api.cr","line_number":85,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L85"},"def":{"name":"sensors","args":[{"name":"type","default_value":"nil","external_name":"type","restriction":"String | ::Nil"},{"name":"mac","default_value":"nil","external_name":"mac","restriction":"String | ::Nil"},{"name":"zone_id","default_value":"nil","external_name":"zone_id","restriction":"String | ::Nil"}],"return_type":"Array(Interface::Sensor::Detail)","visibility":"Public","body":"begin\n logger.debug do\n \"sensors of type: #{type}, mac: #{mac}, zone_id: #{zone_id} requested\"\n end\n if mac && (mac != @mac)\n return NO_MATCH\n end\n if type\n else\n return @state.values.flatten.map do |__arg0|\n __arg0.as(Interface::Sensor::Detail)\n end\n end\n sensor_type = SensorType.parse(type)\n matches = [] of Array(Interface::Sensor::Detail)\n TYPES.each do |key, key_type|\n if key_type == sensor_type\n matches << @state[key].map do |__arg1|\n __arg1.as(Interface::Sensor::Detail)\n end\n end\n end\n matches.flatten\nrescue error\n logger.warn(exception: error) do\n \"searching for sensors\"\n end\n NO_MATCH\nend"}}],"types":[{"html_id":"drivers/Xovis/SensorAPI/SensorDetail","path":"Xovis/SensorAPI/SensorDetail.html","kind":"class","full_name":"Xovis::SensorAPI::SensorDetail","name":"SensorDetail","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Sensor/Detail","kind":"class","full_name":"PlaceOS::Driver::Interface::Sensor::Detail","name":"Detail"},{"html_id":"drivers/JSON/Serializable/Unmapped","kind":"module","full_name":"JSON::Serializable::Unmapped","name":"Unmapped"},{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L52"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"drivers/Xovis/SensorAPI","kind":"class","full_name":"Xovis::SensorAPI","name":"SensorAPI"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xovis/sensor_api.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L52"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32|Nil-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity","return_type":"Int32 | ::Nil","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32|Nil)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"args_string":"(capacity : Int32 | Nil)","args_html":"(capacity : Int32 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":53,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L53"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32 | ::Nil"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"first_entry:Int64|Nil-instance-method","name":"first_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@first_entry"}},{"html_id":"first_entry=(first_entry:Int64|Nil)-instance-method","name":"first_entry=","abstract":false,"args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"args_string":"(first_entry : Int64 | Nil)","args_html":"(first_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":54,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L54"},"def":{"name":"first_entry=","args":[{"name":"first_entry","external_name":"first_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@first_entry = first_entry"}},{"html_id":"last_entry:Int64|Nil-instance-method","name":"last_entry","abstract":false,"location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry","return_type":"Int64 | ::Nil","visibility":"Public","body":"@last_entry"}},{"html_id":"last_entry=(last_entry:Int64|Nil)-instance-method","name":"last_entry=","abstract":false,"args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"args_string":"(last_entry : Int64 | Nil)","args_html":"(last_entry : Int64 | Nil)","location":{"filename":"src/xovis/sensor_api.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xovis/sensor_api.cr#L55"},"def":{"name":"last_entry=","args":[{"name":"last_entry","external_name":"last_entry","restriction":"Int64 | ::Nil"}],"visibility":"Public","body":"@last_entry = last_entry"}}]}]}]},{"html_id":"drivers/XYSense","path":"XYSense.html","kind":"module","full_name":"XYSense","name":"XYSense","abstract":false,"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/XYSense/LocationService","path":"XYSense/LocationService.html","kind":"class","full_name":"XYSense::LocationService","name":"LocationService","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":6,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L6"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Locatable","kind":"module","full_name":"PlaceOS::Driver::Interface::Locatable","name":"Locatable"}],"namespace":{"html_id":"drivers/XYSense","kind":"module","full_name":"XYSense","name":"XYSense"},"instance_methods":[{"html_id":"check_ownership_of(mac_address:String):OwnershipMAC|Nil-instance-method","name":"check_ownership_of","doc":"return `nil` or `{\"location\": \"wireless\", \"assigned_to\": \"bob123\", \"mac_address\": \"abcd\"}`","summary":"

return nil or {"location": "wireless", "assigned_to": "bob123", "mac_address": "abcd"}

","abstract":false,"args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"args_string":"(mac_address : String) : OwnershipMAC | Nil","args_html":"(mac_address : String) : OwnershipMAC | Nil","location":{"filename":"src/xy_sense/location_service.cr","line_number":191,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L191"},"def":{"name":"check_ownership_of","args":[{"name":"mac_address","external_name":"mac_address","restriction":"String"}],"return_type":"OwnershipMAC | ::Nil","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{mac_address}\"\nend\nnil\n"}},{"html_id":"device_locations(zone_id:String,location:String|Nil=nil)-instance-method","name":"device_locations","doc":"array of devices and their x, y coordinates","summary":"

array of devices and their x, y coordinates

","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"args_string":"(zone_id : String, location : String | Nil = nil)","args_html":"(zone_id : String, location : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":196,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L196"},"def":{"name":"device_locations","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"location","default_value":"nil","external_name":"location","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"searching locatable in zone #{zone_id}\"\nend\nif @zone_filter.includes?(zone_id)\nelse\n return [] of Nil\nend\n@occupancy_mappings[zone_id].compact_map do |space_name, space|\n capacity = space.details.capacity\n if capacity == 1\n if space.headcount > 0\n else\n next\n end\n if location.presence && (location != \"desk\")\n next\n end\n {location: :desk, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n else\n if location.presence && (location != \"area\")\n next\n end\n {location: :area, at_location: space.headcount, map_id: space_name, level: zone_id, capacity: capacity, xy_sense_space_id: space.space_id, xy_sense_status: space.status, xy_sense_collected: space.collected.to_unix, xy_sense_category: space.details.category}\n end\nend\n"}},{"html_id":"floor_subscriptions-instance-method","name":"floor_subscriptions","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":138,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L138"},"def":{"name":"floor_subscriptions","visibility":"Public","body":"@floor_subscriptions.keys"}},{"html_id":"level_state_change(zone_id:String,spaces:Array(Occupancy))-instance-method","name":"level_state_change","abstract":false,"args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"args_string":"(zone_id : String, spaces : Array(Occupancy))","args_html":"(zone_id : String, spaces : Array(Occupancy))","location":{"filename":"src/xy_sense/location_service.cr","line_number":161,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L161"},"def":{"name":"level_state_change","args":[{"name":"zone_id","external_name":"zone_id","restriction":"String"},{"name":"spaces","external_name":"spaces","restriction":"Array(Occupancy)"}],"visibility":"Public","body":"begin\n area_occupancy = {} of String => Occupancy\n spaces.each do |space|\n space.details = @space_details[space.space_id]\n space_name = space.details.name\n if space_name\n else\n logger.warn do\n \"missing space name for id #{space.details.id}\"\n end\n next\n end\n area_occupancy[space_name] = space\n end\n @occupancy_mappings[zone_id] = area_occupancy\n area_manager.update_available({zone_id})\nrescue error\n logger.error(exception: error) do\n \"error updating level #{zone_id} space changes\"\n end\nend"}},{"html_id":"locate_user(email:String|Nil=nil,username:String|Nil=nil)-instance-method","name":"locate_user","doc":"===================================\nLocatable Interface functions\n===================================","summary":"

=================================== Locatable Interface functions ===================================

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil)","args_html":"(email : String | Nil = nil, username : String | Nil = nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":181,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L181"},"def":{"name":"locate_user","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"visibility":"Public","body":"logger.debug do\n \"sensor incapable of locating #{email} or #{username}\"\nend\n[] of Nil\n"}},{"html_id":"macs_assigned_to(email:String|Nil=nil,username:String|Nil=nil):Array(String)-instance-method","name":"macs_assigned_to","doc":"return an array of MAC address strings\nlowercase with no seperation characters abcdeffd1234 etc","summary":"

return an array of MAC address strings lowercase with no seperation characters abcdeffd1234 etc

","abstract":false,"args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"args_string":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","args_html":"(email : String | Nil = nil, username : String | Nil = nil) : Array(String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":186,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L186"},"def":{"name":"macs_assigned_to","args":[{"name":"email","default_value":"nil","external_name":"email","restriction":"String | ::Nil"},{"name":"username","default_value":"nil","external_name":"username","restriction":"String | ::Nil"}],"return_type":"Array(String)","visibility":"Public","body":"logger.debug do\n \"sensor incapable of tracking #{email} or #{username}\"\nend\n[] of String\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":29,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L29"},"def":{"name":"on_load","visibility":"Public","body":"on_update"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":33,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L33"},"def":{"name":"on_update","visibility":"Public","body":"@floor_mappings = setting(Hash(String, NamedTuple(zone_id: String)), :floor_mappings)\n@zone_filter = @floor_mappings.map do |_, detail|\n detail[:zone_id]\nend\nschedule.clear\nschedule.every(30.minutes) do\n sync_floor_states\nend\n"}},{"html_id":"sync_floor_states-instance-method","name":"sync_floor_states","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":142,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L142"},"def":{"name":"sync_floor_states","visibility":"Public","body":"logger.debug do\n \"-- updating space details...\"\nend\ndetails = update_space_details\nlogger.debug do\n \"-- details:\\n#{details}\"\nend\nlogger.debug do\n \"-- grabbing floor details...\"\nend\nxy = xy_sense\n@change_lock.synchronize do\n floor_subscriptions.each do |zone_id|\n level_state_change(zone_id, xy.status(Array(Occupancy), zone_id))\n end\nend\nlogger.debug do\n \"-- floor states synced!\"\nend\n@occupancy_mappings\n"}},{"html_id":"update_space_details-instance-method","name":"update_space_details","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":83,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L83"},"def":{"name":"update_space_details","visibility":"Public","body":"@change_lock.synchronize do\n floors = xy_sense.status(Hash(String, FloorDetails), :floors)\n space_details = {} of String => SpaceDetails\n floors.each do |floor_id, floor|\n mapping = @floor_mappings[floor_id]?\n if mapping\n else\n next\n end\n floor.spaces.each do |space|\n space_details[space.id] = space\n end\n end\n @space_details = space_details\nend"}}],"types":[{"html_id":"drivers/XYSense/LocationService/FloorDetails","path":"XYSense/LocationService/FloorDetails.html","kind":"class","full_name":"XYSense::LocationService::FloorDetails","name":"FloorDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":44,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L44"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"doc":"===================================\nBindings into xy-sense data\n===================================","summary":"

=================================== Bindings into xy-sense data ===================================

","constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":45,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L45"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"floor_id:String-instance-method","name":"floor_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id","return_type":"String","visibility":"Public","body":"@floor_id"}},{"html_id":"floor_id=(floor_id:String)-instance-method","name":"floor_id=","abstract":false,"args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"args_string":"(floor_id : String)","args_html":"(floor_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":47,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L47"},"def":{"name":"floor_id=","args":[{"name":"floor_id","external_name":"floor_id","restriction":"String"}],"visibility":"Public","body":"@floor_id = floor_id"}},{"html_id":"floor_name:String-instance-method","name":"floor_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name","return_type":"String","visibility":"Public","body":"@floor_name"}},{"html_id":"floor_name=(floor_name:String)-instance-method","name":"floor_name=","abstract":false,"args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"args_string":"(floor_name : String)","args_html":"(floor_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":48,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L48"},"def":{"name":"floor_name=","args":[{"name":"floor_name","external_name":"floor_name","restriction":"String"}],"visibility":"Public","body":"@floor_name = floor_name"}},{"html_id":"location_id:String-instance-method","name":"location_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id","return_type":"String","visibility":"Public","body":"@location_id"}},{"html_id":"location_id=(location_id:String)-instance-method","name":"location_id=","abstract":false,"args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"args_string":"(location_id : String)","args_html":"(location_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":49,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L49"},"def":{"name":"location_id=","args":[{"name":"location_id","external_name":"location_id","restriction":"String"}],"visibility":"Public","body":"@location_id = location_id"}},{"html_id":"location_name:String-instance-method","name":"location_name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name","return_type":"String","visibility":"Public","body":"@location_name"}},{"html_id":"location_name=(location_name:String)-instance-method","name":"location_name=","abstract":false,"args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"args_string":"(location_name : String)","args_html":"(location_name : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":50,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L50"},"def":{"name":"location_name=","args":[{"name":"location_name","external_name":"location_name","restriction":"String"}],"visibility":"Public","body":"@location_name = location_name"}},{"html_id":"spaces:Array(SpaceDetails)-instance-method","name":"spaces","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces","return_type":"Array(SpaceDetails)","visibility":"Public","body":"@spaces"}},{"html_id":"spaces=(spaces:Array(SpaceDetails))-instance-method","name":"spaces=","abstract":false,"args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"args_string":"(spaces : Array(SpaceDetails))","args_html":"(spaces : Array(SpaceDetails))","location":{"filename":"src/xy_sense/location_service.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L52"},"def":{"name":"spaces=","args":[{"name":"spaces","external_name":"spaces","restriction":"Array(SpaceDetails)"}],"visibility":"Public","body":"@spaces = spaces"}}]},{"html_id":"drivers/XYSense/LocationService/Occupancy","path":"XYSense/LocationService/Occupancy.html","kind":"class","full_name":"XYSense::LocationService::Occupancy","name":"Occupancy","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":64,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L64"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":65,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L65"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"collected:Time-instance-method","name":"collected","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected","return_type":"Time","visibility":"Public","body":"@collected"}},{"html_id":"collected=(collected:Time)-instance-method","name":"collected=","abstract":false,"args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"args_string":"(collected : Time)","args_html":"(collected : Time)","location":{"filename":"src/xy_sense/location_service.cr","line_number":72,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L72"},"def":{"name":"collected=","args":[{"name":"collected","external_name":"collected","restriction":"Time"}],"visibility":"Public","body":"@collected = collected"}},{"html_id":"details:SpaceDetails-instance-method","name":"details","abstract":false,"def":{"name":"details","return_type":"SpaceDetails","visibility":"Public","body":"if (value = @details).nil?\n ::raise(NilAssertionError.new(\"XYSense::LocationService::Occupancy#details cannot be nil\"))\nelse\n value\nend"}},{"html_id":"details=(details:SpaceDetails)-instance-method","name":"details=","abstract":false,"args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"args_string":"(details : SpaceDetails)","args_html":"(details : SpaceDetails)","location":{"filename":"src/xy_sense/location_service.cr","line_number":75,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L75"},"def":{"name":"details=","args":[{"name":"details","external_name":"details","restriction":"SpaceDetails"}],"visibility":"Public","body":"@details = details"}},{"html_id":"details?:SpaceDetails|Nil-instance-method","name":"details?","abstract":false,"def":{"name":"details?","return_type":"SpaceDetails | ::Nil","visibility":"Public","body":"@details"}},{"html_id":"headcount:Int32-instance-method","name":"headcount","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount","return_type":"Int32","visibility":"Public","body":"@headcount"}},{"html_id":"headcount=(headcount:Int32)-instance-method","name":"headcount=","abstract":false,"args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"args_string":"(headcount : Int32)","args_html":"(headcount : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":68,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L68"},"def":{"name":"headcount=","args":[{"name":"headcount","external_name":"headcount","restriction":"Int32"}],"visibility":"Public","body":"@headcount = headcount"}},{"html_id":"space_id:String-instance-method","name":"space_id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id","return_type":"String","visibility":"Public","body":"@space_id"}},{"html_id":"space_id=(space_id:String)-instance-method","name":"space_id=","abstract":false,"args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"args_string":"(space_id : String)","args_html":"(space_id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":69,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L69"},"def":{"name":"space_id=","args":[{"name":"space_id","external_name":"space_id","restriction":"String"}],"visibility":"Public","body":"@space_id = space_id"}},{"html_id":"status:String-instance-method","name":"status","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L67"},"def":{"name":"status","return_type":"String","visibility":"Public","body":"@status"}},{"html_id":"status=(status:String)-instance-method","name":"status=","abstract":false,"args":[{"name":"status","external_name":"status","restriction":"String"}],"args_string":"(status : String)","args_html":"(status : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":67,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L67"},"def":{"name":"status=","args":[{"name":"status","external_name":"status","restriction":"String"}],"visibility":"Public","body":"@status = status"}}]},{"html_id":"drivers/XYSense/LocationService/SpaceDetails","path":"XYSense/LocationService/SpaceDetails.html","kind":"class","full_name":"XYSense::LocationService::SpaceDetails","name":"SpaceDetails","abstract":false,"superclass":{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/xy_sense/location_service.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L55"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"drivers/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[{"html_id":"drivers/JSON/Schema","kind":"module","full_name":"JSON::Schema","name":"Schema"}],"namespace":{"html_id":"drivers/XYSense/LocationService","kind":"class","full_name":"XYSense::LocationService","name":"LocationService"},"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","abstract":false,"args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/xy_sense/location_service.cr","line_number":56,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L56"},"def":{"name":"new","args":[{"name":"pull","external_name":"pull","restriction":"::JSON::PullParser"}],"visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"capacity:Int32-instance-method","name":"capacity","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity","return_type":"Int32","visibility":"Public","body":"@capacity"}},{"html_id":"capacity=(capacity:Int32)-instance-method","name":"capacity=","abstract":false,"args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"args_string":"(capacity : Int32)","args_html":"(capacity : Int32)","location":{"filename":"src/xy_sense/location_service.cr","line_number":60,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L60"},"def":{"name":"capacity=","args":[{"name":"capacity","external_name":"capacity","restriction":"Int32"}],"visibility":"Public","body":"@capacity = capacity"}},{"html_id":"category:String-instance-method","name":"category","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L61"},"def":{"name":"category","return_type":"String","visibility":"Public","body":"@category"}},{"html_id":"category=(category:String)-instance-method","name":"category=","abstract":false,"args":[{"name":"category","external_name":"category","restriction":"String"}],"args_string":"(category : String)","args_html":"(category : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L61"},"def":{"name":"category=","args":[{"name":"category","external_name":"category","restriction":"String"}],"visibility":"Public","body":"@category = category"}},{"html_id":"id:String-instance-method","name":"id","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L58"},"def":{"name":"id","return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","abstract":false,"args":[{"name":"id","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/xy_sense/location_service.cr","line_number":58,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L58"},"def":{"name":"id=","args":[{"name":"id","external_name":"id","restriction":"String"}],"visibility":"Public","body":"@id = id"}},{"html_id":"name:String|Nil-instance-method","name":"name","abstract":false,"location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L59"},"def":{"name":"name","return_type":"String | ::Nil","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String|Nil)-instance-method","name":"name=","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"args_string":"(name : String | Nil)","args_html":"(name : String | Nil)","location":{"filename":"src/xy_sense/location_service.cr","line_number":59,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/xy_sense/location_service.cr#L59"},"def":{"name":"name=","args":[{"name":"name","external_name":"name","restriction":"String | ::Nil"}],"visibility":"Public","body":"@name = name"}}]}]}]},{"html_id":"drivers/Zencontrol","path":"Zencontrol.html","kind":"module","full_name":"Zencontrol","name":"Zencontrol","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI","path":"Zencontrol/AdvancedTPI.html","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ERROR_CODES","name":"ERROR_CODES","value":"{1_u8 => \"The checksum check failed\", 2_u8 => \"A short on the DALI line was detected\", 3_u8 => \"A receive error occured\", 4_u8 => \"The command in the request is unrecognised\", 176_u8 => \"The command requested relies on a paid feature that hasn't been purchsed\", 177_u8 => \"Invalid arguments supplied for the given command in the re quest\", 178_u8 => \"The command couldn't be processed\", 179_u8 => \"The queue or buffer that's required to process the command in the request\\n is full or broken\", 180_u8 => \"The command in the request may stream multiple responses back, but this\\n feature isn't available for some reason\", 181_u8 => \"The DALI related request couldn't be processed due to an error\", 182_u8 => \"There are an insufficient number of the required resource remaining service\\n the request\", 183_u8 => \"An unexpected result occurred\"}"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L61"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":103,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L103"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(170_u8, area_id.to_u8)\n"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":81,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L81"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"area_id = (((area.as(Area)).id.as(UInt32)).clamp(0, 191)) + 64\nbasic_request(173_u8, area_id.to_u8)\n"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"transport.tokenizer = Tokenizer.new do |io|\n bytes = io.peek\n logger.debug do\n \"Received: #{bytes.hexstring}\"\n end\n bytes.size < 3 ? 0 : ( bytes[2].to_i + 4)\nend\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":37,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L37"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :api_version)) || 4_u8"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":187,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L187"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\nio = IO::Memory.new(data)\nresponse = io.read_bytes(ResponseFrame)\ncase response.type\nwhen .okay?, .no_answer?\nwhen .answer?\n if (request = task.try(&.request_payload)) && (request.sequence == response.sequence)\n case request.command\n when 173_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[area.to_s] = response.bytes[0]\n when 170_u8\n area = Area.new((request.address - 64_u8).to_u32)\n self[(area.append(\"level\")).to_s] = response.bytes[0]\n else\n logger.debug do\n \"unknown answer for #{request.command.to_s(16)}\\n - req: #{request.to_slice.hexstring}\\n - resp: #{response.to_slice.hexstring}\"\n end\n end\n end\nwhen .error?\n error_code = response.bytes[0]\n error_message = ERROR_CODES[error_code]?\n logger.error do\n \"request failed with code #{error_code}, message: #{error_message}\"\n end\n return task.try(&.abort(error_message))\nend\nif request = task.try(&.request_payload)\n if request.sequence == response.sequence\n return task.try(&.success)\n else\n return\n end\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":89,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L89"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u32\nbasic_request(162_u8, area_id.to_u8, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L70"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\narea_id = area.id.as(UInt32)\nif area_id == 255_u32\nelse\n area_id = (area_id.clamp(0, 191)) + 64\nend\nself[area.to_s] = scene\nbasic_request(161_u8, area_id.to_u8, scene)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":55,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L55"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/AdvancedTPI/Area","path":"Zencontrol/AdvancedTPI/Area.html","kind":"alias","full_name":"Zencontrol::AdvancedTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"}},{"html_id":"drivers/Zencontrol/AdvancedTPI/BasicRequest","path":"Zencontrol/AdvancedTPI/BasicRequest.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::BasicRequest","name":"BasicRequest","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::BasicRequest]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"basic\", name: version, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: command, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: address, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bitfield\", name: 20, cls: Zencontrol::AdvancedTPI::BasicRequest, onlyif: nil, verify: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: nil, value: -> do\n (((((version ^ sequence) ^ command) ^ address) ^ ((data >> 16) & 255).to_u8) ^ ((data >> 8) & 255).to_u8) ^ (data & 255).to_u8\nend}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":114,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L114"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"address:UInt8-instance-method","name":"address","abstract":false,"def":{"name":"address","return_type":"UInt8","visibility":"Public","body":"@address"}},{"html_id":"address=(address:UInt8)-instance-method","name":"address=","abstract":false,"args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"args_string":"(address : UInt8)","args_html":"(address : UInt8)","def":{"name":"address=","args":[{"name":"address","external_name":"address","restriction":"UInt8"}],"visibility":"Public","body":"@address = address"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"command:UInt8-instance-method","name":"command","abstract":false,"def":{"name":"command","return_type":"UInt8","visibility":"Public","body":"@command"}},{"html_id":"command=(command:UInt8)-instance-method","name":"command=","abstract":false,"args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"args_string":"(command : UInt8)","args_html":"(command : UInt8)","def":{"name":"command=","args":[{"name":"command","external_name":"command","restriction":"UInt8"}],"visibility":"Public","body":"@command = command"}},{"html_id":"data:UInt32-instance-method","name":"data","abstract":false,"def":{"name":"data","return_type":"UInt32","visibility":"Public","body":"@data"}},{"html_id":"data=(data:UInt32)-instance-method","name":"data=","abstract":false,"args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"args_string":"(data : UInt32)","args_html":"(data : UInt32)","def":{"name":"data=","args":[{"name":"data","external_name":"data","restriction":"UInt32"}],"visibility":"Public","body":"@data = data"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"version:UInt8-instance-method","name":"version","abstract":false,"def":{"name":"version","return_type":"UInt8","visibility":"Public","body":"@version"}},{"html_id":"version=(version:UInt8)-instance-method","name":"version=","abstract":false,"args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"args_string":"(version : UInt8)","args_html":"(version : UInt8)","def":{"name":"version=","args":[{"name":"version","external_name":"version","restriction":"UInt8"}],"visibility":"Public","body":"@version = version"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":113,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L113"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseFrame","path":"Zencontrol/AdvancedTPI/ResponseFrame.html","kind":"class","full_name":"Zencontrol::AdvancedTPI::ResponseFrame","name":"ResponseFrame","abstract":false,"superclass":{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},"ancestors":[{"html_id":"drivers/BinData","kind":"class","full_name":"BinData","name":"BinData"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ENDIAN","name":"ENDIAN","value":"[\"big\"]"},{"id":"KLASS_NAME","name":"KLASS_NAME","value":"[Zencontrol::AdvancedTPI::ResponseFrame]"},{"id":"PARTS","name":"PARTS","value":"[{type: \"enum\", name: type, cls: UInt8, onlyif: nil, verify: nil, value: nil, encoding: ResponseType}, {type: \"basic\", name: sequence, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"basic\", name: size, cls: UInt8, onlyif: nil, verify: nil, value: nil}, {type: \"bytes\", name: bytes, cls: Bytes, onlyif: nil, verify: nil, length: -> do\n size\nend, value: nil}, {type: \"basic\", name: checksum, cls: UInt8, onlyif: nil, verify: -> do\n sum = (type.to_u8 ^ sequence) ^ size\n checksum == (bytes.reduce(sum) do |acc, i|\n i ^ acc\n end)\nend, value: nil}] of Nil"},{"id":"REMAINING","name":"REMAINING","value":"[] of Nil"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"class_methods":[{"html_id":"bit_fields-class-method","name":"bit_fields","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"bit_fields","visibility":"Public","body":"BinData.bit_fields.merge(@@bit_fields)"}}],"instance_methods":[{"html_id":"__format__:IO::ByteFormat-instance-method","name":"__format__","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":175,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L175"},"def":{"name":"__format__","return_type":"IO::ByteFormat","visibility":"Public","body":"IO::ByteFormat::BigEndian"}},{"html_id":"bytes:Bytes-instance-method","name":"bytes","abstract":false,"def":{"name":"bytes","return_type":"Bytes","visibility":"Public","body":"@bytes"}},{"html_id":"bytes=(bytes:Bytes)-instance-method","name":"bytes=","abstract":false,"args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"args_string":"(bytes : Bytes)","args_html":"(bytes : Bytes)","def":{"name":"bytes=","args":[{"name":"bytes","external_name":"bytes","restriction":"Bytes"}],"visibility":"Public","body":"@bytes = bytes"}},{"html_id":"checksum:UInt8-instance-method","name":"checksum","abstract":false,"def":{"name":"checksum","return_type":"UInt8","visibility":"Public","body":"@checksum"}},{"html_id":"checksum=(checksum:UInt8)-instance-method","name":"checksum=","abstract":false,"args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"args_string":"(checksum : UInt8)","args_html":"(checksum : UInt8)","def":{"name":"checksum=","args":[{"name":"checksum","external_name":"checksum","restriction":"UInt8"}],"visibility":"Public","body":"@checksum = checksum"}},{"html_id":"sequence:UInt8-instance-method","name":"sequence","abstract":false,"def":{"name":"sequence","return_type":"UInt8","visibility":"Public","body":"@sequence"}},{"html_id":"sequence=(sequence:UInt8)-instance-method","name":"sequence=","abstract":false,"args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"args_string":"(sequence : UInt8)","args_html":"(sequence : UInt8)","def":{"name":"sequence=","args":[{"name":"sequence","external_name":"sequence","restriction":"UInt8"}],"visibility":"Public","body":"@sequence = sequence"}},{"html_id":"size:UInt8-instance-method","name":"size","abstract":false,"def":{"name":"size","return_type":"UInt8","visibility":"Public","body":"@size"}},{"html_id":"size=(size:UInt8)-instance-method","name":"size=","abstract":false,"args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"args_string":"(size : UInt8)","args_html":"(size : UInt8)","def":{"name":"size=","args":[{"name":"size","external_name":"size","restriction":"UInt8"}],"visibility":"Public","body":"@size = size"}},{"html_id":"type:ResponseType-instance-method","name":"type","abstract":false,"def":{"name":"type","return_type":"ResponseType","visibility":"Public","body":"@type"}},{"html_id":"type=(type:ResponseType)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"args_string":"(type : ResponseType)","args_html":"(type : ResponseType)","def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"ResponseType"}],"visibility":"Public","body":"@type = type"}}],"macros":[{"html_id":"ashrae_dispatch_protocol(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ashrae_dispatch_protocol","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ashrae_dispatch_protocol","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Ashrae::DispatchProtocol = Ashrae::DispatchProtocol.new\n \n"}},{"html_id":"asn1_ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER = ASN1::BER.new\n \n"}},{"html_id":"asn1_ber_extended_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_extended_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_extended_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::ExtendedIdentifier = ASN1::BER::ExtendedIdentifier.new\n \n"}},{"html_id":"asn1_ber_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Identifier = ASN1::BER::Identifier.new\n \n"}},{"html_id":"asn1_ber_length(name,onlyif=nil,verify=nil,value=nil)-macro","name":"asn1_ber_length","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"asn1_ber_length","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : ASN1::BER::Length = ASN1::BER::Length.new\n \n"}},{"html_id":"ba_cnet_abort_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_abort_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_abort_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::AbortResponse = BACnet::AbortResponse.new\n \n"}},{"html_id":"ba_cnet_apdu_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_apdu_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_apdu_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::APDUIndicator = BACnet::APDUIndicator.new\n \n"}},{"html_id":"ba_cnet_bit_string(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_bit_string","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_bit_string","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::BitString = BACnet::BitString.new\n \n"}},{"html_id":"ba_cnet_complex_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck = BACnet::ComplexAck.new\n \n"}},{"html_id":"ba_cnet_complex_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_complex_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_complex_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ComplexAck::Segment = BACnet::ComplexAck::Segment.new\n \n"}},{"html_id":"ba_cnet_confirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest = BACnet::ConfirmedRequest.new\n \n"}},{"html_id":"ba_cnet_confirmed_request_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_confirmed_request_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_confirmed_request_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ConfirmedRequest::Segment = BACnet::ConfirmedRequest::Segment.new\n \n"}},{"html_id":"ba_cnet_data_link_indicator(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_data_link_indicator","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_data_link_indicator","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::DataLinkIndicator = BACnet::DataLinkIndicator.new\n \n"}},{"html_id":"ba_cnet_date(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_date","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_date","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Date = BACnet::Date.new\n \n"}},{"html_id":"ba_cnet_error_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_error_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_error_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ErrorResponse = BACnet::ErrorResponse.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI = BACnet::Message::IPv4::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_address(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_address","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_address","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::Address = BACnet::Message::IPv4::BVLCI::Address.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_bdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_bdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::BDTEntry = BACnet::Message::IPv4::BVLCI::BDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_i_pv4_bvlci_fdt_entry(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_i_pv4_bvlci_fdt_entry","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::IPv4::BVLCI::FDTEntry = BACnet::Message::IPv4::BVLCI::FDTEntry.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI = BACnet::Message::Secure::BVLCI.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_advertisement(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_advertisement","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_advertisement","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Advertisement = BACnet::Message::Secure::BVLCI::Advertisement.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_connect_details(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_connect_details","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_connect_details","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::ConnectDetails = BACnet::Message::Secure::BVLCI::ConnectDetails.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header = BACnet::Message::Secure::BVLCI::Header.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_header_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_header_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_header_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Header::Proprietary = BACnet::Message::Secure::BVLCI::Header::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_proprietary(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_proprietary","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_proprietary","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Proprietary = BACnet::Message::Secure::BVLCI::Proprietary.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result = BACnet::Message::Secure::BVLCI::Result.new\n \n"}},{"html_id":"ba_cnet_message_secure_bvlci_result_error(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_message_secure_bvlci_result_error","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_message_secure_bvlci_result_error","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Message::Secure::BVLCI::Result::Error = BACnet::Message::Secure::BVLCI::Result::Error.new\n \n"}},{"html_id":"ba_cnet_npdu(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU = BACnet::NPDU.new\n \n"}},{"html_id":"ba_cnet_npdu_destination(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_destination","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_destination","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Destination = BACnet::NPDU::Destination.new\n \n"}},{"html_id":"ba_cnet_npdu_source(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_npdu_source","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_npdu_source","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::NPDU::Source = BACnet::NPDU::Source.new\n \n"}},{"html_id":"ba_cnet_object(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Object = BACnet::Object.new\n \n"}},{"html_id":"ba_cnet_object_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_object_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_object_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::ObjectIdentifier = BACnet::ObjectIdentifier.new\n \n"}},{"html_id":"ba_cnet_property_identifier(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_property_identifier","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_property_identifier","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::PropertyIdentifier = BACnet::PropertyIdentifier.new\n \n"}},{"html_id":"ba_cnet_reject_response(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_reject_response","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_reject_response","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::RejectResponse = BACnet::RejectResponse.new\n \n"}},{"html_id":"ba_cnet_segment_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck = BACnet::SegmentAck.new\n \n"}},{"html_id":"ba_cnet_segment_ack_segment(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_segment_ack_segment","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_segment_ack_segment","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SegmentAck::Segment = BACnet::SegmentAck::Segment.new\n \n"}},{"html_id":"ba_cnet_simple_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_simple_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_simple_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::SimpleAck = BACnet::SimpleAck.new\n \n"}},{"html_id":"ba_cnet_time(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_time","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_time","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::Time = BACnet::Time.new\n \n"}},{"html_id":"ba_cnet_unconfirmed_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ba_cnet_unconfirmed_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ba_cnet_unconfirmed_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BACnet::UnconfirmedRequest = BACnet::UnconfirmedRequest.new\n \n"}},{"html_id":"ber(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ber","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ber","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : BER = BER.new\n \n"}},{"html_id":"mqtt_v3_ack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_ack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_ack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Ack = MQTT::V3::Ack.new\n \n"}},{"html_id":"mqtt_v3_connack(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connack","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connack","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connack = MQTT::V3::Connack.new\n \n"}},{"html_id":"mqtt_v3_connect(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_connect","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_connect","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Connect = MQTT::V3::Connect.new\n \n"}},{"html_id":"mqtt_v3_empty_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_empty_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_empty_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::EmptyPacket = MQTT::V3::EmptyPacket.new\n \n"}},{"html_id":"mqtt_v3_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Header = MQTT::V3::Header.new\n \n"}},{"html_id":"mqtt_v3_publish(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_publish","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_publish","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Publish = MQTT::V3::Publish.new\n \n"}},{"html_id":"mqtt_v3_sub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_sub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_sub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::SubTopic = MQTT::V3::SubTopic.new\n \n"}},{"html_id":"mqtt_v3_suback(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_suback","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_suback","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Suback = MQTT::V3::Suback.new\n \n"}},{"html_id":"mqtt_v3_subscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_subscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_subscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Subscribe = MQTT::V3::Subscribe.new\n \n"}},{"html_id":"mqtt_v3_unsub_topic(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsub_topic","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsub_topic","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::UnsubTopic = MQTT::V3::UnsubTopic.new\n \n"}},{"html_id":"mqtt_v3_unsubscribe(name,onlyif=nil,verify=nil,value=nil)-macro","name":"mqtt_v3_unsubscribe","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"mqtt_v3_unsubscribe","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : MQTT::V3::Unsubscribe = MQTT::V3::Unsubscribe.new\n \n"}},{"html_id":"ntlm_authenticate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate = NTLM::Authenticate.new\n \n"}},{"html_id":"ntlm_authenticate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::DomainLoc = NTLM::Authenticate::DomainLoc.new\n \n"}},{"html_id":"ntlm_authenticate_lm_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_lm_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_lm_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::LmResponseLoc = NTLM::Authenticate::LmResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_nt_response_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_nt_response_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_nt_response_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::NtResponseLoc = NTLM::Authenticate::NtResponseLoc.new\n \n"}},{"html_id":"ntlm_authenticate_session_key_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_session_key_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_session_key_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::SessionKeyLoc = NTLM::Authenticate::SessionKeyLoc.new\n \n"}},{"html_id":"ntlm_authenticate_user_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_user_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_user_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::UserLoc = NTLM::Authenticate::UserLoc.new\n \n"}},{"html_id":"ntlm_authenticate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::Version = NTLM::Authenticate::Version.new\n \n"}},{"html_id":"ntlm_authenticate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_authenticate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_authenticate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Authenticate::WorkstationLoc = NTLM::Authenticate::WorkstationLoc.new\n \n"}},{"html_id":"ntlm_av_pair(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_av_pair","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_av_pair","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::AVPair = NTLM::AVPair.new\n \n"}},{"html_id":"ntlm_challenge(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge = NTLM::Challenge.new\n \n"}},{"html_id":"ntlm_challenge_domain_info_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_info_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_info_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainInfoLoc = NTLM::Challenge::DomainInfoLoc.new\n \n"}},{"html_id":"ntlm_challenge_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::DomainLoc = NTLM::Challenge::DomainLoc.new\n \n"}},{"html_id":"ntlm_challenge_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_challenge_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_challenge_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Challenge::Version = NTLM::Challenge::Version.new\n \n"}},{"html_id":"ntlm_header(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_header","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_header","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Header = NTLM::Header.new\n \n"}},{"html_id":"ntlm_negotiate(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate = NTLM::Negotiate.new\n \n"}},{"html_id":"ntlm_negotiate_domain_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_domain_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_domain_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::DomainLoc = NTLM::Negotiate::DomainLoc.new\n \n"}},{"html_id":"ntlm_negotiate_version(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_version","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_version","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::Version = NTLM::Negotiate::Version.new\n \n"}},{"html_id":"ntlm_negotiate_workstation_loc(name,onlyif=nil,verify=nil,value=nil)-macro","name":"ntlm_negotiate_workstation_loc","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"ntlm_negotiate_workstation_loc","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : NTLM::Negotiate::WorkstationLoc = NTLM::Negotiate::WorkstationLoc.new\n \n"}},{"html_id":"sony_camera_visca_packet(name,onlyif=nil,verify=nil,value=nil)-macro","name":"sony_camera_visca_packet","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"sony_camera_visca_packet","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Sony::Camera::VISCA::Packet = Sony::Camera::VISCA::Packet.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_basic_request(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_basic_request","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_basic_request","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::BasicRequest = Zencontrol::AdvancedTPI::BasicRequest.new\n \n"}},{"html_id":"zencontrol_advanced_tpi_response_frame(name,onlyif=nil,verify=nil,value=nil)-macro","name":"zencontrol_advanced_tpi_response_frame","abstract":false,"args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"args_string":"(name, onlyif = nil, verify = nil, value = nil)","args_html":"(name, onlyif = nil, verify = nil, value = nil)","location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":174,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L174"},"def":{"name":"zencontrol_advanced_tpi_response_frame","args":[{"name":"name","external_name":"name","restriction":""},{"name":"onlyif","default_value":"nil","external_name":"onlyif","restriction":""},{"name":"verify","default_value":"nil","external_name":"verify","restriction":""},{"name":"value","default_value":"nil","external_name":"value","restriction":""}],"visibility":"Public","body":" custom \n{{ name.id }}\n : Zencontrol::AdvancedTPI::ResponseFrame = Zencontrol::AdvancedTPI::ResponseFrame.new\n \n"}}]},{"html_id":"drivers/Zencontrol/AdvancedTPI/ResponseType","path":"Zencontrol/AdvancedTPI/ResponseType.html","kind":"enum","full_name":"Zencontrol::AdvancedTPI::ResponseType","name":"ResponseType","abstract":false,"ancestors":[{"html_id":"drivers/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"drivers/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"drivers/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/advanced_tpi.cr","line_number":167,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L167"}],"repository_name":"drivers","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Okay","name":"Okay","value":"160"},{"id":"Answer","name":"Answer","value":"161"},{"id":"NoAnswer","name":"NoAnswer","value":"162"},{"id":"Error","name":"Error","value":"163"}],"namespace":{"html_id":"drivers/Zencontrol/AdvancedTPI","kind":"class","full_name":"Zencontrol::AdvancedTPI","name":"AdvancedTPI"},"instance_methods":[{"html_id":"answer?-instance-method","name":"answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":169,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L169"},"def":{"name":"answer?","visibility":"Public","body":"self == Answer"}},{"html_id":"error?-instance-method","name":"error?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":171,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L171"},"def":{"name":"error?","visibility":"Public","body":"self == Error"}},{"html_id":"no_answer?-instance-method","name":"no_answer?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":170,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L170"},"def":{"name":"no_answer?","visibility":"Public","body":"self == NoAnswer"}},{"html_id":"okay?-instance-method","name":"okay?","abstract":false,"location":{"filename":"src/zencontrol/advanced_tpi.cr","line_number":168,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/advanced_tpi.cr#L168"},"def":{"name":"okay?","visibility":"Public","body":"self == Okay"}}]}]},{"html_id":"drivers/Zencontrol/ClassicTPI","path":"Zencontrol/ClassicTPI.html","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI","abstract":false,"superclass":{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},"ancestors":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"},{"html_id":"drivers/PlaceOS/Driver","kind":"class","full_name":"PlaceOS::Driver","name":"Driver"},{"html_id":"drivers/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"drivers/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":7,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L7"}],"repository_name":"drivers","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"BROADCAST","name":"BROADCAST","value":"Bytes[255, 255, 255, 255, 255, 255]"},{"id":"LEVEL_PERCENTAGE","name":"LEVEL_PERCENTAGE","value":"255 / 100"}],"included_modules":[{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Level","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Level","name":"Level"},{"html_id":"drivers/PlaceOS/Driver/Interface/Lighting/Scene","kind":"module","full_name":"PlaceOS::Driver::Interface::Lighting::Scene","name":"Scene"}],"namespace":{"html_id":"drivers/Zencontrol","kind":"module","full_name":"Zencontrol","name":"Zencontrol"},"instance_methods":[{"html_id":"light_level(area:UInt32,level:Float64)-instance-method","name":"light_level","doc":"Using direct command","summary":"

Using direct command

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"args_string":"(area : UInt32, level : Float64)","args_html":"(area : UInt32, level : Float64)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":52,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L52"},"def":{"name":"light_level","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"level","external_name":"level","restriction":"Float64"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_level(level, area)\n"}},{"html_id":"lighting_level?(area:Area|Nil=nil)-instance-method","name":"lighting_level?","doc":"return the current level","summary":"

return the current level

","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":88,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L88"},"def":{"name":"lighting_level?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[(area.append(\"level\")).to_s]?\nend"}},{"html_id":"lighting_scene?(area:Area|Nil=nil)-instance-method","name":"lighting_scene?","abstract":false,"args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"args_string":"(area : Area | Nil = nil)","args_html":"(area : Area | Nil = nil)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":70,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L70"},"def":{"name":"lighting_scene?","args":[{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"}],"visibility":"Public","body":"if area\n self[area.to_s]?\nend"}},{"html_id":"on_load-instance-method","name":"on_load","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":23,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L23"},"def":{"name":"on_load","visibility":"Public","body":"queue.wait = false\non_update\n"}},{"html_id":"on_update-instance-method","name":"on_update","abstract":false,"location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":34,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L34"},"def":{"name":"on_update","visibility":"Public","body":"@version = (setting?(UInt8, :version)) || 1_u8\ncontroller = setting?(String, :controller_id)\nif controller\n @controller = (controller.rjust(12, '0')).hexbytes\nelse\n @controller = BROADCAST\nend\n"}},{"html_id":"received(data,task)-instance-method","name":"received","abstract":false,"args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"args_string":"(data, task)","args_html":"(data, task)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":101,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L101"},"def":{"name":"received","args":[{"name":"data","external_name":"data","restriction":""},{"name":"task","external_name":"task","restriction":""}],"visibility":"Public","body":"logger.debug do\n \"Zencontrol sent: #{data.hexstring}\"\nend\ntask.try(&.success)\n"}},{"html_id":"set_lighting_level(level:Float64,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_level","doc":"level between 0.0 and 100.0, fade in milliseconds","summary":"

level between 0.0 and 100.0, fade in milliseconds

","abstract":false,"args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(level : Float64, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":76,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L76"},"def":{"name":"set_lighting_level","args":[{"name":"level","external_name":"level","restriction":"Float64"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nlevel = level.clamp(0.0, 100.0)\nlevel_actual = (level * LEVEL_PERCENTAGE).round.to_u8\narea_id = ((area.id.as(UInt32)).clamp(0, 127)).to_u8\nself[(area.append(\"level\")).to_s] = level\ndo_send(area_id, level_actual)\n"}},{"html_id":"set_lighting_scene(scene:UInt32,area:Area|Nil=nil,fade_time:UInt32=1000_u32)-instance-method","name":"set_lighting_scene","abstract":false,"args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"args_string":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","args_html":"(scene : UInt32, area : Area | Nil = nil, fade_time : UInt32 = 1000_u32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":61,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L61"},"def":{"name":"set_lighting_scene","args":[{"name":"scene","external_name":"scene","restriction":"UInt32"},{"name":"area","default_value":"nil","external_name":"area","restriction":"Area | ::Nil"},{"name":"fade_time","default_value":"1000_u32","external_name":"fade_time","restriction":"UInt32"}],"visibility":"Public","body":"area = area.as(Area)\nscene = (scene.clamp(0, 15)) + 16\narea_id = ((area.id.as(UInt32)).clamp(0, 127)) + 128\nself[area.to_s] = scene\ndo_send(area_id.to_u8, scene.to_u8)\n"}},{"html_id":"trigger(area:UInt32,scene:UInt32)-instance-method","name":"trigger","doc":"Using indirect commands","summary":"

Using indirect commands

","abstract":false,"args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"args_string":"(area : UInt32, scene : UInt32)","args_html":"(area : UInt32, scene : UInt32)","location":{"filename":"src/zencontrol/classic_tpi.cr","line_number":46,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L46"},"def":{"name":"trigger","args":[{"name":"area","external_name":"area","restriction":"UInt32"},{"name":"scene","external_name":"scene","restriction":"UInt32"}],"visibility":"Public","body":"area = Area.new(area)\nset_lighting_scene(scene, area)\n"}}],"types":[{"html_id":"drivers/Zencontrol/ClassicTPI/Area","path":"Zencontrol/ClassicTPI/Area.html","kind":"alias","full_name":"Zencontrol::ClassicTPI::Area","name":"Area","abstract":false,"locations":[{"filename":"src/zencontrol/classic_tpi.cr","line_number":10,"url":"https://github.com/PlaceOS/drivers/blob/a28ecb5e4208ad1329de789ab89a05581f0836fa/src/zencontrol/classic_tpi.cr#L10"}],"repository_name":"drivers","program":false,"enum":false,"alias":true,"aliased":"PlaceOS::Driver::Interface::Lighting::Area","aliased_html":"PlaceOS::Driver::Interface::Lighting::Area","const":false,"namespace":{"html_id":"drivers/Zencontrol/ClassicTPI","kind":"class","full_name":"Zencontrol::ClassicTPI","name":"ClassicTPI"}}]}]}]}}) \ No newline at end of file diff --git a/toplevel.html b/toplevel.html index 524b0ce357..7f36dee29d 100644 --- a/toplevel.html +++ b/toplevel.html @@ -6554,7 +6554,7 @@


- [View source] + [View source]
@@ -6570,7 +6570,7 @@


- [View source] + [View source]